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 Amazon Web Services account or throttling limits. The error code
88//   describes the 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 Amazon Web Services account or throttling limits. The error code
206//   describes the 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 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 Amazon Web Services account or throttling limits. The error code
314//   describes the 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 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 Amazon Web Services account or throttling limits. The error code
411//   describes the 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 Amazon Web Services account or throttling limits. The error code
532//   describes the 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 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 Amazon Web Services account or throttling limits. The error code
658//   describes the 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 Amazon Web Services account or throttling limits. The error code
759//   describes the 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 Amazon Web Services account or throttling limits. The error code
853//   describes the 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 managed using Organizations, CreateMembers is only
937// used in the following cases:
938//
939//    * Security Hub is not configured to automatically add new organization
940//    accounts.
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 managed using Organizations do not receive an invitation.
953// They automatically become a member account in Security Hub, and Security
954// Hub is automatically enabled for those accounts. Note that Security Hub cannot
955// be enabled automatically for the organization management account. The organization
956// management account must enable Security Hub before the administrator account
957// enables it as a member account.
958//
959// A permissions policy is added that permits the administrator account to view
960// the findings generated in the member account. When Security Hub is enabled
961// in a member account, the member account findings are also visible to the
962// administrator account.
963//
964// To remove the association between the administrator and member accounts,
965// use the DisassociateFromMasterAccount or DisassociateMembers operation.
966//
967// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
968// with awserr.Error's Code and Message methods to get detailed information about
969// the error.
970//
971// See the AWS API reference guide for AWS SecurityHub's
972// API operation CreateMembers for usage and error information.
973//
974// Returned Error Types:
975//   * InternalException
976//   Internal server error.
977//
978//   * InvalidInputException
979//   The request was rejected because you supplied an invalid or out-of-range
980//   value for an input parameter.
981//
982//   * LimitExceededException
983//   The request was rejected because it attempted to create resources beyond
984//   the current Amazon Web Services account or throttling limits. The error code
985//   describes the limit exceeded.
986//
987//   * InvalidAccessException
988//   There is an issue with the account used to make the request. Either Security
989//   Hub is not enabled for the account, or the account does not have permission
990//   to perform this action.
991//
992//   * ResourceConflictException
993//   The resource specified in the request conflicts with an existing resource.
994//
995// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateMembers
996func (c *SecurityHub) CreateMembers(input *CreateMembersInput) (*CreateMembersOutput, error) {
997	req, out := c.CreateMembersRequest(input)
998	return out, req.Send()
999}
1000
1001// CreateMembersWithContext is the same as CreateMembers with the addition of
1002// the ability to pass a context and additional request options.
1003//
1004// See CreateMembers for details on how to use this API operation.
1005//
1006// The context must be non-nil and will be used for request cancellation. If
1007// the context is nil a panic will occur. In the future the SDK may create
1008// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1009// for more information on using Contexts.
1010func (c *SecurityHub) CreateMembersWithContext(ctx aws.Context, input *CreateMembersInput, opts ...request.Option) (*CreateMembersOutput, error) {
1011	req, out := c.CreateMembersRequest(input)
1012	req.SetContext(ctx)
1013	req.ApplyOptions(opts...)
1014	return out, req.Send()
1015}
1016
1017const opDeclineInvitations = "DeclineInvitations"
1018
1019// DeclineInvitationsRequest generates a "aws/request.Request" representing the
1020// client's request for the DeclineInvitations operation. The "output" return
1021// value will be populated with the request's response once the request completes
1022// successfully.
1023//
1024// Use "Send" method on the returned Request to send the API call to the service.
1025// the "output" return value is not valid until after Send returns without error.
1026//
1027// See DeclineInvitations for more information on using the DeclineInvitations
1028// API call, and error handling.
1029//
1030// This method is useful when you want to inject custom logic or configuration
1031// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1032//
1033//
1034//    // Example sending a request using the DeclineInvitationsRequest method.
1035//    req, resp := client.DeclineInvitationsRequest(params)
1036//
1037//    err := req.Send()
1038//    if err == nil { // resp is now filled
1039//        fmt.Println(resp)
1040//    }
1041//
1042// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeclineInvitations
1043func (c *SecurityHub) DeclineInvitationsRequest(input *DeclineInvitationsInput) (req *request.Request, output *DeclineInvitationsOutput) {
1044	op := &request.Operation{
1045		Name:       opDeclineInvitations,
1046		HTTPMethod: "POST",
1047		HTTPPath:   "/invitations/decline",
1048	}
1049
1050	if input == nil {
1051		input = &DeclineInvitationsInput{}
1052	}
1053
1054	output = &DeclineInvitationsOutput{}
1055	req = c.newRequest(op, input, output)
1056	return
1057}
1058
1059// DeclineInvitations API operation for AWS SecurityHub.
1060//
1061// Declines invitations to become a member account.
1062//
1063// This operation is only used by accounts that are not part of an organization.
1064// Organization accounts do not receive invitations.
1065//
1066// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1067// with awserr.Error's Code and Message methods to get detailed information about
1068// the error.
1069//
1070// See the AWS API reference guide for AWS SecurityHub's
1071// API operation DeclineInvitations for usage and error information.
1072//
1073// Returned Error Types:
1074//   * InternalException
1075//   Internal server error.
1076//
1077//   * InvalidInputException
1078//   The request was rejected because you supplied an invalid or out-of-range
1079//   value for an input parameter.
1080//
1081//   * InvalidAccessException
1082//   There is an issue with the account used to make the request. Either Security
1083//   Hub is not enabled for the account, or the account does not have permission
1084//   to perform this action.
1085//
1086//   * ResourceNotFoundException
1087//   The request was rejected because we can't find the specified resource.
1088//
1089// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeclineInvitations
1090func (c *SecurityHub) DeclineInvitations(input *DeclineInvitationsInput) (*DeclineInvitationsOutput, error) {
1091	req, out := c.DeclineInvitationsRequest(input)
1092	return out, req.Send()
1093}
1094
1095// DeclineInvitationsWithContext is the same as DeclineInvitations with the addition of
1096// the ability to pass a context and additional request options.
1097//
1098// See DeclineInvitations for details on how to use this API operation.
1099//
1100// The context must be non-nil and will be used for request cancellation. If
1101// the context is nil a panic will occur. In the future the SDK may create
1102// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1103// for more information on using Contexts.
1104func (c *SecurityHub) DeclineInvitationsWithContext(ctx aws.Context, input *DeclineInvitationsInput, opts ...request.Option) (*DeclineInvitationsOutput, error) {
1105	req, out := c.DeclineInvitationsRequest(input)
1106	req.SetContext(ctx)
1107	req.ApplyOptions(opts...)
1108	return out, req.Send()
1109}
1110
1111const opDeleteActionTarget = "DeleteActionTarget"
1112
1113// DeleteActionTargetRequest generates a "aws/request.Request" representing the
1114// client's request for the DeleteActionTarget operation. The "output" return
1115// value will be populated with the request's response once the request completes
1116// successfully.
1117//
1118// Use "Send" method on the returned Request to send the API call to the service.
1119// the "output" return value is not valid until after Send returns without error.
1120//
1121// See DeleteActionTarget for more information on using the DeleteActionTarget
1122// API call, and error handling.
1123//
1124// This method is useful when you want to inject custom logic or configuration
1125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1126//
1127//
1128//    // Example sending a request using the DeleteActionTargetRequest method.
1129//    req, resp := client.DeleteActionTargetRequest(params)
1130//
1131//    err := req.Send()
1132//    if err == nil { // resp is now filled
1133//        fmt.Println(resp)
1134//    }
1135//
1136// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteActionTarget
1137func (c *SecurityHub) DeleteActionTargetRequest(input *DeleteActionTargetInput) (req *request.Request, output *DeleteActionTargetOutput) {
1138	op := &request.Operation{
1139		Name:       opDeleteActionTarget,
1140		HTTPMethod: "DELETE",
1141		HTTPPath:   "/actionTargets/{ActionTargetArn+}",
1142	}
1143
1144	if input == nil {
1145		input = &DeleteActionTargetInput{}
1146	}
1147
1148	output = &DeleteActionTargetOutput{}
1149	req = c.newRequest(op, input, output)
1150	return
1151}
1152
1153// DeleteActionTarget API operation for AWS SecurityHub.
1154//
1155// Deletes a custom action target from Security Hub.
1156//
1157// Deleting a custom action target does not affect any findings or insights
1158// that were already sent to Amazon CloudWatch Events using the custom action.
1159//
1160// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1161// with awserr.Error's Code and Message methods to get detailed information about
1162// the error.
1163//
1164// See the AWS API reference guide for AWS SecurityHub's
1165// API operation DeleteActionTarget for usage and error information.
1166//
1167// Returned Error Types:
1168//   * InternalException
1169//   Internal server error.
1170//
1171//   * InvalidInputException
1172//   The request was rejected because you supplied an invalid or out-of-range
1173//   value for an input parameter.
1174//
1175//   * InvalidAccessException
1176//   There is an issue with the account used to make the request. Either Security
1177//   Hub is not enabled for the account, or the account does not have permission
1178//   to perform this action.
1179//
1180//   * ResourceNotFoundException
1181//   The request was rejected because we can't find the specified resource.
1182//
1183// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteActionTarget
1184func (c *SecurityHub) DeleteActionTarget(input *DeleteActionTargetInput) (*DeleteActionTargetOutput, error) {
1185	req, out := c.DeleteActionTargetRequest(input)
1186	return out, req.Send()
1187}
1188
1189// DeleteActionTargetWithContext is the same as DeleteActionTarget with the addition of
1190// the ability to pass a context and additional request options.
1191//
1192// See DeleteActionTarget for details on how to use this API operation.
1193//
1194// The context must be non-nil and will be used for request cancellation. If
1195// the context is nil a panic will occur. In the future the SDK may create
1196// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1197// for more information on using Contexts.
1198func (c *SecurityHub) DeleteActionTargetWithContext(ctx aws.Context, input *DeleteActionTargetInput, opts ...request.Option) (*DeleteActionTargetOutput, error) {
1199	req, out := c.DeleteActionTargetRequest(input)
1200	req.SetContext(ctx)
1201	req.ApplyOptions(opts...)
1202	return out, req.Send()
1203}
1204
1205const opDeleteInsight = "DeleteInsight"
1206
1207// DeleteInsightRequest generates a "aws/request.Request" representing the
1208// client's request for the DeleteInsight operation. The "output" return
1209// value will be populated with the request's response once the request completes
1210// successfully.
1211//
1212// Use "Send" method on the returned Request to send the API call to the service.
1213// the "output" return value is not valid until after Send returns without error.
1214//
1215// See DeleteInsight for more information on using the DeleteInsight
1216// API call, and error handling.
1217//
1218// This method is useful when you want to inject custom logic or configuration
1219// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1220//
1221//
1222//    // Example sending a request using the DeleteInsightRequest method.
1223//    req, resp := client.DeleteInsightRequest(params)
1224//
1225//    err := req.Send()
1226//    if err == nil { // resp is now filled
1227//        fmt.Println(resp)
1228//    }
1229//
1230// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInsight
1231func (c *SecurityHub) DeleteInsightRequest(input *DeleteInsightInput) (req *request.Request, output *DeleteInsightOutput) {
1232	op := &request.Operation{
1233		Name:       opDeleteInsight,
1234		HTTPMethod: "DELETE",
1235		HTTPPath:   "/insights/{InsightArn+}",
1236	}
1237
1238	if input == nil {
1239		input = &DeleteInsightInput{}
1240	}
1241
1242	output = &DeleteInsightOutput{}
1243	req = c.newRequest(op, input, output)
1244	return
1245}
1246
1247// DeleteInsight API operation for AWS SecurityHub.
1248//
1249// Deletes the insight specified by the InsightArn.
1250//
1251// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1252// with awserr.Error's Code and Message methods to get detailed information about
1253// the error.
1254//
1255// See the AWS API reference guide for AWS SecurityHub's
1256// API operation DeleteInsight for usage and error information.
1257//
1258// Returned Error Types:
1259//   * InternalException
1260//   Internal server error.
1261//
1262//   * InvalidInputException
1263//   The request was rejected because you supplied an invalid or out-of-range
1264//   value for an input parameter.
1265//
1266//   * InvalidAccessException
1267//   There is an issue with the account used to make the request. Either Security
1268//   Hub is not enabled for the account, or the account does not have permission
1269//   to perform this action.
1270//
1271//   * LimitExceededException
1272//   The request was rejected because it attempted to create resources beyond
1273//   the current Amazon Web Services account or throttling limits. The error code
1274//   describes the limit exceeded.
1275//
1276//   * ResourceNotFoundException
1277//   The request was rejected because we can't find the specified resource.
1278//
1279// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInsight
1280func (c *SecurityHub) DeleteInsight(input *DeleteInsightInput) (*DeleteInsightOutput, error) {
1281	req, out := c.DeleteInsightRequest(input)
1282	return out, req.Send()
1283}
1284
1285// DeleteInsightWithContext is the same as DeleteInsight with the addition of
1286// the ability to pass a context and additional request options.
1287//
1288// See DeleteInsight for details on how to use this API operation.
1289//
1290// The context must be non-nil and will be used for request cancellation. If
1291// the context is nil a panic will occur. In the future the SDK may create
1292// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1293// for more information on using Contexts.
1294func (c *SecurityHub) DeleteInsightWithContext(ctx aws.Context, input *DeleteInsightInput, opts ...request.Option) (*DeleteInsightOutput, error) {
1295	req, out := c.DeleteInsightRequest(input)
1296	req.SetContext(ctx)
1297	req.ApplyOptions(opts...)
1298	return out, req.Send()
1299}
1300
1301const opDeleteInvitations = "DeleteInvitations"
1302
1303// DeleteInvitationsRequest generates a "aws/request.Request" representing the
1304// client's request for the DeleteInvitations operation. The "output" return
1305// value will be populated with the request's response once the request completes
1306// successfully.
1307//
1308// Use "Send" method on the returned Request to send the API call to the service.
1309// the "output" return value is not valid until after Send returns without error.
1310//
1311// See DeleteInvitations for more information on using the DeleteInvitations
1312// API call, and error handling.
1313//
1314// This method is useful when you want to inject custom logic or configuration
1315// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1316//
1317//
1318//    // Example sending a request using the DeleteInvitationsRequest method.
1319//    req, resp := client.DeleteInvitationsRequest(params)
1320//
1321//    err := req.Send()
1322//    if err == nil { // resp is now filled
1323//        fmt.Println(resp)
1324//    }
1325//
1326// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInvitations
1327func (c *SecurityHub) DeleteInvitationsRequest(input *DeleteInvitationsInput) (req *request.Request, output *DeleteInvitationsOutput) {
1328	op := &request.Operation{
1329		Name:       opDeleteInvitations,
1330		HTTPMethod: "POST",
1331		HTTPPath:   "/invitations/delete",
1332	}
1333
1334	if input == nil {
1335		input = &DeleteInvitationsInput{}
1336	}
1337
1338	output = &DeleteInvitationsOutput{}
1339	req = c.newRequest(op, input, output)
1340	return
1341}
1342
1343// DeleteInvitations API operation for AWS SecurityHub.
1344//
1345// Deletes invitations received by the Amazon Web Services account to become
1346// a member account.
1347//
1348// This operation is only used by accounts that are not part of an organization.
1349// Organization accounts do not receive invitations.
1350//
1351// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1352// with awserr.Error's Code and Message methods to get detailed information about
1353// the error.
1354//
1355// See the AWS API reference guide for AWS SecurityHub's
1356// API operation DeleteInvitations for usage and error information.
1357//
1358// Returned Error Types:
1359//   * InternalException
1360//   Internal server error.
1361//
1362//   * InvalidInputException
1363//   The request was rejected because you supplied an invalid or out-of-range
1364//   value for an input parameter.
1365//
1366//   * LimitExceededException
1367//   The request was rejected because it attempted to create resources beyond
1368//   the current Amazon Web Services account or throttling limits. The error code
1369//   describes the limit exceeded.
1370//
1371//   * ResourceNotFoundException
1372//   The request was rejected because we can't find the specified resource.
1373//
1374//   * InvalidAccessException
1375//   There is an issue with the account used to make the request. Either Security
1376//   Hub is not enabled for the account, or the account does not have permission
1377//   to perform this action.
1378//
1379// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInvitations
1380func (c *SecurityHub) DeleteInvitations(input *DeleteInvitationsInput) (*DeleteInvitationsOutput, error) {
1381	req, out := c.DeleteInvitationsRequest(input)
1382	return out, req.Send()
1383}
1384
1385// DeleteInvitationsWithContext is the same as DeleteInvitations with the addition of
1386// the ability to pass a context and additional request options.
1387//
1388// See DeleteInvitations for details on how to use this API operation.
1389//
1390// The context must be non-nil and will be used for request cancellation. If
1391// the context is nil a panic will occur. In the future the SDK may create
1392// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1393// for more information on using Contexts.
1394func (c *SecurityHub) DeleteInvitationsWithContext(ctx aws.Context, input *DeleteInvitationsInput, opts ...request.Option) (*DeleteInvitationsOutput, error) {
1395	req, out := c.DeleteInvitationsRequest(input)
1396	req.SetContext(ctx)
1397	req.ApplyOptions(opts...)
1398	return out, req.Send()
1399}
1400
1401const opDeleteMembers = "DeleteMembers"
1402
1403// DeleteMembersRequest generates a "aws/request.Request" representing the
1404// client's request for the DeleteMembers operation. The "output" return
1405// value will be populated with the request's response once the request completes
1406// successfully.
1407//
1408// Use "Send" method on the returned Request to send the API call to the service.
1409// the "output" return value is not valid until after Send returns without error.
1410//
1411// See DeleteMembers for more information on using the DeleteMembers
1412// API call, and error handling.
1413//
1414// This method is useful when you want to inject custom logic or configuration
1415// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1416//
1417//
1418//    // Example sending a request using the DeleteMembersRequest method.
1419//    req, resp := client.DeleteMembersRequest(params)
1420//
1421//    err := req.Send()
1422//    if err == nil { // resp is now filled
1423//        fmt.Println(resp)
1424//    }
1425//
1426// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteMembers
1427func (c *SecurityHub) DeleteMembersRequest(input *DeleteMembersInput) (req *request.Request, output *DeleteMembersOutput) {
1428	op := &request.Operation{
1429		Name:       opDeleteMembers,
1430		HTTPMethod: "POST",
1431		HTTPPath:   "/members/delete",
1432	}
1433
1434	if input == nil {
1435		input = &DeleteMembersInput{}
1436	}
1437
1438	output = &DeleteMembersOutput{}
1439	req = c.newRequest(op, input, output)
1440	return
1441}
1442
1443// DeleteMembers API operation for AWS SecurityHub.
1444//
1445// Deletes the specified member accounts from Security Hub.
1446//
1447// Can be used to delete member accounts that belong to an organization as well
1448// as member accounts that were invited manually.
1449//
1450// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1451// with awserr.Error's Code and Message methods to get detailed information about
1452// the error.
1453//
1454// See the AWS API reference guide for AWS SecurityHub's
1455// API operation DeleteMembers for usage and error information.
1456//
1457// Returned Error Types:
1458//   * InternalException
1459//   Internal server error.
1460//
1461//   * InvalidInputException
1462//   The request was rejected because you supplied an invalid or out-of-range
1463//   value for an input parameter.
1464//
1465//   * InvalidAccessException
1466//   There is an issue with the account used to make the request. Either Security
1467//   Hub is not enabled for the account, or the account does not have permission
1468//   to perform this action.
1469//
1470//   * LimitExceededException
1471//   The request was rejected because it attempted to create resources beyond
1472//   the current Amazon Web Services account or throttling limits. The error code
1473//   describes the limit exceeded.
1474//
1475//   * ResourceNotFoundException
1476//   The request was rejected because we can't find the specified resource.
1477//
1478// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteMembers
1479func (c *SecurityHub) DeleteMembers(input *DeleteMembersInput) (*DeleteMembersOutput, error) {
1480	req, out := c.DeleteMembersRequest(input)
1481	return out, req.Send()
1482}
1483
1484// DeleteMembersWithContext is the same as DeleteMembers with the addition of
1485// the ability to pass a context and additional request options.
1486//
1487// See DeleteMembers for details on how to use this API operation.
1488//
1489// The context must be non-nil and will be used for request cancellation. If
1490// the context is nil a panic will occur. In the future the SDK may create
1491// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1492// for more information on using Contexts.
1493func (c *SecurityHub) DeleteMembersWithContext(ctx aws.Context, input *DeleteMembersInput, opts ...request.Option) (*DeleteMembersOutput, error) {
1494	req, out := c.DeleteMembersRequest(input)
1495	req.SetContext(ctx)
1496	req.ApplyOptions(opts...)
1497	return out, req.Send()
1498}
1499
1500const opDescribeActionTargets = "DescribeActionTargets"
1501
1502// DescribeActionTargetsRequest generates a "aws/request.Request" representing the
1503// client's request for the DescribeActionTargets operation. The "output" return
1504// value will be populated with the request's response once the request completes
1505// successfully.
1506//
1507// Use "Send" method on the returned Request to send the API call to the service.
1508// the "output" return value is not valid until after Send returns without error.
1509//
1510// See DescribeActionTargets for more information on using the DescribeActionTargets
1511// API call, and error handling.
1512//
1513// This method is useful when you want to inject custom logic or configuration
1514// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1515//
1516//
1517//    // Example sending a request using the DescribeActionTargetsRequest method.
1518//    req, resp := client.DescribeActionTargetsRequest(params)
1519//
1520//    err := req.Send()
1521//    if err == nil { // resp is now filled
1522//        fmt.Println(resp)
1523//    }
1524//
1525// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeActionTargets
1526func (c *SecurityHub) DescribeActionTargetsRequest(input *DescribeActionTargetsInput) (req *request.Request, output *DescribeActionTargetsOutput) {
1527	op := &request.Operation{
1528		Name:       opDescribeActionTargets,
1529		HTTPMethod: "POST",
1530		HTTPPath:   "/actionTargets/get",
1531		Paginator: &request.Paginator{
1532			InputTokens:     []string{"NextToken"},
1533			OutputTokens:    []string{"NextToken"},
1534			LimitToken:      "MaxResults",
1535			TruncationToken: "",
1536		},
1537	}
1538
1539	if input == nil {
1540		input = &DescribeActionTargetsInput{}
1541	}
1542
1543	output = &DescribeActionTargetsOutput{}
1544	req = c.newRequest(op, input, output)
1545	return
1546}
1547
1548// DescribeActionTargets API operation for AWS SecurityHub.
1549//
1550// Returns a list of the custom action targets in Security Hub in your account.
1551//
1552// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1553// with awserr.Error's Code and Message methods to get detailed information about
1554// the error.
1555//
1556// See the AWS API reference guide for AWS SecurityHub's
1557// API operation DescribeActionTargets for usage and error information.
1558//
1559// Returned Error Types:
1560//   * InternalException
1561//   Internal server error.
1562//
1563//   * InvalidInputException
1564//   The request was rejected because you supplied an invalid or out-of-range
1565//   value for an input parameter.
1566//
1567//   * InvalidAccessException
1568//   There is an issue with the account used to make the request. Either Security
1569//   Hub is not enabled for the account, or the account does not have permission
1570//   to perform this action.
1571//
1572//   * ResourceNotFoundException
1573//   The request was rejected because we can't find the specified resource.
1574//
1575// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeActionTargets
1576func (c *SecurityHub) DescribeActionTargets(input *DescribeActionTargetsInput) (*DescribeActionTargetsOutput, error) {
1577	req, out := c.DescribeActionTargetsRequest(input)
1578	return out, req.Send()
1579}
1580
1581// DescribeActionTargetsWithContext is the same as DescribeActionTargets with the addition of
1582// the ability to pass a context and additional request options.
1583//
1584// See DescribeActionTargets for details on how to use this API operation.
1585//
1586// The context must be non-nil and will be used for request cancellation. If
1587// the context is nil a panic will occur. In the future the SDK may create
1588// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1589// for more information on using Contexts.
1590func (c *SecurityHub) DescribeActionTargetsWithContext(ctx aws.Context, input *DescribeActionTargetsInput, opts ...request.Option) (*DescribeActionTargetsOutput, error) {
1591	req, out := c.DescribeActionTargetsRequest(input)
1592	req.SetContext(ctx)
1593	req.ApplyOptions(opts...)
1594	return out, req.Send()
1595}
1596
1597// DescribeActionTargetsPages iterates over the pages of a DescribeActionTargets operation,
1598// calling the "fn" function with the response data for each page. To stop
1599// iterating, return false from the fn function.
1600//
1601// See DescribeActionTargets method for more information on how to use this operation.
1602//
1603// Note: This operation can generate multiple requests to a service.
1604//
1605//    // Example iterating over at most 3 pages of a DescribeActionTargets operation.
1606//    pageNum := 0
1607//    err := client.DescribeActionTargetsPages(params,
1608//        func(page *securityhub.DescribeActionTargetsOutput, lastPage bool) bool {
1609//            pageNum++
1610//            fmt.Println(page)
1611//            return pageNum <= 3
1612//        })
1613//
1614func (c *SecurityHub) DescribeActionTargetsPages(input *DescribeActionTargetsInput, fn func(*DescribeActionTargetsOutput, bool) bool) error {
1615	return c.DescribeActionTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
1616}
1617
1618// DescribeActionTargetsPagesWithContext same as DescribeActionTargetsPages except
1619// it takes a Context and allows setting request options on the pages.
1620//
1621// The context must be non-nil and will be used for request cancellation. If
1622// the context is nil a panic will occur. In the future the SDK may create
1623// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1624// for more information on using Contexts.
1625func (c *SecurityHub) DescribeActionTargetsPagesWithContext(ctx aws.Context, input *DescribeActionTargetsInput, fn func(*DescribeActionTargetsOutput, bool) bool, opts ...request.Option) error {
1626	p := request.Pagination{
1627		NewRequest: func() (*request.Request, error) {
1628			var inCpy *DescribeActionTargetsInput
1629			if input != nil {
1630				tmp := *input
1631				inCpy = &tmp
1632			}
1633			req, _ := c.DescribeActionTargetsRequest(inCpy)
1634			req.SetContext(ctx)
1635			req.ApplyOptions(opts...)
1636			return req, nil
1637		},
1638	}
1639
1640	for p.Next() {
1641		if !fn(p.Page().(*DescribeActionTargetsOutput), !p.HasNextPage()) {
1642			break
1643		}
1644	}
1645
1646	return p.Err()
1647}
1648
1649const opDescribeHub = "DescribeHub"
1650
1651// DescribeHubRequest generates a "aws/request.Request" representing the
1652// client's request for the DescribeHub operation. The "output" return
1653// value will be populated with the request's response once the request completes
1654// successfully.
1655//
1656// Use "Send" method on the returned Request to send the API call to the service.
1657// the "output" return value is not valid until after Send returns without error.
1658//
1659// See DescribeHub for more information on using the DescribeHub
1660// API call, and error handling.
1661//
1662// This method is useful when you want to inject custom logic or configuration
1663// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1664//
1665//
1666//    // Example sending a request using the DescribeHubRequest method.
1667//    req, resp := client.DescribeHubRequest(params)
1668//
1669//    err := req.Send()
1670//    if err == nil { // resp is now filled
1671//        fmt.Println(resp)
1672//    }
1673//
1674// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeHub
1675func (c *SecurityHub) DescribeHubRequest(input *DescribeHubInput) (req *request.Request, output *DescribeHubOutput) {
1676	op := &request.Operation{
1677		Name:       opDescribeHub,
1678		HTTPMethod: "GET",
1679		HTTPPath:   "/accounts",
1680	}
1681
1682	if input == nil {
1683		input = &DescribeHubInput{}
1684	}
1685
1686	output = &DescribeHubOutput{}
1687	req = c.newRequest(op, input, output)
1688	return
1689}
1690
1691// DescribeHub API operation for AWS SecurityHub.
1692//
1693// Returns details about the Hub resource in your account, including the HubArn
1694// and the time when you enabled Security Hub.
1695//
1696// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1697// with awserr.Error's Code and Message methods to get detailed information about
1698// the error.
1699//
1700// See the AWS API reference guide for AWS SecurityHub's
1701// API operation DescribeHub for usage and error information.
1702//
1703// Returned Error Types:
1704//   * InternalException
1705//   Internal server error.
1706//
1707//   * LimitExceededException
1708//   The request was rejected because it attempted to create resources beyond
1709//   the current Amazon Web Services account or throttling limits. The error code
1710//   describes the limit exceeded.
1711//
1712//   * InvalidAccessException
1713//   There is an issue with the account used to make the request. Either Security
1714//   Hub is not enabled for the account, or the account does not have permission
1715//   to perform this action.
1716//
1717//   * InvalidInputException
1718//   The request was rejected because you supplied an invalid or out-of-range
1719//   value for an input parameter.
1720//
1721//   * ResourceNotFoundException
1722//   The request was rejected because we can't find the specified resource.
1723//
1724// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeHub
1725func (c *SecurityHub) DescribeHub(input *DescribeHubInput) (*DescribeHubOutput, error) {
1726	req, out := c.DescribeHubRequest(input)
1727	return out, req.Send()
1728}
1729
1730// DescribeHubWithContext is the same as DescribeHub with the addition of
1731// the ability to pass a context and additional request options.
1732//
1733// See DescribeHub for details on how to use this API operation.
1734//
1735// The context must be non-nil and will be used for request cancellation. If
1736// the context is nil a panic will occur. In the future the SDK may create
1737// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1738// for more information on using Contexts.
1739func (c *SecurityHub) DescribeHubWithContext(ctx aws.Context, input *DescribeHubInput, opts ...request.Option) (*DescribeHubOutput, error) {
1740	req, out := c.DescribeHubRequest(input)
1741	req.SetContext(ctx)
1742	req.ApplyOptions(opts...)
1743	return out, req.Send()
1744}
1745
1746const opDescribeOrganizationConfiguration = "DescribeOrganizationConfiguration"
1747
1748// DescribeOrganizationConfigurationRequest generates a "aws/request.Request" representing the
1749// client's request for the DescribeOrganizationConfiguration operation. The "output" return
1750// value will be populated with the request's response once the request completes
1751// successfully.
1752//
1753// Use "Send" method on the returned Request to send the API call to the service.
1754// the "output" return value is not valid until after Send returns without error.
1755//
1756// See DescribeOrganizationConfiguration for more information on using the DescribeOrganizationConfiguration
1757// API call, and error handling.
1758//
1759// This method is useful when you want to inject custom logic or configuration
1760// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1761//
1762//
1763//    // Example sending a request using the DescribeOrganizationConfigurationRequest method.
1764//    req, resp := client.DescribeOrganizationConfigurationRequest(params)
1765//
1766//    err := req.Send()
1767//    if err == nil { // resp is now filled
1768//        fmt.Println(resp)
1769//    }
1770//
1771// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeOrganizationConfiguration
1772func (c *SecurityHub) DescribeOrganizationConfigurationRequest(input *DescribeOrganizationConfigurationInput) (req *request.Request, output *DescribeOrganizationConfigurationOutput) {
1773	op := &request.Operation{
1774		Name:       opDescribeOrganizationConfiguration,
1775		HTTPMethod: "GET",
1776		HTTPPath:   "/organization/configuration",
1777	}
1778
1779	if input == nil {
1780		input = &DescribeOrganizationConfigurationInput{}
1781	}
1782
1783	output = &DescribeOrganizationConfigurationOutput{}
1784	req = c.newRequest(op, input, output)
1785	return
1786}
1787
1788// DescribeOrganizationConfiguration API operation for AWS SecurityHub.
1789//
1790// Returns information about the Organizations configuration for Security Hub.
1791// Can only be called from a Security Hub administrator account.
1792//
1793// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1794// with awserr.Error's Code and Message methods to get detailed information about
1795// the error.
1796//
1797// See the AWS API reference guide for AWS SecurityHub's
1798// API operation DescribeOrganizationConfiguration for usage and error information.
1799//
1800// Returned Error Types:
1801//   * InternalException
1802//   Internal server error.
1803//
1804//   * InvalidInputException
1805//   The request was rejected because you supplied an invalid or out-of-range
1806//   value for an input parameter.
1807//
1808//   * InvalidAccessException
1809//   There is an issue with the account used to make the request. Either Security
1810//   Hub is not enabled for the account, or the account does not have permission
1811//   to perform this action.
1812//
1813//   * LimitExceededException
1814//   The request was rejected because it attempted to create resources beyond
1815//   the current Amazon Web Services account or throttling limits. The error code
1816//   describes the limit exceeded.
1817//
1818// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeOrganizationConfiguration
1819func (c *SecurityHub) DescribeOrganizationConfiguration(input *DescribeOrganizationConfigurationInput) (*DescribeOrganizationConfigurationOutput, error) {
1820	req, out := c.DescribeOrganizationConfigurationRequest(input)
1821	return out, req.Send()
1822}
1823
1824// DescribeOrganizationConfigurationWithContext is the same as DescribeOrganizationConfiguration with the addition of
1825// the ability to pass a context and additional request options.
1826//
1827// See DescribeOrganizationConfiguration for details on how to use this API operation.
1828//
1829// The context must be non-nil and will be used for request cancellation. If
1830// the context is nil a panic will occur. In the future the SDK may create
1831// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1832// for more information on using Contexts.
1833func (c *SecurityHub) DescribeOrganizationConfigurationWithContext(ctx aws.Context, input *DescribeOrganizationConfigurationInput, opts ...request.Option) (*DescribeOrganizationConfigurationOutput, error) {
1834	req, out := c.DescribeOrganizationConfigurationRequest(input)
1835	req.SetContext(ctx)
1836	req.ApplyOptions(opts...)
1837	return out, req.Send()
1838}
1839
1840const opDescribeProducts = "DescribeProducts"
1841
1842// DescribeProductsRequest generates a "aws/request.Request" representing the
1843// client's request for the DescribeProducts operation. The "output" return
1844// value will be populated with the request's response once the request completes
1845// successfully.
1846//
1847// Use "Send" method on the returned Request to send the API call to the service.
1848// the "output" return value is not valid until after Send returns without error.
1849//
1850// See DescribeProducts for more information on using the DescribeProducts
1851// API call, and error handling.
1852//
1853// This method is useful when you want to inject custom logic or configuration
1854// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1855//
1856//
1857//    // Example sending a request using the DescribeProductsRequest method.
1858//    req, resp := client.DescribeProductsRequest(params)
1859//
1860//    err := req.Send()
1861//    if err == nil { // resp is now filled
1862//        fmt.Println(resp)
1863//    }
1864//
1865// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeProducts
1866func (c *SecurityHub) DescribeProductsRequest(input *DescribeProductsInput) (req *request.Request, output *DescribeProductsOutput) {
1867	op := &request.Operation{
1868		Name:       opDescribeProducts,
1869		HTTPMethod: "GET",
1870		HTTPPath:   "/products",
1871		Paginator: &request.Paginator{
1872			InputTokens:     []string{"NextToken"},
1873			OutputTokens:    []string{"NextToken"},
1874			LimitToken:      "MaxResults",
1875			TruncationToken: "",
1876		},
1877	}
1878
1879	if input == nil {
1880		input = &DescribeProductsInput{}
1881	}
1882
1883	output = &DescribeProductsOutput{}
1884	req = c.newRequest(op, input, output)
1885	return
1886}
1887
1888// DescribeProducts API operation for AWS SecurityHub.
1889//
1890// Returns information about product integrations in Security Hub.
1891//
1892// You can optionally provide an integration ARN. If you provide an integration
1893// ARN, then the results only include that integration.
1894//
1895// If you do not provide an integration ARN, then the results include all of
1896// the available product integrations.
1897//
1898// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1899// with awserr.Error's Code and Message methods to get detailed information about
1900// the error.
1901//
1902// See the AWS API reference guide for AWS SecurityHub's
1903// API operation DescribeProducts for usage and error information.
1904//
1905// Returned Error Types:
1906//   * InternalException
1907//   Internal server error.
1908//
1909//   * LimitExceededException
1910//   The request was rejected because it attempted to create resources beyond
1911//   the current Amazon Web Services account or throttling limits. The error code
1912//   describes the limit exceeded.
1913//
1914//   * InvalidAccessException
1915//   There is an issue with the account used to make the request. Either Security
1916//   Hub is not enabled for the account, or the account does not have permission
1917//   to perform this action.
1918//
1919//   * InvalidInputException
1920//   The request was rejected because you supplied an invalid or out-of-range
1921//   value for an input parameter.
1922//
1923// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeProducts
1924func (c *SecurityHub) DescribeProducts(input *DescribeProductsInput) (*DescribeProductsOutput, error) {
1925	req, out := c.DescribeProductsRequest(input)
1926	return out, req.Send()
1927}
1928
1929// DescribeProductsWithContext is the same as DescribeProducts with the addition of
1930// the ability to pass a context and additional request options.
1931//
1932// See DescribeProducts for details on how to use this API operation.
1933//
1934// The context must be non-nil and will be used for request cancellation. If
1935// the context is nil a panic will occur. In the future the SDK may create
1936// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1937// for more information on using Contexts.
1938func (c *SecurityHub) DescribeProductsWithContext(ctx aws.Context, input *DescribeProductsInput, opts ...request.Option) (*DescribeProductsOutput, error) {
1939	req, out := c.DescribeProductsRequest(input)
1940	req.SetContext(ctx)
1941	req.ApplyOptions(opts...)
1942	return out, req.Send()
1943}
1944
1945// DescribeProductsPages iterates over the pages of a DescribeProducts operation,
1946// calling the "fn" function with the response data for each page. To stop
1947// iterating, return false from the fn function.
1948//
1949// See DescribeProducts method for more information on how to use this operation.
1950//
1951// Note: This operation can generate multiple requests to a service.
1952//
1953//    // Example iterating over at most 3 pages of a DescribeProducts operation.
1954//    pageNum := 0
1955//    err := client.DescribeProductsPages(params,
1956//        func(page *securityhub.DescribeProductsOutput, lastPage bool) bool {
1957//            pageNum++
1958//            fmt.Println(page)
1959//            return pageNum <= 3
1960//        })
1961//
1962func (c *SecurityHub) DescribeProductsPages(input *DescribeProductsInput, fn func(*DescribeProductsOutput, bool) bool) error {
1963	return c.DescribeProductsPagesWithContext(aws.BackgroundContext(), input, fn)
1964}
1965
1966// DescribeProductsPagesWithContext same as DescribeProductsPages except
1967// it takes a Context and allows setting request options on the pages.
1968//
1969// The context must be non-nil and will be used for request cancellation. If
1970// the context is nil a panic will occur. In the future the SDK may create
1971// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1972// for more information on using Contexts.
1973func (c *SecurityHub) DescribeProductsPagesWithContext(ctx aws.Context, input *DescribeProductsInput, fn func(*DescribeProductsOutput, bool) bool, opts ...request.Option) error {
1974	p := request.Pagination{
1975		NewRequest: func() (*request.Request, error) {
1976			var inCpy *DescribeProductsInput
1977			if input != nil {
1978				tmp := *input
1979				inCpy = &tmp
1980			}
1981			req, _ := c.DescribeProductsRequest(inCpy)
1982			req.SetContext(ctx)
1983			req.ApplyOptions(opts...)
1984			return req, nil
1985		},
1986	}
1987
1988	for p.Next() {
1989		if !fn(p.Page().(*DescribeProductsOutput), !p.HasNextPage()) {
1990			break
1991		}
1992	}
1993
1994	return p.Err()
1995}
1996
1997const opDescribeStandards = "DescribeStandards"
1998
1999// DescribeStandardsRequest generates a "aws/request.Request" representing the
2000// client's request for the DescribeStandards operation. The "output" return
2001// value will be populated with the request's response once the request completes
2002// successfully.
2003//
2004// Use "Send" method on the returned Request to send the API call to the service.
2005// the "output" return value is not valid until after Send returns without error.
2006//
2007// See DescribeStandards for more information on using the DescribeStandards
2008// API call, and error handling.
2009//
2010// This method is useful when you want to inject custom logic or configuration
2011// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2012//
2013//
2014//    // Example sending a request using the DescribeStandardsRequest method.
2015//    req, resp := client.DescribeStandardsRequest(params)
2016//
2017//    err := req.Send()
2018//    if err == nil { // resp is now filled
2019//        fmt.Println(resp)
2020//    }
2021//
2022// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandards
2023func (c *SecurityHub) DescribeStandardsRequest(input *DescribeStandardsInput) (req *request.Request, output *DescribeStandardsOutput) {
2024	op := &request.Operation{
2025		Name:       opDescribeStandards,
2026		HTTPMethod: "GET",
2027		HTTPPath:   "/standards",
2028		Paginator: &request.Paginator{
2029			InputTokens:     []string{"NextToken"},
2030			OutputTokens:    []string{"NextToken"},
2031			LimitToken:      "MaxResults",
2032			TruncationToken: "",
2033		},
2034	}
2035
2036	if input == nil {
2037		input = &DescribeStandardsInput{}
2038	}
2039
2040	output = &DescribeStandardsOutput{}
2041	req = c.newRequest(op, input, output)
2042	return
2043}
2044
2045// DescribeStandards API operation for AWS SecurityHub.
2046//
2047// Returns a list of the available standards in Security Hub.
2048//
2049// For each standard, the results include the standard ARN, the name, and a
2050// description.
2051//
2052// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2053// with awserr.Error's Code and Message methods to get detailed information about
2054// the error.
2055//
2056// See the AWS API reference guide for AWS SecurityHub's
2057// API operation DescribeStandards for usage and error information.
2058//
2059// Returned Error Types:
2060//   * InternalException
2061//   Internal server error.
2062//
2063//   * InvalidInputException
2064//   The request was rejected because you supplied an invalid or out-of-range
2065//   value for an input parameter.
2066//
2067//   * InvalidAccessException
2068//   There is an issue with the account used to make the request. Either Security
2069//   Hub is not enabled for the account, or the account does not have permission
2070//   to perform this action.
2071//
2072// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandards
2073func (c *SecurityHub) DescribeStandards(input *DescribeStandardsInput) (*DescribeStandardsOutput, error) {
2074	req, out := c.DescribeStandardsRequest(input)
2075	return out, req.Send()
2076}
2077
2078// DescribeStandardsWithContext is the same as DescribeStandards with the addition of
2079// the ability to pass a context and additional request options.
2080//
2081// See DescribeStandards for details on how to use this API operation.
2082//
2083// The context must be non-nil and will be used for request cancellation. If
2084// the context is nil a panic will occur. In the future the SDK may create
2085// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2086// for more information on using Contexts.
2087func (c *SecurityHub) DescribeStandardsWithContext(ctx aws.Context, input *DescribeStandardsInput, opts ...request.Option) (*DescribeStandardsOutput, error) {
2088	req, out := c.DescribeStandardsRequest(input)
2089	req.SetContext(ctx)
2090	req.ApplyOptions(opts...)
2091	return out, req.Send()
2092}
2093
2094// DescribeStandardsPages iterates over the pages of a DescribeStandards operation,
2095// calling the "fn" function with the response data for each page. To stop
2096// iterating, return false from the fn function.
2097//
2098// See DescribeStandards method for more information on how to use this operation.
2099//
2100// Note: This operation can generate multiple requests to a service.
2101//
2102//    // Example iterating over at most 3 pages of a DescribeStandards operation.
2103//    pageNum := 0
2104//    err := client.DescribeStandardsPages(params,
2105//        func(page *securityhub.DescribeStandardsOutput, lastPage bool) bool {
2106//            pageNum++
2107//            fmt.Println(page)
2108//            return pageNum <= 3
2109//        })
2110//
2111func (c *SecurityHub) DescribeStandardsPages(input *DescribeStandardsInput, fn func(*DescribeStandardsOutput, bool) bool) error {
2112	return c.DescribeStandardsPagesWithContext(aws.BackgroundContext(), input, fn)
2113}
2114
2115// DescribeStandardsPagesWithContext same as DescribeStandardsPages except
2116// it takes a Context and allows setting request options on the pages.
2117//
2118// The context must be non-nil and will be used for request cancellation. If
2119// the context is nil a panic will occur. In the future the SDK may create
2120// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2121// for more information on using Contexts.
2122func (c *SecurityHub) DescribeStandardsPagesWithContext(ctx aws.Context, input *DescribeStandardsInput, fn func(*DescribeStandardsOutput, bool) bool, opts ...request.Option) error {
2123	p := request.Pagination{
2124		NewRequest: func() (*request.Request, error) {
2125			var inCpy *DescribeStandardsInput
2126			if input != nil {
2127				tmp := *input
2128				inCpy = &tmp
2129			}
2130			req, _ := c.DescribeStandardsRequest(inCpy)
2131			req.SetContext(ctx)
2132			req.ApplyOptions(opts...)
2133			return req, nil
2134		},
2135	}
2136
2137	for p.Next() {
2138		if !fn(p.Page().(*DescribeStandardsOutput), !p.HasNextPage()) {
2139			break
2140		}
2141	}
2142
2143	return p.Err()
2144}
2145
2146const opDescribeStandardsControls = "DescribeStandardsControls"
2147
2148// DescribeStandardsControlsRequest generates a "aws/request.Request" representing the
2149// client's request for the DescribeStandardsControls operation. The "output" return
2150// value will be populated with the request's response once the request completes
2151// successfully.
2152//
2153// Use "Send" method on the returned Request to send the API call to the service.
2154// the "output" return value is not valid until after Send returns without error.
2155//
2156// See DescribeStandardsControls for more information on using the DescribeStandardsControls
2157// API call, and error handling.
2158//
2159// This method is useful when you want to inject custom logic or configuration
2160// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2161//
2162//
2163//    // Example sending a request using the DescribeStandardsControlsRequest method.
2164//    req, resp := client.DescribeStandardsControlsRequest(params)
2165//
2166//    err := req.Send()
2167//    if err == nil { // resp is now filled
2168//        fmt.Println(resp)
2169//    }
2170//
2171// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandardsControls
2172func (c *SecurityHub) DescribeStandardsControlsRequest(input *DescribeStandardsControlsInput) (req *request.Request, output *DescribeStandardsControlsOutput) {
2173	op := &request.Operation{
2174		Name:       opDescribeStandardsControls,
2175		HTTPMethod: "GET",
2176		HTTPPath:   "/standards/controls/{StandardsSubscriptionArn+}",
2177		Paginator: &request.Paginator{
2178			InputTokens:     []string{"NextToken"},
2179			OutputTokens:    []string{"NextToken"},
2180			LimitToken:      "MaxResults",
2181			TruncationToken: "",
2182		},
2183	}
2184
2185	if input == nil {
2186		input = &DescribeStandardsControlsInput{}
2187	}
2188
2189	output = &DescribeStandardsControlsOutput{}
2190	req = c.newRequest(op, input, output)
2191	return
2192}
2193
2194// DescribeStandardsControls API operation for AWS SecurityHub.
2195//
2196// Returns a list of security standards controls.
2197//
2198// For each control, the results include information about whether it is currently
2199// enabled, the severity, and a link to remediation information.
2200//
2201// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2202// with awserr.Error's Code and Message methods to get detailed information about
2203// the error.
2204//
2205// See the AWS API reference guide for AWS SecurityHub's
2206// API operation DescribeStandardsControls for usage and error information.
2207//
2208// Returned Error Types:
2209//   * InternalException
2210//   Internal server error.
2211//
2212//   * InvalidInputException
2213//   The request was rejected because you supplied an invalid or out-of-range
2214//   value for an input parameter.
2215//
2216//   * InvalidAccessException
2217//   There is an issue with the account used to make the request. Either Security
2218//   Hub is not enabled for the account, or the account does not have permission
2219//   to perform this action.
2220//
2221//   * ResourceNotFoundException
2222//   The request was rejected because we can't find the specified resource.
2223//
2224// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandardsControls
2225func (c *SecurityHub) DescribeStandardsControls(input *DescribeStandardsControlsInput) (*DescribeStandardsControlsOutput, error) {
2226	req, out := c.DescribeStandardsControlsRequest(input)
2227	return out, req.Send()
2228}
2229
2230// DescribeStandardsControlsWithContext is the same as DescribeStandardsControls with the addition of
2231// the ability to pass a context and additional request options.
2232//
2233// See DescribeStandardsControls for details on how to use this API operation.
2234//
2235// The context must be non-nil and will be used for request cancellation. If
2236// the context is nil a panic will occur. In the future the SDK may create
2237// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2238// for more information on using Contexts.
2239func (c *SecurityHub) DescribeStandardsControlsWithContext(ctx aws.Context, input *DescribeStandardsControlsInput, opts ...request.Option) (*DescribeStandardsControlsOutput, error) {
2240	req, out := c.DescribeStandardsControlsRequest(input)
2241	req.SetContext(ctx)
2242	req.ApplyOptions(opts...)
2243	return out, req.Send()
2244}
2245
2246// DescribeStandardsControlsPages iterates over the pages of a DescribeStandardsControls operation,
2247// calling the "fn" function with the response data for each page. To stop
2248// iterating, return false from the fn function.
2249//
2250// See DescribeStandardsControls method for more information on how to use this operation.
2251//
2252// Note: This operation can generate multiple requests to a service.
2253//
2254//    // Example iterating over at most 3 pages of a DescribeStandardsControls operation.
2255//    pageNum := 0
2256//    err := client.DescribeStandardsControlsPages(params,
2257//        func(page *securityhub.DescribeStandardsControlsOutput, lastPage bool) bool {
2258//            pageNum++
2259//            fmt.Println(page)
2260//            return pageNum <= 3
2261//        })
2262//
2263func (c *SecurityHub) DescribeStandardsControlsPages(input *DescribeStandardsControlsInput, fn func(*DescribeStandardsControlsOutput, bool) bool) error {
2264	return c.DescribeStandardsControlsPagesWithContext(aws.BackgroundContext(), input, fn)
2265}
2266
2267// DescribeStandardsControlsPagesWithContext same as DescribeStandardsControlsPages except
2268// it takes a Context and allows setting request options on the pages.
2269//
2270// The context must be non-nil and will be used for request cancellation. If
2271// the context is nil a panic will occur. In the future the SDK may create
2272// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2273// for more information on using Contexts.
2274func (c *SecurityHub) DescribeStandardsControlsPagesWithContext(ctx aws.Context, input *DescribeStandardsControlsInput, fn func(*DescribeStandardsControlsOutput, bool) bool, opts ...request.Option) error {
2275	p := request.Pagination{
2276		NewRequest: func() (*request.Request, error) {
2277			var inCpy *DescribeStandardsControlsInput
2278			if input != nil {
2279				tmp := *input
2280				inCpy = &tmp
2281			}
2282			req, _ := c.DescribeStandardsControlsRequest(inCpy)
2283			req.SetContext(ctx)
2284			req.ApplyOptions(opts...)
2285			return req, nil
2286		},
2287	}
2288
2289	for p.Next() {
2290		if !fn(p.Page().(*DescribeStandardsControlsOutput), !p.HasNextPage()) {
2291			break
2292		}
2293	}
2294
2295	return p.Err()
2296}
2297
2298const opDisableImportFindingsForProduct = "DisableImportFindingsForProduct"
2299
2300// DisableImportFindingsForProductRequest generates a "aws/request.Request" representing the
2301// client's request for the DisableImportFindingsForProduct operation. The "output" return
2302// value will be populated with the request's response once the request completes
2303// successfully.
2304//
2305// Use "Send" method on the returned Request to send the API call to the service.
2306// the "output" return value is not valid until after Send returns without error.
2307//
2308// See DisableImportFindingsForProduct for more information on using the DisableImportFindingsForProduct
2309// API call, and error handling.
2310//
2311// This method is useful when you want to inject custom logic or configuration
2312// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2313//
2314//
2315//    // Example sending a request using the DisableImportFindingsForProductRequest method.
2316//    req, resp := client.DisableImportFindingsForProductRequest(params)
2317//
2318//    err := req.Send()
2319//    if err == nil { // resp is now filled
2320//        fmt.Println(resp)
2321//    }
2322//
2323// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableImportFindingsForProduct
2324func (c *SecurityHub) DisableImportFindingsForProductRequest(input *DisableImportFindingsForProductInput) (req *request.Request, output *DisableImportFindingsForProductOutput) {
2325	op := &request.Operation{
2326		Name:       opDisableImportFindingsForProduct,
2327		HTTPMethod: "DELETE",
2328		HTTPPath:   "/productSubscriptions/{ProductSubscriptionArn+}",
2329	}
2330
2331	if input == nil {
2332		input = &DisableImportFindingsForProductInput{}
2333	}
2334
2335	output = &DisableImportFindingsForProductOutput{}
2336	req = c.newRequest(op, input, output)
2337	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2338	return
2339}
2340
2341// DisableImportFindingsForProduct API operation for AWS SecurityHub.
2342//
2343// Disables the integration of the specified product with Security Hub. After
2344// the integration is disabled, findings from that product are no longer sent
2345// to Security Hub.
2346//
2347// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2348// with awserr.Error's Code and Message methods to get detailed information about
2349// the error.
2350//
2351// See the AWS API reference guide for AWS SecurityHub's
2352// API operation DisableImportFindingsForProduct for usage and error information.
2353//
2354// Returned Error Types:
2355//   * InternalException
2356//   Internal server error.
2357//
2358//   * InvalidInputException
2359//   The request was rejected because you supplied an invalid or out-of-range
2360//   value for an input parameter.
2361//
2362//   * ResourceNotFoundException
2363//   The request was rejected because we can't find the specified resource.
2364//
2365//   * InvalidAccessException
2366//   There is an issue with the account used to make the request. Either Security
2367//   Hub is not enabled for the account, or the account does not have permission
2368//   to perform this action.
2369//
2370//   * LimitExceededException
2371//   The request was rejected because it attempted to create resources beyond
2372//   the current Amazon Web Services account or throttling limits. The error code
2373//   describes the limit exceeded.
2374//
2375// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableImportFindingsForProduct
2376func (c *SecurityHub) DisableImportFindingsForProduct(input *DisableImportFindingsForProductInput) (*DisableImportFindingsForProductOutput, error) {
2377	req, out := c.DisableImportFindingsForProductRequest(input)
2378	return out, req.Send()
2379}
2380
2381// DisableImportFindingsForProductWithContext is the same as DisableImportFindingsForProduct with the addition of
2382// the ability to pass a context and additional request options.
2383//
2384// See DisableImportFindingsForProduct for details on how to use this API operation.
2385//
2386// The context must be non-nil and will be used for request cancellation. If
2387// the context is nil a panic will occur. In the future the SDK may create
2388// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2389// for more information on using Contexts.
2390func (c *SecurityHub) DisableImportFindingsForProductWithContext(ctx aws.Context, input *DisableImportFindingsForProductInput, opts ...request.Option) (*DisableImportFindingsForProductOutput, error) {
2391	req, out := c.DisableImportFindingsForProductRequest(input)
2392	req.SetContext(ctx)
2393	req.ApplyOptions(opts...)
2394	return out, req.Send()
2395}
2396
2397const opDisableOrganizationAdminAccount = "DisableOrganizationAdminAccount"
2398
2399// DisableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
2400// client's request for the DisableOrganizationAdminAccount operation. The "output" return
2401// value will be populated with the request's response once the request completes
2402// successfully.
2403//
2404// Use "Send" method on the returned Request to send the API call to the service.
2405// the "output" return value is not valid until after Send returns without error.
2406//
2407// See DisableOrganizationAdminAccount for more information on using the DisableOrganizationAdminAccount
2408// API call, and error handling.
2409//
2410// This method is useful when you want to inject custom logic or configuration
2411// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2412//
2413//
2414//    // Example sending a request using the DisableOrganizationAdminAccountRequest method.
2415//    req, resp := client.DisableOrganizationAdminAccountRequest(params)
2416//
2417//    err := req.Send()
2418//    if err == nil { // resp is now filled
2419//        fmt.Println(resp)
2420//    }
2421//
2422// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableOrganizationAdminAccount
2423func (c *SecurityHub) DisableOrganizationAdminAccountRequest(input *DisableOrganizationAdminAccountInput) (req *request.Request, output *DisableOrganizationAdminAccountOutput) {
2424	op := &request.Operation{
2425		Name:       opDisableOrganizationAdminAccount,
2426		HTTPMethod: "POST",
2427		HTTPPath:   "/organization/admin/disable",
2428	}
2429
2430	if input == nil {
2431		input = &DisableOrganizationAdminAccountInput{}
2432	}
2433
2434	output = &DisableOrganizationAdminAccountOutput{}
2435	req = c.newRequest(op, input, output)
2436	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2437	return
2438}
2439
2440// DisableOrganizationAdminAccount API operation for AWS SecurityHub.
2441//
2442// Disables a Security Hub administrator account. Can only be called by the
2443// organization management account.
2444//
2445// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2446// with awserr.Error's Code and Message methods to get detailed information about
2447// the error.
2448//
2449// See the AWS API reference guide for AWS SecurityHub's
2450// API operation DisableOrganizationAdminAccount for usage and error information.
2451//
2452// Returned Error Types:
2453//   * InternalException
2454//   Internal server error.
2455//
2456//   * InvalidInputException
2457//   The request was rejected because you supplied an invalid or out-of-range
2458//   value for an input parameter.
2459//
2460//   * InvalidAccessException
2461//   There is an issue with the account used to make the request. Either Security
2462//   Hub is not enabled for the account, or the account does not have permission
2463//   to perform this action.
2464//
2465//   * LimitExceededException
2466//   The request was rejected because it attempted to create resources beyond
2467//   the current Amazon Web Services account or throttling limits. The error code
2468//   describes the limit exceeded.
2469//
2470// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableOrganizationAdminAccount
2471func (c *SecurityHub) DisableOrganizationAdminAccount(input *DisableOrganizationAdminAccountInput) (*DisableOrganizationAdminAccountOutput, error) {
2472	req, out := c.DisableOrganizationAdminAccountRequest(input)
2473	return out, req.Send()
2474}
2475
2476// DisableOrganizationAdminAccountWithContext is the same as DisableOrganizationAdminAccount with the addition of
2477// the ability to pass a context and additional request options.
2478//
2479// See DisableOrganizationAdminAccount for details on how to use this API operation.
2480//
2481// The context must be non-nil and will be used for request cancellation. If
2482// the context is nil a panic will occur. In the future the SDK may create
2483// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2484// for more information on using Contexts.
2485func (c *SecurityHub) DisableOrganizationAdminAccountWithContext(ctx aws.Context, input *DisableOrganizationAdminAccountInput, opts ...request.Option) (*DisableOrganizationAdminAccountOutput, error) {
2486	req, out := c.DisableOrganizationAdminAccountRequest(input)
2487	req.SetContext(ctx)
2488	req.ApplyOptions(opts...)
2489	return out, req.Send()
2490}
2491
2492const opDisableSecurityHub = "DisableSecurityHub"
2493
2494// DisableSecurityHubRequest generates a "aws/request.Request" representing the
2495// client's request for the DisableSecurityHub operation. The "output" return
2496// value will be populated with the request's response once the request completes
2497// successfully.
2498//
2499// Use "Send" method on the returned Request to send the API call to the service.
2500// the "output" return value is not valid until after Send returns without error.
2501//
2502// See DisableSecurityHub for more information on using the DisableSecurityHub
2503// API call, and error handling.
2504//
2505// This method is useful when you want to inject custom logic or configuration
2506// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2507//
2508//
2509//    // Example sending a request using the DisableSecurityHubRequest method.
2510//    req, resp := client.DisableSecurityHubRequest(params)
2511//
2512//    err := req.Send()
2513//    if err == nil { // resp is now filled
2514//        fmt.Println(resp)
2515//    }
2516//
2517// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableSecurityHub
2518func (c *SecurityHub) DisableSecurityHubRequest(input *DisableSecurityHubInput) (req *request.Request, output *DisableSecurityHubOutput) {
2519	op := &request.Operation{
2520		Name:       opDisableSecurityHub,
2521		HTTPMethod: "DELETE",
2522		HTTPPath:   "/accounts",
2523	}
2524
2525	if input == nil {
2526		input = &DisableSecurityHubInput{}
2527	}
2528
2529	output = &DisableSecurityHubOutput{}
2530	req = c.newRequest(op, input, output)
2531	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2532	return
2533}
2534
2535// DisableSecurityHub API operation for AWS SecurityHub.
2536//
2537// Disables Security Hub in your account only in the current Region. To disable
2538// Security Hub in all Regions, you must submit one request per Region where
2539// you have enabled Security Hub.
2540//
2541// When you disable Security Hub for an administrator account, it doesn't disable
2542// Security Hub for any associated member accounts.
2543//
2544// When you disable Security Hub, your existing findings and insights and any
2545// Security Hub configuration settings are deleted after 90 days and cannot
2546// be recovered. Any standards that were enabled are disabled, and your administrator
2547// and member account associations are removed.
2548//
2549// If you want to save your existing findings, you must export them before you
2550// disable Security Hub.
2551//
2552// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2553// with awserr.Error's Code and Message methods to get detailed information about
2554// the error.
2555//
2556// See the AWS API reference guide for AWS SecurityHub's
2557// API operation DisableSecurityHub for usage and error information.
2558//
2559// Returned Error Types:
2560//   * InternalException
2561//   Internal server error.
2562//
2563//   * LimitExceededException
2564//   The request was rejected because it attempted to create resources beyond
2565//   the current Amazon Web Services account or throttling limits. The error code
2566//   describes the limit exceeded.
2567//
2568//   * InvalidAccessException
2569//   There is an issue with the account used to make the request. Either Security
2570//   Hub is not enabled for the account, or the account does not have permission
2571//   to perform this action.
2572//
2573//   * ResourceNotFoundException
2574//   The request was rejected because we can't find the specified resource.
2575//
2576// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableSecurityHub
2577func (c *SecurityHub) DisableSecurityHub(input *DisableSecurityHubInput) (*DisableSecurityHubOutput, error) {
2578	req, out := c.DisableSecurityHubRequest(input)
2579	return out, req.Send()
2580}
2581
2582// DisableSecurityHubWithContext is the same as DisableSecurityHub with the addition of
2583// the ability to pass a context and additional request options.
2584//
2585// See DisableSecurityHub for details on how to use this API operation.
2586//
2587// The context must be non-nil and will be used for request cancellation. If
2588// the context is nil a panic will occur. In the future the SDK may create
2589// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2590// for more information on using Contexts.
2591func (c *SecurityHub) DisableSecurityHubWithContext(ctx aws.Context, input *DisableSecurityHubInput, opts ...request.Option) (*DisableSecurityHubOutput, error) {
2592	req, out := c.DisableSecurityHubRequest(input)
2593	req.SetContext(ctx)
2594	req.ApplyOptions(opts...)
2595	return out, req.Send()
2596}
2597
2598const opDisassociateFromAdministratorAccount = "DisassociateFromAdministratorAccount"
2599
2600// DisassociateFromAdministratorAccountRequest generates a "aws/request.Request" representing the
2601// client's request for the DisassociateFromAdministratorAccount operation. The "output" return
2602// value will be populated with the request's response once the request completes
2603// successfully.
2604//
2605// Use "Send" method on the returned Request to send the API call to the service.
2606// the "output" return value is not valid until after Send returns without error.
2607//
2608// See DisassociateFromAdministratorAccount for more information on using the DisassociateFromAdministratorAccount
2609// API call, and error handling.
2610//
2611// This method is useful when you want to inject custom logic or configuration
2612// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2613//
2614//
2615//    // Example sending a request using the DisassociateFromAdministratorAccountRequest method.
2616//    req, resp := client.DisassociateFromAdministratorAccountRequest(params)
2617//
2618//    err := req.Send()
2619//    if err == nil { // resp is now filled
2620//        fmt.Println(resp)
2621//    }
2622//
2623// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromAdministratorAccount
2624func (c *SecurityHub) DisassociateFromAdministratorAccountRequest(input *DisassociateFromAdministratorAccountInput) (req *request.Request, output *DisassociateFromAdministratorAccountOutput) {
2625	op := &request.Operation{
2626		Name:       opDisassociateFromAdministratorAccount,
2627		HTTPMethod: "POST",
2628		HTTPPath:   "/administrator/disassociate",
2629	}
2630
2631	if input == nil {
2632		input = &DisassociateFromAdministratorAccountInput{}
2633	}
2634
2635	output = &DisassociateFromAdministratorAccountOutput{}
2636	req = c.newRequest(op, input, output)
2637	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2638	return
2639}
2640
2641// DisassociateFromAdministratorAccount API operation for AWS SecurityHub.
2642//
2643// Disassociates the current Security Hub member account from the associated
2644// administrator account.
2645//
2646// This operation is only used by accounts that are not part of an organization.
2647// For organization accounts, only the administrator account can disassociate
2648// a member account.
2649//
2650// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2651// with awserr.Error's Code and Message methods to get detailed information about
2652// the error.
2653//
2654// See the AWS API reference guide for AWS SecurityHub's
2655// API operation DisassociateFromAdministratorAccount for usage and error information.
2656//
2657// Returned Error Types:
2658//   * InternalException
2659//   Internal server error.
2660//
2661//   * InvalidInputException
2662//   The request was rejected because you supplied an invalid or out-of-range
2663//   value for an input parameter.
2664//
2665//   * InvalidAccessException
2666//   There is an issue with the account used to make the request. Either Security
2667//   Hub is not enabled for the account, or the account does not have permission
2668//   to perform this action.
2669//
2670//   * LimitExceededException
2671//   The request was rejected because it attempted to create resources beyond
2672//   the current Amazon Web Services account or throttling limits. The error code
2673//   describes the limit exceeded.
2674//
2675//   * ResourceNotFoundException
2676//   The request was rejected because we can't find the specified resource.
2677//
2678// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromAdministratorAccount
2679func (c *SecurityHub) DisassociateFromAdministratorAccount(input *DisassociateFromAdministratorAccountInput) (*DisassociateFromAdministratorAccountOutput, error) {
2680	req, out := c.DisassociateFromAdministratorAccountRequest(input)
2681	return out, req.Send()
2682}
2683
2684// DisassociateFromAdministratorAccountWithContext is the same as DisassociateFromAdministratorAccount with the addition of
2685// the ability to pass a context and additional request options.
2686//
2687// See DisassociateFromAdministratorAccount for details on how to use this API operation.
2688//
2689// The context must be non-nil and will be used for request cancellation. If
2690// the context is nil a panic will occur. In the future the SDK may create
2691// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2692// for more information on using Contexts.
2693func (c *SecurityHub) DisassociateFromAdministratorAccountWithContext(ctx aws.Context, input *DisassociateFromAdministratorAccountInput, opts ...request.Option) (*DisassociateFromAdministratorAccountOutput, error) {
2694	req, out := c.DisassociateFromAdministratorAccountRequest(input)
2695	req.SetContext(ctx)
2696	req.ApplyOptions(opts...)
2697	return out, req.Send()
2698}
2699
2700const opDisassociateFromMasterAccount = "DisassociateFromMasterAccount"
2701
2702// DisassociateFromMasterAccountRequest generates a "aws/request.Request" representing the
2703// client's request for the DisassociateFromMasterAccount operation. The "output" return
2704// value will be populated with the request's response once the request completes
2705// successfully.
2706//
2707// Use "Send" method on the returned Request to send the API call to the service.
2708// the "output" return value is not valid until after Send returns without error.
2709//
2710// See DisassociateFromMasterAccount for more information on using the DisassociateFromMasterAccount
2711// API call, and error handling.
2712//
2713// This method is useful when you want to inject custom logic or configuration
2714// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2715//
2716//
2717//    // Example sending a request using the DisassociateFromMasterAccountRequest method.
2718//    req, resp := client.DisassociateFromMasterAccountRequest(params)
2719//
2720//    err := req.Send()
2721//    if err == nil { // resp is now filled
2722//        fmt.Println(resp)
2723//    }
2724//
2725// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromMasterAccount
2726//
2727// Deprecated: This API has been deprecated, use DisassociateFromAdministratorAccount API instead.
2728func (c *SecurityHub) DisassociateFromMasterAccountRequest(input *DisassociateFromMasterAccountInput) (req *request.Request, output *DisassociateFromMasterAccountOutput) {
2729	if c.Client.Config.Logger != nil {
2730		c.Client.Config.Logger.Log("This operation, DisassociateFromMasterAccount, has been deprecated")
2731	}
2732	op := &request.Operation{
2733		Name:       opDisassociateFromMasterAccount,
2734		HTTPMethod: "POST",
2735		HTTPPath:   "/master/disassociate",
2736	}
2737
2738	if input == nil {
2739		input = &DisassociateFromMasterAccountInput{}
2740	}
2741
2742	output = &DisassociateFromMasterAccountOutput{}
2743	req = c.newRequest(op, input, output)
2744	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2745	return
2746}
2747
2748// DisassociateFromMasterAccount API operation for AWS SecurityHub.
2749//
2750// This method is deprecated. Instead, use DisassociateFromAdministratorAccount.
2751//
2752// The Security Hub console continues to use DisassociateFromMasterAccount.
2753// It will eventually change to use DisassociateFromAdministratorAccount. Any
2754// IAM policies that specifically control access to this function must continue
2755// to use DisassociateFromMasterAccount. You should also add DisassociateFromAdministratorAccount
2756// to your policies to ensure that the correct permissions are in place after
2757// the console begins to use DisassociateFromAdministratorAccount.
2758//
2759// Disassociates the current Security Hub member account from the associated
2760// administrator account.
2761//
2762// This operation is only used by accounts that are not part of an organization.
2763// For organization accounts, only the administrator account can disassociate
2764// a member account.
2765//
2766// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2767// with awserr.Error's Code and Message methods to get detailed information about
2768// the error.
2769//
2770// See the AWS API reference guide for AWS SecurityHub's
2771// API operation DisassociateFromMasterAccount for usage and error information.
2772//
2773// Returned Error Types:
2774//   * InternalException
2775//   Internal server error.
2776//
2777//   * InvalidInputException
2778//   The request was rejected because you supplied an invalid or out-of-range
2779//   value for an input parameter.
2780//
2781//   * InvalidAccessException
2782//   There is an issue with the account used to make the request. Either Security
2783//   Hub is not enabled for the account, or the account does not have permission
2784//   to perform this action.
2785//
2786//   * LimitExceededException
2787//   The request was rejected because it attempted to create resources beyond
2788//   the current Amazon Web Services account or throttling limits. The error code
2789//   describes the limit exceeded.
2790//
2791//   * ResourceNotFoundException
2792//   The request was rejected because we can't find the specified resource.
2793//
2794// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromMasterAccount
2795//
2796// Deprecated: This API has been deprecated, use DisassociateFromAdministratorAccount API instead.
2797func (c *SecurityHub) DisassociateFromMasterAccount(input *DisassociateFromMasterAccountInput) (*DisassociateFromMasterAccountOutput, error) {
2798	req, out := c.DisassociateFromMasterAccountRequest(input)
2799	return out, req.Send()
2800}
2801
2802// DisassociateFromMasterAccountWithContext is the same as DisassociateFromMasterAccount with the addition of
2803// the ability to pass a context and additional request options.
2804//
2805// See DisassociateFromMasterAccount for details on how to use this API operation.
2806//
2807// The context must be non-nil and will be used for request cancellation. If
2808// the context is nil a panic will occur. In the future the SDK may create
2809// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2810// for more information on using Contexts.
2811//
2812// Deprecated: This API has been deprecated, use DisassociateFromAdministratorAccount API instead.
2813func (c *SecurityHub) DisassociateFromMasterAccountWithContext(ctx aws.Context, input *DisassociateFromMasterAccountInput, opts ...request.Option) (*DisassociateFromMasterAccountOutput, error) {
2814	req, out := c.DisassociateFromMasterAccountRequest(input)
2815	req.SetContext(ctx)
2816	req.ApplyOptions(opts...)
2817	return out, req.Send()
2818}
2819
2820const opDisassociateMembers = "DisassociateMembers"
2821
2822// DisassociateMembersRequest generates a "aws/request.Request" representing the
2823// client's request for the DisassociateMembers operation. The "output" return
2824// value will be populated with the request's response once the request completes
2825// successfully.
2826//
2827// Use "Send" method on the returned Request to send the API call to the service.
2828// the "output" return value is not valid until after Send returns without error.
2829//
2830// See DisassociateMembers for more information on using the DisassociateMembers
2831// API call, and error handling.
2832//
2833// This method is useful when you want to inject custom logic or configuration
2834// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2835//
2836//
2837//    // Example sending a request using the DisassociateMembersRequest method.
2838//    req, resp := client.DisassociateMembersRequest(params)
2839//
2840//    err := req.Send()
2841//    if err == nil { // resp is now filled
2842//        fmt.Println(resp)
2843//    }
2844//
2845// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateMembers
2846func (c *SecurityHub) DisassociateMembersRequest(input *DisassociateMembersInput) (req *request.Request, output *DisassociateMembersOutput) {
2847	op := &request.Operation{
2848		Name:       opDisassociateMembers,
2849		HTTPMethod: "POST",
2850		HTTPPath:   "/members/disassociate",
2851	}
2852
2853	if input == nil {
2854		input = &DisassociateMembersInput{}
2855	}
2856
2857	output = &DisassociateMembersOutput{}
2858	req = c.newRequest(op, input, output)
2859	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2860	return
2861}
2862
2863// DisassociateMembers API operation for AWS SecurityHub.
2864//
2865// Disassociates the specified member accounts from the associated administrator
2866// account.
2867//
2868// Can be used to disassociate both accounts that are managed using Organizations
2869// and accounts that were invited manually.
2870//
2871// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2872// with awserr.Error's Code and Message methods to get detailed information about
2873// the error.
2874//
2875// See the AWS API reference guide for AWS SecurityHub's
2876// API operation DisassociateMembers for usage and error information.
2877//
2878// Returned Error Types:
2879//   * InternalException
2880//   Internal server error.
2881//
2882//   * InvalidInputException
2883//   The request was rejected because you supplied an invalid or out-of-range
2884//   value for an input parameter.
2885//
2886//   * InvalidAccessException
2887//   There is an issue with the account used to make the request. Either Security
2888//   Hub is not enabled for the account, or the account does not have permission
2889//   to perform this action.
2890//
2891//   * LimitExceededException
2892//   The request was rejected because it attempted to create resources beyond
2893//   the current Amazon Web Services account or throttling limits. The error code
2894//   describes the limit exceeded.
2895//
2896//   * ResourceNotFoundException
2897//   The request was rejected because we can't find the specified resource.
2898//
2899// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateMembers
2900func (c *SecurityHub) DisassociateMembers(input *DisassociateMembersInput) (*DisassociateMembersOutput, error) {
2901	req, out := c.DisassociateMembersRequest(input)
2902	return out, req.Send()
2903}
2904
2905// DisassociateMembersWithContext is the same as DisassociateMembers with the addition of
2906// the ability to pass a context and additional request options.
2907//
2908// See DisassociateMembers for details on how to use this API operation.
2909//
2910// The context must be non-nil and will be used for request cancellation. If
2911// the context is nil a panic will occur. In the future the SDK may create
2912// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2913// for more information on using Contexts.
2914func (c *SecurityHub) DisassociateMembersWithContext(ctx aws.Context, input *DisassociateMembersInput, opts ...request.Option) (*DisassociateMembersOutput, error) {
2915	req, out := c.DisassociateMembersRequest(input)
2916	req.SetContext(ctx)
2917	req.ApplyOptions(opts...)
2918	return out, req.Send()
2919}
2920
2921const opEnableImportFindingsForProduct = "EnableImportFindingsForProduct"
2922
2923// EnableImportFindingsForProductRequest generates a "aws/request.Request" representing the
2924// client's request for the EnableImportFindingsForProduct operation. The "output" return
2925// value will be populated with the request's response once the request completes
2926// successfully.
2927//
2928// Use "Send" method on the returned Request to send the API call to the service.
2929// the "output" return value is not valid until after Send returns without error.
2930//
2931// See EnableImportFindingsForProduct for more information on using the EnableImportFindingsForProduct
2932// API call, and error handling.
2933//
2934// This method is useful when you want to inject custom logic or configuration
2935// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2936//
2937//
2938//    // Example sending a request using the EnableImportFindingsForProductRequest method.
2939//    req, resp := client.EnableImportFindingsForProductRequest(params)
2940//
2941//    err := req.Send()
2942//    if err == nil { // resp is now filled
2943//        fmt.Println(resp)
2944//    }
2945//
2946// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableImportFindingsForProduct
2947func (c *SecurityHub) EnableImportFindingsForProductRequest(input *EnableImportFindingsForProductInput) (req *request.Request, output *EnableImportFindingsForProductOutput) {
2948	op := &request.Operation{
2949		Name:       opEnableImportFindingsForProduct,
2950		HTTPMethod: "POST",
2951		HTTPPath:   "/productSubscriptions",
2952	}
2953
2954	if input == nil {
2955		input = &EnableImportFindingsForProductInput{}
2956	}
2957
2958	output = &EnableImportFindingsForProductOutput{}
2959	req = c.newRequest(op, input, output)
2960	return
2961}
2962
2963// EnableImportFindingsForProduct API operation for AWS SecurityHub.
2964//
2965// Enables the integration of a partner product with Security Hub. Integrated
2966// products send findings to Security Hub.
2967//
2968// When you enable a product integration, a permissions policy that grants permission
2969// for the product to send findings to Security Hub is applied.
2970//
2971// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2972// with awserr.Error's Code and Message methods to get detailed information about
2973// the error.
2974//
2975// See the AWS API reference guide for AWS SecurityHub's
2976// API operation EnableImportFindingsForProduct for usage and error information.
2977//
2978// Returned Error Types:
2979//   * InternalException
2980//   Internal server error.
2981//
2982//   * InvalidInputException
2983//   The request was rejected because you supplied an invalid or out-of-range
2984//   value for an input parameter.
2985//
2986//   * InvalidAccessException
2987//   There is an issue with the account used to make the request. Either Security
2988//   Hub is not enabled for the account, or the account does not have permission
2989//   to perform this action.
2990//
2991//   * ResourceConflictException
2992//   The resource specified in the request conflicts with an existing resource.
2993//
2994//   * LimitExceededException
2995//   The request was rejected because it attempted to create resources beyond
2996//   the current Amazon Web Services account or throttling limits. The error code
2997//   describes the limit exceeded.
2998//
2999// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableImportFindingsForProduct
3000func (c *SecurityHub) EnableImportFindingsForProduct(input *EnableImportFindingsForProductInput) (*EnableImportFindingsForProductOutput, error) {
3001	req, out := c.EnableImportFindingsForProductRequest(input)
3002	return out, req.Send()
3003}
3004
3005// EnableImportFindingsForProductWithContext is the same as EnableImportFindingsForProduct with the addition of
3006// the ability to pass a context and additional request options.
3007//
3008// See EnableImportFindingsForProduct for details on how to use this API operation.
3009//
3010// The context must be non-nil and will be used for request cancellation. If
3011// the context is nil a panic will occur. In the future the SDK may create
3012// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3013// for more information on using Contexts.
3014func (c *SecurityHub) EnableImportFindingsForProductWithContext(ctx aws.Context, input *EnableImportFindingsForProductInput, opts ...request.Option) (*EnableImportFindingsForProductOutput, error) {
3015	req, out := c.EnableImportFindingsForProductRequest(input)
3016	req.SetContext(ctx)
3017	req.ApplyOptions(opts...)
3018	return out, req.Send()
3019}
3020
3021const opEnableOrganizationAdminAccount = "EnableOrganizationAdminAccount"
3022
3023// EnableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
3024// client's request for the EnableOrganizationAdminAccount operation. The "output" return
3025// value will be populated with the request's response once the request completes
3026// successfully.
3027//
3028// Use "Send" method on the returned Request to send the API call to the service.
3029// the "output" return value is not valid until after Send returns without error.
3030//
3031// See EnableOrganizationAdminAccount for more information on using the EnableOrganizationAdminAccount
3032// API call, and error handling.
3033//
3034// This method is useful when you want to inject custom logic or configuration
3035// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3036//
3037//
3038//    // Example sending a request using the EnableOrganizationAdminAccountRequest method.
3039//    req, resp := client.EnableOrganizationAdminAccountRequest(params)
3040//
3041//    err := req.Send()
3042//    if err == nil { // resp is now filled
3043//        fmt.Println(resp)
3044//    }
3045//
3046// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableOrganizationAdminAccount
3047func (c *SecurityHub) EnableOrganizationAdminAccountRequest(input *EnableOrganizationAdminAccountInput) (req *request.Request, output *EnableOrganizationAdminAccountOutput) {
3048	op := &request.Operation{
3049		Name:       opEnableOrganizationAdminAccount,
3050		HTTPMethod: "POST",
3051		HTTPPath:   "/organization/admin/enable",
3052	}
3053
3054	if input == nil {
3055		input = &EnableOrganizationAdminAccountInput{}
3056	}
3057
3058	output = &EnableOrganizationAdminAccountOutput{}
3059	req = c.newRequest(op, input, output)
3060	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3061	return
3062}
3063
3064// EnableOrganizationAdminAccount API operation for AWS SecurityHub.
3065//
3066// Designates the Security Hub administrator account for an organization. Can
3067// only be called by the organization management account.
3068//
3069// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3070// with awserr.Error's Code and Message methods to get detailed information about
3071// the error.
3072//
3073// See the AWS API reference guide for AWS SecurityHub's
3074// API operation EnableOrganizationAdminAccount for usage and error information.
3075//
3076// Returned Error Types:
3077//   * InternalException
3078//   Internal server error.
3079//
3080//   * InvalidInputException
3081//   The request was rejected because you supplied an invalid or out-of-range
3082//   value for an input parameter.
3083//
3084//   * InvalidAccessException
3085//   There is an issue with the account used to make the request. Either Security
3086//   Hub is not enabled for the account, or the account does not have permission
3087//   to perform this action.
3088//
3089//   * LimitExceededException
3090//   The request was rejected because it attempted to create resources beyond
3091//   the current Amazon Web Services account or throttling limits. The error code
3092//   describes the limit exceeded.
3093//
3094// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableOrganizationAdminAccount
3095func (c *SecurityHub) EnableOrganizationAdminAccount(input *EnableOrganizationAdminAccountInput) (*EnableOrganizationAdminAccountOutput, error) {
3096	req, out := c.EnableOrganizationAdminAccountRequest(input)
3097	return out, req.Send()
3098}
3099
3100// EnableOrganizationAdminAccountWithContext is the same as EnableOrganizationAdminAccount with the addition of
3101// the ability to pass a context and additional request options.
3102//
3103// See EnableOrganizationAdminAccount for details on how to use this API operation.
3104//
3105// The context must be non-nil and will be used for request cancellation. If
3106// the context is nil a panic will occur. In the future the SDK may create
3107// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3108// for more information on using Contexts.
3109func (c *SecurityHub) EnableOrganizationAdminAccountWithContext(ctx aws.Context, input *EnableOrganizationAdminAccountInput, opts ...request.Option) (*EnableOrganizationAdminAccountOutput, error) {
3110	req, out := c.EnableOrganizationAdminAccountRequest(input)
3111	req.SetContext(ctx)
3112	req.ApplyOptions(opts...)
3113	return out, req.Send()
3114}
3115
3116const opEnableSecurityHub = "EnableSecurityHub"
3117
3118// EnableSecurityHubRequest generates a "aws/request.Request" representing the
3119// client's request for the EnableSecurityHub operation. The "output" return
3120// value will be populated with the request's response once the request completes
3121// successfully.
3122//
3123// Use "Send" method on the returned Request to send the API call to the service.
3124// the "output" return value is not valid until after Send returns without error.
3125//
3126// See EnableSecurityHub for more information on using the EnableSecurityHub
3127// API call, and error handling.
3128//
3129// This method is useful when you want to inject custom logic or configuration
3130// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3131//
3132//
3133//    // Example sending a request using the EnableSecurityHubRequest method.
3134//    req, resp := client.EnableSecurityHubRequest(params)
3135//
3136//    err := req.Send()
3137//    if err == nil { // resp is now filled
3138//        fmt.Println(resp)
3139//    }
3140//
3141// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableSecurityHub
3142func (c *SecurityHub) EnableSecurityHubRequest(input *EnableSecurityHubInput) (req *request.Request, output *EnableSecurityHubOutput) {
3143	op := &request.Operation{
3144		Name:       opEnableSecurityHub,
3145		HTTPMethod: "POST",
3146		HTTPPath:   "/accounts",
3147	}
3148
3149	if input == nil {
3150		input = &EnableSecurityHubInput{}
3151	}
3152
3153	output = &EnableSecurityHubOutput{}
3154	req = c.newRequest(op, input, output)
3155	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3156	return
3157}
3158
3159// EnableSecurityHub API operation for AWS SecurityHub.
3160//
3161// Enables Security Hub for your account in the current Region or the Region
3162// you specify in the request.
3163//
3164// When you enable Security Hub, you grant to Security Hub the permissions necessary
3165// to gather findings from other services that are integrated with Security
3166// Hub.
3167//
3168// When you use the EnableSecurityHub operation to enable Security Hub, you
3169// also automatically enable the following standards.
3170//
3171//    * CIS Amazon Web Services Foundations
3172//
3173//    * Amazon Web Services Foundational Security Best Practices
3174//
3175// You do not enable the Payment Card Industry Data Security Standard (PCI DSS)
3176// standard.
3177//
3178// To not enable the automatically enabled standards, set EnableDefaultStandards
3179// to false.
3180//
3181// After you enable Security Hub, to enable a standard, use the BatchEnableStandards
3182// operation. To disable a standard, use the BatchDisableStandards operation.
3183//
3184// To learn more, see the setup information (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-settingup.html)
3185// in the Security Hub User Guide.
3186//
3187// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3188// with awserr.Error's Code and Message methods to get detailed information about
3189// the error.
3190//
3191// See the AWS API reference guide for AWS SecurityHub's
3192// API operation EnableSecurityHub for usage and error information.
3193//
3194// Returned Error Types:
3195//   * InternalException
3196//   Internal server error.
3197//
3198//   * LimitExceededException
3199//   The request was rejected because it attempted to create resources beyond
3200//   the current Amazon Web Services account or throttling limits. The error code
3201//   describes the limit exceeded.
3202//
3203//   * InvalidAccessException
3204//   There is an issue with the account used to make the request. Either Security
3205//   Hub is not enabled for the account, or the account does not have permission
3206//   to perform this action.
3207//
3208//   * ResourceConflictException
3209//   The resource specified in the request conflicts with an existing resource.
3210//
3211//   * AccessDeniedException
3212//   You don't have permission to perform the action specified in the request.
3213//
3214// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableSecurityHub
3215func (c *SecurityHub) EnableSecurityHub(input *EnableSecurityHubInput) (*EnableSecurityHubOutput, error) {
3216	req, out := c.EnableSecurityHubRequest(input)
3217	return out, req.Send()
3218}
3219
3220// EnableSecurityHubWithContext is the same as EnableSecurityHub with the addition of
3221// the ability to pass a context and additional request options.
3222//
3223// See EnableSecurityHub for details on how to use this API operation.
3224//
3225// The context must be non-nil and will be used for request cancellation. If
3226// the context is nil a panic will occur. In the future the SDK may create
3227// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3228// for more information on using Contexts.
3229func (c *SecurityHub) EnableSecurityHubWithContext(ctx aws.Context, input *EnableSecurityHubInput, opts ...request.Option) (*EnableSecurityHubOutput, error) {
3230	req, out := c.EnableSecurityHubRequest(input)
3231	req.SetContext(ctx)
3232	req.ApplyOptions(opts...)
3233	return out, req.Send()
3234}
3235
3236const opGetAdministratorAccount = "GetAdministratorAccount"
3237
3238// GetAdministratorAccountRequest generates a "aws/request.Request" representing the
3239// client's request for the GetAdministratorAccount operation. The "output" return
3240// value will be populated with the request's response once the request completes
3241// successfully.
3242//
3243// Use "Send" method on the returned Request to send the API call to the service.
3244// the "output" return value is not valid until after Send returns without error.
3245//
3246// See GetAdministratorAccount for more information on using the GetAdministratorAccount
3247// API call, and error handling.
3248//
3249// This method is useful when you want to inject custom logic or configuration
3250// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3251//
3252//
3253//    // Example sending a request using the GetAdministratorAccountRequest method.
3254//    req, resp := client.GetAdministratorAccountRequest(params)
3255//
3256//    err := req.Send()
3257//    if err == nil { // resp is now filled
3258//        fmt.Println(resp)
3259//    }
3260//
3261// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetAdministratorAccount
3262func (c *SecurityHub) GetAdministratorAccountRequest(input *GetAdministratorAccountInput) (req *request.Request, output *GetAdministratorAccountOutput) {
3263	op := &request.Operation{
3264		Name:       opGetAdministratorAccount,
3265		HTTPMethod: "GET",
3266		HTTPPath:   "/administrator",
3267	}
3268
3269	if input == nil {
3270		input = &GetAdministratorAccountInput{}
3271	}
3272
3273	output = &GetAdministratorAccountOutput{}
3274	req = c.newRequest(op, input, output)
3275	return
3276}
3277
3278// GetAdministratorAccount API operation for AWS SecurityHub.
3279//
3280// Provides the details for the Security Hub administrator account for the current
3281// member account.
3282//
3283// Can be used by both member accounts that are managed using Organizations
3284// and accounts that were invited manually.
3285//
3286// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3287// with awserr.Error's Code and Message methods to get detailed information about
3288// the error.
3289//
3290// See the AWS API reference guide for AWS SecurityHub's
3291// API operation GetAdministratorAccount for usage and error information.
3292//
3293// Returned Error Types:
3294//   * InternalException
3295//   Internal server error.
3296//
3297//   * InvalidInputException
3298//   The request was rejected because you supplied an invalid or out-of-range
3299//   value for an input parameter.
3300//
3301//   * InvalidAccessException
3302//   There is an issue with the account used to make the request. Either Security
3303//   Hub is not enabled for the account, or the account does not have permission
3304//   to perform this action.
3305//
3306//   * LimitExceededException
3307//   The request was rejected because it attempted to create resources beyond
3308//   the current Amazon Web Services account or throttling limits. The error code
3309//   describes the limit exceeded.
3310//
3311//   * ResourceNotFoundException
3312//   The request was rejected because we can't find the specified resource.
3313//
3314// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetAdministratorAccount
3315func (c *SecurityHub) GetAdministratorAccount(input *GetAdministratorAccountInput) (*GetAdministratorAccountOutput, error) {
3316	req, out := c.GetAdministratorAccountRequest(input)
3317	return out, req.Send()
3318}
3319
3320// GetAdministratorAccountWithContext is the same as GetAdministratorAccount with the addition of
3321// the ability to pass a context and additional request options.
3322//
3323// See GetAdministratorAccount for details on how to use this API operation.
3324//
3325// The context must be non-nil and will be used for request cancellation. If
3326// the context is nil a panic will occur. In the future the SDK may create
3327// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3328// for more information on using Contexts.
3329func (c *SecurityHub) GetAdministratorAccountWithContext(ctx aws.Context, input *GetAdministratorAccountInput, opts ...request.Option) (*GetAdministratorAccountOutput, error) {
3330	req, out := c.GetAdministratorAccountRequest(input)
3331	req.SetContext(ctx)
3332	req.ApplyOptions(opts...)
3333	return out, req.Send()
3334}
3335
3336const opGetEnabledStandards = "GetEnabledStandards"
3337
3338// GetEnabledStandardsRequest generates a "aws/request.Request" representing the
3339// client's request for the GetEnabledStandards operation. The "output" return
3340// value will be populated with the request's response once the request completes
3341// successfully.
3342//
3343// Use "Send" method on the returned Request to send the API call to the service.
3344// the "output" return value is not valid until after Send returns without error.
3345//
3346// See GetEnabledStandards for more information on using the GetEnabledStandards
3347// API call, and error handling.
3348//
3349// This method is useful when you want to inject custom logic or configuration
3350// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3351//
3352//
3353//    // Example sending a request using the GetEnabledStandardsRequest method.
3354//    req, resp := client.GetEnabledStandardsRequest(params)
3355//
3356//    err := req.Send()
3357//    if err == nil { // resp is now filled
3358//        fmt.Println(resp)
3359//    }
3360//
3361// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetEnabledStandards
3362func (c *SecurityHub) GetEnabledStandardsRequest(input *GetEnabledStandardsInput) (req *request.Request, output *GetEnabledStandardsOutput) {
3363	op := &request.Operation{
3364		Name:       opGetEnabledStandards,
3365		HTTPMethod: "POST",
3366		HTTPPath:   "/standards/get",
3367		Paginator: &request.Paginator{
3368			InputTokens:     []string{"NextToken"},
3369			OutputTokens:    []string{"NextToken"},
3370			LimitToken:      "MaxResults",
3371			TruncationToken: "",
3372		},
3373	}
3374
3375	if input == nil {
3376		input = &GetEnabledStandardsInput{}
3377	}
3378
3379	output = &GetEnabledStandardsOutput{}
3380	req = c.newRequest(op, input, output)
3381	return
3382}
3383
3384// GetEnabledStandards API operation for AWS SecurityHub.
3385//
3386// Returns a list of the standards that are currently enabled.
3387//
3388// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3389// with awserr.Error's Code and Message methods to get detailed information about
3390// the error.
3391//
3392// See the AWS API reference guide for AWS SecurityHub's
3393// API operation GetEnabledStandards for usage and error information.
3394//
3395// Returned Error Types:
3396//   * InternalException
3397//   Internal server error.
3398//
3399//   * InvalidInputException
3400//   The request was rejected because you supplied an invalid or out-of-range
3401//   value for an input parameter.
3402//
3403//   * InvalidAccessException
3404//   There is an issue with the account used to make the request. Either Security
3405//   Hub is not enabled for the account, or the account does not have permission
3406//   to perform this action.
3407//
3408//   * LimitExceededException
3409//   The request was rejected because it attempted to create resources beyond
3410//   the current Amazon Web Services account or throttling limits. The error code
3411//   describes the limit exceeded.
3412//
3413// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetEnabledStandards
3414func (c *SecurityHub) GetEnabledStandards(input *GetEnabledStandardsInput) (*GetEnabledStandardsOutput, error) {
3415	req, out := c.GetEnabledStandardsRequest(input)
3416	return out, req.Send()
3417}
3418
3419// GetEnabledStandardsWithContext is the same as GetEnabledStandards with the addition of
3420// the ability to pass a context and additional request options.
3421//
3422// See GetEnabledStandards for details on how to use this API operation.
3423//
3424// The context must be non-nil and will be used for request cancellation. If
3425// the context is nil a panic will occur. In the future the SDK may create
3426// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3427// for more information on using Contexts.
3428func (c *SecurityHub) GetEnabledStandardsWithContext(ctx aws.Context, input *GetEnabledStandardsInput, opts ...request.Option) (*GetEnabledStandardsOutput, error) {
3429	req, out := c.GetEnabledStandardsRequest(input)
3430	req.SetContext(ctx)
3431	req.ApplyOptions(opts...)
3432	return out, req.Send()
3433}
3434
3435// GetEnabledStandardsPages iterates over the pages of a GetEnabledStandards operation,
3436// calling the "fn" function with the response data for each page. To stop
3437// iterating, return false from the fn function.
3438//
3439// See GetEnabledStandards method for more information on how to use this operation.
3440//
3441// Note: This operation can generate multiple requests to a service.
3442//
3443//    // Example iterating over at most 3 pages of a GetEnabledStandards operation.
3444//    pageNum := 0
3445//    err := client.GetEnabledStandardsPages(params,
3446//        func(page *securityhub.GetEnabledStandardsOutput, lastPage bool) bool {
3447//            pageNum++
3448//            fmt.Println(page)
3449//            return pageNum <= 3
3450//        })
3451//
3452func (c *SecurityHub) GetEnabledStandardsPages(input *GetEnabledStandardsInput, fn func(*GetEnabledStandardsOutput, bool) bool) error {
3453	return c.GetEnabledStandardsPagesWithContext(aws.BackgroundContext(), input, fn)
3454}
3455
3456// GetEnabledStandardsPagesWithContext same as GetEnabledStandardsPages except
3457// it takes a Context and allows setting request options on the pages.
3458//
3459// The context must be non-nil and will be used for request cancellation. If
3460// the context is nil a panic will occur. In the future the SDK may create
3461// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3462// for more information on using Contexts.
3463func (c *SecurityHub) GetEnabledStandardsPagesWithContext(ctx aws.Context, input *GetEnabledStandardsInput, fn func(*GetEnabledStandardsOutput, bool) bool, opts ...request.Option) error {
3464	p := request.Pagination{
3465		NewRequest: func() (*request.Request, error) {
3466			var inCpy *GetEnabledStandardsInput
3467			if input != nil {
3468				tmp := *input
3469				inCpy = &tmp
3470			}
3471			req, _ := c.GetEnabledStandardsRequest(inCpy)
3472			req.SetContext(ctx)
3473			req.ApplyOptions(opts...)
3474			return req, nil
3475		},
3476	}
3477
3478	for p.Next() {
3479		if !fn(p.Page().(*GetEnabledStandardsOutput), !p.HasNextPage()) {
3480			break
3481		}
3482	}
3483
3484	return p.Err()
3485}
3486
3487const opGetFindings = "GetFindings"
3488
3489// GetFindingsRequest generates a "aws/request.Request" representing the
3490// client's request for the GetFindings operation. The "output" return
3491// value will be populated with the request's response once the request completes
3492// successfully.
3493//
3494// Use "Send" method on the returned Request to send the API call to the service.
3495// the "output" return value is not valid until after Send returns without error.
3496//
3497// See GetFindings for more information on using the GetFindings
3498// API call, and error handling.
3499//
3500// This method is useful when you want to inject custom logic or configuration
3501// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3502//
3503//
3504//    // Example sending a request using the GetFindingsRequest method.
3505//    req, resp := client.GetFindingsRequest(params)
3506//
3507//    err := req.Send()
3508//    if err == nil { // resp is now filled
3509//        fmt.Println(resp)
3510//    }
3511//
3512// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindings
3513func (c *SecurityHub) GetFindingsRequest(input *GetFindingsInput) (req *request.Request, output *GetFindingsOutput) {
3514	op := &request.Operation{
3515		Name:       opGetFindings,
3516		HTTPMethod: "POST",
3517		HTTPPath:   "/findings",
3518		Paginator: &request.Paginator{
3519			InputTokens:     []string{"NextToken"},
3520			OutputTokens:    []string{"NextToken"},
3521			LimitToken:      "MaxResults",
3522			TruncationToken: "",
3523		},
3524	}
3525
3526	if input == nil {
3527		input = &GetFindingsInput{}
3528	}
3529
3530	output = &GetFindingsOutput{}
3531	req = c.newRequest(op, input, output)
3532	return
3533}
3534
3535// GetFindings API operation for AWS SecurityHub.
3536//
3537// Returns a list of findings that match the specified criteria.
3538//
3539// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3540// with awserr.Error's Code and Message methods to get detailed information about
3541// the error.
3542//
3543// See the AWS API reference guide for AWS SecurityHub's
3544// API operation GetFindings for usage and error information.
3545//
3546// Returned Error Types:
3547//   * InternalException
3548//   Internal server error.
3549//
3550//   * InvalidInputException
3551//   The request was rejected because you supplied an invalid or out-of-range
3552//   value for an input parameter.
3553//
3554//   * InvalidAccessException
3555//   There is an issue with the account used to make the request. Either Security
3556//   Hub is not enabled for the account, or the account does not have permission
3557//   to perform this action.
3558//
3559//   * LimitExceededException
3560//   The request was rejected because it attempted to create resources beyond
3561//   the current Amazon Web Services account or throttling limits. The error code
3562//   describes the limit exceeded.
3563//
3564// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindings
3565func (c *SecurityHub) GetFindings(input *GetFindingsInput) (*GetFindingsOutput, error) {
3566	req, out := c.GetFindingsRequest(input)
3567	return out, req.Send()
3568}
3569
3570// GetFindingsWithContext is the same as GetFindings with the addition of
3571// the ability to pass a context and additional request options.
3572//
3573// See GetFindings for details on how to use this API operation.
3574//
3575// The context must be non-nil and will be used for request cancellation. If
3576// the context is nil a panic will occur. In the future the SDK may create
3577// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3578// for more information on using Contexts.
3579func (c *SecurityHub) GetFindingsWithContext(ctx aws.Context, input *GetFindingsInput, opts ...request.Option) (*GetFindingsOutput, error) {
3580	req, out := c.GetFindingsRequest(input)
3581	req.SetContext(ctx)
3582	req.ApplyOptions(opts...)
3583	return out, req.Send()
3584}
3585
3586// GetFindingsPages iterates over the pages of a GetFindings operation,
3587// calling the "fn" function with the response data for each page. To stop
3588// iterating, return false from the fn function.
3589//
3590// See GetFindings method for more information on how to use this operation.
3591//
3592// Note: This operation can generate multiple requests to a service.
3593//
3594//    // Example iterating over at most 3 pages of a GetFindings operation.
3595//    pageNum := 0
3596//    err := client.GetFindingsPages(params,
3597//        func(page *securityhub.GetFindingsOutput, lastPage bool) bool {
3598//            pageNum++
3599//            fmt.Println(page)
3600//            return pageNum <= 3
3601//        })
3602//
3603func (c *SecurityHub) GetFindingsPages(input *GetFindingsInput, fn func(*GetFindingsOutput, bool) bool) error {
3604	return c.GetFindingsPagesWithContext(aws.BackgroundContext(), input, fn)
3605}
3606
3607// GetFindingsPagesWithContext same as GetFindingsPages except
3608// it takes a Context and allows setting request options on the pages.
3609//
3610// The context must be non-nil and will be used for request cancellation. If
3611// the context is nil a panic will occur. In the future the SDK may create
3612// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3613// for more information on using Contexts.
3614func (c *SecurityHub) GetFindingsPagesWithContext(ctx aws.Context, input *GetFindingsInput, fn func(*GetFindingsOutput, bool) bool, opts ...request.Option) error {
3615	p := request.Pagination{
3616		NewRequest: func() (*request.Request, error) {
3617			var inCpy *GetFindingsInput
3618			if input != nil {
3619				tmp := *input
3620				inCpy = &tmp
3621			}
3622			req, _ := c.GetFindingsRequest(inCpy)
3623			req.SetContext(ctx)
3624			req.ApplyOptions(opts...)
3625			return req, nil
3626		},
3627	}
3628
3629	for p.Next() {
3630		if !fn(p.Page().(*GetFindingsOutput), !p.HasNextPage()) {
3631			break
3632		}
3633	}
3634
3635	return p.Err()
3636}
3637
3638const opGetInsightResults = "GetInsightResults"
3639
3640// GetInsightResultsRequest generates a "aws/request.Request" representing the
3641// client's request for the GetInsightResults operation. The "output" return
3642// value will be populated with the request's response once the request completes
3643// successfully.
3644//
3645// Use "Send" method on the returned Request to send the API call to the service.
3646// the "output" return value is not valid until after Send returns without error.
3647//
3648// See GetInsightResults for more information on using the GetInsightResults
3649// API call, and error handling.
3650//
3651// This method is useful when you want to inject custom logic or configuration
3652// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3653//
3654//
3655//    // Example sending a request using the GetInsightResultsRequest method.
3656//    req, resp := client.GetInsightResultsRequest(params)
3657//
3658//    err := req.Send()
3659//    if err == nil { // resp is now filled
3660//        fmt.Println(resp)
3661//    }
3662//
3663// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsightResults
3664func (c *SecurityHub) GetInsightResultsRequest(input *GetInsightResultsInput) (req *request.Request, output *GetInsightResultsOutput) {
3665	op := &request.Operation{
3666		Name:       opGetInsightResults,
3667		HTTPMethod: "GET",
3668		HTTPPath:   "/insights/results/{InsightArn+}",
3669	}
3670
3671	if input == nil {
3672		input = &GetInsightResultsInput{}
3673	}
3674
3675	output = &GetInsightResultsOutput{}
3676	req = c.newRequest(op, input, output)
3677	return
3678}
3679
3680// GetInsightResults API operation for AWS SecurityHub.
3681//
3682// Lists the results of the Security Hub insight specified by the insight ARN.
3683//
3684// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3685// with awserr.Error's Code and Message methods to get detailed information about
3686// the error.
3687//
3688// See the AWS API reference guide for AWS SecurityHub's
3689// API operation GetInsightResults for usage and error information.
3690//
3691// Returned Error Types:
3692//   * InternalException
3693//   Internal server error.
3694//
3695//   * InvalidInputException
3696//   The request was rejected because you supplied an invalid or out-of-range
3697//   value for an input parameter.
3698//
3699//   * InvalidAccessException
3700//   There is an issue with the account used to make the request. Either Security
3701//   Hub is not enabled for the account, or the account does not have permission
3702//   to perform this action.
3703//
3704//   * LimitExceededException
3705//   The request was rejected because it attempted to create resources beyond
3706//   the current Amazon Web Services account or throttling limits. The error code
3707//   describes the limit exceeded.
3708//
3709//   * ResourceNotFoundException
3710//   The request was rejected because we can't find the specified resource.
3711//
3712// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsightResults
3713func (c *SecurityHub) GetInsightResults(input *GetInsightResultsInput) (*GetInsightResultsOutput, error) {
3714	req, out := c.GetInsightResultsRequest(input)
3715	return out, req.Send()
3716}
3717
3718// GetInsightResultsWithContext is the same as GetInsightResults with the addition of
3719// the ability to pass a context and additional request options.
3720//
3721// See GetInsightResults for details on how to use this API operation.
3722//
3723// The context must be non-nil and will be used for request cancellation. If
3724// the context is nil a panic will occur. In the future the SDK may create
3725// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3726// for more information on using Contexts.
3727func (c *SecurityHub) GetInsightResultsWithContext(ctx aws.Context, input *GetInsightResultsInput, opts ...request.Option) (*GetInsightResultsOutput, error) {
3728	req, out := c.GetInsightResultsRequest(input)
3729	req.SetContext(ctx)
3730	req.ApplyOptions(opts...)
3731	return out, req.Send()
3732}
3733
3734const opGetInsights = "GetInsights"
3735
3736// GetInsightsRequest generates a "aws/request.Request" representing the
3737// client's request for the GetInsights operation. The "output" return
3738// value will be populated with the request's response once the request completes
3739// successfully.
3740//
3741// Use "Send" method on the returned Request to send the API call to the service.
3742// the "output" return value is not valid until after Send returns without error.
3743//
3744// See GetInsights for more information on using the GetInsights
3745// API call, and error handling.
3746//
3747// This method is useful when you want to inject custom logic or configuration
3748// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3749//
3750//
3751//    // Example sending a request using the GetInsightsRequest method.
3752//    req, resp := client.GetInsightsRequest(params)
3753//
3754//    err := req.Send()
3755//    if err == nil { // resp is now filled
3756//        fmt.Println(resp)
3757//    }
3758//
3759// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsights
3760func (c *SecurityHub) GetInsightsRequest(input *GetInsightsInput) (req *request.Request, output *GetInsightsOutput) {
3761	op := &request.Operation{
3762		Name:       opGetInsights,
3763		HTTPMethod: "POST",
3764		HTTPPath:   "/insights/get",
3765		Paginator: &request.Paginator{
3766			InputTokens:     []string{"NextToken"},
3767			OutputTokens:    []string{"NextToken"},
3768			LimitToken:      "MaxResults",
3769			TruncationToken: "",
3770		},
3771	}
3772
3773	if input == nil {
3774		input = &GetInsightsInput{}
3775	}
3776
3777	output = &GetInsightsOutput{}
3778	req = c.newRequest(op, input, output)
3779	return
3780}
3781
3782// GetInsights API operation for AWS SecurityHub.
3783//
3784// Lists and describes insights for the specified insight ARNs.
3785//
3786// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3787// with awserr.Error's Code and Message methods to get detailed information about
3788// the error.
3789//
3790// See the AWS API reference guide for AWS SecurityHub's
3791// API operation GetInsights for usage and error information.
3792//
3793// Returned Error Types:
3794//   * InternalException
3795//   Internal server error.
3796//
3797//   * InvalidInputException
3798//   The request was rejected because you supplied an invalid or out-of-range
3799//   value for an input parameter.
3800//
3801//   * InvalidAccessException
3802//   There is an issue with the account used to make the request. Either Security
3803//   Hub is not enabled for the account, or the account does not have permission
3804//   to perform this action.
3805//
3806//   * LimitExceededException
3807//   The request was rejected because it attempted to create resources beyond
3808//   the current Amazon Web Services account or throttling limits. The error code
3809//   describes the limit exceeded.
3810//
3811//   * ResourceNotFoundException
3812//   The request was rejected because we can't find the specified resource.
3813//
3814// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsights
3815func (c *SecurityHub) GetInsights(input *GetInsightsInput) (*GetInsightsOutput, error) {
3816	req, out := c.GetInsightsRequest(input)
3817	return out, req.Send()
3818}
3819
3820// GetInsightsWithContext is the same as GetInsights with the addition of
3821// the ability to pass a context and additional request options.
3822//
3823// See GetInsights for details on how to use this API operation.
3824//
3825// The context must be non-nil and will be used for request cancellation. If
3826// the context is nil a panic will occur. In the future the SDK may create
3827// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3828// for more information on using Contexts.
3829func (c *SecurityHub) GetInsightsWithContext(ctx aws.Context, input *GetInsightsInput, opts ...request.Option) (*GetInsightsOutput, error) {
3830	req, out := c.GetInsightsRequest(input)
3831	req.SetContext(ctx)
3832	req.ApplyOptions(opts...)
3833	return out, req.Send()
3834}
3835
3836// GetInsightsPages iterates over the pages of a GetInsights operation,
3837// calling the "fn" function with the response data for each page. To stop
3838// iterating, return false from the fn function.
3839//
3840// See GetInsights method for more information on how to use this operation.
3841//
3842// Note: This operation can generate multiple requests to a service.
3843//
3844//    // Example iterating over at most 3 pages of a GetInsights operation.
3845//    pageNum := 0
3846//    err := client.GetInsightsPages(params,
3847//        func(page *securityhub.GetInsightsOutput, lastPage bool) bool {
3848//            pageNum++
3849//            fmt.Println(page)
3850//            return pageNum <= 3
3851//        })
3852//
3853func (c *SecurityHub) GetInsightsPages(input *GetInsightsInput, fn func(*GetInsightsOutput, bool) bool) error {
3854	return c.GetInsightsPagesWithContext(aws.BackgroundContext(), input, fn)
3855}
3856
3857// GetInsightsPagesWithContext same as GetInsightsPages except
3858// it takes a Context and allows setting request options on the pages.
3859//
3860// The context must be non-nil and will be used for request cancellation. If
3861// the context is nil a panic will occur. In the future the SDK may create
3862// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3863// for more information on using Contexts.
3864func (c *SecurityHub) GetInsightsPagesWithContext(ctx aws.Context, input *GetInsightsInput, fn func(*GetInsightsOutput, bool) bool, opts ...request.Option) error {
3865	p := request.Pagination{
3866		NewRequest: func() (*request.Request, error) {
3867			var inCpy *GetInsightsInput
3868			if input != nil {
3869				tmp := *input
3870				inCpy = &tmp
3871			}
3872			req, _ := c.GetInsightsRequest(inCpy)
3873			req.SetContext(ctx)
3874			req.ApplyOptions(opts...)
3875			return req, nil
3876		},
3877	}
3878
3879	for p.Next() {
3880		if !fn(p.Page().(*GetInsightsOutput), !p.HasNextPage()) {
3881			break
3882		}
3883	}
3884
3885	return p.Err()
3886}
3887
3888const opGetInvitationsCount = "GetInvitationsCount"
3889
3890// GetInvitationsCountRequest generates a "aws/request.Request" representing the
3891// client's request for the GetInvitationsCount operation. The "output" return
3892// value will be populated with the request's response once the request completes
3893// successfully.
3894//
3895// Use "Send" method on the returned Request to send the API call to the service.
3896// the "output" return value is not valid until after Send returns without error.
3897//
3898// See GetInvitationsCount for more information on using the GetInvitationsCount
3899// API call, and error handling.
3900//
3901// This method is useful when you want to inject custom logic or configuration
3902// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3903//
3904//
3905//    // Example sending a request using the GetInvitationsCountRequest method.
3906//    req, resp := client.GetInvitationsCountRequest(params)
3907//
3908//    err := req.Send()
3909//    if err == nil { // resp is now filled
3910//        fmt.Println(resp)
3911//    }
3912//
3913// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInvitationsCount
3914func (c *SecurityHub) GetInvitationsCountRequest(input *GetInvitationsCountInput) (req *request.Request, output *GetInvitationsCountOutput) {
3915	op := &request.Operation{
3916		Name:       opGetInvitationsCount,
3917		HTTPMethod: "GET",
3918		HTTPPath:   "/invitations/count",
3919	}
3920
3921	if input == nil {
3922		input = &GetInvitationsCountInput{}
3923	}
3924
3925	output = &GetInvitationsCountOutput{}
3926	req = c.newRequest(op, input, output)
3927	return
3928}
3929
3930// GetInvitationsCount API operation for AWS SecurityHub.
3931//
3932// Returns the count of all Security Hub membership invitations that were sent
3933// to the current member account, not including the currently accepted invitation.
3934//
3935// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3936// with awserr.Error's Code and Message methods to get detailed information about
3937// the error.
3938//
3939// See the AWS API reference guide for AWS SecurityHub's
3940// API operation GetInvitationsCount for usage and error information.
3941//
3942// Returned Error Types:
3943//   * InternalException
3944//   Internal server error.
3945//
3946//   * InvalidInputException
3947//   The request was rejected because you supplied an invalid or out-of-range
3948//   value for an input parameter.
3949//
3950//   * InvalidAccessException
3951//   There is an issue with the account used to make the request. Either Security
3952//   Hub is not enabled for the account, or the account does not have permission
3953//   to perform this action.
3954//
3955//   * LimitExceededException
3956//   The request was rejected because it attempted to create resources beyond
3957//   the current Amazon Web Services account or throttling limits. The error code
3958//   describes the limit exceeded.
3959//
3960// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInvitationsCount
3961func (c *SecurityHub) GetInvitationsCount(input *GetInvitationsCountInput) (*GetInvitationsCountOutput, error) {
3962	req, out := c.GetInvitationsCountRequest(input)
3963	return out, req.Send()
3964}
3965
3966// GetInvitationsCountWithContext is the same as GetInvitationsCount with the addition of
3967// the ability to pass a context and additional request options.
3968//
3969// See GetInvitationsCount for details on how to use this API operation.
3970//
3971// The context must be non-nil and will be used for request cancellation. If
3972// the context is nil a panic will occur. In the future the SDK may create
3973// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3974// for more information on using Contexts.
3975func (c *SecurityHub) GetInvitationsCountWithContext(ctx aws.Context, input *GetInvitationsCountInput, opts ...request.Option) (*GetInvitationsCountOutput, error) {
3976	req, out := c.GetInvitationsCountRequest(input)
3977	req.SetContext(ctx)
3978	req.ApplyOptions(opts...)
3979	return out, req.Send()
3980}
3981
3982const opGetMasterAccount = "GetMasterAccount"
3983
3984// GetMasterAccountRequest generates a "aws/request.Request" representing the
3985// client's request for the GetMasterAccount operation. The "output" return
3986// value will be populated with the request's response once the request completes
3987// successfully.
3988//
3989// Use "Send" method on the returned Request to send the API call to the service.
3990// the "output" return value is not valid until after Send returns without error.
3991//
3992// See GetMasterAccount for more information on using the GetMasterAccount
3993// API call, and error handling.
3994//
3995// This method is useful when you want to inject custom logic or configuration
3996// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3997//
3998//
3999//    // Example sending a request using the GetMasterAccountRequest method.
4000//    req, resp := client.GetMasterAccountRequest(params)
4001//
4002//    err := req.Send()
4003//    if err == nil { // resp is now filled
4004//        fmt.Println(resp)
4005//    }
4006//
4007// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMasterAccount
4008//
4009// Deprecated: This API has been deprecated, use GetAdministratorAccount API instead.
4010func (c *SecurityHub) GetMasterAccountRequest(input *GetMasterAccountInput) (req *request.Request, output *GetMasterAccountOutput) {
4011	if c.Client.Config.Logger != nil {
4012		c.Client.Config.Logger.Log("This operation, GetMasterAccount, has been deprecated")
4013	}
4014	op := &request.Operation{
4015		Name:       opGetMasterAccount,
4016		HTTPMethod: "GET",
4017		HTTPPath:   "/master",
4018	}
4019
4020	if input == nil {
4021		input = &GetMasterAccountInput{}
4022	}
4023
4024	output = &GetMasterAccountOutput{}
4025	req = c.newRequest(op, input, output)
4026	return
4027}
4028
4029// GetMasterAccount API operation for AWS SecurityHub.
4030//
4031// This method is deprecated. Instead, use GetAdministratorAccount.
4032//
4033// The Security Hub console continues to use GetMasterAccount. It will eventually
4034// change to use GetAdministratorAccount. Any IAM policies that specifically
4035// control access to this function must continue to use GetMasterAccount. You
4036// should also add GetAdministratorAccount to your policies to ensure that the
4037// correct permissions are in place after the console begins to use GetAdministratorAccount.
4038//
4039// Provides the details for the Security Hub administrator account for the current
4040// member account.
4041//
4042// Can be used by both member accounts that are managed using Organizations
4043// and accounts that were invited manually.
4044//
4045// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4046// with awserr.Error's Code and Message methods to get detailed information about
4047// the error.
4048//
4049// See the AWS API reference guide for AWS SecurityHub's
4050// API operation GetMasterAccount for usage and error information.
4051//
4052// Returned Error Types:
4053//   * InternalException
4054//   Internal server error.
4055//
4056//   * InvalidInputException
4057//   The request was rejected because you supplied an invalid or out-of-range
4058//   value for an input parameter.
4059//
4060//   * InvalidAccessException
4061//   There is an issue with the account used to make the request. Either Security
4062//   Hub is not enabled for the account, or the account does not have permission
4063//   to perform this action.
4064//
4065//   * LimitExceededException
4066//   The request was rejected because it attempted to create resources beyond
4067//   the current Amazon Web Services account or throttling limits. The error code
4068//   describes the limit exceeded.
4069//
4070//   * ResourceNotFoundException
4071//   The request was rejected because we can't find the specified resource.
4072//
4073// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMasterAccount
4074//
4075// Deprecated: This API has been deprecated, use GetAdministratorAccount API instead.
4076func (c *SecurityHub) GetMasterAccount(input *GetMasterAccountInput) (*GetMasterAccountOutput, error) {
4077	req, out := c.GetMasterAccountRequest(input)
4078	return out, req.Send()
4079}
4080
4081// GetMasterAccountWithContext is the same as GetMasterAccount with the addition of
4082// the ability to pass a context and additional request options.
4083//
4084// See GetMasterAccount for details on how to use this API operation.
4085//
4086// The context must be non-nil and will be used for request cancellation. If
4087// the context is nil a panic will occur. In the future the SDK may create
4088// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4089// for more information on using Contexts.
4090//
4091// Deprecated: This API has been deprecated, use GetAdministratorAccount API instead.
4092func (c *SecurityHub) GetMasterAccountWithContext(ctx aws.Context, input *GetMasterAccountInput, opts ...request.Option) (*GetMasterAccountOutput, error) {
4093	req, out := c.GetMasterAccountRequest(input)
4094	req.SetContext(ctx)
4095	req.ApplyOptions(opts...)
4096	return out, req.Send()
4097}
4098
4099const opGetMembers = "GetMembers"
4100
4101// GetMembersRequest generates a "aws/request.Request" representing the
4102// client's request for the GetMembers operation. The "output" return
4103// value will be populated with the request's response once the request completes
4104// successfully.
4105//
4106// Use "Send" method on the returned Request to send the API call to the service.
4107// the "output" return value is not valid until after Send returns without error.
4108//
4109// See GetMembers for more information on using the GetMembers
4110// API call, and error handling.
4111//
4112// This method is useful when you want to inject custom logic or configuration
4113// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4114//
4115//
4116//    // Example sending a request using the GetMembersRequest method.
4117//    req, resp := client.GetMembersRequest(params)
4118//
4119//    err := req.Send()
4120//    if err == nil { // resp is now filled
4121//        fmt.Println(resp)
4122//    }
4123//
4124// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMembers
4125func (c *SecurityHub) GetMembersRequest(input *GetMembersInput) (req *request.Request, output *GetMembersOutput) {
4126	op := &request.Operation{
4127		Name:       opGetMembers,
4128		HTTPMethod: "POST",
4129		HTTPPath:   "/members/get",
4130	}
4131
4132	if input == nil {
4133		input = &GetMembersInput{}
4134	}
4135
4136	output = &GetMembersOutput{}
4137	req = c.newRequest(op, input, output)
4138	return
4139}
4140
4141// GetMembers API operation for AWS SecurityHub.
4142//
4143// Returns the details for the Security Hub member accounts for the specified
4144// account IDs.
4145//
4146// An administrator account can be either the delegated Security Hub administrator
4147// account for an organization or an administrator account that enabled Security
4148// Hub manually.
4149//
4150// The results include both member accounts that are managed using Organizations
4151// and accounts that were invited manually.
4152//
4153// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4154// with awserr.Error's Code and Message methods to get detailed information about
4155// the error.
4156//
4157// See the AWS API reference guide for AWS SecurityHub's
4158// API operation GetMembers for usage and error information.
4159//
4160// Returned Error Types:
4161//   * InternalException
4162//   Internal server error.
4163//
4164//   * InvalidInputException
4165//   The request was rejected because you supplied an invalid or out-of-range
4166//   value for an input parameter.
4167//
4168//   * InvalidAccessException
4169//   There is an issue with the account used to make the request. Either Security
4170//   Hub is not enabled for the account, or the account does not have permission
4171//   to perform this action.
4172//
4173//   * LimitExceededException
4174//   The request was rejected because it attempted to create resources beyond
4175//   the current Amazon Web Services account or throttling limits. The error code
4176//   describes the limit exceeded.
4177//
4178//   * ResourceNotFoundException
4179//   The request was rejected because we can't find the specified resource.
4180//
4181// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMembers
4182func (c *SecurityHub) GetMembers(input *GetMembersInput) (*GetMembersOutput, error) {
4183	req, out := c.GetMembersRequest(input)
4184	return out, req.Send()
4185}
4186
4187// GetMembersWithContext is the same as GetMembers with the addition of
4188// the ability to pass a context and additional request options.
4189//
4190// See GetMembers for details on how to use this API operation.
4191//
4192// The context must be non-nil and will be used for request cancellation. If
4193// the context is nil a panic will occur. In the future the SDK may create
4194// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4195// for more information on using Contexts.
4196func (c *SecurityHub) GetMembersWithContext(ctx aws.Context, input *GetMembersInput, opts ...request.Option) (*GetMembersOutput, error) {
4197	req, out := c.GetMembersRequest(input)
4198	req.SetContext(ctx)
4199	req.ApplyOptions(opts...)
4200	return out, req.Send()
4201}
4202
4203const opInviteMembers = "InviteMembers"
4204
4205// InviteMembersRequest generates a "aws/request.Request" representing the
4206// client's request for the InviteMembers operation. The "output" return
4207// value will be populated with the request's response once the request completes
4208// successfully.
4209//
4210// Use "Send" method on the returned Request to send the API call to the service.
4211// the "output" return value is not valid until after Send returns without error.
4212//
4213// See InviteMembers for more information on using the InviteMembers
4214// API call, and error handling.
4215//
4216// This method is useful when you want to inject custom logic or configuration
4217// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4218//
4219//
4220//    // Example sending a request using the InviteMembersRequest method.
4221//    req, resp := client.InviteMembersRequest(params)
4222//
4223//    err := req.Send()
4224//    if err == nil { // resp is now filled
4225//        fmt.Println(resp)
4226//    }
4227//
4228// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/InviteMembers
4229func (c *SecurityHub) InviteMembersRequest(input *InviteMembersInput) (req *request.Request, output *InviteMembersOutput) {
4230	op := &request.Operation{
4231		Name:       opInviteMembers,
4232		HTTPMethod: "POST",
4233		HTTPPath:   "/members/invite",
4234	}
4235
4236	if input == nil {
4237		input = &InviteMembersInput{}
4238	}
4239
4240	output = &InviteMembersOutput{}
4241	req = c.newRequest(op, input, output)
4242	return
4243}
4244
4245// InviteMembers API operation for AWS SecurityHub.
4246//
4247// Invites other Amazon Web Services accounts to become member accounts for
4248// the Security Hub administrator account that the invitation is sent from.
4249//
4250// This operation is only used to invite accounts that do not belong to an organization.
4251// Organization accounts do not receive invitations.
4252//
4253// Before you can use this action to invite a member, you must first use the
4254// CreateMembers action to create the member account in Security Hub.
4255//
4256// When the account owner enables Security Hub and accepts the invitation to
4257// become a member account, the administrator account can view the findings
4258// generated from the member account.
4259//
4260// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4261// with awserr.Error's Code and Message methods to get detailed information about
4262// the error.
4263//
4264// See the AWS API reference guide for AWS SecurityHub's
4265// API operation InviteMembers for usage and error information.
4266//
4267// Returned Error Types:
4268//   * InternalException
4269//   Internal server error.
4270//
4271//   * InvalidInputException
4272//   The request was rejected because you supplied an invalid or out-of-range
4273//   value for an input parameter.
4274//
4275//   * InvalidAccessException
4276//   There is an issue with the account used to make the request. Either Security
4277//   Hub is not enabled for the account, or the account does not have permission
4278//   to perform this action.
4279//
4280//   * LimitExceededException
4281//   The request was rejected because it attempted to create resources beyond
4282//   the current Amazon Web Services account or throttling limits. The error code
4283//   describes the limit exceeded.
4284//
4285//   * ResourceNotFoundException
4286//   The request was rejected because we can't find the specified resource.
4287//
4288// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/InviteMembers
4289func (c *SecurityHub) InviteMembers(input *InviteMembersInput) (*InviteMembersOutput, error) {
4290	req, out := c.InviteMembersRequest(input)
4291	return out, req.Send()
4292}
4293
4294// InviteMembersWithContext is the same as InviteMembers with the addition of
4295// the ability to pass a context and additional request options.
4296//
4297// See InviteMembers for details on how to use this API operation.
4298//
4299// The context must be non-nil and will be used for request cancellation. If
4300// the context is nil a panic will occur. In the future the SDK may create
4301// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4302// for more information on using Contexts.
4303func (c *SecurityHub) InviteMembersWithContext(ctx aws.Context, input *InviteMembersInput, opts ...request.Option) (*InviteMembersOutput, error) {
4304	req, out := c.InviteMembersRequest(input)
4305	req.SetContext(ctx)
4306	req.ApplyOptions(opts...)
4307	return out, req.Send()
4308}
4309
4310const opListEnabledProductsForImport = "ListEnabledProductsForImport"
4311
4312// ListEnabledProductsForImportRequest generates a "aws/request.Request" representing the
4313// client's request for the ListEnabledProductsForImport operation. The "output" return
4314// value will be populated with the request's response once the request completes
4315// successfully.
4316//
4317// Use "Send" method on the returned Request to send the API call to the service.
4318// the "output" return value is not valid until after Send returns without error.
4319//
4320// See ListEnabledProductsForImport for more information on using the ListEnabledProductsForImport
4321// API call, and error handling.
4322//
4323// This method is useful when you want to inject custom logic or configuration
4324// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4325//
4326//
4327//    // Example sending a request using the ListEnabledProductsForImportRequest method.
4328//    req, resp := client.ListEnabledProductsForImportRequest(params)
4329//
4330//    err := req.Send()
4331//    if err == nil { // resp is now filled
4332//        fmt.Println(resp)
4333//    }
4334//
4335// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListEnabledProductsForImport
4336func (c *SecurityHub) ListEnabledProductsForImportRequest(input *ListEnabledProductsForImportInput) (req *request.Request, output *ListEnabledProductsForImportOutput) {
4337	op := &request.Operation{
4338		Name:       opListEnabledProductsForImport,
4339		HTTPMethod: "GET",
4340		HTTPPath:   "/productSubscriptions",
4341		Paginator: &request.Paginator{
4342			InputTokens:     []string{"NextToken"},
4343			OutputTokens:    []string{"NextToken"},
4344			LimitToken:      "MaxResults",
4345			TruncationToken: "",
4346		},
4347	}
4348
4349	if input == nil {
4350		input = &ListEnabledProductsForImportInput{}
4351	}
4352
4353	output = &ListEnabledProductsForImportOutput{}
4354	req = c.newRequest(op, input, output)
4355	return
4356}
4357
4358// ListEnabledProductsForImport API operation for AWS SecurityHub.
4359//
4360// Lists all findings-generating solutions (products) that you are subscribed
4361// to receive findings from in Security Hub.
4362//
4363// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4364// with awserr.Error's Code and Message methods to get detailed information about
4365// the error.
4366//
4367// See the AWS API reference guide for AWS SecurityHub's
4368// API operation ListEnabledProductsForImport for usage and error information.
4369//
4370// Returned Error Types:
4371//   * InternalException
4372//   Internal server error.
4373//
4374//   * LimitExceededException
4375//   The request was rejected because it attempted to create resources beyond
4376//   the current Amazon Web Services account or throttling limits. The error code
4377//   describes the limit exceeded.
4378//
4379//   * InvalidAccessException
4380//   There is an issue with the account used to make the request. Either Security
4381//   Hub is not enabled for the account, or the account does not have permission
4382//   to perform this action.
4383//
4384// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListEnabledProductsForImport
4385func (c *SecurityHub) ListEnabledProductsForImport(input *ListEnabledProductsForImportInput) (*ListEnabledProductsForImportOutput, error) {
4386	req, out := c.ListEnabledProductsForImportRequest(input)
4387	return out, req.Send()
4388}
4389
4390// ListEnabledProductsForImportWithContext is the same as ListEnabledProductsForImport with the addition of
4391// the ability to pass a context and additional request options.
4392//
4393// See ListEnabledProductsForImport for details on how to use this API operation.
4394//
4395// The context must be non-nil and will be used for request cancellation. If
4396// the context is nil a panic will occur. In the future the SDK may create
4397// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4398// for more information on using Contexts.
4399func (c *SecurityHub) ListEnabledProductsForImportWithContext(ctx aws.Context, input *ListEnabledProductsForImportInput, opts ...request.Option) (*ListEnabledProductsForImportOutput, error) {
4400	req, out := c.ListEnabledProductsForImportRequest(input)
4401	req.SetContext(ctx)
4402	req.ApplyOptions(opts...)
4403	return out, req.Send()
4404}
4405
4406// ListEnabledProductsForImportPages iterates over the pages of a ListEnabledProductsForImport operation,
4407// calling the "fn" function with the response data for each page. To stop
4408// iterating, return false from the fn function.
4409//
4410// See ListEnabledProductsForImport method for more information on how to use this operation.
4411//
4412// Note: This operation can generate multiple requests to a service.
4413//
4414//    // Example iterating over at most 3 pages of a ListEnabledProductsForImport operation.
4415//    pageNum := 0
4416//    err := client.ListEnabledProductsForImportPages(params,
4417//        func(page *securityhub.ListEnabledProductsForImportOutput, lastPage bool) bool {
4418//            pageNum++
4419//            fmt.Println(page)
4420//            return pageNum <= 3
4421//        })
4422//
4423func (c *SecurityHub) ListEnabledProductsForImportPages(input *ListEnabledProductsForImportInput, fn func(*ListEnabledProductsForImportOutput, bool) bool) error {
4424	return c.ListEnabledProductsForImportPagesWithContext(aws.BackgroundContext(), input, fn)
4425}
4426
4427// ListEnabledProductsForImportPagesWithContext same as ListEnabledProductsForImportPages except
4428// it takes a Context and allows setting request options on the pages.
4429//
4430// The context must be non-nil and will be used for request cancellation. If
4431// the context is nil a panic will occur. In the future the SDK may create
4432// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4433// for more information on using Contexts.
4434func (c *SecurityHub) ListEnabledProductsForImportPagesWithContext(ctx aws.Context, input *ListEnabledProductsForImportInput, fn func(*ListEnabledProductsForImportOutput, bool) bool, opts ...request.Option) error {
4435	p := request.Pagination{
4436		NewRequest: func() (*request.Request, error) {
4437			var inCpy *ListEnabledProductsForImportInput
4438			if input != nil {
4439				tmp := *input
4440				inCpy = &tmp
4441			}
4442			req, _ := c.ListEnabledProductsForImportRequest(inCpy)
4443			req.SetContext(ctx)
4444			req.ApplyOptions(opts...)
4445			return req, nil
4446		},
4447	}
4448
4449	for p.Next() {
4450		if !fn(p.Page().(*ListEnabledProductsForImportOutput), !p.HasNextPage()) {
4451			break
4452		}
4453	}
4454
4455	return p.Err()
4456}
4457
4458const opListInvitations = "ListInvitations"
4459
4460// ListInvitationsRequest generates a "aws/request.Request" representing the
4461// client's request for the ListInvitations operation. The "output" return
4462// value will be populated with the request's response once the request completes
4463// successfully.
4464//
4465// Use "Send" method on the returned Request to send the API call to the service.
4466// the "output" return value is not valid until after Send returns without error.
4467//
4468// See ListInvitations for more information on using the ListInvitations
4469// API call, and error handling.
4470//
4471// This method is useful when you want to inject custom logic or configuration
4472// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4473//
4474//
4475//    // Example sending a request using the ListInvitationsRequest method.
4476//    req, resp := client.ListInvitationsRequest(params)
4477//
4478//    err := req.Send()
4479//    if err == nil { // resp is now filled
4480//        fmt.Println(resp)
4481//    }
4482//
4483// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListInvitations
4484func (c *SecurityHub) ListInvitationsRequest(input *ListInvitationsInput) (req *request.Request, output *ListInvitationsOutput) {
4485	op := &request.Operation{
4486		Name:       opListInvitations,
4487		HTTPMethod: "GET",
4488		HTTPPath:   "/invitations",
4489		Paginator: &request.Paginator{
4490			InputTokens:     []string{"NextToken"},
4491			OutputTokens:    []string{"NextToken"},
4492			LimitToken:      "MaxResults",
4493			TruncationToken: "",
4494		},
4495	}
4496
4497	if input == nil {
4498		input = &ListInvitationsInput{}
4499	}
4500
4501	output = &ListInvitationsOutput{}
4502	req = c.newRequest(op, input, output)
4503	return
4504}
4505
4506// ListInvitations API operation for AWS SecurityHub.
4507//
4508// Lists all Security Hub membership invitations that were sent to the current
4509// Amazon Web Services account.
4510//
4511// This operation is only used by accounts that are managed by invitation. Accounts
4512// that are managed using the integration with Organizations do not receive
4513// invitations.
4514//
4515// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4516// with awserr.Error's Code and Message methods to get detailed information about
4517// the error.
4518//
4519// See the AWS API reference guide for AWS SecurityHub's
4520// API operation ListInvitations for usage and error information.
4521//
4522// Returned Error Types:
4523//   * InternalException
4524//   Internal server error.
4525//
4526//   * InvalidInputException
4527//   The request was rejected because you supplied an invalid or out-of-range
4528//   value for an input parameter.
4529//
4530//   * InvalidAccessException
4531//   There is an issue with the account used to make the request. Either Security
4532//   Hub is not enabled for the account, or the account does not have permission
4533//   to perform this action.
4534//
4535//   * LimitExceededException
4536//   The request was rejected because it attempted to create resources beyond
4537//   the current Amazon Web Services account or throttling limits. The error code
4538//   describes the limit exceeded.
4539//
4540// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListInvitations
4541func (c *SecurityHub) ListInvitations(input *ListInvitationsInput) (*ListInvitationsOutput, error) {
4542	req, out := c.ListInvitationsRequest(input)
4543	return out, req.Send()
4544}
4545
4546// ListInvitationsWithContext is the same as ListInvitations with the addition of
4547// the ability to pass a context and additional request options.
4548//
4549// See ListInvitations for details on how to use this API operation.
4550//
4551// The context must be non-nil and will be used for request cancellation. If
4552// the context is nil a panic will occur. In the future the SDK may create
4553// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4554// for more information on using Contexts.
4555func (c *SecurityHub) ListInvitationsWithContext(ctx aws.Context, input *ListInvitationsInput, opts ...request.Option) (*ListInvitationsOutput, error) {
4556	req, out := c.ListInvitationsRequest(input)
4557	req.SetContext(ctx)
4558	req.ApplyOptions(opts...)
4559	return out, req.Send()
4560}
4561
4562// ListInvitationsPages iterates over the pages of a ListInvitations operation,
4563// calling the "fn" function with the response data for each page. To stop
4564// iterating, return false from the fn function.
4565//
4566// See ListInvitations method for more information on how to use this operation.
4567//
4568// Note: This operation can generate multiple requests to a service.
4569//
4570//    // Example iterating over at most 3 pages of a ListInvitations operation.
4571//    pageNum := 0
4572//    err := client.ListInvitationsPages(params,
4573//        func(page *securityhub.ListInvitationsOutput, lastPage bool) bool {
4574//            pageNum++
4575//            fmt.Println(page)
4576//            return pageNum <= 3
4577//        })
4578//
4579func (c *SecurityHub) ListInvitationsPages(input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool) error {
4580	return c.ListInvitationsPagesWithContext(aws.BackgroundContext(), input, fn)
4581}
4582
4583// ListInvitationsPagesWithContext same as ListInvitationsPages except
4584// it takes a Context and allows setting request options on the pages.
4585//
4586// The context must be non-nil and will be used for request cancellation. If
4587// the context is nil a panic will occur. In the future the SDK may create
4588// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4589// for more information on using Contexts.
4590func (c *SecurityHub) ListInvitationsPagesWithContext(ctx aws.Context, input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool, opts ...request.Option) error {
4591	p := request.Pagination{
4592		NewRequest: func() (*request.Request, error) {
4593			var inCpy *ListInvitationsInput
4594			if input != nil {
4595				tmp := *input
4596				inCpy = &tmp
4597			}
4598			req, _ := c.ListInvitationsRequest(inCpy)
4599			req.SetContext(ctx)
4600			req.ApplyOptions(opts...)
4601			return req, nil
4602		},
4603	}
4604
4605	for p.Next() {
4606		if !fn(p.Page().(*ListInvitationsOutput), !p.HasNextPage()) {
4607			break
4608		}
4609	}
4610
4611	return p.Err()
4612}
4613
4614const opListMembers = "ListMembers"
4615
4616// ListMembersRequest generates a "aws/request.Request" representing the
4617// client's request for the ListMembers operation. The "output" return
4618// value will be populated with the request's response once the request completes
4619// successfully.
4620//
4621// Use "Send" method on the returned Request to send the API call to the service.
4622// the "output" return value is not valid until after Send returns without error.
4623//
4624// See ListMembers for more information on using the ListMembers
4625// API call, and error handling.
4626//
4627// This method is useful when you want to inject custom logic or configuration
4628// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4629//
4630//
4631//    // Example sending a request using the ListMembersRequest method.
4632//    req, resp := client.ListMembersRequest(params)
4633//
4634//    err := req.Send()
4635//    if err == nil { // resp is now filled
4636//        fmt.Println(resp)
4637//    }
4638//
4639// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListMembers
4640func (c *SecurityHub) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) {
4641	op := &request.Operation{
4642		Name:       opListMembers,
4643		HTTPMethod: "GET",
4644		HTTPPath:   "/members",
4645		Paginator: &request.Paginator{
4646			InputTokens:     []string{"NextToken"},
4647			OutputTokens:    []string{"NextToken"},
4648			LimitToken:      "MaxResults",
4649			TruncationToken: "",
4650		},
4651	}
4652
4653	if input == nil {
4654		input = &ListMembersInput{}
4655	}
4656
4657	output = &ListMembersOutput{}
4658	req = c.newRequest(op, input, output)
4659	return
4660}
4661
4662// ListMembers API operation for AWS SecurityHub.
4663//
4664// Lists details about all member accounts for the current Security Hub administrator
4665// account.
4666//
4667// The results include both member accounts that belong to an organization and
4668// member accounts that were invited manually.
4669//
4670// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4671// with awserr.Error's Code and Message methods to get detailed information about
4672// the error.
4673//
4674// See the AWS API reference guide for AWS SecurityHub's
4675// API operation ListMembers for usage and error information.
4676//
4677// Returned Error Types:
4678//   * InternalException
4679//   Internal server error.
4680//
4681//   * InvalidInputException
4682//   The request was rejected because you supplied an invalid or out-of-range
4683//   value for an input parameter.
4684//
4685//   * InvalidAccessException
4686//   There is an issue with the account used to make the request. Either Security
4687//   Hub is not enabled for the account, or the account does not have permission
4688//   to perform this action.
4689//
4690//   * LimitExceededException
4691//   The request was rejected because it attempted to create resources beyond
4692//   the current Amazon Web Services account or throttling limits. The error code
4693//   describes the limit exceeded.
4694//
4695// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListMembers
4696func (c *SecurityHub) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) {
4697	req, out := c.ListMembersRequest(input)
4698	return out, req.Send()
4699}
4700
4701// ListMembersWithContext is the same as ListMembers with the addition of
4702// the ability to pass a context and additional request options.
4703//
4704// See ListMembers for details on how to use this API operation.
4705//
4706// The context must be non-nil and will be used for request cancellation. If
4707// the context is nil a panic will occur. In the future the SDK may create
4708// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4709// for more information on using Contexts.
4710func (c *SecurityHub) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) {
4711	req, out := c.ListMembersRequest(input)
4712	req.SetContext(ctx)
4713	req.ApplyOptions(opts...)
4714	return out, req.Send()
4715}
4716
4717// ListMembersPages iterates over the pages of a ListMembers operation,
4718// calling the "fn" function with the response data for each page. To stop
4719// iterating, return false from the fn function.
4720//
4721// See ListMembers method for more information on how to use this operation.
4722//
4723// Note: This operation can generate multiple requests to a service.
4724//
4725//    // Example iterating over at most 3 pages of a ListMembers operation.
4726//    pageNum := 0
4727//    err := client.ListMembersPages(params,
4728//        func(page *securityhub.ListMembersOutput, lastPage bool) bool {
4729//            pageNum++
4730//            fmt.Println(page)
4731//            return pageNum <= 3
4732//        })
4733//
4734func (c *SecurityHub) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error {
4735	return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn)
4736}
4737
4738// ListMembersPagesWithContext same as ListMembersPages except
4739// it takes a Context and allows setting request options on the pages.
4740//
4741// The context must be non-nil and will be used for request cancellation. If
4742// the context is nil a panic will occur. In the future the SDK may create
4743// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4744// for more information on using Contexts.
4745func (c *SecurityHub) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error {
4746	p := request.Pagination{
4747		NewRequest: func() (*request.Request, error) {
4748			var inCpy *ListMembersInput
4749			if input != nil {
4750				tmp := *input
4751				inCpy = &tmp
4752			}
4753			req, _ := c.ListMembersRequest(inCpy)
4754			req.SetContext(ctx)
4755			req.ApplyOptions(opts...)
4756			return req, nil
4757		},
4758	}
4759
4760	for p.Next() {
4761		if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) {
4762			break
4763		}
4764	}
4765
4766	return p.Err()
4767}
4768
4769const opListOrganizationAdminAccounts = "ListOrganizationAdminAccounts"
4770
4771// ListOrganizationAdminAccountsRequest generates a "aws/request.Request" representing the
4772// client's request for the ListOrganizationAdminAccounts operation. The "output" return
4773// value will be populated with the request's response once the request completes
4774// successfully.
4775//
4776// Use "Send" method on the returned Request to send the API call to the service.
4777// the "output" return value is not valid until after Send returns without error.
4778//
4779// See ListOrganizationAdminAccounts for more information on using the ListOrganizationAdminAccounts
4780// API call, and error handling.
4781//
4782// This method is useful when you want to inject custom logic or configuration
4783// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4784//
4785//
4786//    // Example sending a request using the ListOrganizationAdminAccountsRequest method.
4787//    req, resp := client.ListOrganizationAdminAccountsRequest(params)
4788//
4789//    err := req.Send()
4790//    if err == nil { // resp is now filled
4791//        fmt.Println(resp)
4792//    }
4793//
4794// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListOrganizationAdminAccounts
4795func (c *SecurityHub) ListOrganizationAdminAccountsRequest(input *ListOrganizationAdminAccountsInput) (req *request.Request, output *ListOrganizationAdminAccountsOutput) {
4796	op := &request.Operation{
4797		Name:       opListOrganizationAdminAccounts,
4798		HTTPMethod: "GET",
4799		HTTPPath:   "/organization/admin",
4800		Paginator: &request.Paginator{
4801			InputTokens:     []string{"NextToken"},
4802			OutputTokens:    []string{"NextToken"},
4803			LimitToken:      "MaxResults",
4804			TruncationToken: "",
4805		},
4806	}
4807
4808	if input == nil {
4809		input = &ListOrganizationAdminAccountsInput{}
4810	}
4811
4812	output = &ListOrganizationAdminAccountsOutput{}
4813	req = c.newRequest(op, input, output)
4814	return
4815}
4816
4817// ListOrganizationAdminAccounts API operation for AWS SecurityHub.
4818//
4819// Lists the Security Hub administrator accounts. Can only be called by the
4820// organization management account.
4821//
4822// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4823// with awserr.Error's Code and Message methods to get detailed information about
4824// the error.
4825//
4826// See the AWS API reference guide for AWS SecurityHub's
4827// API operation ListOrganizationAdminAccounts for usage and error information.
4828//
4829// Returned Error Types:
4830//   * InternalException
4831//   Internal server error.
4832//
4833//   * InvalidInputException
4834//   The request was rejected because you supplied an invalid or out-of-range
4835//   value for an input parameter.
4836//
4837//   * InvalidAccessException
4838//   There is an issue with the account used to make the request. Either Security
4839//   Hub is not enabled for the account, or the account does not have permission
4840//   to perform this action.
4841//
4842//   * LimitExceededException
4843//   The request was rejected because it attempted to create resources beyond
4844//   the current Amazon Web Services account or throttling limits. The error code
4845//   describes the limit exceeded.
4846//
4847// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListOrganizationAdminAccounts
4848func (c *SecurityHub) ListOrganizationAdminAccounts(input *ListOrganizationAdminAccountsInput) (*ListOrganizationAdminAccountsOutput, error) {
4849	req, out := c.ListOrganizationAdminAccountsRequest(input)
4850	return out, req.Send()
4851}
4852
4853// ListOrganizationAdminAccountsWithContext is the same as ListOrganizationAdminAccounts with the addition of
4854// the ability to pass a context and additional request options.
4855//
4856// See ListOrganizationAdminAccounts for details on how to use this API operation.
4857//
4858// The context must be non-nil and will be used for request cancellation. If
4859// the context is nil a panic will occur. In the future the SDK may create
4860// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4861// for more information on using Contexts.
4862func (c *SecurityHub) ListOrganizationAdminAccountsWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, opts ...request.Option) (*ListOrganizationAdminAccountsOutput, error) {
4863	req, out := c.ListOrganizationAdminAccountsRequest(input)
4864	req.SetContext(ctx)
4865	req.ApplyOptions(opts...)
4866	return out, req.Send()
4867}
4868
4869// ListOrganizationAdminAccountsPages iterates over the pages of a ListOrganizationAdminAccounts operation,
4870// calling the "fn" function with the response data for each page. To stop
4871// iterating, return false from the fn function.
4872//
4873// See ListOrganizationAdminAccounts method for more information on how to use this operation.
4874//
4875// Note: This operation can generate multiple requests to a service.
4876//
4877//    // Example iterating over at most 3 pages of a ListOrganizationAdminAccounts operation.
4878//    pageNum := 0
4879//    err := client.ListOrganizationAdminAccountsPages(params,
4880//        func(page *securityhub.ListOrganizationAdminAccountsOutput, lastPage bool) bool {
4881//            pageNum++
4882//            fmt.Println(page)
4883//            return pageNum <= 3
4884//        })
4885//
4886func (c *SecurityHub) ListOrganizationAdminAccountsPages(input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool) error {
4887	return c.ListOrganizationAdminAccountsPagesWithContext(aws.BackgroundContext(), input, fn)
4888}
4889
4890// ListOrganizationAdminAccountsPagesWithContext same as ListOrganizationAdminAccountsPages except
4891// it takes a Context and allows setting request options on the pages.
4892//
4893// The context must be non-nil and will be used for request cancellation. If
4894// the context is nil a panic will occur. In the future the SDK may create
4895// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4896// for more information on using Contexts.
4897func (c *SecurityHub) ListOrganizationAdminAccountsPagesWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool, opts ...request.Option) error {
4898	p := request.Pagination{
4899		NewRequest: func() (*request.Request, error) {
4900			var inCpy *ListOrganizationAdminAccountsInput
4901			if input != nil {
4902				tmp := *input
4903				inCpy = &tmp
4904			}
4905			req, _ := c.ListOrganizationAdminAccountsRequest(inCpy)
4906			req.SetContext(ctx)
4907			req.ApplyOptions(opts...)
4908			return req, nil
4909		},
4910	}
4911
4912	for p.Next() {
4913		if !fn(p.Page().(*ListOrganizationAdminAccountsOutput), !p.HasNextPage()) {
4914			break
4915		}
4916	}
4917
4918	return p.Err()
4919}
4920
4921const opListTagsForResource = "ListTagsForResource"
4922
4923// ListTagsForResourceRequest generates a "aws/request.Request" representing the
4924// client's request for the ListTagsForResource operation. The "output" return
4925// value will be populated with the request's response once the request completes
4926// successfully.
4927//
4928// Use "Send" method on the returned Request to send the API call to the service.
4929// the "output" return value is not valid until after Send returns without error.
4930//
4931// See ListTagsForResource for more information on using the ListTagsForResource
4932// API call, and error handling.
4933//
4934// This method is useful when you want to inject custom logic or configuration
4935// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4936//
4937//
4938//    // Example sending a request using the ListTagsForResourceRequest method.
4939//    req, resp := client.ListTagsForResourceRequest(params)
4940//
4941//    err := req.Send()
4942//    if err == nil { // resp is now filled
4943//        fmt.Println(resp)
4944//    }
4945//
4946// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListTagsForResource
4947func (c *SecurityHub) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
4948	op := &request.Operation{
4949		Name:       opListTagsForResource,
4950		HTTPMethod: "GET",
4951		HTTPPath:   "/tags/{ResourceArn}",
4952	}
4953
4954	if input == nil {
4955		input = &ListTagsForResourceInput{}
4956	}
4957
4958	output = &ListTagsForResourceOutput{}
4959	req = c.newRequest(op, input, output)
4960	return
4961}
4962
4963// ListTagsForResource API operation for AWS SecurityHub.
4964//
4965// Returns a list of tags associated with a resource.
4966//
4967// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4968// with awserr.Error's Code and Message methods to get detailed information about
4969// the error.
4970//
4971// See the AWS API reference guide for AWS SecurityHub's
4972// API operation ListTagsForResource for usage and error information.
4973//
4974// Returned Error Types:
4975//   * InternalException
4976//   Internal server error.
4977//
4978//   * InvalidInputException
4979//   The request was rejected because you supplied an invalid or out-of-range
4980//   value for an input parameter.
4981//
4982//   * ResourceNotFoundException
4983//   The request was rejected because we can't find the specified resource.
4984//
4985// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListTagsForResource
4986func (c *SecurityHub) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4987	req, out := c.ListTagsForResourceRequest(input)
4988	return out, req.Send()
4989}
4990
4991// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4992// the ability to pass a context and additional request options.
4993//
4994// See ListTagsForResource for details on how to use this API operation.
4995//
4996// The context must be non-nil and will be used for request cancellation. If
4997// the context is nil a panic will occur. In the future the SDK may create
4998// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4999// for more information on using Contexts.
5000func (c *SecurityHub) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
5001	req, out := c.ListTagsForResourceRequest(input)
5002	req.SetContext(ctx)
5003	req.ApplyOptions(opts...)
5004	return out, req.Send()
5005}
5006
5007const opTagResource = "TagResource"
5008
5009// TagResourceRequest generates a "aws/request.Request" representing the
5010// client's request for the TagResource operation. The "output" return
5011// value will be populated with the request's response once the request completes
5012// successfully.
5013//
5014// Use "Send" method on the returned Request to send the API call to the service.
5015// the "output" return value is not valid until after Send returns without error.
5016//
5017// See TagResource for more information on using the TagResource
5018// API call, and error handling.
5019//
5020// This method is useful when you want to inject custom logic or configuration
5021// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5022//
5023//
5024//    // Example sending a request using the TagResourceRequest method.
5025//    req, resp := client.TagResourceRequest(params)
5026//
5027//    err := req.Send()
5028//    if err == nil { // resp is now filled
5029//        fmt.Println(resp)
5030//    }
5031//
5032// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/TagResource
5033func (c *SecurityHub) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
5034	op := &request.Operation{
5035		Name:       opTagResource,
5036		HTTPMethod: "POST",
5037		HTTPPath:   "/tags/{ResourceArn}",
5038	}
5039
5040	if input == nil {
5041		input = &TagResourceInput{}
5042	}
5043
5044	output = &TagResourceOutput{}
5045	req = c.newRequest(op, input, output)
5046	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5047	return
5048}
5049
5050// TagResource API operation for AWS SecurityHub.
5051//
5052// Adds one or more tags to a resource.
5053//
5054// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5055// with awserr.Error's Code and Message methods to get detailed information about
5056// the error.
5057//
5058// See the AWS API reference guide for AWS SecurityHub's
5059// API operation TagResource for usage and error information.
5060//
5061// Returned Error Types:
5062//   * InternalException
5063//   Internal server error.
5064//
5065//   * InvalidInputException
5066//   The request was rejected because you supplied an invalid or out-of-range
5067//   value for an input parameter.
5068//
5069//   * ResourceNotFoundException
5070//   The request was rejected because we can't find the specified resource.
5071//
5072// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/TagResource
5073func (c *SecurityHub) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
5074	req, out := c.TagResourceRequest(input)
5075	return out, req.Send()
5076}
5077
5078// TagResourceWithContext is the same as TagResource with the addition of
5079// the ability to pass a context and additional request options.
5080//
5081// See TagResource for details on how to use this API operation.
5082//
5083// The context must be non-nil and will be used for request cancellation. If
5084// the context is nil a panic will occur. In the future the SDK may create
5085// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5086// for more information on using Contexts.
5087func (c *SecurityHub) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
5088	req, out := c.TagResourceRequest(input)
5089	req.SetContext(ctx)
5090	req.ApplyOptions(opts...)
5091	return out, req.Send()
5092}
5093
5094const opUntagResource = "UntagResource"
5095
5096// UntagResourceRequest generates a "aws/request.Request" representing the
5097// client's request for the UntagResource operation. The "output" return
5098// value will be populated with the request's response once the request completes
5099// successfully.
5100//
5101// Use "Send" method on the returned Request to send the API call to the service.
5102// the "output" return value is not valid until after Send returns without error.
5103//
5104// See UntagResource for more information on using the UntagResource
5105// API call, and error handling.
5106//
5107// This method is useful when you want to inject custom logic or configuration
5108// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5109//
5110//
5111//    // Example sending a request using the UntagResourceRequest method.
5112//    req, resp := client.UntagResourceRequest(params)
5113//
5114//    err := req.Send()
5115//    if err == nil { // resp is now filled
5116//        fmt.Println(resp)
5117//    }
5118//
5119// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UntagResource
5120func (c *SecurityHub) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
5121	op := &request.Operation{
5122		Name:       opUntagResource,
5123		HTTPMethod: "DELETE",
5124		HTTPPath:   "/tags/{ResourceArn}",
5125	}
5126
5127	if input == nil {
5128		input = &UntagResourceInput{}
5129	}
5130
5131	output = &UntagResourceOutput{}
5132	req = c.newRequest(op, input, output)
5133	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5134	return
5135}
5136
5137// UntagResource API operation for AWS SecurityHub.
5138//
5139// Removes one or more tags from a resource.
5140//
5141// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5142// with awserr.Error's Code and Message methods to get detailed information about
5143// the error.
5144//
5145// See the AWS API reference guide for AWS SecurityHub's
5146// API operation UntagResource for usage and error information.
5147//
5148// Returned Error Types:
5149//   * InternalException
5150//   Internal server error.
5151//
5152//   * InvalidInputException
5153//   The request was rejected because you supplied an invalid or out-of-range
5154//   value for an input parameter.
5155//
5156//   * ResourceNotFoundException
5157//   The request was rejected because we can't find the specified resource.
5158//
5159// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UntagResource
5160func (c *SecurityHub) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
5161	req, out := c.UntagResourceRequest(input)
5162	return out, req.Send()
5163}
5164
5165// UntagResourceWithContext is the same as UntagResource with the addition of
5166// the ability to pass a context and additional request options.
5167//
5168// See UntagResource for details on how to use this API operation.
5169//
5170// The context must be non-nil and will be used for request cancellation. If
5171// the context is nil a panic will occur. In the future the SDK may create
5172// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5173// for more information on using Contexts.
5174func (c *SecurityHub) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
5175	req, out := c.UntagResourceRequest(input)
5176	req.SetContext(ctx)
5177	req.ApplyOptions(opts...)
5178	return out, req.Send()
5179}
5180
5181const opUpdateActionTarget = "UpdateActionTarget"
5182
5183// UpdateActionTargetRequest generates a "aws/request.Request" representing the
5184// client's request for the UpdateActionTarget operation. The "output" return
5185// value will be populated with the request's response once the request completes
5186// successfully.
5187//
5188// Use "Send" method on the returned Request to send the API call to the service.
5189// the "output" return value is not valid until after Send returns without error.
5190//
5191// See UpdateActionTarget for more information on using the UpdateActionTarget
5192// API call, and error handling.
5193//
5194// This method is useful when you want to inject custom logic or configuration
5195// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5196//
5197//
5198//    // Example sending a request using the UpdateActionTargetRequest method.
5199//    req, resp := client.UpdateActionTargetRequest(params)
5200//
5201//    err := req.Send()
5202//    if err == nil { // resp is now filled
5203//        fmt.Println(resp)
5204//    }
5205//
5206// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateActionTarget
5207func (c *SecurityHub) UpdateActionTargetRequest(input *UpdateActionTargetInput) (req *request.Request, output *UpdateActionTargetOutput) {
5208	op := &request.Operation{
5209		Name:       opUpdateActionTarget,
5210		HTTPMethod: "PATCH",
5211		HTTPPath:   "/actionTargets/{ActionTargetArn+}",
5212	}
5213
5214	if input == nil {
5215		input = &UpdateActionTargetInput{}
5216	}
5217
5218	output = &UpdateActionTargetOutput{}
5219	req = c.newRequest(op, input, output)
5220	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5221	return
5222}
5223
5224// UpdateActionTarget API operation for AWS SecurityHub.
5225//
5226// Updates the name and description of a custom action target in Security Hub.
5227//
5228// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5229// with awserr.Error's Code and Message methods to get detailed information about
5230// the error.
5231//
5232// See the AWS API reference guide for AWS SecurityHub's
5233// API operation UpdateActionTarget for usage and error information.
5234//
5235// Returned Error Types:
5236//   * InternalException
5237//   Internal server error.
5238//
5239//   * InvalidInputException
5240//   The request was rejected because you supplied an invalid or out-of-range
5241//   value for an input parameter.
5242//
5243//   * ResourceNotFoundException
5244//   The request was rejected because we can't find the specified resource.
5245//
5246//   * InvalidAccessException
5247//   There is an issue with the account used to make the request. Either Security
5248//   Hub is not enabled for the account, or the account does not have permission
5249//   to perform this action.
5250//
5251//   * ResourceNotFoundException
5252//   The request was rejected because we can't find the specified resource.
5253//
5254// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateActionTarget
5255func (c *SecurityHub) UpdateActionTarget(input *UpdateActionTargetInput) (*UpdateActionTargetOutput, error) {
5256	req, out := c.UpdateActionTargetRequest(input)
5257	return out, req.Send()
5258}
5259
5260// UpdateActionTargetWithContext is the same as UpdateActionTarget with the addition of
5261// the ability to pass a context and additional request options.
5262//
5263// See UpdateActionTarget for details on how to use this API operation.
5264//
5265// The context must be non-nil and will be used for request cancellation. If
5266// the context is nil a panic will occur. In the future the SDK may create
5267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5268// for more information on using Contexts.
5269func (c *SecurityHub) UpdateActionTargetWithContext(ctx aws.Context, input *UpdateActionTargetInput, opts ...request.Option) (*UpdateActionTargetOutput, error) {
5270	req, out := c.UpdateActionTargetRequest(input)
5271	req.SetContext(ctx)
5272	req.ApplyOptions(opts...)
5273	return out, req.Send()
5274}
5275
5276const opUpdateFindings = "UpdateFindings"
5277
5278// UpdateFindingsRequest generates a "aws/request.Request" representing the
5279// client's request for the UpdateFindings operation. The "output" return
5280// value will be populated with the request's response once the request completes
5281// successfully.
5282//
5283// Use "Send" method on the returned Request to send the API call to the service.
5284// the "output" return value is not valid until after Send returns without error.
5285//
5286// See UpdateFindings for more information on using the UpdateFindings
5287// API call, and error handling.
5288//
5289// This method is useful when you want to inject custom logic or configuration
5290// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5291//
5292//
5293//    // Example sending a request using the UpdateFindingsRequest method.
5294//    req, resp := client.UpdateFindingsRequest(params)
5295//
5296//    err := req.Send()
5297//    if err == nil { // resp is now filled
5298//        fmt.Println(resp)
5299//    }
5300//
5301// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindings
5302func (c *SecurityHub) UpdateFindingsRequest(input *UpdateFindingsInput) (req *request.Request, output *UpdateFindingsOutput) {
5303	op := &request.Operation{
5304		Name:       opUpdateFindings,
5305		HTTPMethod: "PATCH",
5306		HTTPPath:   "/findings",
5307	}
5308
5309	if input == nil {
5310		input = &UpdateFindingsInput{}
5311	}
5312
5313	output = &UpdateFindingsOutput{}
5314	req = c.newRequest(op, input, output)
5315	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5316	return
5317}
5318
5319// UpdateFindings API operation for AWS SecurityHub.
5320//
5321// UpdateFindings is deprecated. Instead of UpdateFindings, use BatchUpdateFindings.
5322//
5323// Updates the Note and RecordState of the Security Hub-aggregated findings
5324// that the filter attributes specify. Any member account that can view the
5325// finding also sees the update to the finding.
5326//
5327// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5328// with awserr.Error's Code and Message methods to get detailed information about
5329// the error.
5330//
5331// See the AWS API reference guide for AWS SecurityHub's
5332// API operation UpdateFindings for usage and error information.
5333//
5334// Returned Error Types:
5335//   * InternalException
5336//   Internal server error.
5337//
5338//   * InvalidInputException
5339//   The request was rejected because you supplied an invalid or out-of-range
5340//   value for an input parameter.
5341//
5342//   * LimitExceededException
5343//   The request was rejected because it attempted to create resources beyond
5344//   the current Amazon Web Services account or throttling limits. The error code
5345//   describes the limit exceeded.
5346//
5347//   * InvalidAccessException
5348//   There is an issue with the account used to make the request. Either Security
5349//   Hub is not enabled for the account, or the account does not have permission
5350//   to perform this action.
5351//
5352//   * ResourceNotFoundException
5353//   The request was rejected because we can't find the specified resource.
5354//
5355// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindings
5356func (c *SecurityHub) UpdateFindings(input *UpdateFindingsInput) (*UpdateFindingsOutput, error) {
5357	req, out := c.UpdateFindingsRequest(input)
5358	return out, req.Send()
5359}
5360
5361// UpdateFindingsWithContext is the same as UpdateFindings with the addition of
5362// the ability to pass a context and additional request options.
5363//
5364// See UpdateFindings for details on how to use this API operation.
5365//
5366// The context must be non-nil and will be used for request cancellation. If
5367// the context is nil a panic will occur. In the future the SDK may create
5368// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5369// for more information on using Contexts.
5370func (c *SecurityHub) UpdateFindingsWithContext(ctx aws.Context, input *UpdateFindingsInput, opts ...request.Option) (*UpdateFindingsOutput, error) {
5371	req, out := c.UpdateFindingsRequest(input)
5372	req.SetContext(ctx)
5373	req.ApplyOptions(opts...)
5374	return out, req.Send()
5375}
5376
5377const opUpdateInsight = "UpdateInsight"
5378
5379// UpdateInsightRequest generates a "aws/request.Request" representing the
5380// client's request for the UpdateInsight operation. The "output" return
5381// value will be populated with the request's response once the request completes
5382// successfully.
5383//
5384// Use "Send" method on the returned Request to send the API call to the service.
5385// the "output" return value is not valid until after Send returns without error.
5386//
5387// See UpdateInsight for more information on using the UpdateInsight
5388// API call, and error handling.
5389//
5390// This method is useful when you want to inject custom logic or configuration
5391// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5392//
5393//
5394//    // Example sending a request using the UpdateInsightRequest method.
5395//    req, resp := client.UpdateInsightRequest(params)
5396//
5397//    err := req.Send()
5398//    if err == nil { // resp is now filled
5399//        fmt.Println(resp)
5400//    }
5401//
5402// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateInsight
5403func (c *SecurityHub) UpdateInsightRequest(input *UpdateInsightInput) (req *request.Request, output *UpdateInsightOutput) {
5404	op := &request.Operation{
5405		Name:       opUpdateInsight,
5406		HTTPMethod: "PATCH",
5407		HTTPPath:   "/insights/{InsightArn+}",
5408	}
5409
5410	if input == nil {
5411		input = &UpdateInsightInput{}
5412	}
5413
5414	output = &UpdateInsightOutput{}
5415	req = c.newRequest(op, input, output)
5416	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5417	return
5418}
5419
5420// UpdateInsight API operation for AWS SecurityHub.
5421//
5422// Updates the Security Hub insight identified by the specified insight ARN.
5423//
5424// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5425// with awserr.Error's Code and Message methods to get detailed information about
5426// the error.
5427//
5428// See the AWS API reference guide for AWS SecurityHub's
5429// API operation UpdateInsight for usage and error information.
5430//
5431// Returned Error Types:
5432//   * InternalException
5433//   Internal server error.
5434//
5435//   * InvalidInputException
5436//   The request was rejected because you supplied an invalid or out-of-range
5437//   value for an input parameter.
5438//
5439//   * InvalidAccessException
5440//   There is an issue with the account used to make the request. Either Security
5441//   Hub is not enabled for the account, or the account does not have permission
5442//   to perform this action.
5443//
5444//   * LimitExceededException
5445//   The request was rejected because it attempted to create resources beyond
5446//   the current Amazon Web Services account or throttling limits. The error code
5447//   describes the limit exceeded.
5448//
5449//   * ResourceNotFoundException
5450//   The request was rejected because we can't find the specified resource.
5451//
5452// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateInsight
5453func (c *SecurityHub) UpdateInsight(input *UpdateInsightInput) (*UpdateInsightOutput, error) {
5454	req, out := c.UpdateInsightRequest(input)
5455	return out, req.Send()
5456}
5457
5458// UpdateInsightWithContext is the same as UpdateInsight with the addition of
5459// the ability to pass a context and additional request options.
5460//
5461// See UpdateInsight for details on how to use this API operation.
5462//
5463// The context must be non-nil and will be used for request cancellation. If
5464// the context is nil a panic will occur. In the future the SDK may create
5465// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5466// for more information on using Contexts.
5467func (c *SecurityHub) UpdateInsightWithContext(ctx aws.Context, input *UpdateInsightInput, opts ...request.Option) (*UpdateInsightOutput, error) {
5468	req, out := c.UpdateInsightRequest(input)
5469	req.SetContext(ctx)
5470	req.ApplyOptions(opts...)
5471	return out, req.Send()
5472}
5473
5474const opUpdateOrganizationConfiguration = "UpdateOrganizationConfiguration"
5475
5476// UpdateOrganizationConfigurationRequest generates a "aws/request.Request" representing the
5477// client's request for the UpdateOrganizationConfiguration operation. The "output" return
5478// value will be populated with the request's response once the request completes
5479// successfully.
5480//
5481// Use "Send" method on the returned Request to send the API call to the service.
5482// the "output" return value is not valid until after Send returns without error.
5483//
5484// See UpdateOrganizationConfiguration for more information on using the UpdateOrganizationConfiguration
5485// API call, and error handling.
5486//
5487// This method is useful when you want to inject custom logic or configuration
5488// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5489//
5490//
5491//    // Example sending a request using the UpdateOrganizationConfigurationRequest method.
5492//    req, resp := client.UpdateOrganizationConfigurationRequest(params)
5493//
5494//    err := req.Send()
5495//    if err == nil { // resp is now filled
5496//        fmt.Println(resp)
5497//    }
5498//
5499// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateOrganizationConfiguration
5500func (c *SecurityHub) UpdateOrganizationConfigurationRequest(input *UpdateOrganizationConfigurationInput) (req *request.Request, output *UpdateOrganizationConfigurationOutput) {
5501	op := &request.Operation{
5502		Name:       opUpdateOrganizationConfiguration,
5503		HTTPMethod: "POST",
5504		HTTPPath:   "/organization/configuration",
5505	}
5506
5507	if input == nil {
5508		input = &UpdateOrganizationConfigurationInput{}
5509	}
5510
5511	output = &UpdateOrganizationConfigurationOutput{}
5512	req = c.newRequest(op, input, output)
5513	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5514	return
5515}
5516
5517// UpdateOrganizationConfiguration API operation for AWS SecurityHub.
5518//
5519// Used to update the configuration related to Organizations. Can only be called
5520// from a Security Hub administrator account.
5521//
5522// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5523// with awserr.Error's Code and Message methods to get detailed information about
5524// the error.
5525//
5526// See the AWS API reference guide for AWS SecurityHub's
5527// API operation UpdateOrganizationConfiguration for usage and error information.
5528//
5529// Returned Error Types:
5530//   * InternalException
5531//   Internal server error.
5532//
5533//   * InvalidInputException
5534//   The request was rejected because you supplied an invalid or out-of-range
5535//   value for an input parameter.
5536//
5537//   * InvalidAccessException
5538//   There is an issue with the account used to make the request. Either Security
5539//   Hub is not enabled for the account, or the account does not have permission
5540//   to perform this action.
5541//
5542//   * LimitExceededException
5543//   The request was rejected because it attempted to create resources beyond
5544//   the current Amazon Web Services account or throttling limits. The error code
5545//   describes the limit exceeded.
5546//
5547// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateOrganizationConfiguration
5548func (c *SecurityHub) UpdateOrganizationConfiguration(input *UpdateOrganizationConfigurationInput) (*UpdateOrganizationConfigurationOutput, error) {
5549	req, out := c.UpdateOrganizationConfigurationRequest(input)
5550	return out, req.Send()
5551}
5552
5553// UpdateOrganizationConfigurationWithContext is the same as UpdateOrganizationConfiguration with the addition of
5554// the ability to pass a context and additional request options.
5555//
5556// See UpdateOrganizationConfiguration for details on how to use this API operation.
5557//
5558// The context must be non-nil and will be used for request cancellation. If
5559// the context is nil a panic will occur. In the future the SDK may create
5560// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5561// for more information on using Contexts.
5562func (c *SecurityHub) UpdateOrganizationConfigurationWithContext(ctx aws.Context, input *UpdateOrganizationConfigurationInput, opts ...request.Option) (*UpdateOrganizationConfigurationOutput, error) {
5563	req, out := c.UpdateOrganizationConfigurationRequest(input)
5564	req.SetContext(ctx)
5565	req.ApplyOptions(opts...)
5566	return out, req.Send()
5567}
5568
5569const opUpdateSecurityHubConfiguration = "UpdateSecurityHubConfiguration"
5570
5571// UpdateSecurityHubConfigurationRequest generates a "aws/request.Request" representing the
5572// client's request for the UpdateSecurityHubConfiguration operation. The "output" return
5573// value will be populated with the request's response once the request completes
5574// successfully.
5575//
5576// Use "Send" method on the returned Request to send the API call to the service.
5577// the "output" return value is not valid until after Send returns without error.
5578//
5579// See UpdateSecurityHubConfiguration for more information on using the UpdateSecurityHubConfiguration
5580// API call, and error handling.
5581//
5582// This method is useful when you want to inject custom logic or configuration
5583// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5584//
5585//
5586//    // Example sending a request using the UpdateSecurityHubConfigurationRequest method.
5587//    req, resp := client.UpdateSecurityHubConfigurationRequest(params)
5588//
5589//    err := req.Send()
5590//    if err == nil { // resp is now filled
5591//        fmt.Println(resp)
5592//    }
5593//
5594// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateSecurityHubConfiguration
5595func (c *SecurityHub) UpdateSecurityHubConfigurationRequest(input *UpdateSecurityHubConfigurationInput) (req *request.Request, output *UpdateSecurityHubConfigurationOutput) {
5596	op := &request.Operation{
5597		Name:       opUpdateSecurityHubConfiguration,
5598		HTTPMethod: "PATCH",
5599		HTTPPath:   "/accounts",
5600	}
5601
5602	if input == nil {
5603		input = &UpdateSecurityHubConfigurationInput{}
5604	}
5605
5606	output = &UpdateSecurityHubConfigurationOutput{}
5607	req = c.newRequest(op, input, output)
5608	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5609	return
5610}
5611
5612// UpdateSecurityHubConfiguration API operation for AWS SecurityHub.
5613//
5614// Updates configuration options for Security Hub.
5615//
5616// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5617// with awserr.Error's Code and Message methods to get detailed information about
5618// the error.
5619//
5620// See the AWS API reference guide for AWS SecurityHub's
5621// API operation UpdateSecurityHubConfiguration for usage and error information.
5622//
5623// Returned Error Types:
5624//   * InternalException
5625//   Internal server error.
5626//
5627//   * InvalidInputException
5628//   The request was rejected because you supplied an invalid or out-of-range
5629//   value for an input parameter.
5630//
5631//   * InvalidAccessException
5632//   There is an issue with the account used to make the request. Either Security
5633//   Hub is not enabled for the account, or the account does not have permission
5634//   to perform this action.
5635//
5636//   * LimitExceededException
5637//   The request was rejected because it attempted to create resources beyond
5638//   the current Amazon Web Services account or throttling limits. The error code
5639//   describes the limit exceeded.
5640//
5641//   * ResourceNotFoundException
5642//   The request was rejected because we can't find the specified resource.
5643//
5644// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateSecurityHubConfiguration
5645func (c *SecurityHub) UpdateSecurityHubConfiguration(input *UpdateSecurityHubConfigurationInput) (*UpdateSecurityHubConfigurationOutput, error) {
5646	req, out := c.UpdateSecurityHubConfigurationRequest(input)
5647	return out, req.Send()
5648}
5649
5650// UpdateSecurityHubConfigurationWithContext is the same as UpdateSecurityHubConfiguration with the addition of
5651// the ability to pass a context and additional request options.
5652//
5653// See UpdateSecurityHubConfiguration for details on how to use this API operation.
5654//
5655// The context must be non-nil and will be used for request cancellation. If
5656// the context is nil a panic will occur. In the future the SDK may create
5657// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5658// for more information on using Contexts.
5659func (c *SecurityHub) UpdateSecurityHubConfigurationWithContext(ctx aws.Context, input *UpdateSecurityHubConfigurationInput, opts ...request.Option) (*UpdateSecurityHubConfigurationOutput, error) {
5660	req, out := c.UpdateSecurityHubConfigurationRequest(input)
5661	req.SetContext(ctx)
5662	req.ApplyOptions(opts...)
5663	return out, req.Send()
5664}
5665
5666const opUpdateStandardsControl = "UpdateStandardsControl"
5667
5668// UpdateStandardsControlRequest generates a "aws/request.Request" representing the
5669// client's request for the UpdateStandardsControl operation. The "output" return
5670// value will be populated with the request's response once the request completes
5671// successfully.
5672//
5673// Use "Send" method on the returned Request to send the API call to the service.
5674// the "output" return value is not valid until after Send returns without error.
5675//
5676// See UpdateStandardsControl for more information on using the UpdateStandardsControl
5677// API call, and error handling.
5678//
5679// This method is useful when you want to inject custom logic or configuration
5680// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5681//
5682//
5683//    // Example sending a request using the UpdateStandardsControlRequest method.
5684//    req, resp := client.UpdateStandardsControlRequest(params)
5685//
5686//    err := req.Send()
5687//    if err == nil { // resp is now filled
5688//        fmt.Println(resp)
5689//    }
5690//
5691// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateStandardsControl
5692func (c *SecurityHub) UpdateStandardsControlRequest(input *UpdateStandardsControlInput) (req *request.Request, output *UpdateStandardsControlOutput) {
5693	op := &request.Operation{
5694		Name:       opUpdateStandardsControl,
5695		HTTPMethod: "PATCH",
5696		HTTPPath:   "/standards/control/{StandardsControlArn+}",
5697	}
5698
5699	if input == nil {
5700		input = &UpdateStandardsControlInput{}
5701	}
5702
5703	output = &UpdateStandardsControlOutput{}
5704	req = c.newRequest(op, input, output)
5705	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5706	return
5707}
5708
5709// UpdateStandardsControl API operation for AWS SecurityHub.
5710//
5711// Used to control whether an individual security standard control is enabled
5712// or disabled.
5713//
5714// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5715// with awserr.Error's Code and Message methods to get detailed information about
5716// the error.
5717//
5718// See the AWS API reference guide for AWS SecurityHub's
5719// API operation UpdateStandardsControl for usage and error information.
5720//
5721// Returned Error Types:
5722//   * InternalException
5723//   Internal server error.
5724//
5725//   * InvalidInputException
5726//   The request was rejected because you supplied an invalid or out-of-range
5727//   value for an input parameter.
5728//
5729//   * InvalidAccessException
5730//   There is an issue with the account used to make the request. Either Security
5731//   Hub is not enabled for the account, or the account does not have permission
5732//   to perform this action.
5733//
5734//   * ResourceNotFoundException
5735//   The request was rejected because we can't find the specified resource.
5736//
5737// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateStandardsControl
5738func (c *SecurityHub) UpdateStandardsControl(input *UpdateStandardsControlInput) (*UpdateStandardsControlOutput, error) {
5739	req, out := c.UpdateStandardsControlRequest(input)
5740	return out, req.Send()
5741}
5742
5743// UpdateStandardsControlWithContext is the same as UpdateStandardsControl with the addition of
5744// the ability to pass a context and additional request options.
5745//
5746// See UpdateStandardsControl for details on how to use this API operation.
5747//
5748// The context must be non-nil and will be used for request cancellation. If
5749// the context is nil a panic will occur. In the future the SDK may create
5750// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5751// for more information on using Contexts.
5752func (c *SecurityHub) UpdateStandardsControlWithContext(ctx aws.Context, input *UpdateStandardsControlInput, opts ...request.Option) (*UpdateStandardsControlOutput, error) {
5753	req, out := c.UpdateStandardsControlRequest(input)
5754	req.SetContext(ctx)
5755	req.ApplyOptions(opts...)
5756	return out, req.Send()
5757}
5758
5759type AcceptAdministratorInvitationInput struct {
5760	_ struct{} `type:"structure"`
5761
5762	// The account ID of the Security Hub administrator account that sent the invitation.
5763	//
5764	// AdministratorId is a required field
5765	AdministratorId *string `type:"string" required:"true"`
5766
5767	// The identifier of the invitation sent from the Security Hub administrator
5768	// account.
5769	//
5770	// InvitationId is a required field
5771	InvitationId *string `type:"string" required:"true"`
5772}
5773
5774// String returns the string representation
5775func (s AcceptAdministratorInvitationInput) String() string {
5776	return awsutil.Prettify(s)
5777}
5778
5779// GoString returns the string representation
5780func (s AcceptAdministratorInvitationInput) GoString() string {
5781	return s.String()
5782}
5783
5784// Validate inspects the fields of the type to determine if they are valid.
5785func (s *AcceptAdministratorInvitationInput) Validate() error {
5786	invalidParams := request.ErrInvalidParams{Context: "AcceptAdministratorInvitationInput"}
5787	if s.AdministratorId == nil {
5788		invalidParams.Add(request.NewErrParamRequired("AdministratorId"))
5789	}
5790	if s.InvitationId == nil {
5791		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
5792	}
5793
5794	if invalidParams.Len() > 0 {
5795		return invalidParams
5796	}
5797	return nil
5798}
5799
5800// SetAdministratorId sets the AdministratorId field's value.
5801func (s *AcceptAdministratorInvitationInput) SetAdministratorId(v string) *AcceptAdministratorInvitationInput {
5802	s.AdministratorId = &v
5803	return s
5804}
5805
5806// SetInvitationId sets the InvitationId field's value.
5807func (s *AcceptAdministratorInvitationInput) SetInvitationId(v string) *AcceptAdministratorInvitationInput {
5808	s.InvitationId = &v
5809	return s
5810}
5811
5812type AcceptAdministratorInvitationOutput struct {
5813	_ struct{} `type:"structure"`
5814}
5815
5816// String returns the string representation
5817func (s AcceptAdministratorInvitationOutput) String() string {
5818	return awsutil.Prettify(s)
5819}
5820
5821// GoString returns the string representation
5822func (s AcceptAdministratorInvitationOutput) GoString() string {
5823	return s.String()
5824}
5825
5826type AcceptInvitationInput struct {
5827	_ struct{} `type:"structure"`
5828
5829	// The identifier of the invitation sent from the Security Hub administrator
5830	// account.
5831	//
5832	// InvitationId is a required field
5833	InvitationId *string `type:"string" required:"true"`
5834
5835	// The account ID of the Security Hub administrator account that sent the invitation.
5836	//
5837	// MasterId is a required field
5838	MasterId *string `type:"string" required:"true"`
5839}
5840
5841// String returns the string representation
5842func (s AcceptInvitationInput) String() string {
5843	return awsutil.Prettify(s)
5844}
5845
5846// GoString returns the string representation
5847func (s AcceptInvitationInput) GoString() string {
5848	return s.String()
5849}
5850
5851// Validate inspects the fields of the type to determine if they are valid.
5852func (s *AcceptInvitationInput) Validate() error {
5853	invalidParams := request.ErrInvalidParams{Context: "AcceptInvitationInput"}
5854	if s.InvitationId == nil {
5855		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
5856	}
5857	if s.MasterId == nil {
5858		invalidParams.Add(request.NewErrParamRequired("MasterId"))
5859	}
5860
5861	if invalidParams.Len() > 0 {
5862		return invalidParams
5863	}
5864	return nil
5865}
5866
5867// SetInvitationId sets the InvitationId field's value.
5868func (s *AcceptInvitationInput) SetInvitationId(v string) *AcceptInvitationInput {
5869	s.InvitationId = &v
5870	return s
5871}
5872
5873// SetMasterId sets the MasterId field's value.
5874func (s *AcceptInvitationInput) SetMasterId(v string) *AcceptInvitationInput {
5875	s.MasterId = &v
5876	return s
5877}
5878
5879type AcceptInvitationOutput struct {
5880	_ struct{} `type:"structure"`
5881}
5882
5883// String returns the string representation
5884func (s AcceptInvitationOutput) String() string {
5885	return awsutil.Prettify(s)
5886}
5887
5888// GoString returns the string representation
5889func (s AcceptInvitationOutput) GoString() string {
5890	return s.String()
5891}
5892
5893// You don't have permission to perform the action specified in the request.
5894type AccessDeniedException struct {
5895	_            struct{}                  `type:"structure"`
5896	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5897
5898	Code_ *string `locationName:"Code" type:"string"`
5899
5900	Message_ *string `locationName:"Message" type:"string"`
5901}
5902
5903// String returns the string representation
5904func (s AccessDeniedException) String() string {
5905	return awsutil.Prettify(s)
5906}
5907
5908// GoString returns the string representation
5909func (s AccessDeniedException) GoString() string {
5910	return s.String()
5911}
5912
5913func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
5914	return &AccessDeniedException{
5915		RespMetadata: v,
5916	}
5917}
5918
5919// Code returns the exception type name.
5920func (s *AccessDeniedException) Code() string {
5921	return "AccessDeniedException"
5922}
5923
5924// Message returns the exception's message.
5925func (s *AccessDeniedException) Message() string {
5926	if s.Message_ != nil {
5927		return *s.Message_
5928	}
5929	return ""
5930}
5931
5932// OrigErr always returns nil, satisfies awserr.Error interface.
5933func (s *AccessDeniedException) OrigErr() error {
5934	return nil
5935}
5936
5937func (s *AccessDeniedException) Error() string {
5938	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
5939}
5940
5941// Status code returns the HTTP status code for the request's response error.
5942func (s *AccessDeniedException) StatusCode() int {
5943	return s.RespMetadata.StatusCode
5944}
5945
5946// RequestID returns the service's response RequestID for request.
5947func (s *AccessDeniedException) RequestID() string {
5948	return s.RespMetadata.RequestID
5949}
5950
5951// The details of an Amazon Web Services account.
5952type AccountDetails struct {
5953	_ struct{} `type:"structure"`
5954
5955	// The ID of an Amazon Web Services account.
5956	//
5957	// AccountId is a required field
5958	AccountId *string `type:"string" required:"true"`
5959
5960	// The email of an Amazon Web Services account.
5961	Email *string `type:"string"`
5962}
5963
5964// String returns the string representation
5965func (s AccountDetails) String() string {
5966	return awsutil.Prettify(s)
5967}
5968
5969// GoString returns the string representation
5970func (s AccountDetails) GoString() string {
5971	return s.String()
5972}
5973
5974// Validate inspects the fields of the type to determine if they are valid.
5975func (s *AccountDetails) Validate() error {
5976	invalidParams := request.ErrInvalidParams{Context: "AccountDetails"}
5977	if s.AccountId == nil {
5978		invalidParams.Add(request.NewErrParamRequired("AccountId"))
5979	}
5980
5981	if invalidParams.Len() > 0 {
5982		return invalidParams
5983	}
5984	return nil
5985}
5986
5987// SetAccountId sets the AccountId field's value.
5988func (s *AccountDetails) SetAccountId(v string) *AccountDetails {
5989	s.AccountId = &v
5990	return s
5991}
5992
5993// SetEmail sets the Email field's value.
5994func (s *AccountDetails) SetEmail(v string) *AccountDetails {
5995	s.Email = &v
5996	return s
5997}
5998
5999// Provides details about one of the following actions that affects or that
6000// was taken on a resource:
6001//
6002//    * A remote IP address issued an Amazon Web Services API call
6003//
6004//    * A DNS request was received
6005//
6006//    * A remote IP address attempted to connect to an EC2 instance
6007//
6008//    * A remote IP address attempted a port probe on an EC2 instance
6009type Action struct {
6010	_ struct{} `type:"structure"`
6011
6012	// The type of action that was detected. The possible action types are:
6013	//
6014	//    * NETWORK_CONNECTION
6015	//
6016	//    * AWS_API_CALL
6017	//
6018	//    * DNS_REQUEST
6019	//
6020	//    * PORT_PROBE
6021	ActionType *string `type:"string"`
6022
6023	// Included if ActionType is AWS_API_CALL. Provides details about the API call
6024	// that was detected.
6025	AwsApiCallAction *AwsApiCallAction `type:"structure"`
6026
6027	// Included if ActionType is DNS_REQUEST. Provides details about the DNS request
6028	// that was detected.
6029	DnsRequestAction *DnsRequestAction `type:"structure"`
6030
6031	// Included if ActionType is NETWORK_CONNECTION. Provides details about the
6032	// network connection that was detected.
6033	NetworkConnectionAction *NetworkConnectionAction `type:"structure"`
6034
6035	// Included if ActionType is PORT_PROBE. Provides details about the port probe
6036	// that was detected.
6037	PortProbeAction *PortProbeAction `type:"structure"`
6038}
6039
6040// String returns the string representation
6041func (s Action) String() string {
6042	return awsutil.Prettify(s)
6043}
6044
6045// GoString returns the string representation
6046func (s Action) GoString() string {
6047	return s.String()
6048}
6049
6050// SetActionType sets the ActionType field's value.
6051func (s *Action) SetActionType(v string) *Action {
6052	s.ActionType = &v
6053	return s
6054}
6055
6056// SetAwsApiCallAction sets the AwsApiCallAction field's value.
6057func (s *Action) SetAwsApiCallAction(v *AwsApiCallAction) *Action {
6058	s.AwsApiCallAction = v
6059	return s
6060}
6061
6062// SetDnsRequestAction sets the DnsRequestAction field's value.
6063func (s *Action) SetDnsRequestAction(v *DnsRequestAction) *Action {
6064	s.DnsRequestAction = v
6065	return s
6066}
6067
6068// SetNetworkConnectionAction sets the NetworkConnectionAction field's value.
6069func (s *Action) SetNetworkConnectionAction(v *NetworkConnectionAction) *Action {
6070	s.NetworkConnectionAction = v
6071	return s
6072}
6073
6074// SetPortProbeAction sets the PortProbeAction field's value.
6075func (s *Action) SetPortProbeAction(v *PortProbeAction) *Action {
6076	s.PortProbeAction = v
6077	return s
6078}
6079
6080// Provides information about the IP address where the scanned port is located.
6081type ActionLocalIpDetails struct {
6082	_ struct{} `type:"structure"`
6083
6084	// The IP address.
6085	IpAddressV4 *string `type:"string"`
6086}
6087
6088// String returns the string representation
6089func (s ActionLocalIpDetails) String() string {
6090	return awsutil.Prettify(s)
6091}
6092
6093// GoString returns the string representation
6094func (s ActionLocalIpDetails) GoString() string {
6095	return s.String()
6096}
6097
6098// SetIpAddressV4 sets the IpAddressV4 field's value.
6099func (s *ActionLocalIpDetails) SetIpAddressV4(v string) *ActionLocalIpDetails {
6100	s.IpAddressV4 = &v
6101	return s
6102}
6103
6104// For NetworkConnectionAction and PortProbeDetails, LocalPortDetails provides
6105// information about the local port that was involved in the action.
6106type ActionLocalPortDetails struct {
6107	_ struct{} `type:"structure"`
6108
6109	// The number of the port.
6110	Port *int64 `type:"integer"`
6111
6112	// The port name of the local connection.
6113	PortName *string `type:"string"`
6114}
6115
6116// String returns the string representation
6117func (s ActionLocalPortDetails) String() string {
6118	return awsutil.Prettify(s)
6119}
6120
6121// GoString returns the string representation
6122func (s ActionLocalPortDetails) GoString() string {
6123	return s.String()
6124}
6125
6126// SetPort sets the Port field's value.
6127func (s *ActionLocalPortDetails) SetPort(v int64) *ActionLocalPortDetails {
6128	s.Port = &v
6129	return s
6130}
6131
6132// SetPortName sets the PortName field's value.
6133func (s *ActionLocalPortDetails) SetPortName(v string) *ActionLocalPortDetails {
6134	s.PortName = &v
6135	return s
6136}
6137
6138// For AwsApiAction, NetworkConnectionAction, and PortProbeAction, RemoteIpDetails
6139// provides information about the remote IP address that was involved in the
6140// action.
6141type ActionRemoteIpDetails struct {
6142	_ struct{} `type:"structure"`
6143
6144	// The city where the remote IP address is located.
6145	City *City `type:"structure"`
6146
6147	// The country where the remote IP address is located.
6148	Country *Country `type:"structure"`
6149
6150	// The coordinates of the location of the remote IP address.
6151	GeoLocation *GeoLocation `type:"structure"`
6152
6153	// The IP address.
6154	IpAddressV4 *string `type:"string"`
6155
6156	// The internet service provider (ISP) organization associated with the remote
6157	// IP address.
6158	Organization *IpOrganizationDetails `type:"structure"`
6159}
6160
6161// String returns the string representation
6162func (s ActionRemoteIpDetails) String() string {
6163	return awsutil.Prettify(s)
6164}
6165
6166// GoString returns the string representation
6167func (s ActionRemoteIpDetails) GoString() string {
6168	return s.String()
6169}
6170
6171// SetCity sets the City field's value.
6172func (s *ActionRemoteIpDetails) SetCity(v *City) *ActionRemoteIpDetails {
6173	s.City = v
6174	return s
6175}
6176
6177// SetCountry sets the Country field's value.
6178func (s *ActionRemoteIpDetails) SetCountry(v *Country) *ActionRemoteIpDetails {
6179	s.Country = v
6180	return s
6181}
6182
6183// SetGeoLocation sets the GeoLocation field's value.
6184func (s *ActionRemoteIpDetails) SetGeoLocation(v *GeoLocation) *ActionRemoteIpDetails {
6185	s.GeoLocation = v
6186	return s
6187}
6188
6189// SetIpAddressV4 sets the IpAddressV4 field's value.
6190func (s *ActionRemoteIpDetails) SetIpAddressV4(v string) *ActionRemoteIpDetails {
6191	s.IpAddressV4 = &v
6192	return s
6193}
6194
6195// SetOrganization sets the Organization field's value.
6196func (s *ActionRemoteIpDetails) SetOrganization(v *IpOrganizationDetails) *ActionRemoteIpDetails {
6197	s.Organization = v
6198	return s
6199}
6200
6201// Provides information about the remote port that was involved in an attempted
6202// network connection.
6203type ActionRemotePortDetails struct {
6204	_ struct{} `type:"structure"`
6205
6206	// The number of the port.
6207	Port *int64 `type:"integer"`
6208
6209	// The port name of the remote connection.
6210	PortName *string `type:"string"`
6211}
6212
6213// String returns the string representation
6214func (s ActionRemotePortDetails) String() string {
6215	return awsutil.Prettify(s)
6216}
6217
6218// GoString returns the string representation
6219func (s ActionRemotePortDetails) GoString() string {
6220	return s.String()
6221}
6222
6223// SetPort sets the Port field's value.
6224func (s *ActionRemotePortDetails) SetPort(v int64) *ActionRemotePortDetails {
6225	s.Port = &v
6226	return s
6227}
6228
6229// SetPortName sets the PortName field's value.
6230func (s *ActionRemotePortDetails) SetPortName(v string) *ActionRemotePortDetails {
6231	s.PortName = &v
6232	return s
6233}
6234
6235// An ActionTarget object.
6236type ActionTarget struct {
6237	_ struct{} `type:"structure"`
6238
6239	// The ARN for the target action.
6240	//
6241	// ActionTargetArn is a required field
6242	ActionTargetArn *string `type:"string" required:"true"`
6243
6244	// The description of the target action.
6245	//
6246	// Description is a required field
6247	Description *string `type:"string" required:"true"`
6248
6249	// The name of the action target.
6250	//
6251	// Name is a required field
6252	Name *string `type:"string" required:"true"`
6253}
6254
6255// String returns the string representation
6256func (s ActionTarget) String() string {
6257	return awsutil.Prettify(s)
6258}
6259
6260// GoString returns the string representation
6261func (s ActionTarget) GoString() string {
6262	return s.String()
6263}
6264
6265// SetActionTargetArn sets the ActionTargetArn field's value.
6266func (s *ActionTarget) SetActionTargetArn(v string) *ActionTarget {
6267	s.ActionTargetArn = &v
6268	return s
6269}
6270
6271// SetDescription sets the Description field's value.
6272func (s *ActionTarget) SetDescription(v string) *ActionTarget {
6273	s.Description = &v
6274	return s
6275}
6276
6277// SetName sets the Name field's value.
6278func (s *ActionTarget) SetName(v string) *ActionTarget {
6279	s.Name = &v
6280	return s
6281}
6282
6283// Represents a Security Hub administrator account designated by an organization
6284// management account.
6285type AdminAccount struct {
6286	_ struct{} `type:"structure"`
6287
6288	// The Amazon Web Services account identifier of the Security Hub administrator
6289	// account.
6290	AccountId *string `type:"string"`
6291
6292	// The current status of the Security Hub administrator account. Indicates whether
6293	// the account is currently enabled as a Security Hub administrator.
6294	Status *string `type:"string" enum:"AdminStatus"`
6295}
6296
6297// String returns the string representation
6298func (s AdminAccount) String() string {
6299	return awsutil.Prettify(s)
6300}
6301
6302// GoString returns the string representation
6303func (s AdminAccount) GoString() string {
6304	return s.String()
6305}
6306
6307// SetAccountId sets the AccountId field's value.
6308func (s *AdminAccount) SetAccountId(v string) *AdminAccount {
6309	s.AccountId = &v
6310	return s
6311}
6312
6313// SetStatus sets the Status field's value.
6314func (s *AdminAccount) SetStatus(v string) *AdminAccount {
6315	s.Status = &v
6316	return s
6317}
6318
6319// Information about an Availability Zone.
6320type AvailabilityZone struct {
6321	_ struct{} `type:"structure"`
6322
6323	// The ID of the subnet. You can specify one subnet per Availability Zone.
6324	SubnetId *string `type:"string"`
6325
6326	// The name of the Availability Zone.
6327	ZoneName *string `type:"string"`
6328}
6329
6330// String returns the string representation
6331func (s AvailabilityZone) String() string {
6332	return awsutil.Prettify(s)
6333}
6334
6335// GoString returns the string representation
6336func (s AvailabilityZone) GoString() string {
6337	return s.String()
6338}
6339
6340// SetSubnetId sets the SubnetId field's value.
6341func (s *AvailabilityZone) SetSubnetId(v string) *AvailabilityZone {
6342	s.SubnetId = &v
6343	return s
6344}
6345
6346// SetZoneName sets the ZoneName field's value.
6347func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
6348	s.ZoneName = &v
6349	return s
6350}
6351
6352// Provided if ActionType is AWS_API_CALL. It provides details about the API
6353// call that was detected.
6354type AwsApiCallAction struct {
6355	_ struct{} `type:"structure"`
6356
6357	// Identifies the resources that were affected by the API call.
6358	AffectedResources map[string]*string `type:"map"`
6359
6360	// The name of the API method that was issued.
6361	Api *string `type:"string"`
6362
6363	// Indicates whether the API call originated from a remote IP address (remoteip)
6364	// or from a DNS domain (domain).
6365	CallerType *string `type:"string"`
6366
6367	// Provided if CallerType is domain. Provides information about the DNS domain
6368	// that the API call originated from.
6369	DomainDetails *AwsApiCallActionDomainDetails `type:"structure"`
6370
6371	// An ISO8601-formatted timestamp that indicates when the API call was first
6372	// observed.
6373	FirstSeen *string `type:"string"`
6374
6375	// An ISO8601-formatted timestamp that indicates when the API call was most
6376	// recently observed.
6377	LastSeen *string `type:"string"`
6378
6379	// Provided if CallerType is remoteIp. Provides information about the remote
6380	// IP address that the API call originated from.
6381	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
6382
6383	// The name of the Amazon Web Services service that the API method belongs to.
6384	ServiceName *string `type:"string"`
6385}
6386
6387// String returns the string representation
6388func (s AwsApiCallAction) String() string {
6389	return awsutil.Prettify(s)
6390}
6391
6392// GoString returns the string representation
6393func (s AwsApiCallAction) GoString() string {
6394	return s.String()
6395}
6396
6397// SetAffectedResources sets the AffectedResources field's value.
6398func (s *AwsApiCallAction) SetAffectedResources(v map[string]*string) *AwsApiCallAction {
6399	s.AffectedResources = v
6400	return s
6401}
6402
6403// SetApi sets the Api field's value.
6404func (s *AwsApiCallAction) SetApi(v string) *AwsApiCallAction {
6405	s.Api = &v
6406	return s
6407}
6408
6409// SetCallerType sets the CallerType field's value.
6410func (s *AwsApiCallAction) SetCallerType(v string) *AwsApiCallAction {
6411	s.CallerType = &v
6412	return s
6413}
6414
6415// SetDomainDetails sets the DomainDetails field's value.
6416func (s *AwsApiCallAction) SetDomainDetails(v *AwsApiCallActionDomainDetails) *AwsApiCallAction {
6417	s.DomainDetails = v
6418	return s
6419}
6420
6421// SetFirstSeen sets the FirstSeen field's value.
6422func (s *AwsApiCallAction) SetFirstSeen(v string) *AwsApiCallAction {
6423	s.FirstSeen = &v
6424	return s
6425}
6426
6427// SetLastSeen sets the LastSeen field's value.
6428func (s *AwsApiCallAction) SetLastSeen(v string) *AwsApiCallAction {
6429	s.LastSeen = &v
6430	return s
6431}
6432
6433// SetRemoteIpDetails sets the RemoteIpDetails field's value.
6434func (s *AwsApiCallAction) SetRemoteIpDetails(v *ActionRemoteIpDetails) *AwsApiCallAction {
6435	s.RemoteIpDetails = v
6436	return s
6437}
6438
6439// SetServiceName sets the ServiceName field's value.
6440func (s *AwsApiCallAction) SetServiceName(v string) *AwsApiCallAction {
6441	s.ServiceName = &v
6442	return s
6443}
6444
6445// Provided if CallerType is domain. It provides information about the DNS domain
6446// that issued the API call.
6447type AwsApiCallActionDomainDetails struct {
6448	_ struct{} `type:"structure"`
6449
6450	// The name of the DNS domain that issued the API call.
6451	Domain *string `type:"string"`
6452}
6453
6454// String returns the string representation
6455func (s AwsApiCallActionDomainDetails) String() string {
6456	return awsutil.Prettify(s)
6457}
6458
6459// GoString returns the string representation
6460func (s AwsApiCallActionDomainDetails) GoString() string {
6461	return s.String()
6462}
6463
6464// SetDomain sets the Domain field's value.
6465func (s *AwsApiCallActionDomainDetails) SetDomain(v string) *AwsApiCallActionDomainDetails {
6466	s.Domain = &v
6467	return s
6468}
6469
6470// Contains information about settings for logging access for the stage.
6471type AwsApiGatewayAccessLogSettings struct {
6472	_ struct{} `type:"structure"`
6473
6474	// The ARN of the CloudWatch Logs log group that receives the access logs.
6475	DestinationArn *string `type:"string"`
6476
6477	// A single-line format of the access logs of data, as specified by selected
6478	// $context variables. The format must include at least $context.requestId.
6479	Format *string `type:"string"`
6480}
6481
6482// String returns the string representation
6483func (s AwsApiGatewayAccessLogSettings) String() string {
6484	return awsutil.Prettify(s)
6485}
6486
6487// GoString returns the string representation
6488func (s AwsApiGatewayAccessLogSettings) GoString() string {
6489	return s.String()
6490}
6491
6492// SetDestinationArn sets the DestinationArn field's value.
6493func (s *AwsApiGatewayAccessLogSettings) SetDestinationArn(v string) *AwsApiGatewayAccessLogSettings {
6494	s.DestinationArn = &v
6495	return s
6496}
6497
6498// SetFormat sets the Format field's value.
6499func (s *AwsApiGatewayAccessLogSettings) SetFormat(v string) *AwsApiGatewayAccessLogSettings {
6500	s.Format = &v
6501	return s
6502}
6503
6504// Contains information about settings for canary deployment in the stage.
6505type AwsApiGatewayCanarySettings struct {
6506	_ struct{} `type:"structure"`
6507
6508	// The deployment identifier for the canary deployment.
6509	DeploymentId *string `type:"string"`
6510
6511	// The percentage of traffic that is diverted to a canary deployment.
6512	PercentTraffic *float64 `type:"double"`
6513
6514	// Stage variables that are overridden in the canary release deployment. The
6515	// variables include new stage variables that are introduced in the canary.
6516	//
6517	// Each variable is represented as a string-to-string map between the stage
6518	// variable name and the variable value.
6519	StageVariableOverrides map[string]*string `type:"map"`
6520
6521	// Indicates whether the canary deployment uses the stage cache.
6522	UseStageCache *bool `type:"boolean"`
6523}
6524
6525// String returns the string representation
6526func (s AwsApiGatewayCanarySettings) String() string {
6527	return awsutil.Prettify(s)
6528}
6529
6530// GoString returns the string representation
6531func (s AwsApiGatewayCanarySettings) GoString() string {
6532	return s.String()
6533}
6534
6535// SetDeploymentId sets the DeploymentId field's value.
6536func (s *AwsApiGatewayCanarySettings) SetDeploymentId(v string) *AwsApiGatewayCanarySettings {
6537	s.DeploymentId = &v
6538	return s
6539}
6540
6541// SetPercentTraffic sets the PercentTraffic field's value.
6542func (s *AwsApiGatewayCanarySettings) SetPercentTraffic(v float64) *AwsApiGatewayCanarySettings {
6543	s.PercentTraffic = &v
6544	return s
6545}
6546
6547// SetStageVariableOverrides sets the StageVariableOverrides field's value.
6548func (s *AwsApiGatewayCanarySettings) SetStageVariableOverrides(v map[string]*string) *AwsApiGatewayCanarySettings {
6549	s.StageVariableOverrides = v
6550	return s
6551}
6552
6553// SetUseStageCache sets the UseStageCache field's value.
6554func (s *AwsApiGatewayCanarySettings) SetUseStageCache(v bool) *AwsApiGatewayCanarySettings {
6555	s.UseStageCache = &v
6556	return s
6557}
6558
6559// Contains information about the endpoints for the API.
6560type AwsApiGatewayEndpointConfiguration struct {
6561	_ struct{} `type:"structure"`
6562
6563	// A list of endpoint types for the REST API.
6564	//
6565	// For an edge-optimized API, the endpoint type is EDGE. For a Regional API,
6566	// the endpoint type is REGIONAL. For a private API, the endpoint type is PRIVATE.
6567	Types []*string `type:"list"`
6568}
6569
6570// String returns the string representation
6571func (s AwsApiGatewayEndpointConfiguration) String() string {
6572	return awsutil.Prettify(s)
6573}
6574
6575// GoString returns the string representation
6576func (s AwsApiGatewayEndpointConfiguration) GoString() string {
6577	return s.String()
6578}
6579
6580// SetTypes sets the Types field's value.
6581func (s *AwsApiGatewayEndpointConfiguration) SetTypes(v []*string) *AwsApiGatewayEndpointConfiguration {
6582	s.Types = v
6583	return s
6584}
6585
6586// Defines settings for a method for the stage.
6587type AwsApiGatewayMethodSettings struct {
6588	_ struct{} `type:"structure"`
6589
6590	// Indicates whether the cached responses are encrypted.
6591	CacheDataEncrypted *bool `type:"boolean"`
6592
6593	// Specifies the time to live (TTL), in seconds, for cached responses. The higher
6594	// the TTL, the longer the response is cached.
6595	CacheTtlInSeconds *int64 `type:"integer"`
6596
6597	// Indicates whether responses are cached and returned for requests. For responses
6598	// to be cached, a cache cluster must be enabled on the stage.
6599	CachingEnabled *bool `type:"boolean"`
6600
6601	// Indicates whether data trace logging is enabled for the method. Data trace
6602	// logging affects the log entries that are pushed to CloudWatch Logs.
6603	DataTraceEnabled *bool `type:"boolean"`
6604
6605	// The HTTP method. You can use an asterisk (*) as a wildcard to apply method
6606	// settings to multiple methods.
6607	HttpMethod *string `type:"string"`
6608
6609	// The logging level for this method. The logging level affects the log entries
6610	// that are pushed to CloudWatch Logs.
6611	//
6612	// If the logging level is ERROR, then the logs only include error-level entries.
6613	//
6614	// If the logging level is INFO, then the logs include both ERROR events and
6615	// extra informational events.
6616	//
6617	// Valid values: OFF | ERROR | INFO
6618	LoggingLevel *string `type:"string"`
6619
6620	// Indicates whether CloudWatch metrics are enabled for the method.
6621	MetricsEnabled *bool `type:"boolean"`
6622
6623	// Indicates whether authorization is required for a cache invalidation request.
6624	RequireAuthorizationForCacheControl *bool `type:"boolean"`
6625
6626	// The resource path for this method. Forward slashes (/) are encoded as ~1
6627	// . The initial slash must include a forward slash.
6628	//
6629	// For example, the path value /resource/subresource must be encoded as /~1resource~1subresource.
6630	//
6631	// To specify the root path, use only a slash (/). You can use an asterisk (*)
6632	// as a wildcard to apply method settings to multiple methods.
6633	ResourcePath *string `type:"string"`
6634
6635	// The throttling burst limit for the method.
6636	ThrottlingBurstLimit *int64 `type:"integer"`
6637
6638	// The throttling rate limit for the method.
6639	ThrottlingRateLimit *float64 `type:"double"`
6640
6641	// Indicates how to handle unauthorized requests for cache invalidation.
6642	//
6643	// Valid values: FAIL_WITH_403 | SUCCEED_WITH_RESPONSE_HEADER | SUCCEED_WITHOUT_RESPONSE_HEADER
6644	UnauthorizedCacheControlHeaderStrategy *string `type:"string"`
6645}
6646
6647// String returns the string representation
6648func (s AwsApiGatewayMethodSettings) String() string {
6649	return awsutil.Prettify(s)
6650}
6651
6652// GoString returns the string representation
6653func (s AwsApiGatewayMethodSettings) GoString() string {
6654	return s.String()
6655}
6656
6657// SetCacheDataEncrypted sets the CacheDataEncrypted field's value.
6658func (s *AwsApiGatewayMethodSettings) SetCacheDataEncrypted(v bool) *AwsApiGatewayMethodSettings {
6659	s.CacheDataEncrypted = &v
6660	return s
6661}
6662
6663// SetCacheTtlInSeconds sets the CacheTtlInSeconds field's value.
6664func (s *AwsApiGatewayMethodSettings) SetCacheTtlInSeconds(v int64) *AwsApiGatewayMethodSettings {
6665	s.CacheTtlInSeconds = &v
6666	return s
6667}
6668
6669// SetCachingEnabled sets the CachingEnabled field's value.
6670func (s *AwsApiGatewayMethodSettings) SetCachingEnabled(v bool) *AwsApiGatewayMethodSettings {
6671	s.CachingEnabled = &v
6672	return s
6673}
6674
6675// SetDataTraceEnabled sets the DataTraceEnabled field's value.
6676func (s *AwsApiGatewayMethodSettings) SetDataTraceEnabled(v bool) *AwsApiGatewayMethodSettings {
6677	s.DataTraceEnabled = &v
6678	return s
6679}
6680
6681// SetHttpMethod sets the HttpMethod field's value.
6682func (s *AwsApiGatewayMethodSettings) SetHttpMethod(v string) *AwsApiGatewayMethodSettings {
6683	s.HttpMethod = &v
6684	return s
6685}
6686
6687// SetLoggingLevel sets the LoggingLevel field's value.
6688func (s *AwsApiGatewayMethodSettings) SetLoggingLevel(v string) *AwsApiGatewayMethodSettings {
6689	s.LoggingLevel = &v
6690	return s
6691}
6692
6693// SetMetricsEnabled sets the MetricsEnabled field's value.
6694func (s *AwsApiGatewayMethodSettings) SetMetricsEnabled(v bool) *AwsApiGatewayMethodSettings {
6695	s.MetricsEnabled = &v
6696	return s
6697}
6698
6699// SetRequireAuthorizationForCacheControl sets the RequireAuthorizationForCacheControl field's value.
6700func (s *AwsApiGatewayMethodSettings) SetRequireAuthorizationForCacheControl(v bool) *AwsApiGatewayMethodSettings {
6701	s.RequireAuthorizationForCacheControl = &v
6702	return s
6703}
6704
6705// SetResourcePath sets the ResourcePath field's value.
6706func (s *AwsApiGatewayMethodSettings) SetResourcePath(v string) *AwsApiGatewayMethodSettings {
6707	s.ResourcePath = &v
6708	return s
6709}
6710
6711// SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
6712func (s *AwsApiGatewayMethodSettings) SetThrottlingBurstLimit(v int64) *AwsApiGatewayMethodSettings {
6713	s.ThrottlingBurstLimit = &v
6714	return s
6715}
6716
6717// SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
6718func (s *AwsApiGatewayMethodSettings) SetThrottlingRateLimit(v float64) *AwsApiGatewayMethodSettings {
6719	s.ThrottlingRateLimit = &v
6720	return s
6721}
6722
6723// SetUnauthorizedCacheControlHeaderStrategy sets the UnauthorizedCacheControlHeaderStrategy field's value.
6724func (s *AwsApiGatewayMethodSettings) SetUnauthorizedCacheControlHeaderStrategy(v string) *AwsApiGatewayMethodSettings {
6725	s.UnauthorizedCacheControlHeaderStrategy = &v
6726	return s
6727}
6728
6729// Contains information about a REST API in version 1 of Amazon API Gateway.
6730type AwsApiGatewayRestApiDetails struct {
6731	_ struct{} `type:"structure"`
6732
6733	// The source of the API key for metering requests according to a usage plan.
6734	//
6735	// HEADER indicates whether to read the API key from the X-API-Key header of
6736	// a request.
6737	//
6738	// AUTHORIZER indicates whether to read the API key from the UsageIdentifierKey
6739	// from a custom authorizer.
6740	ApiKeySource *string `type:"string"`
6741
6742	// The list of binary media types supported by the REST API.
6743	BinaryMediaTypes []*string `type:"list"`
6744
6745	// Indicates when the API was created.
6746	//
6747	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6748	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6749	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6750	CreatedDate *string `type:"string"`
6751
6752	// A description of the REST API.
6753	Description *string `type:"string"`
6754
6755	// The endpoint configuration of the REST API.
6756	EndpointConfiguration *AwsApiGatewayEndpointConfiguration `type:"structure"`
6757
6758	// The identifier of the REST API.
6759	Id *string `type:"string"`
6760
6761	// The minimum size in bytes of a payload before compression is enabled.
6762	//
6763	// If null, then compression is disabled.
6764	//
6765	// If 0, then all payloads are compressed.
6766	MinimumCompressionSize *int64 `type:"integer"`
6767
6768	// The name of the REST API.
6769	Name *string `type:"string"`
6770
6771	// The version identifier for the REST API.
6772	Version *string `type:"string"`
6773}
6774
6775// String returns the string representation
6776func (s AwsApiGatewayRestApiDetails) String() string {
6777	return awsutil.Prettify(s)
6778}
6779
6780// GoString returns the string representation
6781func (s AwsApiGatewayRestApiDetails) GoString() string {
6782	return s.String()
6783}
6784
6785// SetApiKeySource sets the ApiKeySource field's value.
6786func (s *AwsApiGatewayRestApiDetails) SetApiKeySource(v string) *AwsApiGatewayRestApiDetails {
6787	s.ApiKeySource = &v
6788	return s
6789}
6790
6791// SetBinaryMediaTypes sets the BinaryMediaTypes field's value.
6792func (s *AwsApiGatewayRestApiDetails) SetBinaryMediaTypes(v []*string) *AwsApiGatewayRestApiDetails {
6793	s.BinaryMediaTypes = v
6794	return s
6795}
6796
6797// SetCreatedDate sets the CreatedDate field's value.
6798func (s *AwsApiGatewayRestApiDetails) SetCreatedDate(v string) *AwsApiGatewayRestApiDetails {
6799	s.CreatedDate = &v
6800	return s
6801}
6802
6803// SetDescription sets the Description field's value.
6804func (s *AwsApiGatewayRestApiDetails) SetDescription(v string) *AwsApiGatewayRestApiDetails {
6805	s.Description = &v
6806	return s
6807}
6808
6809// SetEndpointConfiguration sets the EndpointConfiguration field's value.
6810func (s *AwsApiGatewayRestApiDetails) SetEndpointConfiguration(v *AwsApiGatewayEndpointConfiguration) *AwsApiGatewayRestApiDetails {
6811	s.EndpointConfiguration = v
6812	return s
6813}
6814
6815// SetId sets the Id field's value.
6816func (s *AwsApiGatewayRestApiDetails) SetId(v string) *AwsApiGatewayRestApiDetails {
6817	s.Id = &v
6818	return s
6819}
6820
6821// SetMinimumCompressionSize sets the MinimumCompressionSize field's value.
6822func (s *AwsApiGatewayRestApiDetails) SetMinimumCompressionSize(v int64) *AwsApiGatewayRestApiDetails {
6823	s.MinimumCompressionSize = &v
6824	return s
6825}
6826
6827// SetName sets the Name field's value.
6828func (s *AwsApiGatewayRestApiDetails) SetName(v string) *AwsApiGatewayRestApiDetails {
6829	s.Name = &v
6830	return s
6831}
6832
6833// SetVersion sets the Version field's value.
6834func (s *AwsApiGatewayRestApiDetails) SetVersion(v string) *AwsApiGatewayRestApiDetails {
6835	s.Version = &v
6836	return s
6837}
6838
6839// Provides information about a version 1 Amazon API Gateway stage.
6840type AwsApiGatewayStageDetails struct {
6841	_ struct{} `type:"structure"`
6842
6843	// Settings for logging access for the stage.
6844	AccessLogSettings *AwsApiGatewayAccessLogSettings `type:"structure"`
6845
6846	// Indicates whether a cache cluster is enabled for the stage.
6847	CacheClusterEnabled *bool `type:"boolean"`
6848
6849	// If a cache cluster is enabled, the size of the cache cluster.
6850	CacheClusterSize *string `type:"string"`
6851
6852	// If a cache cluster is enabled, the status of the cache cluster.
6853	CacheClusterStatus *string `type:"string"`
6854
6855	// Information about settings for canary deployment in the stage.
6856	CanarySettings *AwsApiGatewayCanarySettings `type:"structure"`
6857
6858	// The identifier of the client certificate for the stage.
6859	ClientCertificateId *string `type:"string"`
6860
6861	// Indicates when the stage was created.
6862	//
6863	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6864	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6865	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6866	CreatedDate *string `type:"string"`
6867
6868	// The identifier of the deployment that the stage points to.
6869	DeploymentId *string `type:"string"`
6870
6871	// A description of the stage.
6872	Description *string `type:"string"`
6873
6874	// The version of the API documentation that is associated with the stage.
6875	DocumentationVersion *string `type:"string"`
6876
6877	// Indicates when the stage was most recently updated.
6878	//
6879	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6880	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6881	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6882	LastUpdatedDate *string `type:"string"`
6883
6884	// Defines the method settings for the stage.
6885	MethodSettings []*AwsApiGatewayMethodSettings `type:"list"`
6886
6887	// The name of the stage.
6888	StageName *string `type:"string"`
6889
6890	// Indicates whether active tracing with X-Ray is enabled for the stage.
6891	TracingEnabled *bool `type:"boolean"`
6892
6893	// A map that defines the stage variables for the stage.
6894	//
6895	// Variable names can have alphanumeric and underscore characters.
6896	//
6897	// Variable values can contain the following characters:
6898	//
6899	//    * Uppercase and lowercase letters
6900	//
6901	//    * Numbers
6902	//
6903	//    * Special characters -._~:/?#&=,
6904	Variables map[string]*string `type:"map"`
6905
6906	// The ARN of the web ACL associated with the stage.
6907	WebAclArn *string `type:"string"`
6908}
6909
6910// String returns the string representation
6911func (s AwsApiGatewayStageDetails) String() string {
6912	return awsutil.Prettify(s)
6913}
6914
6915// GoString returns the string representation
6916func (s AwsApiGatewayStageDetails) GoString() string {
6917	return s.String()
6918}
6919
6920// SetAccessLogSettings sets the AccessLogSettings field's value.
6921func (s *AwsApiGatewayStageDetails) SetAccessLogSettings(v *AwsApiGatewayAccessLogSettings) *AwsApiGatewayStageDetails {
6922	s.AccessLogSettings = v
6923	return s
6924}
6925
6926// SetCacheClusterEnabled sets the CacheClusterEnabled field's value.
6927func (s *AwsApiGatewayStageDetails) SetCacheClusterEnabled(v bool) *AwsApiGatewayStageDetails {
6928	s.CacheClusterEnabled = &v
6929	return s
6930}
6931
6932// SetCacheClusterSize sets the CacheClusterSize field's value.
6933func (s *AwsApiGatewayStageDetails) SetCacheClusterSize(v string) *AwsApiGatewayStageDetails {
6934	s.CacheClusterSize = &v
6935	return s
6936}
6937
6938// SetCacheClusterStatus sets the CacheClusterStatus field's value.
6939func (s *AwsApiGatewayStageDetails) SetCacheClusterStatus(v string) *AwsApiGatewayStageDetails {
6940	s.CacheClusterStatus = &v
6941	return s
6942}
6943
6944// SetCanarySettings sets the CanarySettings field's value.
6945func (s *AwsApiGatewayStageDetails) SetCanarySettings(v *AwsApiGatewayCanarySettings) *AwsApiGatewayStageDetails {
6946	s.CanarySettings = v
6947	return s
6948}
6949
6950// SetClientCertificateId sets the ClientCertificateId field's value.
6951func (s *AwsApiGatewayStageDetails) SetClientCertificateId(v string) *AwsApiGatewayStageDetails {
6952	s.ClientCertificateId = &v
6953	return s
6954}
6955
6956// SetCreatedDate sets the CreatedDate field's value.
6957func (s *AwsApiGatewayStageDetails) SetCreatedDate(v string) *AwsApiGatewayStageDetails {
6958	s.CreatedDate = &v
6959	return s
6960}
6961
6962// SetDeploymentId sets the DeploymentId field's value.
6963func (s *AwsApiGatewayStageDetails) SetDeploymentId(v string) *AwsApiGatewayStageDetails {
6964	s.DeploymentId = &v
6965	return s
6966}
6967
6968// SetDescription sets the Description field's value.
6969func (s *AwsApiGatewayStageDetails) SetDescription(v string) *AwsApiGatewayStageDetails {
6970	s.Description = &v
6971	return s
6972}
6973
6974// SetDocumentationVersion sets the DocumentationVersion field's value.
6975func (s *AwsApiGatewayStageDetails) SetDocumentationVersion(v string) *AwsApiGatewayStageDetails {
6976	s.DocumentationVersion = &v
6977	return s
6978}
6979
6980// SetLastUpdatedDate sets the LastUpdatedDate field's value.
6981func (s *AwsApiGatewayStageDetails) SetLastUpdatedDate(v string) *AwsApiGatewayStageDetails {
6982	s.LastUpdatedDate = &v
6983	return s
6984}
6985
6986// SetMethodSettings sets the MethodSettings field's value.
6987func (s *AwsApiGatewayStageDetails) SetMethodSettings(v []*AwsApiGatewayMethodSettings) *AwsApiGatewayStageDetails {
6988	s.MethodSettings = v
6989	return s
6990}
6991
6992// SetStageName sets the StageName field's value.
6993func (s *AwsApiGatewayStageDetails) SetStageName(v string) *AwsApiGatewayStageDetails {
6994	s.StageName = &v
6995	return s
6996}
6997
6998// SetTracingEnabled sets the TracingEnabled field's value.
6999func (s *AwsApiGatewayStageDetails) SetTracingEnabled(v bool) *AwsApiGatewayStageDetails {
7000	s.TracingEnabled = &v
7001	return s
7002}
7003
7004// SetVariables sets the Variables field's value.
7005func (s *AwsApiGatewayStageDetails) SetVariables(v map[string]*string) *AwsApiGatewayStageDetails {
7006	s.Variables = v
7007	return s
7008}
7009
7010// SetWebAclArn sets the WebAclArn field's value.
7011func (s *AwsApiGatewayStageDetails) SetWebAclArn(v string) *AwsApiGatewayStageDetails {
7012	s.WebAclArn = &v
7013	return s
7014}
7015
7016// Contains information about a version 2 API in Amazon API Gateway.
7017type AwsApiGatewayV2ApiDetails struct {
7018	_ struct{} `type:"structure"`
7019
7020	// The URI of the API.
7021	//
7022	// Uses the format <api-id>.execute-api.<region>.amazonaws.com
7023	//
7024	// The stage name is typically appended to the URI to form a complete path to
7025	// a deployed API stage.
7026	ApiEndpoint *string `type:"string"`
7027
7028	// The identifier of the API.
7029	ApiId *string `type:"string"`
7030
7031	// An API key selection expression. Supported only for WebSocket APIs.
7032	ApiKeySelectionExpression *string `type:"string"`
7033
7034	// A cross-origin resource sharing (CORS) configuration. Supported only for
7035	// HTTP APIs.
7036	CorsConfiguration *AwsCorsConfiguration `type:"structure"`
7037
7038	// Indicates when the API was created.
7039	//
7040	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7041	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7042	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7043	CreatedDate *string `type:"string"`
7044
7045	// A description of the API.
7046	Description *string `type:"string"`
7047
7048	// The name of the API.
7049	Name *string `type:"string"`
7050
7051	// The API protocol for the API.
7052	//
7053	// Valid values: WEBSOCKET | HTTP
7054	ProtocolType *string `type:"string"`
7055
7056	// The route selection expression for the API.
7057	//
7058	// For HTTP APIs, must be ${request.method} ${request.path}. This is the default
7059	// value for HTTP APIs.
7060	//
7061	// For WebSocket APIs, there is no default value.
7062	RouteSelectionExpression *string `type:"string"`
7063
7064	// The version identifier for the API.
7065	Version *string `type:"string"`
7066}
7067
7068// String returns the string representation
7069func (s AwsApiGatewayV2ApiDetails) String() string {
7070	return awsutil.Prettify(s)
7071}
7072
7073// GoString returns the string representation
7074func (s AwsApiGatewayV2ApiDetails) GoString() string {
7075	return s.String()
7076}
7077
7078// SetApiEndpoint sets the ApiEndpoint field's value.
7079func (s *AwsApiGatewayV2ApiDetails) SetApiEndpoint(v string) *AwsApiGatewayV2ApiDetails {
7080	s.ApiEndpoint = &v
7081	return s
7082}
7083
7084// SetApiId sets the ApiId field's value.
7085func (s *AwsApiGatewayV2ApiDetails) SetApiId(v string) *AwsApiGatewayV2ApiDetails {
7086	s.ApiId = &v
7087	return s
7088}
7089
7090// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
7091func (s *AwsApiGatewayV2ApiDetails) SetApiKeySelectionExpression(v string) *AwsApiGatewayV2ApiDetails {
7092	s.ApiKeySelectionExpression = &v
7093	return s
7094}
7095
7096// SetCorsConfiguration sets the CorsConfiguration field's value.
7097func (s *AwsApiGatewayV2ApiDetails) SetCorsConfiguration(v *AwsCorsConfiguration) *AwsApiGatewayV2ApiDetails {
7098	s.CorsConfiguration = v
7099	return s
7100}
7101
7102// SetCreatedDate sets the CreatedDate field's value.
7103func (s *AwsApiGatewayV2ApiDetails) SetCreatedDate(v string) *AwsApiGatewayV2ApiDetails {
7104	s.CreatedDate = &v
7105	return s
7106}
7107
7108// SetDescription sets the Description field's value.
7109func (s *AwsApiGatewayV2ApiDetails) SetDescription(v string) *AwsApiGatewayV2ApiDetails {
7110	s.Description = &v
7111	return s
7112}
7113
7114// SetName sets the Name field's value.
7115func (s *AwsApiGatewayV2ApiDetails) SetName(v string) *AwsApiGatewayV2ApiDetails {
7116	s.Name = &v
7117	return s
7118}
7119
7120// SetProtocolType sets the ProtocolType field's value.
7121func (s *AwsApiGatewayV2ApiDetails) SetProtocolType(v string) *AwsApiGatewayV2ApiDetails {
7122	s.ProtocolType = &v
7123	return s
7124}
7125
7126// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
7127func (s *AwsApiGatewayV2ApiDetails) SetRouteSelectionExpression(v string) *AwsApiGatewayV2ApiDetails {
7128	s.RouteSelectionExpression = &v
7129	return s
7130}
7131
7132// SetVersion sets the Version field's value.
7133func (s *AwsApiGatewayV2ApiDetails) SetVersion(v string) *AwsApiGatewayV2ApiDetails {
7134	s.Version = &v
7135	return s
7136}
7137
7138// Contains route settings for a stage.
7139type AwsApiGatewayV2RouteSettings struct {
7140	_ struct{} `type:"structure"`
7141
7142	// Indicates whether data trace logging is enabled. Data trace logging affects
7143	// the log entries that are pushed to CloudWatch Logs. Supported only for WebSocket
7144	// APIs.
7145	DataTraceEnabled *bool `type:"boolean"`
7146
7147	// Indicates whether detailed metrics are enabled.
7148	DetailedMetricsEnabled *bool `type:"boolean"`
7149
7150	// The logging level. The logging level affects the log entries that are pushed
7151	// to CloudWatch Logs. Supported only for WebSocket APIs.
7152	//
7153	// If the logging level is ERROR, then the logs only include error-level entries.
7154	//
7155	// If the logging level is INFO, then the logs include both ERROR events and
7156	// extra informational events.
7157	//
7158	// Valid values: OFF | ERROR | INFO
7159	LoggingLevel *string `type:"string"`
7160
7161	// The throttling burst limit.
7162	ThrottlingBurstLimit *int64 `type:"integer"`
7163
7164	// The throttling rate limit.
7165	ThrottlingRateLimit *float64 `type:"double"`
7166}
7167
7168// String returns the string representation
7169func (s AwsApiGatewayV2RouteSettings) String() string {
7170	return awsutil.Prettify(s)
7171}
7172
7173// GoString returns the string representation
7174func (s AwsApiGatewayV2RouteSettings) GoString() string {
7175	return s.String()
7176}
7177
7178// SetDataTraceEnabled sets the DataTraceEnabled field's value.
7179func (s *AwsApiGatewayV2RouteSettings) SetDataTraceEnabled(v bool) *AwsApiGatewayV2RouteSettings {
7180	s.DataTraceEnabled = &v
7181	return s
7182}
7183
7184// SetDetailedMetricsEnabled sets the DetailedMetricsEnabled field's value.
7185func (s *AwsApiGatewayV2RouteSettings) SetDetailedMetricsEnabled(v bool) *AwsApiGatewayV2RouteSettings {
7186	s.DetailedMetricsEnabled = &v
7187	return s
7188}
7189
7190// SetLoggingLevel sets the LoggingLevel field's value.
7191func (s *AwsApiGatewayV2RouteSettings) SetLoggingLevel(v string) *AwsApiGatewayV2RouteSettings {
7192	s.LoggingLevel = &v
7193	return s
7194}
7195
7196// SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
7197func (s *AwsApiGatewayV2RouteSettings) SetThrottlingBurstLimit(v int64) *AwsApiGatewayV2RouteSettings {
7198	s.ThrottlingBurstLimit = &v
7199	return s
7200}
7201
7202// SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
7203func (s *AwsApiGatewayV2RouteSettings) SetThrottlingRateLimit(v float64) *AwsApiGatewayV2RouteSettings {
7204	s.ThrottlingRateLimit = &v
7205	return s
7206}
7207
7208// Contains information about a version 2 stage for Amazon API Gateway.
7209type AwsApiGatewayV2StageDetails struct {
7210	_ struct{} `type:"structure"`
7211
7212	// Information about settings for logging access for the stage.
7213	AccessLogSettings *AwsApiGatewayAccessLogSettings `type:"structure"`
7214
7215	// Indicates whether the stage is managed by API Gateway.
7216	ApiGatewayManaged *bool `type:"boolean"`
7217
7218	// Indicates whether updates to an API automatically trigger a new deployment.
7219	AutoDeploy *bool `type:"boolean"`
7220
7221	// The identifier of a client certificate for a stage. Supported only for WebSocket
7222	// API calls.
7223	ClientCertificateId *string `type:"string"`
7224
7225	// Indicates when the stage was created.
7226	//
7227	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7228	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7229	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7230	CreatedDate *string `type:"string"`
7231
7232	// Default route settings for the stage.
7233	DefaultRouteSettings *AwsApiGatewayV2RouteSettings `type:"structure"`
7234
7235	// The identifier of the deployment that the stage is associated with.
7236	DeploymentId *string `type:"string"`
7237
7238	// The description of the stage.
7239	Description *string `type:"string"`
7240
7241	// The status of the last deployment of a stage. Supported only if the stage
7242	// has automatic deployment enabled.
7243	LastDeploymentStatusMessage *string `type:"string"`
7244
7245	// Indicates when the stage was most recently updated.
7246	//
7247	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7248	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7249	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7250	LastUpdatedDate *string `type:"string"`
7251
7252	// The route settings for the stage.
7253	RouteSettings *AwsApiGatewayV2RouteSettings `type:"structure"`
7254
7255	// The name of the stage.
7256	StageName *string `type:"string"`
7257
7258	// A map that defines the stage variables for the stage.
7259	//
7260	// Variable names can have alphanumeric and underscore characters.
7261	//
7262	// Variable values can contain the following characters:
7263	//
7264	//    * Uppercase and lowercase letters
7265	//
7266	//    * Numbers
7267	//
7268	//    * Special characters -._~:/?#&=,
7269	StageVariables map[string]*string `type:"map"`
7270}
7271
7272// String returns the string representation
7273func (s AwsApiGatewayV2StageDetails) String() string {
7274	return awsutil.Prettify(s)
7275}
7276
7277// GoString returns the string representation
7278func (s AwsApiGatewayV2StageDetails) GoString() string {
7279	return s.String()
7280}
7281
7282// SetAccessLogSettings sets the AccessLogSettings field's value.
7283func (s *AwsApiGatewayV2StageDetails) SetAccessLogSettings(v *AwsApiGatewayAccessLogSettings) *AwsApiGatewayV2StageDetails {
7284	s.AccessLogSettings = v
7285	return s
7286}
7287
7288// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
7289func (s *AwsApiGatewayV2StageDetails) SetApiGatewayManaged(v bool) *AwsApiGatewayV2StageDetails {
7290	s.ApiGatewayManaged = &v
7291	return s
7292}
7293
7294// SetAutoDeploy sets the AutoDeploy field's value.
7295func (s *AwsApiGatewayV2StageDetails) SetAutoDeploy(v bool) *AwsApiGatewayV2StageDetails {
7296	s.AutoDeploy = &v
7297	return s
7298}
7299
7300// SetClientCertificateId sets the ClientCertificateId field's value.
7301func (s *AwsApiGatewayV2StageDetails) SetClientCertificateId(v string) *AwsApiGatewayV2StageDetails {
7302	s.ClientCertificateId = &v
7303	return s
7304}
7305
7306// SetCreatedDate sets the CreatedDate field's value.
7307func (s *AwsApiGatewayV2StageDetails) SetCreatedDate(v string) *AwsApiGatewayV2StageDetails {
7308	s.CreatedDate = &v
7309	return s
7310}
7311
7312// SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
7313func (s *AwsApiGatewayV2StageDetails) SetDefaultRouteSettings(v *AwsApiGatewayV2RouteSettings) *AwsApiGatewayV2StageDetails {
7314	s.DefaultRouteSettings = v
7315	return s
7316}
7317
7318// SetDeploymentId sets the DeploymentId field's value.
7319func (s *AwsApiGatewayV2StageDetails) SetDeploymentId(v string) *AwsApiGatewayV2StageDetails {
7320	s.DeploymentId = &v
7321	return s
7322}
7323
7324// SetDescription sets the Description field's value.
7325func (s *AwsApiGatewayV2StageDetails) SetDescription(v string) *AwsApiGatewayV2StageDetails {
7326	s.Description = &v
7327	return s
7328}
7329
7330// SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
7331func (s *AwsApiGatewayV2StageDetails) SetLastDeploymentStatusMessage(v string) *AwsApiGatewayV2StageDetails {
7332	s.LastDeploymentStatusMessage = &v
7333	return s
7334}
7335
7336// SetLastUpdatedDate sets the LastUpdatedDate field's value.
7337func (s *AwsApiGatewayV2StageDetails) SetLastUpdatedDate(v string) *AwsApiGatewayV2StageDetails {
7338	s.LastUpdatedDate = &v
7339	return s
7340}
7341
7342// SetRouteSettings sets the RouteSettings field's value.
7343func (s *AwsApiGatewayV2StageDetails) SetRouteSettings(v *AwsApiGatewayV2RouteSettings) *AwsApiGatewayV2StageDetails {
7344	s.RouteSettings = v
7345	return s
7346}
7347
7348// SetStageName sets the StageName field's value.
7349func (s *AwsApiGatewayV2StageDetails) SetStageName(v string) *AwsApiGatewayV2StageDetails {
7350	s.StageName = &v
7351	return s
7352}
7353
7354// SetStageVariables sets the StageVariables field's value.
7355func (s *AwsApiGatewayV2StageDetails) SetStageVariables(v map[string]*string) *AwsApiGatewayV2StageDetails {
7356	s.StageVariables = v
7357	return s
7358}
7359
7360// Provides details about an auto scaling group.
7361type AwsAutoScalingAutoScalingGroupDetails struct {
7362	_ struct{} `type:"structure"`
7363
7364	// Indicates when the auto scaling group was created.
7365	//
7366	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7367	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7368	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7369	CreatedTime *string `type:"string"`
7370
7371	// The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before
7372	// it checks the health status of an EC2 instance that has come into service.
7373	HealthCheckGracePeriod *int64 `type:"integer"`
7374
7375	// The service to use for the health checks.
7376	HealthCheckType *string `type:"string"`
7377
7378	// The name of the launch configuration.
7379	LaunchConfigurationName *string `type:"string"`
7380
7381	// The list of load balancers associated with the group.
7382	LoadBalancerNames []*string `type:"list"`
7383}
7384
7385// String returns the string representation
7386func (s AwsAutoScalingAutoScalingGroupDetails) String() string {
7387	return awsutil.Prettify(s)
7388}
7389
7390// GoString returns the string representation
7391func (s AwsAutoScalingAutoScalingGroupDetails) GoString() string {
7392	return s.String()
7393}
7394
7395// SetCreatedTime sets the CreatedTime field's value.
7396func (s *AwsAutoScalingAutoScalingGroupDetails) SetCreatedTime(v string) *AwsAutoScalingAutoScalingGroupDetails {
7397	s.CreatedTime = &v
7398	return s
7399}
7400
7401// SetHealthCheckGracePeriod sets the HealthCheckGracePeriod field's value.
7402func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckGracePeriod(v int64) *AwsAutoScalingAutoScalingGroupDetails {
7403	s.HealthCheckGracePeriod = &v
7404	return s
7405}
7406
7407// SetHealthCheckType sets the HealthCheckType field's value.
7408func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckType(v string) *AwsAutoScalingAutoScalingGroupDetails {
7409	s.HealthCheckType = &v
7410	return s
7411}
7412
7413// SetLaunchConfigurationName sets the LaunchConfigurationName field's value.
7414func (s *AwsAutoScalingAutoScalingGroupDetails) SetLaunchConfigurationName(v string) *AwsAutoScalingAutoScalingGroupDetails {
7415	s.LaunchConfigurationName = &v
7416	return s
7417}
7418
7419// SetLoadBalancerNames sets the LoadBalancerNames field's value.
7420func (s *AwsAutoScalingAutoScalingGroupDetails) SetLoadBalancerNames(v []*string) *AwsAutoScalingAutoScalingGroupDetails {
7421	s.LoadBalancerNames = v
7422	return s
7423}
7424
7425// Provides details about an Certificate Manager certificate.
7426type AwsCertificateManagerCertificateDetails struct {
7427	_ struct{} `type:"structure"`
7428
7429	// The ARN of the private certificate authority (CA) that will be used to issue
7430	// the certificate.
7431	CertificateAuthorityArn *string `type:"string"`
7432
7433	// Indicates when the certificate was requested.
7434	//
7435	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7436	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7437	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7438	CreatedAt *string `type:"string"`
7439
7440	// The fully qualified domain name (FQDN), such as www.example.com, that is
7441	// secured by the certificate.
7442	DomainName *string `type:"string"`
7443
7444	// Contains information about the initial validation of each domain name that
7445	// occurs as a result of the RequestCertificate request.
7446	//
7447	// Only provided if the certificate type is AMAZON_ISSUED.
7448	DomainValidationOptions []*AwsCertificateManagerCertificateDomainValidationOption `type:"list"`
7449
7450	// Contains a list of Extended Key Usage X.509 v3 extension objects. Each object
7451	// specifies a purpose for which the certificate public key can be used and
7452	// consists of a name and an object identifier (OID).
7453	ExtendedKeyUsages []*AwsCertificateManagerCertificateExtendedKeyUsage `type:"list"`
7454
7455	// For a failed certificate request, the reason for the failure.
7456	//
7457	// Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED |
7458	// DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR
7459	// | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED
7460	// | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS
7461	// | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER
7462	FailureReason *string `type:"string"`
7463
7464	// Indicates when the certificate was imported. Provided if the certificate
7465	// type is IMPORTED.
7466	//
7467	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7468	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7469	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7470	ImportedAt *string `type:"string"`
7471
7472	// The list of ARNs for the Amazon Web Services resources that use the certificate.
7473	InUseBy []*string `type:"list"`
7474
7475	// Indicates when the certificate was issued. Provided if the certificate type
7476	// is AMAZON_ISSUED.
7477	//
7478	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7479	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7480	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7481	IssuedAt *string `type:"string"`
7482
7483	// The name of the certificate authority that issued and signed the certificate.
7484	Issuer *string `type:"string"`
7485
7486	// The algorithm that was used to generate the public-private key pair.
7487	//
7488	// Valid values: RSA_2048 | RSA_1024 |RSA_4096 | EC_prime256v1 | EC_secp384r1
7489	// | EC_secp521r1
7490	KeyAlgorithm *string `type:"string"`
7491
7492	// A list of key usage X.509 v3 extension objects.
7493	KeyUsages []*AwsCertificateManagerCertificateKeyUsage `type:"list"`
7494
7495	// The time after which the certificate becomes invalid.
7496	//
7497	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7498	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7499	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7500	NotAfter *string `type:"string"`
7501
7502	// The time before which the certificate is not valid.
7503	//
7504	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7505	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7506	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7507	NotBefore *string `type:"string"`
7508
7509	// Provides a value that specifies whether to add the certificate to a transparency
7510	// log.
7511	Options *AwsCertificateManagerCertificateOptions `type:"structure"`
7512
7513	// Whether the certificate is eligible for renewal.
7514	//
7515	// Valid values: ELIGIBLE | INELIGIBLE
7516	RenewalEligibility *string `type:"string"`
7517
7518	// Information about the status of the Certificate Manager managed renewal for
7519	// the certificate. Provided only when the certificate type is AMAZON_ISSUED.
7520	RenewalSummary *AwsCertificateManagerCertificateRenewalSummary `type:"structure"`
7521
7522	// The serial number of the certificate.
7523	Serial *string `type:"string"`
7524
7525	// The algorithm that was used to sign the certificate.
7526	SignatureAlgorithm *string `type:"string"`
7527
7528	// The status of the certificate.
7529	//
7530	// Valid values: PENDING_VALIDATION | ISSUED | INACTIVE | EXPIRED | VALIDATION_TIMED_OUT
7531	// | REVOKED | FAILED
7532	Status *string `type:"string"`
7533
7534	// The name of the entity that is associated with the public key contained in
7535	// the certificate.
7536	Subject *string `type:"string"`
7537
7538	// One or more domain names (subject alternative names) included in the certificate.
7539	// This list contains the domain names that are bound to the public key that
7540	// is contained in the certificate.
7541	//
7542	// The subject alternative names include the canonical domain name (CN) of the
7543	// certificate and additional domain names that can be used to connect to the
7544	// website.
7545	SubjectAlternativeNames []*string `type:"list"`
7546
7547	// The source of the certificate. For certificates that Certificate Manager
7548	// provides, Type is AMAZON_ISSUED. For certificates that are imported with
7549	// ImportCertificate, Type is IMPORTED.
7550	//
7551	// Valid values: IMPORTED | AMAZON_ISSUED | PRIVATE
7552	Type *string `type:"string"`
7553}
7554
7555// String returns the string representation
7556func (s AwsCertificateManagerCertificateDetails) String() string {
7557	return awsutil.Prettify(s)
7558}
7559
7560// GoString returns the string representation
7561func (s AwsCertificateManagerCertificateDetails) GoString() string {
7562	return s.String()
7563}
7564
7565// SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value.
7566func (s *AwsCertificateManagerCertificateDetails) SetCertificateAuthorityArn(v string) *AwsCertificateManagerCertificateDetails {
7567	s.CertificateAuthorityArn = &v
7568	return s
7569}
7570
7571// SetCreatedAt sets the CreatedAt field's value.
7572func (s *AwsCertificateManagerCertificateDetails) SetCreatedAt(v string) *AwsCertificateManagerCertificateDetails {
7573	s.CreatedAt = &v
7574	return s
7575}
7576
7577// SetDomainName sets the DomainName field's value.
7578func (s *AwsCertificateManagerCertificateDetails) SetDomainName(v string) *AwsCertificateManagerCertificateDetails {
7579	s.DomainName = &v
7580	return s
7581}
7582
7583// SetDomainValidationOptions sets the DomainValidationOptions field's value.
7584func (s *AwsCertificateManagerCertificateDetails) SetDomainValidationOptions(v []*AwsCertificateManagerCertificateDomainValidationOption) *AwsCertificateManagerCertificateDetails {
7585	s.DomainValidationOptions = v
7586	return s
7587}
7588
7589// SetExtendedKeyUsages sets the ExtendedKeyUsages field's value.
7590func (s *AwsCertificateManagerCertificateDetails) SetExtendedKeyUsages(v []*AwsCertificateManagerCertificateExtendedKeyUsage) *AwsCertificateManagerCertificateDetails {
7591	s.ExtendedKeyUsages = v
7592	return s
7593}
7594
7595// SetFailureReason sets the FailureReason field's value.
7596func (s *AwsCertificateManagerCertificateDetails) SetFailureReason(v string) *AwsCertificateManagerCertificateDetails {
7597	s.FailureReason = &v
7598	return s
7599}
7600
7601// SetImportedAt sets the ImportedAt field's value.
7602func (s *AwsCertificateManagerCertificateDetails) SetImportedAt(v string) *AwsCertificateManagerCertificateDetails {
7603	s.ImportedAt = &v
7604	return s
7605}
7606
7607// SetInUseBy sets the InUseBy field's value.
7608func (s *AwsCertificateManagerCertificateDetails) SetInUseBy(v []*string) *AwsCertificateManagerCertificateDetails {
7609	s.InUseBy = v
7610	return s
7611}
7612
7613// SetIssuedAt sets the IssuedAt field's value.
7614func (s *AwsCertificateManagerCertificateDetails) SetIssuedAt(v string) *AwsCertificateManagerCertificateDetails {
7615	s.IssuedAt = &v
7616	return s
7617}
7618
7619// SetIssuer sets the Issuer field's value.
7620func (s *AwsCertificateManagerCertificateDetails) SetIssuer(v string) *AwsCertificateManagerCertificateDetails {
7621	s.Issuer = &v
7622	return s
7623}
7624
7625// SetKeyAlgorithm sets the KeyAlgorithm field's value.
7626func (s *AwsCertificateManagerCertificateDetails) SetKeyAlgorithm(v string) *AwsCertificateManagerCertificateDetails {
7627	s.KeyAlgorithm = &v
7628	return s
7629}
7630
7631// SetKeyUsages sets the KeyUsages field's value.
7632func (s *AwsCertificateManagerCertificateDetails) SetKeyUsages(v []*AwsCertificateManagerCertificateKeyUsage) *AwsCertificateManagerCertificateDetails {
7633	s.KeyUsages = v
7634	return s
7635}
7636
7637// SetNotAfter sets the NotAfter field's value.
7638func (s *AwsCertificateManagerCertificateDetails) SetNotAfter(v string) *AwsCertificateManagerCertificateDetails {
7639	s.NotAfter = &v
7640	return s
7641}
7642
7643// SetNotBefore sets the NotBefore field's value.
7644func (s *AwsCertificateManagerCertificateDetails) SetNotBefore(v string) *AwsCertificateManagerCertificateDetails {
7645	s.NotBefore = &v
7646	return s
7647}
7648
7649// SetOptions sets the Options field's value.
7650func (s *AwsCertificateManagerCertificateDetails) SetOptions(v *AwsCertificateManagerCertificateOptions) *AwsCertificateManagerCertificateDetails {
7651	s.Options = v
7652	return s
7653}
7654
7655// SetRenewalEligibility sets the RenewalEligibility field's value.
7656func (s *AwsCertificateManagerCertificateDetails) SetRenewalEligibility(v string) *AwsCertificateManagerCertificateDetails {
7657	s.RenewalEligibility = &v
7658	return s
7659}
7660
7661// SetRenewalSummary sets the RenewalSummary field's value.
7662func (s *AwsCertificateManagerCertificateDetails) SetRenewalSummary(v *AwsCertificateManagerCertificateRenewalSummary) *AwsCertificateManagerCertificateDetails {
7663	s.RenewalSummary = v
7664	return s
7665}
7666
7667// SetSerial sets the Serial field's value.
7668func (s *AwsCertificateManagerCertificateDetails) SetSerial(v string) *AwsCertificateManagerCertificateDetails {
7669	s.Serial = &v
7670	return s
7671}
7672
7673// SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
7674func (s *AwsCertificateManagerCertificateDetails) SetSignatureAlgorithm(v string) *AwsCertificateManagerCertificateDetails {
7675	s.SignatureAlgorithm = &v
7676	return s
7677}
7678
7679// SetStatus sets the Status field's value.
7680func (s *AwsCertificateManagerCertificateDetails) SetStatus(v string) *AwsCertificateManagerCertificateDetails {
7681	s.Status = &v
7682	return s
7683}
7684
7685// SetSubject sets the Subject field's value.
7686func (s *AwsCertificateManagerCertificateDetails) SetSubject(v string) *AwsCertificateManagerCertificateDetails {
7687	s.Subject = &v
7688	return s
7689}
7690
7691// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
7692func (s *AwsCertificateManagerCertificateDetails) SetSubjectAlternativeNames(v []*string) *AwsCertificateManagerCertificateDetails {
7693	s.SubjectAlternativeNames = v
7694	return s
7695}
7696
7697// SetType sets the Type field's value.
7698func (s *AwsCertificateManagerCertificateDetails) SetType(v string) *AwsCertificateManagerCertificateDetails {
7699	s.Type = &v
7700	return s
7701}
7702
7703// Contains information about one of the following:
7704//
7705//    * The initial validation of each domain name that occurs as a result of
7706//    the RequestCertificate request
7707//
7708//    * The validation of each domain name in the certificate, as it pertains
7709//    to Certificate Manager managed renewal
7710type AwsCertificateManagerCertificateDomainValidationOption struct {
7711	_ struct{} `type:"structure"`
7712
7713	// A fully qualified domain name (FQDN) in the certificate.
7714	DomainName *string `type:"string"`
7715
7716	// The CNAME record that is added to the DNS database for domain validation.
7717	ResourceRecord *AwsCertificateManagerCertificateResourceRecord `type:"structure"`
7718
7719	// The domain name that Certificate Manager uses to send domain validation emails.
7720	ValidationDomain *string `type:"string"`
7721
7722	// A list of email addresses that Certificate Manager uses to send domain validation
7723	// emails.
7724	ValidationEmails []*string `type:"list"`
7725
7726	// The method used to validate the domain name.
7727	ValidationMethod *string `type:"string"`
7728
7729	// The validation status of the domain name.
7730	ValidationStatus *string `type:"string"`
7731}
7732
7733// String returns the string representation
7734func (s AwsCertificateManagerCertificateDomainValidationOption) String() string {
7735	return awsutil.Prettify(s)
7736}
7737
7738// GoString returns the string representation
7739func (s AwsCertificateManagerCertificateDomainValidationOption) GoString() string {
7740	return s.String()
7741}
7742
7743// SetDomainName sets the DomainName field's value.
7744func (s *AwsCertificateManagerCertificateDomainValidationOption) SetDomainName(v string) *AwsCertificateManagerCertificateDomainValidationOption {
7745	s.DomainName = &v
7746	return s
7747}
7748
7749// SetResourceRecord sets the ResourceRecord field's value.
7750func (s *AwsCertificateManagerCertificateDomainValidationOption) SetResourceRecord(v *AwsCertificateManagerCertificateResourceRecord) *AwsCertificateManagerCertificateDomainValidationOption {
7751	s.ResourceRecord = v
7752	return s
7753}
7754
7755// SetValidationDomain sets the ValidationDomain field's value.
7756func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationDomain(v string) *AwsCertificateManagerCertificateDomainValidationOption {
7757	s.ValidationDomain = &v
7758	return s
7759}
7760
7761// SetValidationEmails sets the ValidationEmails field's value.
7762func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationEmails(v []*string) *AwsCertificateManagerCertificateDomainValidationOption {
7763	s.ValidationEmails = v
7764	return s
7765}
7766
7767// SetValidationMethod sets the ValidationMethod field's value.
7768func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationMethod(v string) *AwsCertificateManagerCertificateDomainValidationOption {
7769	s.ValidationMethod = &v
7770	return s
7771}
7772
7773// SetValidationStatus sets the ValidationStatus field's value.
7774func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationStatus(v string) *AwsCertificateManagerCertificateDomainValidationOption {
7775	s.ValidationStatus = &v
7776	return s
7777}
7778
7779// Contains information about an extended key usage X.509 v3 extension object.
7780type AwsCertificateManagerCertificateExtendedKeyUsage struct {
7781	_ struct{} `type:"structure"`
7782
7783	// The name of an extension value. Indicates the purpose for which the certificate
7784	// public key can be used.
7785	Name *string `type:"string"`
7786
7787	// An object identifier (OID) for the extension value.
7788	//
7789	// The format is numbers separated by periods.
7790	OId *string `type:"string"`
7791}
7792
7793// String returns the string representation
7794func (s AwsCertificateManagerCertificateExtendedKeyUsage) String() string {
7795	return awsutil.Prettify(s)
7796}
7797
7798// GoString returns the string representation
7799func (s AwsCertificateManagerCertificateExtendedKeyUsage) GoString() string {
7800	return s.String()
7801}
7802
7803// SetName sets the Name field's value.
7804func (s *AwsCertificateManagerCertificateExtendedKeyUsage) SetName(v string) *AwsCertificateManagerCertificateExtendedKeyUsage {
7805	s.Name = &v
7806	return s
7807}
7808
7809// SetOId sets the OId field's value.
7810func (s *AwsCertificateManagerCertificateExtendedKeyUsage) SetOId(v string) *AwsCertificateManagerCertificateExtendedKeyUsage {
7811	s.OId = &v
7812	return s
7813}
7814
7815// Contains information about a key usage X.509 v3 extension object.
7816type AwsCertificateManagerCertificateKeyUsage struct {
7817	_ struct{} `type:"structure"`
7818
7819	// The key usage extension name.
7820	Name *string `type:"string"`
7821}
7822
7823// String returns the string representation
7824func (s AwsCertificateManagerCertificateKeyUsage) String() string {
7825	return awsutil.Prettify(s)
7826}
7827
7828// GoString returns the string representation
7829func (s AwsCertificateManagerCertificateKeyUsage) GoString() string {
7830	return s.String()
7831}
7832
7833// SetName sets the Name field's value.
7834func (s *AwsCertificateManagerCertificateKeyUsage) SetName(v string) *AwsCertificateManagerCertificateKeyUsage {
7835	s.Name = &v
7836	return s
7837}
7838
7839// Contains other options for the certificate.
7840type AwsCertificateManagerCertificateOptions struct {
7841	_ struct{} `type:"structure"`
7842
7843	// Whether to add the certificate to a transparency log.
7844	//
7845	// Valid values: DISABLED | ENABLED
7846	CertificateTransparencyLoggingPreference *string `type:"string"`
7847}
7848
7849// String returns the string representation
7850func (s AwsCertificateManagerCertificateOptions) String() string {
7851	return awsutil.Prettify(s)
7852}
7853
7854// GoString returns the string representation
7855func (s AwsCertificateManagerCertificateOptions) GoString() string {
7856	return s.String()
7857}
7858
7859// SetCertificateTransparencyLoggingPreference sets the CertificateTransparencyLoggingPreference field's value.
7860func (s *AwsCertificateManagerCertificateOptions) SetCertificateTransparencyLoggingPreference(v string) *AwsCertificateManagerCertificateOptions {
7861	s.CertificateTransparencyLoggingPreference = &v
7862	return s
7863}
7864
7865// Contains information about the Certificate Manager managed renewal for an
7866// AMAZON_ISSUED certificate.
7867type AwsCertificateManagerCertificateRenewalSummary struct {
7868	_ struct{} `type:"structure"`
7869
7870	// Information about the validation of each domain name in the certificate,
7871	// as it pertains to Certificate Manager managed renewal. Provided only when
7872	// the certificate type is AMAZON_ISSUED.
7873	DomainValidationOptions []*AwsCertificateManagerCertificateDomainValidationOption `type:"list"`
7874
7875	// The status of the Certificate Manager managed renewal of the certificate.
7876	//
7877	// Valid values: PENDING_AUTO_RENEWAL | PENDING_VALIDATION | SUCCESS | FAILED
7878	RenewalStatus *string `type:"string"`
7879
7880	// The reason that a renewal request was unsuccessful.
7881	//
7882	// Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED |
7883	// DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR
7884	// | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED
7885	// | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS
7886	// | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER
7887	RenewalStatusReason *string `type:"string"`
7888
7889	// Indicates when the renewal summary was last updated.
7890	//
7891	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7892	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7893	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7894	UpdatedAt *string `type:"string"`
7895}
7896
7897// String returns the string representation
7898func (s AwsCertificateManagerCertificateRenewalSummary) String() string {
7899	return awsutil.Prettify(s)
7900}
7901
7902// GoString returns the string representation
7903func (s AwsCertificateManagerCertificateRenewalSummary) GoString() string {
7904	return s.String()
7905}
7906
7907// SetDomainValidationOptions sets the DomainValidationOptions field's value.
7908func (s *AwsCertificateManagerCertificateRenewalSummary) SetDomainValidationOptions(v []*AwsCertificateManagerCertificateDomainValidationOption) *AwsCertificateManagerCertificateRenewalSummary {
7909	s.DomainValidationOptions = v
7910	return s
7911}
7912
7913// SetRenewalStatus sets the RenewalStatus field's value.
7914func (s *AwsCertificateManagerCertificateRenewalSummary) SetRenewalStatus(v string) *AwsCertificateManagerCertificateRenewalSummary {
7915	s.RenewalStatus = &v
7916	return s
7917}
7918
7919// SetRenewalStatusReason sets the RenewalStatusReason field's value.
7920func (s *AwsCertificateManagerCertificateRenewalSummary) SetRenewalStatusReason(v string) *AwsCertificateManagerCertificateRenewalSummary {
7921	s.RenewalStatusReason = &v
7922	return s
7923}
7924
7925// SetUpdatedAt sets the UpdatedAt field's value.
7926func (s *AwsCertificateManagerCertificateRenewalSummary) SetUpdatedAt(v string) *AwsCertificateManagerCertificateRenewalSummary {
7927	s.UpdatedAt = &v
7928	return s
7929}
7930
7931// Provides details about the CNAME record that is added to the DNS database
7932// for domain validation.
7933type AwsCertificateManagerCertificateResourceRecord struct {
7934	_ struct{} `type:"structure"`
7935
7936	// The name of the resource.
7937	Name *string `type:"string"`
7938
7939	// The type of resource.
7940	Type *string `type:"string"`
7941
7942	// The value of the resource.
7943	Value *string `type:"string"`
7944}
7945
7946// String returns the string representation
7947func (s AwsCertificateManagerCertificateResourceRecord) String() string {
7948	return awsutil.Prettify(s)
7949}
7950
7951// GoString returns the string representation
7952func (s AwsCertificateManagerCertificateResourceRecord) GoString() string {
7953	return s.String()
7954}
7955
7956// SetName sets the Name field's value.
7957func (s *AwsCertificateManagerCertificateResourceRecord) SetName(v string) *AwsCertificateManagerCertificateResourceRecord {
7958	s.Name = &v
7959	return s
7960}
7961
7962// SetType sets the Type field's value.
7963func (s *AwsCertificateManagerCertificateResourceRecord) SetType(v string) *AwsCertificateManagerCertificateResourceRecord {
7964	s.Type = &v
7965	return s
7966}
7967
7968// SetValue sets the Value field's value.
7969func (s *AwsCertificateManagerCertificateResourceRecord) SetValue(v string) *AwsCertificateManagerCertificateResourceRecord {
7970	s.Value = &v
7971	return s
7972}
7973
7974// Information about a cache behavior for the distribution.
7975type AwsCloudFrontDistributionCacheBehavior struct {
7976	_ struct{} `type:"structure"`
7977
7978	// The protocol that viewers can use to access the files in an origin. You can
7979	// specify the following options:
7980	//
7981	//    * allow-all - Viewers can use HTTP or HTTPS.
7982	//
7983	//    * redirect-to-https - CloudFront responds to HTTP requests with an HTTP
7984	//    status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then
7985	//    uses the new URL to resubmit.
7986	//
7987	//    * https-only - CloudFront responds to HTTP request with an HTTP status
7988	//    code of 403 (Forbidden).
7989	ViewerProtocolPolicy *string `type:"string"`
7990}
7991
7992// String returns the string representation
7993func (s AwsCloudFrontDistributionCacheBehavior) String() string {
7994	return awsutil.Prettify(s)
7995}
7996
7997// GoString returns the string representation
7998func (s AwsCloudFrontDistributionCacheBehavior) GoString() string {
7999	return s.String()
8000}
8001
8002// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value.
8003func (s *AwsCloudFrontDistributionCacheBehavior) SetViewerProtocolPolicy(v string) *AwsCloudFrontDistributionCacheBehavior {
8004	s.ViewerProtocolPolicy = &v
8005	return s
8006}
8007
8008// Provides information about caching for the distribution.
8009type AwsCloudFrontDistributionCacheBehaviors struct {
8010	_ struct{} `type:"structure"`
8011
8012	// The cache behaviors for the distribution.
8013	Items []*AwsCloudFrontDistributionCacheBehavior `type:"list"`
8014}
8015
8016// String returns the string representation
8017func (s AwsCloudFrontDistributionCacheBehaviors) String() string {
8018	return awsutil.Prettify(s)
8019}
8020
8021// GoString returns the string representation
8022func (s AwsCloudFrontDistributionCacheBehaviors) GoString() string {
8023	return s.String()
8024}
8025
8026// SetItems sets the Items field's value.
8027func (s *AwsCloudFrontDistributionCacheBehaviors) SetItems(v []*AwsCloudFrontDistributionCacheBehavior) *AwsCloudFrontDistributionCacheBehaviors {
8028	s.Items = v
8029	return s
8030}
8031
8032// Contains information about the default cache configuration for the distribution.
8033type AwsCloudFrontDistributionDefaultCacheBehavior struct {
8034	_ struct{} `type:"structure"`
8035
8036	// The protocol that viewers can use to access the files in an origin. You can
8037	// specify the following options:
8038	//
8039	//    * allow-all - Viewers can use HTTP or HTTPS.
8040	//
8041	//    * redirect-to-https - CloudFront responds to HTTP requests with an HTTP
8042	//    status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then
8043	//    uses the new URL to resubmit.
8044	//
8045	//    * https-only - CloudFront responds to HTTP request with an HTTP status
8046	//    code of 403 (Forbidden).
8047	ViewerProtocolPolicy *string `type:"string"`
8048}
8049
8050// String returns the string representation
8051func (s AwsCloudFrontDistributionDefaultCacheBehavior) String() string {
8052	return awsutil.Prettify(s)
8053}
8054
8055// GoString returns the string representation
8056func (s AwsCloudFrontDistributionDefaultCacheBehavior) GoString() string {
8057	return s.String()
8058}
8059
8060// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value.
8061func (s *AwsCloudFrontDistributionDefaultCacheBehavior) SetViewerProtocolPolicy(v string) *AwsCloudFrontDistributionDefaultCacheBehavior {
8062	s.ViewerProtocolPolicy = &v
8063	return s
8064}
8065
8066// A distribution configuration.
8067type AwsCloudFrontDistributionDetails struct {
8068	_ struct{} `type:"structure"`
8069
8070	// Provides information about the cache configuration for the distribution.
8071	CacheBehaviors *AwsCloudFrontDistributionCacheBehaviors `type:"structure"`
8072
8073	// The default cache behavior for the configuration.
8074	DefaultCacheBehavior *AwsCloudFrontDistributionDefaultCacheBehavior `type:"structure"`
8075
8076	// The object that CloudFront sends in response to requests from the origin
8077	// (for example, index.html) when a viewer requests the root URL for the distribution
8078	// (http://www.example.com) instead of an object in your distribution (http://www.example.com/product-description.html).
8079	DefaultRootObject *string `type:"string"`
8080
8081	// The domain name corresponding to the distribution.
8082	DomainName *string `type:"string"`
8083
8084	// The entity tag is a hash of the object.
8085	ETag *string `type:"string"`
8086
8087	// Indicates when that the distribution was last modified.
8088	//
8089	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8090	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8091	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8092	LastModifiedTime *string `type:"string"`
8093
8094	// A complex type that controls whether access logs are written for the distribution.
8095	Logging *AwsCloudFrontDistributionLogging `type:"structure"`
8096
8097	// Provides information about the origin groups in the distribution.
8098	OriginGroups *AwsCloudFrontDistributionOriginGroups `type:"structure"`
8099
8100	// A complex type that contains information about origins for this distribution.
8101	Origins *AwsCloudFrontDistributionOrigins `type:"structure"`
8102
8103	// Indicates the current status of the distribution.
8104	Status *string `type:"string"`
8105
8106	// A unique identifier that specifies the WAF web ACL, if any, to associate
8107	// with this distribution.
8108	WebAclId *string `type:"string"`
8109}
8110
8111// String returns the string representation
8112func (s AwsCloudFrontDistributionDetails) String() string {
8113	return awsutil.Prettify(s)
8114}
8115
8116// GoString returns the string representation
8117func (s AwsCloudFrontDistributionDetails) GoString() string {
8118	return s.String()
8119}
8120
8121// SetCacheBehaviors sets the CacheBehaviors field's value.
8122func (s *AwsCloudFrontDistributionDetails) SetCacheBehaviors(v *AwsCloudFrontDistributionCacheBehaviors) *AwsCloudFrontDistributionDetails {
8123	s.CacheBehaviors = v
8124	return s
8125}
8126
8127// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
8128func (s *AwsCloudFrontDistributionDetails) SetDefaultCacheBehavior(v *AwsCloudFrontDistributionDefaultCacheBehavior) *AwsCloudFrontDistributionDetails {
8129	s.DefaultCacheBehavior = v
8130	return s
8131}
8132
8133// SetDefaultRootObject sets the DefaultRootObject field's value.
8134func (s *AwsCloudFrontDistributionDetails) SetDefaultRootObject(v string) *AwsCloudFrontDistributionDetails {
8135	s.DefaultRootObject = &v
8136	return s
8137}
8138
8139// SetDomainName sets the DomainName field's value.
8140func (s *AwsCloudFrontDistributionDetails) SetDomainName(v string) *AwsCloudFrontDistributionDetails {
8141	s.DomainName = &v
8142	return s
8143}
8144
8145// SetETag sets the ETag field's value.
8146func (s *AwsCloudFrontDistributionDetails) SetETag(v string) *AwsCloudFrontDistributionDetails {
8147	s.ETag = &v
8148	return s
8149}
8150
8151// SetLastModifiedTime sets the LastModifiedTime field's value.
8152func (s *AwsCloudFrontDistributionDetails) SetLastModifiedTime(v string) *AwsCloudFrontDistributionDetails {
8153	s.LastModifiedTime = &v
8154	return s
8155}
8156
8157// SetLogging sets the Logging field's value.
8158func (s *AwsCloudFrontDistributionDetails) SetLogging(v *AwsCloudFrontDistributionLogging) *AwsCloudFrontDistributionDetails {
8159	s.Logging = v
8160	return s
8161}
8162
8163// SetOriginGroups sets the OriginGroups field's value.
8164func (s *AwsCloudFrontDistributionDetails) SetOriginGroups(v *AwsCloudFrontDistributionOriginGroups) *AwsCloudFrontDistributionDetails {
8165	s.OriginGroups = v
8166	return s
8167}
8168
8169// SetOrigins sets the Origins field's value.
8170func (s *AwsCloudFrontDistributionDetails) SetOrigins(v *AwsCloudFrontDistributionOrigins) *AwsCloudFrontDistributionDetails {
8171	s.Origins = v
8172	return s
8173}
8174
8175// SetStatus sets the Status field's value.
8176func (s *AwsCloudFrontDistributionDetails) SetStatus(v string) *AwsCloudFrontDistributionDetails {
8177	s.Status = &v
8178	return s
8179}
8180
8181// SetWebAclId sets the WebAclId field's value.
8182func (s *AwsCloudFrontDistributionDetails) SetWebAclId(v string) *AwsCloudFrontDistributionDetails {
8183	s.WebAclId = &v
8184	return s
8185}
8186
8187// A complex type that controls whether access logs are written for the distribution.
8188type AwsCloudFrontDistributionLogging struct {
8189	_ struct{} `type:"structure"`
8190
8191	// The S3 bucket to store the access logs in.
8192	Bucket *string `type:"string"`
8193
8194	// With this field, you can enable or disable the selected distribution.
8195	Enabled *bool `type:"boolean"`
8196
8197	// Specifies whether you want CloudFront to include cookies in access logs.
8198	IncludeCookies *bool `type:"boolean"`
8199
8200	// An optional string that you want CloudFront to use as a prefix to the access
8201	// log filenames for this distribution.
8202	Prefix *string `type:"string"`
8203}
8204
8205// String returns the string representation
8206func (s AwsCloudFrontDistributionLogging) String() string {
8207	return awsutil.Prettify(s)
8208}
8209
8210// GoString returns the string representation
8211func (s AwsCloudFrontDistributionLogging) GoString() string {
8212	return s.String()
8213}
8214
8215// SetBucket sets the Bucket field's value.
8216func (s *AwsCloudFrontDistributionLogging) SetBucket(v string) *AwsCloudFrontDistributionLogging {
8217	s.Bucket = &v
8218	return s
8219}
8220
8221// SetEnabled sets the Enabled field's value.
8222func (s *AwsCloudFrontDistributionLogging) SetEnabled(v bool) *AwsCloudFrontDistributionLogging {
8223	s.Enabled = &v
8224	return s
8225}
8226
8227// SetIncludeCookies sets the IncludeCookies field's value.
8228func (s *AwsCloudFrontDistributionLogging) SetIncludeCookies(v bool) *AwsCloudFrontDistributionLogging {
8229	s.IncludeCookies = &v
8230	return s
8231}
8232
8233// SetPrefix sets the Prefix field's value.
8234func (s *AwsCloudFrontDistributionLogging) SetPrefix(v string) *AwsCloudFrontDistributionLogging {
8235	s.Prefix = &v
8236	return s
8237}
8238
8239// Information about an origin group for the distribution.
8240type AwsCloudFrontDistributionOriginGroup struct {
8241	_ struct{} `type:"structure"`
8242
8243	// Provides the criteria for an origin group to fail over.
8244	FailoverCriteria *AwsCloudFrontDistributionOriginGroupFailover `type:"structure"`
8245}
8246
8247// String returns the string representation
8248func (s AwsCloudFrontDistributionOriginGroup) String() string {
8249	return awsutil.Prettify(s)
8250}
8251
8252// GoString returns the string representation
8253func (s AwsCloudFrontDistributionOriginGroup) GoString() string {
8254	return s.String()
8255}
8256
8257// SetFailoverCriteria sets the FailoverCriteria field's value.
8258func (s *AwsCloudFrontDistributionOriginGroup) SetFailoverCriteria(v *AwsCloudFrontDistributionOriginGroupFailover) *AwsCloudFrontDistributionOriginGroup {
8259	s.FailoverCriteria = v
8260	return s
8261}
8262
8263// Provides information about when an origin group fails over.
8264type AwsCloudFrontDistributionOriginGroupFailover struct {
8265	_ struct{} `type:"structure"`
8266
8267	// Information about the status codes that cause an origin group to fail over.
8268	StatusCodes *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes `type:"structure"`
8269}
8270
8271// String returns the string representation
8272func (s AwsCloudFrontDistributionOriginGroupFailover) String() string {
8273	return awsutil.Prettify(s)
8274}
8275
8276// GoString returns the string representation
8277func (s AwsCloudFrontDistributionOriginGroupFailover) GoString() string {
8278	return s.String()
8279}
8280
8281// SetStatusCodes sets the StatusCodes field's value.
8282func (s *AwsCloudFrontDistributionOriginGroupFailover) SetStatusCodes(v *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) *AwsCloudFrontDistributionOriginGroupFailover {
8283	s.StatusCodes = v
8284	return s
8285}
8286
8287// The status codes that cause an origin group to fail over.
8288type AwsCloudFrontDistributionOriginGroupFailoverStatusCodes struct {
8289	_ struct{} `type:"structure"`
8290
8291	// The list of status code values that can cause a failover to the next origin.
8292	Items []*int64 `type:"list"`
8293
8294	// The number of status codes that can cause a failover.
8295	Quantity *int64 `type:"integer"`
8296}
8297
8298// String returns the string representation
8299func (s AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) String() string {
8300	return awsutil.Prettify(s)
8301}
8302
8303// GoString returns the string representation
8304func (s AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) GoString() string {
8305	return s.String()
8306}
8307
8308// SetItems sets the Items field's value.
8309func (s *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) SetItems(v []*int64) *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes {
8310	s.Items = v
8311	return s
8312}
8313
8314// SetQuantity sets the Quantity field's value.
8315func (s *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) SetQuantity(v int64) *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes {
8316	s.Quantity = &v
8317	return s
8318}
8319
8320// Provides information about origin groups that are associated with the distribution.
8321type AwsCloudFrontDistributionOriginGroups struct {
8322	_ struct{} `type:"structure"`
8323
8324	// The list of origin groups.
8325	Items []*AwsCloudFrontDistributionOriginGroup `type:"list"`
8326}
8327
8328// String returns the string representation
8329func (s AwsCloudFrontDistributionOriginGroups) String() string {
8330	return awsutil.Prettify(s)
8331}
8332
8333// GoString returns the string representation
8334func (s AwsCloudFrontDistributionOriginGroups) GoString() string {
8335	return s.String()
8336}
8337
8338// SetItems sets the Items field's value.
8339func (s *AwsCloudFrontDistributionOriginGroups) SetItems(v []*AwsCloudFrontDistributionOriginGroup) *AwsCloudFrontDistributionOriginGroups {
8340	s.Items = v
8341	return s
8342}
8343
8344// A complex type that describes the S3 bucket, HTTP server (for example, a
8345// web server), AWS Elemental MediaStore, or other server from which CloudFront
8346// gets your files.
8347type AwsCloudFrontDistributionOriginItem struct {
8348	_ struct{} `type:"structure"`
8349
8350	// Amazon S3 origins: The DNS name of the S3 bucket from which you want CloudFront
8351	// to get objects for this origin.
8352	DomainName *string `type:"string"`
8353
8354	// A unique identifier for the origin or origin group.
8355	Id *string `type:"string"`
8356
8357	// An optional element that causes CloudFront to request your content from a
8358	// directory in your Amazon S3 bucket or your custom origin.
8359	OriginPath *string `type:"string"`
8360
8361	// An origin that is an S3 bucket that is not configured with static website
8362	// hosting.
8363	S3OriginConfig *AwsCloudFrontDistributionOriginS3OriginConfig `type:"structure"`
8364}
8365
8366// String returns the string representation
8367func (s AwsCloudFrontDistributionOriginItem) String() string {
8368	return awsutil.Prettify(s)
8369}
8370
8371// GoString returns the string representation
8372func (s AwsCloudFrontDistributionOriginItem) GoString() string {
8373	return s.String()
8374}
8375
8376// SetDomainName sets the DomainName field's value.
8377func (s *AwsCloudFrontDistributionOriginItem) SetDomainName(v string) *AwsCloudFrontDistributionOriginItem {
8378	s.DomainName = &v
8379	return s
8380}
8381
8382// SetId sets the Id field's value.
8383func (s *AwsCloudFrontDistributionOriginItem) SetId(v string) *AwsCloudFrontDistributionOriginItem {
8384	s.Id = &v
8385	return s
8386}
8387
8388// SetOriginPath sets the OriginPath field's value.
8389func (s *AwsCloudFrontDistributionOriginItem) SetOriginPath(v string) *AwsCloudFrontDistributionOriginItem {
8390	s.OriginPath = &v
8391	return s
8392}
8393
8394// SetS3OriginConfig sets the S3OriginConfig field's value.
8395func (s *AwsCloudFrontDistributionOriginItem) SetS3OriginConfig(v *AwsCloudFrontDistributionOriginS3OriginConfig) *AwsCloudFrontDistributionOriginItem {
8396	s.S3OriginConfig = v
8397	return s
8398}
8399
8400// Information about an origin that is an S3 bucket that is not configured with
8401// static website hosting.
8402type AwsCloudFrontDistributionOriginS3OriginConfig struct {
8403	_ struct{} `type:"structure"`
8404
8405	// The CloudFront origin access identity to associate with the origin.
8406	OriginAccessIdentity *string `type:"string"`
8407}
8408
8409// String returns the string representation
8410func (s AwsCloudFrontDistributionOriginS3OriginConfig) String() string {
8411	return awsutil.Prettify(s)
8412}
8413
8414// GoString returns the string representation
8415func (s AwsCloudFrontDistributionOriginS3OriginConfig) GoString() string {
8416	return s.String()
8417}
8418
8419// SetOriginAccessIdentity sets the OriginAccessIdentity field's value.
8420func (s *AwsCloudFrontDistributionOriginS3OriginConfig) SetOriginAccessIdentity(v string) *AwsCloudFrontDistributionOriginS3OriginConfig {
8421	s.OriginAccessIdentity = &v
8422	return s
8423}
8424
8425// A complex type that contains information about origins and origin groups
8426// for this distribution.
8427type AwsCloudFrontDistributionOrigins struct {
8428	_ struct{} `type:"structure"`
8429
8430	// A complex type that contains origins or origin groups for this distribution.
8431	Items []*AwsCloudFrontDistributionOriginItem `type:"list"`
8432}
8433
8434// String returns the string representation
8435func (s AwsCloudFrontDistributionOrigins) String() string {
8436	return awsutil.Prettify(s)
8437}
8438
8439// GoString returns the string representation
8440func (s AwsCloudFrontDistributionOrigins) GoString() string {
8441	return s.String()
8442}
8443
8444// SetItems sets the Items field's value.
8445func (s *AwsCloudFrontDistributionOrigins) SetItems(v []*AwsCloudFrontDistributionOriginItem) *AwsCloudFrontDistributionOrigins {
8446	s.Items = v
8447	return s
8448}
8449
8450// Provides details about a CloudTrail trail.
8451type AwsCloudTrailTrailDetails struct {
8452	_ struct{} `type:"structure"`
8453
8454	// The ARN of the log group that CloudTrail logs are delivered to.
8455	CloudWatchLogsLogGroupArn *string `type:"string"`
8456
8457	// The ARN of the role that the CloudWatch Events endpoint assumes when it writes
8458	// to the log group.
8459	CloudWatchLogsRoleArn *string `type:"string"`
8460
8461	// Indicates whether the trail has custom event selectors.
8462	HasCustomEventSelectors *bool `type:"boolean"`
8463
8464	// The Region where the trail was created.
8465	HomeRegion *string `type:"string"`
8466
8467	// Indicates whether the trail publishes events from global services such as
8468	// IAM to the log files.
8469	IncludeGlobalServiceEvents *bool `type:"boolean"`
8470
8471	// Indicates whether the trail applies only to the current Region or to all
8472	// Regions.
8473	IsMultiRegionTrail *bool `type:"boolean"`
8474
8475	// Whether the trail is created for all accounts in an organization in Organizations,
8476	// or only for the current Amazon Web Services account.
8477	IsOrganizationTrail *bool `type:"boolean"`
8478
8479	// The KMS key ID to use to encrypt the logs.
8480	KmsKeyId *string `type:"string"`
8481
8482	// Indicates whether CloudTrail log file validation is enabled.
8483	LogFileValidationEnabled *bool `type:"boolean"`
8484
8485	// The name of the trail.
8486	Name *string `type:"string"`
8487
8488	// The name of the S3 bucket where the log files are published.
8489	S3BucketName *string `type:"string"`
8490
8491	// The S3 key prefix. The key prefix is added after the name of the S3 bucket
8492	// where the log files are published.
8493	S3KeyPrefix *string `type:"string"`
8494
8495	// The ARN of the SNS topic that is used for notifications of log file delivery.
8496	SnsTopicArn *string `type:"string"`
8497
8498	// The name of the SNS topic that is used for notifications of log file delivery.
8499	SnsTopicName *string `type:"string"`
8500
8501	// The ARN of the trail.
8502	TrailArn *string `type:"string"`
8503}
8504
8505// String returns the string representation
8506func (s AwsCloudTrailTrailDetails) String() string {
8507	return awsutil.Prettify(s)
8508}
8509
8510// GoString returns the string representation
8511func (s AwsCloudTrailTrailDetails) GoString() string {
8512	return s.String()
8513}
8514
8515// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
8516func (s *AwsCloudTrailTrailDetails) SetCloudWatchLogsLogGroupArn(v string) *AwsCloudTrailTrailDetails {
8517	s.CloudWatchLogsLogGroupArn = &v
8518	return s
8519}
8520
8521// SetCloudWatchLogsRoleArn sets the CloudWatchLogsRoleArn field's value.
8522func (s *AwsCloudTrailTrailDetails) SetCloudWatchLogsRoleArn(v string) *AwsCloudTrailTrailDetails {
8523	s.CloudWatchLogsRoleArn = &v
8524	return s
8525}
8526
8527// SetHasCustomEventSelectors sets the HasCustomEventSelectors field's value.
8528func (s *AwsCloudTrailTrailDetails) SetHasCustomEventSelectors(v bool) *AwsCloudTrailTrailDetails {
8529	s.HasCustomEventSelectors = &v
8530	return s
8531}
8532
8533// SetHomeRegion sets the HomeRegion field's value.
8534func (s *AwsCloudTrailTrailDetails) SetHomeRegion(v string) *AwsCloudTrailTrailDetails {
8535	s.HomeRegion = &v
8536	return s
8537}
8538
8539// SetIncludeGlobalServiceEvents sets the IncludeGlobalServiceEvents field's value.
8540func (s *AwsCloudTrailTrailDetails) SetIncludeGlobalServiceEvents(v bool) *AwsCloudTrailTrailDetails {
8541	s.IncludeGlobalServiceEvents = &v
8542	return s
8543}
8544
8545// SetIsMultiRegionTrail sets the IsMultiRegionTrail field's value.
8546func (s *AwsCloudTrailTrailDetails) SetIsMultiRegionTrail(v bool) *AwsCloudTrailTrailDetails {
8547	s.IsMultiRegionTrail = &v
8548	return s
8549}
8550
8551// SetIsOrganizationTrail sets the IsOrganizationTrail field's value.
8552func (s *AwsCloudTrailTrailDetails) SetIsOrganizationTrail(v bool) *AwsCloudTrailTrailDetails {
8553	s.IsOrganizationTrail = &v
8554	return s
8555}
8556
8557// SetKmsKeyId sets the KmsKeyId field's value.
8558func (s *AwsCloudTrailTrailDetails) SetKmsKeyId(v string) *AwsCloudTrailTrailDetails {
8559	s.KmsKeyId = &v
8560	return s
8561}
8562
8563// SetLogFileValidationEnabled sets the LogFileValidationEnabled field's value.
8564func (s *AwsCloudTrailTrailDetails) SetLogFileValidationEnabled(v bool) *AwsCloudTrailTrailDetails {
8565	s.LogFileValidationEnabled = &v
8566	return s
8567}
8568
8569// SetName sets the Name field's value.
8570func (s *AwsCloudTrailTrailDetails) SetName(v string) *AwsCloudTrailTrailDetails {
8571	s.Name = &v
8572	return s
8573}
8574
8575// SetS3BucketName sets the S3BucketName field's value.
8576func (s *AwsCloudTrailTrailDetails) SetS3BucketName(v string) *AwsCloudTrailTrailDetails {
8577	s.S3BucketName = &v
8578	return s
8579}
8580
8581// SetS3KeyPrefix sets the S3KeyPrefix field's value.
8582func (s *AwsCloudTrailTrailDetails) SetS3KeyPrefix(v string) *AwsCloudTrailTrailDetails {
8583	s.S3KeyPrefix = &v
8584	return s
8585}
8586
8587// SetSnsTopicArn sets the SnsTopicArn field's value.
8588func (s *AwsCloudTrailTrailDetails) SetSnsTopicArn(v string) *AwsCloudTrailTrailDetails {
8589	s.SnsTopicArn = &v
8590	return s
8591}
8592
8593// SetSnsTopicName sets the SnsTopicName field's value.
8594func (s *AwsCloudTrailTrailDetails) SetSnsTopicName(v string) *AwsCloudTrailTrailDetails {
8595	s.SnsTopicName = &v
8596	return s
8597}
8598
8599// SetTrailArn sets the TrailArn field's value.
8600func (s *AwsCloudTrailTrailDetails) SetTrailArn(v string) *AwsCloudTrailTrailDetails {
8601	s.TrailArn = &v
8602	return s
8603}
8604
8605// Information about an CodeBuild project.
8606type AwsCodeBuildProjectDetails struct {
8607	_ struct{} `type:"structure"`
8608
8609	// The KMS customer master key (CMK) used to encrypt the build output artifacts.
8610	//
8611	// You can specify either the ARN of the CMK or, if available, the CMK alias
8612	// (using the format alias/alias-name).
8613	EncryptionKey *string `type:"string"`
8614
8615	// Information about the build environment for this build project.
8616	Environment *AwsCodeBuildProjectEnvironment `type:"structure"`
8617
8618	// The name of the build project.
8619	Name *string `type:"string"`
8620
8621	// The ARN of the IAM role that enables CodeBuild to interact with dependent
8622	// Amazon Web Services services on behalf of the Amazon Web Services account.
8623	ServiceRole *string `type:"string"`
8624
8625	// Information about the build input source code for this build project.
8626	Source *AwsCodeBuildProjectSource `type:"structure"`
8627
8628	// Information about the VPC configuration that CodeBuild accesses.
8629	VpcConfig *AwsCodeBuildProjectVpcConfig `type:"structure"`
8630}
8631
8632// String returns the string representation
8633func (s AwsCodeBuildProjectDetails) String() string {
8634	return awsutil.Prettify(s)
8635}
8636
8637// GoString returns the string representation
8638func (s AwsCodeBuildProjectDetails) GoString() string {
8639	return s.String()
8640}
8641
8642// SetEncryptionKey sets the EncryptionKey field's value.
8643func (s *AwsCodeBuildProjectDetails) SetEncryptionKey(v string) *AwsCodeBuildProjectDetails {
8644	s.EncryptionKey = &v
8645	return s
8646}
8647
8648// SetEnvironment sets the Environment field's value.
8649func (s *AwsCodeBuildProjectDetails) SetEnvironment(v *AwsCodeBuildProjectEnvironment) *AwsCodeBuildProjectDetails {
8650	s.Environment = v
8651	return s
8652}
8653
8654// SetName sets the Name field's value.
8655func (s *AwsCodeBuildProjectDetails) SetName(v string) *AwsCodeBuildProjectDetails {
8656	s.Name = &v
8657	return s
8658}
8659
8660// SetServiceRole sets the ServiceRole field's value.
8661func (s *AwsCodeBuildProjectDetails) SetServiceRole(v string) *AwsCodeBuildProjectDetails {
8662	s.ServiceRole = &v
8663	return s
8664}
8665
8666// SetSource sets the Source field's value.
8667func (s *AwsCodeBuildProjectDetails) SetSource(v *AwsCodeBuildProjectSource) *AwsCodeBuildProjectDetails {
8668	s.Source = v
8669	return s
8670}
8671
8672// SetVpcConfig sets the VpcConfig field's value.
8673func (s *AwsCodeBuildProjectDetails) SetVpcConfig(v *AwsCodeBuildProjectVpcConfig) *AwsCodeBuildProjectDetails {
8674	s.VpcConfig = v
8675	return s
8676}
8677
8678// Information about the build environment for this build project.
8679type AwsCodeBuildProjectEnvironment struct {
8680	_ struct{} `type:"structure"`
8681
8682	// The certificate to use with this build project.
8683	Certificate *string `type:"string"`
8684
8685	// The type of credentials CodeBuild uses to pull images in your build.
8686	//
8687	// Valid values:
8688	//
8689	//    * CODEBUILD specifies that CodeBuild uses its own credentials. This requires
8690	//    that you modify your ECR repository policy to trust the CodeBuild service
8691	//    principal.
8692	//
8693	//    * SERVICE_ROLE specifies that CodeBuild uses your build project's service
8694	//    role.
8695	//
8696	// When you use a cross-account or private registry image, you must use SERVICE_ROLE
8697	// credentials. When you use an CodeBuild curated image, you must use CODEBUILD
8698	// credentials.
8699	ImagePullCredentialsType *string `type:"string"`
8700
8701	// The credentials for access to a private registry.
8702	RegistryCredential *AwsCodeBuildProjectEnvironmentRegistryCredential `type:"structure"`
8703
8704	// The type of build environment to use for related builds.
8705	//
8706	// The environment type ARM_CONTAINER is available only in Regions US East (N.
8707	// Virginia), US East (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific
8708	// (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and Europe (Frankfurt).
8709	//
8710	// The environment type LINUX_CONTAINER with compute type build.general1.2xlarge
8711	// is available only in Regions US East (N. Virginia), US East (N. Virginia),
8712	// US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe
8713	// (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore),
8714	// Asia Pacific (Sydney), China (Beijing), and China (Ningxia).
8715	//
8716	// The environment type LINUX_GPU_CONTAINER is available only in Regions US
8717	// East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central),
8718	// Europe (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo),
8719	// Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China
8720	// (Beijing), and China (Ningxia).
8721	//
8722	// Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | LINUX_GPU_CONTAINER |
8723	// ARM_CONTAINER
8724	Type *string `type:"string"`
8725}
8726
8727// String returns the string representation
8728func (s AwsCodeBuildProjectEnvironment) String() string {
8729	return awsutil.Prettify(s)
8730}
8731
8732// GoString returns the string representation
8733func (s AwsCodeBuildProjectEnvironment) GoString() string {
8734	return s.String()
8735}
8736
8737// SetCertificate sets the Certificate field's value.
8738func (s *AwsCodeBuildProjectEnvironment) SetCertificate(v string) *AwsCodeBuildProjectEnvironment {
8739	s.Certificate = &v
8740	return s
8741}
8742
8743// SetImagePullCredentialsType sets the ImagePullCredentialsType field's value.
8744func (s *AwsCodeBuildProjectEnvironment) SetImagePullCredentialsType(v string) *AwsCodeBuildProjectEnvironment {
8745	s.ImagePullCredentialsType = &v
8746	return s
8747}
8748
8749// SetRegistryCredential sets the RegistryCredential field's value.
8750func (s *AwsCodeBuildProjectEnvironment) SetRegistryCredential(v *AwsCodeBuildProjectEnvironmentRegistryCredential) *AwsCodeBuildProjectEnvironment {
8751	s.RegistryCredential = v
8752	return s
8753}
8754
8755// SetType sets the Type field's value.
8756func (s *AwsCodeBuildProjectEnvironment) SetType(v string) *AwsCodeBuildProjectEnvironment {
8757	s.Type = &v
8758	return s
8759}
8760
8761// The credentials for access to a private registry.
8762type AwsCodeBuildProjectEnvironmentRegistryCredential struct {
8763	_ struct{} `type:"structure"`
8764
8765	// The ARN or name of credentials created using Secrets Manager.
8766	//
8767	// The credential can use the name of the credentials only if they exist in
8768	// your current Amazon Web Services Region.
8769	Credential *string `type:"string"`
8770
8771	// The service that created the credentials to access a private Docker registry.
8772	//
8773	// The valid value,SECRETS_MANAGER, is for Secrets Manager.
8774	CredentialProvider *string `type:"string"`
8775}
8776
8777// String returns the string representation
8778func (s AwsCodeBuildProjectEnvironmentRegistryCredential) String() string {
8779	return awsutil.Prettify(s)
8780}
8781
8782// GoString returns the string representation
8783func (s AwsCodeBuildProjectEnvironmentRegistryCredential) GoString() string {
8784	return s.String()
8785}
8786
8787// SetCredential sets the Credential field's value.
8788func (s *AwsCodeBuildProjectEnvironmentRegistryCredential) SetCredential(v string) *AwsCodeBuildProjectEnvironmentRegistryCredential {
8789	s.Credential = &v
8790	return s
8791}
8792
8793// SetCredentialProvider sets the CredentialProvider field's value.
8794func (s *AwsCodeBuildProjectEnvironmentRegistryCredential) SetCredentialProvider(v string) *AwsCodeBuildProjectEnvironmentRegistryCredential {
8795	s.CredentialProvider = &v
8796	return s
8797}
8798
8799// Information about the build input source code for this build project.
8800type AwsCodeBuildProjectSource struct {
8801	_ struct{} `type:"structure"`
8802
8803	// Information about the Git clone depth for the build project.
8804	GitCloneDepth *int64 `type:"integer"`
8805
8806	// Whether to ignore SSL warnings while connecting to the project source code.
8807	InsecureSsl *bool `type:"boolean"`
8808
8809	// Information about the location of the source code to be built.
8810	//
8811	// Valid values include:
8812	//
8813	//    * For source code settings that are specified in the source action of
8814	//    a pipeline in CodePipeline, location should not be specified. If it is
8815	//    specified, CodePipeline ignores it. This is because CodePipeline uses
8816	//    the settings in a pipeline's source action instead of this value.
8817	//
8818	//    * For source code in an CodeCommit repository, the HTTPS clone URL to
8819	//    the repository that contains the source code and the build spec file (for
8820	//    example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name
8821	//    ).
8822	//
8823	//    * For source code in an S3 input bucket, one of the following. The path
8824	//    to the ZIP file that contains the source code (for example, bucket-name/path/to/object-name.zip).
8825	//    The path to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/).
8826	//
8827	//    * For source code in a GitHub repository, the HTTPS clone URL to the repository
8828	//    that contains the source and the build spec file.
8829	//
8830	//    * For source code in a Bitbucket repository, the HTTPS clone URL to the
8831	//    repository that contains the source and the build spec file.
8832	Location *string `type:"string"`
8833
8834	// The type of repository that contains the source code to be built. Valid values
8835	// are:
8836	//
8837	//    * BITBUCKET - The source code is in a Bitbucket repository.
8838	//
8839	//    * CODECOMMIT - The source code is in an CodeCommit repository.
8840	//
8841	//    * CODEPIPELINE - The source code settings are specified in the source
8842	//    action of a pipeline in CodePipeline.
8843	//
8844	//    * GITHUB - The source code is in a GitHub repository.
8845	//
8846	//    * GITHUB_ENTERPRISE - The source code is in a GitHub Enterprise repository.
8847	//
8848	//    * NO_SOURCE - The project does not have input source code.
8849	//
8850	//    * S3 - The source code is in an S3 input bucket.
8851	Type *string `type:"string"`
8852}
8853
8854// String returns the string representation
8855func (s AwsCodeBuildProjectSource) String() string {
8856	return awsutil.Prettify(s)
8857}
8858
8859// GoString returns the string representation
8860func (s AwsCodeBuildProjectSource) GoString() string {
8861	return s.String()
8862}
8863
8864// SetGitCloneDepth sets the GitCloneDepth field's value.
8865func (s *AwsCodeBuildProjectSource) SetGitCloneDepth(v int64) *AwsCodeBuildProjectSource {
8866	s.GitCloneDepth = &v
8867	return s
8868}
8869
8870// SetInsecureSsl sets the InsecureSsl field's value.
8871func (s *AwsCodeBuildProjectSource) SetInsecureSsl(v bool) *AwsCodeBuildProjectSource {
8872	s.InsecureSsl = &v
8873	return s
8874}
8875
8876// SetLocation sets the Location field's value.
8877func (s *AwsCodeBuildProjectSource) SetLocation(v string) *AwsCodeBuildProjectSource {
8878	s.Location = &v
8879	return s
8880}
8881
8882// SetType sets the Type field's value.
8883func (s *AwsCodeBuildProjectSource) SetType(v string) *AwsCodeBuildProjectSource {
8884	s.Type = &v
8885	return s
8886}
8887
8888// Information about the VPC configuration that CodeBuild accesses.
8889type AwsCodeBuildProjectVpcConfig struct {
8890	_ struct{} `type:"structure"`
8891
8892	// A list of one or more security group IDs in your VPC.
8893	SecurityGroupIds []*string `type:"list"`
8894
8895	// A list of one or more subnet IDs in your VPC.
8896	Subnets []*string `type:"list"`
8897
8898	// The ID of the VPC.
8899	VpcId *string `type:"string"`
8900}
8901
8902// String returns the string representation
8903func (s AwsCodeBuildProjectVpcConfig) String() string {
8904	return awsutil.Prettify(s)
8905}
8906
8907// GoString returns the string representation
8908func (s AwsCodeBuildProjectVpcConfig) GoString() string {
8909	return s.String()
8910}
8911
8912// SetSecurityGroupIds sets the SecurityGroupIds field's value.
8913func (s *AwsCodeBuildProjectVpcConfig) SetSecurityGroupIds(v []*string) *AwsCodeBuildProjectVpcConfig {
8914	s.SecurityGroupIds = v
8915	return s
8916}
8917
8918// SetSubnets sets the Subnets field's value.
8919func (s *AwsCodeBuildProjectVpcConfig) SetSubnets(v []*string) *AwsCodeBuildProjectVpcConfig {
8920	s.Subnets = v
8921	return s
8922}
8923
8924// SetVpcId sets the VpcId field's value.
8925func (s *AwsCodeBuildProjectVpcConfig) SetVpcId(v string) *AwsCodeBuildProjectVpcConfig {
8926	s.VpcId = &v
8927	return s
8928}
8929
8930// Contains the cross-origin resource sharing (CORS) configuration for the API.
8931// CORS is only supported for HTTP APIs.
8932type AwsCorsConfiguration struct {
8933	_ struct{} `type:"structure"`
8934
8935	// Indicates whether the CORS request includes credentials.
8936	AllowCredentials *bool `type:"boolean"`
8937
8938	// The allowed headers for CORS requests.
8939	AllowHeaders []*string `type:"list"`
8940
8941	// The allowed methods for CORS requests.
8942	AllowMethods []*string `type:"list"`
8943
8944	// The allowed origins for CORS requests.
8945	AllowOrigins []*string `type:"list"`
8946
8947	// The exposed headers for CORS requests.
8948	ExposeHeaders []*string `type:"list"`
8949
8950	// The number of seconds for which the browser caches preflight request results.
8951	MaxAge *int64 `type:"integer"`
8952}
8953
8954// String returns the string representation
8955func (s AwsCorsConfiguration) String() string {
8956	return awsutil.Prettify(s)
8957}
8958
8959// GoString returns the string representation
8960func (s AwsCorsConfiguration) GoString() string {
8961	return s.String()
8962}
8963
8964// SetAllowCredentials sets the AllowCredentials field's value.
8965func (s *AwsCorsConfiguration) SetAllowCredentials(v bool) *AwsCorsConfiguration {
8966	s.AllowCredentials = &v
8967	return s
8968}
8969
8970// SetAllowHeaders sets the AllowHeaders field's value.
8971func (s *AwsCorsConfiguration) SetAllowHeaders(v []*string) *AwsCorsConfiguration {
8972	s.AllowHeaders = v
8973	return s
8974}
8975
8976// SetAllowMethods sets the AllowMethods field's value.
8977func (s *AwsCorsConfiguration) SetAllowMethods(v []*string) *AwsCorsConfiguration {
8978	s.AllowMethods = v
8979	return s
8980}
8981
8982// SetAllowOrigins sets the AllowOrigins field's value.
8983func (s *AwsCorsConfiguration) SetAllowOrigins(v []*string) *AwsCorsConfiguration {
8984	s.AllowOrigins = v
8985	return s
8986}
8987
8988// SetExposeHeaders sets the ExposeHeaders field's value.
8989func (s *AwsCorsConfiguration) SetExposeHeaders(v []*string) *AwsCorsConfiguration {
8990	s.ExposeHeaders = v
8991	return s
8992}
8993
8994// SetMaxAge sets the MaxAge field's value.
8995func (s *AwsCorsConfiguration) SetMaxAge(v int64) *AwsCorsConfiguration {
8996	s.MaxAge = &v
8997	return s
8998}
8999
9000// Contains a definition of an attribute for the table.
9001type AwsDynamoDbTableAttributeDefinition struct {
9002	_ struct{} `type:"structure"`
9003
9004	// The name of the attribute.
9005	AttributeName *string `type:"string"`
9006
9007	// The type of the attribute.
9008	AttributeType *string `type:"string"`
9009}
9010
9011// String returns the string representation
9012func (s AwsDynamoDbTableAttributeDefinition) String() string {
9013	return awsutil.Prettify(s)
9014}
9015
9016// GoString returns the string representation
9017func (s AwsDynamoDbTableAttributeDefinition) GoString() string {
9018	return s.String()
9019}
9020
9021// SetAttributeName sets the AttributeName field's value.
9022func (s *AwsDynamoDbTableAttributeDefinition) SetAttributeName(v string) *AwsDynamoDbTableAttributeDefinition {
9023	s.AttributeName = &v
9024	return s
9025}
9026
9027// SetAttributeType sets the AttributeType field's value.
9028func (s *AwsDynamoDbTableAttributeDefinition) SetAttributeType(v string) *AwsDynamoDbTableAttributeDefinition {
9029	s.AttributeType = &v
9030	return s
9031}
9032
9033// Provides information about the billing for read/write capacity on the table.
9034type AwsDynamoDbTableBillingModeSummary struct {
9035	_ struct{} `type:"structure"`
9036
9037	// The method used to charge for read and write throughput and to manage capacity.
9038	BillingMode *string `type:"string"`
9039
9040	// If the billing mode is PAY_PER_REQUEST, indicates when the billing mode was
9041	// set to that value.
9042	//
9043	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9044	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9045	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9046	LastUpdateToPayPerRequestDateTime *string `type:"string"`
9047}
9048
9049// String returns the string representation
9050func (s AwsDynamoDbTableBillingModeSummary) String() string {
9051	return awsutil.Prettify(s)
9052}
9053
9054// GoString returns the string representation
9055func (s AwsDynamoDbTableBillingModeSummary) GoString() string {
9056	return s.String()
9057}
9058
9059// SetBillingMode sets the BillingMode field's value.
9060func (s *AwsDynamoDbTableBillingModeSummary) SetBillingMode(v string) *AwsDynamoDbTableBillingModeSummary {
9061	s.BillingMode = &v
9062	return s
9063}
9064
9065// SetLastUpdateToPayPerRequestDateTime sets the LastUpdateToPayPerRequestDateTime field's value.
9066func (s *AwsDynamoDbTableBillingModeSummary) SetLastUpdateToPayPerRequestDateTime(v string) *AwsDynamoDbTableBillingModeSummary {
9067	s.LastUpdateToPayPerRequestDateTime = &v
9068	return s
9069}
9070
9071// Provides details about a DynamoDB table.
9072type AwsDynamoDbTableDetails struct {
9073	_ struct{} `type:"structure"`
9074
9075	// A list of attribute definitions for the table.
9076	AttributeDefinitions []*AwsDynamoDbTableAttributeDefinition `type:"list"`
9077
9078	// Information about the billing for read/write capacity on the table.
9079	BillingModeSummary *AwsDynamoDbTableBillingModeSummary `type:"structure"`
9080
9081	// Indicates when the table was created.
9082	//
9083	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9084	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9085	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9086	CreationDateTime *string `type:"string"`
9087
9088	// List of global secondary indexes for the table.
9089	GlobalSecondaryIndexes []*AwsDynamoDbTableGlobalSecondaryIndex `type:"list"`
9090
9091	// The version of global tables being used.
9092	GlobalTableVersion *string `type:"string"`
9093
9094	// The number of items in the table.
9095	ItemCount *int64 `type:"integer"`
9096
9097	// The primary key structure for the table.
9098	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
9099
9100	// The ARN of the latest stream for the table.
9101	LatestStreamArn *string `type:"string"`
9102
9103	// The label of the latest stream. The label is not a unique identifier.
9104	LatestStreamLabel *string `type:"string"`
9105
9106	// The list of local secondary indexes for the table.
9107	LocalSecondaryIndexes []*AwsDynamoDbTableLocalSecondaryIndex `type:"list"`
9108
9109	// Information about the provisioned throughput for the table.
9110	ProvisionedThroughput *AwsDynamoDbTableProvisionedThroughput `type:"structure"`
9111
9112	// The list of replicas of this table.
9113	Replicas []*AwsDynamoDbTableReplica `type:"list"`
9114
9115	// Information about the restore for the table.
9116	RestoreSummary *AwsDynamoDbTableRestoreSummary `type:"structure"`
9117
9118	// Information about the server-side encryption for the table.
9119	SseDescription *AwsDynamoDbTableSseDescription `type:"structure"`
9120
9121	// The current DynamoDB Streams configuration for the table.
9122	StreamSpecification *AwsDynamoDbTableStreamSpecification `type:"structure"`
9123
9124	// The identifier of the table.
9125	TableId *string `type:"string"`
9126
9127	// The name of the table.
9128	TableName *string `type:"string"`
9129
9130	// The total size of the table in bytes.
9131	TableSizeBytes *int64 `type:"long"`
9132
9133	// The current status of the table.
9134	TableStatus *string `type:"string"`
9135}
9136
9137// String returns the string representation
9138func (s AwsDynamoDbTableDetails) String() string {
9139	return awsutil.Prettify(s)
9140}
9141
9142// GoString returns the string representation
9143func (s AwsDynamoDbTableDetails) GoString() string {
9144	return s.String()
9145}
9146
9147// SetAttributeDefinitions sets the AttributeDefinitions field's value.
9148func (s *AwsDynamoDbTableDetails) SetAttributeDefinitions(v []*AwsDynamoDbTableAttributeDefinition) *AwsDynamoDbTableDetails {
9149	s.AttributeDefinitions = v
9150	return s
9151}
9152
9153// SetBillingModeSummary sets the BillingModeSummary field's value.
9154func (s *AwsDynamoDbTableDetails) SetBillingModeSummary(v *AwsDynamoDbTableBillingModeSummary) *AwsDynamoDbTableDetails {
9155	s.BillingModeSummary = v
9156	return s
9157}
9158
9159// SetCreationDateTime sets the CreationDateTime field's value.
9160func (s *AwsDynamoDbTableDetails) SetCreationDateTime(v string) *AwsDynamoDbTableDetails {
9161	s.CreationDateTime = &v
9162	return s
9163}
9164
9165// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
9166func (s *AwsDynamoDbTableDetails) SetGlobalSecondaryIndexes(v []*AwsDynamoDbTableGlobalSecondaryIndex) *AwsDynamoDbTableDetails {
9167	s.GlobalSecondaryIndexes = v
9168	return s
9169}
9170
9171// SetGlobalTableVersion sets the GlobalTableVersion field's value.
9172func (s *AwsDynamoDbTableDetails) SetGlobalTableVersion(v string) *AwsDynamoDbTableDetails {
9173	s.GlobalTableVersion = &v
9174	return s
9175}
9176
9177// SetItemCount sets the ItemCount field's value.
9178func (s *AwsDynamoDbTableDetails) SetItemCount(v int64) *AwsDynamoDbTableDetails {
9179	s.ItemCount = &v
9180	return s
9181}
9182
9183// SetKeySchema sets the KeySchema field's value.
9184func (s *AwsDynamoDbTableDetails) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableDetails {
9185	s.KeySchema = v
9186	return s
9187}
9188
9189// SetLatestStreamArn sets the LatestStreamArn field's value.
9190func (s *AwsDynamoDbTableDetails) SetLatestStreamArn(v string) *AwsDynamoDbTableDetails {
9191	s.LatestStreamArn = &v
9192	return s
9193}
9194
9195// SetLatestStreamLabel sets the LatestStreamLabel field's value.
9196func (s *AwsDynamoDbTableDetails) SetLatestStreamLabel(v string) *AwsDynamoDbTableDetails {
9197	s.LatestStreamLabel = &v
9198	return s
9199}
9200
9201// SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value.
9202func (s *AwsDynamoDbTableDetails) SetLocalSecondaryIndexes(v []*AwsDynamoDbTableLocalSecondaryIndex) *AwsDynamoDbTableDetails {
9203	s.LocalSecondaryIndexes = v
9204	return s
9205}
9206
9207// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
9208func (s *AwsDynamoDbTableDetails) SetProvisionedThroughput(v *AwsDynamoDbTableProvisionedThroughput) *AwsDynamoDbTableDetails {
9209	s.ProvisionedThroughput = v
9210	return s
9211}
9212
9213// SetReplicas sets the Replicas field's value.
9214func (s *AwsDynamoDbTableDetails) SetReplicas(v []*AwsDynamoDbTableReplica) *AwsDynamoDbTableDetails {
9215	s.Replicas = v
9216	return s
9217}
9218
9219// SetRestoreSummary sets the RestoreSummary field's value.
9220func (s *AwsDynamoDbTableDetails) SetRestoreSummary(v *AwsDynamoDbTableRestoreSummary) *AwsDynamoDbTableDetails {
9221	s.RestoreSummary = v
9222	return s
9223}
9224
9225// SetSseDescription sets the SseDescription field's value.
9226func (s *AwsDynamoDbTableDetails) SetSseDescription(v *AwsDynamoDbTableSseDescription) *AwsDynamoDbTableDetails {
9227	s.SseDescription = v
9228	return s
9229}
9230
9231// SetStreamSpecification sets the StreamSpecification field's value.
9232func (s *AwsDynamoDbTableDetails) SetStreamSpecification(v *AwsDynamoDbTableStreamSpecification) *AwsDynamoDbTableDetails {
9233	s.StreamSpecification = v
9234	return s
9235}
9236
9237// SetTableId sets the TableId field's value.
9238func (s *AwsDynamoDbTableDetails) SetTableId(v string) *AwsDynamoDbTableDetails {
9239	s.TableId = &v
9240	return s
9241}
9242
9243// SetTableName sets the TableName field's value.
9244func (s *AwsDynamoDbTableDetails) SetTableName(v string) *AwsDynamoDbTableDetails {
9245	s.TableName = &v
9246	return s
9247}
9248
9249// SetTableSizeBytes sets the TableSizeBytes field's value.
9250func (s *AwsDynamoDbTableDetails) SetTableSizeBytes(v int64) *AwsDynamoDbTableDetails {
9251	s.TableSizeBytes = &v
9252	return s
9253}
9254
9255// SetTableStatus sets the TableStatus field's value.
9256func (s *AwsDynamoDbTableDetails) SetTableStatus(v string) *AwsDynamoDbTableDetails {
9257	s.TableStatus = &v
9258	return s
9259}
9260
9261// Information abut a global secondary index for the table.
9262type AwsDynamoDbTableGlobalSecondaryIndex struct {
9263	_ struct{} `type:"structure"`
9264
9265	// Whether the index is currently backfilling.
9266	Backfilling *bool `type:"boolean"`
9267
9268	// The ARN of the index.
9269	IndexArn *string `type:"string"`
9270
9271	// The name of the index.
9272	IndexName *string `type:"string"`
9273
9274	// The total size in bytes of the index.
9275	IndexSizeBytes *int64 `type:"long"`
9276
9277	// The current status of the index.
9278	IndexStatus *string `type:"string"`
9279
9280	// The number of items in the index.
9281	ItemCount *int64 `type:"integer"`
9282
9283	// The key schema for the index.
9284	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
9285
9286	// Attributes that are copied from the table into an index.
9287	Projection *AwsDynamoDbTableProjection `type:"structure"`
9288
9289	// Information about the provisioned throughput settings for the indexes.
9290	ProvisionedThroughput *AwsDynamoDbTableProvisionedThroughput `type:"structure"`
9291}
9292
9293// String returns the string representation
9294func (s AwsDynamoDbTableGlobalSecondaryIndex) String() string {
9295	return awsutil.Prettify(s)
9296}
9297
9298// GoString returns the string representation
9299func (s AwsDynamoDbTableGlobalSecondaryIndex) GoString() string {
9300	return s.String()
9301}
9302
9303// SetBackfilling sets the Backfilling field's value.
9304func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetBackfilling(v bool) *AwsDynamoDbTableGlobalSecondaryIndex {
9305	s.Backfilling = &v
9306	return s
9307}
9308
9309// SetIndexArn sets the IndexArn field's value.
9310func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexArn(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
9311	s.IndexArn = &v
9312	return s
9313}
9314
9315// SetIndexName sets the IndexName field's value.
9316func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
9317	s.IndexName = &v
9318	return s
9319}
9320
9321// SetIndexSizeBytes sets the IndexSizeBytes field's value.
9322func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexSizeBytes(v int64) *AwsDynamoDbTableGlobalSecondaryIndex {
9323	s.IndexSizeBytes = &v
9324	return s
9325}
9326
9327// SetIndexStatus sets the IndexStatus field's value.
9328func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexStatus(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
9329	s.IndexStatus = &v
9330	return s
9331}
9332
9333// SetItemCount sets the ItemCount field's value.
9334func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetItemCount(v int64) *AwsDynamoDbTableGlobalSecondaryIndex {
9335	s.ItemCount = &v
9336	return s
9337}
9338
9339// SetKeySchema sets the KeySchema field's value.
9340func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableGlobalSecondaryIndex {
9341	s.KeySchema = v
9342	return s
9343}
9344
9345// SetProjection sets the Projection field's value.
9346func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetProjection(v *AwsDynamoDbTableProjection) *AwsDynamoDbTableGlobalSecondaryIndex {
9347	s.Projection = v
9348	return s
9349}
9350
9351// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
9352func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetProvisionedThroughput(v *AwsDynamoDbTableProvisionedThroughput) *AwsDynamoDbTableGlobalSecondaryIndex {
9353	s.ProvisionedThroughput = v
9354	return s
9355}
9356
9357// A component of the key schema for the DynamoDB table, a global secondary
9358// index, or a local secondary index.
9359type AwsDynamoDbTableKeySchema struct {
9360	_ struct{} `type:"structure"`
9361
9362	// The name of the key schema attribute.
9363	AttributeName *string `type:"string"`
9364
9365	// The type of key used for the key schema attribute.
9366	KeyType *string `type:"string"`
9367}
9368
9369// String returns the string representation
9370func (s AwsDynamoDbTableKeySchema) String() string {
9371	return awsutil.Prettify(s)
9372}
9373
9374// GoString returns the string representation
9375func (s AwsDynamoDbTableKeySchema) GoString() string {
9376	return s.String()
9377}
9378
9379// SetAttributeName sets the AttributeName field's value.
9380func (s *AwsDynamoDbTableKeySchema) SetAttributeName(v string) *AwsDynamoDbTableKeySchema {
9381	s.AttributeName = &v
9382	return s
9383}
9384
9385// SetKeyType sets the KeyType field's value.
9386func (s *AwsDynamoDbTableKeySchema) SetKeyType(v string) *AwsDynamoDbTableKeySchema {
9387	s.KeyType = &v
9388	return s
9389}
9390
9391// Information about a local secondary index for a DynamoDB table.
9392type AwsDynamoDbTableLocalSecondaryIndex struct {
9393	_ struct{} `type:"structure"`
9394
9395	// The ARN of the index.
9396	IndexArn *string `type:"string"`
9397
9398	// The name of the index.
9399	IndexName *string `type:"string"`
9400
9401	// The complete key schema for the index.
9402	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
9403
9404	// Attributes that are copied from the table into the index. These are in addition
9405	// to the primary key attributes and index key attributes, which are automatically
9406	// projected.
9407	Projection *AwsDynamoDbTableProjection `type:"structure"`
9408}
9409
9410// String returns the string representation
9411func (s AwsDynamoDbTableLocalSecondaryIndex) String() string {
9412	return awsutil.Prettify(s)
9413}
9414
9415// GoString returns the string representation
9416func (s AwsDynamoDbTableLocalSecondaryIndex) GoString() string {
9417	return s.String()
9418}
9419
9420// SetIndexArn sets the IndexArn field's value.
9421func (s *AwsDynamoDbTableLocalSecondaryIndex) SetIndexArn(v string) *AwsDynamoDbTableLocalSecondaryIndex {
9422	s.IndexArn = &v
9423	return s
9424}
9425
9426// SetIndexName sets the IndexName field's value.
9427func (s *AwsDynamoDbTableLocalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableLocalSecondaryIndex {
9428	s.IndexName = &v
9429	return s
9430}
9431
9432// SetKeySchema sets the KeySchema field's value.
9433func (s *AwsDynamoDbTableLocalSecondaryIndex) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableLocalSecondaryIndex {
9434	s.KeySchema = v
9435	return s
9436}
9437
9438// SetProjection sets the Projection field's value.
9439func (s *AwsDynamoDbTableLocalSecondaryIndex) SetProjection(v *AwsDynamoDbTableProjection) *AwsDynamoDbTableLocalSecondaryIndex {
9440	s.Projection = v
9441	return s
9442}
9443
9444// For global and local secondary indexes, identifies the attributes that are
9445// copied from the table into the index.
9446type AwsDynamoDbTableProjection struct {
9447	_ struct{} `type:"structure"`
9448
9449	// The nonkey attributes that are projected into the index. For each attribute,
9450	// provide the attribute name.
9451	NonKeyAttributes []*string `type:"list"`
9452
9453	// The types of attributes that are projected into the index.
9454	ProjectionType *string `type:"string"`
9455}
9456
9457// String returns the string representation
9458func (s AwsDynamoDbTableProjection) String() string {
9459	return awsutil.Prettify(s)
9460}
9461
9462// GoString returns the string representation
9463func (s AwsDynamoDbTableProjection) GoString() string {
9464	return s.String()
9465}
9466
9467// SetNonKeyAttributes sets the NonKeyAttributes field's value.
9468func (s *AwsDynamoDbTableProjection) SetNonKeyAttributes(v []*string) *AwsDynamoDbTableProjection {
9469	s.NonKeyAttributes = v
9470	return s
9471}
9472
9473// SetProjectionType sets the ProjectionType field's value.
9474func (s *AwsDynamoDbTableProjection) SetProjectionType(v string) *AwsDynamoDbTableProjection {
9475	s.ProjectionType = &v
9476	return s
9477}
9478
9479// Information about the provisioned throughput for the table or for a global
9480// secondary index.
9481type AwsDynamoDbTableProvisionedThroughput struct {
9482	_ struct{} `type:"structure"`
9483
9484	// Indicates when the provisioned throughput was last decreased.
9485	//
9486	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9487	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9488	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9489	LastDecreaseDateTime *string `type:"string"`
9490
9491	// Indicates when the provisioned throughput was last increased.
9492	//
9493	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9494	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9495	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9496	LastIncreaseDateTime *string `type:"string"`
9497
9498	// The number of times during the current UTC calendar day that the provisioned
9499	// throughput was decreased.
9500	NumberOfDecreasesToday *int64 `type:"integer"`
9501
9502	// The maximum number of strongly consistent reads consumed per second before
9503	// DynamoDB returns a ThrottlingException.
9504	ReadCapacityUnits *int64 `type:"integer"`
9505
9506	// The maximum number of writes consumed per second before DynamoDB returns
9507	// a ThrottlingException.
9508	WriteCapacityUnits *int64 `type:"integer"`
9509}
9510
9511// String returns the string representation
9512func (s AwsDynamoDbTableProvisionedThroughput) String() string {
9513	return awsutil.Prettify(s)
9514}
9515
9516// GoString returns the string representation
9517func (s AwsDynamoDbTableProvisionedThroughput) GoString() string {
9518	return s.String()
9519}
9520
9521// SetLastDecreaseDateTime sets the LastDecreaseDateTime field's value.
9522func (s *AwsDynamoDbTableProvisionedThroughput) SetLastDecreaseDateTime(v string) *AwsDynamoDbTableProvisionedThroughput {
9523	s.LastDecreaseDateTime = &v
9524	return s
9525}
9526
9527// SetLastIncreaseDateTime sets the LastIncreaseDateTime field's value.
9528func (s *AwsDynamoDbTableProvisionedThroughput) SetLastIncreaseDateTime(v string) *AwsDynamoDbTableProvisionedThroughput {
9529	s.LastIncreaseDateTime = &v
9530	return s
9531}
9532
9533// SetNumberOfDecreasesToday sets the NumberOfDecreasesToday field's value.
9534func (s *AwsDynamoDbTableProvisionedThroughput) SetNumberOfDecreasesToday(v int64) *AwsDynamoDbTableProvisionedThroughput {
9535	s.NumberOfDecreasesToday = &v
9536	return s
9537}
9538
9539// SetReadCapacityUnits sets the ReadCapacityUnits field's value.
9540func (s *AwsDynamoDbTableProvisionedThroughput) SetReadCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughput {
9541	s.ReadCapacityUnits = &v
9542	return s
9543}
9544
9545// SetWriteCapacityUnits sets the WriteCapacityUnits field's value.
9546func (s *AwsDynamoDbTableProvisionedThroughput) SetWriteCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughput {
9547	s.WriteCapacityUnits = &v
9548	return s
9549}
9550
9551// Replica-specific configuration for the provisioned throughput.
9552type AwsDynamoDbTableProvisionedThroughputOverride struct {
9553	_ struct{} `type:"structure"`
9554
9555	// The read capacity units for the replica.
9556	ReadCapacityUnits *int64 `type:"integer"`
9557}
9558
9559// String returns the string representation
9560func (s AwsDynamoDbTableProvisionedThroughputOverride) String() string {
9561	return awsutil.Prettify(s)
9562}
9563
9564// GoString returns the string representation
9565func (s AwsDynamoDbTableProvisionedThroughputOverride) GoString() string {
9566	return s.String()
9567}
9568
9569// SetReadCapacityUnits sets the ReadCapacityUnits field's value.
9570func (s *AwsDynamoDbTableProvisionedThroughputOverride) SetReadCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughputOverride {
9571	s.ReadCapacityUnits = &v
9572	return s
9573}
9574
9575// Information about a replica of a DynamoDB table.
9576type AwsDynamoDbTableReplica struct {
9577	_ struct{} `type:"structure"`
9578
9579	// List of global secondary indexes for the replica.
9580	GlobalSecondaryIndexes []*AwsDynamoDbTableReplicaGlobalSecondaryIndex `type:"list"`
9581
9582	// The identifier of the KMS customer master key (CMK) that will be used for
9583	// KMS encryption for the replica.
9584	KmsMasterKeyId *string `type:"string"`
9585
9586	// Replica-specific configuration for the provisioned throughput.
9587	ProvisionedThroughputOverride *AwsDynamoDbTableProvisionedThroughputOverride `type:"structure"`
9588
9589	// The name of the Region where the replica is located.
9590	RegionName *string `type:"string"`
9591
9592	// The current status of the replica.
9593	ReplicaStatus *string `type:"string"`
9594
9595	// Detailed information about the replica status.
9596	ReplicaStatusDescription *string `type:"string"`
9597}
9598
9599// String returns the string representation
9600func (s AwsDynamoDbTableReplica) String() string {
9601	return awsutil.Prettify(s)
9602}
9603
9604// GoString returns the string representation
9605func (s AwsDynamoDbTableReplica) GoString() string {
9606	return s.String()
9607}
9608
9609// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
9610func (s *AwsDynamoDbTableReplica) SetGlobalSecondaryIndexes(v []*AwsDynamoDbTableReplicaGlobalSecondaryIndex) *AwsDynamoDbTableReplica {
9611	s.GlobalSecondaryIndexes = v
9612	return s
9613}
9614
9615// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
9616func (s *AwsDynamoDbTableReplica) SetKmsMasterKeyId(v string) *AwsDynamoDbTableReplica {
9617	s.KmsMasterKeyId = &v
9618	return s
9619}
9620
9621// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value.
9622func (s *AwsDynamoDbTableReplica) SetProvisionedThroughputOverride(v *AwsDynamoDbTableProvisionedThroughputOverride) *AwsDynamoDbTableReplica {
9623	s.ProvisionedThroughputOverride = v
9624	return s
9625}
9626
9627// SetRegionName sets the RegionName field's value.
9628func (s *AwsDynamoDbTableReplica) SetRegionName(v string) *AwsDynamoDbTableReplica {
9629	s.RegionName = &v
9630	return s
9631}
9632
9633// SetReplicaStatus sets the ReplicaStatus field's value.
9634func (s *AwsDynamoDbTableReplica) SetReplicaStatus(v string) *AwsDynamoDbTableReplica {
9635	s.ReplicaStatus = &v
9636	return s
9637}
9638
9639// SetReplicaStatusDescription sets the ReplicaStatusDescription field's value.
9640func (s *AwsDynamoDbTableReplica) SetReplicaStatusDescription(v string) *AwsDynamoDbTableReplica {
9641	s.ReplicaStatusDescription = &v
9642	return s
9643}
9644
9645// Information about a global secondary index for a DynamoDB table replica.
9646type AwsDynamoDbTableReplicaGlobalSecondaryIndex struct {
9647	_ struct{} `type:"structure"`
9648
9649	// The name of the index.
9650	IndexName *string `type:"string"`
9651
9652	// Replica-specific configuration for the provisioned throughput for the index.
9653	ProvisionedThroughputOverride *AwsDynamoDbTableProvisionedThroughputOverride `type:"structure"`
9654}
9655
9656// String returns the string representation
9657func (s AwsDynamoDbTableReplicaGlobalSecondaryIndex) String() string {
9658	return awsutil.Prettify(s)
9659}
9660
9661// GoString returns the string representation
9662func (s AwsDynamoDbTableReplicaGlobalSecondaryIndex) GoString() string {
9663	return s.String()
9664}
9665
9666// SetIndexName sets the IndexName field's value.
9667func (s *AwsDynamoDbTableReplicaGlobalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableReplicaGlobalSecondaryIndex {
9668	s.IndexName = &v
9669	return s
9670}
9671
9672// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value.
9673func (s *AwsDynamoDbTableReplicaGlobalSecondaryIndex) SetProvisionedThroughputOverride(v *AwsDynamoDbTableProvisionedThroughputOverride) *AwsDynamoDbTableReplicaGlobalSecondaryIndex {
9674	s.ProvisionedThroughputOverride = v
9675	return s
9676}
9677
9678// Information about the restore for the table.
9679type AwsDynamoDbTableRestoreSummary struct {
9680	_ struct{} `type:"structure"`
9681
9682	// Indicates the point in time that the table was restored to.
9683	//
9684	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9685	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9686	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9687	RestoreDateTime *string `type:"string"`
9688
9689	// Whether a restore is currently in progress.
9690	RestoreInProgress *bool `type:"boolean"`
9691
9692	// The ARN of the source backup from which the table was restored.
9693	SourceBackupArn *string `type:"string"`
9694
9695	// The ARN of the source table for the backup.
9696	SourceTableArn *string `type:"string"`
9697}
9698
9699// String returns the string representation
9700func (s AwsDynamoDbTableRestoreSummary) String() string {
9701	return awsutil.Prettify(s)
9702}
9703
9704// GoString returns the string representation
9705func (s AwsDynamoDbTableRestoreSummary) GoString() string {
9706	return s.String()
9707}
9708
9709// SetRestoreDateTime sets the RestoreDateTime field's value.
9710func (s *AwsDynamoDbTableRestoreSummary) SetRestoreDateTime(v string) *AwsDynamoDbTableRestoreSummary {
9711	s.RestoreDateTime = &v
9712	return s
9713}
9714
9715// SetRestoreInProgress sets the RestoreInProgress field's value.
9716func (s *AwsDynamoDbTableRestoreSummary) SetRestoreInProgress(v bool) *AwsDynamoDbTableRestoreSummary {
9717	s.RestoreInProgress = &v
9718	return s
9719}
9720
9721// SetSourceBackupArn sets the SourceBackupArn field's value.
9722func (s *AwsDynamoDbTableRestoreSummary) SetSourceBackupArn(v string) *AwsDynamoDbTableRestoreSummary {
9723	s.SourceBackupArn = &v
9724	return s
9725}
9726
9727// SetSourceTableArn sets the SourceTableArn field's value.
9728func (s *AwsDynamoDbTableRestoreSummary) SetSourceTableArn(v string) *AwsDynamoDbTableRestoreSummary {
9729	s.SourceTableArn = &v
9730	return s
9731}
9732
9733// Information about the server-side encryption for the table.
9734type AwsDynamoDbTableSseDescription struct {
9735	_ struct{} `type:"structure"`
9736
9737	// If the key is inaccessible, the date and time when DynamoDB detected that
9738	// the key was inaccessible.
9739	//
9740	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9741	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9742	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9743	InaccessibleEncryptionDateTime *string `type:"string"`
9744
9745	// The ARN of the KMS customer master key (CMK) that is used for the KMS encryption.
9746	KmsMasterKeyArn *string `type:"string"`
9747
9748	// The type of server-side encryption.
9749	SseType *string `type:"string"`
9750
9751	// The status of the server-side encryption.
9752	Status *string `type:"string"`
9753}
9754
9755// String returns the string representation
9756func (s AwsDynamoDbTableSseDescription) String() string {
9757	return awsutil.Prettify(s)
9758}
9759
9760// GoString returns the string representation
9761func (s AwsDynamoDbTableSseDescription) GoString() string {
9762	return s.String()
9763}
9764
9765// SetInaccessibleEncryptionDateTime sets the InaccessibleEncryptionDateTime field's value.
9766func (s *AwsDynamoDbTableSseDescription) SetInaccessibleEncryptionDateTime(v string) *AwsDynamoDbTableSseDescription {
9767	s.InaccessibleEncryptionDateTime = &v
9768	return s
9769}
9770
9771// SetKmsMasterKeyArn sets the KmsMasterKeyArn field's value.
9772func (s *AwsDynamoDbTableSseDescription) SetKmsMasterKeyArn(v string) *AwsDynamoDbTableSseDescription {
9773	s.KmsMasterKeyArn = &v
9774	return s
9775}
9776
9777// SetSseType sets the SseType field's value.
9778func (s *AwsDynamoDbTableSseDescription) SetSseType(v string) *AwsDynamoDbTableSseDescription {
9779	s.SseType = &v
9780	return s
9781}
9782
9783// SetStatus sets the Status field's value.
9784func (s *AwsDynamoDbTableSseDescription) SetStatus(v string) *AwsDynamoDbTableSseDescription {
9785	s.Status = &v
9786	return s
9787}
9788
9789// The current DynamoDB Streams configuration for the table.
9790type AwsDynamoDbTableStreamSpecification struct {
9791	_ struct{} `type:"structure"`
9792
9793	// Indicates whether DynamoDB Streams is enabled on the table.
9794	StreamEnabled *bool `type:"boolean"`
9795
9796	// Determines the information that is written to the table.
9797	StreamViewType *string `type:"string"`
9798}
9799
9800// String returns the string representation
9801func (s AwsDynamoDbTableStreamSpecification) String() string {
9802	return awsutil.Prettify(s)
9803}
9804
9805// GoString returns the string representation
9806func (s AwsDynamoDbTableStreamSpecification) GoString() string {
9807	return s.String()
9808}
9809
9810// SetStreamEnabled sets the StreamEnabled field's value.
9811func (s *AwsDynamoDbTableStreamSpecification) SetStreamEnabled(v bool) *AwsDynamoDbTableStreamSpecification {
9812	s.StreamEnabled = &v
9813	return s
9814}
9815
9816// SetStreamViewType sets the StreamViewType field's value.
9817func (s *AwsDynamoDbTableStreamSpecification) SetStreamViewType(v string) *AwsDynamoDbTableStreamSpecification {
9818	s.StreamViewType = &v
9819	return s
9820}
9821
9822// Information about an Elastic IP address.
9823type AwsEc2EipDetails struct {
9824	_ struct{} `type:"structure"`
9825
9826	// The identifier that Amazon Web Services assigns to represent the allocation
9827	// of the Elastic IP address for use with Amazon VPC.
9828	AllocationId *string `type:"string"`
9829
9830	// The identifier that represents the association of the Elastic IP address
9831	// with an EC2 instance.
9832	AssociationId *string `type:"string"`
9833
9834	// The domain in which to allocate the address.
9835	//
9836	// If the address is for use with EC2 instances in a VPC, then Domain is vpc.
9837	// Otherwise, Domain is standard.
9838	Domain *string `type:"string"`
9839
9840	// The identifier of the EC2 instance.
9841	InstanceId *string `type:"string"`
9842
9843	// The name of the location from which the Elastic IP address is advertised.
9844	NetworkBorderGroup *string `type:"string"`
9845
9846	// The identifier of the network interface.
9847	NetworkInterfaceId *string `type:"string"`
9848
9849	// The Amazon Web Services account ID of the owner of the network interface.
9850	NetworkInterfaceOwnerId *string `type:"string"`
9851
9852	// The private IP address that is associated with the Elastic IP address.
9853	PrivateIpAddress *string `type:"string"`
9854
9855	// A public IP address that is associated with the EC2 instance.
9856	PublicIp *string `type:"string"`
9857
9858	// The identifier of an IP address pool. This parameter allows Amazon EC2 to
9859	// select an IP address from the address pool.
9860	PublicIpv4Pool *string `type:"string"`
9861}
9862
9863// String returns the string representation
9864func (s AwsEc2EipDetails) String() string {
9865	return awsutil.Prettify(s)
9866}
9867
9868// GoString returns the string representation
9869func (s AwsEc2EipDetails) GoString() string {
9870	return s.String()
9871}
9872
9873// SetAllocationId sets the AllocationId field's value.
9874func (s *AwsEc2EipDetails) SetAllocationId(v string) *AwsEc2EipDetails {
9875	s.AllocationId = &v
9876	return s
9877}
9878
9879// SetAssociationId sets the AssociationId field's value.
9880func (s *AwsEc2EipDetails) SetAssociationId(v string) *AwsEc2EipDetails {
9881	s.AssociationId = &v
9882	return s
9883}
9884
9885// SetDomain sets the Domain field's value.
9886func (s *AwsEc2EipDetails) SetDomain(v string) *AwsEc2EipDetails {
9887	s.Domain = &v
9888	return s
9889}
9890
9891// SetInstanceId sets the InstanceId field's value.
9892func (s *AwsEc2EipDetails) SetInstanceId(v string) *AwsEc2EipDetails {
9893	s.InstanceId = &v
9894	return s
9895}
9896
9897// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
9898func (s *AwsEc2EipDetails) SetNetworkBorderGroup(v string) *AwsEc2EipDetails {
9899	s.NetworkBorderGroup = &v
9900	return s
9901}
9902
9903// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
9904func (s *AwsEc2EipDetails) SetNetworkInterfaceId(v string) *AwsEc2EipDetails {
9905	s.NetworkInterfaceId = &v
9906	return s
9907}
9908
9909// SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
9910func (s *AwsEc2EipDetails) SetNetworkInterfaceOwnerId(v string) *AwsEc2EipDetails {
9911	s.NetworkInterfaceOwnerId = &v
9912	return s
9913}
9914
9915// SetPrivateIpAddress sets the PrivateIpAddress field's value.
9916func (s *AwsEc2EipDetails) SetPrivateIpAddress(v string) *AwsEc2EipDetails {
9917	s.PrivateIpAddress = &v
9918	return s
9919}
9920
9921// SetPublicIp sets the PublicIp field's value.
9922func (s *AwsEc2EipDetails) SetPublicIp(v string) *AwsEc2EipDetails {
9923	s.PublicIp = &v
9924	return s
9925}
9926
9927// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
9928func (s *AwsEc2EipDetails) SetPublicIpv4Pool(v string) *AwsEc2EipDetails {
9929	s.PublicIpv4Pool = &v
9930	return s
9931}
9932
9933// The details of an EC2 instance.
9934type AwsEc2InstanceDetails struct {
9935	_ struct{} `type:"structure"`
9936
9937	// The IAM profile ARN of the instance.
9938	IamInstanceProfileArn *string `type:"string"`
9939
9940	// The Amazon Machine Image (AMI) ID of the instance.
9941	ImageId *string `type:"string"`
9942
9943	// The IPv4 addresses associated with the instance.
9944	IpV4Addresses []*string `type:"list"`
9945
9946	// The IPv6 addresses associated with the instance.
9947	IpV6Addresses []*string `type:"list"`
9948
9949	// The key name associated with the instance.
9950	KeyName *string `type:"string"`
9951
9952	// Indicates when the instance was launched.
9953	//
9954	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9955	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9956	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9957	LaunchedAt *string `type:"string"`
9958
9959	// The identifiers of the network interfaces for the EC2 instance. The details
9960	// for each network interface are in a corresponding AwsEc2NetworkInterfacesDetails
9961	// object.
9962	NetworkInterfaces []*AwsEc2InstanceNetworkInterfacesDetails `type:"list"`
9963
9964	// The identifier of the subnet that the instance was launched in.
9965	SubnetId *string `type:"string"`
9966
9967	// The instance type of the instance.
9968	Type *string `type:"string"`
9969
9970	// The identifier of the VPC that the instance was launched in.
9971	VpcId *string `type:"string"`
9972}
9973
9974// String returns the string representation
9975func (s AwsEc2InstanceDetails) String() string {
9976	return awsutil.Prettify(s)
9977}
9978
9979// GoString returns the string representation
9980func (s AwsEc2InstanceDetails) GoString() string {
9981	return s.String()
9982}
9983
9984// SetIamInstanceProfileArn sets the IamInstanceProfileArn field's value.
9985func (s *AwsEc2InstanceDetails) SetIamInstanceProfileArn(v string) *AwsEc2InstanceDetails {
9986	s.IamInstanceProfileArn = &v
9987	return s
9988}
9989
9990// SetImageId sets the ImageId field's value.
9991func (s *AwsEc2InstanceDetails) SetImageId(v string) *AwsEc2InstanceDetails {
9992	s.ImageId = &v
9993	return s
9994}
9995
9996// SetIpV4Addresses sets the IpV4Addresses field's value.
9997func (s *AwsEc2InstanceDetails) SetIpV4Addresses(v []*string) *AwsEc2InstanceDetails {
9998	s.IpV4Addresses = v
9999	return s
10000}
10001
10002// SetIpV6Addresses sets the IpV6Addresses field's value.
10003func (s *AwsEc2InstanceDetails) SetIpV6Addresses(v []*string) *AwsEc2InstanceDetails {
10004	s.IpV6Addresses = v
10005	return s
10006}
10007
10008// SetKeyName sets the KeyName field's value.
10009func (s *AwsEc2InstanceDetails) SetKeyName(v string) *AwsEc2InstanceDetails {
10010	s.KeyName = &v
10011	return s
10012}
10013
10014// SetLaunchedAt sets the LaunchedAt field's value.
10015func (s *AwsEc2InstanceDetails) SetLaunchedAt(v string) *AwsEc2InstanceDetails {
10016	s.LaunchedAt = &v
10017	return s
10018}
10019
10020// SetNetworkInterfaces sets the NetworkInterfaces field's value.
10021func (s *AwsEc2InstanceDetails) SetNetworkInterfaces(v []*AwsEc2InstanceNetworkInterfacesDetails) *AwsEc2InstanceDetails {
10022	s.NetworkInterfaces = v
10023	return s
10024}
10025
10026// SetSubnetId sets the SubnetId field's value.
10027func (s *AwsEc2InstanceDetails) SetSubnetId(v string) *AwsEc2InstanceDetails {
10028	s.SubnetId = &v
10029	return s
10030}
10031
10032// SetType sets the Type field's value.
10033func (s *AwsEc2InstanceDetails) SetType(v string) *AwsEc2InstanceDetails {
10034	s.Type = &v
10035	return s
10036}
10037
10038// SetVpcId sets the VpcId field's value.
10039func (s *AwsEc2InstanceDetails) SetVpcId(v string) *AwsEc2InstanceDetails {
10040	s.VpcId = &v
10041	return s
10042}
10043
10044// Identifies a network interface for the EC2 instance.
10045type AwsEc2InstanceNetworkInterfacesDetails struct {
10046	_ struct{} `type:"structure"`
10047
10048	// The identifier of the network interface. The details are in a corresponding
10049	// AwsEc2NetworkInterfacesDetails object.
10050	NetworkInterfaceId *string `type:"string"`
10051}
10052
10053// String returns the string representation
10054func (s AwsEc2InstanceNetworkInterfacesDetails) String() string {
10055	return awsutil.Prettify(s)
10056}
10057
10058// GoString returns the string representation
10059func (s AwsEc2InstanceNetworkInterfacesDetails) GoString() string {
10060	return s.String()
10061}
10062
10063// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
10064func (s *AwsEc2InstanceNetworkInterfacesDetails) SetNetworkInterfaceId(v string) *AwsEc2InstanceNetworkInterfacesDetails {
10065	s.NetworkInterfaceId = &v
10066	return s
10067}
10068
10069// An association between the network ACL and a subnet.
10070type AwsEc2NetworkAclAssociation struct {
10071	_ struct{} `type:"structure"`
10072
10073	// The identifier of the association between the network ACL and the subnet.
10074	NetworkAclAssociationId *string `type:"string"`
10075
10076	// The identifier of the network ACL.
10077	NetworkAclId *string `type:"string"`
10078
10079	// The identifier of the subnet that is associated with the network ACL.
10080	SubnetId *string `type:"string"`
10081}
10082
10083// String returns the string representation
10084func (s AwsEc2NetworkAclAssociation) String() string {
10085	return awsutil.Prettify(s)
10086}
10087
10088// GoString returns the string representation
10089func (s AwsEc2NetworkAclAssociation) GoString() string {
10090	return s.String()
10091}
10092
10093// SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
10094func (s *AwsEc2NetworkAclAssociation) SetNetworkAclAssociationId(v string) *AwsEc2NetworkAclAssociation {
10095	s.NetworkAclAssociationId = &v
10096	return s
10097}
10098
10099// SetNetworkAclId sets the NetworkAclId field's value.
10100func (s *AwsEc2NetworkAclAssociation) SetNetworkAclId(v string) *AwsEc2NetworkAclAssociation {
10101	s.NetworkAclId = &v
10102	return s
10103}
10104
10105// SetSubnetId sets the SubnetId field's value.
10106func (s *AwsEc2NetworkAclAssociation) SetSubnetId(v string) *AwsEc2NetworkAclAssociation {
10107	s.SubnetId = &v
10108	return s
10109}
10110
10111// Contains details about an EC2 network access control list (ACL).
10112type AwsEc2NetworkAclDetails struct {
10113	_ struct{} `type:"structure"`
10114
10115	// Associations between the network ACL and subnets.
10116	Associations []*AwsEc2NetworkAclAssociation `type:"list"`
10117
10118	// The set of rules in the network ACL.
10119	Entries []*AwsEc2NetworkAclEntry `type:"list"`
10120
10121	// Whether this is the default network ACL for the VPC.
10122	IsDefault *bool `type:"boolean"`
10123
10124	// The identifier of the network ACL.
10125	NetworkAclId *string `type:"string"`
10126
10127	// The identifier of the Amazon Web Services account that owns the network ACL.
10128	OwnerId *string `type:"string"`
10129
10130	// The identifier of the VPC for the network ACL.
10131	VpcId *string `type:"string"`
10132}
10133
10134// String returns the string representation
10135func (s AwsEc2NetworkAclDetails) String() string {
10136	return awsutil.Prettify(s)
10137}
10138
10139// GoString returns the string representation
10140func (s AwsEc2NetworkAclDetails) GoString() string {
10141	return s.String()
10142}
10143
10144// SetAssociations sets the Associations field's value.
10145func (s *AwsEc2NetworkAclDetails) SetAssociations(v []*AwsEc2NetworkAclAssociation) *AwsEc2NetworkAclDetails {
10146	s.Associations = v
10147	return s
10148}
10149
10150// SetEntries sets the Entries field's value.
10151func (s *AwsEc2NetworkAclDetails) SetEntries(v []*AwsEc2NetworkAclEntry) *AwsEc2NetworkAclDetails {
10152	s.Entries = v
10153	return s
10154}
10155
10156// SetIsDefault sets the IsDefault field's value.
10157func (s *AwsEc2NetworkAclDetails) SetIsDefault(v bool) *AwsEc2NetworkAclDetails {
10158	s.IsDefault = &v
10159	return s
10160}
10161
10162// SetNetworkAclId sets the NetworkAclId field's value.
10163func (s *AwsEc2NetworkAclDetails) SetNetworkAclId(v string) *AwsEc2NetworkAclDetails {
10164	s.NetworkAclId = &v
10165	return s
10166}
10167
10168// SetOwnerId sets the OwnerId field's value.
10169func (s *AwsEc2NetworkAclDetails) SetOwnerId(v string) *AwsEc2NetworkAclDetails {
10170	s.OwnerId = &v
10171	return s
10172}
10173
10174// SetVpcId sets the VpcId field's value.
10175func (s *AwsEc2NetworkAclDetails) SetVpcId(v string) *AwsEc2NetworkAclDetails {
10176	s.VpcId = &v
10177	return s
10178}
10179
10180// A rule for the network ACL. Each rule allows or denies access based on the
10181// IP address, traffic direction, port, and protocol.
10182type AwsEc2NetworkAclEntry struct {
10183	_ struct{} `type:"structure"`
10184
10185	// The IPV4 network range for which to deny or allow access.
10186	CidrBlock *string `type:"string"`
10187
10188	// Whether the rule is an egress rule. An egress rule is a rule that applies
10189	// to traffic that leaves the subnet.
10190	Egress *bool `type:"boolean"`
10191
10192	// The Internet Control Message Protocol (ICMP) type and code for which to deny
10193	// or allow access.
10194	IcmpTypeCode *IcmpTypeCode `type:"structure"`
10195
10196	// The IPV6 network range for which to deny or allow access.
10197	Ipv6CidrBlock *string `type:"string"`
10198
10199	// For TCP or UDP protocols, the range of ports that the rule applies to.
10200	PortRange *PortRangeFromTo `type:"structure"`
10201
10202	// The protocol that the rule applies to. To deny or allow access to all protocols,
10203	// use the value -1.
10204	Protocol *string `type:"string"`
10205
10206	// Whether the rule is used to allow access or deny access.
10207	RuleAction *string `type:"string"`
10208
10209	// The rule number. The rules are processed in order by their number.
10210	RuleNumber *int64 `type:"integer"`
10211}
10212
10213// String returns the string representation
10214func (s AwsEc2NetworkAclEntry) String() string {
10215	return awsutil.Prettify(s)
10216}
10217
10218// GoString returns the string representation
10219func (s AwsEc2NetworkAclEntry) GoString() string {
10220	return s.String()
10221}
10222
10223// SetCidrBlock sets the CidrBlock field's value.
10224func (s *AwsEc2NetworkAclEntry) SetCidrBlock(v string) *AwsEc2NetworkAclEntry {
10225	s.CidrBlock = &v
10226	return s
10227}
10228
10229// SetEgress sets the Egress field's value.
10230func (s *AwsEc2NetworkAclEntry) SetEgress(v bool) *AwsEc2NetworkAclEntry {
10231	s.Egress = &v
10232	return s
10233}
10234
10235// SetIcmpTypeCode sets the IcmpTypeCode field's value.
10236func (s *AwsEc2NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *AwsEc2NetworkAclEntry {
10237	s.IcmpTypeCode = v
10238	return s
10239}
10240
10241// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
10242func (s *AwsEc2NetworkAclEntry) SetIpv6CidrBlock(v string) *AwsEc2NetworkAclEntry {
10243	s.Ipv6CidrBlock = &v
10244	return s
10245}
10246
10247// SetPortRange sets the PortRange field's value.
10248func (s *AwsEc2NetworkAclEntry) SetPortRange(v *PortRangeFromTo) *AwsEc2NetworkAclEntry {
10249	s.PortRange = v
10250	return s
10251}
10252
10253// SetProtocol sets the Protocol field's value.
10254func (s *AwsEc2NetworkAclEntry) SetProtocol(v string) *AwsEc2NetworkAclEntry {
10255	s.Protocol = &v
10256	return s
10257}
10258
10259// SetRuleAction sets the RuleAction field's value.
10260func (s *AwsEc2NetworkAclEntry) SetRuleAction(v string) *AwsEc2NetworkAclEntry {
10261	s.RuleAction = &v
10262	return s
10263}
10264
10265// SetRuleNumber sets the RuleNumber field's value.
10266func (s *AwsEc2NetworkAclEntry) SetRuleNumber(v int64) *AwsEc2NetworkAclEntry {
10267	s.RuleNumber = &v
10268	return s
10269}
10270
10271// Information about the network interface attachment.
10272type AwsEc2NetworkInterfaceAttachment struct {
10273	_ struct{} `type:"structure"`
10274
10275	// Indicates when the attachment initiated.
10276	//
10277	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
10278	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
10279	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
10280	AttachTime *string `type:"string"`
10281
10282	// The identifier of the network interface attachment
10283	AttachmentId *string `type:"string"`
10284
10285	// Indicates whether the network interface is deleted when the instance is terminated.
10286	DeleteOnTermination *bool `type:"boolean"`
10287
10288	// The device index of the network interface attachment on the instance.
10289	DeviceIndex *int64 `type:"integer"`
10290
10291	// The ID of the instance.
10292	InstanceId *string `type:"string"`
10293
10294	// The Amazon Web Services account ID of the owner of the instance.
10295	InstanceOwnerId *string `type:"string"`
10296
10297	// The attachment state.
10298	//
10299	// Valid values: attaching | attached | detaching | detached
10300	Status *string `type:"string"`
10301}
10302
10303// String returns the string representation
10304func (s AwsEc2NetworkInterfaceAttachment) String() string {
10305	return awsutil.Prettify(s)
10306}
10307
10308// GoString returns the string representation
10309func (s AwsEc2NetworkInterfaceAttachment) GoString() string {
10310	return s.String()
10311}
10312
10313// SetAttachTime sets the AttachTime field's value.
10314func (s *AwsEc2NetworkInterfaceAttachment) SetAttachTime(v string) *AwsEc2NetworkInterfaceAttachment {
10315	s.AttachTime = &v
10316	return s
10317}
10318
10319// SetAttachmentId sets the AttachmentId field's value.
10320func (s *AwsEc2NetworkInterfaceAttachment) SetAttachmentId(v string) *AwsEc2NetworkInterfaceAttachment {
10321	s.AttachmentId = &v
10322	return s
10323}
10324
10325// SetDeleteOnTermination sets the DeleteOnTermination field's value.
10326func (s *AwsEc2NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *AwsEc2NetworkInterfaceAttachment {
10327	s.DeleteOnTermination = &v
10328	return s
10329}
10330
10331// SetDeviceIndex sets the DeviceIndex field's value.
10332func (s *AwsEc2NetworkInterfaceAttachment) SetDeviceIndex(v int64) *AwsEc2NetworkInterfaceAttachment {
10333	s.DeviceIndex = &v
10334	return s
10335}
10336
10337// SetInstanceId sets the InstanceId field's value.
10338func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceId(v string) *AwsEc2NetworkInterfaceAttachment {
10339	s.InstanceId = &v
10340	return s
10341}
10342
10343// SetInstanceOwnerId sets the InstanceOwnerId field's value.
10344func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *AwsEc2NetworkInterfaceAttachment {
10345	s.InstanceOwnerId = &v
10346	return s
10347}
10348
10349// SetStatus sets the Status field's value.
10350func (s *AwsEc2NetworkInterfaceAttachment) SetStatus(v string) *AwsEc2NetworkInterfaceAttachment {
10351	s.Status = &v
10352	return s
10353}
10354
10355// Details about the network interface
10356type AwsEc2NetworkInterfaceDetails struct {
10357	_ struct{} `type:"structure"`
10358
10359	// The network interface attachment.
10360	Attachment *AwsEc2NetworkInterfaceAttachment `type:"structure"`
10361
10362	// The IPv6 addresses associated with the network interface.
10363	IpV6Addresses []*AwsEc2NetworkInterfaceIpV6AddressDetail `type:"list"`
10364
10365	// The ID of the network interface.
10366	NetworkInterfaceId *string `type:"string"`
10367
10368	// The private IPv4 addresses associated with the network interface.
10369	PrivateIpAddresses []*AwsEc2NetworkInterfacePrivateIpAddressDetail `type:"list"`
10370
10371	// The public DNS name of the network interface.
10372	PublicDnsName *string `type:"string"`
10373
10374	// The address of the Elastic IP address bound to the network interface.
10375	PublicIp *string `type:"string"`
10376
10377	// Security groups for the network interface.
10378	SecurityGroups []*AwsEc2NetworkInterfaceSecurityGroup `type:"list"`
10379
10380	// Indicates whether traffic to or from the instance is validated.
10381	SourceDestCheck *bool `type:"boolean"`
10382}
10383
10384// String returns the string representation
10385func (s AwsEc2NetworkInterfaceDetails) String() string {
10386	return awsutil.Prettify(s)
10387}
10388
10389// GoString returns the string representation
10390func (s AwsEc2NetworkInterfaceDetails) GoString() string {
10391	return s.String()
10392}
10393
10394// SetAttachment sets the Attachment field's value.
10395func (s *AwsEc2NetworkInterfaceDetails) SetAttachment(v *AwsEc2NetworkInterfaceAttachment) *AwsEc2NetworkInterfaceDetails {
10396	s.Attachment = v
10397	return s
10398}
10399
10400// SetIpV6Addresses sets the IpV6Addresses field's value.
10401func (s *AwsEc2NetworkInterfaceDetails) SetIpV6Addresses(v []*AwsEc2NetworkInterfaceIpV6AddressDetail) *AwsEc2NetworkInterfaceDetails {
10402	s.IpV6Addresses = v
10403	return s
10404}
10405
10406// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
10407func (s *AwsEc2NetworkInterfaceDetails) SetNetworkInterfaceId(v string) *AwsEc2NetworkInterfaceDetails {
10408	s.NetworkInterfaceId = &v
10409	return s
10410}
10411
10412// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
10413func (s *AwsEc2NetworkInterfaceDetails) SetPrivateIpAddresses(v []*AwsEc2NetworkInterfacePrivateIpAddressDetail) *AwsEc2NetworkInterfaceDetails {
10414	s.PrivateIpAddresses = v
10415	return s
10416}
10417
10418// SetPublicDnsName sets the PublicDnsName field's value.
10419func (s *AwsEc2NetworkInterfaceDetails) SetPublicDnsName(v string) *AwsEc2NetworkInterfaceDetails {
10420	s.PublicDnsName = &v
10421	return s
10422}
10423
10424// SetPublicIp sets the PublicIp field's value.
10425func (s *AwsEc2NetworkInterfaceDetails) SetPublicIp(v string) *AwsEc2NetworkInterfaceDetails {
10426	s.PublicIp = &v
10427	return s
10428}
10429
10430// SetSecurityGroups sets the SecurityGroups field's value.
10431func (s *AwsEc2NetworkInterfaceDetails) SetSecurityGroups(v []*AwsEc2NetworkInterfaceSecurityGroup) *AwsEc2NetworkInterfaceDetails {
10432	s.SecurityGroups = v
10433	return s
10434}
10435
10436// SetSourceDestCheck sets the SourceDestCheck field's value.
10437func (s *AwsEc2NetworkInterfaceDetails) SetSourceDestCheck(v bool) *AwsEc2NetworkInterfaceDetails {
10438	s.SourceDestCheck = &v
10439	return s
10440}
10441
10442// Provides information about an IPV6 address that is associated with the network
10443// interface.
10444type AwsEc2NetworkInterfaceIpV6AddressDetail struct {
10445	_ struct{} `type:"structure"`
10446
10447	// The IPV6 address.
10448	IpV6Address *string `type:"string"`
10449}
10450
10451// String returns the string representation
10452func (s AwsEc2NetworkInterfaceIpV6AddressDetail) String() string {
10453	return awsutil.Prettify(s)
10454}
10455
10456// GoString returns the string representation
10457func (s AwsEc2NetworkInterfaceIpV6AddressDetail) GoString() string {
10458	return s.String()
10459}
10460
10461// SetIpV6Address sets the IpV6Address field's value.
10462func (s *AwsEc2NetworkInterfaceIpV6AddressDetail) SetIpV6Address(v string) *AwsEc2NetworkInterfaceIpV6AddressDetail {
10463	s.IpV6Address = &v
10464	return s
10465}
10466
10467// Provides information about a private IPv4 address that is with the network
10468// interface.
10469type AwsEc2NetworkInterfacePrivateIpAddressDetail struct {
10470	_ struct{} `type:"structure"`
10471
10472	// The private DNS name for the IP address.
10473	PrivateDnsName *string `type:"string"`
10474
10475	// The IP address.
10476	PrivateIpAddress *string `type:"string"`
10477}
10478
10479// String returns the string representation
10480func (s AwsEc2NetworkInterfacePrivateIpAddressDetail) String() string {
10481	return awsutil.Prettify(s)
10482}
10483
10484// GoString returns the string representation
10485func (s AwsEc2NetworkInterfacePrivateIpAddressDetail) GoString() string {
10486	return s.String()
10487}
10488
10489// SetPrivateDnsName sets the PrivateDnsName field's value.
10490func (s *AwsEc2NetworkInterfacePrivateIpAddressDetail) SetPrivateDnsName(v string) *AwsEc2NetworkInterfacePrivateIpAddressDetail {
10491	s.PrivateDnsName = &v
10492	return s
10493}
10494
10495// SetPrivateIpAddress sets the PrivateIpAddress field's value.
10496func (s *AwsEc2NetworkInterfacePrivateIpAddressDetail) SetPrivateIpAddress(v string) *AwsEc2NetworkInterfacePrivateIpAddressDetail {
10497	s.PrivateIpAddress = &v
10498	return s
10499}
10500
10501// A security group associated with the network interface.
10502type AwsEc2NetworkInterfaceSecurityGroup struct {
10503	_ struct{} `type:"structure"`
10504
10505	// The ID of the security group.
10506	GroupId *string `type:"string"`
10507
10508	// The name of the security group.
10509	GroupName *string `type:"string"`
10510}
10511
10512// String returns the string representation
10513func (s AwsEc2NetworkInterfaceSecurityGroup) String() string {
10514	return awsutil.Prettify(s)
10515}
10516
10517// GoString returns the string representation
10518func (s AwsEc2NetworkInterfaceSecurityGroup) GoString() string {
10519	return s.String()
10520}
10521
10522// SetGroupId sets the GroupId field's value.
10523func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupId(v string) *AwsEc2NetworkInterfaceSecurityGroup {
10524	s.GroupId = &v
10525	return s
10526}
10527
10528// SetGroupName sets the GroupName field's value.
10529func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupName(v string) *AwsEc2NetworkInterfaceSecurityGroup {
10530	s.GroupName = &v
10531	return s
10532}
10533
10534// Details about an EC2 security group.
10535type AwsEc2SecurityGroupDetails struct {
10536	_ struct{} `type:"structure"`
10537
10538	// The ID of the security group.
10539	GroupId *string `type:"string"`
10540
10541	// The name of the security group.
10542	GroupName *string `type:"string"`
10543
10544	// The inbound rules associated with the security group.
10545	IpPermissions []*AwsEc2SecurityGroupIpPermission `type:"list"`
10546
10547	// [VPC only] The outbound rules associated with the security group.
10548	IpPermissionsEgress []*AwsEc2SecurityGroupIpPermission `type:"list"`
10549
10550	// The Amazon Web Services account ID of the owner of the security group.
10551	OwnerId *string `type:"string"`
10552
10553	// [VPC only] The ID of the VPC for the security group.
10554	VpcId *string `type:"string"`
10555}
10556
10557// String returns the string representation
10558func (s AwsEc2SecurityGroupDetails) String() string {
10559	return awsutil.Prettify(s)
10560}
10561
10562// GoString returns the string representation
10563func (s AwsEc2SecurityGroupDetails) GoString() string {
10564	return s.String()
10565}
10566
10567// SetGroupId sets the GroupId field's value.
10568func (s *AwsEc2SecurityGroupDetails) SetGroupId(v string) *AwsEc2SecurityGroupDetails {
10569	s.GroupId = &v
10570	return s
10571}
10572
10573// SetGroupName sets the GroupName field's value.
10574func (s *AwsEc2SecurityGroupDetails) SetGroupName(v string) *AwsEc2SecurityGroupDetails {
10575	s.GroupName = &v
10576	return s
10577}
10578
10579// SetIpPermissions sets the IpPermissions field's value.
10580func (s *AwsEc2SecurityGroupDetails) SetIpPermissions(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails {
10581	s.IpPermissions = v
10582	return s
10583}
10584
10585// SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
10586func (s *AwsEc2SecurityGroupDetails) SetIpPermissionsEgress(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails {
10587	s.IpPermissionsEgress = v
10588	return s
10589}
10590
10591// SetOwnerId sets the OwnerId field's value.
10592func (s *AwsEc2SecurityGroupDetails) SetOwnerId(v string) *AwsEc2SecurityGroupDetails {
10593	s.OwnerId = &v
10594	return s
10595}
10596
10597// SetVpcId sets the VpcId field's value.
10598func (s *AwsEc2SecurityGroupDetails) SetVpcId(v string) *AwsEc2SecurityGroupDetails {
10599	s.VpcId = &v
10600	return s
10601}
10602
10603// An IP permission for an EC2 security group.
10604type AwsEc2SecurityGroupIpPermission struct {
10605	_ struct{} `type:"structure"`
10606
10607	// The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6
10608	// type number.
10609	//
10610	// A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6
10611	// types, you must specify all codes.
10612	FromPort *int64 `type:"integer"`
10613
10614	// The IP protocol name (tcp, udp, icmp, icmpv6) or number.
10615	//
10616	// [VPC only] Use -1 to specify all protocols.
10617	//
10618	// When authorizing security group rules, specifying -1 or a protocol number
10619	// other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless
10620	// of any port range you specify.
10621	//
10622	// For tcp, udp, and icmp, you must specify a port range.
10623	//
10624	// For icmpv6, the port range is optional. If you omit the port range, traffic
10625	// for all types and codes is allowed.
10626	IpProtocol *string `type:"string"`
10627
10628	// The IPv4 ranges.
10629	IpRanges []*AwsEc2SecurityGroupIpRange `type:"list"`
10630
10631	// The IPv6 ranges.
10632	Ipv6Ranges []*AwsEc2SecurityGroupIpv6Range `type:"list"`
10633
10634	// [VPC only] The prefix list IDs for an Amazon Web Services service. With outbound
10635	// rules, this is the Amazon Web Services service to access through a VPC endpoint
10636	// from instances associated with the security group.
10637	PrefixListIds []*AwsEc2SecurityGroupPrefixListId `type:"list"`
10638
10639	// The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6
10640	// code.
10641	//
10642	// A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6
10643	// types, you must specify all codes.
10644	ToPort *int64 `type:"integer"`
10645
10646	// The security group and Amazon Web Services account ID pairs.
10647	UserIdGroupPairs []*AwsEc2SecurityGroupUserIdGroupPair `type:"list"`
10648}
10649
10650// String returns the string representation
10651func (s AwsEc2SecurityGroupIpPermission) String() string {
10652	return awsutil.Prettify(s)
10653}
10654
10655// GoString returns the string representation
10656func (s AwsEc2SecurityGroupIpPermission) GoString() string {
10657	return s.String()
10658}
10659
10660// SetFromPort sets the FromPort field's value.
10661func (s *AwsEc2SecurityGroupIpPermission) SetFromPort(v int64) *AwsEc2SecurityGroupIpPermission {
10662	s.FromPort = &v
10663	return s
10664}
10665
10666// SetIpProtocol sets the IpProtocol field's value.
10667func (s *AwsEc2SecurityGroupIpPermission) SetIpProtocol(v string) *AwsEc2SecurityGroupIpPermission {
10668	s.IpProtocol = &v
10669	return s
10670}
10671
10672// SetIpRanges sets the IpRanges field's value.
10673func (s *AwsEc2SecurityGroupIpPermission) SetIpRanges(v []*AwsEc2SecurityGroupIpRange) *AwsEc2SecurityGroupIpPermission {
10674	s.IpRanges = v
10675	return s
10676}
10677
10678// SetIpv6Ranges sets the Ipv6Ranges field's value.
10679func (s *AwsEc2SecurityGroupIpPermission) SetIpv6Ranges(v []*AwsEc2SecurityGroupIpv6Range) *AwsEc2SecurityGroupIpPermission {
10680	s.Ipv6Ranges = v
10681	return s
10682}
10683
10684// SetPrefixListIds sets the PrefixListIds field's value.
10685func (s *AwsEc2SecurityGroupIpPermission) SetPrefixListIds(v []*AwsEc2SecurityGroupPrefixListId) *AwsEc2SecurityGroupIpPermission {
10686	s.PrefixListIds = v
10687	return s
10688}
10689
10690// SetToPort sets the ToPort field's value.
10691func (s *AwsEc2SecurityGroupIpPermission) SetToPort(v int64) *AwsEc2SecurityGroupIpPermission {
10692	s.ToPort = &v
10693	return s
10694}
10695
10696// SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
10697func (s *AwsEc2SecurityGroupIpPermission) SetUserIdGroupPairs(v []*AwsEc2SecurityGroupUserIdGroupPair) *AwsEc2SecurityGroupIpPermission {
10698	s.UserIdGroupPairs = v
10699	return s
10700}
10701
10702// A range of IPv4 addresses.
10703type AwsEc2SecurityGroupIpRange struct {
10704	_ struct{} `type:"structure"`
10705
10706	// The IPv4 CIDR range. You can specify either a CIDR range or a source security
10707	// group, but not both. To specify a single IPv4 address, use the /32 prefix
10708	// length.
10709	CidrIp *string `type:"string"`
10710}
10711
10712// String returns the string representation
10713func (s AwsEc2SecurityGroupIpRange) String() string {
10714	return awsutil.Prettify(s)
10715}
10716
10717// GoString returns the string representation
10718func (s AwsEc2SecurityGroupIpRange) GoString() string {
10719	return s.String()
10720}
10721
10722// SetCidrIp sets the CidrIp field's value.
10723func (s *AwsEc2SecurityGroupIpRange) SetCidrIp(v string) *AwsEc2SecurityGroupIpRange {
10724	s.CidrIp = &v
10725	return s
10726}
10727
10728// A range of IPv6 addresses.
10729type AwsEc2SecurityGroupIpv6Range struct {
10730	_ struct{} `type:"structure"`
10731
10732	// The IPv6 CIDR range. You can specify either a CIDR range or a source security
10733	// group, but not both. To specify a single IPv6 address, use the /128 prefix
10734	// length.
10735	CidrIpv6 *string `type:"string"`
10736}
10737
10738// String returns the string representation
10739func (s AwsEc2SecurityGroupIpv6Range) String() string {
10740	return awsutil.Prettify(s)
10741}
10742
10743// GoString returns the string representation
10744func (s AwsEc2SecurityGroupIpv6Range) GoString() string {
10745	return s.String()
10746}
10747
10748// SetCidrIpv6 sets the CidrIpv6 field's value.
10749func (s *AwsEc2SecurityGroupIpv6Range) SetCidrIpv6(v string) *AwsEc2SecurityGroupIpv6Range {
10750	s.CidrIpv6 = &v
10751	return s
10752}
10753
10754// A prefix list ID.
10755type AwsEc2SecurityGroupPrefixListId struct {
10756	_ struct{} `type:"structure"`
10757
10758	// The ID of the prefix.
10759	PrefixListId *string `type:"string"`
10760}
10761
10762// String returns the string representation
10763func (s AwsEc2SecurityGroupPrefixListId) String() string {
10764	return awsutil.Prettify(s)
10765}
10766
10767// GoString returns the string representation
10768func (s AwsEc2SecurityGroupPrefixListId) GoString() string {
10769	return s.String()
10770}
10771
10772// SetPrefixListId sets the PrefixListId field's value.
10773func (s *AwsEc2SecurityGroupPrefixListId) SetPrefixListId(v string) *AwsEc2SecurityGroupPrefixListId {
10774	s.PrefixListId = &v
10775	return s
10776}
10777
10778// A relationship between a security group and a user.
10779type AwsEc2SecurityGroupUserIdGroupPair struct {
10780	_ struct{} `type:"structure"`
10781
10782	// The ID of the security group.
10783	GroupId *string `type:"string"`
10784
10785	// The name of the security group.
10786	GroupName *string `type:"string"`
10787
10788	// The status of a VPC peering connection, if applicable.
10789	PeeringStatus *string `type:"string"`
10790
10791	// The ID of an Amazon Web Services account.
10792	//
10793	// For a referenced security group in another VPC, the account ID of the referenced
10794	// security group is returned in the response. If the referenced security group
10795	// is deleted, this value is not returned.
10796	//
10797	// [EC2-Classic] Required when adding or removing rules that reference a security
10798	// group in another VPC.
10799	UserId *string `type:"string"`
10800
10801	// The ID of the VPC for the referenced security group, if applicable.
10802	VpcId *string `type:"string"`
10803
10804	// The ID of the VPC peering connection, if applicable.
10805	VpcPeeringConnectionId *string `type:"string"`
10806}
10807
10808// String returns the string representation
10809func (s AwsEc2SecurityGroupUserIdGroupPair) String() string {
10810	return awsutil.Prettify(s)
10811}
10812
10813// GoString returns the string representation
10814func (s AwsEc2SecurityGroupUserIdGroupPair) GoString() string {
10815	return s.String()
10816}
10817
10818// SetGroupId sets the GroupId field's value.
10819func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10820	s.GroupId = &v
10821	return s
10822}
10823
10824// SetGroupName sets the GroupName field's value.
10825func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupName(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10826	s.GroupName = &v
10827	return s
10828}
10829
10830// SetPeeringStatus sets the PeeringStatus field's value.
10831func (s *AwsEc2SecurityGroupUserIdGroupPair) SetPeeringStatus(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10832	s.PeeringStatus = &v
10833	return s
10834}
10835
10836// SetUserId sets the UserId field's value.
10837func (s *AwsEc2SecurityGroupUserIdGroupPair) SetUserId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10838	s.UserId = &v
10839	return s
10840}
10841
10842// SetVpcId sets the VpcId field's value.
10843func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10844	s.VpcId = &v
10845	return s
10846}
10847
10848// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
10849func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcPeeringConnectionId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10850	s.VpcPeeringConnectionId = &v
10851	return s
10852}
10853
10854// Contains information about a subnet in Amazon EC2.
10855type AwsEc2SubnetDetails struct {
10856	_ struct{} `type:"structure"`
10857
10858	// Whether to assign an IPV6 address to a network interface that is created
10859	// in this subnet.
10860	AssignIpv6AddressOnCreation *bool `type:"boolean"`
10861
10862	// The Availability Zone for the subnet.
10863	AvailabilityZone *string `type:"string"`
10864
10865	// The identifier of the Availability Zone for the subnet.
10866	AvailabilityZoneId *string `type:"string"`
10867
10868	// The number of available IPV4 addresses in the subnet. Does not include addresses
10869	// for stopped instances.
10870	AvailableIpAddressCount *int64 `type:"integer"`
10871
10872	// The IPV4 CIDR block that is assigned to the subnet.
10873	CidrBlock *string `type:"string"`
10874
10875	// Whether this subnet is the default subnet for the Availability Zone.
10876	DefaultForAz *bool `type:"boolean"`
10877
10878	// The IPV6 CIDR blocks that are associated with the subnet.
10879	Ipv6CidrBlockAssociationSet []*Ipv6CidrBlockAssociation `type:"list"`
10880
10881	// Whether instances in this subnet receive a public IP address.
10882	MapPublicIpOnLaunch *bool `type:"boolean"`
10883
10884	// The identifier of the Amazon Web Services account that owns the subnet.
10885	OwnerId *string `type:"string"`
10886
10887	// The current state of the subnet.
10888	State *string `type:"string"`
10889
10890	// The ARN of the subnet.
10891	SubnetArn *string `type:"string"`
10892
10893	// The identifier of the subnet.
10894	SubnetId *string `type:"string"`
10895
10896	// The identifier of the VPC that contains the subnet.
10897	VpcId *string `type:"string"`
10898}
10899
10900// String returns the string representation
10901func (s AwsEc2SubnetDetails) String() string {
10902	return awsutil.Prettify(s)
10903}
10904
10905// GoString returns the string representation
10906func (s AwsEc2SubnetDetails) GoString() string {
10907	return s.String()
10908}
10909
10910// SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
10911func (s *AwsEc2SubnetDetails) SetAssignIpv6AddressOnCreation(v bool) *AwsEc2SubnetDetails {
10912	s.AssignIpv6AddressOnCreation = &v
10913	return s
10914}
10915
10916// SetAvailabilityZone sets the AvailabilityZone field's value.
10917func (s *AwsEc2SubnetDetails) SetAvailabilityZone(v string) *AwsEc2SubnetDetails {
10918	s.AvailabilityZone = &v
10919	return s
10920}
10921
10922// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
10923func (s *AwsEc2SubnetDetails) SetAvailabilityZoneId(v string) *AwsEc2SubnetDetails {
10924	s.AvailabilityZoneId = &v
10925	return s
10926}
10927
10928// SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
10929func (s *AwsEc2SubnetDetails) SetAvailableIpAddressCount(v int64) *AwsEc2SubnetDetails {
10930	s.AvailableIpAddressCount = &v
10931	return s
10932}
10933
10934// SetCidrBlock sets the CidrBlock field's value.
10935func (s *AwsEc2SubnetDetails) SetCidrBlock(v string) *AwsEc2SubnetDetails {
10936	s.CidrBlock = &v
10937	return s
10938}
10939
10940// SetDefaultForAz sets the DefaultForAz field's value.
10941func (s *AwsEc2SubnetDetails) SetDefaultForAz(v bool) *AwsEc2SubnetDetails {
10942	s.DefaultForAz = &v
10943	return s
10944}
10945
10946// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
10947func (s *AwsEc2SubnetDetails) SetIpv6CidrBlockAssociationSet(v []*Ipv6CidrBlockAssociation) *AwsEc2SubnetDetails {
10948	s.Ipv6CidrBlockAssociationSet = v
10949	return s
10950}
10951
10952// SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
10953func (s *AwsEc2SubnetDetails) SetMapPublicIpOnLaunch(v bool) *AwsEc2SubnetDetails {
10954	s.MapPublicIpOnLaunch = &v
10955	return s
10956}
10957
10958// SetOwnerId sets the OwnerId field's value.
10959func (s *AwsEc2SubnetDetails) SetOwnerId(v string) *AwsEc2SubnetDetails {
10960	s.OwnerId = &v
10961	return s
10962}
10963
10964// SetState sets the State field's value.
10965func (s *AwsEc2SubnetDetails) SetState(v string) *AwsEc2SubnetDetails {
10966	s.State = &v
10967	return s
10968}
10969
10970// SetSubnetArn sets the SubnetArn field's value.
10971func (s *AwsEc2SubnetDetails) SetSubnetArn(v string) *AwsEc2SubnetDetails {
10972	s.SubnetArn = &v
10973	return s
10974}
10975
10976// SetSubnetId sets the SubnetId field's value.
10977func (s *AwsEc2SubnetDetails) SetSubnetId(v string) *AwsEc2SubnetDetails {
10978	s.SubnetId = &v
10979	return s
10980}
10981
10982// SetVpcId sets the VpcId field's value.
10983func (s *AwsEc2SubnetDetails) SetVpcId(v string) *AwsEc2SubnetDetails {
10984	s.VpcId = &v
10985	return s
10986}
10987
10988// An attachment to an Amazon EC2 volume.
10989type AwsEc2VolumeAttachment struct {
10990	_ struct{} `type:"structure"`
10991
10992	// The datetime when the attachment initiated.
10993	AttachTime *string `type:"string"`
10994
10995	// Whether the EBS volume is deleted when the EC2 instance is terminated.
10996	DeleteOnTermination *bool `type:"boolean"`
10997
10998	// The identifier of the EC2 instance.
10999	InstanceId *string `type:"string"`
11000
11001	// The attachment state of the volume.
11002	Status *string `type:"string"`
11003}
11004
11005// String returns the string representation
11006func (s AwsEc2VolumeAttachment) String() string {
11007	return awsutil.Prettify(s)
11008}
11009
11010// GoString returns the string representation
11011func (s AwsEc2VolumeAttachment) GoString() string {
11012	return s.String()
11013}
11014
11015// SetAttachTime sets the AttachTime field's value.
11016func (s *AwsEc2VolumeAttachment) SetAttachTime(v string) *AwsEc2VolumeAttachment {
11017	s.AttachTime = &v
11018	return s
11019}
11020
11021// SetDeleteOnTermination sets the DeleteOnTermination field's value.
11022func (s *AwsEc2VolumeAttachment) SetDeleteOnTermination(v bool) *AwsEc2VolumeAttachment {
11023	s.DeleteOnTermination = &v
11024	return s
11025}
11026
11027// SetInstanceId sets the InstanceId field's value.
11028func (s *AwsEc2VolumeAttachment) SetInstanceId(v string) *AwsEc2VolumeAttachment {
11029	s.InstanceId = &v
11030	return s
11031}
11032
11033// SetStatus sets the Status field's value.
11034func (s *AwsEc2VolumeAttachment) SetStatus(v string) *AwsEc2VolumeAttachment {
11035	s.Status = &v
11036	return s
11037}
11038
11039// Details about an EC2 volume.
11040type AwsEc2VolumeDetails struct {
11041	_ struct{} `type:"structure"`
11042
11043	// The volume attachments.
11044	Attachments []*AwsEc2VolumeAttachment `type:"list"`
11045
11046	// Indicates when the volume was created.
11047	//
11048	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11049	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11050	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11051	CreateTime *string `type:"string"`
11052
11053	// Whether the volume is encrypted.
11054	Encrypted *bool `type:"boolean"`
11055
11056	// The ARN of the KMS customer master key (CMK) that was used to protect the
11057	// volume encryption key for the volume.
11058	KmsKeyId *string `type:"string"`
11059
11060	// The size of the volume, in GiBs.
11061	Size *int64 `type:"integer"`
11062
11063	// The snapshot from which the volume was created.
11064	SnapshotId *string `type:"string"`
11065
11066	// The volume state.
11067	Status *string `type:"string"`
11068}
11069
11070// String returns the string representation
11071func (s AwsEc2VolumeDetails) String() string {
11072	return awsutil.Prettify(s)
11073}
11074
11075// GoString returns the string representation
11076func (s AwsEc2VolumeDetails) GoString() string {
11077	return s.String()
11078}
11079
11080// SetAttachments sets the Attachments field's value.
11081func (s *AwsEc2VolumeDetails) SetAttachments(v []*AwsEc2VolumeAttachment) *AwsEc2VolumeDetails {
11082	s.Attachments = v
11083	return s
11084}
11085
11086// SetCreateTime sets the CreateTime field's value.
11087func (s *AwsEc2VolumeDetails) SetCreateTime(v string) *AwsEc2VolumeDetails {
11088	s.CreateTime = &v
11089	return s
11090}
11091
11092// SetEncrypted sets the Encrypted field's value.
11093func (s *AwsEc2VolumeDetails) SetEncrypted(v bool) *AwsEc2VolumeDetails {
11094	s.Encrypted = &v
11095	return s
11096}
11097
11098// SetKmsKeyId sets the KmsKeyId field's value.
11099func (s *AwsEc2VolumeDetails) SetKmsKeyId(v string) *AwsEc2VolumeDetails {
11100	s.KmsKeyId = &v
11101	return s
11102}
11103
11104// SetSize sets the Size field's value.
11105func (s *AwsEc2VolumeDetails) SetSize(v int64) *AwsEc2VolumeDetails {
11106	s.Size = &v
11107	return s
11108}
11109
11110// SetSnapshotId sets the SnapshotId field's value.
11111func (s *AwsEc2VolumeDetails) SetSnapshotId(v string) *AwsEc2VolumeDetails {
11112	s.SnapshotId = &v
11113	return s
11114}
11115
11116// SetStatus sets the Status field's value.
11117func (s *AwsEc2VolumeDetails) SetStatus(v string) *AwsEc2VolumeDetails {
11118	s.Status = &v
11119	return s
11120}
11121
11122// Details about an EC2 VPC.
11123type AwsEc2VpcDetails struct {
11124	_ struct{} `type:"structure"`
11125
11126	// Information about the IPv4 CIDR blocks associated with the VPC.
11127	CidrBlockAssociationSet []*CidrBlockAssociation `type:"list"`
11128
11129	// The identifier of the set of Dynamic Host Configuration Protocol (DHCP) options
11130	// that are associated with the VPC. If the default options are associated with
11131	// the VPC, then this is default.
11132	DhcpOptionsId *string `type:"string"`
11133
11134	// Information about the IPv6 CIDR blocks associated with the VPC.
11135	Ipv6CidrBlockAssociationSet []*Ipv6CidrBlockAssociation `type:"list"`
11136
11137	// The current state of the VPC.
11138	State *string `type:"string"`
11139}
11140
11141// String returns the string representation
11142func (s AwsEc2VpcDetails) String() string {
11143	return awsutil.Prettify(s)
11144}
11145
11146// GoString returns the string representation
11147func (s AwsEc2VpcDetails) GoString() string {
11148	return s.String()
11149}
11150
11151// SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value.
11152func (s *AwsEc2VpcDetails) SetCidrBlockAssociationSet(v []*CidrBlockAssociation) *AwsEc2VpcDetails {
11153	s.CidrBlockAssociationSet = v
11154	return s
11155}
11156
11157// SetDhcpOptionsId sets the DhcpOptionsId field's value.
11158func (s *AwsEc2VpcDetails) SetDhcpOptionsId(v string) *AwsEc2VpcDetails {
11159	s.DhcpOptionsId = &v
11160	return s
11161}
11162
11163// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
11164func (s *AwsEc2VpcDetails) SetIpv6CidrBlockAssociationSet(v []*Ipv6CidrBlockAssociation) *AwsEc2VpcDetails {
11165	s.Ipv6CidrBlockAssociationSet = v
11166	return s
11167}
11168
11169// SetState sets the State field's value.
11170func (s *AwsEc2VpcDetails) SetState(v string) *AwsEc2VpcDetails {
11171	s.State = &v
11172	return s
11173}
11174
11175// Indicates whether to enable CloudWatch Container Insights for the ECS cluster.
11176type AwsEcsClusterClusterSettingsDetails struct {
11177	_ struct{} `type:"structure"`
11178
11179	// The name of the setting.
11180	Name *string `type:"string"`
11181
11182	// The value of the setting.
11183	Value *string `type:"string"`
11184}
11185
11186// String returns the string representation
11187func (s AwsEcsClusterClusterSettingsDetails) String() string {
11188	return awsutil.Prettify(s)
11189}
11190
11191// GoString returns the string representation
11192func (s AwsEcsClusterClusterSettingsDetails) GoString() string {
11193	return s.String()
11194}
11195
11196// SetName sets the Name field's value.
11197func (s *AwsEcsClusterClusterSettingsDetails) SetName(v string) *AwsEcsClusterClusterSettingsDetails {
11198	s.Name = &v
11199	return s
11200}
11201
11202// SetValue sets the Value field's value.
11203func (s *AwsEcsClusterClusterSettingsDetails) SetValue(v string) *AwsEcsClusterClusterSettingsDetails {
11204	s.Value = &v
11205	return s
11206}
11207
11208// The run command configuration for the cluster.
11209type AwsEcsClusterConfigurationDetails struct {
11210	_ struct{} `type:"structure"`
11211
11212	// Contains the run command configuration for the cluster.
11213	ExecuteCommandConfiguration *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails `type:"structure"`
11214}
11215
11216// String returns the string representation
11217func (s AwsEcsClusterConfigurationDetails) String() string {
11218	return awsutil.Prettify(s)
11219}
11220
11221// GoString returns the string representation
11222func (s AwsEcsClusterConfigurationDetails) GoString() string {
11223	return s.String()
11224}
11225
11226// SetExecuteCommandConfiguration sets the ExecuteCommandConfiguration field's value.
11227func (s *AwsEcsClusterConfigurationDetails) SetExecuteCommandConfiguration(v *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) *AwsEcsClusterConfigurationDetails {
11228	s.ExecuteCommandConfiguration = v
11229	return s
11230}
11231
11232// Contains the run command configuration for the cluster.
11233type AwsEcsClusterConfigurationExecuteCommandConfigurationDetails struct {
11234	_ struct{} `type:"structure"`
11235
11236	// The identifier of the KMS key that is used to encrypt the data between the
11237	// local client and the container.
11238	KmsKeyId *string `type:"string"`
11239
11240	// The log configuration for the results of the run command actions. Required
11241	// if Logging is NONE.
11242	LogConfiguration *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails `type:"structure"`
11243
11244	// The log setting to use for redirecting logs for run command results.
11245	Logging *string `type:"string"`
11246}
11247
11248// String returns the string representation
11249func (s AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) String() string {
11250	return awsutil.Prettify(s)
11251}
11252
11253// GoString returns the string representation
11254func (s AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) GoString() string {
11255	return s.String()
11256}
11257
11258// SetKmsKeyId sets the KmsKeyId field's value.
11259func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) SetKmsKeyId(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails {
11260	s.KmsKeyId = &v
11261	return s
11262}
11263
11264// SetLogConfiguration sets the LogConfiguration field's value.
11265func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) SetLogConfiguration(v *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails {
11266	s.LogConfiguration = v
11267	return s
11268}
11269
11270// SetLogging sets the Logging field's value.
11271func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) SetLogging(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails {
11272	s.Logging = &v
11273	return s
11274}
11275
11276// The log configuration for the results of the run command actions.
11277type AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails struct {
11278	_ struct{} `type:"structure"`
11279
11280	// Whether to enable encryption on the CloudWatch logs.
11281	CloudWatchEncryptionEnabled *bool `type:"boolean"`
11282
11283	// The name of the CloudWatch log group to send the logs to.
11284	CloudWatchLogGroupName *string `type:"string"`
11285
11286	// The name of the S3 bucket to send logs to.
11287	S3BucketName *string `type:"string"`
11288
11289	// Whether to encrypt the logs that are sent to the S3 bucket.
11290	S3EncryptionEnabled *bool `type:"boolean"`
11291
11292	// Identifies the folder in the S3 bucket to send the logs to.
11293	S3KeyPrefix *string `type:"string"`
11294}
11295
11296// String returns the string representation
11297func (s AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) String() string {
11298	return awsutil.Prettify(s)
11299}
11300
11301// GoString returns the string representation
11302func (s AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) GoString() string {
11303	return s.String()
11304}
11305
11306// SetCloudWatchEncryptionEnabled sets the CloudWatchEncryptionEnabled field's value.
11307func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetCloudWatchEncryptionEnabled(v bool) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
11308	s.CloudWatchEncryptionEnabled = &v
11309	return s
11310}
11311
11312// SetCloudWatchLogGroupName sets the CloudWatchLogGroupName field's value.
11313func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetCloudWatchLogGroupName(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
11314	s.CloudWatchLogGroupName = &v
11315	return s
11316}
11317
11318// SetS3BucketName sets the S3BucketName field's value.
11319func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetS3BucketName(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
11320	s.S3BucketName = &v
11321	return s
11322}
11323
11324// SetS3EncryptionEnabled sets the S3EncryptionEnabled field's value.
11325func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetS3EncryptionEnabled(v bool) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
11326	s.S3EncryptionEnabled = &v
11327	return s
11328}
11329
11330// SetS3KeyPrefix sets the S3KeyPrefix field's value.
11331func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetS3KeyPrefix(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
11332	s.S3KeyPrefix = &v
11333	return s
11334}
11335
11336// The default capacity provider strategy for the cluster. The default capacity
11337// provider strategy is used when services or tasks are run without a specified
11338// launch type or capacity provider strategy.
11339type AwsEcsClusterDefaultCapacityProviderStrategyDetails struct {
11340	_ struct{} `type:"structure"`
11341
11342	// The minimum number of tasks to run on the specified capacity provider.
11343	Base *int64 `type:"integer"`
11344
11345	// The name of the capacity provider.
11346	CapacityProvider *string `type:"string"`
11347
11348	// The relative percentage of the total number of tasks launched that should
11349	// use the capacity provider.
11350	Weight *int64 `type:"integer"`
11351}
11352
11353// String returns the string representation
11354func (s AwsEcsClusterDefaultCapacityProviderStrategyDetails) String() string {
11355	return awsutil.Prettify(s)
11356}
11357
11358// GoString returns the string representation
11359func (s AwsEcsClusterDefaultCapacityProviderStrategyDetails) GoString() string {
11360	return s.String()
11361}
11362
11363// SetBase sets the Base field's value.
11364func (s *AwsEcsClusterDefaultCapacityProviderStrategyDetails) SetBase(v int64) *AwsEcsClusterDefaultCapacityProviderStrategyDetails {
11365	s.Base = &v
11366	return s
11367}
11368
11369// SetCapacityProvider sets the CapacityProvider field's value.
11370func (s *AwsEcsClusterDefaultCapacityProviderStrategyDetails) SetCapacityProvider(v string) *AwsEcsClusterDefaultCapacityProviderStrategyDetails {
11371	s.CapacityProvider = &v
11372	return s
11373}
11374
11375// SetWeight sets the Weight field's value.
11376func (s *AwsEcsClusterDefaultCapacityProviderStrategyDetails) SetWeight(v int64) *AwsEcsClusterDefaultCapacityProviderStrategyDetails {
11377	s.Weight = &v
11378	return s
11379}
11380
11381// provides details about an ECS cluster.
11382type AwsEcsClusterDetails struct {
11383	_ struct{} `type:"structure"`
11384
11385	// The short name of one or more capacity providers to associate with the cluster.
11386	CapacityProviders []*string `type:"list"`
11387
11388	// The setting to use to create the cluster. Specifically used to configure
11389	// whether to enable CloudWatch Container Insights for the cluster.
11390	ClusterSettings []*AwsEcsClusterClusterSettingsDetails `type:"list"`
11391
11392	// The run command configuration for the cluster.
11393	Configuration *AwsEcsClusterConfigurationDetails `type:"structure"`
11394
11395	// The default capacity provider strategy for the cluster. The default capacity
11396	// provider strategy is used when services or tasks are run without a specified
11397	// launch type or capacity provider strategy.
11398	DefaultCapacityProviderStrategy []*AwsEcsClusterDefaultCapacityProviderStrategyDetails `type:"list"`
11399}
11400
11401// String returns the string representation
11402func (s AwsEcsClusterDetails) String() string {
11403	return awsutil.Prettify(s)
11404}
11405
11406// GoString returns the string representation
11407func (s AwsEcsClusterDetails) GoString() string {
11408	return s.String()
11409}
11410
11411// SetCapacityProviders sets the CapacityProviders field's value.
11412func (s *AwsEcsClusterDetails) SetCapacityProviders(v []*string) *AwsEcsClusterDetails {
11413	s.CapacityProviders = v
11414	return s
11415}
11416
11417// SetClusterSettings sets the ClusterSettings field's value.
11418func (s *AwsEcsClusterDetails) SetClusterSettings(v []*AwsEcsClusterClusterSettingsDetails) *AwsEcsClusterDetails {
11419	s.ClusterSettings = v
11420	return s
11421}
11422
11423// SetConfiguration sets the Configuration field's value.
11424func (s *AwsEcsClusterDetails) SetConfiguration(v *AwsEcsClusterConfigurationDetails) *AwsEcsClusterDetails {
11425	s.Configuration = v
11426	return s
11427}
11428
11429// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value.
11430func (s *AwsEcsClusterDetails) SetDefaultCapacityProviderStrategy(v []*AwsEcsClusterDefaultCapacityProviderStrategyDetails) *AwsEcsClusterDetails {
11431	s.DefaultCapacityProviderStrategy = v
11432	return s
11433}
11434
11435// Strategy item for the capacity provider strategy that the service uses.
11436type AwsEcsServiceCapacityProviderStrategyDetails struct {
11437	_ struct{} `type:"structure"`
11438
11439	// The minimum number of tasks to run on the capacity provider. Only one strategy
11440	// item can specify a value for Base.
11441	//
11442	// The value must be between 0 and 100000.
11443	Base *int64 `type:"integer"`
11444
11445	// The short name of the capacity provider.
11446	CapacityProvider *string `type:"string"`
11447
11448	// The relative percentage of the total number of tasks that should use the
11449	// capacity provider.
11450	//
11451	// If no weight is specified, the default value is 0. At least one capacity
11452	// provider must have a weight greater than 0.
11453	//
11454	// The value can be between 0 and 1000.
11455	Weight *int64 `type:"integer"`
11456}
11457
11458// String returns the string representation
11459func (s AwsEcsServiceCapacityProviderStrategyDetails) String() string {
11460	return awsutil.Prettify(s)
11461}
11462
11463// GoString returns the string representation
11464func (s AwsEcsServiceCapacityProviderStrategyDetails) GoString() string {
11465	return s.String()
11466}
11467
11468// SetBase sets the Base field's value.
11469func (s *AwsEcsServiceCapacityProviderStrategyDetails) SetBase(v int64) *AwsEcsServiceCapacityProviderStrategyDetails {
11470	s.Base = &v
11471	return s
11472}
11473
11474// SetCapacityProvider sets the CapacityProvider field's value.
11475func (s *AwsEcsServiceCapacityProviderStrategyDetails) SetCapacityProvider(v string) *AwsEcsServiceCapacityProviderStrategyDetails {
11476	s.CapacityProvider = &v
11477	return s
11478}
11479
11480// SetWeight sets the Weight field's value.
11481func (s *AwsEcsServiceCapacityProviderStrategyDetails) SetWeight(v int64) *AwsEcsServiceCapacityProviderStrategyDetails {
11482	s.Weight = &v
11483	return s
11484}
11485
11486// Determines whether a service deployment fails if a service cannot reach a
11487// steady state.
11488type AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails struct {
11489	_ struct{} `type:"structure"`
11490
11491	// Whether to enable the deployment circuit breaker logic for the service.
11492	Enable *bool `type:"boolean"`
11493
11494	// Whether to roll back the service if a service deployment fails. If rollback
11495	// is enabled, when a service deployment fails, the service is rolled back to
11496	// the last deployment that completed successfully.
11497	Rollback *bool `type:"boolean"`
11498}
11499
11500// String returns the string representation
11501func (s AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) String() string {
11502	return awsutil.Prettify(s)
11503}
11504
11505// GoString returns the string representation
11506func (s AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) GoString() string {
11507	return s.String()
11508}
11509
11510// SetEnable sets the Enable field's value.
11511func (s *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) SetEnable(v bool) *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails {
11512	s.Enable = &v
11513	return s
11514}
11515
11516// SetRollback sets the Rollback field's value.
11517func (s *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) SetRollback(v bool) *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails {
11518	s.Rollback = &v
11519	return s
11520}
11521
11522// Optional deployment parameters for the service.
11523type AwsEcsServiceDeploymentConfigurationDetails struct {
11524	_ struct{} `type:"structure"`
11525
11526	// Determines whether a service deployment fails if a service cannot reach a
11527	// steady state.
11528	DeploymentCircuitBreaker *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails `type:"structure"`
11529
11530	// For a service that uses the rolling update (ECS) deployment type, the maximum
11531	// number of tasks in a service that are allowed in the RUNNING or PENDING state
11532	// during a deployment, and for tasks that use the EC2 launch type, when any
11533	// container instances are in the DRAINING state. Provided as a percentage of
11534	// the desired number of tasks. The default value is 200%.
11535	//
11536	// For a service that uses the blue/green (CODE_DEPLOY) or EXTERNAL deployment
11537	// types, and tasks that use the EC2 launch type, the maximum number of tasks
11538	// in the service that remain in the RUNNING state while the container instances
11539	// are in the DRAINING state.
11540	//
11541	// For the Fargate launch type, the maximum percent value is not used.
11542	MaximumPercent *int64 `type:"integer"`
11543
11544	// For a service that uses the rolling update (ECS) deployment type, the minimum
11545	// number of tasks in a service that must remain in the RUNNING state during
11546	// a deployment, and while any container instances are in the DRAINING state
11547	// if the service contains tasks using the EC2 launch type. Expressed as a percentage
11548	// of the desired number of tasks. The default value is 100%.
11549	//
11550	// For a service that uses the blue/green (CODE_DEPLOY) or EXTERNAL deployment
11551	// types and tasks that use the EC2 launch type, the minimum number of the tasks
11552	// in the service that remain in the RUNNING state while the container instances
11553	// are in the DRAINING state.
11554	//
11555	// For the Fargate launch type, the minimum healthy percent value is not used.
11556	MinimumHealthyPercent *int64 `type:"integer"`
11557}
11558
11559// String returns the string representation
11560func (s AwsEcsServiceDeploymentConfigurationDetails) String() string {
11561	return awsutil.Prettify(s)
11562}
11563
11564// GoString returns the string representation
11565func (s AwsEcsServiceDeploymentConfigurationDetails) GoString() string {
11566	return s.String()
11567}
11568
11569// SetDeploymentCircuitBreaker sets the DeploymentCircuitBreaker field's value.
11570func (s *AwsEcsServiceDeploymentConfigurationDetails) SetDeploymentCircuitBreaker(v *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) *AwsEcsServiceDeploymentConfigurationDetails {
11571	s.DeploymentCircuitBreaker = v
11572	return s
11573}
11574
11575// SetMaximumPercent sets the MaximumPercent field's value.
11576func (s *AwsEcsServiceDeploymentConfigurationDetails) SetMaximumPercent(v int64) *AwsEcsServiceDeploymentConfigurationDetails {
11577	s.MaximumPercent = &v
11578	return s
11579}
11580
11581// SetMinimumHealthyPercent sets the MinimumHealthyPercent field's value.
11582func (s *AwsEcsServiceDeploymentConfigurationDetails) SetMinimumHealthyPercent(v int64) *AwsEcsServiceDeploymentConfigurationDetails {
11583	s.MinimumHealthyPercent = &v
11584	return s
11585}
11586
11587// Information about the deployment controller type that the service uses.
11588type AwsEcsServiceDeploymentControllerDetails struct {
11589	_ struct{} `type:"structure"`
11590
11591	// The rolling update (ECS) deployment type replaces the current running version
11592	// of the container with the latest version.
11593	//
11594	// The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment
11595	// model that is powered by CodeDeploy. This deployment model a new deployment
11596	// of a service can be verified before production traffic is sent to it.
11597	//
11598	// The external (EXTERNAL) deployment type allows the use of any third-party
11599	// deployment controller for full control over the deployment process for an
11600	// Amazon ECS service.
11601	//
11602	// Valid values: ECS | CODE_DEPLOY | EXTERNAL
11603	Type *string `type:"string"`
11604}
11605
11606// String returns the string representation
11607func (s AwsEcsServiceDeploymentControllerDetails) String() string {
11608	return awsutil.Prettify(s)
11609}
11610
11611// GoString returns the string representation
11612func (s AwsEcsServiceDeploymentControllerDetails) GoString() string {
11613	return s.String()
11614}
11615
11616// SetType sets the Type field's value.
11617func (s *AwsEcsServiceDeploymentControllerDetails) SetType(v string) *AwsEcsServiceDeploymentControllerDetails {
11618	s.Type = &v
11619	return s
11620}
11621
11622// Provides details about a service within an ECS cluster.
11623type AwsEcsServiceDetails struct {
11624	_ struct{} `type:"structure"`
11625
11626	// The capacity provider strategy that the service uses.
11627	CapacityProviderStrategy []*AwsEcsServiceCapacityProviderStrategyDetails `type:"list"`
11628
11629	// The ARN of the cluster that hosts the service.
11630	Cluster *string `type:"string"`
11631
11632	// Deployment parameters for the service. Includes the number of tasks that
11633	// run and the order in which to start and stop tasks.
11634	DeploymentConfiguration *AwsEcsServiceDeploymentConfigurationDetails `type:"structure"`
11635
11636	// Contains the deployment controller type that the service uses.
11637	DeploymentController *AwsEcsServiceDeploymentControllerDetails `type:"structure"`
11638
11639	// The number of instantiations of the task definition to run on the service.
11640	DesiredCount *int64 `type:"integer"`
11641
11642	// Whether to enable Amazon ECS managed tags for the tasks in the service.
11643	EnableEcsManagedTags *bool `type:"boolean"`
11644
11645	// Whether the execute command functionality is enabled for the service.
11646	EnableExecuteCommand *bool `type:"boolean"`
11647
11648	// After a task starts, the amount of time in seconds that the Amazon ECS service
11649	// scheduler ignores unhealthy Elastic Load Balancing target health checks.
11650	HealthCheckGracePeriodSeconds *int64 `type:"integer"`
11651
11652	// The launch type that the service uses.
11653	//
11654	// Valid values: EC2 | FARGATE | EXTERNAL
11655	LaunchType *string `type:"string"`
11656
11657	// Information about the load balancers that the service uses.
11658	LoadBalancers []*AwsEcsServiceLoadBalancersDetails `type:"list"`
11659
11660	// The name of the service.
11661	Name *string `type:"string"`
11662
11663	// For tasks that use the awsvpc networking mode, the VPC subnet and security
11664	// group configuration.
11665	NetworkConfiguration *AwsEcsServiceNetworkConfigurationDetails `type:"structure"`
11666
11667	// The placement constraints for the tasks in the service.
11668	PlacementConstraints []*AwsEcsServicePlacementConstraintsDetails `type:"list"`
11669
11670	// Information about how tasks for the service are placed.
11671	PlacementStrategies []*AwsEcsServicePlacementStrategiesDetails `type:"list"`
11672
11673	// The platform version on which to run the service. Only specified for tasks
11674	// that are hosted on Fargate. If a platform version is not specified, the LATEST
11675	// platform version is used by default.
11676	PlatformVersion *string `type:"string"`
11677
11678	// Indicates whether to propagate the tags from the task definition to the task
11679	// or from the service to the task. If no value is provided, then tags are not
11680	// propagated.
11681	//
11682	// Valid values: TASK_DEFINITION | SERVICE
11683	PropagateTags *string `type:"string"`
11684
11685	// The ARN of the IAM role that is associated with the service. The role allows
11686	// the Amazon ECS container agent to register container instances with an Elastic
11687	// Load Balancing load balancer.
11688	Role *string `type:"string"`
11689
11690	// The scheduling strategy to use for the service.
11691	//
11692	// The REPLICA scheduling strategy places and maintains the desired number of
11693	// tasks across the cluster. By default, the service scheduler spreads tasks
11694	// across Availability Zones. Task placement strategies and constraints are
11695	// used to customize task placement decisions.
11696	//
11697	// The DAEMON scheduling strategy deploys exactly one task on each active container
11698	// instance that meets all of the task placement constraints that are specified
11699	// in the cluster. The service scheduler also evaluates the task placement constraints
11700	// for running tasks and stops tasks that do not meet the placement constraints.
11701	//
11702	// Valid values: REPLICA | DAEMON
11703	SchedulingStrategy *string `type:"string"`
11704
11705	// The ARN of the service.
11706	ServiceArn *string `type:"string"`
11707
11708	// The name of the service.
11709	//
11710	// The name can contain up to 255 characters. It can use letters, numbers, underscores,
11711	// and hyphens.
11712	ServiceName *string `type:"string"`
11713
11714	// Information about the service discovery registries to assign to the service.
11715	ServiceRegistries []*AwsEcsServiceServiceRegistriesDetails `type:"list"`
11716
11717	// The task definition to use for tasks in the service.
11718	TaskDefinition *string `type:"string"`
11719}
11720
11721// String returns the string representation
11722func (s AwsEcsServiceDetails) String() string {
11723	return awsutil.Prettify(s)
11724}
11725
11726// GoString returns the string representation
11727func (s AwsEcsServiceDetails) GoString() string {
11728	return s.String()
11729}
11730
11731// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value.
11732func (s *AwsEcsServiceDetails) SetCapacityProviderStrategy(v []*AwsEcsServiceCapacityProviderStrategyDetails) *AwsEcsServiceDetails {
11733	s.CapacityProviderStrategy = v
11734	return s
11735}
11736
11737// SetCluster sets the Cluster field's value.
11738func (s *AwsEcsServiceDetails) SetCluster(v string) *AwsEcsServiceDetails {
11739	s.Cluster = &v
11740	return s
11741}
11742
11743// SetDeploymentConfiguration sets the DeploymentConfiguration field's value.
11744func (s *AwsEcsServiceDetails) SetDeploymentConfiguration(v *AwsEcsServiceDeploymentConfigurationDetails) *AwsEcsServiceDetails {
11745	s.DeploymentConfiguration = v
11746	return s
11747}
11748
11749// SetDeploymentController sets the DeploymentController field's value.
11750func (s *AwsEcsServiceDetails) SetDeploymentController(v *AwsEcsServiceDeploymentControllerDetails) *AwsEcsServiceDetails {
11751	s.DeploymentController = v
11752	return s
11753}
11754
11755// SetDesiredCount sets the DesiredCount field's value.
11756func (s *AwsEcsServiceDetails) SetDesiredCount(v int64) *AwsEcsServiceDetails {
11757	s.DesiredCount = &v
11758	return s
11759}
11760
11761// SetEnableEcsManagedTags sets the EnableEcsManagedTags field's value.
11762func (s *AwsEcsServiceDetails) SetEnableEcsManagedTags(v bool) *AwsEcsServiceDetails {
11763	s.EnableEcsManagedTags = &v
11764	return s
11765}
11766
11767// SetEnableExecuteCommand sets the EnableExecuteCommand field's value.
11768func (s *AwsEcsServiceDetails) SetEnableExecuteCommand(v bool) *AwsEcsServiceDetails {
11769	s.EnableExecuteCommand = &v
11770	return s
11771}
11772
11773// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value.
11774func (s *AwsEcsServiceDetails) SetHealthCheckGracePeriodSeconds(v int64) *AwsEcsServiceDetails {
11775	s.HealthCheckGracePeriodSeconds = &v
11776	return s
11777}
11778
11779// SetLaunchType sets the LaunchType field's value.
11780func (s *AwsEcsServiceDetails) SetLaunchType(v string) *AwsEcsServiceDetails {
11781	s.LaunchType = &v
11782	return s
11783}
11784
11785// SetLoadBalancers sets the LoadBalancers field's value.
11786func (s *AwsEcsServiceDetails) SetLoadBalancers(v []*AwsEcsServiceLoadBalancersDetails) *AwsEcsServiceDetails {
11787	s.LoadBalancers = v
11788	return s
11789}
11790
11791// SetName sets the Name field's value.
11792func (s *AwsEcsServiceDetails) SetName(v string) *AwsEcsServiceDetails {
11793	s.Name = &v
11794	return s
11795}
11796
11797// SetNetworkConfiguration sets the NetworkConfiguration field's value.
11798func (s *AwsEcsServiceDetails) SetNetworkConfiguration(v *AwsEcsServiceNetworkConfigurationDetails) *AwsEcsServiceDetails {
11799	s.NetworkConfiguration = v
11800	return s
11801}
11802
11803// SetPlacementConstraints sets the PlacementConstraints field's value.
11804func (s *AwsEcsServiceDetails) SetPlacementConstraints(v []*AwsEcsServicePlacementConstraintsDetails) *AwsEcsServiceDetails {
11805	s.PlacementConstraints = v
11806	return s
11807}
11808
11809// SetPlacementStrategies sets the PlacementStrategies field's value.
11810func (s *AwsEcsServiceDetails) SetPlacementStrategies(v []*AwsEcsServicePlacementStrategiesDetails) *AwsEcsServiceDetails {
11811	s.PlacementStrategies = v
11812	return s
11813}
11814
11815// SetPlatformVersion sets the PlatformVersion field's value.
11816func (s *AwsEcsServiceDetails) SetPlatformVersion(v string) *AwsEcsServiceDetails {
11817	s.PlatformVersion = &v
11818	return s
11819}
11820
11821// SetPropagateTags sets the PropagateTags field's value.
11822func (s *AwsEcsServiceDetails) SetPropagateTags(v string) *AwsEcsServiceDetails {
11823	s.PropagateTags = &v
11824	return s
11825}
11826
11827// SetRole sets the Role field's value.
11828func (s *AwsEcsServiceDetails) SetRole(v string) *AwsEcsServiceDetails {
11829	s.Role = &v
11830	return s
11831}
11832
11833// SetSchedulingStrategy sets the SchedulingStrategy field's value.
11834func (s *AwsEcsServiceDetails) SetSchedulingStrategy(v string) *AwsEcsServiceDetails {
11835	s.SchedulingStrategy = &v
11836	return s
11837}
11838
11839// SetServiceArn sets the ServiceArn field's value.
11840func (s *AwsEcsServiceDetails) SetServiceArn(v string) *AwsEcsServiceDetails {
11841	s.ServiceArn = &v
11842	return s
11843}
11844
11845// SetServiceName sets the ServiceName field's value.
11846func (s *AwsEcsServiceDetails) SetServiceName(v string) *AwsEcsServiceDetails {
11847	s.ServiceName = &v
11848	return s
11849}
11850
11851// SetServiceRegistries sets the ServiceRegistries field's value.
11852func (s *AwsEcsServiceDetails) SetServiceRegistries(v []*AwsEcsServiceServiceRegistriesDetails) *AwsEcsServiceDetails {
11853	s.ServiceRegistries = v
11854	return s
11855}
11856
11857// SetTaskDefinition sets the TaskDefinition field's value.
11858func (s *AwsEcsServiceDetails) SetTaskDefinition(v string) *AwsEcsServiceDetails {
11859	s.TaskDefinition = &v
11860	return s
11861}
11862
11863// Information about a load balancer that the service uses.
11864type AwsEcsServiceLoadBalancersDetails struct {
11865	_ struct{} `type:"structure"`
11866
11867	// The name of the container to associate with the load balancer.
11868	ContainerName *string `type:"string"`
11869
11870	// The port on the container to associate with the load balancer. This port
11871	// must correspond to a containerPort in the task definition the tasks in the
11872	// service are using. For tasks that use the EC2 launch type, the container
11873	// instance they are launched on must allow ingress traffic on the hostPort
11874	// of the port mapping.
11875	ContainerPort *int64 `type:"integer"`
11876
11877	// The name of the load balancer to associate with the Amazon ECS service or
11878	// task set.
11879	//
11880	// Only specified when using a Classic Load Balancer. For an Application Load
11881	// Balancer or a Network Load Balancer, the load balancer name is omitted.
11882	LoadBalancerName *string `type:"string"`
11883
11884	// The ARN of the Elastic Load Balancing target group or groups associated with
11885	// a service or task set.
11886	//
11887	// Only specified when using an Application Load Balancer or a Network Load
11888	// Balancer. For a Classic Load Balancer, the target group ARN is omitted.
11889	TargetGroupArn *string `type:"string"`
11890}
11891
11892// String returns the string representation
11893func (s AwsEcsServiceLoadBalancersDetails) String() string {
11894	return awsutil.Prettify(s)
11895}
11896
11897// GoString returns the string representation
11898func (s AwsEcsServiceLoadBalancersDetails) GoString() string {
11899	return s.String()
11900}
11901
11902// SetContainerName sets the ContainerName field's value.
11903func (s *AwsEcsServiceLoadBalancersDetails) SetContainerName(v string) *AwsEcsServiceLoadBalancersDetails {
11904	s.ContainerName = &v
11905	return s
11906}
11907
11908// SetContainerPort sets the ContainerPort field's value.
11909func (s *AwsEcsServiceLoadBalancersDetails) SetContainerPort(v int64) *AwsEcsServiceLoadBalancersDetails {
11910	s.ContainerPort = &v
11911	return s
11912}
11913
11914// SetLoadBalancerName sets the LoadBalancerName field's value.
11915func (s *AwsEcsServiceLoadBalancersDetails) SetLoadBalancerName(v string) *AwsEcsServiceLoadBalancersDetails {
11916	s.LoadBalancerName = &v
11917	return s
11918}
11919
11920// SetTargetGroupArn sets the TargetGroupArn field's value.
11921func (s *AwsEcsServiceLoadBalancersDetails) SetTargetGroupArn(v string) *AwsEcsServiceLoadBalancersDetails {
11922	s.TargetGroupArn = &v
11923	return s
11924}
11925
11926// For tasks that use the awsvpc networking mode, the VPC subnet and security
11927// group configuration.
11928type AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails struct {
11929	_ struct{} `type:"structure"`
11930
11931	// Whether the task's elastic network interface receives a public IP address.
11932	// The default value is DISABLED.
11933	//
11934	// Valid values: ENABLED | DISABLED
11935	AssignPublicIp *string `type:"string"`
11936
11937	// The IDs of the security groups associated with the task or service.
11938	//
11939	// You can provide up to five security groups.
11940	SecurityGroups []*string `type:"list"`
11941
11942	// The IDs of the subnets associated with the task or service.
11943	//
11944	// You can provide up to 16 subnets.
11945	Subnets []*string `type:"list"`
11946}
11947
11948// String returns the string representation
11949func (s AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) String() string {
11950	return awsutil.Prettify(s)
11951}
11952
11953// GoString returns the string representation
11954func (s AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) GoString() string {
11955	return s.String()
11956}
11957
11958// SetAssignPublicIp sets the AssignPublicIp field's value.
11959func (s *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) SetAssignPublicIp(v string) *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails {
11960	s.AssignPublicIp = &v
11961	return s
11962}
11963
11964// SetSecurityGroups sets the SecurityGroups field's value.
11965func (s *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) SetSecurityGroups(v []*string) *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails {
11966	s.SecurityGroups = v
11967	return s
11968}
11969
11970// SetSubnets sets the Subnets field's value.
11971func (s *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) SetSubnets(v []*string) *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails {
11972	s.Subnets = v
11973	return s
11974}
11975
11976// For tasks that use the awsvpc networking mode, the VPC subnet and security
11977// group configuration.
11978type AwsEcsServiceNetworkConfigurationDetails struct {
11979	_ struct{} `type:"structure"`
11980
11981	// The VPC subnet and security group configuration.
11982	AwsVpcConfiguration *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails `type:"structure"`
11983}
11984
11985// String returns the string representation
11986func (s AwsEcsServiceNetworkConfigurationDetails) String() string {
11987	return awsutil.Prettify(s)
11988}
11989
11990// GoString returns the string representation
11991func (s AwsEcsServiceNetworkConfigurationDetails) GoString() string {
11992	return s.String()
11993}
11994
11995// SetAwsVpcConfiguration sets the AwsVpcConfiguration field's value.
11996func (s *AwsEcsServiceNetworkConfigurationDetails) SetAwsVpcConfiguration(v *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) *AwsEcsServiceNetworkConfigurationDetails {
11997	s.AwsVpcConfiguration = v
11998	return s
11999}
12000
12001// A placement constraint for the tasks in the service.
12002type AwsEcsServicePlacementConstraintsDetails struct {
12003	_ struct{} `type:"structure"`
12004
12005	// A cluster query language expression to apply to the constraint. You cannot
12006	// specify an expression if the constraint type is distinctInstance.
12007	Expression *string `type:"string"`
12008
12009	// The type of constraint. Use distinctInstance to run each task in a particular
12010	// group on a different container instance. Use memberOf to restrict the selection
12011	// to a group of valid candidates.
12012	//
12013	// Valid values: distinctInstance | memberOf
12014	Type *string `type:"string"`
12015}
12016
12017// String returns the string representation
12018func (s AwsEcsServicePlacementConstraintsDetails) String() string {
12019	return awsutil.Prettify(s)
12020}
12021
12022// GoString returns the string representation
12023func (s AwsEcsServicePlacementConstraintsDetails) GoString() string {
12024	return s.String()
12025}
12026
12027// SetExpression sets the Expression field's value.
12028func (s *AwsEcsServicePlacementConstraintsDetails) SetExpression(v string) *AwsEcsServicePlacementConstraintsDetails {
12029	s.Expression = &v
12030	return s
12031}
12032
12033// SetType sets the Type field's value.
12034func (s *AwsEcsServicePlacementConstraintsDetails) SetType(v string) *AwsEcsServicePlacementConstraintsDetails {
12035	s.Type = &v
12036	return s
12037}
12038
12039// A placement strategy that determines how to place the tasks for the service.
12040type AwsEcsServicePlacementStrategiesDetails struct {
12041	_ struct{} `type:"structure"`
12042
12043	// The field to apply the placement strategy against.
12044	//
12045	// For the spread placement strategy, valid values are instanceId (or host,
12046	// which has the same effect), or any platform or custom attribute that is applied
12047	// to a container instance, such as attribute:ecs.availability-zone.
12048	//
12049	// For the binpack placement strategy, valid values are cpu and memory.
12050	//
12051	// For the random placement strategy, this attribute is not used.
12052	Field *string `type:"string"`
12053
12054	// The type of placement strategy.
12055	//
12056	// The random placement strategy randomly places tasks on available candidates.
12057	//
12058	// The spread placement strategy spreads placement across available candidates
12059	// evenly based on the value of Field.
12060	//
12061	// The binpack strategy places tasks on available candidates that have the least
12062	// available amount of the resource that is specified in Field.
12063	//
12064	// Valid values: random | spread | binpack
12065	Type *string `type:"string"`
12066}
12067
12068// String returns the string representation
12069func (s AwsEcsServicePlacementStrategiesDetails) String() string {
12070	return awsutil.Prettify(s)
12071}
12072
12073// GoString returns the string representation
12074func (s AwsEcsServicePlacementStrategiesDetails) GoString() string {
12075	return s.String()
12076}
12077
12078// SetField sets the Field field's value.
12079func (s *AwsEcsServicePlacementStrategiesDetails) SetField(v string) *AwsEcsServicePlacementStrategiesDetails {
12080	s.Field = &v
12081	return s
12082}
12083
12084// SetType sets the Type field's value.
12085func (s *AwsEcsServicePlacementStrategiesDetails) SetType(v string) *AwsEcsServicePlacementStrategiesDetails {
12086	s.Type = &v
12087	return s
12088}
12089
12090// Information about a service discovery registry to assign to the service.
12091type AwsEcsServiceServiceRegistriesDetails struct {
12092	_ struct{} `type:"structure"`
12093
12094	// The container name value to use for the service discovery service.
12095	//
12096	// If the task definition uses the bridge or host network mode, you must specify
12097	// ContainerName and ContainerPort.
12098	//
12099	// If the task definition uses the awsvpc network mode and a type SRV DNS record,
12100	// you must specify either ContainerName and ContainerPort, or Port , but not
12101	// both.
12102	ContainerName *string `type:"string"`
12103
12104	// The port value to use for the service discovery service.
12105	//
12106	// If the task definition uses the bridge or host network mode, you must specify
12107	// ContainerName and ContainerPort.
12108	//
12109	// If the task definition uses the awsvpc network mode and a type SRV DNS record,
12110	// you must specify either ContainerName and ContainerPort, or Port , but not
12111	// both.
12112	ContainerPort *int64 `type:"integer"`
12113
12114	// The port value to use for a service discovery service that specifies an SRV
12115	// record. This field can be used if both the awsvpcawsvpc network mode and
12116	// SRV records are used.
12117	Port *int64 `type:"integer"`
12118
12119	// The ARN of the service registry.
12120	RegistryArn *string `type:"string"`
12121}
12122
12123// String returns the string representation
12124func (s AwsEcsServiceServiceRegistriesDetails) String() string {
12125	return awsutil.Prettify(s)
12126}
12127
12128// GoString returns the string representation
12129func (s AwsEcsServiceServiceRegistriesDetails) GoString() string {
12130	return s.String()
12131}
12132
12133// SetContainerName sets the ContainerName field's value.
12134func (s *AwsEcsServiceServiceRegistriesDetails) SetContainerName(v string) *AwsEcsServiceServiceRegistriesDetails {
12135	s.ContainerName = &v
12136	return s
12137}
12138
12139// SetContainerPort sets the ContainerPort field's value.
12140func (s *AwsEcsServiceServiceRegistriesDetails) SetContainerPort(v int64) *AwsEcsServiceServiceRegistriesDetails {
12141	s.ContainerPort = &v
12142	return s
12143}
12144
12145// SetPort sets the Port field's value.
12146func (s *AwsEcsServiceServiceRegistriesDetails) SetPort(v int64) *AwsEcsServiceServiceRegistriesDetails {
12147	s.Port = &v
12148	return s
12149}
12150
12151// SetRegistryArn sets the RegistryArn field's value.
12152func (s *AwsEcsServiceServiceRegistriesDetails) SetRegistryArn(v string) *AwsEcsServiceServiceRegistriesDetails {
12153	s.RegistryArn = &v
12154	return s
12155}
12156
12157// A dependency that is defined for container startup and shutdown.
12158type AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails struct {
12159	_ struct{} `type:"structure"`
12160
12161	// The dependency condition of the dependent container. Indicates the required
12162	// status of the dependent container before the current container can start.
12163	Condition *string `type:"string"`
12164
12165	// The name of the dependent container.
12166	ContainerName *string `type:"string"`
12167}
12168
12169// String returns the string representation
12170func (s AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) String() string {
12171	return awsutil.Prettify(s)
12172}
12173
12174// GoString returns the string representation
12175func (s AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) GoString() string {
12176	return s.String()
12177}
12178
12179// SetCondition sets the Condition field's value.
12180func (s *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) SetCondition(v string) *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails {
12181	s.Condition = &v
12182	return s
12183}
12184
12185// SetContainerName sets the ContainerName field's value.
12186func (s *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) SetContainerName(v string) *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails {
12187	s.ContainerName = &v
12188	return s
12189}
12190
12191// A container definition that describes a container in the task.
12192type AwsEcsTaskDefinitionContainerDefinitionsDetails struct {
12193	_ struct{} `type:"structure"`
12194
12195	// The command that is passed to the container.
12196	Command []*string `type:"list"`
12197
12198	// The number of CPU units reserved for the container.
12199	Cpu *int64 `type:"integer"`
12200
12201	// The dependencies that are defined for container startup and shutdown.
12202	DependsOn []*AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails `type:"list"`
12203
12204	// Whether to disable networking within the container.
12205	DisableNetworking *bool `type:"boolean"`
12206
12207	// A list of DNS search domains that are presented to the container.
12208	DnsSearchDomains []*string `type:"list"`
12209
12210	// A list of DNS servers that are presented to the container.
12211	DnsServers []*string `type:"list"`
12212
12213	// A key-value map of labels to add to the container.
12214	DockerLabels map[string]*string `type:"map"`
12215
12216	// A list of strings to provide custom labels for SELinux and AppArmor multi-level
12217	// security systems.
12218	DockerSecurityOptions []*string `type:"list"`
12219
12220	// The entry point that is passed to the container.
12221	EntryPoint []*string `type:"list"`
12222
12223	// The environment variables to pass to a container.
12224	Environment []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails `type:"list"`
12225
12226	// A list of files containing the environment variables to pass to a container.
12227	EnvironmentFiles []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails `type:"list"`
12228
12229	// Whether the container is essential. All tasks must have at least one essential
12230	// container.
12231	Essential *bool `type:"boolean"`
12232
12233	// A list of hostnames and IP address mappings to append to the /etc/hosts file
12234	// on the container.
12235	ExtraHosts []*AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails `type:"list"`
12236
12237	// The FireLens configuration for the container. Specifies and configures a
12238	// log router for container logs.
12239	FirelensConfiguration *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails `type:"structure"`
12240
12241	// The container health check command and associated configuration parameters
12242	// for the container.
12243	HealthCheck *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails `type:"structure"`
12244
12245	// The hostname to use for the container.
12246	Hostname *string `type:"string"`
12247
12248	// The image used to start the container.
12249	Image *string `type:"string"`
12250
12251	// If set to true, then containerized applications can be deployed that require
12252	// stdin or a tty to be allocated.
12253	Interactive *bool `type:"boolean"`
12254
12255	// A list of links for the container in the form container_name:alias . Allows
12256	// containers to communicate with each other without the need for port mappings.
12257	Links []*string `type:"list"`
12258
12259	// Linux-specific modifications that are applied to the container, such as Linux
12260	// kernel capabilities.
12261	LinuxParameters *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails `type:"structure"`
12262
12263	// The log configuration specification for the container.
12264	LogConfiguration *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails `type:"structure"`
12265
12266	// The amount (in MiB) of memory to present to the container. If the container
12267	// attempts to exceed the memory specified here, the container is shut down.
12268	// The total amount of memory reserved for all containers within a task must
12269	// be lower than the task memory value, if one is specified.
12270	Memory *int64 `type:"integer"`
12271
12272	// The soft limit (in MiB) of memory to reserve for the container.
12273	MemoryReservation *int64 `type:"integer"`
12274
12275	// The mount points for the data volumes in the container.
12276	MountPoints []*AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails `type:"list"`
12277
12278	// The name of the container.
12279	Name *string `type:"string"`
12280
12281	// The list of port mappings for the container.
12282	PortMappings []*AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails `type:"list"`
12283
12284	// Whether the container is given elevated privileges on the host container
12285	// instance. The elevated privileges are similar to the root user.
12286	Privileged *bool `type:"boolean"`
12287
12288	// Whether to allocate a TTY to the container.
12289	PseudoTerminal *bool `type:"boolean"`
12290
12291	// Whether the container is given read-only access to its root file system.
12292	ReadonlyRootFilesystem *bool `type:"boolean"`
12293
12294	// The private repository authentication credentials to use.
12295	RepositoryCredentials *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails `type:"structure"`
12296
12297	// The type and amount of a resource to assign to a container. The only supported
12298	// resource is a GPU.
12299	ResourceRequirements []*AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails `type:"list"`
12300
12301	// The secrets to pass to the container.
12302	Secrets []*AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails `type:"list"`
12303
12304	// The number of seconds to wait before giving up on resolving dependencies
12305	// for a container.
12306	StartTimeout *int64 `type:"integer"`
12307
12308	// The number of seconds to wait before the container is stopped if it doesn't
12309	// shut down normally on its own.
12310	StopTimeout *int64 `type:"integer"`
12311
12312	// A list of namespaced kernel parameters to set in the container.
12313	SystemControls []*AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails `type:"list"`
12314
12315	// A list of ulimits to set in the container.
12316	Ulimits []*AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails `type:"list"`
12317
12318	// The user to use inside the container.
12319	//
12320	// The value can use one of the following formats.
12321	//
12322	//    * user
12323	//
12324	//    * user :group
12325	//
12326	//    * uid
12327	//
12328	//    * uid :gid
12329	//
12330	//    * user :gid
12331	//
12332	//    * uid :group
12333	User *string `type:"string"`
12334
12335	// Data volumes to mount from another container.
12336	VolumesFrom []*AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails `type:"list"`
12337
12338	// The working directory in which to run commands inside the container.
12339	WorkingDirectory *string `type:"string"`
12340}
12341
12342// String returns the string representation
12343func (s AwsEcsTaskDefinitionContainerDefinitionsDetails) String() string {
12344	return awsutil.Prettify(s)
12345}
12346
12347// GoString returns the string representation
12348func (s AwsEcsTaskDefinitionContainerDefinitionsDetails) GoString() string {
12349	return s.String()
12350}
12351
12352// SetCommand sets the Command field's value.
12353func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetCommand(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12354	s.Command = v
12355	return s
12356}
12357
12358// SetCpu sets the Cpu field's value.
12359func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetCpu(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12360	s.Cpu = &v
12361	return s
12362}
12363
12364// SetDependsOn sets the DependsOn field's value.
12365func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDependsOn(v []*AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12366	s.DependsOn = v
12367	return s
12368}
12369
12370// SetDisableNetworking sets the DisableNetworking field's value.
12371func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDisableNetworking(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12372	s.DisableNetworking = &v
12373	return s
12374}
12375
12376// SetDnsSearchDomains sets the DnsSearchDomains field's value.
12377func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDnsSearchDomains(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12378	s.DnsSearchDomains = v
12379	return s
12380}
12381
12382// SetDnsServers sets the DnsServers field's value.
12383func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDnsServers(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12384	s.DnsServers = v
12385	return s
12386}
12387
12388// SetDockerLabels sets the DockerLabels field's value.
12389func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDockerLabels(v map[string]*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12390	s.DockerLabels = v
12391	return s
12392}
12393
12394// SetDockerSecurityOptions sets the DockerSecurityOptions field's value.
12395func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDockerSecurityOptions(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12396	s.DockerSecurityOptions = v
12397	return s
12398}
12399
12400// SetEntryPoint sets the EntryPoint field's value.
12401func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEntryPoint(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12402	s.EntryPoint = v
12403	return s
12404}
12405
12406// SetEnvironment sets the Environment field's value.
12407func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEnvironment(v []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12408	s.Environment = v
12409	return s
12410}
12411
12412// SetEnvironmentFiles sets the EnvironmentFiles field's value.
12413func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEnvironmentFiles(v []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12414	s.EnvironmentFiles = v
12415	return s
12416}
12417
12418// SetEssential sets the Essential field's value.
12419func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEssential(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12420	s.Essential = &v
12421	return s
12422}
12423
12424// SetExtraHosts sets the ExtraHosts field's value.
12425func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetExtraHosts(v []*AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12426	s.ExtraHosts = v
12427	return s
12428}
12429
12430// SetFirelensConfiguration sets the FirelensConfiguration field's value.
12431func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetFirelensConfiguration(v *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12432	s.FirelensConfiguration = v
12433	return s
12434}
12435
12436// SetHealthCheck sets the HealthCheck field's value.
12437func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetHealthCheck(v *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12438	s.HealthCheck = v
12439	return s
12440}
12441
12442// SetHostname sets the Hostname field's value.
12443func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetHostname(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12444	s.Hostname = &v
12445	return s
12446}
12447
12448// SetImage sets the Image field's value.
12449func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetImage(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12450	s.Image = &v
12451	return s
12452}
12453
12454// SetInteractive sets the Interactive field's value.
12455func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetInteractive(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12456	s.Interactive = &v
12457	return s
12458}
12459
12460// SetLinks sets the Links field's value.
12461func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetLinks(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12462	s.Links = v
12463	return s
12464}
12465
12466// SetLinuxParameters sets the LinuxParameters field's value.
12467func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetLinuxParameters(v *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12468	s.LinuxParameters = v
12469	return s
12470}
12471
12472// SetLogConfiguration sets the LogConfiguration field's value.
12473func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetLogConfiguration(v *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12474	s.LogConfiguration = v
12475	return s
12476}
12477
12478// SetMemory sets the Memory field's value.
12479func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetMemory(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12480	s.Memory = &v
12481	return s
12482}
12483
12484// SetMemoryReservation sets the MemoryReservation field's value.
12485func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetMemoryReservation(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12486	s.MemoryReservation = &v
12487	return s
12488}
12489
12490// SetMountPoints sets the MountPoints field's value.
12491func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetMountPoints(v []*AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12492	s.MountPoints = v
12493	return s
12494}
12495
12496// SetName sets the Name field's value.
12497func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12498	s.Name = &v
12499	return s
12500}
12501
12502// SetPortMappings sets the PortMappings field's value.
12503func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetPortMappings(v []*AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12504	s.PortMappings = v
12505	return s
12506}
12507
12508// SetPrivileged sets the Privileged field's value.
12509func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetPrivileged(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12510	s.Privileged = &v
12511	return s
12512}
12513
12514// SetPseudoTerminal sets the PseudoTerminal field's value.
12515func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetPseudoTerminal(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12516	s.PseudoTerminal = &v
12517	return s
12518}
12519
12520// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value.
12521func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetReadonlyRootFilesystem(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12522	s.ReadonlyRootFilesystem = &v
12523	return s
12524}
12525
12526// SetRepositoryCredentials sets the RepositoryCredentials field's value.
12527func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetRepositoryCredentials(v *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12528	s.RepositoryCredentials = v
12529	return s
12530}
12531
12532// SetResourceRequirements sets the ResourceRequirements field's value.
12533func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetResourceRequirements(v []*AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12534	s.ResourceRequirements = v
12535	return s
12536}
12537
12538// SetSecrets sets the Secrets field's value.
12539func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetSecrets(v []*AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12540	s.Secrets = v
12541	return s
12542}
12543
12544// SetStartTimeout sets the StartTimeout field's value.
12545func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetStartTimeout(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12546	s.StartTimeout = &v
12547	return s
12548}
12549
12550// SetStopTimeout sets the StopTimeout field's value.
12551func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetStopTimeout(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12552	s.StopTimeout = &v
12553	return s
12554}
12555
12556// SetSystemControls sets the SystemControls field's value.
12557func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetSystemControls(v []*AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12558	s.SystemControls = v
12559	return s
12560}
12561
12562// SetUlimits sets the Ulimits field's value.
12563func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetUlimits(v []*AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12564	s.Ulimits = v
12565	return s
12566}
12567
12568// SetUser sets the User field's value.
12569func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetUser(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12570	s.User = &v
12571	return s
12572}
12573
12574// SetVolumesFrom sets the VolumesFrom field's value.
12575func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetVolumesFrom(v []*AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12576	s.VolumesFrom = v
12577	return s
12578}
12579
12580// SetWorkingDirectory sets the WorkingDirectory field's value.
12581func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetWorkingDirectory(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
12582	s.WorkingDirectory = &v
12583	return s
12584}
12585
12586// An environment variable to pass to the container.
12587type AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails struct {
12588	_ struct{} `type:"structure"`
12589
12590	// The name of the environment variable.
12591	Name *string `type:"string"`
12592
12593	// The value of the environment variable.
12594	Value *string `type:"string"`
12595}
12596
12597// String returns the string representation
12598func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) String() string {
12599	return awsutil.Prettify(s)
12600}
12601
12602// GoString returns the string representation
12603func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) GoString() string {
12604	return s.String()
12605}
12606
12607// SetName sets the Name field's value.
12608func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails {
12609	s.Name = &v
12610	return s
12611}
12612
12613// SetValue sets the Value field's value.
12614func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails {
12615	s.Value = &v
12616	return s
12617}
12618
12619// A file that contain environment variables to pass to a container.
12620type AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails struct {
12621	_ struct{} `type:"structure"`
12622
12623	// The type of environment file.
12624	Type *string `type:"string"`
12625
12626	// The ARN of the S3 object that contains the environment variable file.
12627	Value *string `type:"string"`
12628}
12629
12630// String returns the string representation
12631func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) String() string {
12632	return awsutil.Prettify(s)
12633}
12634
12635// GoString returns the string representation
12636func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) GoString() string {
12637	return s.String()
12638}
12639
12640// SetType sets the Type field's value.
12641func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) SetType(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails {
12642	s.Type = &v
12643	return s
12644}
12645
12646// SetValue sets the Value field's value.
12647func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails {
12648	s.Value = &v
12649	return s
12650}
12651
12652// A hostname and IP address mapping to append to the /etc/hosts file on the
12653// container.
12654type AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails struct {
12655	_ struct{} `type:"structure"`
12656
12657	// The hostname to use in the /etc/hosts entry.
12658	Hostname *string `type:"string"`
12659
12660	// The IP address to use in the /etc/hosts entry.
12661	IpAddress *string `type:"string"`
12662}
12663
12664// String returns the string representation
12665func (s AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) String() string {
12666	return awsutil.Prettify(s)
12667}
12668
12669// GoString returns the string representation
12670func (s AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) GoString() string {
12671	return s.String()
12672}
12673
12674// SetHostname sets the Hostname field's value.
12675func (s *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) SetHostname(v string) *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails {
12676	s.Hostname = &v
12677	return s
12678}
12679
12680// SetIpAddress sets the IpAddress field's value.
12681func (s *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) SetIpAddress(v string) *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails {
12682	s.IpAddress = &v
12683	return s
12684}
12685
12686// The FireLens configuration for the container. The configuration specifies
12687// and configures a log router for container logs.
12688type AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails struct {
12689	_ struct{} `type:"structure"`
12690
12691	// The options to use to configure the log router.
12692	//
12693	// The valid option keys are as follows:
12694	//
12695	//    * enable-ecs-log-metadata. The value can be true or false.
12696	//
12697	//    * config-file-type. The value can be s3 or file.
12698	//
12699	//    * config-file-value. The value is either an S3 ARN or a file path.
12700	Options map[string]*string `type:"map"`
12701
12702	// The log router to use.
12703	Type *string `type:"string"`
12704}
12705
12706// String returns the string representation
12707func (s AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) String() string {
12708	return awsutil.Prettify(s)
12709}
12710
12711// GoString returns the string representation
12712func (s AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) GoString() string {
12713	return s.String()
12714}
12715
12716// SetOptions sets the Options field's value.
12717func (s *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) SetOptions(v map[string]*string) *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails {
12718	s.Options = v
12719	return s
12720}
12721
12722// SetType sets the Type field's value.
12723func (s *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) SetType(v string) *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails {
12724	s.Type = &v
12725	return s
12726}
12727
12728// The container health check command and associated configuration parameters
12729// for the container.
12730type AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails struct {
12731	_ struct{} `type:"structure"`
12732
12733	// The command that the container runs to determine whether it is healthy.
12734	Command []*string `type:"list"`
12735
12736	// The time period in seconds between each health check execution. The default
12737	// value is 30 seconds.
12738	Interval *int64 `type:"integer"`
12739
12740	// The number of times to retry a failed health check before the container is
12741	// considered unhealthy. The default value is 3.
12742	Retries *int64 `type:"integer"`
12743
12744	// The optional grace period in seconds that allows containers time to bootstrap
12745	// before failed health checks count towards the maximum number of retries.
12746	StartPeriod *int64 `type:"integer"`
12747
12748	// The time period in seconds to wait for a health check to succeed before it
12749	// is considered a failure. The default value is 5.
12750	Timeout *int64 `type:"integer"`
12751}
12752
12753// String returns the string representation
12754func (s AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) String() string {
12755	return awsutil.Prettify(s)
12756}
12757
12758// GoString returns the string representation
12759func (s AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) GoString() string {
12760	return s.String()
12761}
12762
12763// SetCommand sets the Command field's value.
12764func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetCommand(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
12765	s.Command = v
12766	return s
12767}
12768
12769// SetInterval sets the Interval field's value.
12770func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetInterval(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
12771	s.Interval = &v
12772	return s
12773}
12774
12775// SetRetries sets the Retries field's value.
12776func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetRetries(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
12777	s.Retries = &v
12778	return s
12779}
12780
12781// SetStartPeriod sets the StartPeriod field's value.
12782func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetStartPeriod(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
12783	s.StartPeriod = &v
12784	return s
12785}
12786
12787// SetTimeout sets the Timeout field's value.
12788func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetTimeout(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
12789	s.Timeout = &v
12790	return s
12791}
12792
12793// The Linux capabilities for the container that are added to or dropped from
12794// the default configuration provided by Docker.
12795type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails struct {
12796	_ struct{} `type:"structure"`
12797
12798	// The Linux capabilities for the container that are added to the default configuration
12799	// provided by Docker.
12800	Add []*string `type:"list"`
12801
12802	// The Linux capabilities for the container that are dropped from the default
12803	// configuration provided by Docker.
12804	Drop []*string `type:"list"`
12805}
12806
12807// String returns the string representation
12808func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) String() string {
12809	return awsutil.Prettify(s)
12810}
12811
12812// GoString returns the string representation
12813func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) GoString() string {
12814	return s.String()
12815}
12816
12817// SetAdd sets the Add field's value.
12818func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) SetAdd(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails {
12819	s.Add = v
12820	return s
12821}
12822
12823// SetDrop sets the Drop field's value.
12824func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) SetDrop(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails {
12825	s.Drop = v
12826	return s
12827}
12828
12829// >Linux-specific modifications that are applied to the container, such as
12830// Linux kernel capabilities.
12831type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails struct {
12832	_ struct{} `type:"structure"`
12833
12834	// The Linux capabilities for the container that are added to or dropped from
12835	// the default configuration provided by Docker.
12836	Capabilities *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails `type:"structure"`
12837
12838	// The host devices to expose to the container.
12839	Devices []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails `type:"list"`
12840
12841	// Whether to run an init process inside the container that forwards signals
12842	// and reaps processes.
12843	InitProcessEnabled *bool `type:"boolean"`
12844
12845	// The total amount of swap memory (in MiB) that a container can use.
12846	MaxSwap *int64 `type:"integer"`
12847
12848	// The value for the size (in MiB) of the /dev/shm volume.
12849	SharedMemorySize *int64 `type:"integer"`
12850
12851	// Configures the container's memory swappiness behavior. Determines how aggressively
12852	// pages are swapped. The higher the value, the more aggressive the swappiness.
12853	// The default is 60.
12854	Swappiness *int64 `type:"integer"`
12855
12856	// The container path, mount options, and size (in MiB) of the tmpfs mount.
12857	Tmpfs []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails `type:"list"`
12858}
12859
12860// String returns the string representation
12861func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) String() string {
12862	return awsutil.Prettify(s)
12863}
12864
12865// GoString returns the string representation
12866func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) GoString() string {
12867	return s.String()
12868}
12869
12870// SetCapabilities sets the Capabilities field's value.
12871func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetCapabilities(v *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
12872	s.Capabilities = v
12873	return s
12874}
12875
12876// SetDevices sets the Devices field's value.
12877func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetDevices(v []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
12878	s.Devices = v
12879	return s
12880}
12881
12882// SetInitProcessEnabled sets the InitProcessEnabled field's value.
12883func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetInitProcessEnabled(v bool) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
12884	s.InitProcessEnabled = &v
12885	return s
12886}
12887
12888// SetMaxSwap sets the MaxSwap field's value.
12889func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetMaxSwap(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
12890	s.MaxSwap = &v
12891	return s
12892}
12893
12894// SetSharedMemorySize sets the SharedMemorySize field's value.
12895func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetSharedMemorySize(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
12896	s.SharedMemorySize = &v
12897	return s
12898}
12899
12900// SetSwappiness sets the Swappiness field's value.
12901func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetSwappiness(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
12902	s.Swappiness = &v
12903	return s
12904}
12905
12906// SetTmpfs sets the Tmpfs field's value.
12907func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetTmpfs(v []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
12908	s.Tmpfs = v
12909	return s
12910}
12911
12912// A host device to expose to the container.
12913type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails struct {
12914	_ struct{} `type:"structure"`
12915
12916	// The path inside the container at which to expose the host device.
12917	ContainerPath *string `type:"string"`
12918
12919	// The path for the device on the host container instance.
12920	HostPath *string `type:"string"`
12921
12922	// The explicit permissions to provide to the container for the device. By default,
12923	// the container has permissions for read, write, and mknod for the device.
12924	Permissions []*string `type:"list"`
12925}
12926
12927// String returns the string representation
12928func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) String() string {
12929	return awsutil.Prettify(s)
12930}
12931
12932// GoString returns the string representation
12933func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) GoString() string {
12934	return s.String()
12935}
12936
12937// SetContainerPath sets the ContainerPath field's value.
12938func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) SetContainerPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails {
12939	s.ContainerPath = &v
12940	return s
12941}
12942
12943// SetHostPath sets the HostPath field's value.
12944func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) SetHostPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails {
12945	s.HostPath = &v
12946	return s
12947}
12948
12949// SetPermissions sets the Permissions field's value.
12950func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) SetPermissions(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails {
12951	s.Permissions = v
12952	return s
12953}
12954
12955// The container path, mount options, and size (in MiB) of a tmpfs mount.
12956type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails struct {
12957	_ struct{} `type:"structure"`
12958
12959	// The absolute file path where the tmpfs volume is to be mounted.
12960	ContainerPath *string `type:"string"`
12961
12962	// The list of tmpfs volume mount options.
12963	MountOptions []*string `type:"list"`
12964
12965	// The maximum size (in MiB) of the tmpfs volume.
12966	Size *int64 `type:"integer"`
12967}
12968
12969// String returns the string representation
12970func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) String() string {
12971	return awsutil.Prettify(s)
12972}
12973
12974// GoString returns the string representation
12975func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) GoString() string {
12976	return s.String()
12977}
12978
12979// SetContainerPath sets the ContainerPath field's value.
12980func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) SetContainerPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails {
12981	s.ContainerPath = &v
12982	return s
12983}
12984
12985// SetMountOptions sets the MountOptions field's value.
12986func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) SetMountOptions(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails {
12987	s.MountOptions = v
12988	return s
12989}
12990
12991// SetSize sets the Size field's value.
12992func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) SetSize(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails {
12993	s.Size = &v
12994	return s
12995}
12996
12997// The log configuration specification for the container.
12998type AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails struct {
12999	_ struct{} `type:"structure"`
13000
13001	// The log driver to use for the container.
13002	LogDriver *string `type:"string"`
13003
13004	// The configuration options to send to the log driver. Requires version 1.19
13005	// of the Docker Remote API or greater on your container instance.
13006	Options map[string]*string `type:"map"`
13007
13008	// The secrets to pass to the log configuration.
13009	SecretOptions []*AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails `type:"list"`
13010}
13011
13012// String returns the string representation
13013func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) String() string {
13014	return awsutil.Prettify(s)
13015}
13016
13017// GoString returns the string representation
13018func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) GoString() string {
13019	return s.String()
13020}
13021
13022// SetLogDriver sets the LogDriver field's value.
13023func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) SetLogDriver(v string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
13024	s.LogDriver = &v
13025	return s
13026}
13027
13028// SetOptions sets the Options field's value.
13029func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) SetOptions(v map[string]*string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
13030	s.Options = v
13031	return s
13032}
13033
13034// SetSecretOptions sets the SecretOptions field's value.
13035func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) SetSecretOptions(v []*AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
13036	s.SecretOptions = v
13037	return s
13038}
13039
13040// A secret to pass to the log configuration.
13041type AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails struct {
13042	_ struct{} `type:"structure"`
13043
13044	// The name of the secret.
13045	Name *string `type:"string"`
13046
13047	// The secret to expose to the container.
13048	//
13049	// The value is either the full ARN of the Secrets Manager secret or the full
13050	// ARN of the parameter in the Systems Manager Parameter Store.
13051	ValueFrom *string `type:"string"`
13052}
13053
13054// String returns the string representation
13055func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) String() string {
13056	return awsutil.Prettify(s)
13057}
13058
13059// GoString returns the string representation
13060func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) GoString() string {
13061	return s.String()
13062}
13063
13064// SetName sets the Name field's value.
13065func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails {
13066	s.Name = &v
13067	return s
13068}
13069
13070// SetValueFrom sets the ValueFrom field's value.
13071func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) SetValueFrom(v string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails {
13072	s.ValueFrom = &v
13073	return s
13074}
13075
13076// A mount point for the data volumes in the container.
13077type AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails struct {
13078	_ struct{} `type:"structure"`
13079
13080	// The path on the container to mount the host volume at.
13081	ContainerPath *string `type:"string"`
13082
13083	// Whether the container has read-only access to the volume.
13084	ReadOnly *bool `type:"boolean"`
13085
13086	// The name of the volume to mount. Must match the name of a volume listed in
13087	// VolumeDetails for the task definition.
13088	SourceVolume *string `type:"string"`
13089}
13090
13091// String returns the string representation
13092func (s AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) String() string {
13093	return awsutil.Prettify(s)
13094}
13095
13096// GoString returns the string representation
13097func (s AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) GoString() string {
13098	return s.String()
13099}
13100
13101// SetContainerPath sets the ContainerPath field's value.
13102func (s *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) SetContainerPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails {
13103	s.ContainerPath = &v
13104	return s
13105}
13106
13107// SetReadOnly sets the ReadOnly field's value.
13108func (s *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) SetReadOnly(v bool) *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails {
13109	s.ReadOnly = &v
13110	return s
13111}
13112
13113// SetSourceVolume sets the SourceVolume field's value.
13114func (s *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) SetSourceVolume(v string) *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails {
13115	s.SourceVolume = &v
13116	return s
13117}
13118
13119// A port mapping for the container.
13120type AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails struct {
13121	_ struct{} `type:"structure"`
13122
13123	// The port number on the container that is bound to the user-specified or automatically
13124	// assigned host port.
13125	ContainerPort *int64 `type:"integer"`
13126
13127	// The port number on the container instance to reserve for the container.
13128	HostPort *int64 `type:"integer"`
13129
13130	// The protocol used for the port mapping. The default is tcp.
13131	Protocol *string `type:"string"`
13132}
13133
13134// String returns the string representation
13135func (s AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) String() string {
13136	return awsutil.Prettify(s)
13137}
13138
13139// GoString returns the string representation
13140func (s AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) GoString() string {
13141	return s.String()
13142}
13143
13144// SetContainerPort sets the ContainerPort field's value.
13145func (s *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) SetContainerPort(v int64) *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails {
13146	s.ContainerPort = &v
13147	return s
13148}
13149
13150// SetHostPort sets the HostPort field's value.
13151func (s *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) SetHostPort(v int64) *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails {
13152	s.HostPort = &v
13153	return s
13154}
13155
13156// SetProtocol sets the Protocol field's value.
13157func (s *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) SetProtocol(v string) *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails {
13158	s.Protocol = &v
13159	return s
13160}
13161
13162// The private repository authentication credentials to use.
13163type AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails struct {
13164	_ struct{} `type:"structure"`
13165
13166	// The ARN of the secret that contains the private repository credentials.
13167	CredentialsParameter *string `type:"string"`
13168}
13169
13170// String returns the string representation
13171func (s AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) String() string {
13172	return awsutil.Prettify(s)
13173}
13174
13175// GoString returns the string representation
13176func (s AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) GoString() string {
13177	return s.String()
13178}
13179
13180// SetCredentialsParameter sets the CredentialsParameter field's value.
13181func (s *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) SetCredentialsParameter(v string) *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails {
13182	s.CredentialsParameter = &v
13183	return s
13184}
13185
13186// A resource to assign to a container.
13187type AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails struct {
13188	_ struct{} `type:"structure"`
13189
13190	// The type of resource to assign to a container.
13191	Type *string `type:"string"`
13192
13193	// The value for the specified resource type.
13194	//
13195	// For GPU, the value is the number of physical GPUs the Amazon ECS container
13196	// agent reserves for the container.
13197	//
13198	// For InferenceAccelerator, the value should match the DeviceName attribute
13199	// of an entry in InferenceAccelerators.
13200	Value *string `type:"string"`
13201}
13202
13203// String returns the string representation
13204func (s AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) String() string {
13205	return awsutil.Prettify(s)
13206}
13207
13208// GoString returns the string representation
13209func (s AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) GoString() string {
13210	return s.String()
13211}
13212
13213// SetType sets the Type field's value.
13214func (s *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) SetType(v string) *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails {
13215	s.Type = &v
13216	return s
13217}
13218
13219// SetValue sets the Value field's value.
13220func (s *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails {
13221	s.Value = &v
13222	return s
13223}
13224
13225// A secret to pass to the container.
13226type AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails struct {
13227	_ struct{} `type:"structure"`
13228
13229	// The name of the secret.
13230	Name *string `type:"string"`
13231
13232	// The secret to expose to the container. The value is either the full ARN of
13233	// the Secrets Manager secret or the full ARN of the parameter in the Systems
13234	// Manager Parameter Store.
13235	ValueFrom *string `type:"string"`
13236}
13237
13238// String returns the string representation
13239func (s AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) String() string {
13240	return awsutil.Prettify(s)
13241}
13242
13243// GoString returns the string representation
13244func (s AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) GoString() string {
13245	return s.String()
13246}
13247
13248// SetName sets the Name field's value.
13249func (s *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails {
13250	s.Name = &v
13251	return s
13252}
13253
13254// SetValueFrom sets the ValueFrom field's value.
13255func (s *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) SetValueFrom(v string) *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails {
13256	s.ValueFrom = &v
13257	return s
13258}
13259
13260// A namespaced kernel parameter to set in the container.
13261type AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails struct {
13262	_ struct{} `type:"structure"`
13263
13264	// The namespaced kernel parameter for which to set a value.
13265	Namespace *string `type:"string"`
13266
13267	// The value of the parameter.
13268	Value *string `type:"string"`
13269}
13270
13271// String returns the string representation
13272func (s AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) String() string {
13273	return awsutil.Prettify(s)
13274}
13275
13276// GoString returns the string representation
13277func (s AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) GoString() string {
13278	return s.String()
13279}
13280
13281// SetNamespace sets the Namespace field's value.
13282func (s *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) SetNamespace(v string) *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails {
13283	s.Namespace = &v
13284	return s
13285}
13286
13287// SetValue sets the Value field's value.
13288func (s *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails {
13289	s.Value = &v
13290	return s
13291}
13292
13293// A ulimit to set in the container.
13294type AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails struct {
13295	_ struct{} `type:"structure"`
13296
13297	// The hard limit for the ulimit type.
13298	HardLimit *int64 `type:"integer"`
13299
13300	// The type of the ulimit.
13301	Name *string `type:"string"`
13302
13303	// The soft limit for the ulimit type.
13304	SoftLimit *int64 `type:"integer"`
13305}
13306
13307// String returns the string representation
13308func (s AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) String() string {
13309	return awsutil.Prettify(s)
13310}
13311
13312// GoString returns the string representation
13313func (s AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) GoString() string {
13314	return s.String()
13315}
13316
13317// SetHardLimit sets the HardLimit field's value.
13318func (s *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) SetHardLimit(v int64) *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails {
13319	s.HardLimit = &v
13320	return s
13321}
13322
13323// SetName sets the Name field's value.
13324func (s *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails {
13325	s.Name = &v
13326	return s
13327}
13328
13329// SetSoftLimit sets the SoftLimit field's value.
13330func (s *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) SetSoftLimit(v int64) *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails {
13331	s.SoftLimit = &v
13332	return s
13333}
13334
13335// A data volume to mount from another container.
13336type AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails struct {
13337	_ struct{} `type:"structure"`
13338
13339	// Whether the container has read-only access to the volume.
13340	ReadOnly *bool `type:"boolean"`
13341
13342	// The name of another container within the same task definition from which
13343	// to mount volumes.
13344	SourceContainer *string `type:"string"`
13345}
13346
13347// String returns the string representation
13348func (s AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) String() string {
13349	return awsutil.Prettify(s)
13350}
13351
13352// GoString returns the string representation
13353func (s AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) GoString() string {
13354	return s.String()
13355}
13356
13357// SetReadOnly sets the ReadOnly field's value.
13358func (s *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) SetReadOnly(v bool) *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails {
13359	s.ReadOnly = &v
13360	return s
13361}
13362
13363// SetSourceContainer sets the SourceContainer field's value.
13364func (s *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) SetSourceContainer(v string) *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails {
13365	s.SourceContainer = &v
13366	return s
13367}
13368
13369// details about a task definition. A task definition describes the container
13370// and volume definitions of an Amazon Elastic Container Service task.
13371type AwsEcsTaskDefinitionDetails struct {
13372	_ struct{} `type:"structure"`
13373
13374	// The container definitions that describe the containers that make up the task.
13375	ContainerDefinitions []*AwsEcsTaskDefinitionContainerDefinitionsDetails `type:"list"`
13376
13377	// The number of CPU units used by the task.
13378	Cpu *string `type:"string"`
13379
13380	// The ARN of the task execution role that grants the container agent permission
13381	// to make API calls on behalf of the container user.
13382	ExecutionRoleArn *string `type:"string"`
13383
13384	// The name of a family that this task definition is registered to.
13385	Family *string `type:"string"`
13386
13387	// The Elastic Inference accelerators to use for the containers in the task.
13388	InferenceAccelerators []*AwsEcsTaskDefinitionInferenceAcceleratorsDetails `type:"list"`
13389
13390	// The IPC resource namespace to use for the containers in the task.
13391	IpcMode *string `type:"string"`
13392
13393	// The amount (in MiB) of memory used by the task.
13394	Memory *string `type:"string"`
13395
13396	// The Docker networking mode to use for the containers in the task.
13397	NetworkMode *string `type:"string"`
13398
13399	// The process namespace to use for the containers in the task.
13400	PidMode *string `type:"string"`
13401
13402	// The placement constraint objects to use for tasks.
13403	PlacementConstraints []*AwsEcsTaskDefinitionPlacementConstraintsDetails `type:"list"`
13404
13405	// The configuration details for the App Mesh proxy.
13406	ProxyConfiguration *AwsEcsTaskDefinitionProxyConfigurationDetails `type:"structure"`
13407
13408	// The task launch types that the task definition was validated against.
13409	RequiresCompatibilities []*string `type:"list"`
13410
13411	// The short name or ARN of the IAM role that grants containers in the task
13412	// permission to call Amazon Web Services API operations on your behalf.
13413	TaskRoleArn *string `type:"string"`
13414
13415	// The data volume definitions for the task.
13416	Volumes []*AwsEcsTaskDefinitionVolumesDetails `type:"list"`
13417}
13418
13419// String returns the string representation
13420func (s AwsEcsTaskDefinitionDetails) String() string {
13421	return awsutil.Prettify(s)
13422}
13423
13424// GoString returns the string representation
13425func (s AwsEcsTaskDefinitionDetails) GoString() string {
13426	return s.String()
13427}
13428
13429// SetContainerDefinitions sets the ContainerDefinitions field's value.
13430func (s *AwsEcsTaskDefinitionDetails) SetContainerDefinitions(v []*AwsEcsTaskDefinitionContainerDefinitionsDetails) *AwsEcsTaskDefinitionDetails {
13431	s.ContainerDefinitions = v
13432	return s
13433}
13434
13435// SetCpu sets the Cpu field's value.
13436func (s *AwsEcsTaskDefinitionDetails) SetCpu(v string) *AwsEcsTaskDefinitionDetails {
13437	s.Cpu = &v
13438	return s
13439}
13440
13441// SetExecutionRoleArn sets the ExecutionRoleArn field's value.
13442func (s *AwsEcsTaskDefinitionDetails) SetExecutionRoleArn(v string) *AwsEcsTaskDefinitionDetails {
13443	s.ExecutionRoleArn = &v
13444	return s
13445}
13446
13447// SetFamily sets the Family field's value.
13448func (s *AwsEcsTaskDefinitionDetails) SetFamily(v string) *AwsEcsTaskDefinitionDetails {
13449	s.Family = &v
13450	return s
13451}
13452
13453// SetInferenceAccelerators sets the InferenceAccelerators field's value.
13454func (s *AwsEcsTaskDefinitionDetails) SetInferenceAccelerators(v []*AwsEcsTaskDefinitionInferenceAcceleratorsDetails) *AwsEcsTaskDefinitionDetails {
13455	s.InferenceAccelerators = v
13456	return s
13457}
13458
13459// SetIpcMode sets the IpcMode field's value.
13460func (s *AwsEcsTaskDefinitionDetails) SetIpcMode(v string) *AwsEcsTaskDefinitionDetails {
13461	s.IpcMode = &v
13462	return s
13463}
13464
13465// SetMemory sets the Memory field's value.
13466func (s *AwsEcsTaskDefinitionDetails) SetMemory(v string) *AwsEcsTaskDefinitionDetails {
13467	s.Memory = &v
13468	return s
13469}
13470
13471// SetNetworkMode sets the NetworkMode field's value.
13472func (s *AwsEcsTaskDefinitionDetails) SetNetworkMode(v string) *AwsEcsTaskDefinitionDetails {
13473	s.NetworkMode = &v
13474	return s
13475}
13476
13477// SetPidMode sets the PidMode field's value.
13478func (s *AwsEcsTaskDefinitionDetails) SetPidMode(v string) *AwsEcsTaskDefinitionDetails {
13479	s.PidMode = &v
13480	return s
13481}
13482
13483// SetPlacementConstraints sets the PlacementConstraints field's value.
13484func (s *AwsEcsTaskDefinitionDetails) SetPlacementConstraints(v []*AwsEcsTaskDefinitionPlacementConstraintsDetails) *AwsEcsTaskDefinitionDetails {
13485	s.PlacementConstraints = v
13486	return s
13487}
13488
13489// SetProxyConfiguration sets the ProxyConfiguration field's value.
13490func (s *AwsEcsTaskDefinitionDetails) SetProxyConfiguration(v *AwsEcsTaskDefinitionProxyConfigurationDetails) *AwsEcsTaskDefinitionDetails {
13491	s.ProxyConfiguration = v
13492	return s
13493}
13494
13495// SetRequiresCompatibilities sets the RequiresCompatibilities field's value.
13496func (s *AwsEcsTaskDefinitionDetails) SetRequiresCompatibilities(v []*string) *AwsEcsTaskDefinitionDetails {
13497	s.RequiresCompatibilities = v
13498	return s
13499}
13500
13501// SetTaskRoleArn sets the TaskRoleArn field's value.
13502func (s *AwsEcsTaskDefinitionDetails) SetTaskRoleArn(v string) *AwsEcsTaskDefinitionDetails {
13503	s.TaskRoleArn = &v
13504	return s
13505}
13506
13507// SetVolumes sets the Volumes field's value.
13508func (s *AwsEcsTaskDefinitionDetails) SetVolumes(v []*AwsEcsTaskDefinitionVolumesDetails) *AwsEcsTaskDefinitionDetails {
13509	s.Volumes = v
13510	return s
13511}
13512
13513// An Elastic Inference accelerator to use for the containers in the task.
13514type AwsEcsTaskDefinitionInferenceAcceleratorsDetails struct {
13515	_ struct{} `type:"structure"`
13516
13517	// The Elastic Inference accelerator device name.
13518	DeviceName *string `type:"string"`
13519
13520	// The Elastic Inference accelerator type to use.
13521	DeviceType *string `type:"string"`
13522}
13523
13524// String returns the string representation
13525func (s AwsEcsTaskDefinitionInferenceAcceleratorsDetails) String() string {
13526	return awsutil.Prettify(s)
13527}
13528
13529// GoString returns the string representation
13530func (s AwsEcsTaskDefinitionInferenceAcceleratorsDetails) GoString() string {
13531	return s.String()
13532}
13533
13534// SetDeviceName sets the DeviceName field's value.
13535func (s *AwsEcsTaskDefinitionInferenceAcceleratorsDetails) SetDeviceName(v string) *AwsEcsTaskDefinitionInferenceAcceleratorsDetails {
13536	s.DeviceName = &v
13537	return s
13538}
13539
13540// SetDeviceType sets the DeviceType field's value.
13541func (s *AwsEcsTaskDefinitionInferenceAcceleratorsDetails) SetDeviceType(v string) *AwsEcsTaskDefinitionInferenceAcceleratorsDetails {
13542	s.DeviceType = &v
13543	return s
13544}
13545
13546// A placement constraint object to use for tasks.
13547type AwsEcsTaskDefinitionPlacementConstraintsDetails struct {
13548	_ struct{} `type:"structure"`
13549
13550	// A cluster query language expression to apply to the constraint.
13551	Expression *string `type:"string"`
13552
13553	// The type of constraint.
13554	Type *string `type:"string"`
13555}
13556
13557// String returns the string representation
13558func (s AwsEcsTaskDefinitionPlacementConstraintsDetails) String() string {
13559	return awsutil.Prettify(s)
13560}
13561
13562// GoString returns the string representation
13563func (s AwsEcsTaskDefinitionPlacementConstraintsDetails) GoString() string {
13564	return s.String()
13565}
13566
13567// SetExpression sets the Expression field's value.
13568func (s *AwsEcsTaskDefinitionPlacementConstraintsDetails) SetExpression(v string) *AwsEcsTaskDefinitionPlacementConstraintsDetails {
13569	s.Expression = &v
13570	return s
13571}
13572
13573// SetType sets the Type field's value.
13574func (s *AwsEcsTaskDefinitionPlacementConstraintsDetails) SetType(v string) *AwsEcsTaskDefinitionPlacementConstraintsDetails {
13575	s.Type = &v
13576	return s
13577}
13578
13579// The configuration details for the App Mesh proxy.
13580type AwsEcsTaskDefinitionProxyConfigurationDetails struct {
13581	_ struct{} `type:"structure"`
13582
13583	// The name of the container that will serve as the App Mesh proxy.
13584	ContainerName *string `type:"string"`
13585
13586	// The set of network configuration parameters to provide to the Container Network
13587	// Interface (CNI) plugin, specified as key-value pairs.
13588	ProxyConfigurationProperties []*AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails `type:"list"`
13589
13590	// The proxy type.
13591	Type *string `type:"string"`
13592}
13593
13594// String returns the string representation
13595func (s AwsEcsTaskDefinitionProxyConfigurationDetails) String() string {
13596	return awsutil.Prettify(s)
13597}
13598
13599// GoString returns the string representation
13600func (s AwsEcsTaskDefinitionProxyConfigurationDetails) GoString() string {
13601	return s.String()
13602}
13603
13604// SetContainerName sets the ContainerName field's value.
13605func (s *AwsEcsTaskDefinitionProxyConfigurationDetails) SetContainerName(v string) *AwsEcsTaskDefinitionProxyConfigurationDetails {
13606	s.ContainerName = &v
13607	return s
13608}
13609
13610// SetProxyConfigurationProperties sets the ProxyConfigurationProperties field's value.
13611func (s *AwsEcsTaskDefinitionProxyConfigurationDetails) SetProxyConfigurationProperties(v []*AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) *AwsEcsTaskDefinitionProxyConfigurationDetails {
13612	s.ProxyConfigurationProperties = v
13613	return s
13614}
13615
13616// SetType sets the Type field's value.
13617func (s *AwsEcsTaskDefinitionProxyConfigurationDetails) SetType(v string) *AwsEcsTaskDefinitionProxyConfigurationDetails {
13618	s.Type = &v
13619	return s
13620}
13621
13622// A network configuration parameter to provide to the Container Network Interface
13623// (CNI) plugin.
13624type AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails struct {
13625	_ struct{} `type:"structure"`
13626
13627	// The name of the property.
13628	Name *string `type:"string"`
13629
13630	// The value of the property.
13631	Value *string `type:"string"`
13632}
13633
13634// String returns the string representation
13635func (s AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) String() string {
13636	return awsutil.Prettify(s)
13637}
13638
13639// GoString returns the string representation
13640func (s AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) GoString() string {
13641	return s.String()
13642}
13643
13644// SetName sets the Name field's value.
13645func (s *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) SetName(v string) *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails {
13646	s.Name = &v
13647	return s
13648}
13649
13650// SetValue sets the Value field's value.
13651func (s *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) SetValue(v string) *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails {
13652	s.Value = &v
13653	return s
13654}
13655
13656// A data volume to mount from another container.
13657type AwsEcsTaskDefinitionVolumesDetails struct {
13658	_ struct{} `type:"structure"`
13659
13660	// Information about a Docker volume.
13661	DockerVolumeConfiguration *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails `type:"structure"`
13662
13663	// Information about the Amazon Elastic File System file system that is used
13664	// for task storage.
13665	EfsVolumeConfiguration *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails `type:"structure"`
13666
13667	// Information about a bind mount host volume.
13668	Host *AwsEcsTaskDefinitionVolumesHostDetails `type:"structure"`
13669
13670	// The name of the data volume.
13671	Name *string `type:"string"`
13672}
13673
13674// String returns the string representation
13675func (s AwsEcsTaskDefinitionVolumesDetails) String() string {
13676	return awsutil.Prettify(s)
13677}
13678
13679// GoString returns the string representation
13680func (s AwsEcsTaskDefinitionVolumesDetails) GoString() string {
13681	return s.String()
13682}
13683
13684// SetDockerVolumeConfiguration sets the DockerVolumeConfiguration field's value.
13685func (s *AwsEcsTaskDefinitionVolumesDetails) SetDockerVolumeConfiguration(v *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) *AwsEcsTaskDefinitionVolumesDetails {
13686	s.DockerVolumeConfiguration = v
13687	return s
13688}
13689
13690// SetEfsVolumeConfiguration sets the EfsVolumeConfiguration field's value.
13691func (s *AwsEcsTaskDefinitionVolumesDetails) SetEfsVolumeConfiguration(v *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) *AwsEcsTaskDefinitionVolumesDetails {
13692	s.EfsVolumeConfiguration = v
13693	return s
13694}
13695
13696// SetHost sets the Host field's value.
13697func (s *AwsEcsTaskDefinitionVolumesDetails) SetHost(v *AwsEcsTaskDefinitionVolumesHostDetails) *AwsEcsTaskDefinitionVolumesDetails {
13698	s.Host = v
13699	return s
13700}
13701
13702// SetName sets the Name field's value.
13703func (s *AwsEcsTaskDefinitionVolumesDetails) SetName(v string) *AwsEcsTaskDefinitionVolumesDetails {
13704	s.Name = &v
13705	return s
13706}
13707
13708// Information about a Docker volume.
13709type AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails struct {
13710	_ struct{} `type:"structure"`
13711
13712	// Whether to create the Docker volume automatically if it does not already
13713	// exist.
13714	Autoprovision *bool `type:"boolean"`
13715
13716	// The Docker volume driver to use.
13717	Driver *string `type:"string"`
13718
13719	// A map of Docker driver-specific options that are passed through.
13720	DriverOpts map[string]*string `type:"map"`
13721
13722	// Custom metadata to add to the Docker volume.
13723	Labels map[string]*string `type:"map"`
13724
13725	// The scope for the Docker volume that determines its lifecycle. Docker volumes
13726	// that are scoped to a task are provisioned automatically when the task starts
13727	// and destroyed when the task stops. Docker volumes that are shared persist
13728	// after the task stops.
13729	Scope *string `type:"string"`
13730}
13731
13732// String returns the string representation
13733func (s AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) String() string {
13734	return awsutil.Prettify(s)
13735}
13736
13737// GoString returns the string representation
13738func (s AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) GoString() string {
13739	return s.String()
13740}
13741
13742// SetAutoprovision sets the Autoprovision field's value.
13743func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetAutoprovision(v bool) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
13744	s.Autoprovision = &v
13745	return s
13746}
13747
13748// SetDriver sets the Driver field's value.
13749func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetDriver(v string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
13750	s.Driver = &v
13751	return s
13752}
13753
13754// SetDriverOpts sets the DriverOpts field's value.
13755func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetDriverOpts(v map[string]*string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
13756	s.DriverOpts = v
13757	return s
13758}
13759
13760// SetLabels sets the Labels field's value.
13761func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetLabels(v map[string]*string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
13762	s.Labels = v
13763	return s
13764}
13765
13766// SetScope sets the Scope field's value.
13767func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetScope(v string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
13768	s.Scope = &v
13769	return s
13770}
13771
13772type AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails struct {
13773	_ struct{} `type:"structure"`
13774
13775	// The Amazon EFS access point identifier to use.
13776	AccessPointId *string `type:"string"`
13777
13778	// Whether to use the Amazon ECS task IAM role defined in a task definition
13779	// when mounting the Amazon EFS file system.
13780	Iam *string `type:"string"`
13781}
13782
13783// String returns the string representation
13784func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) String() string {
13785	return awsutil.Prettify(s)
13786}
13787
13788// GoString returns the string representation
13789func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) GoString() string {
13790	return s.String()
13791}
13792
13793// SetAccessPointId sets the AccessPointId field's value.
13794func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) SetAccessPointId(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails {
13795	s.AccessPointId = &v
13796	return s
13797}
13798
13799// SetIam sets the Iam field's value.
13800func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) SetIam(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails {
13801	s.Iam = &v
13802	return s
13803}
13804
13805// Information about the Amazon Elastic File System file system that is used
13806// for task storage.
13807type AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails struct {
13808	_ struct{} `type:"structure"`
13809
13810	// The authorization configuration details for the Amazon EFS file system.
13811	AuthorizationConfig *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails `type:"structure"`
13812
13813	// The Amazon EFS file system identifier to use.
13814	FilesystemId *string `type:"string"`
13815
13816	// The directory within the Amazon EFS file system to mount as the root directory
13817	// inside the host.
13818	RootDirectory *string `type:"string"`
13819
13820	// Whether to enable encryption for Amazon EFS data in transit between the Amazon
13821	// ECS host and the Amazon EFS server.
13822	TransitEncryption *string `type:"string"`
13823
13824	// The port to use when sending encrypted data between the Amazon ECS host and
13825	// the Amazon EFS server.
13826	TransitEncryptionPort *int64 `type:"integer"`
13827}
13828
13829// String returns the string representation
13830func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) String() string {
13831	return awsutil.Prettify(s)
13832}
13833
13834// GoString returns the string representation
13835func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) GoString() string {
13836	return s.String()
13837}
13838
13839// SetAuthorizationConfig sets the AuthorizationConfig field's value.
13840func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetAuthorizationConfig(v *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
13841	s.AuthorizationConfig = v
13842	return s
13843}
13844
13845// SetFilesystemId sets the FilesystemId field's value.
13846func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetFilesystemId(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
13847	s.FilesystemId = &v
13848	return s
13849}
13850
13851// SetRootDirectory sets the RootDirectory field's value.
13852func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetRootDirectory(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
13853	s.RootDirectory = &v
13854	return s
13855}
13856
13857// SetTransitEncryption sets the TransitEncryption field's value.
13858func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetTransitEncryption(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
13859	s.TransitEncryption = &v
13860	return s
13861}
13862
13863// SetTransitEncryptionPort sets the TransitEncryptionPort field's value.
13864func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetTransitEncryptionPort(v int64) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
13865	s.TransitEncryptionPort = &v
13866	return s
13867}
13868
13869// Information about a bind mount host volume.
13870type AwsEcsTaskDefinitionVolumesHostDetails struct {
13871	_ struct{} `type:"structure"`
13872
13873	// The path on the host container instance that is presented to the container.
13874	SourcePath *string `type:"string"`
13875}
13876
13877// String returns the string representation
13878func (s AwsEcsTaskDefinitionVolumesHostDetails) String() string {
13879	return awsutil.Prettify(s)
13880}
13881
13882// GoString returns the string representation
13883func (s AwsEcsTaskDefinitionVolumesHostDetails) GoString() string {
13884	return s.String()
13885}
13886
13887// SetSourcePath sets the SourcePath field's value.
13888func (s *AwsEcsTaskDefinitionVolumesHostDetails) SetSourcePath(v string) *AwsEcsTaskDefinitionVolumesHostDetails {
13889	s.SourcePath = &v
13890	return s
13891}
13892
13893// Contains details about an Elastic Beanstalk environment.
13894type AwsElasticBeanstalkEnvironmentDetails struct {
13895	_ struct{} `type:"structure"`
13896
13897	// The name of the application that is associated with the environment.
13898	ApplicationName *string `type:"string"`
13899
13900	// The URL to the CNAME for this environment.
13901	Cname *string `type:"string"`
13902
13903	// The creation date for this environment.
13904	DateCreated *string `type:"string"`
13905
13906	// The date when this environment was last modified.
13907	DateUpdated *string `type:"string"`
13908
13909	// A description of the environment.
13910	Description *string `type:"string"`
13911
13912	// For load-balanced, autoscaling environments, the URL to the load balancer.
13913	// For single-instance environments, the IP address of the instance.
13914	EndpointUrl *string `type:"string"`
13915
13916	// The ARN of the environment.
13917	EnvironmentArn *string `type:"string"`
13918
13919	// The identifier of the environment.
13920	EnvironmentId *string `type:"string"`
13921
13922	// Links to other environments in the same group.
13923	EnvironmentLinks []*AwsElasticBeanstalkEnvironmentEnvironmentLink `type:"list"`
13924
13925	// The name of the environment.
13926	EnvironmentName *string `type:"string"`
13927
13928	// The configuration setting for the environment.
13929	OptionSettings []*AwsElasticBeanstalkEnvironmentOptionSetting `type:"list"`
13930
13931	// The ARN of the platform version for the environment.
13932	PlatformArn *string `type:"string"`
13933
13934	// The name of the solution stack that is deployed with the environment.
13935	SolutionStackName *string `type:"string"`
13936
13937	// The current operational status of the environment.
13938	Status *string `type:"string"`
13939
13940	// The tier of the environment.
13941	Tier *AwsElasticBeanstalkEnvironmentTier `type:"structure"`
13942
13943	// The application version of the environment.
13944	VersionLabel *string `type:"string"`
13945}
13946
13947// String returns the string representation
13948func (s AwsElasticBeanstalkEnvironmentDetails) String() string {
13949	return awsutil.Prettify(s)
13950}
13951
13952// GoString returns the string representation
13953func (s AwsElasticBeanstalkEnvironmentDetails) GoString() string {
13954	return s.String()
13955}
13956
13957// SetApplicationName sets the ApplicationName field's value.
13958func (s *AwsElasticBeanstalkEnvironmentDetails) SetApplicationName(v string) *AwsElasticBeanstalkEnvironmentDetails {
13959	s.ApplicationName = &v
13960	return s
13961}
13962
13963// SetCname sets the Cname field's value.
13964func (s *AwsElasticBeanstalkEnvironmentDetails) SetCname(v string) *AwsElasticBeanstalkEnvironmentDetails {
13965	s.Cname = &v
13966	return s
13967}
13968
13969// SetDateCreated sets the DateCreated field's value.
13970func (s *AwsElasticBeanstalkEnvironmentDetails) SetDateCreated(v string) *AwsElasticBeanstalkEnvironmentDetails {
13971	s.DateCreated = &v
13972	return s
13973}
13974
13975// SetDateUpdated sets the DateUpdated field's value.
13976func (s *AwsElasticBeanstalkEnvironmentDetails) SetDateUpdated(v string) *AwsElasticBeanstalkEnvironmentDetails {
13977	s.DateUpdated = &v
13978	return s
13979}
13980
13981// SetDescription sets the Description field's value.
13982func (s *AwsElasticBeanstalkEnvironmentDetails) SetDescription(v string) *AwsElasticBeanstalkEnvironmentDetails {
13983	s.Description = &v
13984	return s
13985}
13986
13987// SetEndpointUrl sets the EndpointUrl field's value.
13988func (s *AwsElasticBeanstalkEnvironmentDetails) SetEndpointUrl(v string) *AwsElasticBeanstalkEnvironmentDetails {
13989	s.EndpointUrl = &v
13990	return s
13991}
13992
13993// SetEnvironmentArn sets the EnvironmentArn field's value.
13994func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentArn(v string) *AwsElasticBeanstalkEnvironmentDetails {
13995	s.EnvironmentArn = &v
13996	return s
13997}
13998
13999// SetEnvironmentId sets the EnvironmentId field's value.
14000func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentId(v string) *AwsElasticBeanstalkEnvironmentDetails {
14001	s.EnvironmentId = &v
14002	return s
14003}
14004
14005// SetEnvironmentLinks sets the EnvironmentLinks field's value.
14006func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentLinks(v []*AwsElasticBeanstalkEnvironmentEnvironmentLink) *AwsElasticBeanstalkEnvironmentDetails {
14007	s.EnvironmentLinks = v
14008	return s
14009}
14010
14011// SetEnvironmentName sets the EnvironmentName field's value.
14012func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentName(v string) *AwsElasticBeanstalkEnvironmentDetails {
14013	s.EnvironmentName = &v
14014	return s
14015}
14016
14017// SetOptionSettings sets the OptionSettings field's value.
14018func (s *AwsElasticBeanstalkEnvironmentDetails) SetOptionSettings(v []*AwsElasticBeanstalkEnvironmentOptionSetting) *AwsElasticBeanstalkEnvironmentDetails {
14019	s.OptionSettings = v
14020	return s
14021}
14022
14023// SetPlatformArn sets the PlatformArn field's value.
14024func (s *AwsElasticBeanstalkEnvironmentDetails) SetPlatformArn(v string) *AwsElasticBeanstalkEnvironmentDetails {
14025	s.PlatformArn = &v
14026	return s
14027}
14028
14029// SetSolutionStackName sets the SolutionStackName field's value.
14030func (s *AwsElasticBeanstalkEnvironmentDetails) SetSolutionStackName(v string) *AwsElasticBeanstalkEnvironmentDetails {
14031	s.SolutionStackName = &v
14032	return s
14033}
14034
14035// SetStatus sets the Status field's value.
14036func (s *AwsElasticBeanstalkEnvironmentDetails) SetStatus(v string) *AwsElasticBeanstalkEnvironmentDetails {
14037	s.Status = &v
14038	return s
14039}
14040
14041// SetTier sets the Tier field's value.
14042func (s *AwsElasticBeanstalkEnvironmentDetails) SetTier(v *AwsElasticBeanstalkEnvironmentTier) *AwsElasticBeanstalkEnvironmentDetails {
14043	s.Tier = v
14044	return s
14045}
14046
14047// SetVersionLabel sets the VersionLabel field's value.
14048func (s *AwsElasticBeanstalkEnvironmentDetails) SetVersionLabel(v string) *AwsElasticBeanstalkEnvironmentDetails {
14049	s.VersionLabel = &v
14050	return s
14051}
14052
14053// Contains information about a link to another environment that is in the same
14054// group.
14055type AwsElasticBeanstalkEnvironmentEnvironmentLink struct {
14056	_ struct{} `type:"structure"`
14057
14058	// The name of the linked environment.
14059	EnvironmentName *string `type:"string"`
14060
14061	// The name of the environment link.
14062	LinkName *string `type:"string"`
14063}
14064
14065// String returns the string representation
14066func (s AwsElasticBeanstalkEnvironmentEnvironmentLink) String() string {
14067	return awsutil.Prettify(s)
14068}
14069
14070// GoString returns the string representation
14071func (s AwsElasticBeanstalkEnvironmentEnvironmentLink) GoString() string {
14072	return s.String()
14073}
14074
14075// SetEnvironmentName sets the EnvironmentName field's value.
14076func (s *AwsElasticBeanstalkEnvironmentEnvironmentLink) SetEnvironmentName(v string) *AwsElasticBeanstalkEnvironmentEnvironmentLink {
14077	s.EnvironmentName = &v
14078	return s
14079}
14080
14081// SetLinkName sets the LinkName field's value.
14082func (s *AwsElasticBeanstalkEnvironmentEnvironmentLink) SetLinkName(v string) *AwsElasticBeanstalkEnvironmentEnvironmentLink {
14083	s.LinkName = &v
14084	return s
14085}
14086
14087// A configuration option setting for the environment.
14088type AwsElasticBeanstalkEnvironmentOptionSetting struct {
14089	_ struct{} `type:"structure"`
14090
14091	// The type of resource that the configuration option is associated with.
14092	Namespace *string `type:"string"`
14093
14094	// The name of the option.
14095	OptionName *string `type:"string"`
14096
14097	// The name of the resource.
14098	ResourceName *string `type:"string"`
14099
14100	// The value of the configuration setting.
14101	Value *string `type:"string"`
14102}
14103
14104// String returns the string representation
14105func (s AwsElasticBeanstalkEnvironmentOptionSetting) String() string {
14106	return awsutil.Prettify(s)
14107}
14108
14109// GoString returns the string representation
14110func (s AwsElasticBeanstalkEnvironmentOptionSetting) GoString() string {
14111	return s.String()
14112}
14113
14114// SetNamespace sets the Namespace field's value.
14115func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetNamespace(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
14116	s.Namespace = &v
14117	return s
14118}
14119
14120// SetOptionName sets the OptionName field's value.
14121func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetOptionName(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
14122	s.OptionName = &v
14123	return s
14124}
14125
14126// SetResourceName sets the ResourceName field's value.
14127func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetResourceName(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
14128	s.ResourceName = &v
14129	return s
14130}
14131
14132// SetValue sets the Value field's value.
14133func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetValue(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
14134	s.Value = &v
14135	return s
14136}
14137
14138// Contains information about the tier of the environment.
14139type AwsElasticBeanstalkEnvironmentTier struct {
14140	_ struct{} `type:"structure"`
14141
14142	// The name of the environment tier.
14143	Name *string `type:"string"`
14144
14145	// The type of environment tier.
14146	Type *string `type:"string"`
14147
14148	// The version of the environment tier.
14149	Version *string `type:"string"`
14150}
14151
14152// String returns the string representation
14153func (s AwsElasticBeanstalkEnvironmentTier) String() string {
14154	return awsutil.Prettify(s)
14155}
14156
14157// GoString returns the string representation
14158func (s AwsElasticBeanstalkEnvironmentTier) GoString() string {
14159	return s.String()
14160}
14161
14162// SetName sets the Name field's value.
14163func (s *AwsElasticBeanstalkEnvironmentTier) SetName(v string) *AwsElasticBeanstalkEnvironmentTier {
14164	s.Name = &v
14165	return s
14166}
14167
14168// SetType sets the Type field's value.
14169func (s *AwsElasticBeanstalkEnvironmentTier) SetType(v string) *AwsElasticBeanstalkEnvironmentTier {
14170	s.Type = &v
14171	return s
14172}
14173
14174// SetVersion sets the Version field's value.
14175func (s *AwsElasticBeanstalkEnvironmentTier) SetVersion(v string) *AwsElasticBeanstalkEnvironmentTier {
14176	s.Version = &v
14177	return s
14178}
14179
14180// Information about an Amazon Elasticsearch Service domain.
14181type AwsElasticsearchDomainDetails struct {
14182	_ struct{} `type:"structure"`
14183
14184	// IAM policy document specifying the access policies for the new Elasticsearch
14185	// domain.
14186	AccessPolicies *string `type:"string"`
14187
14188	// Additional options for the domain endpoint.
14189	DomainEndpointOptions *AwsElasticsearchDomainDomainEndpointOptions `type:"structure"`
14190
14191	// Unique identifier for an Elasticsearch domain.
14192	DomainId *string `type:"string"`
14193
14194	// Name of an Elasticsearch domain.
14195	//
14196	// Domain names are unique across all domains owned by the same account within
14197	// an Amazon Web Services Region.
14198	//
14199	// Domain names must start with a lowercase letter and must be between 3 and
14200	// 28 characters.
14201	//
14202	// Valid characters are a-z (lowercase only), 0-9, and – (hyphen).
14203	DomainName *string `type:"string"`
14204
14205	// Information about an Elasticsearch cluster configuration.
14206	ElasticsearchClusterConfig *AwsElasticsearchDomainElasticsearchClusterConfigDetails `type:"structure"`
14207
14208	// Elasticsearch version.
14209	ElasticsearchVersion *string `type:"string"`
14210
14211	// Details about the configuration for encryption at rest.
14212	EncryptionAtRestOptions *AwsElasticsearchDomainEncryptionAtRestOptions `type:"structure"`
14213
14214	// Domain-specific endpoint used to submit index, search, and data upload requests
14215	// to an Elasticsearch domain.
14216	//
14217	// The endpoint is a service URL.
14218	Endpoint *string `type:"string"`
14219
14220	// The key-value pair that exists if the Elasticsearch domain uses VPC endpoints.
14221	Endpoints map[string]*string `type:"map"`
14222
14223	// Configures the CloudWatch Logs to publish for the Elasticsearch domain.
14224	LogPublishingOptions *AwsElasticsearchDomainLogPublishingOptions `type:"structure"`
14225
14226	// Details about the configuration for node-to-node encryption.
14227	NodeToNodeEncryptionOptions *AwsElasticsearchDomainNodeToNodeEncryptionOptions `type:"structure"`
14228
14229	// Information about the status of a domain relative to the latest service software.
14230	ServiceSoftwareOptions *AwsElasticsearchDomainServiceSoftwareOptions `type:"structure"`
14231
14232	// Information that Elasticsearch derives based on VPCOptions for the domain.
14233	VPCOptions *AwsElasticsearchDomainVPCOptions `type:"structure"`
14234}
14235
14236// String returns the string representation
14237func (s AwsElasticsearchDomainDetails) String() string {
14238	return awsutil.Prettify(s)
14239}
14240
14241// GoString returns the string representation
14242func (s AwsElasticsearchDomainDetails) GoString() string {
14243	return s.String()
14244}
14245
14246// SetAccessPolicies sets the AccessPolicies field's value.
14247func (s *AwsElasticsearchDomainDetails) SetAccessPolicies(v string) *AwsElasticsearchDomainDetails {
14248	s.AccessPolicies = &v
14249	return s
14250}
14251
14252// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
14253func (s *AwsElasticsearchDomainDetails) SetDomainEndpointOptions(v *AwsElasticsearchDomainDomainEndpointOptions) *AwsElasticsearchDomainDetails {
14254	s.DomainEndpointOptions = v
14255	return s
14256}
14257
14258// SetDomainId sets the DomainId field's value.
14259func (s *AwsElasticsearchDomainDetails) SetDomainId(v string) *AwsElasticsearchDomainDetails {
14260	s.DomainId = &v
14261	return s
14262}
14263
14264// SetDomainName sets the DomainName field's value.
14265func (s *AwsElasticsearchDomainDetails) SetDomainName(v string) *AwsElasticsearchDomainDetails {
14266	s.DomainName = &v
14267	return s
14268}
14269
14270// SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
14271func (s *AwsElasticsearchDomainDetails) SetElasticsearchClusterConfig(v *AwsElasticsearchDomainElasticsearchClusterConfigDetails) *AwsElasticsearchDomainDetails {
14272	s.ElasticsearchClusterConfig = v
14273	return s
14274}
14275
14276// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
14277func (s *AwsElasticsearchDomainDetails) SetElasticsearchVersion(v string) *AwsElasticsearchDomainDetails {
14278	s.ElasticsearchVersion = &v
14279	return s
14280}
14281
14282// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
14283func (s *AwsElasticsearchDomainDetails) SetEncryptionAtRestOptions(v *AwsElasticsearchDomainEncryptionAtRestOptions) *AwsElasticsearchDomainDetails {
14284	s.EncryptionAtRestOptions = v
14285	return s
14286}
14287
14288// SetEndpoint sets the Endpoint field's value.
14289func (s *AwsElasticsearchDomainDetails) SetEndpoint(v string) *AwsElasticsearchDomainDetails {
14290	s.Endpoint = &v
14291	return s
14292}
14293
14294// SetEndpoints sets the Endpoints field's value.
14295func (s *AwsElasticsearchDomainDetails) SetEndpoints(v map[string]*string) *AwsElasticsearchDomainDetails {
14296	s.Endpoints = v
14297	return s
14298}
14299
14300// SetLogPublishingOptions sets the LogPublishingOptions field's value.
14301func (s *AwsElasticsearchDomainDetails) SetLogPublishingOptions(v *AwsElasticsearchDomainLogPublishingOptions) *AwsElasticsearchDomainDetails {
14302	s.LogPublishingOptions = v
14303	return s
14304}
14305
14306// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
14307func (s *AwsElasticsearchDomainDetails) SetNodeToNodeEncryptionOptions(v *AwsElasticsearchDomainNodeToNodeEncryptionOptions) *AwsElasticsearchDomainDetails {
14308	s.NodeToNodeEncryptionOptions = v
14309	return s
14310}
14311
14312// SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
14313func (s *AwsElasticsearchDomainDetails) SetServiceSoftwareOptions(v *AwsElasticsearchDomainServiceSoftwareOptions) *AwsElasticsearchDomainDetails {
14314	s.ServiceSoftwareOptions = v
14315	return s
14316}
14317
14318// SetVPCOptions sets the VPCOptions field's value.
14319func (s *AwsElasticsearchDomainDetails) SetVPCOptions(v *AwsElasticsearchDomainVPCOptions) *AwsElasticsearchDomainDetails {
14320	s.VPCOptions = v
14321	return s
14322}
14323
14324// Additional options for the domain endpoint, such as whether to require HTTPS
14325// for all traffic.
14326type AwsElasticsearchDomainDomainEndpointOptions struct {
14327	_ struct{} `type:"structure"`
14328
14329	// Whether to require that all traffic to the domain arrive over HTTPS.
14330	EnforceHTTPS *bool `type:"boolean"`
14331
14332	// The TLS security policy to apply to the HTTPS endpoint of the Elasticsearch
14333	// domain.
14334	//
14335	// Valid values:
14336	//
14337	//    * Policy-Min-TLS-1-0-2019-07, which supports TLSv1.0 and higher
14338	//
14339	//    * Policy-Min-TLS-1-2-2019-07, which only supports TLSv1.2
14340	TLSSecurityPolicy *string `type:"string"`
14341}
14342
14343// String returns the string representation
14344func (s AwsElasticsearchDomainDomainEndpointOptions) String() string {
14345	return awsutil.Prettify(s)
14346}
14347
14348// GoString returns the string representation
14349func (s AwsElasticsearchDomainDomainEndpointOptions) GoString() string {
14350	return s.String()
14351}
14352
14353// SetEnforceHTTPS sets the EnforceHTTPS field's value.
14354func (s *AwsElasticsearchDomainDomainEndpointOptions) SetEnforceHTTPS(v bool) *AwsElasticsearchDomainDomainEndpointOptions {
14355	s.EnforceHTTPS = &v
14356	return s
14357}
14358
14359// SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value.
14360func (s *AwsElasticsearchDomainDomainEndpointOptions) SetTLSSecurityPolicy(v string) *AwsElasticsearchDomainDomainEndpointOptions {
14361	s.TLSSecurityPolicy = &v
14362	return s
14363}
14364
14365// details about the configuration of an Elasticsearch cluster.
14366type AwsElasticsearchDomainElasticsearchClusterConfigDetails struct {
14367	_ struct{} `type:"structure"`
14368
14369	// The number of instances to use for the master node. If this attribute is
14370	// specified, then DedicatedMasterEnabled must be true.
14371	DedicatedMasterCount *int64 `type:"integer"`
14372
14373	// Whether to use a dedicated master node for the Elasticsearch domain. A dedicated
14374	// master node performs cluster management tasks, but doesn't hold data or respond
14375	// to data upload requests.
14376	DedicatedMasterEnabled *bool `type:"boolean"`
14377
14378	// The hardware configuration of the computer that hosts the dedicated master
14379	// node. For example, m3.medium.elasticsearch. If this attribute is specified,
14380	// then DedicatedMasterEnabled must be true.
14381	DedicatedMasterType *string `type:"string"`
14382
14383	// The number of data nodes to use in the Elasticsearch domain.
14384	InstanceCount *int64 `type:"integer"`
14385
14386	// The instance type for your data nodes. For example, m3.medium.elasticsearch.
14387	InstanceType *string `type:"string"`
14388
14389	// Configuration options for zone awareness. Provided if ZoneAwarenessEnabled
14390	// is true.
14391	ZoneAwarenessConfig *AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails `type:"structure"`
14392
14393	// Whether to enable zone awareness for the Elasticsearch domain. When zone
14394	// awareness is enabled, Elasticsearch allocates the cluster's nodes and replica
14395	// index shards across Availability Zones in the same Region. This prevents
14396	// data loss and minimizes downtime if a node or data center fails.
14397	ZoneAwarenessEnabled *bool `type:"boolean"`
14398}
14399
14400// String returns the string representation
14401func (s AwsElasticsearchDomainElasticsearchClusterConfigDetails) String() string {
14402	return awsutil.Prettify(s)
14403}
14404
14405// GoString returns the string representation
14406func (s AwsElasticsearchDomainElasticsearchClusterConfigDetails) GoString() string {
14407	return s.String()
14408}
14409
14410// SetDedicatedMasterCount sets the DedicatedMasterCount field's value.
14411func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetDedicatedMasterCount(v int64) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
14412	s.DedicatedMasterCount = &v
14413	return s
14414}
14415
14416// SetDedicatedMasterEnabled sets the DedicatedMasterEnabled field's value.
14417func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetDedicatedMasterEnabled(v bool) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
14418	s.DedicatedMasterEnabled = &v
14419	return s
14420}
14421
14422// SetDedicatedMasterType sets the DedicatedMasterType field's value.
14423func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetDedicatedMasterType(v string) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
14424	s.DedicatedMasterType = &v
14425	return s
14426}
14427
14428// SetInstanceCount sets the InstanceCount field's value.
14429func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetInstanceCount(v int64) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
14430	s.InstanceCount = &v
14431	return s
14432}
14433
14434// SetInstanceType sets the InstanceType field's value.
14435func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetInstanceType(v string) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
14436	s.InstanceType = &v
14437	return s
14438}
14439
14440// SetZoneAwarenessConfig sets the ZoneAwarenessConfig field's value.
14441func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetZoneAwarenessConfig(v *AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
14442	s.ZoneAwarenessConfig = v
14443	return s
14444}
14445
14446// SetZoneAwarenessEnabled sets the ZoneAwarenessEnabled field's value.
14447func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetZoneAwarenessEnabled(v bool) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
14448	s.ZoneAwarenessEnabled = &v
14449	return s
14450}
14451
14452// Configuration options for zone awareness.
14453type AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails struct {
14454	_ struct{} `type:"structure"`
14455
14456	// he number of Availability Zones that the domain uses. Valid values are 2
14457	// and 3. The default is 2.
14458	AvailabilityZoneCount *int64 `type:"integer"`
14459}
14460
14461// String returns the string representation
14462func (s AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails) String() string {
14463	return awsutil.Prettify(s)
14464}
14465
14466// GoString returns the string representation
14467func (s AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails) GoString() string {
14468	return s.String()
14469}
14470
14471// SetAvailabilityZoneCount sets the AvailabilityZoneCount field's value.
14472func (s *AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails) SetAvailabilityZoneCount(v int64) *AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails {
14473	s.AvailabilityZoneCount = &v
14474	return s
14475}
14476
14477// Details about the configuration for encryption at rest.
14478type AwsElasticsearchDomainEncryptionAtRestOptions struct {
14479	_ struct{} `type:"structure"`
14480
14481	// Whether encryption at rest is enabled.
14482	Enabled *bool `type:"boolean"`
14483
14484	// The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a.
14485	KmsKeyId *string `type:"string"`
14486}
14487
14488// String returns the string representation
14489func (s AwsElasticsearchDomainEncryptionAtRestOptions) String() string {
14490	return awsutil.Prettify(s)
14491}
14492
14493// GoString returns the string representation
14494func (s AwsElasticsearchDomainEncryptionAtRestOptions) GoString() string {
14495	return s.String()
14496}
14497
14498// SetEnabled sets the Enabled field's value.
14499func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetEnabled(v bool) *AwsElasticsearchDomainEncryptionAtRestOptions {
14500	s.Enabled = &v
14501	return s
14502}
14503
14504// SetKmsKeyId sets the KmsKeyId field's value.
14505func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetKmsKeyId(v string) *AwsElasticsearchDomainEncryptionAtRestOptions {
14506	s.KmsKeyId = &v
14507	return s
14508}
14509
14510// configures the CloudWatch Logs to publish for the Elasticsearch domain.
14511type AwsElasticsearchDomainLogPublishingOptions struct {
14512	_ struct{} `type:"structure"`
14513
14514	// The log configuration.
14515	AuditLogs *AwsElasticsearchDomainLogPublishingOptionsLogConfig `type:"structure"`
14516
14517	// Configures the Elasticsearch index logs publishing.
14518	IndexSlowLogs *AwsElasticsearchDomainLogPublishingOptionsLogConfig `type:"structure"`
14519
14520	// Configures the Elasticsearch search slow log publishing.
14521	SearchSlowLogs *AwsElasticsearchDomainLogPublishingOptionsLogConfig `type:"structure"`
14522}
14523
14524// String returns the string representation
14525func (s AwsElasticsearchDomainLogPublishingOptions) String() string {
14526	return awsutil.Prettify(s)
14527}
14528
14529// GoString returns the string representation
14530func (s AwsElasticsearchDomainLogPublishingOptions) GoString() string {
14531	return s.String()
14532}
14533
14534// SetAuditLogs sets the AuditLogs field's value.
14535func (s *AwsElasticsearchDomainLogPublishingOptions) SetAuditLogs(v *AwsElasticsearchDomainLogPublishingOptionsLogConfig) *AwsElasticsearchDomainLogPublishingOptions {
14536	s.AuditLogs = v
14537	return s
14538}
14539
14540// SetIndexSlowLogs sets the IndexSlowLogs field's value.
14541func (s *AwsElasticsearchDomainLogPublishingOptions) SetIndexSlowLogs(v *AwsElasticsearchDomainLogPublishingOptionsLogConfig) *AwsElasticsearchDomainLogPublishingOptions {
14542	s.IndexSlowLogs = v
14543	return s
14544}
14545
14546// SetSearchSlowLogs sets the SearchSlowLogs field's value.
14547func (s *AwsElasticsearchDomainLogPublishingOptions) SetSearchSlowLogs(v *AwsElasticsearchDomainLogPublishingOptionsLogConfig) *AwsElasticsearchDomainLogPublishingOptions {
14548	s.SearchSlowLogs = v
14549	return s
14550}
14551
14552// The log configuration.
14553type AwsElasticsearchDomainLogPublishingOptionsLogConfig struct {
14554	_ struct{} `type:"structure"`
14555
14556	// The ARN of the CloudWatch Logs group to publish the logs to.
14557	CloudWatchLogsLogGroupArn *string `type:"string"`
14558
14559	// Whether the log publishing is enabled.
14560	Enabled *bool `type:"boolean"`
14561}
14562
14563// String returns the string representation
14564func (s AwsElasticsearchDomainLogPublishingOptionsLogConfig) String() string {
14565	return awsutil.Prettify(s)
14566}
14567
14568// GoString returns the string representation
14569func (s AwsElasticsearchDomainLogPublishingOptionsLogConfig) GoString() string {
14570	return s.String()
14571}
14572
14573// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
14574func (s *AwsElasticsearchDomainLogPublishingOptionsLogConfig) SetCloudWatchLogsLogGroupArn(v string) *AwsElasticsearchDomainLogPublishingOptionsLogConfig {
14575	s.CloudWatchLogsLogGroupArn = &v
14576	return s
14577}
14578
14579// SetEnabled sets the Enabled field's value.
14580func (s *AwsElasticsearchDomainLogPublishingOptionsLogConfig) SetEnabled(v bool) *AwsElasticsearchDomainLogPublishingOptionsLogConfig {
14581	s.Enabled = &v
14582	return s
14583}
14584
14585// Details about the configuration for node-to-node encryption.
14586type AwsElasticsearchDomainNodeToNodeEncryptionOptions struct {
14587	_ struct{} `type:"structure"`
14588
14589	// Whether node-to-node encryption is enabled.
14590	Enabled *bool `type:"boolean"`
14591}
14592
14593// String returns the string representation
14594func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) String() string {
14595	return awsutil.Prettify(s)
14596}
14597
14598// GoString returns the string representation
14599func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) GoString() string {
14600	return s.String()
14601}
14602
14603// SetEnabled sets the Enabled field's value.
14604func (s *AwsElasticsearchDomainNodeToNodeEncryptionOptions) SetEnabled(v bool) *AwsElasticsearchDomainNodeToNodeEncryptionOptions {
14605	s.Enabled = &v
14606	return s
14607}
14608
14609// Information about the state of the domain relative to the latest service
14610// software.
14611type AwsElasticsearchDomainServiceSoftwareOptions struct {
14612	_ struct{} `type:"structure"`
14613
14614	// The epoch time when the deployment window closes for required updates. After
14615	// this time, Amazon Elasticsearch Service schedules the software upgrade automatically.
14616	AutomatedUpdateDate *string `type:"string"`
14617
14618	// Whether a request to update the domain can be canceled.
14619	Cancellable *bool `type:"boolean"`
14620
14621	// The version of the service software that is currently installed on the domain.
14622	CurrentVersion *string `type:"string"`
14623
14624	// A more detailed description of the service software status.
14625	Description *string `type:"string"`
14626
14627	// The most recent version of the service software.
14628	NewVersion *string `type:"string"`
14629
14630	// Whether a service software update is available for the domain.
14631	UpdateAvailable *bool `type:"boolean"`
14632
14633	// The status of the service software update.
14634	UpdateStatus *string `type:"string"`
14635}
14636
14637// String returns the string representation
14638func (s AwsElasticsearchDomainServiceSoftwareOptions) String() string {
14639	return awsutil.Prettify(s)
14640}
14641
14642// GoString returns the string representation
14643func (s AwsElasticsearchDomainServiceSoftwareOptions) GoString() string {
14644	return s.String()
14645}
14646
14647// SetAutomatedUpdateDate sets the AutomatedUpdateDate field's value.
14648func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetAutomatedUpdateDate(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
14649	s.AutomatedUpdateDate = &v
14650	return s
14651}
14652
14653// SetCancellable sets the Cancellable field's value.
14654func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetCancellable(v bool) *AwsElasticsearchDomainServiceSoftwareOptions {
14655	s.Cancellable = &v
14656	return s
14657}
14658
14659// SetCurrentVersion sets the CurrentVersion field's value.
14660func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetCurrentVersion(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
14661	s.CurrentVersion = &v
14662	return s
14663}
14664
14665// SetDescription sets the Description field's value.
14666func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetDescription(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
14667	s.Description = &v
14668	return s
14669}
14670
14671// SetNewVersion sets the NewVersion field's value.
14672func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetNewVersion(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
14673	s.NewVersion = &v
14674	return s
14675}
14676
14677// SetUpdateAvailable sets the UpdateAvailable field's value.
14678func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetUpdateAvailable(v bool) *AwsElasticsearchDomainServiceSoftwareOptions {
14679	s.UpdateAvailable = &v
14680	return s
14681}
14682
14683// SetUpdateStatus sets the UpdateStatus field's value.
14684func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetUpdateStatus(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
14685	s.UpdateStatus = &v
14686	return s
14687}
14688
14689// Information that Elasticsearch derives based on VPCOptions for the domain.
14690type AwsElasticsearchDomainVPCOptions struct {
14691	_ struct{} `type:"structure"`
14692
14693	// The list of Availability Zones associated with the VPC subnets.
14694	AvailabilityZones []*string `type:"list"`
14695
14696	// The list of security group IDs associated with the VPC endpoints for the
14697	// domain.
14698	SecurityGroupIds []*string `type:"list"`
14699
14700	// A list of subnet IDs associated with the VPC endpoints for the domain.
14701	SubnetIds []*string `type:"list"`
14702
14703	// ID for the VPC.
14704	VPCId *string `type:"string"`
14705}
14706
14707// String returns the string representation
14708func (s AwsElasticsearchDomainVPCOptions) String() string {
14709	return awsutil.Prettify(s)
14710}
14711
14712// GoString returns the string representation
14713func (s AwsElasticsearchDomainVPCOptions) GoString() string {
14714	return s.String()
14715}
14716
14717// SetAvailabilityZones sets the AvailabilityZones field's value.
14718func (s *AwsElasticsearchDomainVPCOptions) SetAvailabilityZones(v []*string) *AwsElasticsearchDomainVPCOptions {
14719	s.AvailabilityZones = v
14720	return s
14721}
14722
14723// SetSecurityGroupIds sets the SecurityGroupIds field's value.
14724func (s *AwsElasticsearchDomainVPCOptions) SetSecurityGroupIds(v []*string) *AwsElasticsearchDomainVPCOptions {
14725	s.SecurityGroupIds = v
14726	return s
14727}
14728
14729// SetSubnetIds sets the SubnetIds field's value.
14730func (s *AwsElasticsearchDomainVPCOptions) SetSubnetIds(v []*string) *AwsElasticsearchDomainVPCOptions {
14731	s.SubnetIds = v
14732	return s
14733}
14734
14735// SetVPCId sets the VPCId field's value.
14736func (s *AwsElasticsearchDomainVPCOptions) SetVPCId(v string) *AwsElasticsearchDomainVPCOptions {
14737	s.VPCId = &v
14738	return s
14739}
14740
14741// Contains information about a stickiness policy that was created using CreateAppCookieStickinessPolicy.
14742type AwsElbAppCookieStickinessPolicy struct {
14743	_ struct{} `type:"structure"`
14744
14745	// The name of the application cookie used for stickiness.
14746	CookieName *string `type:"string"`
14747
14748	// The mnemonic name for the policy being created. The name must be unique within
14749	// the set of policies for the load balancer.
14750	PolicyName *string `type:"string"`
14751}
14752
14753// String returns the string representation
14754func (s AwsElbAppCookieStickinessPolicy) String() string {
14755	return awsutil.Prettify(s)
14756}
14757
14758// GoString returns the string representation
14759func (s AwsElbAppCookieStickinessPolicy) GoString() string {
14760	return s.String()
14761}
14762
14763// SetCookieName sets the CookieName field's value.
14764func (s *AwsElbAppCookieStickinessPolicy) SetCookieName(v string) *AwsElbAppCookieStickinessPolicy {
14765	s.CookieName = &v
14766	return s
14767}
14768
14769// SetPolicyName sets the PolicyName field's value.
14770func (s *AwsElbAppCookieStickinessPolicy) SetPolicyName(v string) *AwsElbAppCookieStickinessPolicy {
14771	s.PolicyName = &v
14772	return s
14773}
14774
14775// Contains information about a stickiness policy that was created using CreateLBCookieStickinessPolicy.
14776type AwsElbLbCookieStickinessPolicy struct {
14777	_ struct{} `type:"structure"`
14778
14779	// The amount of time, in seconds, after which the cookie is considered stale.
14780	// If an expiration period is not specified, the stickiness session lasts for
14781	// the duration of the browser session.
14782	CookieExpirationPeriod *int64 `type:"long"`
14783
14784	// The name of the policy. The name must be unique within the set of policies
14785	// for the load balancer.
14786	PolicyName *string `type:"string"`
14787}
14788
14789// String returns the string representation
14790func (s AwsElbLbCookieStickinessPolicy) String() string {
14791	return awsutil.Prettify(s)
14792}
14793
14794// GoString returns the string representation
14795func (s AwsElbLbCookieStickinessPolicy) GoString() string {
14796	return s.String()
14797}
14798
14799// SetCookieExpirationPeriod sets the CookieExpirationPeriod field's value.
14800func (s *AwsElbLbCookieStickinessPolicy) SetCookieExpirationPeriod(v int64) *AwsElbLbCookieStickinessPolicy {
14801	s.CookieExpirationPeriod = &v
14802	return s
14803}
14804
14805// SetPolicyName sets the PolicyName field's value.
14806func (s *AwsElbLbCookieStickinessPolicy) SetPolicyName(v string) *AwsElbLbCookieStickinessPolicy {
14807	s.PolicyName = &v
14808	return s
14809}
14810
14811// Contains information about the access log configuration for the load balancer.
14812type AwsElbLoadBalancerAccessLog struct {
14813	_ struct{} `type:"structure"`
14814
14815	// The interval in minutes for publishing the access logs.
14816	//
14817	// You can publish access logs either every 5 minutes or every 60 minutes.
14818	EmitInterval *int64 `type:"integer"`
14819
14820	// Indicates whether access logs are enabled for the load balancer.
14821	Enabled *bool `type:"boolean"`
14822
14823	// The name of the S3 bucket where the access logs are stored.
14824	S3BucketName *string `type:"string"`
14825
14826	// The logical hierarchy that was created for the S3 bucket.
14827	//
14828	// If a prefix is not provided, the log is placed at the root level of the bucket.
14829	S3BucketPrefix *string `type:"string"`
14830}
14831
14832// String returns the string representation
14833func (s AwsElbLoadBalancerAccessLog) String() string {
14834	return awsutil.Prettify(s)
14835}
14836
14837// GoString returns the string representation
14838func (s AwsElbLoadBalancerAccessLog) GoString() string {
14839	return s.String()
14840}
14841
14842// SetEmitInterval sets the EmitInterval field's value.
14843func (s *AwsElbLoadBalancerAccessLog) SetEmitInterval(v int64) *AwsElbLoadBalancerAccessLog {
14844	s.EmitInterval = &v
14845	return s
14846}
14847
14848// SetEnabled sets the Enabled field's value.
14849func (s *AwsElbLoadBalancerAccessLog) SetEnabled(v bool) *AwsElbLoadBalancerAccessLog {
14850	s.Enabled = &v
14851	return s
14852}
14853
14854// SetS3BucketName sets the S3BucketName field's value.
14855func (s *AwsElbLoadBalancerAccessLog) SetS3BucketName(v string) *AwsElbLoadBalancerAccessLog {
14856	s.S3BucketName = &v
14857	return s
14858}
14859
14860// SetS3BucketPrefix sets the S3BucketPrefix field's value.
14861func (s *AwsElbLoadBalancerAccessLog) SetS3BucketPrefix(v string) *AwsElbLoadBalancerAccessLog {
14862	s.S3BucketPrefix = &v
14863	return s
14864}
14865
14866// Contains attributes for the load balancer.
14867type AwsElbLoadBalancerAttributes struct {
14868	_ struct{} `type:"structure"`
14869
14870	// Information about the access log configuration for the load balancer.
14871	//
14872	// If the access log is enabled, the load balancer captures detailed information
14873	// about all requests. It delivers the information to a specified S3 bucket.
14874	AccessLog *AwsElbLoadBalancerAccessLog `type:"structure"`
14875
14876	// Information about the connection draining configuration for the load balancer.
14877	//
14878	// If connection draining is enabled, the load balancer allows existing requests
14879	// to complete before it shifts traffic away from a deregistered or unhealthy
14880	// instance.
14881	ConnectionDraining *AwsElbLoadBalancerConnectionDraining `type:"structure"`
14882
14883	// Connection settings for the load balancer.
14884	//
14885	// If an idle timeout is configured, the load balancer allows connections to
14886	// remain idle for the specified duration. When a connection is idle, no data
14887	// is sent over the connection.
14888	ConnectionSettings *AwsElbLoadBalancerConnectionSettings `type:"structure"`
14889
14890	// Cross-zone load balancing settings for the load balancer.
14891	//
14892	// If cross-zone load balancing is enabled, the load balancer routes the request
14893	// traffic evenly across all instances regardless of the Availability Zones.
14894	CrossZoneLoadBalancing *AwsElbLoadBalancerCrossZoneLoadBalancing `type:"structure"`
14895}
14896
14897// String returns the string representation
14898func (s AwsElbLoadBalancerAttributes) String() string {
14899	return awsutil.Prettify(s)
14900}
14901
14902// GoString returns the string representation
14903func (s AwsElbLoadBalancerAttributes) GoString() string {
14904	return s.String()
14905}
14906
14907// SetAccessLog sets the AccessLog field's value.
14908func (s *AwsElbLoadBalancerAttributes) SetAccessLog(v *AwsElbLoadBalancerAccessLog) *AwsElbLoadBalancerAttributes {
14909	s.AccessLog = v
14910	return s
14911}
14912
14913// SetConnectionDraining sets the ConnectionDraining field's value.
14914func (s *AwsElbLoadBalancerAttributes) SetConnectionDraining(v *AwsElbLoadBalancerConnectionDraining) *AwsElbLoadBalancerAttributes {
14915	s.ConnectionDraining = v
14916	return s
14917}
14918
14919// SetConnectionSettings sets the ConnectionSettings field's value.
14920func (s *AwsElbLoadBalancerAttributes) SetConnectionSettings(v *AwsElbLoadBalancerConnectionSettings) *AwsElbLoadBalancerAttributes {
14921	s.ConnectionSettings = v
14922	return s
14923}
14924
14925// SetCrossZoneLoadBalancing sets the CrossZoneLoadBalancing field's value.
14926func (s *AwsElbLoadBalancerAttributes) SetCrossZoneLoadBalancing(v *AwsElbLoadBalancerCrossZoneLoadBalancing) *AwsElbLoadBalancerAttributes {
14927	s.CrossZoneLoadBalancing = v
14928	return s
14929}
14930
14931// Provides information about the configuration of an EC2 instance for the load
14932// balancer.
14933type AwsElbLoadBalancerBackendServerDescription struct {
14934	_ struct{} `type:"structure"`
14935
14936	// The port on which the EC2 instance is listening.
14937	InstancePort *int64 `type:"integer"`
14938
14939	// The names of the policies that are enabled for the EC2 instance.
14940	PolicyNames []*string `type:"list"`
14941}
14942
14943// String returns the string representation
14944func (s AwsElbLoadBalancerBackendServerDescription) String() string {
14945	return awsutil.Prettify(s)
14946}
14947
14948// GoString returns the string representation
14949func (s AwsElbLoadBalancerBackendServerDescription) GoString() string {
14950	return s.String()
14951}
14952
14953// SetInstancePort sets the InstancePort field's value.
14954func (s *AwsElbLoadBalancerBackendServerDescription) SetInstancePort(v int64) *AwsElbLoadBalancerBackendServerDescription {
14955	s.InstancePort = &v
14956	return s
14957}
14958
14959// SetPolicyNames sets the PolicyNames field's value.
14960func (s *AwsElbLoadBalancerBackendServerDescription) SetPolicyNames(v []*string) *AwsElbLoadBalancerBackendServerDescription {
14961	s.PolicyNames = v
14962	return s
14963}
14964
14965// Contains information about the connection draining configuration for the
14966// load balancer.
14967type AwsElbLoadBalancerConnectionDraining struct {
14968	_ struct{} `type:"structure"`
14969
14970	// Indicates whether connection draining is enabled for the load balancer.
14971	Enabled *bool `type:"boolean"`
14972
14973	// The maximum time, in seconds, to keep the existing connections open before
14974	// deregistering the instances.
14975	Timeout *int64 `type:"integer"`
14976}
14977
14978// String returns the string representation
14979func (s AwsElbLoadBalancerConnectionDraining) String() string {
14980	return awsutil.Prettify(s)
14981}
14982
14983// GoString returns the string representation
14984func (s AwsElbLoadBalancerConnectionDraining) GoString() string {
14985	return s.String()
14986}
14987
14988// SetEnabled sets the Enabled field's value.
14989func (s *AwsElbLoadBalancerConnectionDraining) SetEnabled(v bool) *AwsElbLoadBalancerConnectionDraining {
14990	s.Enabled = &v
14991	return s
14992}
14993
14994// SetTimeout sets the Timeout field's value.
14995func (s *AwsElbLoadBalancerConnectionDraining) SetTimeout(v int64) *AwsElbLoadBalancerConnectionDraining {
14996	s.Timeout = &v
14997	return s
14998}
14999
15000// Contains connection settings for the load balancer.
15001type AwsElbLoadBalancerConnectionSettings struct {
15002	_ struct{} `type:"structure"`
15003
15004	// The time, in seconds, that the connection can be idle (no data is sent over
15005	// the connection) before it is closed by the load balancer.
15006	IdleTimeout *int64 `type:"integer"`
15007}
15008
15009// String returns the string representation
15010func (s AwsElbLoadBalancerConnectionSettings) String() string {
15011	return awsutil.Prettify(s)
15012}
15013
15014// GoString returns the string representation
15015func (s AwsElbLoadBalancerConnectionSettings) GoString() string {
15016	return s.String()
15017}
15018
15019// SetIdleTimeout sets the IdleTimeout field's value.
15020func (s *AwsElbLoadBalancerConnectionSettings) SetIdleTimeout(v int64) *AwsElbLoadBalancerConnectionSettings {
15021	s.IdleTimeout = &v
15022	return s
15023}
15024
15025// Contains cross-zone load balancing settings for the load balancer.
15026type AwsElbLoadBalancerCrossZoneLoadBalancing struct {
15027	_ struct{} `type:"structure"`
15028
15029	// Indicates whether cross-zone load balancing is enabled for the load balancer.
15030	Enabled *bool `type:"boolean"`
15031}
15032
15033// String returns the string representation
15034func (s AwsElbLoadBalancerCrossZoneLoadBalancing) String() string {
15035	return awsutil.Prettify(s)
15036}
15037
15038// GoString returns the string representation
15039func (s AwsElbLoadBalancerCrossZoneLoadBalancing) GoString() string {
15040	return s.String()
15041}
15042
15043// SetEnabled sets the Enabled field's value.
15044func (s *AwsElbLoadBalancerCrossZoneLoadBalancing) SetEnabled(v bool) *AwsElbLoadBalancerCrossZoneLoadBalancing {
15045	s.Enabled = &v
15046	return s
15047}
15048
15049// Contains details about a Classic Load Balancer.
15050type AwsElbLoadBalancerDetails struct {
15051	_ struct{} `type:"structure"`
15052
15053	// The list of Availability Zones for the load balancer.
15054	AvailabilityZones []*string `type:"list"`
15055
15056	// Information about the configuration of the EC2 instances.
15057	BackendServerDescriptions []*AwsElbLoadBalancerBackendServerDescription `type:"list"`
15058
15059	// The name of the Amazon Route 53 hosted zone for the load balancer.
15060	CanonicalHostedZoneName *string `type:"string"`
15061
15062	// The ID of the Amazon Route 53 hosted zone for the load balancer.
15063	CanonicalHostedZoneNameID *string `type:"string"`
15064
15065	// Indicates when the load balancer was created.
15066	//
15067	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15068	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15069	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15070	CreatedTime *string `type:"string"`
15071
15072	// The DNS name of the load balancer.
15073	DnsName *string `type:"string"`
15074
15075	// Information about the health checks that are conducted on the load balancer.
15076	HealthCheck *AwsElbLoadBalancerHealthCheck `type:"structure"`
15077
15078	// List of EC2 instances for the load balancer.
15079	Instances []*AwsElbLoadBalancerInstance `type:"list"`
15080
15081	// The policies that are enabled for the load balancer listeners.
15082	ListenerDescriptions []*AwsElbLoadBalancerListenerDescription `type:"list"`
15083
15084	// The attributes for a load balancer.
15085	LoadBalancerAttributes *AwsElbLoadBalancerAttributes `type:"structure"`
15086
15087	// The name of the load balancer.
15088	LoadBalancerName *string `type:"string"`
15089
15090	// The policies for a load balancer.
15091	Policies *AwsElbLoadBalancerPolicies `type:"structure"`
15092
15093	// The type of load balancer. Only provided if the load balancer is in a VPC.
15094	//
15095	// If Scheme is internet-facing, the load balancer has a public DNS name that
15096	// resolves to a public IP address.
15097	//
15098	// If Scheme is internal, the load balancer has a public DNS name that resolves
15099	// to a private IP address.
15100	Scheme *string `type:"string"`
15101
15102	// The security groups for the load balancer. Only provided if the load balancer
15103	// is in a VPC.
15104	SecurityGroups []*string `type:"list"`
15105
15106	// Information about the security group for the load balancer. This is the security
15107	// group that is used for inbound rules.
15108	SourceSecurityGroup *AwsElbLoadBalancerSourceSecurityGroup `type:"structure"`
15109
15110	// The list of subnet identifiers for the load balancer.
15111	Subnets []*string `type:"list"`
15112
15113	// The identifier of the VPC for the load balancer.
15114	VpcId *string `type:"string"`
15115}
15116
15117// String returns the string representation
15118func (s AwsElbLoadBalancerDetails) String() string {
15119	return awsutil.Prettify(s)
15120}
15121
15122// GoString returns the string representation
15123func (s AwsElbLoadBalancerDetails) GoString() string {
15124	return s.String()
15125}
15126
15127// SetAvailabilityZones sets the AvailabilityZones field's value.
15128func (s *AwsElbLoadBalancerDetails) SetAvailabilityZones(v []*string) *AwsElbLoadBalancerDetails {
15129	s.AvailabilityZones = v
15130	return s
15131}
15132
15133// SetBackendServerDescriptions sets the BackendServerDescriptions field's value.
15134func (s *AwsElbLoadBalancerDetails) SetBackendServerDescriptions(v []*AwsElbLoadBalancerBackendServerDescription) *AwsElbLoadBalancerDetails {
15135	s.BackendServerDescriptions = v
15136	return s
15137}
15138
15139// SetCanonicalHostedZoneName sets the CanonicalHostedZoneName field's value.
15140func (s *AwsElbLoadBalancerDetails) SetCanonicalHostedZoneName(v string) *AwsElbLoadBalancerDetails {
15141	s.CanonicalHostedZoneName = &v
15142	return s
15143}
15144
15145// SetCanonicalHostedZoneNameID sets the CanonicalHostedZoneNameID field's value.
15146func (s *AwsElbLoadBalancerDetails) SetCanonicalHostedZoneNameID(v string) *AwsElbLoadBalancerDetails {
15147	s.CanonicalHostedZoneNameID = &v
15148	return s
15149}
15150
15151// SetCreatedTime sets the CreatedTime field's value.
15152func (s *AwsElbLoadBalancerDetails) SetCreatedTime(v string) *AwsElbLoadBalancerDetails {
15153	s.CreatedTime = &v
15154	return s
15155}
15156
15157// SetDnsName sets the DnsName field's value.
15158func (s *AwsElbLoadBalancerDetails) SetDnsName(v string) *AwsElbLoadBalancerDetails {
15159	s.DnsName = &v
15160	return s
15161}
15162
15163// SetHealthCheck sets the HealthCheck field's value.
15164func (s *AwsElbLoadBalancerDetails) SetHealthCheck(v *AwsElbLoadBalancerHealthCheck) *AwsElbLoadBalancerDetails {
15165	s.HealthCheck = v
15166	return s
15167}
15168
15169// SetInstances sets the Instances field's value.
15170func (s *AwsElbLoadBalancerDetails) SetInstances(v []*AwsElbLoadBalancerInstance) *AwsElbLoadBalancerDetails {
15171	s.Instances = v
15172	return s
15173}
15174
15175// SetListenerDescriptions sets the ListenerDescriptions field's value.
15176func (s *AwsElbLoadBalancerDetails) SetListenerDescriptions(v []*AwsElbLoadBalancerListenerDescription) *AwsElbLoadBalancerDetails {
15177	s.ListenerDescriptions = v
15178	return s
15179}
15180
15181// SetLoadBalancerAttributes sets the LoadBalancerAttributes field's value.
15182func (s *AwsElbLoadBalancerDetails) SetLoadBalancerAttributes(v *AwsElbLoadBalancerAttributes) *AwsElbLoadBalancerDetails {
15183	s.LoadBalancerAttributes = v
15184	return s
15185}
15186
15187// SetLoadBalancerName sets the LoadBalancerName field's value.
15188func (s *AwsElbLoadBalancerDetails) SetLoadBalancerName(v string) *AwsElbLoadBalancerDetails {
15189	s.LoadBalancerName = &v
15190	return s
15191}
15192
15193// SetPolicies sets the Policies field's value.
15194func (s *AwsElbLoadBalancerDetails) SetPolicies(v *AwsElbLoadBalancerPolicies) *AwsElbLoadBalancerDetails {
15195	s.Policies = v
15196	return s
15197}
15198
15199// SetScheme sets the Scheme field's value.
15200func (s *AwsElbLoadBalancerDetails) SetScheme(v string) *AwsElbLoadBalancerDetails {
15201	s.Scheme = &v
15202	return s
15203}
15204
15205// SetSecurityGroups sets the SecurityGroups field's value.
15206func (s *AwsElbLoadBalancerDetails) SetSecurityGroups(v []*string) *AwsElbLoadBalancerDetails {
15207	s.SecurityGroups = v
15208	return s
15209}
15210
15211// SetSourceSecurityGroup sets the SourceSecurityGroup field's value.
15212func (s *AwsElbLoadBalancerDetails) SetSourceSecurityGroup(v *AwsElbLoadBalancerSourceSecurityGroup) *AwsElbLoadBalancerDetails {
15213	s.SourceSecurityGroup = v
15214	return s
15215}
15216
15217// SetSubnets sets the Subnets field's value.
15218func (s *AwsElbLoadBalancerDetails) SetSubnets(v []*string) *AwsElbLoadBalancerDetails {
15219	s.Subnets = v
15220	return s
15221}
15222
15223// SetVpcId sets the VpcId field's value.
15224func (s *AwsElbLoadBalancerDetails) SetVpcId(v string) *AwsElbLoadBalancerDetails {
15225	s.VpcId = &v
15226	return s
15227}
15228
15229// Contains information about the health checks that are conducted on the load
15230// balancer.
15231type AwsElbLoadBalancerHealthCheck struct {
15232	_ struct{} `type:"structure"`
15233
15234	// The number of consecutive health check successes required before the instance
15235	// is moved to the Healthy state.
15236	HealthyThreshold *int64 `type:"integer"`
15237
15238	// The approximate interval, in seconds, between health checks of an individual
15239	// instance.
15240	Interval *int64 `type:"integer"`
15241
15242	// The instance that is being checked. The target specifies the protocol and
15243	// port. The available protocols are TCP, SSL, HTTP, and HTTPS. The range of
15244	// valid ports is 1 through 65535.
15245	//
15246	// For the HTTP and HTTPS protocols, the target also specifies the ping path.
15247	//
15248	// For the TCP protocol, the target is specified as TCP: <port> .
15249	//
15250	// For the SSL protocol, the target is specified as SSL.<port> .
15251	//
15252	// For the HTTP and HTTPS protocols, the target is specified as <protocol>:<port>/<path
15253	// to ping> .
15254	Target *string `type:"string"`
15255
15256	// The amount of time, in seconds, during which no response means a failed health
15257	// check.
15258	Timeout *int64 `type:"integer"`
15259
15260	// The number of consecutive health check failures that must occur before the
15261	// instance is moved to the Unhealthy state.
15262	UnhealthyThreshold *int64 `type:"integer"`
15263}
15264
15265// String returns the string representation
15266func (s AwsElbLoadBalancerHealthCheck) String() string {
15267	return awsutil.Prettify(s)
15268}
15269
15270// GoString returns the string representation
15271func (s AwsElbLoadBalancerHealthCheck) GoString() string {
15272	return s.String()
15273}
15274
15275// SetHealthyThreshold sets the HealthyThreshold field's value.
15276func (s *AwsElbLoadBalancerHealthCheck) SetHealthyThreshold(v int64) *AwsElbLoadBalancerHealthCheck {
15277	s.HealthyThreshold = &v
15278	return s
15279}
15280
15281// SetInterval sets the Interval field's value.
15282func (s *AwsElbLoadBalancerHealthCheck) SetInterval(v int64) *AwsElbLoadBalancerHealthCheck {
15283	s.Interval = &v
15284	return s
15285}
15286
15287// SetTarget sets the Target field's value.
15288func (s *AwsElbLoadBalancerHealthCheck) SetTarget(v string) *AwsElbLoadBalancerHealthCheck {
15289	s.Target = &v
15290	return s
15291}
15292
15293// SetTimeout sets the Timeout field's value.
15294func (s *AwsElbLoadBalancerHealthCheck) SetTimeout(v int64) *AwsElbLoadBalancerHealthCheck {
15295	s.Timeout = &v
15296	return s
15297}
15298
15299// SetUnhealthyThreshold sets the UnhealthyThreshold field's value.
15300func (s *AwsElbLoadBalancerHealthCheck) SetUnhealthyThreshold(v int64) *AwsElbLoadBalancerHealthCheck {
15301	s.UnhealthyThreshold = &v
15302	return s
15303}
15304
15305// Provides information about an EC2 instance for a load balancer.
15306type AwsElbLoadBalancerInstance struct {
15307	_ struct{} `type:"structure"`
15308
15309	// The instance identifier.
15310	InstanceId *string `type:"string"`
15311}
15312
15313// String returns the string representation
15314func (s AwsElbLoadBalancerInstance) String() string {
15315	return awsutil.Prettify(s)
15316}
15317
15318// GoString returns the string representation
15319func (s AwsElbLoadBalancerInstance) GoString() string {
15320	return s.String()
15321}
15322
15323// SetInstanceId sets the InstanceId field's value.
15324func (s *AwsElbLoadBalancerInstance) SetInstanceId(v string) *AwsElbLoadBalancerInstance {
15325	s.InstanceId = &v
15326	return s
15327}
15328
15329// Information about a load balancer listener.
15330type AwsElbLoadBalancerListener struct {
15331	_ struct{} `type:"structure"`
15332
15333	// The port on which the instance is listening.
15334	InstancePort *int64 `type:"integer"`
15335
15336	// The protocol to use to route traffic to instances.
15337	//
15338	// Valid values: HTTP | HTTPS | TCP | SSL
15339	InstanceProtocol *string `type:"string"`
15340
15341	// The port on which the load balancer is listening.
15342	//
15343	// On EC2-VPC, you can specify any port from the range 1-65535.
15344	//
15345	// On EC2-Classic, you can specify any port from the following list: 25, 80,
15346	// 443, 465, 587, 1024-65535.
15347	LoadBalancerPort *int64 `type:"integer"`
15348
15349	// The load balancer transport protocol to use for routing.
15350	//
15351	// Valid values: HTTP | HTTPS | TCP | SSL
15352	Protocol *string `type:"string"`
15353
15354	// The ARN of the server certificate.
15355	SslCertificateId *string `type:"string"`
15356}
15357
15358// String returns the string representation
15359func (s AwsElbLoadBalancerListener) String() string {
15360	return awsutil.Prettify(s)
15361}
15362
15363// GoString returns the string representation
15364func (s AwsElbLoadBalancerListener) GoString() string {
15365	return s.String()
15366}
15367
15368// SetInstancePort sets the InstancePort field's value.
15369func (s *AwsElbLoadBalancerListener) SetInstancePort(v int64) *AwsElbLoadBalancerListener {
15370	s.InstancePort = &v
15371	return s
15372}
15373
15374// SetInstanceProtocol sets the InstanceProtocol field's value.
15375func (s *AwsElbLoadBalancerListener) SetInstanceProtocol(v string) *AwsElbLoadBalancerListener {
15376	s.InstanceProtocol = &v
15377	return s
15378}
15379
15380// SetLoadBalancerPort sets the LoadBalancerPort field's value.
15381func (s *AwsElbLoadBalancerListener) SetLoadBalancerPort(v int64) *AwsElbLoadBalancerListener {
15382	s.LoadBalancerPort = &v
15383	return s
15384}
15385
15386// SetProtocol sets the Protocol field's value.
15387func (s *AwsElbLoadBalancerListener) SetProtocol(v string) *AwsElbLoadBalancerListener {
15388	s.Protocol = &v
15389	return s
15390}
15391
15392// SetSslCertificateId sets the SslCertificateId field's value.
15393func (s *AwsElbLoadBalancerListener) SetSslCertificateId(v string) *AwsElbLoadBalancerListener {
15394	s.SslCertificateId = &v
15395	return s
15396}
15397
15398// Lists the policies that are enabled for a load balancer listener.
15399type AwsElbLoadBalancerListenerDescription struct {
15400	_ struct{} `type:"structure"`
15401
15402	// Information about the listener.
15403	Listener *AwsElbLoadBalancerListener `type:"structure"`
15404
15405	// The policies enabled for the listener.
15406	PolicyNames []*string `type:"list"`
15407}
15408
15409// String returns the string representation
15410func (s AwsElbLoadBalancerListenerDescription) String() string {
15411	return awsutil.Prettify(s)
15412}
15413
15414// GoString returns the string representation
15415func (s AwsElbLoadBalancerListenerDescription) GoString() string {
15416	return s.String()
15417}
15418
15419// SetListener sets the Listener field's value.
15420func (s *AwsElbLoadBalancerListenerDescription) SetListener(v *AwsElbLoadBalancerListener) *AwsElbLoadBalancerListenerDescription {
15421	s.Listener = v
15422	return s
15423}
15424
15425// SetPolicyNames sets the PolicyNames field's value.
15426func (s *AwsElbLoadBalancerListenerDescription) SetPolicyNames(v []*string) *AwsElbLoadBalancerListenerDescription {
15427	s.PolicyNames = v
15428	return s
15429}
15430
15431// Contains information about the policies for a load balancer.
15432type AwsElbLoadBalancerPolicies struct {
15433	_ struct{} `type:"structure"`
15434
15435	// The stickiness policies that are created using CreateAppCookieStickinessPolicy.
15436	AppCookieStickinessPolicies []*AwsElbAppCookieStickinessPolicy `type:"list"`
15437
15438	// The stickiness policies that are created using CreateLBCookieStickinessPolicy.
15439	LbCookieStickinessPolicies []*AwsElbLbCookieStickinessPolicy `type:"list"`
15440
15441	// The policies other than the stickiness policies.
15442	OtherPolicies []*string `type:"list"`
15443}
15444
15445// String returns the string representation
15446func (s AwsElbLoadBalancerPolicies) String() string {
15447	return awsutil.Prettify(s)
15448}
15449
15450// GoString returns the string representation
15451func (s AwsElbLoadBalancerPolicies) GoString() string {
15452	return s.String()
15453}
15454
15455// SetAppCookieStickinessPolicies sets the AppCookieStickinessPolicies field's value.
15456func (s *AwsElbLoadBalancerPolicies) SetAppCookieStickinessPolicies(v []*AwsElbAppCookieStickinessPolicy) *AwsElbLoadBalancerPolicies {
15457	s.AppCookieStickinessPolicies = v
15458	return s
15459}
15460
15461// SetLbCookieStickinessPolicies sets the LbCookieStickinessPolicies field's value.
15462func (s *AwsElbLoadBalancerPolicies) SetLbCookieStickinessPolicies(v []*AwsElbLbCookieStickinessPolicy) *AwsElbLoadBalancerPolicies {
15463	s.LbCookieStickinessPolicies = v
15464	return s
15465}
15466
15467// SetOtherPolicies sets the OtherPolicies field's value.
15468func (s *AwsElbLoadBalancerPolicies) SetOtherPolicies(v []*string) *AwsElbLoadBalancerPolicies {
15469	s.OtherPolicies = v
15470	return s
15471}
15472
15473// Contains information about the security group for the load balancer.
15474type AwsElbLoadBalancerSourceSecurityGroup struct {
15475	_ struct{} `type:"structure"`
15476
15477	// The name of the security group.
15478	GroupName *string `type:"string"`
15479
15480	// The owner of the security group.
15481	OwnerAlias *string `type:"string"`
15482}
15483
15484// String returns the string representation
15485func (s AwsElbLoadBalancerSourceSecurityGroup) String() string {
15486	return awsutil.Prettify(s)
15487}
15488
15489// GoString returns the string representation
15490func (s AwsElbLoadBalancerSourceSecurityGroup) GoString() string {
15491	return s.String()
15492}
15493
15494// SetGroupName sets the GroupName field's value.
15495func (s *AwsElbLoadBalancerSourceSecurityGroup) SetGroupName(v string) *AwsElbLoadBalancerSourceSecurityGroup {
15496	s.GroupName = &v
15497	return s
15498}
15499
15500// SetOwnerAlias sets the OwnerAlias field's value.
15501func (s *AwsElbLoadBalancerSourceSecurityGroup) SetOwnerAlias(v string) *AwsElbLoadBalancerSourceSecurityGroup {
15502	s.OwnerAlias = &v
15503	return s
15504}
15505
15506// Information about a load balancer.
15507type AwsElbv2LoadBalancerDetails struct {
15508	_ struct{} `type:"structure"`
15509
15510	// The Availability Zones for the load balancer.
15511	AvailabilityZones []*AvailabilityZone `type:"list"`
15512
15513	// The ID of the Amazon Route 53 hosted zone associated with the load balancer.
15514	CanonicalHostedZoneId *string `type:"string"`
15515
15516	// Indicates when the load balancer was created.
15517	//
15518	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15519	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15520	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15521	CreatedTime *string `type:"string"`
15522
15523	// The public DNS name of the load balancer.
15524	DNSName *string `type:"string"`
15525
15526	// The type of IP addresses used by the subnets for your load balancer. The
15527	// possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and
15528	// IPv6 addresses).
15529	IpAddressType *string `type:"string"`
15530
15531	// The nodes of an Internet-facing load balancer have public IP addresses.
15532	Scheme *string `type:"string"`
15533
15534	// The IDs of the security groups for the load balancer.
15535	SecurityGroups []*string `type:"list"`
15536
15537	// The state of the load balancer.
15538	State *LoadBalancerState `type:"structure"`
15539
15540	// The type of load balancer.
15541	Type *string `type:"string"`
15542
15543	// The ID of the VPC for the load balancer.
15544	VpcId *string `type:"string"`
15545}
15546
15547// String returns the string representation
15548func (s AwsElbv2LoadBalancerDetails) String() string {
15549	return awsutil.Prettify(s)
15550}
15551
15552// GoString returns the string representation
15553func (s AwsElbv2LoadBalancerDetails) GoString() string {
15554	return s.String()
15555}
15556
15557// SetAvailabilityZones sets the AvailabilityZones field's value.
15558func (s *AwsElbv2LoadBalancerDetails) SetAvailabilityZones(v []*AvailabilityZone) *AwsElbv2LoadBalancerDetails {
15559	s.AvailabilityZones = v
15560	return s
15561}
15562
15563// SetCanonicalHostedZoneId sets the CanonicalHostedZoneId field's value.
15564func (s *AwsElbv2LoadBalancerDetails) SetCanonicalHostedZoneId(v string) *AwsElbv2LoadBalancerDetails {
15565	s.CanonicalHostedZoneId = &v
15566	return s
15567}
15568
15569// SetCreatedTime sets the CreatedTime field's value.
15570func (s *AwsElbv2LoadBalancerDetails) SetCreatedTime(v string) *AwsElbv2LoadBalancerDetails {
15571	s.CreatedTime = &v
15572	return s
15573}
15574
15575// SetDNSName sets the DNSName field's value.
15576func (s *AwsElbv2LoadBalancerDetails) SetDNSName(v string) *AwsElbv2LoadBalancerDetails {
15577	s.DNSName = &v
15578	return s
15579}
15580
15581// SetIpAddressType sets the IpAddressType field's value.
15582func (s *AwsElbv2LoadBalancerDetails) SetIpAddressType(v string) *AwsElbv2LoadBalancerDetails {
15583	s.IpAddressType = &v
15584	return s
15585}
15586
15587// SetScheme sets the Scheme field's value.
15588func (s *AwsElbv2LoadBalancerDetails) SetScheme(v string) *AwsElbv2LoadBalancerDetails {
15589	s.Scheme = &v
15590	return s
15591}
15592
15593// SetSecurityGroups sets the SecurityGroups field's value.
15594func (s *AwsElbv2LoadBalancerDetails) SetSecurityGroups(v []*string) *AwsElbv2LoadBalancerDetails {
15595	s.SecurityGroups = v
15596	return s
15597}
15598
15599// SetState sets the State field's value.
15600func (s *AwsElbv2LoadBalancerDetails) SetState(v *LoadBalancerState) *AwsElbv2LoadBalancerDetails {
15601	s.State = v
15602	return s
15603}
15604
15605// SetType sets the Type field's value.
15606func (s *AwsElbv2LoadBalancerDetails) SetType(v string) *AwsElbv2LoadBalancerDetails {
15607	s.Type = &v
15608	return s
15609}
15610
15611// SetVpcId sets the VpcId field's value.
15612func (s *AwsElbv2LoadBalancerDetails) SetVpcId(v string) *AwsElbv2LoadBalancerDetails {
15613	s.VpcId = &v
15614	return s
15615}
15616
15617// IAM access key details related to a finding.
15618type AwsIamAccessKeyDetails struct {
15619	_ struct{} `type:"structure"`
15620
15621	// The identifier of the access key.
15622	AccessKeyId *string `type:"string"`
15623
15624	// The Amazon Web Services account ID of the account for the key.
15625	AccountId *string `type:"string"`
15626
15627	// Indicates when the IAM access key was created.
15628	//
15629	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15630	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15631	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15632	CreatedAt *string `type:"string"`
15633
15634	// The ID of the principal associated with an access key.
15635	PrincipalId *string `type:"string"`
15636
15637	// The name of the principal.
15638	PrincipalName *string `type:"string"`
15639
15640	// The type of principal associated with an access key.
15641	PrincipalType *string `type:"string"`
15642
15643	// Information about the session that the key was used for.
15644	SessionContext *AwsIamAccessKeySessionContext `type:"structure"`
15645
15646	// The status of the IAM access key related to a finding.
15647	Status *string `type:"string" enum:"AwsIamAccessKeyStatus"`
15648
15649	// The user associated with the IAM access key related to a finding.
15650	//
15651	// The UserName parameter has been replaced with the PrincipalName parameter
15652	// because access keys can also be assigned to principals that are not IAM users.
15653	//
15654	// Deprecated: This filter is deprecated. Instead, use PrincipalName.
15655	UserName *string `deprecated:"true" type:"string"`
15656}
15657
15658// String returns the string representation
15659func (s AwsIamAccessKeyDetails) String() string {
15660	return awsutil.Prettify(s)
15661}
15662
15663// GoString returns the string representation
15664func (s AwsIamAccessKeyDetails) GoString() string {
15665	return s.String()
15666}
15667
15668// SetAccessKeyId sets the AccessKeyId field's value.
15669func (s *AwsIamAccessKeyDetails) SetAccessKeyId(v string) *AwsIamAccessKeyDetails {
15670	s.AccessKeyId = &v
15671	return s
15672}
15673
15674// SetAccountId sets the AccountId field's value.
15675func (s *AwsIamAccessKeyDetails) SetAccountId(v string) *AwsIamAccessKeyDetails {
15676	s.AccountId = &v
15677	return s
15678}
15679
15680// SetCreatedAt sets the CreatedAt field's value.
15681func (s *AwsIamAccessKeyDetails) SetCreatedAt(v string) *AwsIamAccessKeyDetails {
15682	s.CreatedAt = &v
15683	return s
15684}
15685
15686// SetPrincipalId sets the PrincipalId field's value.
15687func (s *AwsIamAccessKeyDetails) SetPrincipalId(v string) *AwsIamAccessKeyDetails {
15688	s.PrincipalId = &v
15689	return s
15690}
15691
15692// SetPrincipalName sets the PrincipalName field's value.
15693func (s *AwsIamAccessKeyDetails) SetPrincipalName(v string) *AwsIamAccessKeyDetails {
15694	s.PrincipalName = &v
15695	return s
15696}
15697
15698// SetPrincipalType sets the PrincipalType field's value.
15699func (s *AwsIamAccessKeyDetails) SetPrincipalType(v string) *AwsIamAccessKeyDetails {
15700	s.PrincipalType = &v
15701	return s
15702}
15703
15704// SetSessionContext sets the SessionContext field's value.
15705func (s *AwsIamAccessKeyDetails) SetSessionContext(v *AwsIamAccessKeySessionContext) *AwsIamAccessKeyDetails {
15706	s.SessionContext = v
15707	return s
15708}
15709
15710// SetStatus sets the Status field's value.
15711func (s *AwsIamAccessKeyDetails) SetStatus(v string) *AwsIamAccessKeyDetails {
15712	s.Status = &v
15713	return s
15714}
15715
15716// SetUserName sets the UserName field's value.
15717func (s *AwsIamAccessKeyDetails) SetUserName(v string) *AwsIamAccessKeyDetails {
15718	s.UserName = &v
15719	return s
15720}
15721
15722// Provides information about the session that the key was used for.
15723type AwsIamAccessKeySessionContext struct {
15724	_ struct{} `type:"structure"`
15725
15726	// Attributes of the session that the key was used for.
15727	Attributes *AwsIamAccessKeySessionContextAttributes `type:"structure"`
15728
15729	// Information about the entity that created the session.
15730	SessionIssuer *AwsIamAccessKeySessionContextSessionIssuer `type:"structure"`
15731}
15732
15733// String returns the string representation
15734func (s AwsIamAccessKeySessionContext) String() string {
15735	return awsutil.Prettify(s)
15736}
15737
15738// GoString returns the string representation
15739func (s AwsIamAccessKeySessionContext) GoString() string {
15740	return s.String()
15741}
15742
15743// SetAttributes sets the Attributes field's value.
15744func (s *AwsIamAccessKeySessionContext) SetAttributes(v *AwsIamAccessKeySessionContextAttributes) *AwsIamAccessKeySessionContext {
15745	s.Attributes = v
15746	return s
15747}
15748
15749// SetSessionIssuer sets the SessionIssuer field's value.
15750func (s *AwsIamAccessKeySessionContext) SetSessionIssuer(v *AwsIamAccessKeySessionContextSessionIssuer) *AwsIamAccessKeySessionContext {
15751	s.SessionIssuer = v
15752	return s
15753}
15754
15755// Attributes of the session that the key was used for.
15756type AwsIamAccessKeySessionContextAttributes struct {
15757	_ struct{} `type:"structure"`
15758
15759	// Indicates when the session was created.
15760	//
15761	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15762	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15763	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15764	CreationDate *string `type:"string"`
15765
15766	// Indicates whether the session used multi-factor authentication (MFA).
15767	MfaAuthenticated *bool `type:"boolean"`
15768}
15769
15770// String returns the string representation
15771func (s AwsIamAccessKeySessionContextAttributes) String() string {
15772	return awsutil.Prettify(s)
15773}
15774
15775// GoString returns the string representation
15776func (s AwsIamAccessKeySessionContextAttributes) GoString() string {
15777	return s.String()
15778}
15779
15780// SetCreationDate sets the CreationDate field's value.
15781func (s *AwsIamAccessKeySessionContextAttributes) SetCreationDate(v string) *AwsIamAccessKeySessionContextAttributes {
15782	s.CreationDate = &v
15783	return s
15784}
15785
15786// SetMfaAuthenticated sets the MfaAuthenticated field's value.
15787func (s *AwsIamAccessKeySessionContextAttributes) SetMfaAuthenticated(v bool) *AwsIamAccessKeySessionContextAttributes {
15788	s.MfaAuthenticated = &v
15789	return s
15790}
15791
15792// Information about the entity that created the session.
15793type AwsIamAccessKeySessionContextSessionIssuer struct {
15794	_ struct{} `type:"structure"`
15795
15796	// The identifier of the Amazon Web Services account that created the session.
15797	AccountId *string `type:"string"`
15798
15799	// The ARN of the session.
15800	Arn *string `type:"string"`
15801
15802	// The principal ID of the principal (user, role, or group) that created the
15803	// session.
15804	PrincipalId *string `type:"string"`
15805
15806	// The type of principal (user, role, or group) that created the session.
15807	Type *string `type:"string"`
15808
15809	// The name of the principal that created the session.
15810	UserName *string `type:"string"`
15811}
15812
15813// String returns the string representation
15814func (s AwsIamAccessKeySessionContextSessionIssuer) String() string {
15815	return awsutil.Prettify(s)
15816}
15817
15818// GoString returns the string representation
15819func (s AwsIamAccessKeySessionContextSessionIssuer) GoString() string {
15820	return s.String()
15821}
15822
15823// SetAccountId sets the AccountId field's value.
15824func (s *AwsIamAccessKeySessionContextSessionIssuer) SetAccountId(v string) *AwsIamAccessKeySessionContextSessionIssuer {
15825	s.AccountId = &v
15826	return s
15827}
15828
15829// SetArn sets the Arn field's value.
15830func (s *AwsIamAccessKeySessionContextSessionIssuer) SetArn(v string) *AwsIamAccessKeySessionContextSessionIssuer {
15831	s.Arn = &v
15832	return s
15833}
15834
15835// SetPrincipalId sets the PrincipalId field's value.
15836func (s *AwsIamAccessKeySessionContextSessionIssuer) SetPrincipalId(v string) *AwsIamAccessKeySessionContextSessionIssuer {
15837	s.PrincipalId = &v
15838	return s
15839}
15840
15841// SetType sets the Type field's value.
15842func (s *AwsIamAccessKeySessionContextSessionIssuer) SetType(v string) *AwsIamAccessKeySessionContextSessionIssuer {
15843	s.Type = &v
15844	return s
15845}
15846
15847// SetUserName sets the UserName field's value.
15848func (s *AwsIamAccessKeySessionContextSessionIssuer) SetUserName(v string) *AwsIamAccessKeySessionContextSessionIssuer {
15849	s.UserName = &v
15850	return s
15851}
15852
15853// A managed policy that is attached to an IAM principal.
15854type AwsIamAttachedManagedPolicy struct {
15855	_ struct{} `type:"structure"`
15856
15857	// The ARN of the policy.
15858	PolicyArn *string `type:"string"`
15859
15860	// The name of the policy.
15861	PolicyName *string `type:"string"`
15862}
15863
15864// String returns the string representation
15865func (s AwsIamAttachedManagedPolicy) String() string {
15866	return awsutil.Prettify(s)
15867}
15868
15869// GoString returns the string representation
15870func (s AwsIamAttachedManagedPolicy) GoString() string {
15871	return s.String()
15872}
15873
15874// SetPolicyArn sets the PolicyArn field's value.
15875func (s *AwsIamAttachedManagedPolicy) SetPolicyArn(v string) *AwsIamAttachedManagedPolicy {
15876	s.PolicyArn = &v
15877	return s
15878}
15879
15880// SetPolicyName sets the PolicyName field's value.
15881func (s *AwsIamAttachedManagedPolicy) SetPolicyName(v string) *AwsIamAttachedManagedPolicy {
15882	s.PolicyName = &v
15883	return s
15884}
15885
15886// Contains details about an IAM group.
15887type AwsIamGroupDetails struct {
15888	_ struct{} `type:"structure"`
15889
15890	// A list of the managed policies that are attached to the IAM group.
15891	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
15892
15893	// Indicates when the IAM group was created.
15894	//
15895	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15896	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15897	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15898	CreateDate *string `type:"string"`
15899
15900	// The identifier of the IAM group.
15901	GroupId *string `type:"string"`
15902
15903	// The name of the IAM group.
15904	GroupName *string `type:"string"`
15905
15906	// The list of inline policies that are embedded in the group.
15907	GroupPolicyList []*AwsIamGroupPolicy `type:"list"`
15908
15909	// The path to the group.
15910	Path *string `type:"string"`
15911}
15912
15913// String returns the string representation
15914func (s AwsIamGroupDetails) String() string {
15915	return awsutil.Prettify(s)
15916}
15917
15918// GoString returns the string representation
15919func (s AwsIamGroupDetails) GoString() string {
15920	return s.String()
15921}
15922
15923// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
15924func (s *AwsIamGroupDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamGroupDetails {
15925	s.AttachedManagedPolicies = v
15926	return s
15927}
15928
15929// SetCreateDate sets the CreateDate field's value.
15930func (s *AwsIamGroupDetails) SetCreateDate(v string) *AwsIamGroupDetails {
15931	s.CreateDate = &v
15932	return s
15933}
15934
15935// SetGroupId sets the GroupId field's value.
15936func (s *AwsIamGroupDetails) SetGroupId(v string) *AwsIamGroupDetails {
15937	s.GroupId = &v
15938	return s
15939}
15940
15941// SetGroupName sets the GroupName field's value.
15942func (s *AwsIamGroupDetails) SetGroupName(v string) *AwsIamGroupDetails {
15943	s.GroupName = &v
15944	return s
15945}
15946
15947// SetGroupPolicyList sets the GroupPolicyList field's value.
15948func (s *AwsIamGroupDetails) SetGroupPolicyList(v []*AwsIamGroupPolicy) *AwsIamGroupDetails {
15949	s.GroupPolicyList = v
15950	return s
15951}
15952
15953// SetPath sets the Path field's value.
15954func (s *AwsIamGroupDetails) SetPath(v string) *AwsIamGroupDetails {
15955	s.Path = &v
15956	return s
15957}
15958
15959// A managed policy that is attached to the IAM group.
15960type AwsIamGroupPolicy struct {
15961	_ struct{} `type:"structure"`
15962
15963	// The name of the policy.
15964	PolicyName *string `type:"string"`
15965}
15966
15967// String returns the string representation
15968func (s AwsIamGroupPolicy) String() string {
15969	return awsutil.Prettify(s)
15970}
15971
15972// GoString returns the string representation
15973func (s AwsIamGroupPolicy) GoString() string {
15974	return s.String()
15975}
15976
15977// SetPolicyName sets the PolicyName field's value.
15978func (s *AwsIamGroupPolicy) SetPolicyName(v string) *AwsIamGroupPolicy {
15979	s.PolicyName = &v
15980	return s
15981}
15982
15983// Information about an instance profile.
15984type AwsIamInstanceProfile struct {
15985	_ struct{} `type:"structure"`
15986
15987	// The ARN of the instance profile.
15988	Arn *string `type:"string"`
15989
15990	// Indicates when the instance profile was created.
15991	//
15992	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15993	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15994	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15995	CreateDate *string `type:"string"`
15996
15997	// The identifier of the instance profile.
15998	InstanceProfileId *string `type:"string"`
15999
16000	// The name of the instance profile.
16001	InstanceProfileName *string `type:"string"`
16002
16003	// The path to the instance profile.
16004	Path *string `type:"string"`
16005
16006	// The roles associated with the instance profile.
16007	Roles []*AwsIamInstanceProfileRole `type:"list"`
16008}
16009
16010// String returns the string representation
16011func (s AwsIamInstanceProfile) String() string {
16012	return awsutil.Prettify(s)
16013}
16014
16015// GoString returns the string representation
16016func (s AwsIamInstanceProfile) GoString() string {
16017	return s.String()
16018}
16019
16020// Validate inspects the fields of the type to determine if they are valid.
16021func (s *AwsIamInstanceProfile) Validate() error {
16022	invalidParams := request.ErrInvalidParams{Context: "AwsIamInstanceProfile"}
16023	if s.Roles != nil {
16024		for i, v := range s.Roles {
16025			if v == nil {
16026				continue
16027			}
16028			if err := v.Validate(); err != nil {
16029				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Roles", i), err.(request.ErrInvalidParams))
16030			}
16031		}
16032	}
16033
16034	if invalidParams.Len() > 0 {
16035		return invalidParams
16036	}
16037	return nil
16038}
16039
16040// SetArn sets the Arn field's value.
16041func (s *AwsIamInstanceProfile) SetArn(v string) *AwsIamInstanceProfile {
16042	s.Arn = &v
16043	return s
16044}
16045
16046// SetCreateDate sets the CreateDate field's value.
16047func (s *AwsIamInstanceProfile) SetCreateDate(v string) *AwsIamInstanceProfile {
16048	s.CreateDate = &v
16049	return s
16050}
16051
16052// SetInstanceProfileId sets the InstanceProfileId field's value.
16053func (s *AwsIamInstanceProfile) SetInstanceProfileId(v string) *AwsIamInstanceProfile {
16054	s.InstanceProfileId = &v
16055	return s
16056}
16057
16058// SetInstanceProfileName sets the InstanceProfileName field's value.
16059func (s *AwsIamInstanceProfile) SetInstanceProfileName(v string) *AwsIamInstanceProfile {
16060	s.InstanceProfileName = &v
16061	return s
16062}
16063
16064// SetPath sets the Path field's value.
16065func (s *AwsIamInstanceProfile) SetPath(v string) *AwsIamInstanceProfile {
16066	s.Path = &v
16067	return s
16068}
16069
16070// SetRoles sets the Roles field's value.
16071func (s *AwsIamInstanceProfile) SetRoles(v []*AwsIamInstanceProfileRole) *AwsIamInstanceProfile {
16072	s.Roles = v
16073	return s
16074}
16075
16076// Information about a role associated with an instance profile.
16077type AwsIamInstanceProfileRole struct {
16078	_ struct{} `type:"structure"`
16079
16080	// The ARN of the role.
16081	Arn *string `type:"string"`
16082
16083	// The policy that grants an entity permission to assume the role.
16084	AssumeRolePolicyDocument *string `min:"1" type:"string"`
16085
16086	// Indicates when the role was created.
16087	//
16088	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16089	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16090	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16091	CreateDate *string `type:"string"`
16092
16093	// The path to the role.
16094	Path *string `type:"string"`
16095
16096	// The identifier of the role.
16097	RoleId *string `type:"string"`
16098
16099	// The name of the role.
16100	RoleName *string `type:"string"`
16101}
16102
16103// String returns the string representation
16104func (s AwsIamInstanceProfileRole) String() string {
16105	return awsutil.Prettify(s)
16106}
16107
16108// GoString returns the string representation
16109func (s AwsIamInstanceProfileRole) GoString() string {
16110	return s.String()
16111}
16112
16113// Validate inspects the fields of the type to determine if they are valid.
16114func (s *AwsIamInstanceProfileRole) Validate() error {
16115	invalidParams := request.ErrInvalidParams{Context: "AwsIamInstanceProfileRole"}
16116	if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 {
16117		invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1))
16118	}
16119
16120	if invalidParams.Len() > 0 {
16121		return invalidParams
16122	}
16123	return nil
16124}
16125
16126// SetArn sets the Arn field's value.
16127func (s *AwsIamInstanceProfileRole) SetArn(v string) *AwsIamInstanceProfileRole {
16128	s.Arn = &v
16129	return s
16130}
16131
16132// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value.
16133func (s *AwsIamInstanceProfileRole) SetAssumeRolePolicyDocument(v string) *AwsIamInstanceProfileRole {
16134	s.AssumeRolePolicyDocument = &v
16135	return s
16136}
16137
16138// SetCreateDate sets the CreateDate field's value.
16139func (s *AwsIamInstanceProfileRole) SetCreateDate(v string) *AwsIamInstanceProfileRole {
16140	s.CreateDate = &v
16141	return s
16142}
16143
16144// SetPath sets the Path field's value.
16145func (s *AwsIamInstanceProfileRole) SetPath(v string) *AwsIamInstanceProfileRole {
16146	s.Path = &v
16147	return s
16148}
16149
16150// SetRoleId sets the RoleId field's value.
16151func (s *AwsIamInstanceProfileRole) SetRoleId(v string) *AwsIamInstanceProfileRole {
16152	s.RoleId = &v
16153	return s
16154}
16155
16156// SetRoleName sets the RoleName field's value.
16157func (s *AwsIamInstanceProfileRole) SetRoleName(v string) *AwsIamInstanceProfileRole {
16158	s.RoleName = &v
16159	return s
16160}
16161
16162// Information about the policy used to set the permissions boundary for an
16163// IAM principal.
16164type AwsIamPermissionsBoundary struct {
16165	_ struct{} `type:"structure"`
16166
16167	// The ARN of the policy used to set the permissions boundary.
16168	PermissionsBoundaryArn *string `type:"string"`
16169
16170	// The usage type for the permissions boundary.
16171	PermissionsBoundaryType *string `type:"string"`
16172}
16173
16174// String returns the string representation
16175func (s AwsIamPermissionsBoundary) String() string {
16176	return awsutil.Prettify(s)
16177}
16178
16179// GoString returns the string representation
16180func (s AwsIamPermissionsBoundary) GoString() string {
16181	return s.String()
16182}
16183
16184// SetPermissionsBoundaryArn sets the PermissionsBoundaryArn field's value.
16185func (s *AwsIamPermissionsBoundary) SetPermissionsBoundaryArn(v string) *AwsIamPermissionsBoundary {
16186	s.PermissionsBoundaryArn = &v
16187	return s
16188}
16189
16190// SetPermissionsBoundaryType sets the PermissionsBoundaryType field's value.
16191func (s *AwsIamPermissionsBoundary) SetPermissionsBoundaryType(v string) *AwsIamPermissionsBoundary {
16192	s.PermissionsBoundaryType = &v
16193	return s
16194}
16195
16196// Represents an IAM permissions policy.
16197type AwsIamPolicyDetails struct {
16198	_ struct{} `type:"structure"`
16199
16200	// The number of users, groups, and roles that the policy is attached to.
16201	AttachmentCount *int64 `type:"integer"`
16202
16203	// When the policy was created.
16204	//
16205	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16206	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16207	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16208	CreateDate *string `type:"string"`
16209
16210	// The identifier of the default version of the policy.
16211	DefaultVersionId *string `type:"string"`
16212
16213	// A description of the policy.
16214	Description *string `type:"string"`
16215
16216	// Whether the policy can be attached to a user, group, or role.
16217	IsAttachable *bool `type:"boolean"`
16218
16219	// The path to the policy.
16220	Path *string `type:"string"`
16221
16222	// The number of users and roles that use the policy to set the permissions
16223	// boundary.
16224	PermissionsBoundaryUsageCount *int64 `type:"integer"`
16225
16226	// The unique identifier of the policy.
16227	PolicyId *string `type:"string"`
16228
16229	// The name of the policy.
16230	PolicyName *string `type:"string"`
16231
16232	// List of versions of the policy.
16233	PolicyVersionList []*AwsIamPolicyVersion `type:"list"`
16234
16235	// When the policy was most recently updated.
16236	//
16237	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16238	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16239	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16240	UpdateDate *string `type:"string"`
16241}
16242
16243// String returns the string representation
16244func (s AwsIamPolicyDetails) String() string {
16245	return awsutil.Prettify(s)
16246}
16247
16248// GoString returns the string representation
16249func (s AwsIamPolicyDetails) GoString() string {
16250	return s.String()
16251}
16252
16253// SetAttachmentCount sets the AttachmentCount field's value.
16254func (s *AwsIamPolicyDetails) SetAttachmentCount(v int64) *AwsIamPolicyDetails {
16255	s.AttachmentCount = &v
16256	return s
16257}
16258
16259// SetCreateDate sets the CreateDate field's value.
16260func (s *AwsIamPolicyDetails) SetCreateDate(v string) *AwsIamPolicyDetails {
16261	s.CreateDate = &v
16262	return s
16263}
16264
16265// SetDefaultVersionId sets the DefaultVersionId field's value.
16266func (s *AwsIamPolicyDetails) SetDefaultVersionId(v string) *AwsIamPolicyDetails {
16267	s.DefaultVersionId = &v
16268	return s
16269}
16270
16271// SetDescription sets the Description field's value.
16272func (s *AwsIamPolicyDetails) SetDescription(v string) *AwsIamPolicyDetails {
16273	s.Description = &v
16274	return s
16275}
16276
16277// SetIsAttachable sets the IsAttachable field's value.
16278func (s *AwsIamPolicyDetails) SetIsAttachable(v bool) *AwsIamPolicyDetails {
16279	s.IsAttachable = &v
16280	return s
16281}
16282
16283// SetPath sets the Path field's value.
16284func (s *AwsIamPolicyDetails) SetPath(v string) *AwsIamPolicyDetails {
16285	s.Path = &v
16286	return s
16287}
16288
16289// SetPermissionsBoundaryUsageCount sets the PermissionsBoundaryUsageCount field's value.
16290func (s *AwsIamPolicyDetails) SetPermissionsBoundaryUsageCount(v int64) *AwsIamPolicyDetails {
16291	s.PermissionsBoundaryUsageCount = &v
16292	return s
16293}
16294
16295// SetPolicyId sets the PolicyId field's value.
16296func (s *AwsIamPolicyDetails) SetPolicyId(v string) *AwsIamPolicyDetails {
16297	s.PolicyId = &v
16298	return s
16299}
16300
16301// SetPolicyName sets the PolicyName field's value.
16302func (s *AwsIamPolicyDetails) SetPolicyName(v string) *AwsIamPolicyDetails {
16303	s.PolicyName = &v
16304	return s
16305}
16306
16307// SetPolicyVersionList sets the PolicyVersionList field's value.
16308func (s *AwsIamPolicyDetails) SetPolicyVersionList(v []*AwsIamPolicyVersion) *AwsIamPolicyDetails {
16309	s.PolicyVersionList = v
16310	return s
16311}
16312
16313// SetUpdateDate sets the UpdateDate field's value.
16314func (s *AwsIamPolicyDetails) SetUpdateDate(v string) *AwsIamPolicyDetails {
16315	s.UpdateDate = &v
16316	return s
16317}
16318
16319// A version of an IAM policy.
16320type AwsIamPolicyVersion struct {
16321	_ struct{} `type:"structure"`
16322
16323	// Indicates when the version was created.
16324	//
16325	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16326	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16327	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16328	CreateDate *string `type:"string"`
16329
16330	// Whether the version is the default version.
16331	IsDefaultVersion *bool `type:"boolean"`
16332
16333	// The identifier of the policy version.
16334	VersionId *string `type:"string"`
16335}
16336
16337// String returns the string representation
16338func (s AwsIamPolicyVersion) String() string {
16339	return awsutil.Prettify(s)
16340}
16341
16342// GoString returns the string representation
16343func (s AwsIamPolicyVersion) GoString() string {
16344	return s.String()
16345}
16346
16347// SetCreateDate sets the CreateDate field's value.
16348func (s *AwsIamPolicyVersion) SetCreateDate(v string) *AwsIamPolicyVersion {
16349	s.CreateDate = &v
16350	return s
16351}
16352
16353// SetIsDefaultVersion sets the IsDefaultVersion field's value.
16354func (s *AwsIamPolicyVersion) SetIsDefaultVersion(v bool) *AwsIamPolicyVersion {
16355	s.IsDefaultVersion = &v
16356	return s
16357}
16358
16359// SetVersionId sets the VersionId field's value.
16360func (s *AwsIamPolicyVersion) SetVersionId(v string) *AwsIamPolicyVersion {
16361	s.VersionId = &v
16362	return s
16363}
16364
16365// Contains information about an IAM role, including all of the role's policies.
16366type AwsIamRoleDetails struct {
16367	_ struct{} `type:"structure"`
16368
16369	// The trust policy that grants permission to assume the role.
16370	AssumeRolePolicyDocument *string `min:"1" type:"string"`
16371
16372	// The list of the managed policies that are attached to the role.
16373	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
16374
16375	// Indicates when the role was created.
16376	//
16377	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16378	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16379	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16380	CreateDate *string `type:"string"`
16381
16382	// The list of instance profiles that contain this role.
16383	InstanceProfileList []*AwsIamInstanceProfile `type:"list"`
16384
16385	// The maximum session duration (in seconds) that you want to set for the specified
16386	// role.
16387	MaxSessionDuration *int64 `type:"integer"`
16388
16389	// The path to the role.
16390	Path *string `type:"string"`
16391
16392	// Information about the policy used to set the permissions boundary for an
16393	// IAM principal.
16394	PermissionsBoundary *AwsIamPermissionsBoundary `type:"structure"`
16395
16396	// The stable and unique string identifying the role.
16397	RoleId *string `type:"string"`
16398
16399	// The friendly name that identifies the role.
16400	RoleName *string `type:"string"`
16401
16402	// The list of inline policies that are embedded in the role.
16403	RolePolicyList []*AwsIamRolePolicy `type:"list"`
16404}
16405
16406// String returns the string representation
16407func (s AwsIamRoleDetails) String() string {
16408	return awsutil.Prettify(s)
16409}
16410
16411// GoString returns the string representation
16412func (s AwsIamRoleDetails) GoString() string {
16413	return s.String()
16414}
16415
16416// Validate inspects the fields of the type to determine if they are valid.
16417func (s *AwsIamRoleDetails) Validate() error {
16418	invalidParams := request.ErrInvalidParams{Context: "AwsIamRoleDetails"}
16419	if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 {
16420		invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1))
16421	}
16422	if s.InstanceProfileList != nil {
16423		for i, v := range s.InstanceProfileList {
16424			if v == nil {
16425				continue
16426			}
16427			if err := v.Validate(); err != nil {
16428				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceProfileList", i), err.(request.ErrInvalidParams))
16429			}
16430		}
16431	}
16432
16433	if invalidParams.Len() > 0 {
16434		return invalidParams
16435	}
16436	return nil
16437}
16438
16439// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value.
16440func (s *AwsIamRoleDetails) SetAssumeRolePolicyDocument(v string) *AwsIamRoleDetails {
16441	s.AssumeRolePolicyDocument = &v
16442	return s
16443}
16444
16445// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
16446func (s *AwsIamRoleDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamRoleDetails {
16447	s.AttachedManagedPolicies = v
16448	return s
16449}
16450
16451// SetCreateDate sets the CreateDate field's value.
16452func (s *AwsIamRoleDetails) SetCreateDate(v string) *AwsIamRoleDetails {
16453	s.CreateDate = &v
16454	return s
16455}
16456
16457// SetInstanceProfileList sets the InstanceProfileList field's value.
16458func (s *AwsIamRoleDetails) SetInstanceProfileList(v []*AwsIamInstanceProfile) *AwsIamRoleDetails {
16459	s.InstanceProfileList = v
16460	return s
16461}
16462
16463// SetMaxSessionDuration sets the MaxSessionDuration field's value.
16464func (s *AwsIamRoleDetails) SetMaxSessionDuration(v int64) *AwsIamRoleDetails {
16465	s.MaxSessionDuration = &v
16466	return s
16467}
16468
16469// SetPath sets the Path field's value.
16470func (s *AwsIamRoleDetails) SetPath(v string) *AwsIamRoleDetails {
16471	s.Path = &v
16472	return s
16473}
16474
16475// SetPermissionsBoundary sets the PermissionsBoundary field's value.
16476func (s *AwsIamRoleDetails) SetPermissionsBoundary(v *AwsIamPermissionsBoundary) *AwsIamRoleDetails {
16477	s.PermissionsBoundary = v
16478	return s
16479}
16480
16481// SetRoleId sets the RoleId field's value.
16482func (s *AwsIamRoleDetails) SetRoleId(v string) *AwsIamRoleDetails {
16483	s.RoleId = &v
16484	return s
16485}
16486
16487// SetRoleName sets the RoleName field's value.
16488func (s *AwsIamRoleDetails) SetRoleName(v string) *AwsIamRoleDetails {
16489	s.RoleName = &v
16490	return s
16491}
16492
16493// SetRolePolicyList sets the RolePolicyList field's value.
16494func (s *AwsIamRoleDetails) SetRolePolicyList(v []*AwsIamRolePolicy) *AwsIamRoleDetails {
16495	s.RolePolicyList = v
16496	return s
16497}
16498
16499// An inline policy that is embedded in the role.
16500type AwsIamRolePolicy struct {
16501	_ struct{} `type:"structure"`
16502
16503	// The name of the policy.
16504	PolicyName *string `type:"string"`
16505}
16506
16507// String returns the string representation
16508func (s AwsIamRolePolicy) String() string {
16509	return awsutil.Prettify(s)
16510}
16511
16512// GoString returns the string representation
16513func (s AwsIamRolePolicy) GoString() string {
16514	return s.String()
16515}
16516
16517// SetPolicyName sets the PolicyName field's value.
16518func (s *AwsIamRolePolicy) SetPolicyName(v string) *AwsIamRolePolicy {
16519	s.PolicyName = &v
16520	return s
16521}
16522
16523// Information about an IAM user.
16524type AwsIamUserDetails struct {
16525	_ struct{} `type:"structure"`
16526
16527	// A list of the managed policies that are attached to the user.
16528	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
16529
16530	// Indicates when the user was created.
16531	//
16532	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16533	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16534	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16535	CreateDate *string `type:"string"`
16536
16537	// A list of IAM groups that the user belongs to.
16538	GroupList []*string `type:"list"`
16539
16540	// The path to the user.
16541	Path *string `type:"string"`
16542
16543	// The permissions boundary for the user.
16544	PermissionsBoundary *AwsIamPermissionsBoundary `type:"structure"`
16545
16546	// The unique identifier for the user.
16547	UserId *string `type:"string"`
16548
16549	// The name of the user.
16550	UserName *string `type:"string"`
16551
16552	// The list of inline policies that are embedded in the user.
16553	UserPolicyList []*AwsIamUserPolicy `type:"list"`
16554}
16555
16556// String returns the string representation
16557func (s AwsIamUserDetails) String() string {
16558	return awsutil.Prettify(s)
16559}
16560
16561// GoString returns the string representation
16562func (s AwsIamUserDetails) GoString() string {
16563	return s.String()
16564}
16565
16566// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
16567func (s *AwsIamUserDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamUserDetails {
16568	s.AttachedManagedPolicies = v
16569	return s
16570}
16571
16572// SetCreateDate sets the CreateDate field's value.
16573func (s *AwsIamUserDetails) SetCreateDate(v string) *AwsIamUserDetails {
16574	s.CreateDate = &v
16575	return s
16576}
16577
16578// SetGroupList sets the GroupList field's value.
16579func (s *AwsIamUserDetails) SetGroupList(v []*string) *AwsIamUserDetails {
16580	s.GroupList = v
16581	return s
16582}
16583
16584// SetPath sets the Path field's value.
16585func (s *AwsIamUserDetails) SetPath(v string) *AwsIamUserDetails {
16586	s.Path = &v
16587	return s
16588}
16589
16590// SetPermissionsBoundary sets the PermissionsBoundary field's value.
16591func (s *AwsIamUserDetails) SetPermissionsBoundary(v *AwsIamPermissionsBoundary) *AwsIamUserDetails {
16592	s.PermissionsBoundary = v
16593	return s
16594}
16595
16596// SetUserId sets the UserId field's value.
16597func (s *AwsIamUserDetails) SetUserId(v string) *AwsIamUserDetails {
16598	s.UserId = &v
16599	return s
16600}
16601
16602// SetUserName sets the UserName field's value.
16603func (s *AwsIamUserDetails) SetUserName(v string) *AwsIamUserDetails {
16604	s.UserName = &v
16605	return s
16606}
16607
16608// SetUserPolicyList sets the UserPolicyList field's value.
16609func (s *AwsIamUserDetails) SetUserPolicyList(v []*AwsIamUserPolicy) *AwsIamUserDetails {
16610	s.UserPolicyList = v
16611	return s
16612}
16613
16614// Information about an inline policy that is embedded in the user.
16615type AwsIamUserPolicy struct {
16616	_ struct{} `type:"structure"`
16617
16618	// The name of the policy.
16619	PolicyName *string `type:"string"`
16620}
16621
16622// String returns the string representation
16623func (s AwsIamUserPolicy) String() string {
16624	return awsutil.Prettify(s)
16625}
16626
16627// GoString returns the string representation
16628func (s AwsIamUserPolicy) GoString() string {
16629	return s.String()
16630}
16631
16632// SetPolicyName sets the PolicyName field's value.
16633func (s *AwsIamUserPolicy) SetPolicyName(v string) *AwsIamUserPolicy {
16634	s.PolicyName = &v
16635	return s
16636}
16637
16638// Contains metadata about a customer master key (CMK).
16639type AwsKmsKeyDetails struct {
16640	_ struct{} `type:"structure"`
16641
16642	// The twelve-digit account ID of the Amazon Web Services account that owns
16643	// the CMK.
16644	AWSAccountId *string `type:"string"`
16645
16646	// Indicates when the CMK was created.
16647	//
16648	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16649	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16650	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16651	CreationDate *float64 `type:"double"`
16652
16653	// A description of the key.
16654	Description *string `type:"string"`
16655
16656	// The globally unique identifier for the CMK.
16657	KeyId *string `type:"string"`
16658
16659	// The manager of the CMK. CMKs in your Amazon Web Services account are either
16660	// customer managed or Amazon Web Services managed.
16661	KeyManager *string `type:"string"`
16662
16663	// The state of the CMK.
16664	KeyState *string `type:"string"`
16665
16666	// The source of the CMK's key material.
16667	//
16668	// When this value is AWS_KMS, KMS created the key material.
16669	//
16670	// When this value is EXTERNAL, the key material was imported from your existing
16671	// key management infrastructure or the CMK lacks key material.
16672	//
16673	// When this value is AWS_CLOUDHSM, the key material was created in the CloudHSM
16674	// cluster associated with a custom key store.
16675	Origin *string `type:"string"`
16676}
16677
16678// String returns the string representation
16679func (s AwsKmsKeyDetails) String() string {
16680	return awsutil.Prettify(s)
16681}
16682
16683// GoString returns the string representation
16684func (s AwsKmsKeyDetails) GoString() string {
16685	return s.String()
16686}
16687
16688// SetAWSAccountId sets the AWSAccountId field's value.
16689func (s *AwsKmsKeyDetails) SetAWSAccountId(v string) *AwsKmsKeyDetails {
16690	s.AWSAccountId = &v
16691	return s
16692}
16693
16694// SetCreationDate sets the CreationDate field's value.
16695func (s *AwsKmsKeyDetails) SetCreationDate(v float64) *AwsKmsKeyDetails {
16696	s.CreationDate = &v
16697	return s
16698}
16699
16700// SetDescription sets the Description field's value.
16701func (s *AwsKmsKeyDetails) SetDescription(v string) *AwsKmsKeyDetails {
16702	s.Description = &v
16703	return s
16704}
16705
16706// SetKeyId sets the KeyId field's value.
16707func (s *AwsKmsKeyDetails) SetKeyId(v string) *AwsKmsKeyDetails {
16708	s.KeyId = &v
16709	return s
16710}
16711
16712// SetKeyManager sets the KeyManager field's value.
16713func (s *AwsKmsKeyDetails) SetKeyManager(v string) *AwsKmsKeyDetails {
16714	s.KeyManager = &v
16715	return s
16716}
16717
16718// SetKeyState sets the KeyState field's value.
16719func (s *AwsKmsKeyDetails) SetKeyState(v string) *AwsKmsKeyDetails {
16720	s.KeyState = &v
16721	return s
16722}
16723
16724// SetOrigin sets the Origin field's value.
16725func (s *AwsKmsKeyDetails) SetOrigin(v string) *AwsKmsKeyDetails {
16726	s.Origin = &v
16727	return s
16728}
16729
16730// The code for the Lambda function. You can specify either an object in Amazon
16731// S3, or upload a deployment package directly.
16732type AwsLambdaFunctionCode struct {
16733	_ struct{} `type:"structure"`
16734
16735	// An Amazon S3 bucket in the same Amazon Web Services Region as your function.
16736	// The bucket can be in a different Amazon Web Services account.
16737	S3Bucket *string `type:"string"`
16738
16739	// The Amazon S3 key of the deployment package.
16740	S3Key *string `type:"string"`
16741
16742	// For versioned objects, the version of the deployment package object to use.
16743	S3ObjectVersion *string `type:"string"`
16744
16745	// The base64-encoded contents of the deployment package. Amazon Web Services
16746	// SDK and Amazon Web Services CLI clients handle the encoding for you.
16747	ZipFile *string `type:"string"`
16748}
16749
16750// String returns the string representation
16751func (s AwsLambdaFunctionCode) String() string {
16752	return awsutil.Prettify(s)
16753}
16754
16755// GoString returns the string representation
16756func (s AwsLambdaFunctionCode) GoString() string {
16757	return s.String()
16758}
16759
16760// SetS3Bucket sets the S3Bucket field's value.
16761func (s *AwsLambdaFunctionCode) SetS3Bucket(v string) *AwsLambdaFunctionCode {
16762	s.S3Bucket = &v
16763	return s
16764}
16765
16766// SetS3Key sets the S3Key field's value.
16767func (s *AwsLambdaFunctionCode) SetS3Key(v string) *AwsLambdaFunctionCode {
16768	s.S3Key = &v
16769	return s
16770}
16771
16772// SetS3ObjectVersion sets the S3ObjectVersion field's value.
16773func (s *AwsLambdaFunctionCode) SetS3ObjectVersion(v string) *AwsLambdaFunctionCode {
16774	s.S3ObjectVersion = &v
16775	return s
16776}
16777
16778// SetZipFile sets the ZipFile field's value.
16779func (s *AwsLambdaFunctionCode) SetZipFile(v string) *AwsLambdaFunctionCode {
16780	s.ZipFile = &v
16781	return s
16782}
16783
16784// The dead-letter queue for failed asynchronous invocations.
16785type AwsLambdaFunctionDeadLetterConfig struct {
16786	_ struct{} `type:"structure"`
16787
16788	// The ARN of an SQS queue or SNS topic.
16789	TargetArn *string `type:"string"`
16790}
16791
16792// String returns the string representation
16793func (s AwsLambdaFunctionDeadLetterConfig) String() string {
16794	return awsutil.Prettify(s)
16795}
16796
16797// GoString returns the string representation
16798func (s AwsLambdaFunctionDeadLetterConfig) GoString() string {
16799	return s.String()
16800}
16801
16802// SetTargetArn sets the TargetArn field's value.
16803func (s *AwsLambdaFunctionDeadLetterConfig) SetTargetArn(v string) *AwsLambdaFunctionDeadLetterConfig {
16804	s.TargetArn = &v
16805	return s
16806}
16807
16808// Details about a function's configuration.
16809type AwsLambdaFunctionDetails struct {
16810	_ struct{} `type:"structure"`
16811
16812	// An AwsLambdaFunctionCode object.
16813	Code *AwsLambdaFunctionCode `type:"structure"`
16814
16815	// The SHA256 hash of the function's deployment package.
16816	CodeSha256 *string `type:"string"`
16817
16818	// The function's dead letter queue.
16819	DeadLetterConfig *AwsLambdaFunctionDeadLetterConfig `type:"structure"`
16820
16821	// The function's environment variables.
16822	Environment *AwsLambdaFunctionEnvironment `type:"structure"`
16823
16824	// The name of the function.
16825	FunctionName *string `type:"string"`
16826
16827	// The function that Lambda calls to begin executing your function.
16828	Handler *string `type:"string"`
16829
16830	// The KMS key that is used to encrypt the function's environment variables.
16831	// This key is only returned if you've configured a customer managed CMK.
16832	KmsKeyArn *string `type:"string"`
16833
16834	// Indicates when the function was last updated.
16835	//
16836	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16837	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16838	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16839	LastModified *string `type:"string"`
16840
16841	// The function's layers.
16842	Layers []*AwsLambdaFunctionLayer `type:"list"`
16843
16844	// For Lambda@Edge functions, the ARN of the master function.
16845	MasterArn *string `type:"string"`
16846
16847	// The memory that is allocated to the function.
16848	MemorySize *int64 `type:"integer"`
16849
16850	// The latest updated revision of the function or alias.
16851	RevisionId *string `type:"string"`
16852
16853	// The function's execution role.
16854	Role *string `type:"string"`
16855
16856	// The runtime environment for the Lambda function.
16857	Runtime *string `type:"string"`
16858
16859	// The amount of time that Lambda allows a function to run before stopping it.
16860	Timeout *int64 `type:"integer"`
16861
16862	// The function's X-Ray tracing configuration.
16863	TracingConfig *AwsLambdaFunctionTracingConfig `type:"structure"`
16864
16865	// The version of the Lambda function.
16866	Version *string `type:"string"`
16867
16868	// The function's networking configuration.
16869	VpcConfig *AwsLambdaFunctionVpcConfig `type:"structure"`
16870}
16871
16872// String returns the string representation
16873func (s AwsLambdaFunctionDetails) String() string {
16874	return awsutil.Prettify(s)
16875}
16876
16877// GoString returns the string representation
16878func (s AwsLambdaFunctionDetails) GoString() string {
16879	return s.String()
16880}
16881
16882// SetCode sets the Code field's value.
16883func (s *AwsLambdaFunctionDetails) SetCode(v *AwsLambdaFunctionCode) *AwsLambdaFunctionDetails {
16884	s.Code = v
16885	return s
16886}
16887
16888// SetCodeSha256 sets the CodeSha256 field's value.
16889func (s *AwsLambdaFunctionDetails) SetCodeSha256(v string) *AwsLambdaFunctionDetails {
16890	s.CodeSha256 = &v
16891	return s
16892}
16893
16894// SetDeadLetterConfig sets the DeadLetterConfig field's value.
16895func (s *AwsLambdaFunctionDetails) SetDeadLetterConfig(v *AwsLambdaFunctionDeadLetterConfig) *AwsLambdaFunctionDetails {
16896	s.DeadLetterConfig = v
16897	return s
16898}
16899
16900// SetEnvironment sets the Environment field's value.
16901func (s *AwsLambdaFunctionDetails) SetEnvironment(v *AwsLambdaFunctionEnvironment) *AwsLambdaFunctionDetails {
16902	s.Environment = v
16903	return s
16904}
16905
16906// SetFunctionName sets the FunctionName field's value.
16907func (s *AwsLambdaFunctionDetails) SetFunctionName(v string) *AwsLambdaFunctionDetails {
16908	s.FunctionName = &v
16909	return s
16910}
16911
16912// SetHandler sets the Handler field's value.
16913func (s *AwsLambdaFunctionDetails) SetHandler(v string) *AwsLambdaFunctionDetails {
16914	s.Handler = &v
16915	return s
16916}
16917
16918// SetKmsKeyArn sets the KmsKeyArn field's value.
16919func (s *AwsLambdaFunctionDetails) SetKmsKeyArn(v string) *AwsLambdaFunctionDetails {
16920	s.KmsKeyArn = &v
16921	return s
16922}
16923
16924// SetLastModified sets the LastModified field's value.
16925func (s *AwsLambdaFunctionDetails) SetLastModified(v string) *AwsLambdaFunctionDetails {
16926	s.LastModified = &v
16927	return s
16928}
16929
16930// SetLayers sets the Layers field's value.
16931func (s *AwsLambdaFunctionDetails) SetLayers(v []*AwsLambdaFunctionLayer) *AwsLambdaFunctionDetails {
16932	s.Layers = v
16933	return s
16934}
16935
16936// SetMasterArn sets the MasterArn field's value.
16937func (s *AwsLambdaFunctionDetails) SetMasterArn(v string) *AwsLambdaFunctionDetails {
16938	s.MasterArn = &v
16939	return s
16940}
16941
16942// SetMemorySize sets the MemorySize field's value.
16943func (s *AwsLambdaFunctionDetails) SetMemorySize(v int64) *AwsLambdaFunctionDetails {
16944	s.MemorySize = &v
16945	return s
16946}
16947
16948// SetRevisionId sets the RevisionId field's value.
16949func (s *AwsLambdaFunctionDetails) SetRevisionId(v string) *AwsLambdaFunctionDetails {
16950	s.RevisionId = &v
16951	return s
16952}
16953
16954// SetRole sets the Role field's value.
16955func (s *AwsLambdaFunctionDetails) SetRole(v string) *AwsLambdaFunctionDetails {
16956	s.Role = &v
16957	return s
16958}
16959
16960// SetRuntime sets the Runtime field's value.
16961func (s *AwsLambdaFunctionDetails) SetRuntime(v string) *AwsLambdaFunctionDetails {
16962	s.Runtime = &v
16963	return s
16964}
16965
16966// SetTimeout sets the Timeout field's value.
16967func (s *AwsLambdaFunctionDetails) SetTimeout(v int64) *AwsLambdaFunctionDetails {
16968	s.Timeout = &v
16969	return s
16970}
16971
16972// SetTracingConfig sets the TracingConfig field's value.
16973func (s *AwsLambdaFunctionDetails) SetTracingConfig(v *AwsLambdaFunctionTracingConfig) *AwsLambdaFunctionDetails {
16974	s.TracingConfig = v
16975	return s
16976}
16977
16978// SetVersion sets the Version field's value.
16979func (s *AwsLambdaFunctionDetails) SetVersion(v string) *AwsLambdaFunctionDetails {
16980	s.Version = &v
16981	return s
16982}
16983
16984// SetVpcConfig sets the VpcConfig field's value.
16985func (s *AwsLambdaFunctionDetails) SetVpcConfig(v *AwsLambdaFunctionVpcConfig) *AwsLambdaFunctionDetails {
16986	s.VpcConfig = v
16987	return s
16988}
16989
16990// A function's environment variable settings.
16991type AwsLambdaFunctionEnvironment struct {
16992	_ struct{} `type:"structure"`
16993
16994	// An AwsLambdaFunctionEnvironmentError object.
16995	Error *AwsLambdaFunctionEnvironmentError `type:"structure"`
16996
16997	// Environment variable key-value pairs.
16998	Variables map[string]*string `type:"map"`
16999}
17000
17001// String returns the string representation
17002func (s AwsLambdaFunctionEnvironment) String() string {
17003	return awsutil.Prettify(s)
17004}
17005
17006// GoString returns the string representation
17007func (s AwsLambdaFunctionEnvironment) GoString() string {
17008	return s.String()
17009}
17010
17011// SetError sets the Error field's value.
17012func (s *AwsLambdaFunctionEnvironment) SetError(v *AwsLambdaFunctionEnvironmentError) *AwsLambdaFunctionEnvironment {
17013	s.Error = v
17014	return s
17015}
17016
17017// SetVariables sets the Variables field's value.
17018func (s *AwsLambdaFunctionEnvironment) SetVariables(v map[string]*string) *AwsLambdaFunctionEnvironment {
17019	s.Variables = v
17020	return s
17021}
17022
17023// Error messages for environment variables that could not be applied.
17024type AwsLambdaFunctionEnvironmentError struct {
17025	_ struct{} `type:"structure"`
17026
17027	// The error code.
17028	ErrorCode *string `type:"string"`
17029
17030	// The error message.
17031	Message *string `type:"string"`
17032}
17033
17034// String returns the string representation
17035func (s AwsLambdaFunctionEnvironmentError) String() string {
17036	return awsutil.Prettify(s)
17037}
17038
17039// GoString returns the string representation
17040func (s AwsLambdaFunctionEnvironmentError) GoString() string {
17041	return s.String()
17042}
17043
17044// SetErrorCode sets the ErrorCode field's value.
17045func (s *AwsLambdaFunctionEnvironmentError) SetErrorCode(v string) *AwsLambdaFunctionEnvironmentError {
17046	s.ErrorCode = &v
17047	return s
17048}
17049
17050// SetMessage sets the Message field's value.
17051func (s *AwsLambdaFunctionEnvironmentError) SetMessage(v string) *AwsLambdaFunctionEnvironmentError {
17052	s.Message = &v
17053	return s
17054}
17055
17056// An Lambda layer.
17057type AwsLambdaFunctionLayer struct {
17058	_ struct{} `type:"structure"`
17059
17060	// The ARN of the function layer.
17061	Arn *string `type:"string"`
17062
17063	// The size of the layer archive in bytes.
17064	CodeSize *int64 `type:"integer"`
17065}
17066
17067// String returns the string representation
17068func (s AwsLambdaFunctionLayer) String() string {
17069	return awsutil.Prettify(s)
17070}
17071
17072// GoString returns the string representation
17073func (s AwsLambdaFunctionLayer) GoString() string {
17074	return s.String()
17075}
17076
17077// SetArn sets the Arn field's value.
17078func (s *AwsLambdaFunctionLayer) SetArn(v string) *AwsLambdaFunctionLayer {
17079	s.Arn = &v
17080	return s
17081}
17082
17083// SetCodeSize sets the CodeSize field's value.
17084func (s *AwsLambdaFunctionLayer) SetCodeSize(v int64) *AwsLambdaFunctionLayer {
17085	s.CodeSize = &v
17086	return s
17087}
17088
17089// The function's X-Ray tracing configuration.
17090type AwsLambdaFunctionTracingConfig struct {
17091	_ struct{} `type:"structure"`
17092
17093	// The tracing mode.
17094	Mode *string `type:"string"`
17095}
17096
17097// String returns the string representation
17098func (s AwsLambdaFunctionTracingConfig) String() string {
17099	return awsutil.Prettify(s)
17100}
17101
17102// GoString returns the string representation
17103func (s AwsLambdaFunctionTracingConfig) GoString() string {
17104	return s.String()
17105}
17106
17107// SetMode sets the Mode field's value.
17108func (s *AwsLambdaFunctionTracingConfig) SetMode(v string) *AwsLambdaFunctionTracingConfig {
17109	s.Mode = &v
17110	return s
17111}
17112
17113// The VPC security groups and subnets that are attached to a Lambda function.
17114type AwsLambdaFunctionVpcConfig struct {
17115	_ struct{} `type:"structure"`
17116
17117	// A list of VPC security groups IDs.
17118	SecurityGroupIds []*string `type:"list"`
17119
17120	// A list of VPC subnet IDs.
17121	SubnetIds []*string `type:"list"`
17122
17123	// The ID of the VPC.
17124	VpcId *string `type:"string"`
17125}
17126
17127// String returns the string representation
17128func (s AwsLambdaFunctionVpcConfig) String() string {
17129	return awsutil.Prettify(s)
17130}
17131
17132// GoString returns the string representation
17133func (s AwsLambdaFunctionVpcConfig) GoString() string {
17134	return s.String()
17135}
17136
17137// SetSecurityGroupIds sets the SecurityGroupIds field's value.
17138func (s *AwsLambdaFunctionVpcConfig) SetSecurityGroupIds(v []*string) *AwsLambdaFunctionVpcConfig {
17139	s.SecurityGroupIds = v
17140	return s
17141}
17142
17143// SetSubnetIds sets the SubnetIds field's value.
17144func (s *AwsLambdaFunctionVpcConfig) SetSubnetIds(v []*string) *AwsLambdaFunctionVpcConfig {
17145	s.SubnetIds = v
17146	return s
17147}
17148
17149// SetVpcId sets the VpcId field's value.
17150func (s *AwsLambdaFunctionVpcConfig) SetVpcId(v string) *AwsLambdaFunctionVpcConfig {
17151	s.VpcId = &v
17152	return s
17153}
17154
17155// Details about a Lambda layer version.
17156type AwsLambdaLayerVersionDetails struct {
17157	_ struct{} `type:"structure"`
17158
17159	// The layer's compatible runtimes. Maximum number of five items.
17160	//
17161	// Valid values: nodejs10.x | nodejs12.x | java8 | java11 | python2.7 | python3.6
17162	// | python3.7 | python3.8 | dotnetcore1.0 | dotnetcore2.1 | go1.x | ruby2.5
17163	// | provided
17164	CompatibleRuntimes []*string `type:"list"`
17165
17166	// Indicates when the version was created.
17167	//
17168	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
17169	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
17170	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
17171	CreatedDate *string `type:"string"`
17172
17173	// The version number.
17174	Version *int64 `type:"long"`
17175}
17176
17177// String returns the string representation
17178func (s AwsLambdaLayerVersionDetails) String() string {
17179	return awsutil.Prettify(s)
17180}
17181
17182// GoString returns the string representation
17183func (s AwsLambdaLayerVersionDetails) GoString() string {
17184	return s.String()
17185}
17186
17187// SetCompatibleRuntimes sets the CompatibleRuntimes field's value.
17188func (s *AwsLambdaLayerVersionDetails) SetCompatibleRuntimes(v []*string) *AwsLambdaLayerVersionDetails {
17189	s.CompatibleRuntimes = v
17190	return s
17191}
17192
17193// SetCreatedDate sets the CreatedDate field's value.
17194func (s *AwsLambdaLayerVersionDetails) SetCreatedDate(v string) *AwsLambdaLayerVersionDetails {
17195	s.CreatedDate = &v
17196	return s
17197}
17198
17199// SetVersion sets the Version field's value.
17200func (s *AwsLambdaLayerVersionDetails) SetVersion(v int64) *AwsLambdaLayerVersionDetails {
17201	s.Version = &v
17202	return s
17203}
17204
17205// An IAM role that is associated with the Amazon RDS DB cluster.
17206type AwsRdsDbClusterAssociatedRole struct {
17207	_ struct{} `type:"structure"`
17208
17209	// The ARN of the IAM role.
17210	RoleArn *string `type:"string"`
17211
17212	// The status of the association between the IAM role and the DB cluster.
17213	Status *string `type:"string"`
17214}
17215
17216// String returns the string representation
17217func (s AwsRdsDbClusterAssociatedRole) String() string {
17218	return awsutil.Prettify(s)
17219}
17220
17221// GoString returns the string representation
17222func (s AwsRdsDbClusterAssociatedRole) GoString() string {
17223	return s.String()
17224}
17225
17226// SetRoleArn sets the RoleArn field's value.
17227func (s *AwsRdsDbClusterAssociatedRole) SetRoleArn(v string) *AwsRdsDbClusterAssociatedRole {
17228	s.RoleArn = &v
17229	return s
17230}
17231
17232// SetStatus sets the Status field's value.
17233func (s *AwsRdsDbClusterAssociatedRole) SetStatus(v string) *AwsRdsDbClusterAssociatedRole {
17234	s.Status = &v
17235	return s
17236}
17237
17238// Information about an Amazon RDS DB cluster.
17239type AwsRdsDbClusterDetails struct {
17240	_ struct{} `type:"structure"`
17241
17242	// The status of the database activity stream.
17243	ActivityStreamStatus *string `type:"string"`
17244
17245	// For all database engines except Aurora, specifies the allocated storage size
17246	// in gibibytes (GiB).
17247	AllocatedStorage *int64 `type:"integer"`
17248
17249	// A list of the IAM roles that are associated with the DB cluster.
17250	AssociatedRoles []*AwsRdsDbClusterAssociatedRole `type:"list"`
17251
17252	// A list of Availability Zones (AZs) where instances in the DB cluster can
17253	// be created.
17254	AvailabilityZones []*string `type:"list"`
17255
17256	// The number of days for which automated backups are retained.
17257	BackupRetentionPeriod *int64 `type:"integer"`
17258
17259	// Indicates when the DB cluster was created, in Universal Coordinated Time
17260	// (UTC).
17261	//
17262	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
17263	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
17264	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
17265	ClusterCreateTime *string `type:"string"`
17266
17267	// Whether tags are copied from the DB cluster to snapshots of the DB cluster.
17268	CopyTagsToSnapshot *bool `type:"boolean"`
17269
17270	// Whether the DB cluster is a clone of a DB cluster owned by a different Amazon
17271	// Web Services account.
17272	CrossAccountClone *bool `type:"boolean"`
17273
17274	// A list of custom endpoints for the DB cluster.
17275	CustomEndpoints []*string `type:"list"`
17276
17277	// The name of the database.
17278	DatabaseName *string `type:"string"`
17279
17280	// The DB cluster identifier that the user assigned to the cluster. This identifier
17281	// is the unique key that identifies a DB cluster.
17282	DbClusterIdentifier *string `type:"string"`
17283
17284	// The list of instances that make up the DB cluster.
17285	DbClusterMembers []*AwsRdsDbClusterMember `type:"list"`
17286
17287	// The list of option group memberships for this DB cluster.
17288	DbClusterOptionGroupMemberships []*AwsRdsDbClusterOptionGroupMembership `type:"list"`
17289
17290	// The name of the DB cluster parameter group for the DB cluster.
17291	DbClusterParameterGroup *string `type:"string"`
17292
17293	// The identifier of the DB cluster. The identifier must be unique within each
17294	// Amazon Web Services Region and is immutable.
17295	DbClusterResourceId *string `type:"string"`
17296
17297	// The subnet group that is associated with the DB cluster, including the name,
17298	// description, and subnets in the subnet group.
17299	DbSubnetGroup *string `type:"string"`
17300
17301	// Whether the DB cluster has deletion protection enabled.
17302	DeletionProtection *bool `type:"boolean"`
17303
17304	// The Active Directory domain membership records that are associated with the
17305	// DB cluster.
17306	DomainMemberships []*AwsRdsDbDomainMembership `type:"list"`
17307
17308	// A list of log types that this DB cluster is configured to export to CloudWatch
17309	// Logs.
17310	EnabledCloudWatchLogsExports []*string `type:"list"`
17311
17312	// The connection endpoint for the primary instance of the DB cluster.
17313	Endpoint *string `type:"string"`
17314
17315	// The name of the database engine to use for this DB cluster.
17316	Engine *string `type:"string"`
17317
17318	// The database engine mode of the DB cluster.
17319	EngineMode *string `type:"string"`
17320
17321	// The version number of the database engine to use.
17322	EngineVersion *string `type:"string"`
17323
17324	// Specifies the identifier that Amazon Route 53 assigns when you create a hosted
17325	// zone.
17326	HostedZoneId *string `type:"string"`
17327
17328	// Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.
17329	HttpEndpointEnabled *bool `type:"boolean"`
17330
17331	// Whether the mapping of IAM accounts to database accounts is enabled.
17332	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
17333
17334	// The ARN of the KMS master key that is used to encrypt the database instances
17335	// in the DB cluster.
17336	KmsKeyId *string `type:"string"`
17337
17338	// The name of the master user for the DB cluster.
17339	MasterUsername *string `type:"string"`
17340
17341	// Whether the DB cluster has instances in multiple Availability Zones.
17342	MultiAz *bool `type:"boolean"`
17343
17344	// The port number on which the DB instances in the DB cluster accept connections.
17345	Port *int64 `type:"integer"`
17346
17347	// The range of time each day when automated backups are created, if automated
17348	// backups are enabled.
17349	//
17350	// Uses the format HH:MM-HH:MM. For example, 04:52-05:22.
17351	PreferredBackupWindow *string `type:"string"`
17352
17353	// The weekly time range during which system maintenance can occur, in Universal
17354	// Coordinated Time (UTC).
17355	//
17356	// Uses the format <day>:HH:MM-<day>:HH:MM.
17357	//
17358	// For the day values, use mon|tue|wed|thu|fri|sat|sun.
17359	//
17360	// For example, sun:09:32-sun:10:02.
17361	PreferredMaintenanceWindow *string `type:"string"`
17362
17363	// The identifiers of the read replicas that are associated with this DB cluster.
17364	ReadReplicaIdentifiers []*string `type:"list"`
17365
17366	// The reader endpoint for the DB cluster.
17367	ReaderEndpoint *string `type:"string"`
17368
17369	// The current status of this DB cluster.
17370	Status *string `type:"string"`
17371
17372	// Whether the DB cluster is encrypted.
17373	StorageEncrypted *bool `type:"boolean"`
17374
17375	// A list of VPC security groups that the DB cluster belongs to.
17376	VpcSecurityGroups []*AwsRdsDbInstanceVpcSecurityGroup `type:"list"`
17377}
17378
17379// String returns the string representation
17380func (s AwsRdsDbClusterDetails) String() string {
17381	return awsutil.Prettify(s)
17382}
17383
17384// GoString returns the string representation
17385func (s AwsRdsDbClusterDetails) GoString() string {
17386	return s.String()
17387}
17388
17389// SetActivityStreamStatus sets the ActivityStreamStatus field's value.
17390func (s *AwsRdsDbClusterDetails) SetActivityStreamStatus(v string) *AwsRdsDbClusterDetails {
17391	s.ActivityStreamStatus = &v
17392	return s
17393}
17394
17395// SetAllocatedStorage sets the AllocatedStorage field's value.
17396func (s *AwsRdsDbClusterDetails) SetAllocatedStorage(v int64) *AwsRdsDbClusterDetails {
17397	s.AllocatedStorage = &v
17398	return s
17399}
17400
17401// SetAssociatedRoles sets the AssociatedRoles field's value.
17402func (s *AwsRdsDbClusterDetails) SetAssociatedRoles(v []*AwsRdsDbClusterAssociatedRole) *AwsRdsDbClusterDetails {
17403	s.AssociatedRoles = v
17404	return s
17405}
17406
17407// SetAvailabilityZones sets the AvailabilityZones field's value.
17408func (s *AwsRdsDbClusterDetails) SetAvailabilityZones(v []*string) *AwsRdsDbClusterDetails {
17409	s.AvailabilityZones = v
17410	return s
17411}
17412
17413// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
17414func (s *AwsRdsDbClusterDetails) SetBackupRetentionPeriod(v int64) *AwsRdsDbClusterDetails {
17415	s.BackupRetentionPeriod = &v
17416	return s
17417}
17418
17419// SetClusterCreateTime sets the ClusterCreateTime field's value.
17420func (s *AwsRdsDbClusterDetails) SetClusterCreateTime(v string) *AwsRdsDbClusterDetails {
17421	s.ClusterCreateTime = &v
17422	return s
17423}
17424
17425// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
17426func (s *AwsRdsDbClusterDetails) SetCopyTagsToSnapshot(v bool) *AwsRdsDbClusterDetails {
17427	s.CopyTagsToSnapshot = &v
17428	return s
17429}
17430
17431// SetCrossAccountClone sets the CrossAccountClone field's value.
17432func (s *AwsRdsDbClusterDetails) SetCrossAccountClone(v bool) *AwsRdsDbClusterDetails {
17433	s.CrossAccountClone = &v
17434	return s
17435}
17436
17437// SetCustomEndpoints sets the CustomEndpoints field's value.
17438func (s *AwsRdsDbClusterDetails) SetCustomEndpoints(v []*string) *AwsRdsDbClusterDetails {
17439	s.CustomEndpoints = v
17440	return s
17441}
17442
17443// SetDatabaseName sets the DatabaseName field's value.
17444func (s *AwsRdsDbClusterDetails) SetDatabaseName(v string) *AwsRdsDbClusterDetails {
17445	s.DatabaseName = &v
17446	return s
17447}
17448
17449// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
17450func (s *AwsRdsDbClusterDetails) SetDbClusterIdentifier(v string) *AwsRdsDbClusterDetails {
17451	s.DbClusterIdentifier = &v
17452	return s
17453}
17454
17455// SetDbClusterMembers sets the DbClusterMembers field's value.
17456func (s *AwsRdsDbClusterDetails) SetDbClusterMembers(v []*AwsRdsDbClusterMember) *AwsRdsDbClusterDetails {
17457	s.DbClusterMembers = v
17458	return s
17459}
17460
17461// SetDbClusterOptionGroupMemberships sets the DbClusterOptionGroupMemberships field's value.
17462func (s *AwsRdsDbClusterDetails) SetDbClusterOptionGroupMemberships(v []*AwsRdsDbClusterOptionGroupMembership) *AwsRdsDbClusterDetails {
17463	s.DbClusterOptionGroupMemberships = v
17464	return s
17465}
17466
17467// SetDbClusterParameterGroup sets the DbClusterParameterGroup field's value.
17468func (s *AwsRdsDbClusterDetails) SetDbClusterParameterGroup(v string) *AwsRdsDbClusterDetails {
17469	s.DbClusterParameterGroup = &v
17470	return s
17471}
17472
17473// SetDbClusterResourceId sets the DbClusterResourceId field's value.
17474func (s *AwsRdsDbClusterDetails) SetDbClusterResourceId(v string) *AwsRdsDbClusterDetails {
17475	s.DbClusterResourceId = &v
17476	return s
17477}
17478
17479// SetDbSubnetGroup sets the DbSubnetGroup field's value.
17480func (s *AwsRdsDbClusterDetails) SetDbSubnetGroup(v string) *AwsRdsDbClusterDetails {
17481	s.DbSubnetGroup = &v
17482	return s
17483}
17484
17485// SetDeletionProtection sets the DeletionProtection field's value.
17486func (s *AwsRdsDbClusterDetails) SetDeletionProtection(v bool) *AwsRdsDbClusterDetails {
17487	s.DeletionProtection = &v
17488	return s
17489}
17490
17491// SetDomainMemberships sets the DomainMemberships field's value.
17492func (s *AwsRdsDbClusterDetails) SetDomainMemberships(v []*AwsRdsDbDomainMembership) *AwsRdsDbClusterDetails {
17493	s.DomainMemberships = v
17494	return s
17495}
17496
17497// SetEnabledCloudWatchLogsExports sets the EnabledCloudWatchLogsExports field's value.
17498func (s *AwsRdsDbClusterDetails) SetEnabledCloudWatchLogsExports(v []*string) *AwsRdsDbClusterDetails {
17499	s.EnabledCloudWatchLogsExports = v
17500	return s
17501}
17502
17503// SetEndpoint sets the Endpoint field's value.
17504func (s *AwsRdsDbClusterDetails) SetEndpoint(v string) *AwsRdsDbClusterDetails {
17505	s.Endpoint = &v
17506	return s
17507}
17508
17509// SetEngine sets the Engine field's value.
17510func (s *AwsRdsDbClusterDetails) SetEngine(v string) *AwsRdsDbClusterDetails {
17511	s.Engine = &v
17512	return s
17513}
17514
17515// SetEngineMode sets the EngineMode field's value.
17516func (s *AwsRdsDbClusterDetails) SetEngineMode(v string) *AwsRdsDbClusterDetails {
17517	s.EngineMode = &v
17518	return s
17519}
17520
17521// SetEngineVersion sets the EngineVersion field's value.
17522func (s *AwsRdsDbClusterDetails) SetEngineVersion(v string) *AwsRdsDbClusterDetails {
17523	s.EngineVersion = &v
17524	return s
17525}
17526
17527// SetHostedZoneId sets the HostedZoneId field's value.
17528func (s *AwsRdsDbClusterDetails) SetHostedZoneId(v string) *AwsRdsDbClusterDetails {
17529	s.HostedZoneId = &v
17530	return s
17531}
17532
17533// SetHttpEndpointEnabled sets the HttpEndpointEnabled field's value.
17534func (s *AwsRdsDbClusterDetails) SetHttpEndpointEnabled(v bool) *AwsRdsDbClusterDetails {
17535	s.HttpEndpointEnabled = &v
17536	return s
17537}
17538
17539// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
17540func (s *AwsRdsDbClusterDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbClusterDetails {
17541	s.IamDatabaseAuthenticationEnabled = &v
17542	return s
17543}
17544
17545// SetKmsKeyId sets the KmsKeyId field's value.
17546func (s *AwsRdsDbClusterDetails) SetKmsKeyId(v string) *AwsRdsDbClusterDetails {
17547	s.KmsKeyId = &v
17548	return s
17549}
17550
17551// SetMasterUsername sets the MasterUsername field's value.
17552func (s *AwsRdsDbClusterDetails) SetMasterUsername(v string) *AwsRdsDbClusterDetails {
17553	s.MasterUsername = &v
17554	return s
17555}
17556
17557// SetMultiAz sets the MultiAz field's value.
17558func (s *AwsRdsDbClusterDetails) SetMultiAz(v bool) *AwsRdsDbClusterDetails {
17559	s.MultiAz = &v
17560	return s
17561}
17562
17563// SetPort sets the Port field's value.
17564func (s *AwsRdsDbClusterDetails) SetPort(v int64) *AwsRdsDbClusterDetails {
17565	s.Port = &v
17566	return s
17567}
17568
17569// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
17570func (s *AwsRdsDbClusterDetails) SetPreferredBackupWindow(v string) *AwsRdsDbClusterDetails {
17571	s.PreferredBackupWindow = &v
17572	return s
17573}
17574
17575// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
17576func (s *AwsRdsDbClusterDetails) SetPreferredMaintenanceWindow(v string) *AwsRdsDbClusterDetails {
17577	s.PreferredMaintenanceWindow = &v
17578	return s
17579}
17580
17581// SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
17582func (s *AwsRdsDbClusterDetails) SetReadReplicaIdentifiers(v []*string) *AwsRdsDbClusterDetails {
17583	s.ReadReplicaIdentifiers = v
17584	return s
17585}
17586
17587// SetReaderEndpoint sets the ReaderEndpoint field's value.
17588func (s *AwsRdsDbClusterDetails) SetReaderEndpoint(v string) *AwsRdsDbClusterDetails {
17589	s.ReaderEndpoint = &v
17590	return s
17591}
17592
17593// SetStatus sets the Status field's value.
17594func (s *AwsRdsDbClusterDetails) SetStatus(v string) *AwsRdsDbClusterDetails {
17595	s.Status = &v
17596	return s
17597}
17598
17599// SetStorageEncrypted sets the StorageEncrypted field's value.
17600func (s *AwsRdsDbClusterDetails) SetStorageEncrypted(v bool) *AwsRdsDbClusterDetails {
17601	s.StorageEncrypted = &v
17602	return s
17603}
17604
17605// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
17606func (s *AwsRdsDbClusterDetails) SetVpcSecurityGroups(v []*AwsRdsDbInstanceVpcSecurityGroup) *AwsRdsDbClusterDetails {
17607	s.VpcSecurityGroups = v
17608	return s
17609}
17610
17611// Information about an instance in the DB cluster.
17612type AwsRdsDbClusterMember struct {
17613	_ struct{} `type:"structure"`
17614
17615	// The status of the DB cluster parameter group for this member of the DB cluster.
17616	DbClusterParameterGroupStatus *string `type:"string"`
17617
17618	// The instance identifier for this member of the DB cluster.
17619	DbInstanceIdentifier *string `type:"string"`
17620
17621	// Whether the cluster member is the primary instance for the DB cluster.
17622	IsClusterWriter *bool `type:"boolean"`
17623
17624	// Specifies the order in which an Aurora replica is promoted to the primary
17625	// instance when the existing primary instance fails.
17626	PromotionTier *int64 `type:"integer"`
17627}
17628
17629// String returns the string representation
17630func (s AwsRdsDbClusterMember) String() string {
17631	return awsutil.Prettify(s)
17632}
17633
17634// GoString returns the string representation
17635func (s AwsRdsDbClusterMember) GoString() string {
17636	return s.String()
17637}
17638
17639// SetDbClusterParameterGroupStatus sets the DbClusterParameterGroupStatus field's value.
17640func (s *AwsRdsDbClusterMember) SetDbClusterParameterGroupStatus(v string) *AwsRdsDbClusterMember {
17641	s.DbClusterParameterGroupStatus = &v
17642	return s
17643}
17644
17645// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
17646func (s *AwsRdsDbClusterMember) SetDbInstanceIdentifier(v string) *AwsRdsDbClusterMember {
17647	s.DbInstanceIdentifier = &v
17648	return s
17649}
17650
17651// SetIsClusterWriter sets the IsClusterWriter field's value.
17652func (s *AwsRdsDbClusterMember) SetIsClusterWriter(v bool) *AwsRdsDbClusterMember {
17653	s.IsClusterWriter = &v
17654	return s
17655}
17656
17657// SetPromotionTier sets the PromotionTier field's value.
17658func (s *AwsRdsDbClusterMember) SetPromotionTier(v int64) *AwsRdsDbClusterMember {
17659	s.PromotionTier = &v
17660	return s
17661}
17662
17663// Information about an option group membership for a DB cluster.
17664type AwsRdsDbClusterOptionGroupMembership struct {
17665	_ struct{} `type:"structure"`
17666
17667	// The name of the DB cluster option group.
17668	DbClusterOptionGroupName *string `type:"string"`
17669
17670	// The status of the DB cluster option group.
17671	Status *string `type:"string"`
17672}
17673
17674// String returns the string representation
17675func (s AwsRdsDbClusterOptionGroupMembership) String() string {
17676	return awsutil.Prettify(s)
17677}
17678
17679// GoString returns the string representation
17680func (s AwsRdsDbClusterOptionGroupMembership) GoString() string {
17681	return s.String()
17682}
17683
17684// SetDbClusterOptionGroupName sets the DbClusterOptionGroupName field's value.
17685func (s *AwsRdsDbClusterOptionGroupMembership) SetDbClusterOptionGroupName(v string) *AwsRdsDbClusterOptionGroupMembership {
17686	s.DbClusterOptionGroupName = &v
17687	return s
17688}
17689
17690// SetStatus sets the Status field's value.
17691func (s *AwsRdsDbClusterOptionGroupMembership) SetStatus(v string) *AwsRdsDbClusterOptionGroupMembership {
17692	s.Status = &v
17693	return s
17694}
17695
17696// Information about an Amazon RDS DB cluster snapshot.
17697type AwsRdsDbClusterSnapshotDetails struct {
17698	_ struct{} `type:"structure"`
17699
17700	// Specifies the allocated storage size in gibibytes (GiB).
17701	AllocatedStorage *int64 `type:"integer"`
17702
17703	// A list of Availability Zones where instances in the DB cluster can be created.
17704	AvailabilityZones []*string `type:"list"`
17705
17706	// Indicates when the DB cluster was created, in Universal Coordinated Time
17707	// (UTC).
17708	//
17709	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
17710	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
17711	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
17712	ClusterCreateTime *string `type:"string"`
17713
17714	// The DB cluster identifier.
17715	DbClusterIdentifier *string `type:"string"`
17716
17717	// The identifier of the DB cluster snapshot.
17718	DbClusterSnapshotIdentifier *string `type:"string"`
17719
17720	// The name of the database engine that you want to use for this DB instance.
17721	Engine *string `type:"string"`
17722
17723	// The version of the database engine to use.
17724	EngineVersion *string `type:"string"`
17725
17726	// Whether mapping of IAM accounts to database accounts is enabled.
17727	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
17728
17729	// The ARN of the KMS master key that is used to encrypt the database instances
17730	// in the DB cluster.
17731	KmsKeyId *string `type:"string"`
17732
17733	// The license model information for this DB cluster snapshot.
17734	LicenseModel *string `type:"string"`
17735
17736	// The name of the master user for the DB cluster.
17737	MasterUsername *string `type:"string"`
17738
17739	// Specifies the percentage of the estimated data that has been transferred.
17740	PercentProgress *int64 `type:"integer"`
17741
17742	// The port number on which the DB instances in the DB cluster accept connections.
17743	Port *int64 `type:"integer"`
17744
17745	// Indicates when the snapshot was taken.
17746	//
17747	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
17748	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
17749	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
17750	SnapshotCreateTime *string `type:"string"`
17751
17752	// The type of DB cluster snapshot.
17753	SnapshotType *string `type:"string"`
17754
17755	// The status of this DB cluster snapshot.
17756	Status *string `type:"string"`
17757
17758	// Whether the DB cluster is encrypted.
17759	StorageEncrypted *bool `type:"boolean"`
17760
17761	// The VPC ID that is associated with the DB cluster snapshot.
17762	VpcId *string `type:"string"`
17763}
17764
17765// String returns the string representation
17766func (s AwsRdsDbClusterSnapshotDetails) String() string {
17767	return awsutil.Prettify(s)
17768}
17769
17770// GoString returns the string representation
17771func (s AwsRdsDbClusterSnapshotDetails) GoString() string {
17772	return s.String()
17773}
17774
17775// SetAllocatedStorage sets the AllocatedStorage field's value.
17776func (s *AwsRdsDbClusterSnapshotDetails) SetAllocatedStorage(v int64) *AwsRdsDbClusterSnapshotDetails {
17777	s.AllocatedStorage = &v
17778	return s
17779}
17780
17781// SetAvailabilityZones sets the AvailabilityZones field's value.
17782func (s *AwsRdsDbClusterSnapshotDetails) SetAvailabilityZones(v []*string) *AwsRdsDbClusterSnapshotDetails {
17783	s.AvailabilityZones = v
17784	return s
17785}
17786
17787// SetClusterCreateTime sets the ClusterCreateTime field's value.
17788func (s *AwsRdsDbClusterSnapshotDetails) SetClusterCreateTime(v string) *AwsRdsDbClusterSnapshotDetails {
17789	s.ClusterCreateTime = &v
17790	return s
17791}
17792
17793// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
17794func (s *AwsRdsDbClusterSnapshotDetails) SetDbClusterIdentifier(v string) *AwsRdsDbClusterSnapshotDetails {
17795	s.DbClusterIdentifier = &v
17796	return s
17797}
17798
17799// SetDbClusterSnapshotIdentifier sets the DbClusterSnapshotIdentifier field's value.
17800func (s *AwsRdsDbClusterSnapshotDetails) SetDbClusterSnapshotIdentifier(v string) *AwsRdsDbClusterSnapshotDetails {
17801	s.DbClusterSnapshotIdentifier = &v
17802	return s
17803}
17804
17805// SetEngine sets the Engine field's value.
17806func (s *AwsRdsDbClusterSnapshotDetails) SetEngine(v string) *AwsRdsDbClusterSnapshotDetails {
17807	s.Engine = &v
17808	return s
17809}
17810
17811// SetEngineVersion sets the EngineVersion field's value.
17812func (s *AwsRdsDbClusterSnapshotDetails) SetEngineVersion(v string) *AwsRdsDbClusterSnapshotDetails {
17813	s.EngineVersion = &v
17814	return s
17815}
17816
17817// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
17818func (s *AwsRdsDbClusterSnapshotDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbClusterSnapshotDetails {
17819	s.IamDatabaseAuthenticationEnabled = &v
17820	return s
17821}
17822
17823// SetKmsKeyId sets the KmsKeyId field's value.
17824func (s *AwsRdsDbClusterSnapshotDetails) SetKmsKeyId(v string) *AwsRdsDbClusterSnapshotDetails {
17825	s.KmsKeyId = &v
17826	return s
17827}
17828
17829// SetLicenseModel sets the LicenseModel field's value.
17830func (s *AwsRdsDbClusterSnapshotDetails) SetLicenseModel(v string) *AwsRdsDbClusterSnapshotDetails {
17831	s.LicenseModel = &v
17832	return s
17833}
17834
17835// SetMasterUsername sets the MasterUsername field's value.
17836func (s *AwsRdsDbClusterSnapshotDetails) SetMasterUsername(v string) *AwsRdsDbClusterSnapshotDetails {
17837	s.MasterUsername = &v
17838	return s
17839}
17840
17841// SetPercentProgress sets the PercentProgress field's value.
17842func (s *AwsRdsDbClusterSnapshotDetails) SetPercentProgress(v int64) *AwsRdsDbClusterSnapshotDetails {
17843	s.PercentProgress = &v
17844	return s
17845}
17846
17847// SetPort sets the Port field's value.
17848func (s *AwsRdsDbClusterSnapshotDetails) SetPort(v int64) *AwsRdsDbClusterSnapshotDetails {
17849	s.Port = &v
17850	return s
17851}
17852
17853// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
17854func (s *AwsRdsDbClusterSnapshotDetails) SetSnapshotCreateTime(v string) *AwsRdsDbClusterSnapshotDetails {
17855	s.SnapshotCreateTime = &v
17856	return s
17857}
17858
17859// SetSnapshotType sets the SnapshotType field's value.
17860func (s *AwsRdsDbClusterSnapshotDetails) SetSnapshotType(v string) *AwsRdsDbClusterSnapshotDetails {
17861	s.SnapshotType = &v
17862	return s
17863}
17864
17865// SetStatus sets the Status field's value.
17866func (s *AwsRdsDbClusterSnapshotDetails) SetStatus(v string) *AwsRdsDbClusterSnapshotDetails {
17867	s.Status = &v
17868	return s
17869}
17870
17871// SetStorageEncrypted sets the StorageEncrypted field's value.
17872func (s *AwsRdsDbClusterSnapshotDetails) SetStorageEncrypted(v bool) *AwsRdsDbClusterSnapshotDetails {
17873	s.StorageEncrypted = &v
17874	return s
17875}
17876
17877// SetVpcId sets the VpcId field's value.
17878func (s *AwsRdsDbClusterSnapshotDetails) SetVpcId(v string) *AwsRdsDbClusterSnapshotDetails {
17879	s.VpcId = &v
17880	return s
17881}
17882
17883// Information about an Active Directory domain membership record associated
17884// with the DB instance.
17885type AwsRdsDbDomainMembership struct {
17886	_ struct{} `type:"structure"`
17887
17888	// The identifier of the Active Directory domain.
17889	Domain *string `type:"string"`
17890
17891	// The fully qualified domain name of the Active Directory domain.
17892	Fqdn *string `type:"string"`
17893
17894	// The name of the IAM role to use when making API calls to the Directory Service.
17895	IamRoleName *string `type:"string"`
17896
17897	// The status of the Active Directory Domain membership for the DB instance.
17898	Status *string `type:"string"`
17899}
17900
17901// String returns the string representation
17902func (s AwsRdsDbDomainMembership) String() string {
17903	return awsutil.Prettify(s)
17904}
17905
17906// GoString returns the string representation
17907func (s AwsRdsDbDomainMembership) GoString() string {
17908	return s.String()
17909}
17910
17911// SetDomain sets the Domain field's value.
17912func (s *AwsRdsDbDomainMembership) SetDomain(v string) *AwsRdsDbDomainMembership {
17913	s.Domain = &v
17914	return s
17915}
17916
17917// SetFqdn sets the Fqdn field's value.
17918func (s *AwsRdsDbDomainMembership) SetFqdn(v string) *AwsRdsDbDomainMembership {
17919	s.Fqdn = &v
17920	return s
17921}
17922
17923// SetIamRoleName sets the IamRoleName field's value.
17924func (s *AwsRdsDbDomainMembership) SetIamRoleName(v string) *AwsRdsDbDomainMembership {
17925	s.IamRoleName = &v
17926	return s
17927}
17928
17929// SetStatus sets the Status field's value.
17930func (s *AwsRdsDbDomainMembership) SetStatus(v string) *AwsRdsDbDomainMembership {
17931	s.Status = &v
17932	return s
17933}
17934
17935// An IAM role associated with the DB instance.
17936type AwsRdsDbInstanceAssociatedRole struct {
17937	_ struct{} `type:"structure"`
17938
17939	// The name of the feature associated with the IAM role.
17940	FeatureName *string `type:"string"`
17941
17942	// The ARN of the IAM role that is associated with the DB instance.
17943	RoleArn *string `type:"string"`
17944
17945	// Describes the state of the association between the IAM role and the DB instance.
17946	// The Status property returns one of the following values:
17947	//
17948	//    * ACTIVE - The IAM role ARN is associated with the DB instance and can
17949	//    be used to access other Amazon Web Services services on your behalf.
17950	//
17951	//    * PENDING - The IAM role ARN is being associated with the DB instance.
17952	//
17953	//    * INVALID - The IAM role ARN is associated with the DB instance. But the
17954	//    DB instance is unable to assume the IAM role in order to access other
17955	//    Amazon Web Services services on your behalf.
17956	Status *string `type:"string"`
17957}
17958
17959// String returns the string representation
17960func (s AwsRdsDbInstanceAssociatedRole) String() string {
17961	return awsutil.Prettify(s)
17962}
17963
17964// GoString returns the string representation
17965func (s AwsRdsDbInstanceAssociatedRole) GoString() string {
17966	return s.String()
17967}
17968
17969// SetFeatureName sets the FeatureName field's value.
17970func (s *AwsRdsDbInstanceAssociatedRole) SetFeatureName(v string) *AwsRdsDbInstanceAssociatedRole {
17971	s.FeatureName = &v
17972	return s
17973}
17974
17975// SetRoleArn sets the RoleArn field's value.
17976func (s *AwsRdsDbInstanceAssociatedRole) SetRoleArn(v string) *AwsRdsDbInstanceAssociatedRole {
17977	s.RoleArn = &v
17978	return s
17979}
17980
17981// SetStatus sets the Status field's value.
17982func (s *AwsRdsDbInstanceAssociatedRole) SetStatus(v string) *AwsRdsDbInstanceAssociatedRole {
17983	s.Status = &v
17984	return s
17985}
17986
17987// Contains the details of an Amazon RDS DB instance.
17988type AwsRdsDbInstanceDetails struct {
17989	_ struct{} `type:"structure"`
17990
17991	// The amount of storage (in gigabytes) to initially allocate for the DB instance.
17992	AllocatedStorage *int64 `type:"integer"`
17993
17994	// The IAM roles associated with the DB instance.
17995	AssociatedRoles []*AwsRdsDbInstanceAssociatedRole `type:"list"`
17996
17997	// Indicates whether minor version patches are applied automatically.
17998	AutoMinorVersionUpgrade *bool `type:"boolean"`
17999
18000	// The Availability Zone where the DB instance will be created.
18001	AvailabilityZone *string `type:"string"`
18002
18003	// The number of days for which to retain automated backups.
18004	BackupRetentionPeriod *int64 `type:"integer"`
18005
18006	// The identifier of the CA certificate for this DB instance.
18007	CACertificateIdentifier *string `type:"string"`
18008
18009	// The name of the character set that this DB instance is associated with.
18010	CharacterSetName *string `type:"string"`
18011
18012	// Whether to copy resource tags to snapshots of the DB instance.
18013	CopyTagsToSnapshot *bool `type:"boolean"`
18014
18015	// If the DB instance is a member of a DB cluster, contains the name of the
18016	// DB cluster that the DB instance is a member of.
18017	DBClusterIdentifier *string `type:"string"`
18018
18019	// Contains the name of the compute and memory capacity class of the DB instance.
18020	DBInstanceClass *string `type:"string"`
18021
18022	// Contains a user-supplied database identifier. This identifier is the unique
18023	// key that identifies a DB instance.
18024	DBInstanceIdentifier *string `type:"string"`
18025
18026	// The meaning of this parameter differs according to the database engine you
18027	// use.
18028	//
18029	// MySQL, MariaDB, SQL Server, PostgreSQL
18030	//
18031	// Contains the name of the initial database of this instance that was provided
18032	// at create time, if one was specified when the DB instance was created. This
18033	// same name is returned for the life of the DB instance.
18034	//
18035	// Oracle
18036	//
18037	// Contains the Oracle System ID (SID) of the created DB instance. Not shown
18038	// when the returned parameters do not apply to an Oracle DB instance.
18039	DBName *string `type:"string"`
18040
18041	// Specifies the port that the DB instance listens on. If the DB instance is
18042	// part of a DB cluster, this can be a different port than the DB cluster port.
18043	DbInstancePort *int64 `type:"integer"`
18044
18045	// The current status of the DB instance.
18046	DbInstanceStatus *string `type:"string"`
18047
18048	// A list of the DB parameter groups to assign to the DB instance.
18049	DbParameterGroups []*AwsRdsDbParameterGroup `type:"list"`
18050
18051	// A list of the DB security groups to assign to the DB instance.
18052	DbSecurityGroups []*string `type:"list"`
18053
18054	// Information about the subnet group that is associated with the DB instance.
18055	DbSubnetGroup *AwsRdsDbSubnetGroup `type:"structure"`
18056
18057	// The Amazon Web Services Region-unique, immutable identifier for the DB instance.
18058	// This identifier is found in CloudTrail log entries whenever the KMS key for
18059	// the DB instance is accessed.
18060	DbiResourceId *string `type:"string"`
18061
18062	// Indicates whether the DB instance has deletion protection enabled.
18063	//
18064	// When deletion protection is enabled, the database cannot be deleted.
18065	DeletionProtection *bool `type:"boolean"`
18066
18067	// The Active Directory domain membership records associated with the DB instance.
18068	DomainMemberships []*AwsRdsDbDomainMembership `type:"list"`
18069
18070	// A list of log types that this DB instance is configured to export to CloudWatch
18071	// Logs.
18072	EnabledCloudWatchLogsExports []*string `type:"list"`
18073
18074	// Specifies the connection endpoint.
18075	Endpoint *AwsRdsDbInstanceEndpoint `type:"structure"`
18076
18077	// Provides the name of the database engine to use for this DB instance.
18078	Engine *string `type:"string"`
18079
18080	// Indicates the database engine version.
18081	EngineVersion *string `type:"string"`
18082
18083	// The ARN of the CloudWatch Logs log stream that receives the enhanced monitoring
18084	// metrics data for the DB instance.
18085	EnhancedMonitoringResourceArn *string `type:"string"`
18086
18087	// True if mapping of IAM accounts to database accounts is enabled, and otherwise
18088	// false.
18089	//
18090	// IAM database authentication can be enabled for the following database engines.
18091	//
18092	//    * For MySQL 5.6, minor version 5.6.34 or higher
18093	//
18094	//    * For MySQL 5.7, minor version 5.7.16 or higher
18095	//
18096	//    * Aurora 5.6 or higher
18097	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
18098
18099	// Indicates when the DB instance was created.
18100	//
18101	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
18102	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
18103	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
18104	InstanceCreateTime *string `type:"string"`
18105
18106	// Specifies the provisioned IOPS (I/O operations per second) for this DB instance.
18107	Iops *int64 `type:"integer"`
18108
18109	// If StorageEncrypted is true, the KMS key identifier for the encrypted DB
18110	// instance.
18111	KmsKeyId *string `type:"string"`
18112
18113	// Specifies the latest time to which a database can be restored with point-in-time
18114	// restore.
18115	//
18116	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
18117	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
18118	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
18119	LatestRestorableTime *string `type:"string"`
18120
18121	// License model information for this DB instance.
18122	LicenseModel *string `type:"string"`
18123
18124	// Specifies the connection endpoint.
18125	ListenerEndpoint *AwsRdsDbInstanceEndpoint `type:"structure"`
18126
18127	// The master user name of the DB instance.
18128	MasterUsername *string `type:"string"`
18129
18130	// The upper limit to which Amazon RDS can automatically scale the storage of
18131	// the DB instance.
18132	MaxAllocatedStorage *int64 `type:"integer"`
18133
18134	// The interval, in seconds, between points when enhanced monitoring metrics
18135	// are collected for the DB instance.
18136	MonitoringInterval *int64 `type:"integer"`
18137
18138	// The ARN for the IAM role that permits Amazon RDS to send enhanced monitoring
18139	// metrics to CloudWatch Logs.
18140	MonitoringRoleArn *string `type:"string"`
18141
18142	// Whether the DB instance is a multiple Availability Zone deployment.
18143	MultiAz *bool `type:"boolean"`
18144
18145	// The list of option group memberships for this DB instance.
18146	OptionGroupMemberships []*AwsRdsDbOptionGroupMembership `type:"list"`
18147
18148	// Changes to the DB instance that are currently pending.
18149	PendingModifiedValues *AwsRdsDbPendingModifiedValues `type:"structure"`
18150
18151	// Indicates whether Performance Insights is enabled for the DB instance.
18152	PerformanceInsightsEnabled *bool `type:"boolean"`
18153
18154	// The identifier of the KMS key used to encrypt the Performance Insights data.
18155	PerformanceInsightsKmsKeyId *string `type:"string"`
18156
18157	// The number of days to retain Performance Insights data.
18158	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
18159
18160	// The range of time each day when automated backups are created, if automated
18161	// backups are enabled.
18162	//
18163	// Uses the format HH:MM-HH:MM. For example, 04:52-05:22.
18164	PreferredBackupWindow *string `type:"string"`
18165
18166	// The weekly time range during which system maintenance can occur, in Universal
18167	// Coordinated Time (UTC).
18168	//
18169	// Uses the format <day>:HH:MM-<day>:HH:MM.
18170	//
18171	// For the day values, use mon|tue|wed|thu|fri|sat|sun.
18172	//
18173	// For example, sun:09:32-sun:10:02.
18174	PreferredMaintenanceWindow *string `type:"string"`
18175
18176	// The number of CPU cores and the number of threads per core for the DB instance
18177	// class of the DB instance.
18178	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
18179
18180	// The order in which to promote an Aurora replica to the primary instance after
18181	// a failure of the existing primary instance.
18182	PromotionTier *int64 `type:"integer"`
18183
18184	// Specifies the accessibility options for the DB instance.
18185	//
18186	// A value of true specifies an Internet-facing instance with a publicly resolvable
18187	// DNS name, which resolves to a public IP address.
18188	//
18189	// A value of false specifies an internal instance with a DNS name that resolves
18190	// to a private IP address.
18191	PubliclyAccessible *bool `type:"boolean"`
18192
18193	// List of identifiers of Aurora DB clusters to which the RDS DB instance is
18194	// replicated as a read replica.
18195	ReadReplicaDBClusterIdentifiers []*string `type:"list"`
18196
18197	// List of identifiers of the read replicas associated with this DB instance.
18198	ReadReplicaDBInstanceIdentifiers []*string `type:"list"`
18199
18200	// If this DB instance is a read replica, contains the identifier of the source
18201	// DB instance.
18202	ReadReplicaSourceDBInstanceIdentifier *string `type:"string"`
18203
18204	// For a DB instance with multi-Availability Zone support, the name of the secondary
18205	// Availability Zone.
18206	SecondaryAvailabilityZone *string `type:"string"`
18207
18208	// The status of a read replica. If the instance isn't a read replica, this
18209	// is empty.
18210	StatusInfos []*AwsRdsDbStatusInfo `type:"list"`
18211
18212	// Specifies whether the DB instance is encrypted.
18213	StorageEncrypted *bool `type:"boolean"`
18214
18215	// The storage type for the DB instance.
18216	StorageType *string `type:"string"`
18217
18218	// The ARN from the key store with which the instance is associated for TDE
18219	// encryption.
18220	TdeCredentialArn *string `type:"string"`
18221
18222	// The time zone of the DB instance.
18223	Timezone *string `type:"string"`
18224
18225	// A list of VPC security groups that the DB instance belongs to.
18226	VpcSecurityGroups []*AwsRdsDbInstanceVpcSecurityGroup `type:"list"`
18227}
18228
18229// String returns the string representation
18230func (s AwsRdsDbInstanceDetails) String() string {
18231	return awsutil.Prettify(s)
18232}
18233
18234// GoString returns the string representation
18235func (s AwsRdsDbInstanceDetails) GoString() string {
18236	return s.String()
18237}
18238
18239// SetAllocatedStorage sets the AllocatedStorage field's value.
18240func (s *AwsRdsDbInstanceDetails) SetAllocatedStorage(v int64) *AwsRdsDbInstanceDetails {
18241	s.AllocatedStorage = &v
18242	return s
18243}
18244
18245// SetAssociatedRoles sets the AssociatedRoles field's value.
18246func (s *AwsRdsDbInstanceDetails) SetAssociatedRoles(v []*AwsRdsDbInstanceAssociatedRole) *AwsRdsDbInstanceDetails {
18247	s.AssociatedRoles = v
18248	return s
18249}
18250
18251// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
18252func (s *AwsRdsDbInstanceDetails) SetAutoMinorVersionUpgrade(v bool) *AwsRdsDbInstanceDetails {
18253	s.AutoMinorVersionUpgrade = &v
18254	return s
18255}
18256
18257// SetAvailabilityZone sets the AvailabilityZone field's value.
18258func (s *AwsRdsDbInstanceDetails) SetAvailabilityZone(v string) *AwsRdsDbInstanceDetails {
18259	s.AvailabilityZone = &v
18260	return s
18261}
18262
18263// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
18264func (s *AwsRdsDbInstanceDetails) SetBackupRetentionPeriod(v int64) *AwsRdsDbInstanceDetails {
18265	s.BackupRetentionPeriod = &v
18266	return s
18267}
18268
18269// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
18270func (s *AwsRdsDbInstanceDetails) SetCACertificateIdentifier(v string) *AwsRdsDbInstanceDetails {
18271	s.CACertificateIdentifier = &v
18272	return s
18273}
18274
18275// SetCharacterSetName sets the CharacterSetName field's value.
18276func (s *AwsRdsDbInstanceDetails) SetCharacterSetName(v string) *AwsRdsDbInstanceDetails {
18277	s.CharacterSetName = &v
18278	return s
18279}
18280
18281// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
18282func (s *AwsRdsDbInstanceDetails) SetCopyTagsToSnapshot(v bool) *AwsRdsDbInstanceDetails {
18283	s.CopyTagsToSnapshot = &v
18284	return s
18285}
18286
18287// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
18288func (s *AwsRdsDbInstanceDetails) SetDBClusterIdentifier(v string) *AwsRdsDbInstanceDetails {
18289	s.DBClusterIdentifier = &v
18290	return s
18291}
18292
18293// SetDBInstanceClass sets the DBInstanceClass field's value.
18294func (s *AwsRdsDbInstanceDetails) SetDBInstanceClass(v string) *AwsRdsDbInstanceDetails {
18295	s.DBInstanceClass = &v
18296	return s
18297}
18298
18299// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
18300func (s *AwsRdsDbInstanceDetails) SetDBInstanceIdentifier(v string) *AwsRdsDbInstanceDetails {
18301	s.DBInstanceIdentifier = &v
18302	return s
18303}
18304
18305// SetDBName sets the DBName field's value.
18306func (s *AwsRdsDbInstanceDetails) SetDBName(v string) *AwsRdsDbInstanceDetails {
18307	s.DBName = &v
18308	return s
18309}
18310
18311// SetDbInstancePort sets the DbInstancePort field's value.
18312func (s *AwsRdsDbInstanceDetails) SetDbInstancePort(v int64) *AwsRdsDbInstanceDetails {
18313	s.DbInstancePort = &v
18314	return s
18315}
18316
18317// SetDbInstanceStatus sets the DbInstanceStatus field's value.
18318func (s *AwsRdsDbInstanceDetails) SetDbInstanceStatus(v string) *AwsRdsDbInstanceDetails {
18319	s.DbInstanceStatus = &v
18320	return s
18321}
18322
18323// SetDbParameterGroups sets the DbParameterGroups field's value.
18324func (s *AwsRdsDbInstanceDetails) SetDbParameterGroups(v []*AwsRdsDbParameterGroup) *AwsRdsDbInstanceDetails {
18325	s.DbParameterGroups = v
18326	return s
18327}
18328
18329// SetDbSecurityGroups sets the DbSecurityGroups field's value.
18330func (s *AwsRdsDbInstanceDetails) SetDbSecurityGroups(v []*string) *AwsRdsDbInstanceDetails {
18331	s.DbSecurityGroups = v
18332	return s
18333}
18334
18335// SetDbSubnetGroup sets the DbSubnetGroup field's value.
18336func (s *AwsRdsDbInstanceDetails) SetDbSubnetGroup(v *AwsRdsDbSubnetGroup) *AwsRdsDbInstanceDetails {
18337	s.DbSubnetGroup = v
18338	return s
18339}
18340
18341// SetDbiResourceId sets the DbiResourceId field's value.
18342func (s *AwsRdsDbInstanceDetails) SetDbiResourceId(v string) *AwsRdsDbInstanceDetails {
18343	s.DbiResourceId = &v
18344	return s
18345}
18346
18347// SetDeletionProtection sets the DeletionProtection field's value.
18348func (s *AwsRdsDbInstanceDetails) SetDeletionProtection(v bool) *AwsRdsDbInstanceDetails {
18349	s.DeletionProtection = &v
18350	return s
18351}
18352
18353// SetDomainMemberships sets the DomainMemberships field's value.
18354func (s *AwsRdsDbInstanceDetails) SetDomainMemberships(v []*AwsRdsDbDomainMembership) *AwsRdsDbInstanceDetails {
18355	s.DomainMemberships = v
18356	return s
18357}
18358
18359// SetEnabledCloudWatchLogsExports sets the EnabledCloudWatchLogsExports field's value.
18360func (s *AwsRdsDbInstanceDetails) SetEnabledCloudWatchLogsExports(v []*string) *AwsRdsDbInstanceDetails {
18361	s.EnabledCloudWatchLogsExports = v
18362	return s
18363}
18364
18365// SetEndpoint sets the Endpoint field's value.
18366func (s *AwsRdsDbInstanceDetails) SetEndpoint(v *AwsRdsDbInstanceEndpoint) *AwsRdsDbInstanceDetails {
18367	s.Endpoint = v
18368	return s
18369}
18370
18371// SetEngine sets the Engine field's value.
18372func (s *AwsRdsDbInstanceDetails) SetEngine(v string) *AwsRdsDbInstanceDetails {
18373	s.Engine = &v
18374	return s
18375}
18376
18377// SetEngineVersion sets the EngineVersion field's value.
18378func (s *AwsRdsDbInstanceDetails) SetEngineVersion(v string) *AwsRdsDbInstanceDetails {
18379	s.EngineVersion = &v
18380	return s
18381}
18382
18383// SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value.
18384func (s *AwsRdsDbInstanceDetails) SetEnhancedMonitoringResourceArn(v string) *AwsRdsDbInstanceDetails {
18385	s.EnhancedMonitoringResourceArn = &v
18386	return s
18387}
18388
18389// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
18390func (s *AwsRdsDbInstanceDetails) SetIAMDatabaseAuthenticationEnabled(v bool) *AwsRdsDbInstanceDetails {
18391	s.IAMDatabaseAuthenticationEnabled = &v
18392	return s
18393}
18394
18395// SetInstanceCreateTime sets the InstanceCreateTime field's value.
18396func (s *AwsRdsDbInstanceDetails) SetInstanceCreateTime(v string) *AwsRdsDbInstanceDetails {
18397	s.InstanceCreateTime = &v
18398	return s
18399}
18400
18401// SetIops sets the Iops field's value.
18402func (s *AwsRdsDbInstanceDetails) SetIops(v int64) *AwsRdsDbInstanceDetails {
18403	s.Iops = &v
18404	return s
18405}
18406
18407// SetKmsKeyId sets the KmsKeyId field's value.
18408func (s *AwsRdsDbInstanceDetails) SetKmsKeyId(v string) *AwsRdsDbInstanceDetails {
18409	s.KmsKeyId = &v
18410	return s
18411}
18412
18413// SetLatestRestorableTime sets the LatestRestorableTime field's value.
18414func (s *AwsRdsDbInstanceDetails) SetLatestRestorableTime(v string) *AwsRdsDbInstanceDetails {
18415	s.LatestRestorableTime = &v
18416	return s
18417}
18418
18419// SetLicenseModel sets the LicenseModel field's value.
18420func (s *AwsRdsDbInstanceDetails) SetLicenseModel(v string) *AwsRdsDbInstanceDetails {
18421	s.LicenseModel = &v
18422	return s
18423}
18424
18425// SetListenerEndpoint sets the ListenerEndpoint field's value.
18426func (s *AwsRdsDbInstanceDetails) SetListenerEndpoint(v *AwsRdsDbInstanceEndpoint) *AwsRdsDbInstanceDetails {
18427	s.ListenerEndpoint = v
18428	return s
18429}
18430
18431// SetMasterUsername sets the MasterUsername field's value.
18432func (s *AwsRdsDbInstanceDetails) SetMasterUsername(v string) *AwsRdsDbInstanceDetails {
18433	s.MasterUsername = &v
18434	return s
18435}
18436
18437// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
18438func (s *AwsRdsDbInstanceDetails) SetMaxAllocatedStorage(v int64) *AwsRdsDbInstanceDetails {
18439	s.MaxAllocatedStorage = &v
18440	return s
18441}
18442
18443// SetMonitoringInterval sets the MonitoringInterval field's value.
18444func (s *AwsRdsDbInstanceDetails) SetMonitoringInterval(v int64) *AwsRdsDbInstanceDetails {
18445	s.MonitoringInterval = &v
18446	return s
18447}
18448
18449// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
18450func (s *AwsRdsDbInstanceDetails) SetMonitoringRoleArn(v string) *AwsRdsDbInstanceDetails {
18451	s.MonitoringRoleArn = &v
18452	return s
18453}
18454
18455// SetMultiAz sets the MultiAz field's value.
18456func (s *AwsRdsDbInstanceDetails) SetMultiAz(v bool) *AwsRdsDbInstanceDetails {
18457	s.MultiAz = &v
18458	return s
18459}
18460
18461// SetOptionGroupMemberships sets the OptionGroupMemberships field's value.
18462func (s *AwsRdsDbInstanceDetails) SetOptionGroupMemberships(v []*AwsRdsDbOptionGroupMembership) *AwsRdsDbInstanceDetails {
18463	s.OptionGroupMemberships = v
18464	return s
18465}
18466
18467// SetPendingModifiedValues sets the PendingModifiedValues field's value.
18468func (s *AwsRdsDbInstanceDetails) SetPendingModifiedValues(v *AwsRdsDbPendingModifiedValues) *AwsRdsDbInstanceDetails {
18469	s.PendingModifiedValues = v
18470	return s
18471}
18472
18473// SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value.
18474func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsEnabled(v bool) *AwsRdsDbInstanceDetails {
18475	s.PerformanceInsightsEnabled = &v
18476	return s
18477}
18478
18479// SetPerformanceInsightsKmsKeyId sets the PerformanceInsightsKmsKeyId field's value.
18480func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsKmsKeyId(v string) *AwsRdsDbInstanceDetails {
18481	s.PerformanceInsightsKmsKeyId = &v
18482	return s
18483}
18484
18485// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
18486func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsRetentionPeriod(v int64) *AwsRdsDbInstanceDetails {
18487	s.PerformanceInsightsRetentionPeriod = &v
18488	return s
18489}
18490
18491// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
18492func (s *AwsRdsDbInstanceDetails) SetPreferredBackupWindow(v string) *AwsRdsDbInstanceDetails {
18493	s.PreferredBackupWindow = &v
18494	return s
18495}
18496
18497// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
18498func (s *AwsRdsDbInstanceDetails) SetPreferredMaintenanceWindow(v string) *AwsRdsDbInstanceDetails {
18499	s.PreferredMaintenanceWindow = &v
18500	return s
18501}
18502
18503// SetProcessorFeatures sets the ProcessorFeatures field's value.
18504func (s *AwsRdsDbInstanceDetails) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbInstanceDetails {
18505	s.ProcessorFeatures = v
18506	return s
18507}
18508
18509// SetPromotionTier sets the PromotionTier field's value.
18510func (s *AwsRdsDbInstanceDetails) SetPromotionTier(v int64) *AwsRdsDbInstanceDetails {
18511	s.PromotionTier = &v
18512	return s
18513}
18514
18515// SetPubliclyAccessible sets the PubliclyAccessible field's value.
18516func (s *AwsRdsDbInstanceDetails) SetPubliclyAccessible(v bool) *AwsRdsDbInstanceDetails {
18517	s.PubliclyAccessible = &v
18518	return s
18519}
18520
18521// SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value.
18522func (s *AwsRdsDbInstanceDetails) SetReadReplicaDBClusterIdentifiers(v []*string) *AwsRdsDbInstanceDetails {
18523	s.ReadReplicaDBClusterIdentifiers = v
18524	return s
18525}
18526
18527// SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value.
18528func (s *AwsRdsDbInstanceDetails) SetReadReplicaDBInstanceIdentifiers(v []*string) *AwsRdsDbInstanceDetails {
18529	s.ReadReplicaDBInstanceIdentifiers = v
18530	return s
18531}
18532
18533// SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value.
18534func (s *AwsRdsDbInstanceDetails) SetReadReplicaSourceDBInstanceIdentifier(v string) *AwsRdsDbInstanceDetails {
18535	s.ReadReplicaSourceDBInstanceIdentifier = &v
18536	return s
18537}
18538
18539// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
18540func (s *AwsRdsDbInstanceDetails) SetSecondaryAvailabilityZone(v string) *AwsRdsDbInstanceDetails {
18541	s.SecondaryAvailabilityZone = &v
18542	return s
18543}
18544
18545// SetStatusInfos sets the StatusInfos field's value.
18546func (s *AwsRdsDbInstanceDetails) SetStatusInfos(v []*AwsRdsDbStatusInfo) *AwsRdsDbInstanceDetails {
18547	s.StatusInfos = v
18548	return s
18549}
18550
18551// SetStorageEncrypted sets the StorageEncrypted field's value.
18552func (s *AwsRdsDbInstanceDetails) SetStorageEncrypted(v bool) *AwsRdsDbInstanceDetails {
18553	s.StorageEncrypted = &v
18554	return s
18555}
18556
18557// SetStorageType sets the StorageType field's value.
18558func (s *AwsRdsDbInstanceDetails) SetStorageType(v string) *AwsRdsDbInstanceDetails {
18559	s.StorageType = &v
18560	return s
18561}
18562
18563// SetTdeCredentialArn sets the TdeCredentialArn field's value.
18564func (s *AwsRdsDbInstanceDetails) SetTdeCredentialArn(v string) *AwsRdsDbInstanceDetails {
18565	s.TdeCredentialArn = &v
18566	return s
18567}
18568
18569// SetTimezone sets the Timezone field's value.
18570func (s *AwsRdsDbInstanceDetails) SetTimezone(v string) *AwsRdsDbInstanceDetails {
18571	s.Timezone = &v
18572	return s
18573}
18574
18575// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
18576func (s *AwsRdsDbInstanceDetails) SetVpcSecurityGroups(v []*AwsRdsDbInstanceVpcSecurityGroup) *AwsRdsDbInstanceDetails {
18577	s.VpcSecurityGroups = v
18578	return s
18579}
18580
18581// Specifies the connection endpoint.
18582type AwsRdsDbInstanceEndpoint struct {
18583	_ struct{} `type:"structure"`
18584
18585	// Specifies the DNS address of the DB instance.
18586	Address *string `type:"string"`
18587
18588	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
18589	HostedZoneId *string `type:"string"`
18590
18591	// Specifies the port that the database engine is listening on.
18592	Port *int64 `type:"integer"`
18593}
18594
18595// String returns the string representation
18596func (s AwsRdsDbInstanceEndpoint) String() string {
18597	return awsutil.Prettify(s)
18598}
18599
18600// GoString returns the string representation
18601func (s AwsRdsDbInstanceEndpoint) GoString() string {
18602	return s.String()
18603}
18604
18605// SetAddress sets the Address field's value.
18606func (s *AwsRdsDbInstanceEndpoint) SetAddress(v string) *AwsRdsDbInstanceEndpoint {
18607	s.Address = &v
18608	return s
18609}
18610
18611// SetHostedZoneId sets the HostedZoneId field's value.
18612func (s *AwsRdsDbInstanceEndpoint) SetHostedZoneId(v string) *AwsRdsDbInstanceEndpoint {
18613	s.HostedZoneId = &v
18614	return s
18615}
18616
18617// SetPort sets the Port field's value.
18618func (s *AwsRdsDbInstanceEndpoint) SetPort(v int64) *AwsRdsDbInstanceEndpoint {
18619	s.Port = &v
18620	return s
18621}
18622
18623// A VPC security groups that the DB instance belongs to.
18624type AwsRdsDbInstanceVpcSecurityGroup struct {
18625	_ struct{} `type:"structure"`
18626
18627	// The status of the VPC security group.
18628	Status *string `type:"string"`
18629
18630	// The name of the VPC security group.
18631	VpcSecurityGroupId *string `type:"string"`
18632}
18633
18634// String returns the string representation
18635func (s AwsRdsDbInstanceVpcSecurityGroup) String() string {
18636	return awsutil.Prettify(s)
18637}
18638
18639// GoString returns the string representation
18640func (s AwsRdsDbInstanceVpcSecurityGroup) GoString() string {
18641	return s.String()
18642}
18643
18644// SetStatus sets the Status field's value.
18645func (s *AwsRdsDbInstanceVpcSecurityGroup) SetStatus(v string) *AwsRdsDbInstanceVpcSecurityGroup {
18646	s.Status = &v
18647	return s
18648}
18649
18650// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
18651func (s *AwsRdsDbInstanceVpcSecurityGroup) SetVpcSecurityGroupId(v string) *AwsRdsDbInstanceVpcSecurityGroup {
18652	s.VpcSecurityGroupId = &v
18653	return s
18654}
18655
18656// An option group membership.
18657type AwsRdsDbOptionGroupMembership struct {
18658	_ struct{} `type:"structure"`
18659
18660	// The name of the option group.
18661	OptionGroupName *string `type:"string"`
18662
18663	// The status of the option group membership.
18664	Status *string `type:"string"`
18665}
18666
18667// String returns the string representation
18668func (s AwsRdsDbOptionGroupMembership) String() string {
18669	return awsutil.Prettify(s)
18670}
18671
18672// GoString returns the string representation
18673func (s AwsRdsDbOptionGroupMembership) GoString() string {
18674	return s.String()
18675}
18676
18677// SetOptionGroupName sets the OptionGroupName field's value.
18678func (s *AwsRdsDbOptionGroupMembership) SetOptionGroupName(v string) *AwsRdsDbOptionGroupMembership {
18679	s.OptionGroupName = &v
18680	return s
18681}
18682
18683// SetStatus sets the Status field's value.
18684func (s *AwsRdsDbOptionGroupMembership) SetStatus(v string) *AwsRdsDbOptionGroupMembership {
18685	s.Status = &v
18686	return s
18687}
18688
18689// Provides information about a parameter group for a DB instance.
18690type AwsRdsDbParameterGroup struct {
18691	_ struct{} `type:"structure"`
18692
18693	// The name of the parameter group.
18694	DbParameterGroupName *string `type:"string"`
18695
18696	// The status of parameter updates.
18697	ParameterApplyStatus *string `type:"string"`
18698}
18699
18700// String returns the string representation
18701func (s AwsRdsDbParameterGroup) String() string {
18702	return awsutil.Prettify(s)
18703}
18704
18705// GoString returns the string representation
18706func (s AwsRdsDbParameterGroup) GoString() string {
18707	return s.String()
18708}
18709
18710// SetDbParameterGroupName sets the DbParameterGroupName field's value.
18711func (s *AwsRdsDbParameterGroup) SetDbParameterGroupName(v string) *AwsRdsDbParameterGroup {
18712	s.DbParameterGroupName = &v
18713	return s
18714}
18715
18716// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
18717func (s *AwsRdsDbParameterGroup) SetParameterApplyStatus(v string) *AwsRdsDbParameterGroup {
18718	s.ParameterApplyStatus = &v
18719	return s
18720}
18721
18722// Changes to a DB instance that are currently pending.
18723type AwsRdsDbPendingModifiedValues struct {
18724	_ struct{} `type:"structure"`
18725
18726	// The new value of the allocated storage for the DB instance.
18727	AllocatedStorage *int64 `type:"integer"`
18728
18729	// The new backup retention period for the DB instance.
18730	BackupRetentionPeriod *int64 `type:"integer"`
18731
18732	// The new CA certificate identifier for the DB instance.
18733	CaCertificateIdentifier *string `type:"string"`
18734
18735	// The new DB instance class for the DB instance.
18736	DbInstanceClass *string `type:"string"`
18737
18738	// The new DB instance identifier for the DB instance.
18739	DbInstanceIdentifier *string `type:"string"`
18740
18741	// The name of the new subnet group for the DB instance.
18742	DbSubnetGroupName *string `type:"string"`
18743
18744	// The new engine version for the DB instance.
18745	EngineVersion *string `type:"string"`
18746
18747	// The new provisioned IOPS value for the DB instance.
18748	Iops *int64 `type:"integer"`
18749
18750	// The new license model value for the DB instance.
18751	LicenseModel *string `type:"string"`
18752
18753	// The new master user password for the DB instance.
18754	MasterUserPassword *string `type:"string"`
18755
18756	// Indicates that a single Availability Zone DB instance is changing to a multiple
18757	// Availability Zone deployment.
18758	MultiAZ *bool `type:"boolean"`
18759
18760	// A list of log types that are being enabled or disabled.
18761	PendingCloudWatchLogsExports *AwsRdsPendingCloudWatchLogsExports `type:"structure"`
18762
18763	// The new port for the DB instance.
18764	Port *int64 `type:"integer"`
18765
18766	// Processor features that are being updated.
18767	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
18768
18769	// The new storage type for the DB instance.
18770	StorageType *string `type:"string"`
18771}
18772
18773// String returns the string representation
18774func (s AwsRdsDbPendingModifiedValues) String() string {
18775	return awsutil.Prettify(s)
18776}
18777
18778// GoString returns the string representation
18779func (s AwsRdsDbPendingModifiedValues) GoString() string {
18780	return s.String()
18781}
18782
18783// SetAllocatedStorage sets the AllocatedStorage field's value.
18784func (s *AwsRdsDbPendingModifiedValues) SetAllocatedStorage(v int64) *AwsRdsDbPendingModifiedValues {
18785	s.AllocatedStorage = &v
18786	return s
18787}
18788
18789// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
18790func (s *AwsRdsDbPendingModifiedValues) SetBackupRetentionPeriod(v int64) *AwsRdsDbPendingModifiedValues {
18791	s.BackupRetentionPeriod = &v
18792	return s
18793}
18794
18795// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
18796func (s *AwsRdsDbPendingModifiedValues) SetCaCertificateIdentifier(v string) *AwsRdsDbPendingModifiedValues {
18797	s.CaCertificateIdentifier = &v
18798	return s
18799}
18800
18801// SetDbInstanceClass sets the DbInstanceClass field's value.
18802func (s *AwsRdsDbPendingModifiedValues) SetDbInstanceClass(v string) *AwsRdsDbPendingModifiedValues {
18803	s.DbInstanceClass = &v
18804	return s
18805}
18806
18807// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
18808func (s *AwsRdsDbPendingModifiedValues) SetDbInstanceIdentifier(v string) *AwsRdsDbPendingModifiedValues {
18809	s.DbInstanceIdentifier = &v
18810	return s
18811}
18812
18813// SetDbSubnetGroupName sets the DbSubnetGroupName field's value.
18814func (s *AwsRdsDbPendingModifiedValues) SetDbSubnetGroupName(v string) *AwsRdsDbPendingModifiedValues {
18815	s.DbSubnetGroupName = &v
18816	return s
18817}
18818
18819// SetEngineVersion sets the EngineVersion field's value.
18820func (s *AwsRdsDbPendingModifiedValues) SetEngineVersion(v string) *AwsRdsDbPendingModifiedValues {
18821	s.EngineVersion = &v
18822	return s
18823}
18824
18825// SetIops sets the Iops field's value.
18826func (s *AwsRdsDbPendingModifiedValues) SetIops(v int64) *AwsRdsDbPendingModifiedValues {
18827	s.Iops = &v
18828	return s
18829}
18830
18831// SetLicenseModel sets the LicenseModel field's value.
18832func (s *AwsRdsDbPendingModifiedValues) SetLicenseModel(v string) *AwsRdsDbPendingModifiedValues {
18833	s.LicenseModel = &v
18834	return s
18835}
18836
18837// SetMasterUserPassword sets the MasterUserPassword field's value.
18838func (s *AwsRdsDbPendingModifiedValues) SetMasterUserPassword(v string) *AwsRdsDbPendingModifiedValues {
18839	s.MasterUserPassword = &v
18840	return s
18841}
18842
18843// SetMultiAZ sets the MultiAZ field's value.
18844func (s *AwsRdsDbPendingModifiedValues) SetMultiAZ(v bool) *AwsRdsDbPendingModifiedValues {
18845	s.MultiAZ = &v
18846	return s
18847}
18848
18849// SetPendingCloudWatchLogsExports sets the PendingCloudWatchLogsExports field's value.
18850func (s *AwsRdsDbPendingModifiedValues) SetPendingCloudWatchLogsExports(v *AwsRdsPendingCloudWatchLogsExports) *AwsRdsDbPendingModifiedValues {
18851	s.PendingCloudWatchLogsExports = v
18852	return s
18853}
18854
18855// SetPort sets the Port field's value.
18856func (s *AwsRdsDbPendingModifiedValues) SetPort(v int64) *AwsRdsDbPendingModifiedValues {
18857	s.Port = &v
18858	return s
18859}
18860
18861// SetProcessorFeatures sets the ProcessorFeatures field's value.
18862func (s *AwsRdsDbPendingModifiedValues) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbPendingModifiedValues {
18863	s.ProcessorFeatures = v
18864	return s
18865}
18866
18867// SetStorageType sets the StorageType field's value.
18868func (s *AwsRdsDbPendingModifiedValues) SetStorageType(v string) *AwsRdsDbPendingModifiedValues {
18869	s.StorageType = &v
18870	return s
18871}
18872
18873// A processor feature.
18874type AwsRdsDbProcessorFeature struct {
18875	_ struct{} `type:"structure"`
18876
18877	// The name of the processor feature.
18878	Name *string `type:"string"`
18879
18880	// The value of the processor feature.
18881	Value *string `type:"string"`
18882}
18883
18884// String returns the string representation
18885func (s AwsRdsDbProcessorFeature) String() string {
18886	return awsutil.Prettify(s)
18887}
18888
18889// GoString returns the string representation
18890func (s AwsRdsDbProcessorFeature) GoString() string {
18891	return s.String()
18892}
18893
18894// SetName sets the Name field's value.
18895func (s *AwsRdsDbProcessorFeature) SetName(v string) *AwsRdsDbProcessorFeature {
18896	s.Name = &v
18897	return s
18898}
18899
18900// SetValue sets the Value field's value.
18901func (s *AwsRdsDbProcessorFeature) SetValue(v string) *AwsRdsDbProcessorFeature {
18902	s.Value = &v
18903	return s
18904}
18905
18906// Provides details about an Amazon RDS DB cluster snapshot.
18907type AwsRdsDbSnapshotDetails struct {
18908	_ struct{} `type:"structure"`
18909
18910	// The amount of storage (in gigabytes) to be initially allocated for the database
18911	// instance.
18912	AllocatedStorage *int64 `type:"integer"`
18913
18914	// Specifies the name of the Availability Zone in which the DB instance was
18915	// located at the time of the DB snapshot.
18916	AvailabilityZone *string `type:"string"`
18917
18918	// A name for the DB instance.
18919	DbInstanceIdentifier *string `type:"string"`
18920
18921	// The name or ARN of the DB snapshot that is used to restore the DB instance.
18922	DbSnapshotIdentifier *string `type:"string"`
18923
18924	// The identifier for the source DB instance.
18925	DbiResourceId *string `type:"string"`
18926
18927	// Whether the DB snapshot is encrypted.
18928	Encrypted *bool `type:"boolean"`
18929
18930	// The name of the database engine to use for this DB instance.
18931	Engine *string `type:"string"`
18932
18933	// The version of the database engine.
18934	EngineVersion *string `type:"string"`
18935
18936	// Whether mapping of IAM accounts to database accounts is enabled.
18937	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
18938
18939	// Specifies the time in Coordinated Universal Time (UTC) when the DB instance,
18940	// from which the snapshot was taken, was created.
18941	InstanceCreateTime *string `type:"string"`
18942
18943	// The provisioned IOPS (I/O operations per second) value of the DB instance
18944	// at the time of the snapshot.
18945	Iops *int64 `type:"integer"`
18946
18947	// If Encrypted is true, the KMS key identifier for the encrypted DB snapshot.
18948	KmsKeyId *string `type:"string"`
18949
18950	// License model information for the restored DB instance.
18951	LicenseModel *string `type:"string"`
18952
18953	// The master user name for the DB snapshot.
18954	MasterUsername *string `type:"string"`
18955
18956	// The option group name for the DB snapshot.
18957	OptionGroupName *string `type:"string"`
18958
18959	// The percentage of the estimated data that has been transferred.
18960	PercentProgress *int64 `type:"integer"`
18961
18962	// The port that the database engine was listening on at the time of the snapshot.
18963	Port *int64 `type:"integer"`
18964
18965	// The number of CPU cores and the number of threads per core for the DB instance
18966	// class of the DB instance.
18967	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
18968
18969	// When the snapshot was taken in Coordinated Universal Time (UTC).
18970	SnapshotCreateTime *string `type:"string"`
18971
18972	// The type of the DB snapshot.
18973	SnapshotType *string `type:"string"`
18974
18975	// The DB snapshot ARN that the DB snapshot was copied from.
18976	SourceDbSnapshotIdentifier *string `type:"string"`
18977
18978	// The Amazon Web Services Region that the DB snapshot was created in or copied
18979	// from.
18980	SourceRegion *string `type:"string"`
18981
18982	// The status of this DB snapshot.
18983	Status *string `type:"string"`
18984
18985	// The storage type associated with the DB snapshot.
18986	StorageType *string `type:"string"`
18987
18988	// The ARN from the key store with which to associate the instance for TDE encryption.
18989	TdeCredentialArn *string `type:"string"`
18990
18991	// The time zone of the DB snapshot.
18992	Timezone *string `type:"string"`
18993
18994	// The VPC ID associated with the DB snapshot.
18995	VpcId *string `type:"string"`
18996}
18997
18998// String returns the string representation
18999func (s AwsRdsDbSnapshotDetails) String() string {
19000	return awsutil.Prettify(s)
19001}
19002
19003// GoString returns the string representation
19004func (s AwsRdsDbSnapshotDetails) GoString() string {
19005	return s.String()
19006}
19007
19008// SetAllocatedStorage sets the AllocatedStorage field's value.
19009func (s *AwsRdsDbSnapshotDetails) SetAllocatedStorage(v int64) *AwsRdsDbSnapshotDetails {
19010	s.AllocatedStorage = &v
19011	return s
19012}
19013
19014// SetAvailabilityZone sets the AvailabilityZone field's value.
19015func (s *AwsRdsDbSnapshotDetails) SetAvailabilityZone(v string) *AwsRdsDbSnapshotDetails {
19016	s.AvailabilityZone = &v
19017	return s
19018}
19019
19020// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
19021func (s *AwsRdsDbSnapshotDetails) SetDbInstanceIdentifier(v string) *AwsRdsDbSnapshotDetails {
19022	s.DbInstanceIdentifier = &v
19023	return s
19024}
19025
19026// SetDbSnapshotIdentifier sets the DbSnapshotIdentifier field's value.
19027func (s *AwsRdsDbSnapshotDetails) SetDbSnapshotIdentifier(v string) *AwsRdsDbSnapshotDetails {
19028	s.DbSnapshotIdentifier = &v
19029	return s
19030}
19031
19032// SetDbiResourceId sets the DbiResourceId field's value.
19033func (s *AwsRdsDbSnapshotDetails) SetDbiResourceId(v string) *AwsRdsDbSnapshotDetails {
19034	s.DbiResourceId = &v
19035	return s
19036}
19037
19038// SetEncrypted sets the Encrypted field's value.
19039func (s *AwsRdsDbSnapshotDetails) SetEncrypted(v bool) *AwsRdsDbSnapshotDetails {
19040	s.Encrypted = &v
19041	return s
19042}
19043
19044// SetEngine sets the Engine field's value.
19045func (s *AwsRdsDbSnapshotDetails) SetEngine(v string) *AwsRdsDbSnapshotDetails {
19046	s.Engine = &v
19047	return s
19048}
19049
19050// SetEngineVersion sets the EngineVersion field's value.
19051func (s *AwsRdsDbSnapshotDetails) SetEngineVersion(v string) *AwsRdsDbSnapshotDetails {
19052	s.EngineVersion = &v
19053	return s
19054}
19055
19056// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
19057func (s *AwsRdsDbSnapshotDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbSnapshotDetails {
19058	s.IamDatabaseAuthenticationEnabled = &v
19059	return s
19060}
19061
19062// SetInstanceCreateTime sets the InstanceCreateTime field's value.
19063func (s *AwsRdsDbSnapshotDetails) SetInstanceCreateTime(v string) *AwsRdsDbSnapshotDetails {
19064	s.InstanceCreateTime = &v
19065	return s
19066}
19067
19068// SetIops sets the Iops field's value.
19069func (s *AwsRdsDbSnapshotDetails) SetIops(v int64) *AwsRdsDbSnapshotDetails {
19070	s.Iops = &v
19071	return s
19072}
19073
19074// SetKmsKeyId sets the KmsKeyId field's value.
19075func (s *AwsRdsDbSnapshotDetails) SetKmsKeyId(v string) *AwsRdsDbSnapshotDetails {
19076	s.KmsKeyId = &v
19077	return s
19078}
19079
19080// SetLicenseModel sets the LicenseModel field's value.
19081func (s *AwsRdsDbSnapshotDetails) SetLicenseModel(v string) *AwsRdsDbSnapshotDetails {
19082	s.LicenseModel = &v
19083	return s
19084}
19085
19086// SetMasterUsername sets the MasterUsername field's value.
19087func (s *AwsRdsDbSnapshotDetails) SetMasterUsername(v string) *AwsRdsDbSnapshotDetails {
19088	s.MasterUsername = &v
19089	return s
19090}
19091
19092// SetOptionGroupName sets the OptionGroupName field's value.
19093func (s *AwsRdsDbSnapshotDetails) SetOptionGroupName(v string) *AwsRdsDbSnapshotDetails {
19094	s.OptionGroupName = &v
19095	return s
19096}
19097
19098// SetPercentProgress sets the PercentProgress field's value.
19099func (s *AwsRdsDbSnapshotDetails) SetPercentProgress(v int64) *AwsRdsDbSnapshotDetails {
19100	s.PercentProgress = &v
19101	return s
19102}
19103
19104// SetPort sets the Port field's value.
19105func (s *AwsRdsDbSnapshotDetails) SetPort(v int64) *AwsRdsDbSnapshotDetails {
19106	s.Port = &v
19107	return s
19108}
19109
19110// SetProcessorFeatures sets the ProcessorFeatures field's value.
19111func (s *AwsRdsDbSnapshotDetails) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbSnapshotDetails {
19112	s.ProcessorFeatures = v
19113	return s
19114}
19115
19116// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
19117func (s *AwsRdsDbSnapshotDetails) SetSnapshotCreateTime(v string) *AwsRdsDbSnapshotDetails {
19118	s.SnapshotCreateTime = &v
19119	return s
19120}
19121
19122// SetSnapshotType sets the SnapshotType field's value.
19123func (s *AwsRdsDbSnapshotDetails) SetSnapshotType(v string) *AwsRdsDbSnapshotDetails {
19124	s.SnapshotType = &v
19125	return s
19126}
19127
19128// SetSourceDbSnapshotIdentifier sets the SourceDbSnapshotIdentifier field's value.
19129func (s *AwsRdsDbSnapshotDetails) SetSourceDbSnapshotIdentifier(v string) *AwsRdsDbSnapshotDetails {
19130	s.SourceDbSnapshotIdentifier = &v
19131	return s
19132}
19133
19134// SetSourceRegion sets the SourceRegion field's value.
19135func (s *AwsRdsDbSnapshotDetails) SetSourceRegion(v string) *AwsRdsDbSnapshotDetails {
19136	s.SourceRegion = &v
19137	return s
19138}
19139
19140// SetStatus sets the Status field's value.
19141func (s *AwsRdsDbSnapshotDetails) SetStatus(v string) *AwsRdsDbSnapshotDetails {
19142	s.Status = &v
19143	return s
19144}
19145
19146// SetStorageType sets the StorageType field's value.
19147func (s *AwsRdsDbSnapshotDetails) SetStorageType(v string) *AwsRdsDbSnapshotDetails {
19148	s.StorageType = &v
19149	return s
19150}
19151
19152// SetTdeCredentialArn sets the TdeCredentialArn field's value.
19153func (s *AwsRdsDbSnapshotDetails) SetTdeCredentialArn(v string) *AwsRdsDbSnapshotDetails {
19154	s.TdeCredentialArn = &v
19155	return s
19156}
19157
19158// SetTimezone sets the Timezone field's value.
19159func (s *AwsRdsDbSnapshotDetails) SetTimezone(v string) *AwsRdsDbSnapshotDetails {
19160	s.Timezone = &v
19161	return s
19162}
19163
19164// SetVpcId sets the VpcId field's value.
19165func (s *AwsRdsDbSnapshotDetails) SetVpcId(v string) *AwsRdsDbSnapshotDetails {
19166	s.VpcId = &v
19167	return s
19168}
19169
19170// Information about the status of a read replica.
19171type AwsRdsDbStatusInfo struct {
19172	_ struct{} `type:"structure"`
19173
19174	// If the read replica is currently in an error state, provides the error details.
19175	Message *string `type:"string"`
19176
19177	// Whether the read replica instance is operating normally.
19178	Normal *bool `type:"boolean"`
19179
19180	// The status of the read replica instance.
19181	Status *string `type:"string"`
19182
19183	// The type of status. For a read replica, the status type is read replication.
19184	StatusType *string `type:"string"`
19185}
19186
19187// String returns the string representation
19188func (s AwsRdsDbStatusInfo) String() string {
19189	return awsutil.Prettify(s)
19190}
19191
19192// GoString returns the string representation
19193func (s AwsRdsDbStatusInfo) GoString() string {
19194	return s.String()
19195}
19196
19197// SetMessage sets the Message field's value.
19198func (s *AwsRdsDbStatusInfo) SetMessage(v string) *AwsRdsDbStatusInfo {
19199	s.Message = &v
19200	return s
19201}
19202
19203// SetNormal sets the Normal field's value.
19204func (s *AwsRdsDbStatusInfo) SetNormal(v bool) *AwsRdsDbStatusInfo {
19205	s.Normal = &v
19206	return s
19207}
19208
19209// SetStatus sets the Status field's value.
19210func (s *AwsRdsDbStatusInfo) SetStatus(v string) *AwsRdsDbStatusInfo {
19211	s.Status = &v
19212	return s
19213}
19214
19215// SetStatusType sets the StatusType field's value.
19216func (s *AwsRdsDbStatusInfo) SetStatusType(v string) *AwsRdsDbStatusInfo {
19217	s.StatusType = &v
19218	return s
19219}
19220
19221// Information about the subnet group for the database instance.
19222type AwsRdsDbSubnetGroup struct {
19223	_ struct{} `type:"structure"`
19224
19225	// The ARN of the subnet group.
19226	DbSubnetGroupArn *string `type:"string"`
19227
19228	// The description of the subnet group.
19229	DbSubnetGroupDescription *string `type:"string"`
19230
19231	// The name of the subnet group.
19232	DbSubnetGroupName *string `type:"string"`
19233
19234	// The status of the subnet group.
19235	SubnetGroupStatus *string `type:"string"`
19236
19237	// A list of subnets in the subnet group.
19238	Subnets []*AwsRdsDbSubnetGroupSubnet `type:"list"`
19239
19240	// The VPC ID of the subnet group.
19241	VpcId *string `type:"string"`
19242}
19243
19244// String returns the string representation
19245func (s AwsRdsDbSubnetGroup) String() string {
19246	return awsutil.Prettify(s)
19247}
19248
19249// GoString returns the string representation
19250func (s AwsRdsDbSubnetGroup) GoString() string {
19251	return s.String()
19252}
19253
19254// SetDbSubnetGroupArn sets the DbSubnetGroupArn field's value.
19255func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupArn(v string) *AwsRdsDbSubnetGroup {
19256	s.DbSubnetGroupArn = &v
19257	return s
19258}
19259
19260// SetDbSubnetGroupDescription sets the DbSubnetGroupDescription field's value.
19261func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupDescription(v string) *AwsRdsDbSubnetGroup {
19262	s.DbSubnetGroupDescription = &v
19263	return s
19264}
19265
19266// SetDbSubnetGroupName sets the DbSubnetGroupName field's value.
19267func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupName(v string) *AwsRdsDbSubnetGroup {
19268	s.DbSubnetGroupName = &v
19269	return s
19270}
19271
19272// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
19273func (s *AwsRdsDbSubnetGroup) SetSubnetGroupStatus(v string) *AwsRdsDbSubnetGroup {
19274	s.SubnetGroupStatus = &v
19275	return s
19276}
19277
19278// SetSubnets sets the Subnets field's value.
19279func (s *AwsRdsDbSubnetGroup) SetSubnets(v []*AwsRdsDbSubnetGroupSubnet) *AwsRdsDbSubnetGroup {
19280	s.Subnets = v
19281	return s
19282}
19283
19284// SetVpcId sets the VpcId field's value.
19285func (s *AwsRdsDbSubnetGroup) SetVpcId(v string) *AwsRdsDbSubnetGroup {
19286	s.VpcId = &v
19287	return s
19288}
19289
19290// Information about a subnet in a subnet group.
19291type AwsRdsDbSubnetGroupSubnet struct {
19292	_ struct{} `type:"structure"`
19293
19294	// Information about the Availability Zone for a subnet in the subnet group.
19295	SubnetAvailabilityZone *AwsRdsDbSubnetGroupSubnetAvailabilityZone `type:"structure"`
19296
19297	// The identifier of a subnet in the subnet group.
19298	SubnetIdentifier *string `type:"string"`
19299
19300	// The status of a subnet in the subnet group.
19301	SubnetStatus *string `type:"string"`
19302}
19303
19304// String returns the string representation
19305func (s AwsRdsDbSubnetGroupSubnet) String() string {
19306	return awsutil.Prettify(s)
19307}
19308
19309// GoString returns the string representation
19310func (s AwsRdsDbSubnetGroupSubnet) GoString() string {
19311	return s.String()
19312}
19313
19314// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
19315func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetAvailabilityZone(v *AwsRdsDbSubnetGroupSubnetAvailabilityZone) *AwsRdsDbSubnetGroupSubnet {
19316	s.SubnetAvailabilityZone = v
19317	return s
19318}
19319
19320// SetSubnetIdentifier sets the SubnetIdentifier field's value.
19321func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetIdentifier(v string) *AwsRdsDbSubnetGroupSubnet {
19322	s.SubnetIdentifier = &v
19323	return s
19324}
19325
19326// SetSubnetStatus sets the SubnetStatus field's value.
19327func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetStatus(v string) *AwsRdsDbSubnetGroupSubnet {
19328	s.SubnetStatus = &v
19329	return s
19330}
19331
19332// An Availability Zone for a subnet in a subnet group.
19333type AwsRdsDbSubnetGroupSubnetAvailabilityZone struct {
19334	_ struct{} `type:"structure"`
19335
19336	// The name of the Availability Zone for a subnet in the subnet group.
19337	Name *string `type:"string"`
19338}
19339
19340// String returns the string representation
19341func (s AwsRdsDbSubnetGroupSubnetAvailabilityZone) String() string {
19342	return awsutil.Prettify(s)
19343}
19344
19345// GoString returns the string representation
19346func (s AwsRdsDbSubnetGroupSubnetAvailabilityZone) GoString() string {
19347	return s.String()
19348}
19349
19350// SetName sets the Name field's value.
19351func (s *AwsRdsDbSubnetGroupSubnetAvailabilityZone) SetName(v string) *AwsRdsDbSubnetGroupSubnetAvailabilityZone {
19352	s.Name = &v
19353	return s
19354}
19355
19356// Details about an Amazon RDS event notification subscription. The subscription
19357// allows Amazon RDS to post events to an SNS topic.
19358type AwsRdsEventSubscriptionDetails struct {
19359	_ struct{} `type:"structure"`
19360
19361	// The identifier of the account that is associated with the event notification
19362	// subscription.
19363	CustSubscriptionId *string `type:"string"`
19364
19365	// The identifier of the event notification subscription.
19366	CustomerAwsId *string `type:"string"`
19367
19368	// Whether the event notification subscription is enabled.
19369	Enabled *bool `type:"boolean"`
19370
19371	// The list of event categories for the event notification subscription.
19372	EventCategoriesList []*string `type:"list"`
19373
19374	// The ARN of the event notification subscription.
19375	EventSubscriptionArn *string `type:"string"`
19376
19377	// The ARN of the SNS topic to post the event notifications to.
19378	SnsTopicArn *string `type:"string"`
19379
19380	// A list of source identifiers for the event notification subscription.
19381	SourceIdsList []*string `type:"list"`
19382
19383	// The source type for the event notification subscription.
19384	SourceType *string `type:"string"`
19385
19386	// The status of the event notification subscription.
19387	//
19388	// Valid values: creating | modifying | deleting | active | no-permission |
19389	// topic-not-exist
19390	Status *string `type:"string"`
19391
19392	// The datetime when the event notification subscription was created.
19393	//
19394	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
19395	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
19396	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
19397	SubscriptionCreationTime *string `type:"string"`
19398}
19399
19400// String returns the string representation
19401func (s AwsRdsEventSubscriptionDetails) String() string {
19402	return awsutil.Prettify(s)
19403}
19404
19405// GoString returns the string representation
19406func (s AwsRdsEventSubscriptionDetails) GoString() string {
19407	return s.String()
19408}
19409
19410// SetCustSubscriptionId sets the CustSubscriptionId field's value.
19411func (s *AwsRdsEventSubscriptionDetails) SetCustSubscriptionId(v string) *AwsRdsEventSubscriptionDetails {
19412	s.CustSubscriptionId = &v
19413	return s
19414}
19415
19416// SetCustomerAwsId sets the CustomerAwsId field's value.
19417func (s *AwsRdsEventSubscriptionDetails) SetCustomerAwsId(v string) *AwsRdsEventSubscriptionDetails {
19418	s.CustomerAwsId = &v
19419	return s
19420}
19421
19422// SetEnabled sets the Enabled field's value.
19423func (s *AwsRdsEventSubscriptionDetails) SetEnabled(v bool) *AwsRdsEventSubscriptionDetails {
19424	s.Enabled = &v
19425	return s
19426}
19427
19428// SetEventCategoriesList sets the EventCategoriesList field's value.
19429func (s *AwsRdsEventSubscriptionDetails) SetEventCategoriesList(v []*string) *AwsRdsEventSubscriptionDetails {
19430	s.EventCategoriesList = v
19431	return s
19432}
19433
19434// SetEventSubscriptionArn sets the EventSubscriptionArn field's value.
19435func (s *AwsRdsEventSubscriptionDetails) SetEventSubscriptionArn(v string) *AwsRdsEventSubscriptionDetails {
19436	s.EventSubscriptionArn = &v
19437	return s
19438}
19439
19440// SetSnsTopicArn sets the SnsTopicArn field's value.
19441func (s *AwsRdsEventSubscriptionDetails) SetSnsTopicArn(v string) *AwsRdsEventSubscriptionDetails {
19442	s.SnsTopicArn = &v
19443	return s
19444}
19445
19446// SetSourceIdsList sets the SourceIdsList field's value.
19447func (s *AwsRdsEventSubscriptionDetails) SetSourceIdsList(v []*string) *AwsRdsEventSubscriptionDetails {
19448	s.SourceIdsList = v
19449	return s
19450}
19451
19452// SetSourceType sets the SourceType field's value.
19453func (s *AwsRdsEventSubscriptionDetails) SetSourceType(v string) *AwsRdsEventSubscriptionDetails {
19454	s.SourceType = &v
19455	return s
19456}
19457
19458// SetStatus sets the Status field's value.
19459func (s *AwsRdsEventSubscriptionDetails) SetStatus(v string) *AwsRdsEventSubscriptionDetails {
19460	s.Status = &v
19461	return s
19462}
19463
19464// SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
19465func (s *AwsRdsEventSubscriptionDetails) SetSubscriptionCreationTime(v string) *AwsRdsEventSubscriptionDetails {
19466	s.SubscriptionCreationTime = &v
19467	return s
19468}
19469
19470// Identifies the log types to enable and disable.
19471type AwsRdsPendingCloudWatchLogsExports struct {
19472	_ struct{} `type:"structure"`
19473
19474	// A list of log types that are being disabled.
19475	LogTypesToDisable []*string `type:"list"`
19476
19477	// A list of log types that are being enabled.
19478	LogTypesToEnable []*string `type:"list"`
19479}
19480
19481// String returns the string representation
19482func (s AwsRdsPendingCloudWatchLogsExports) String() string {
19483	return awsutil.Prettify(s)
19484}
19485
19486// GoString returns the string representation
19487func (s AwsRdsPendingCloudWatchLogsExports) GoString() string {
19488	return s.String()
19489}
19490
19491// SetLogTypesToDisable sets the LogTypesToDisable field's value.
19492func (s *AwsRdsPendingCloudWatchLogsExports) SetLogTypesToDisable(v []*string) *AwsRdsPendingCloudWatchLogsExports {
19493	s.LogTypesToDisable = v
19494	return s
19495}
19496
19497// SetLogTypesToEnable sets the LogTypesToEnable field's value.
19498func (s *AwsRdsPendingCloudWatchLogsExports) SetLogTypesToEnable(v []*string) *AwsRdsPendingCloudWatchLogsExports {
19499	s.LogTypesToEnable = v
19500	return s
19501}
19502
19503// A node in an Amazon Redshift cluster.
19504type AwsRedshiftClusterClusterNode struct {
19505	_ struct{} `type:"structure"`
19506
19507	// The role of the node. A node might be a leader node or a compute node.
19508	NodeRole *string `type:"string"`
19509
19510	// The private IP address of the node.
19511	PrivateIpAddress *string `type:"string"`
19512
19513	// The public IP address of the node.
19514	PublicIpAddress *string `type:"string"`
19515}
19516
19517// String returns the string representation
19518func (s AwsRedshiftClusterClusterNode) String() string {
19519	return awsutil.Prettify(s)
19520}
19521
19522// GoString returns the string representation
19523func (s AwsRedshiftClusterClusterNode) GoString() string {
19524	return s.String()
19525}
19526
19527// SetNodeRole sets the NodeRole field's value.
19528func (s *AwsRedshiftClusterClusterNode) SetNodeRole(v string) *AwsRedshiftClusterClusterNode {
19529	s.NodeRole = &v
19530	return s
19531}
19532
19533// SetPrivateIpAddress sets the PrivateIpAddress field's value.
19534func (s *AwsRedshiftClusterClusterNode) SetPrivateIpAddress(v string) *AwsRedshiftClusterClusterNode {
19535	s.PrivateIpAddress = &v
19536	return s
19537}
19538
19539// SetPublicIpAddress sets the PublicIpAddress field's value.
19540func (s *AwsRedshiftClusterClusterNode) SetPublicIpAddress(v string) *AwsRedshiftClusterClusterNode {
19541	s.PublicIpAddress = &v
19542	return s
19543}
19544
19545// A cluster parameter group that is associated with an Amazon Redshift cluster.
19546type AwsRedshiftClusterClusterParameterGroup struct {
19547	_ struct{} `type:"structure"`
19548
19549	// The list of parameter statuses.
19550	ClusterParameterStatusList []*AwsRedshiftClusterClusterParameterStatus `type:"list"`
19551
19552	// The status of updates to the parameters.
19553	ParameterApplyStatus *string `type:"string"`
19554
19555	// The name of the parameter group.
19556	ParameterGroupName *string `type:"string"`
19557}
19558
19559// String returns the string representation
19560func (s AwsRedshiftClusterClusterParameterGroup) String() string {
19561	return awsutil.Prettify(s)
19562}
19563
19564// GoString returns the string representation
19565func (s AwsRedshiftClusterClusterParameterGroup) GoString() string {
19566	return s.String()
19567}
19568
19569// SetClusterParameterStatusList sets the ClusterParameterStatusList field's value.
19570func (s *AwsRedshiftClusterClusterParameterGroup) SetClusterParameterStatusList(v []*AwsRedshiftClusterClusterParameterStatus) *AwsRedshiftClusterClusterParameterGroup {
19571	s.ClusterParameterStatusList = v
19572	return s
19573}
19574
19575// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
19576func (s *AwsRedshiftClusterClusterParameterGroup) SetParameterApplyStatus(v string) *AwsRedshiftClusterClusterParameterGroup {
19577	s.ParameterApplyStatus = &v
19578	return s
19579}
19580
19581// SetParameterGroupName sets the ParameterGroupName field's value.
19582func (s *AwsRedshiftClusterClusterParameterGroup) SetParameterGroupName(v string) *AwsRedshiftClusterClusterParameterGroup {
19583	s.ParameterGroupName = &v
19584	return s
19585}
19586
19587// The status of a parameter in a cluster parameter group for an Amazon Redshift
19588// cluster.
19589type AwsRedshiftClusterClusterParameterStatus struct {
19590	_ struct{} `type:"structure"`
19591
19592	// The error that prevented the parameter from being applied to the database.
19593	ParameterApplyErrorDescription *string `type:"string"`
19594
19595	// The status of the parameter. Indicates whether the parameter is in sync with
19596	// the database, waiting for a cluster reboot, or encountered an error when
19597	// it was applied.
19598	//
19599	// Valid values: in-sync | pending-reboot | applying | invalid-parameter | apply-deferred
19600	// | apply-error | unknown-error
19601	ParameterApplyStatus *string `type:"string"`
19602
19603	// The name of the parameter.
19604	ParameterName *string `type:"string"`
19605}
19606
19607// String returns the string representation
19608func (s AwsRedshiftClusterClusterParameterStatus) String() string {
19609	return awsutil.Prettify(s)
19610}
19611
19612// GoString returns the string representation
19613func (s AwsRedshiftClusterClusterParameterStatus) GoString() string {
19614	return s.String()
19615}
19616
19617// SetParameterApplyErrorDescription sets the ParameterApplyErrorDescription field's value.
19618func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterApplyErrorDescription(v string) *AwsRedshiftClusterClusterParameterStatus {
19619	s.ParameterApplyErrorDescription = &v
19620	return s
19621}
19622
19623// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
19624func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterApplyStatus(v string) *AwsRedshiftClusterClusterParameterStatus {
19625	s.ParameterApplyStatus = &v
19626	return s
19627}
19628
19629// SetParameterName sets the ParameterName field's value.
19630func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterName(v string) *AwsRedshiftClusterClusterParameterStatus {
19631	s.ParameterName = &v
19632	return s
19633}
19634
19635// A security group that is associated with the cluster.
19636type AwsRedshiftClusterClusterSecurityGroup struct {
19637	_ struct{} `type:"structure"`
19638
19639	// The name of the cluster security group.
19640	ClusterSecurityGroupName *string `type:"string"`
19641
19642	// The status of the cluster security group.
19643	Status *string `type:"string"`
19644}
19645
19646// String returns the string representation
19647func (s AwsRedshiftClusterClusterSecurityGroup) String() string {
19648	return awsutil.Prettify(s)
19649}
19650
19651// GoString returns the string representation
19652func (s AwsRedshiftClusterClusterSecurityGroup) GoString() string {
19653	return s.String()
19654}
19655
19656// SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value.
19657func (s *AwsRedshiftClusterClusterSecurityGroup) SetClusterSecurityGroupName(v string) *AwsRedshiftClusterClusterSecurityGroup {
19658	s.ClusterSecurityGroupName = &v
19659	return s
19660}
19661
19662// SetStatus sets the Status field's value.
19663func (s *AwsRedshiftClusterClusterSecurityGroup) SetStatus(v string) *AwsRedshiftClusterClusterSecurityGroup {
19664	s.Status = &v
19665	return s
19666}
19667
19668// Information about a cross-Region snapshot copy.
19669type AwsRedshiftClusterClusterSnapshotCopyStatus struct {
19670	_ struct{} `type:"structure"`
19671
19672	// The destination Region that snapshots are automatically copied to when cross-Region
19673	// snapshot copy is enabled.
19674	DestinationRegion *string `type:"string"`
19675
19676	// The number of days that manual snapshots are retained in the destination
19677	// region after they are copied from a source region.
19678	//
19679	// If the value is -1, then the manual snapshot is retained indefinitely.
19680	//
19681	// Valid values: Either -1 or an integer between 1 and 3,653
19682	ManualSnapshotRetentionPeriod *int64 `type:"integer"`
19683
19684	// The number of days to retain automated snapshots in the destination Region
19685	// after they are copied from a source Region.
19686	RetentionPeriod *int64 `type:"integer"`
19687
19688	// The name of the snapshot copy grant.
19689	SnapshotCopyGrantName *string `type:"string"`
19690}
19691
19692// String returns the string representation
19693func (s AwsRedshiftClusterClusterSnapshotCopyStatus) String() string {
19694	return awsutil.Prettify(s)
19695}
19696
19697// GoString returns the string representation
19698func (s AwsRedshiftClusterClusterSnapshotCopyStatus) GoString() string {
19699	return s.String()
19700}
19701
19702// SetDestinationRegion sets the DestinationRegion field's value.
19703func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetDestinationRegion(v string) *AwsRedshiftClusterClusterSnapshotCopyStatus {
19704	s.DestinationRegion = &v
19705	return s
19706}
19707
19708// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
19709func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetManualSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterClusterSnapshotCopyStatus {
19710	s.ManualSnapshotRetentionPeriod = &v
19711	return s
19712}
19713
19714// SetRetentionPeriod sets the RetentionPeriod field's value.
19715func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetRetentionPeriod(v int64) *AwsRedshiftClusterClusterSnapshotCopyStatus {
19716	s.RetentionPeriod = &v
19717	return s
19718}
19719
19720// SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value.
19721func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetSnapshotCopyGrantName(v string) *AwsRedshiftClusterClusterSnapshotCopyStatus {
19722	s.SnapshotCopyGrantName = &v
19723	return s
19724}
19725
19726// A time windows during which maintenance was deferred for an Amazon Redshift
19727// cluster.
19728type AwsRedshiftClusterDeferredMaintenanceWindow struct {
19729	_ struct{} `type:"structure"`
19730
19731	// The end of the time window for which maintenance was deferred.
19732	//
19733	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
19734	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
19735	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
19736	DeferMaintenanceEndTime *string `type:"string"`
19737
19738	// The identifier of the maintenance window.
19739	DeferMaintenanceIdentifier *string `type:"string"`
19740
19741	// The start of the time window for which maintenance was deferred.
19742	//
19743	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
19744	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
19745	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
19746	DeferMaintenanceStartTime *string `type:"string"`
19747}
19748
19749// String returns the string representation
19750func (s AwsRedshiftClusterDeferredMaintenanceWindow) String() string {
19751	return awsutil.Prettify(s)
19752}
19753
19754// GoString returns the string representation
19755func (s AwsRedshiftClusterDeferredMaintenanceWindow) GoString() string {
19756	return s.String()
19757}
19758
19759// SetDeferMaintenanceEndTime sets the DeferMaintenanceEndTime field's value.
19760func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceEndTime(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
19761	s.DeferMaintenanceEndTime = &v
19762	return s
19763}
19764
19765// SetDeferMaintenanceIdentifier sets the DeferMaintenanceIdentifier field's value.
19766func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceIdentifier(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
19767	s.DeferMaintenanceIdentifier = &v
19768	return s
19769}
19770
19771// SetDeferMaintenanceStartTime sets the DeferMaintenanceStartTime field's value.
19772func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceStartTime(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
19773	s.DeferMaintenanceStartTime = &v
19774	return s
19775}
19776
19777// Details about an Amazon Redshift cluster.
19778type AwsRedshiftClusterDetails struct {
19779	_ struct{} `type:"structure"`
19780
19781	// Indicates whether major version upgrades are applied automatically to the
19782	// cluster during the maintenance window.
19783	AllowVersionUpgrade *bool `type:"boolean"`
19784
19785	// The number of days that automatic cluster snapshots are retained.
19786	AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
19787
19788	// The name of the Availability Zone in which the cluster is located.
19789	AvailabilityZone *string `type:"string"`
19790
19791	// The availability status of the cluster for queries. Possible values are the
19792	// following:
19793	//
19794	//    * Available - The cluster is available for queries.
19795	//
19796	//    * Unavailable - The cluster is not available for queries.
19797	//
19798	//    * Maintenance - The cluster is intermittently available for queries due
19799	//    to maintenance activities.
19800	//
19801	//    * Modifying -The cluster is intermittently available for queries due to
19802	//    changes that modify the cluster.
19803	//
19804	//    * Failed - The cluster failed and is not available for queries.
19805	ClusterAvailabilityStatus *string `type:"string"`
19806
19807	// Indicates when the cluster was created.
19808	//
19809	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
19810	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
19811	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
19812	ClusterCreateTime *string `type:"string"`
19813
19814	// The unique identifier of the cluster.
19815	ClusterIdentifier *string `type:"string"`
19816
19817	// The nodes in the cluster.
19818	ClusterNodes []*AwsRedshiftClusterClusterNode `type:"list"`
19819
19820	// The list of cluster parameter groups that are associated with this cluster.
19821	ClusterParameterGroups []*AwsRedshiftClusterClusterParameterGroup `type:"list"`
19822
19823	// The public key for the cluster.
19824	ClusterPublicKey *string `type:"string"`
19825
19826	// The specific revision number of the database in the cluster.
19827	ClusterRevisionNumber *string `type:"string"`
19828
19829	// A list of cluster security groups that are associated with the cluster.
19830	ClusterSecurityGroups []*AwsRedshiftClusterClusterSecurityGroup `type:"list"`
19831
19832	// Information about the destination Region and retention period for the cross-Region
19833	// snapshot copy.
19834	ClusterSnapshotCopyStatus *AwsRedshiftClusterClusterSnapshotCopyStatus `type:"structure"`
19835
19836	// The current status of the cluster.
19837	//
19838	// Valid values: available | available, prep-for-resize | available, resize-cleanup
19839	// |cancelling-resize | creating | deleting | final-snapshot | hardware-failure
19840	// | incompatible-hsm |incompatible-network | incompatible-parameters | incompatible-restore
19841	// | modifying | paused | rebooting | renaming | resizing | rotating-keys |
19842	// storage-full | updating-hsm
19843	ClusterStatus *string `type:"string"`
19844
19845	// The name of the subnet group that is associated with the cluster. This parameter
19846	// is valid only when the cluster is in a VPC.
19847	ClusterSubnetGroupName *string `type:"string"`
19848
19849	// The version ID of the Amazon Redshift engine that runs on the cluster.
19850	ClusterVersion *string `type:"string"`
19851
19852	// The name of the initial database that was created when the cluster was created.
19853	//
19854	// The same name is returned for the life of the cluster.
19855	//
19856	// If an initial database is not specified, a database named devdev is created
19857	// by default.
19858	DBName *string `type:"string"`
19859
19860	// List of time windows during which maintenance was deferred.
19861	DeferredMaintenanceWindows []*AwsRedshiftClusterDeferredMaintenanceWindow `type:"list"`
19862
19863	// Information about the status of the Elastic IP (EIP) address.
19864	ElasticIpStatus *AwsRedshiftClusterElasticIpStatus `type:"structure"`
19865
19866	// The number of nodes that you can use the elastic resize method to resize
19867	// the cluster to.
19868	ElasticResizeNumberOfNodeOptions *string `type:"string"`
19869
19870	// Indicates whether the data in the cluster is encrypted at rest.
19871	Encrypted *bool `type:"boolean"`
19872
19873	// The connection endpoint.
19874	Endpoint *AwsRedshiftClusterEndpoint `type:"structure"`
19875
19876	// Indicates whether to create the cluster with enhanced VPC routing enabled.
19877	EnhancedVpcRouting *bool `type:"boolean"`
19878
19879	// Indicates when the next snapshot is expected to be taken. The cluster must
19880	// have a valid snapshot schedule and have backups enabled.
19881	//
19882	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
19883	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
19884	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
19885	ExpectedNextSnapshotScheduleTime *string `type:"string"`
19886
19887	// The status of the next expected snapshot.
19888	//
19889	// Valid values: OnTrack | Pending
19890	ExpectedNextSnapshotScheduleTimeStatus *string `type:"string"`
19891
19892	// Information about whether the Amazon Redshift cluster finished applying any
19893	// changes to hardware security module (HSM) settings that were specified in
19894	// a modify cluster command.
19895	HsmStatus *AwsRedshiftClusterHsmStatus `type:"structure"`
19896
19897	// A list of IAM roles that the cluster can use to access other Amazon Web Services
19898	// services.
19899	IamRoles []*AwsRedshiftClusterIamRole `type:"list"`
19900
19901	// The identifier of the KMS encryption key that is used to encrypt data in
19902	// the cluster.
19903	KmsKeyId *string `type:"string"`
19904
19905	// The name of the maintenance track for the cluster.
19906	MaintenanceTrackName *string `type:"string"`
19907
19908	// The default number of days to retain a manual snapshot.
19909	//
19910	// If the value is -1, the snapshot is retained indefinitely.
19911	//
19912	// This setting doesn't change the retention period of existing snapshots.
19913	//
19914	// Valid values: Either -1 or an integer between 1 and 3,653
19915	ManualSnapshotRetentionPeriod *int64 `type:"integer"`
19916
19917	// The master user name for the cluster. This name is used to connect to the
19918	// database that is specified in as the value of DBName.
19919	MasterUsername *string `type:"string"`
19920
19921	// Indicates the start of the next maintenance window.
19922	//
19923	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
19924	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
19925	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
19926	NextMaintenanceWindowStartTime *string `type:"string"`
19927
19928	// The node type for the nodes in the cluster.
19929	NodeType *string `type:"string"`
19930
19931	// The number of compute nodes in the cluster.
19932	NumberOfNodes *int64 `type:"integer"`
19933
19934	// A list of cluster operations that are waiting to start.
19935	PendingActions []*string `type:"list"`
19936
19937	// A list of changes to the cluster that are currently pending.
19938	PendingModifiedValues *AwsRedshiftClusterPendingModifiedValues `type:"structure"`
19939
19940	// The weekly time range, in Universal Coordinated Time (UTC), during which
19941	// system maintenance can occur.
19942	//
19943	// Format: <day>:HH:MM-<day>:HH:MM
19944	//
19945	// For the day values, use mon | tue | wed | thu | fri | sat | sun
19946	//
19947	// For example, sun:09:32-sun:10:02
19948	PreferredMaintenanceWindow *string `type:"string"`
19949
19950	// Whether the cluster can be accessed from a public network.
19951	PubliclyAccessible *bool `type:"boolean"`
19952
19953	// Information about the resize operation for the cluster.
19954	ResizeInfo *AwsRedshiftClusterResizeInfo `type:"structure"`
19955
19956	// Information about the status of a cluster restore action. Only applies to
19957	// a cluster that was created by restoring a snapshot.
19958	RestoreStatus *AwsRedshiftClusterRestoreStatus `type:"structure"`
19959
19960	// A unique identifier for the cluster snapshot schedule.
19961	SnapshotScheduleIdentifier *string `type:"string"`
19962
19963	// The current state of the cluster snapshot schedule.
19964	//
19965	// Valid values: MODIFYING | ACTIVE | FAILED
19966	SnapshotScheduleState *string `type:"string"`
19967
19968	// The identifier of the VPC that the cluster is in, if the cluster is in a
19969	// VPC.
19970	VpcId *string `type:"string"`
19971
19972	// The list of VPC security groups that the cluster belongs to, if the cluster
19973	// is in a VPC.
19974	VpcSecurityGroups []*AwsRedshiftClusterVpcSecurityGroup `type:"list"`
19975}
19976
19977// String returns the string representation
19978func (s AwsRedshiftClusterDetails) String() string {
19979	return awsutil.Prettify(s)
19980}
19981
19982// GoString returns the string representation
19983func (s AwsRedshiftClusterDetails) GoString() string {
19984	return s.String()
19985}
19986
19987// SetAllowVersionUpgrade sets the AllowVersionUpgrade field's value.
19988func (s *AwsRedshiftClusterDetails) SetAllowVersionUpgrade(v bool) *AwsRedshiftClusterDetails {
19989	s.AllowVersionUpgrade = &v
19990	return s
19991}
19992
19993// SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
19994func (s *AwsRedshiftClusterDetails) SetAutomatedSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterDetails {
19995	s.AutomatedSnapshotRetentionPeriod = &v
19996	return s
19997}
19998
19999// SetAvailabilityZone sets the AvailabilityZone field's value.
20000func (s *AwsRedshiftClusterDetails) SetAvailabilityZone(v string) *AwsRedshiftClusterDetails {
20001	s.AvailabilityZone = &v
20002	return s
20003}
20004
20005// SetClusterAvailabilityStatus sets the ClusterAvailabilityStatus field's value.
20006func (s *AwsRedshiftClusterDetails) SetClusterAvailabilityStatus(v string) *AwsRedshiftClusterDetails {
20007	s.ClusterAvailabilityStatus = &v
20008	return s
20009}
20010
20011// SetClusterCreateTime sets the ClusterCreateTime field's value.
20012func (s *AwsRedshiftClusterDetails) SetClusterCreateTime(v string) *AwsRedshiftClusterDetails {
20013	s.ClusterCreateTime = &v
20014	return s
20015}
20016
20017// SetClusterIdentifier sets the ClusterIdentifier field's value.
20018func (s *AwsRedshiftClusterDetails) SetClusterIdentifier(v string) *AwsRedshiftClusterDetails {
20019	s.ClusterIdentifier = &v
20020	return s
20021}
20022
20023// SetClusterNodes sets the ClusterNodes field's value.
20024func (s *AwsRedshiftClusterDetails) SetClusterNodes(v []*AwsRedshiftClusterClusterNode) *AwsRedshiftClusterDetails {
20025	s.ClusterNodes = v
20026	return s
20027}
20028
20029// SetClusterParameterGroups sets the ClusterParameterGroups field's value.
20030func (s *AwsRedshiftClusterDetails) SetClusterParameterGroups(v []*AwsRedshiftClusterClusterParameterGroup) *AwsRedshiftClusterDetails {
20031	s.ClusterParameterGroups = v
20032	return s
20033}
20034
20035// SetClusterPublicKey sets the ClusterPublicKey field's value.
20036func (s *AwsRedshiftClusterDetails) SetClusterPublicKey(v string) *AwsRedshiftClusterDetails {
20037	s.ClusterPublicKey = &v
20038	return s
20039}
20040
20041// SetClusterRevisionNumber sets the ClusterRevisionNumber field's value.
20042func (s *AwsRedshiftClusterDetails) SetClusterRevisionNumber(v string) *AwsRedshiftClusterDetails {
20043	s.ClusterRevisionNumber = &v
20044	return s
20045}
20046
20047// SetClusterSecurityGroups sets the ClusterSecurityGroups field's value.
20048func (s *AwsRedshiftClusterDetails) SetClusterSecurityGroups(v []*AwsRedshiftClusterClusterSecurityGroup) *AwsRedshiftClusterDetails {
20049	s.ClusterSecurityGroups = v
20050	return s
20051}
20052
20053// SetClusterSnapshotCopyStatus sets the ClusterSnapshotCopyStatus field's value.
20054func (s *AwsRedshiftClusterDetails) SetClusterSnapshotCopyStatus(v *AwsRedshiftClusterClusterSnapshotCopyStatus) *AwsRedshiftClusterDetails {
20055	s.ClusterSnapshotCopyStatus = v
20056	return s
20057}
20058
20059// SetClusterStatus sets the ClusterStatus field's value.
20060func (s *AwsRedshiftClusterDetails) SetClusterStatus(v string) *AwsRedshiftClusterDetails {
20061	s.ClusterStatus = &v
20062	return s
20063}
20064
20065// SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value.
20066func (s *AwsRedshiftClusterDetails) SetClusterSubnetGroupName(v string) *AwsRedshiftClusterDetails {
20067	s.ClusterSubnetGroupName = &v
20068	return s
20069}
20070
20071// SetClusterVersion sets the ClusterVersion field's value.
20072func (s *AwsRedshiftClusterDetails) SetClusterVersion(v string) *AwsRedshiftClusterDetails {
20073	s.ClusterVersion = &v
20074	return s
20075}
20076
20077// SetDBName sets the DBName field's value.
20078func (s *AwsRedshiftClusterDetails) SetDBName(v string) *AwsRedshiftClusterDetails {
20079	s.DBName = &v
20080	return s
20081}
20082
20083// SetDeferredMaintenanceWindows sets the DeferredMaintenanceWindows field's value.
20084func (s *AwsRedshiftClusterDetails) SetDeferredMaintenanceWindows(v []*AwsRedshiftClusterDeferredMaintenanceWindow) *AwsRedshiftClusterDetails {
20085	s.DeferredMaintenanceWindows = v
20086	return s
20087}
20088
20089// SetElasticIpStatus sets the ElasticIpStatus field's value.
20090func (s *AwsRedshiftClusterDetails) SetElasticIpStatus(v *AwsRedshiftClusterElasticIpStatus) *AwsRedshiftClusterDetails {
20091	s.ElasticIpStatus = v
20092	return s
20093}
20094
20095// SetElasticResizeNumberOfNodeOptions sets the ElasticResizeNumberOfNodeOptions field's value.
20096func (s *AwsRedshiftClusterDetails) SetElasticResizeNumberOfNodeOptions(v string) *AwsRedshiftClusterDetails {
20097	s.ElasticResizeNumberOfNodeOptions = &v
20098	return s
20099}
20100
20101// SetEncrypted sets the Encrypted field's value.
20102func (s *AwsRedshiftClusterDetails) SetEncrypted(v bool) *AwsRedshiftClusterDetails {
20103	s.Encrypted = &v
20104	return s
20105}
20106
20107// SetEndpoint sets the Endpoint field's value.
20108func (s *AwsRedshiftClusterDetails) SetEndpoint(v *AwsRedshiftClusterEndpoint) *AwsRedshiftClusterDetails {
20109	s.Endpoint = v
20110	return s
20111}
20112
20113// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
20114func (s *AwsRedshiftClusterDetails) SetEnhancedVpcRouting(v bool) *AwsRedshiftClusterDetails {
20115	s.EnhancedVpcRouting = &v
20116	return s
20117}
20118
20119// SetExpectedNextSnapshotScheduleTime sets the ExpectedNextSnapshotScheduleTime field's value.
20120func (s *AwsRedshiftClusterDetails) SetExpectedNextSnapshotScheduleTime(v string) *AwsRedshiftClusterDetails {
20121	s.ExpectedNextSnapshotScheduleTime = &v
20122	return s
20123}
20124
20125// SetExpectedNextSnapshotScheduleTimeStatus sets the ExpectedNextSnapshotScheduleTimeStatus field's value.
20126func (s *AwsRedshiftClusterDetails) SetExpectedNextSnapshotScheduleTimeStatus(v string) *AwsRedshiftClusterDetails {
20127	s.ExpectedNextSnapshotScheduleTimeStatus = &v
20128	return s
20129}
20130
20131// SetHsmStatus sets the HsmStatus field's value.
20132func (s *AwsRedshiftClusterDetails) SetHsmStatus(v *AwsRedshiftClusterHsmStatus) *AwsRedshiftClusterDetails {
20133	s.HsmStatus = v
20134	return s
20135}
20136
20137// SetIamRoles sets the IamRoles field's value.
20138func (s *AwsRedshiftClusterDetails) SetIamRoles(v []*AwsRedshiftClusterIamRole) *AwsRedshiftClusterDetails {
20139	s.IamRoles = v
20140	return s
20141}
20142
20143// SetKmsKeyId sets the KmsKeyId field's value.
20144func (s *AwsRedshiftClusterDetails) SetKmsKeyId(v string) *AwsRedshiftClusterDetails {
20145	s.KmsKeyId = &v
20146	return s
20147}
20148
20149// SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
20150func (s *AwsRedshiftClusterDetails) SetMaintenanceTrackName(v string) *AwsRedshiftClusterDetails {
20151	s.MaintenanceTrackName = &v
20152	return s
20153}
20154
20155// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
20156func (s *AwsRedshiftClusterDetails) SetManualSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterDetails {
20157	s.ManualSnapshotRetentionPeriod = &v
20158	return s
20159}
20160
20161// SetMasterUsername sets the MasterUsername field's value.
20162func (s *AwsRedshiftClusterDetails) SetMasterUsername(v string) *AwsRedshiftClusterDetails {
20163	s.MasterUsername = &v
20164	return s
20165}
20166
20167// SetNextMaintenanceWindowStartTime sets the NextMaintenanceWindowStartTime field's value.
20168func (s *AwsRedshiftClusterDetails) SetNextMaintenanceWindowStartTime(v string) *AwsRedshiftClusterDetails {
20169	s.NextMaintenanceWindowStartTime = &v
20170	return s
20171}
20172
20173// SetNodeType sets the NodeType field's value.
20174func (s *AwsRedshiftClusterDetails) SetNodeType(v string) *AwsRedshiftClusterDetails {
20175	s.NodeType = &v
20176	return s
20177}
20178
20179// SetNumberOfNodes sets the NumberOfNodes field's value.
20180func (s *AwsRedshiftClusterDetails) SetNumberOfNodes(v int64) *AwsRedshiftClusterDetails {
20181	s.NumberOfNodes = &v
20182	return s
20183}
20184
20185// SetPendingActions sets the PendingActions field's value.
20186func (s *AwsRedshiftClusterDetails) SetPendingActions(v []*string) *AwsRedshiftClusterDetails {
20187	s.PendingActions = v
20188	return s
20189}
20190
20191// SetPendingModifiedValues sets the PendingModifiedValues field's value.
20192func (s *AwsRedshiftClusterDetails) SetPendingModifiedValues(v *AwsRedshiftClusterPendingModifiedValues) *AwsRedshiftClusterDetails {
20193	s.PendingModifiedValues = v
20194	return s
20195}
20196
20197// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
20198func (s *AwsRedshiftClusterDetails) SetPreferredMaintenanceWindow(v string) *AwsRedshiftClusterDetails {
20199	s.PreferredMaintenanceWindow = &v
20200	return s
20201}
20202
20203// SetPubliclyAccessible sets the PubliclyAccessible field's value.
20204func (s *AwsRedshiftClusterDetails) SetPubliclyAccessible(v bool) *AwsRedshiftClusterDetails {
20205	s.PubliclyAccessible = &v
20206	return s
20207}
20208
20209// SetResizeInfo sets the ResizeInfo field's value.
20210func (s *AwsRedshiftClusterDetails) SetResizeInfo(v *AwsRedshiftClusterResizeInfo) *AwsRedshiftClusterDetails {
20211	s.ResizeInfo = v
20212	return s
20213}
20214
20215// SetRestoreStatus sets the RestoreStatus field's value.
20216func (s *AwsRedshiftClusterDetails) SetRestoreStatus(v *AwsRedshiftClusterRestoreStatus) *AwsRedshiftClusterDetails {
20217	s.RestoreStatus = v
20218	return s
20219}
20220
20221// SetSnapshotScheduleIdentifier sets the SnapshotScheduleIdentifier field's value.
20222func (s *AwsRedshiftClusterDetails) SetSnapshotScheduleIdentifier(v string) *AwsRedshiftClusterDetails {
20223	s.SnapshotScheduleIdentifier = &v
20224	return s
20225}
20226
20227// SetSnapshotScheduleState sets the SnapshotScheduleState field's value.
20228func (s *AwsRedshiftClusterDetails) SetSnapshotScheduleState(v string) *AwsRedshiftClusterDetails {
20229	s.SnapshotScheduleState = &v
20230	return s
20231}
20232
20233// SetVpcId sets the VpcId field's value.
20234func (s *AwsRedshiftClusterDetails) SetVpcId(v string) *AwsRedshiftClusterDetails {
20235	s.VpcId = &v
20236	return s
20237}
20238
20239// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
20240func (s *AwsRedshiftClusterDetails) SetVpcSecurityGroups(v []*AwsRedshiftClusterVpcSecurityGroup) *AwsRedshiftClusterDetails {
20241	s.VpcSecurityGroups = v
20242	return s
20243}
20244
20245// The status of the elastic IP (EIP) address for an Amazon Redshift cluster.
20246type AwsRedshiftClusterElasticIpStatus struct {
20247	_ struct{} `type:"structure"`
20248
20249	// The elastic IP address for the cluster.
20250	ElasticIp *string `type:"string"`
20251
20252	// The status of the elastic IP address.
20253	Status *string `type:"string"`
20254}
20255
20256// String returns the string representation
20257func (s AwsRedshiftClusterElasticIpStatus) String() string {
20258	return awsutil.Prettify(s)
20259}
20260
20261// GoString returns the string representation
20262func (s AwsRedshiftClusterElasticIpStatus) GoString() string {
20263	return s.String()
20264}
20265
20266// SetElasticIp sets the ElasticIp field's value.
20267func (s *AwsRedshiftClusterElasticIpStatus) SetElasticIp(v string) *AwsRedshiftClusterElasticIpStatus {
20268	s.ElasticIp = &v
20269	return s
20270}
20271
20272// SetStatus sets the Status field's value.
20273func (s *AwsRedshiftClusterElasticIpStatus) SetStatus(v string) *AwsRedshiftClusterElasticIpStatus {
20274	s.Status = &v
20275	return s
20276}
20277
20278// The connection endpoint for an Amazon Redshift cluster.
20279type AwsRedshiftClusterEndpoint struct {
20280	_ struct{} `type:"structure"`
20281
20282	// The DNS address of the cluster.
20283	Address *string `type:"string"`
20284
20285	// The port that the database engine listens on.
20286	Port *int64 `type:"integer"`
20287}
20288
20289// String returns the string representation
20290func (s AwsRedshiftClusterEndpoint) String() string {
20291	return awsutil.Prettify(s)
20292}
20293
20294// GoString returns the string representation
20295func (s AwsRedshiftClusterEndpoint) GoString() string {
20296	return s.String()
20297}
20298
20299// SetAddress sets the Address field's value.
20300func (s *AwsRedshiftClusterEndpoint) SetAddress(v string) *AwsRedshiftClusterEndpoint {
20301	s.Address = &v
20302	return s
20303}
20304
20305// SetPort sets the Port field's value.
20306func (s *AwsRedshiftClusterEndpoint) SetPort(v int64) *AwsRedshiftClusterEndpoint {
20307	s.Port = &v
20308	return s
20309}
20310
20311// Information about whether an Amazon Redshift cluster finished applying any
20312// hardware changes to security module (HSM) settings that were specified in
20313// a modify cluster command.
20314type AwsRedshiftClusterHsmStatus struct {
20315	_ struct{} `type:"structure"`
20316
20317	// The name of the HSM client certificate that the Amazon Redshift cluster uses
20318	// to retrieve the data encryption keys that are stored in an HSM.
20319	HsmClientCertificateIdentifier *string `type:"string"`
20320
20321	// The name of the HSM configuration that contains the information that the
20322	// Amazon Redshift cluster can use to retrieve and store keys in an HSM.
20323	HsmConfigurationIdentifier *string `type:"string"`
20324
20325	// Indicates whether the Amazon Redshift cluster has finished applying any HSM
20326	// settings changes specified in a modify cluster command.
20327	//
20328	// Type: String
20329	//
20330	// Valid values: active | applying
20331	Status *string `type:"string"`
20332}
20333
20334// String returns the string representation
20335func (s AwsRedshiftClusterHsmStatus) String() string {
20336	return awsutil.Prettify(s)
20337}
20338
20339// GoString returns the string representation
20340func (s AwsRedshiftClusterHsmStatus) GoString() string {
20341	return s.String()
20342}
20343
20344// SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value.
20345func (s *AwsRedshiftClusterHsmStatus) SetHsmClientCertificateIdentifier(v string) *AwsRedshiftClusterHsmStatus {
20346	s.HsmClientCertificateIdentifier = &v
20347	return s
20348}
20349
20350// SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value.
20351func (s *AwsRedshiftClusterHsmStatus) SetHsmConfigurationIdentifier(v string) *AwsRedshiftClusterHsmStatus {
20352	s.HsmConfigurationIdentifier = &v
20353	return s
20354}
20355
20356// SetStatus sets the Status field's value.
20357func (s *AwsRedshiftClusterHsmStatus) SetStatus(v string) *AwsRedshiftClusterHsmStatus {
20358	s.Status = &v
20359	return s
20360}
20361
20362// An IAM role that the cluster can use to access other Amazon Web Services
20363// services.
20364type AwsRedshiftClusterIamRole struct {
20365	_ struct{} `type:"structure"`
20366
20367	// The status of the IAM role's association with the cluster.
20368	//
20369	// Valid values: in-sync | adding | removing
20370	ApplyStatus *string `type:"string"`
20371
20372	// The ARN of the IAM role.
20373	IamRoleArn *string `type:"string"`
20374}
20375
20376// String returns the string representation
20377func (s AwsRedshiftClusterIamRole) String() string {
20378	return awsutil.Prettify(s)
20379}
20380
20381// GoString returns the string representation
20382func (s AwsRedshiftClusterIamRole) GoString() string {
20383	return s.String()
20384}
20385
20386// SetApplyStatus sets the ApplyStatus field's value.
20387func (s *AwsRedshiftClusterIamRole) SetApplyStatus(v string) *AwsRedshiftClusterIamRole {
20388	s.ApplyStatus = &v
20389	return s
20390}
20391
20392// SetIamRoleArn sets the IamRoleArn field's value.
20393func (s *AwsRedshiftClusterIamRole) SetIamRoleArn(v string) *AwsRedshiftClusterIamRole {
20394	s.IamRoleArn = &v
20395	return s
20396}
20397
20398// Changes to the Amazon Redshift cluster that are currently pending.
20399type AwsRedshiftClusterPendingModifiedValues struct {
20400	_ struct{} `type:"structure"`
20401
20402	// The pending or in-progress change to the automated snapshot retention period.
20403	AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
20404
20405	// The pending or in-progress change to the identifier for the cluster.
20406	ClusterIdentifier *string `type:"string"`
20407
20408	// The pending or in-progress change to the cluster type.
20409	ClusterType *string `type:"string"`
20410
20411	// The pending or in-progress change to the service version.
20412	ClusterVersion *string `type:"string"`
20413
20414	// The encryption type for a cluster.
20415	EncryptionType *string `type:"string"`
20416
20417	// Indicates whether to create the cluster with enhanced VPC routing enabled.
20418	EnhancedVpcRouting *bool `type:"boolean"`
20419
20420	// The name of the maintenance track that the cluster changes to during the
20421	// next maintenance window.
20422	MaintenanceTrackName *string `type:"string"`
20423
20424	// The pending or in-progress change to the master user password for the cluster.
20425	MasterUserPassword *string `type:"string"`
20426
20427	// The pending or in-progress change to the cluster's node type.
20428	NodeType *string `type:"string"`
20429
20430	// The pending or in-progress change to the number of nodes in the cluster.
20431	NumberOfNodes *int64 `type:"integer"`
20432
20433	// The pending or in-progress change to whether the cluster can be connected
20434	// to from the public network.
20435	PubliclyAccessible *bool `type:"boolean"`
20436}
20437
20438// String returns the string representation
20439func (s AwsRedshiftClusterPendingModifiedValues) String() string {
20440	return awsutil.Prettify(s)
20441}
20442
20443// GoString returns the string representation
20444func (s AwsRedshiftClusterPendingModifiedValues) GoString() string {
20445	return s.String()
20446}
20447
20448// SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
20449func (s *AwsRedshiftClusterPendingModifiedValues) SetAutomatedSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterPendingModifiedValues {
20450	s.AutomatedSnapshotRetentionPeriod = &v
20451	return s
20452}
20453
20454// SetClusterIdentifier sets the ClusterIdentifier field's value.
20455func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterIdentifier(v string) *AwsRedshiftClusterPendingModifiedValues {
20456	s.ClusterIdentifier = &v
20457	return s
20458}
20459
20460// SetClusterType sets the ClusterType field's value.
20461func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterType(v string) *AwsRedshiftClusterPendingModifiedValues {
20462	s.ClusterType = &v
20463	return s
20464}
20465
20466// SetClusterVersion sets the ClusterVersion field's value.
20467func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterVersion(v string) *AwsRedshiftClusterPendingModifiedValues {
20468	s.ClusterVersion = &v
20469	return s
20470}
20471
20472// SetEncryptionType sets the EncryptionType field's value.
20473func (s *AwsRedshiftClusterPendingModifiedValues) SetEncryptionType(v string) *AwsRedshiftClusterPendingModifiedValues {
20474	s.EncryptionType = &v
20475	return s
20476}
20477
20478// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
20479func (s *AwsRedshiftClusterPendingModifiedValues) SetEnhancedVpcRouting(v bool) *AwsRedshiftClusterPendingModifiedValues {
20480	s.EnhancedVpcRouting = &v
20481	return s
20482}
20483
20484// SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
20485func (s *AwsRedshiftClusterPendingModifiedValues) SetMaintenanceTrackName(v string) *AwsRedshiftClusterPendingModifiedValues {
20486	s.MaintenanceTrackName = &v
20487	return s
20488}
20489
20490// SetMasterUserPassword sets the MasterUserPassword field's value.
20491func (s *AwsRedshiftClusterPendingModifiedValues) SetMasterUserPassword(v string) *AwsRedshiftClusterPendingModifiedValues {
20492	s.MasterUserPassword = &v
20493	return s
20494}
20495
20496// SetNodeType sets the NodeType field's value.
20497func (s *AwsRedshiftClusterPendingModifiedValues) SetNodeType(v string) *AwsRedshiftClusterPendingModifiedValues {
20498	s.NodeType = &v
20499	return s
20500}
20501
20502// SetNumberOfNodes sets the NumberOfNodes field's value.
20503func (s *AwsRedshiftClusterPendingModifiedValues) SetNumberOfNodes(v int64) *AwsRedshiftClusterPendingModifiedValues {
20504	s.NumberOfNodes = &v
20505	return s
20506}
20507
20508// SetPubliclyAccessible sets the PubliclyAccessible field's value.
20509func (s *AwsRedshiftClusterPendingModifiedValues) SetPubliclyAccessible(v bool) *AwsRedshiftClusterPendingModifiedValues {
20510	s.PubliclyAccessible = &v
20511	return s
20512}
20513
20514// Information about the resize operation for the cluster.
20515type AwsRedshiftClusterResizeInfo struct {
20516	_ struct{} `type:"structure"`
20517
20518	// Indicates whether the resize operation can be canceled.
20519	AllowCancelResize *bool `type:"boolean"`
20520
20521	// The type of resize operation.
20522	//
20523	// Valid values: ClassicResize
20524	ResizeType *string `type:"string"`
20525}
20526
20527// String returns the string representation
20528func (s AwsRedshiftClusterResizeInfo) String() string {
20529	return awsutil.Prettify(s)
20530}
20531
20532// GoString returns the string representation
20533func (s AwsRedshiftClusterResizeInfo) GoString() string {
20534	return s.String()
20535}
20536
20537// SetAllowCancelResize sets the AllowCancelResize field's value.
20538func (s *AwsRedshiftClusterResizeInfo) SetAllowCancelResize(v bool) *AwsRedshiftClusterResizeInfo {
20539	s.AllowCancelResize = &v
20540	return s
20541}
20542
20543// SetResizeType sets the ResizeType field's value.
20544func (s *AwsRedshiftClusterResizeInfo) SetResizeType(v string) *AwsRedshiftClusterResizeInfo {
20545	s.ResizeType = &v
20546	return s
20547}
20548
20549// Information about the status of a cluster restore action. It only applies
20550// if the cluster was created by restoring a snapshot.
20551type AwsRedshiftClusterRestoreStatus struct {
20552	_ struct{} `type:"structure"`
20553
20554	// The number of megabytes per second being transferred from the backup storage.
20555	// Returns the average rate for a completed backup.
20556	//
20557	// This field is only updated when you restore to DC2 and DS2 node types.
20558	CurrentRestoreRateInMegaBytesPerSecond *float64 `type:"double"`
20559
20560	// The amount of time an in-progress restore has been running, or the amount
20561	// of time it took a completed restore to finish.
20562	//
20563	// This field is only updated when you restore to DC2 and DS2 node types.
20564	ElapsedTimeInSeconds *int64 `type:"long"`
20565
20566	// The estimate of the time remaining before the restore is complete. Returns
20567	// 0 for a completed restore.
20568	//
20569	// This field is only updated when you restore to DC2 and DS2 node types.
20570	EstimatedTimeToCompletionInSeconds *int64 `type:"long"`
20571
20572	// The number of megabytes that were transferred from snapshot storage.
20573	//
20574	// This field is only updated when you restore to DC2 and DS2 node types.
20575	ProgressInMegaBytes *int64 `type:"long"`
20576
20577	// The size of the set of snapshot data that was used to restore the cluster.
20578	//
20579	// This field is only updated when you restore to DC2 and DS2 node types.
20580	SnapshotSizeInMegaBytes *int64 `type:"long"`
20581
20582	// The status of the restore action.
20583	//
20584	// Valid values: starting | restoring | completed | failed
20585	Status *string `type:"string"`
20586}
20587
20588// String returns the string representation
20589func (s AwsRedshiftClusterRestoreStatus) String() string {
20590	return awsutil.Prettify(s)
20591}
20592
20593// GoString returns the string representation
20594func (s AwsRedshiftClusterRestoreStatus) GoString() string {
20595	return s.String()
20596}
20597
20598// SetCurrentRestoreRateInMegaBytesPerSecond sets the CurrentRestoreRateInMegaBytesPerSecond field's value.
20599func (s *AwsRedshiftClusterRestoreStatus) SetCurrentRestoreRateInMegaBytesPerSecond(v float64) *AwsRedshiftClusterRestoreStatus {
20600	s.CurrentRestoreRateInMegaBytesPerSecond = &v
20601	return s
20602}
20603
20604// SetElapsedTimeInSeconds sets the ElapsedTimeInSeconds field's value.
20605func (s *AwsRedshiftClusterRestoreStatus) SetElapsedTimeInSeconds(v int64) *AwsRedshiftClusterRestoreStatus {
20606	s.ElapsedTimeInSeconds = &v
20607	return s
20608}
20609
20610// SetEstimatedTimeToCompletionInSeconds sets the EstimatedTimeToCompletionInSeconds field's value.
20611func (s *AwsRedshiftClusterRestoreStatus) SetEstimatedTimeToCompletionInSeconds(v int64) *AwsRedshiftClusterRestoreStatus {
20612	s.EstimatedTimeToCompletionInSeconds = &v
20613	return s
20614}
20615
20616// SetProgressInMegaBytes sets the ProgressInMegaBytes field's value.
20617func (s *AwsRedshiftClusterRestoreStatus) SetProgressInMegaBytes(v int64) *AwsRedshiftClusterRestoreStatus {
20618	s.ProgressInMegaBytes = &v
20619	return s
20620}
20621
20622// SetSnapshotSizeInMegaBytes sets the SnapshotSizeInMegaBytes field's value.
20623func (s *AwsRedshiftClusterRestoreStatus) SetSnapshotSizeInMegaBytes(v int64) *AwsRedshiftClusterRestoreStatus {
20624	s.SnapshotSizeInMegaBytes = &v
20625	return s
20626}
20627
20628// SetStatus sets the Status field's value.
20629func (s *AwsRedshiftClusterRestoreStatus) SetStatus(v string) *AwsRedshiftClusterRestoreStatus {
20630	s.Status = &v
20631	return s
20632}
20633
20634// A VPC security group that the cluster belongs to, if the cluster is in a
20635// VPC.
20636type AwsRedshiftClusterVpcSecurityGroup struct {
20637	_ struct{} `type:"structure"`
20638
20639	// The status of the VPC security group.
20640	Status *string `type:"string"`
20641
20642	// The identifier of the VPC security group.
20643	VpcSecurityGroupId *string `type:"string"`
20644}
20645
20646// String returns the string representation
20647func (s AwsRedshiftClusterVpcSecurityGroup) String() string {
20648	return awsutil.Prettify(s)
20649}
20650
20651// GoString returns the string representation
20652func (s AwsRedshiftClusterVpcSecurityGroup) GoString() string {
20653	return s.String()
20654}
20655
20656// SetStatus sets the Status field's value.
20657func (s *AwsRedshiftClusterVpcSecurityGroup) SetStatus(v string) *AwsRedshiftClusterVpcSecurityGroup {
20658	s.Status = &v
20659	return s
20660}
20661
20662// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
20663func (s *AwsRedshiftClusterVpcSecurityGroup) SetVpcSecurityGroupId(v string) *AwsRedshiftClusterVpcSecurityGroup {
20664	s.VpcSecurityGroupId = &v
20665	return s
20666}
20667
20668// provides information about the Amazon S3 Public Access Block configuration
20669// for accounts.
20670type AwsS3AccountPublicAccessBlockDetails struct {
20671	_ struct{} `type:"structure"`
20672
20673	// Indicates whether to reject calls to update an S3 bucket if the calls include
20674	// a public access control list (ACL).
20675	BlockPublicAcls *bool `type:"boolean"`
20676
20677	// Indicates whether to reject calls to update the access policy for an S3 bucket
20678	// or access point if the policy allows public access.
20679	BlockPublicPolicy *bool `type:"boolean"`
20680
20681	// Indicates whether Amazon S3 ignores public ACLs that are associated with
20682	// an S3 bucket.
20683	IgnorePublicAcls *bool `type:"boolean"`
20684
20685	// Indicates whether to restrict access to an access point or S3 bucket that
20686	// has a public policy to only Amazon Web Services service principals and authorized
20687	// users within the S3 bucket owner's account.
20688	RestrictPublicBuckets *bool `type:"boolean"`
20689}
20690
20691// String returns the string representation
20692func (s AwsS3AccountPublicAccessBlockDetails) String() string {
20693	return awsutil.Prettify(s)
20694}
20695
20696// GoString returns the string representation
20697func (s AwsS3AccountPublicAccessBlockDetails) GoString() string {
20698	return s.String()
20699}
20700
20701// SetBlockPublicAcls sets the BlockPublicAcls field's value.
20702func (s *AwsS3AccountPublicAccessBlockDetails) SetBlockPublicAcls(v bool) *AwsS3AccountPublicAccessBlockDetails {
20703	s.BlockPublicAcls = &v
20704	return s
20705}
20706
20707// SetBlockPublicPolicy sets the BlockPublicPolicy field's value.
20708func (s *AwsS3AccountPublicAccessBlockDetails) SetBlockPublicPolicy(v bool) *AwsS3AccountPublicAccessBlockDetails {
20709	s.BlockPublicPolicy = &v
20710	return s
20711}
20712
20713// SetIgnorePublicAcls sets the IgnorePublicAcls field's value.
20714func (s *AwsS3AccountPublicAccessBlockDetails) SetIgnorePublicAcls(v bool) *AwsS3AccountPublicAccessBlockDetails {
20715	s.IgnorePublicAcls = &v
20716	return s
20717}
20718
20719// SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value.
20720func (s *AwsS3AccountPublicAccessBlockDetails) SetRestrictPublicBuckets(v bool) *AwsS3AccountPublicAccessBlockDetails {
20721	s.RestrictPublicBuckets = &v
20722	return s
20723}
20724
20725// The lifecycle configuration for the objects in the S3 bucket.
20726type AwsS3BucketBucketLifecycleConfigurationDetails struct {
20727	_ struct{} `type:"structure"`
20728
20729	// The lifecycle rules.
20730	Rules []*AwsS3BucketBucketLifecycleConfigurationRulesDetails `type:"list"`
20731}
20732
20733// String returns the string representation
20734func (s AwsS3BucketBucketLifecycleConfigurationDetails) String() string {
20735	return awsutil.Prettify(s)
20736}
20737
20738// GoString returns the string representation
20739func (s AwsS3BucketBucketLifecycleConfigurationDetails) GoString() string {
20740	return s.String()
20741}
20742
20743// SetRules sets the Rules field's value.
20744func (s *AwsS3BucketBucketLifecycleConfigurationDetails) SetRules(v []*AwsS3BucketBucketLifecycleConfigurationRulesDetails) *AwsS3BucketBucketLifecycleConfigurationDetails {
20745	s.Rules = v
20746	return s
20747}
20748
20749// Information about what Amazon S3 does when a multipart upload is incomplete.
20750type AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails struct {
20751	_ struct{} `type:"structure"`
20752
20753	// The number of days after which Amazon S3 cancels an incomplete multipart
20754	// upload.
20755	DaysAfterInitiation *int64 `type:"integer"`
20756}
20757
20758// String returns the string representation
20759func (s AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) String() string {
20760	return awsutil.Prettify(s)
20761}
20762
20763// GoString returns the string representation
20764func (s AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) GoString() string {
20765	return s.String()
20766}
20767
20768// SetDaysAfterInitiation sets the DaysAfterInitiation field's value.
20769func (s *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) SetDaysAfterInitiation(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails {
20770	s.DaysAfterInitiation = &v
20771	return s
20772}
20773
20774// Configuration for a lifecycle rule.
20775type AwsS3BucketBucketLifecycleConfigurationRulesDetails struct {
20776	_ struct{} `type:"structure"`
20777
20778	// How Amazon S3 responds when a multipart upload is incomplete. Specifically,
20779	// provides a number of days before Amazon S3 cancels the entire upload.
20780	AbortIncompleteMultipartUpload *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails `type:"structure"`
20781
20782	// The date when objects are moved or deleted.
20783	//
20784	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20785	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20786	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20787	ExpirationDate *string `type:"string"`
20788
20789	// The length in days of the lifetime for objects that are subject to the rule.
20790	ExpirationInDays *int64 `type:"integer"`
20791
20792	// Whether Amazon S3 removes a delete marker that has no noncurrent versions.
20793	// If set to true, the delete marker is expired. If set to false, the policy
20794	// takes no action.
20795	//
20796	// If you provide ExpiredObjectDeleteMarker, you cannot provide ExpirationInDays
20797	// or ExpirationDate.
20798	ExpiredObjectDeleteMarker *bool `type:"boolean"`
20799
20800	// Identifies the objects that a rule applies to.
20801	Filter *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails `type:"structure"`
20802
20803	// The unique identifier of the rule.
20804	ID *string `type:"string"`
20805
20806	// The number of days that an object is noncurrent before Amazon S3 can perform
20807	// the associated action.
20808	NoncurrentVersionExpirationInDays *int64 `type:"integer"`
20809
20810	// Transition rules that describe when noncurrent objects transition to a specified
20811	// storage class.
20812	NoncurrentVersionTransitions []*AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails `type:"list"`
20813
20814	// A prefix that identifies one or more objects that the rule applies to.
20815	Prefix *string `type:"string"`
20816
20817	// The current status of the rule. Indicates whether the rule is currently being
20818	// applied.
20819	Status *string `type:"string"`
20820
20821	// Transition rules that indicate when objects transition to a specified storage
20822	// class.
20823	Transitions []*AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails `type:"list"`
20824}
20825
20826// String returns the string representation
20827func (s AwsS3BucketBucketLifecycleConfigurationRulesDetails) String() string {
20828	return awsutil.Prettify(s)
20829}
20830
20831// GoString returns the string representation
20832func (s AwsS3BucketBucketLifecycleConfigurationRulesDetails) GoString() string {
20833	return s.String()
20834}
20835
20836// SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value.
20837func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetAbortIncompleteMultipartUpload(v *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
20838	s.AbortIncompleteMultipartUpload = v
20839	return s
20840}
20841
20842// SetExpirationDate sets the ExpirationDate field's value.
20843func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetExpirationDate(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
20844	s.ExpirationDate = &v
20845	return s
20846}
20847
20848// SetExpirationInDays sets the ExpirationInDays field's value.
20849func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetExpirationInDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
20850	s.ExpirationInDays = &v
20851	return s
20852}
20853
20854// SetExpiredObjectDeleteMarker sets the ExpiredObjectDeleteMarker field's value.
20855func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetExpiredObjectDeleteMarker(v bool) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
20856	s.ExpiredObjectDeleteMarker = &v
20857	return s
20858}
20859
20860// SetFilter sets the Filter field's value.
20861func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetFilter(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
20862	s.Filter = v
20863	return s
20864}
20865
20866// SetID sets the ID field's value.
20867func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetID(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
20868	s.ID = &v
20869	return s
20870}
20871
20872// SetNoncurrentVersionExpirationInDays sets the NoncurrentVersionExpirationInDays field's value.
20873func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetNoncurrentVersionExpirationInDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
20874	s.NoncurrentVersionExpirationInDays = &v
20875	return s
20876}
20877
20878// SetNoncurrentVersionTransitions sets the NoncurrentVersionTransitions field's value.
20879func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetNoncurrentVersionTransitions(v []*AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
20880	s.NoncurrentVersionTransitions = v
20881	return s
20882}
20883
20884// SetPrefix sets the Prefix field's value.
20885func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetPrefix(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
20886	s.Prefix = &v
20887	return s
20888}
20889
20890// SetStatus sets the Status field's value.
20891func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetStatus(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
20892	s.Status = &v
20893	return s
20894}
20895
20896// SetTransitions sets the Transitions field's value.
20897func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetTransitions(v []*AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
20898	s.Transitions = v
20899	return s
20900}
20901
20902// Identifies the objects that a rule applies to.
20903type AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails struct {
20904	_ struct{} `type:"structure"`
20905
20906	// The configuration for the filter.
20907	Predicate *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails `type:"structure"`
20908}
20909
20910// String returns the string representation
20911func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) String() string {
20912	return awsutil.Prettify(s)
20913}
20914
20915// GoString returns the string representation
20916func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) GoString() string {
20917	return s.String()
20918}
20919
20920// SetPredicate sets the Predicate field's value.
20921func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) SetPredicate(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails {
20922	s.Predicate = v
20923	return s
20924}
20925
20926// The configuration for the filter.
20927type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails struct {
20928	_ struct{} `type:"structure"`
20929
20930	// The values to use for the filter.
20931	Operands []*AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails `type:"list"`
20932
20933	// A prefix filter.
20934	Prefix *string `type:"string"`
20935
20936	// A tag filter.
20937	Tag *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails `type:"structure"`
20938
20939	// Whether to use AND or OR to join the operands.
20940	Type *string `type:"string"`
20941}
20942
20943// String returns the string representation
20944func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) String() string {
20945	return awsutil.Prettify(s)
20946}
20947
20948// GoString returns the string representation
20949func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) GoString() string {
20950	return s.String()
20951}
20952
20953// SetOperands sets the Operands field's value.
20954func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetOperands(v []*AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
20955	s.Operands = v
20956	return s
20957}
20958
20959// SetPrefix sets the Prefix field's value.
20960func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetPrefix(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
20961	s.Prefix = &v
20962	return s
20963}
20964
20965// SetTag sets the Tag field's value.
20966func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetTag(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
20967	s.Tag = v
20968	return s
20969}
20970
20971// SetType sets the Type field's value.
20972func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetType(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
20973	s.Type = &v
20974	return s
20975}
20976
20977// A value to use for the filter.
20978type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails struct {
20979	_ struct{} `type:"structure"`
20980
20981	// Prefix text for matching objects.
20982	Prefix *string `type:"string"`
20983
20984	// A tag that is assigned to matching objects.
20985	Tag *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails `type:"structure"`
20986
20987	// The type of filter value.
20988	Type *string `type:"string"`
20989}
20990
20991// String returns the string representation
20992func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) String() string {
20993	return awsutil.Prettify(s)
20994}
20995
20996// GoString returns the string representation
20997func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) GoString() string {
20998	return s.String()
20999}
21000
21001// SetPrefix sets the Prefix field's value.
21002func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) SetPrefix(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails {
21003	s.Prefix = &v
21004	return s
21005}
21006
21007// SetTag sets the Tag field's value.
21008func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) SetTag(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails {
21009	s.Tag = v
21010	return s
21011}
21012
21013// SetType sets the Type field's value.
21014func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) SetType(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails {
21015	s.Type = &v
21016	return s
21017}
21018
21019// A tag that is assigned to matching objects.
21020type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails struct {
21021	_ struct{} `type:"structure"`
21022
21023	// The tag key.
21024	Key *string `type:"string"`
21025
21026	// The tag value.
21027	Value *string `type:"string"`
21028}
21029
21030// String returns the string representation
21031func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) String() string {
21032	return awsutil.Prettify(s)
21033}
21034
21035// GoString returns the string representation
21036func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) GoString() string {
21037	return s.String()
21038}
21039
21040// SetKey sets the Key field's value.
21041func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) SetKey(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails {
21042	s.Key = &v
21043	return s
21044}
21045
21046// SetValue sets the Value field's value.
21047func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) SetValue(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails {
21048	s.Value = &v
21049	return s
21050}
21051
21052// A tag filter.
21053type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails struct {
21054	_ struct{} `type:"structure"`
21055
21056	// The tag key.
21057	Key *string `type:"string"`
21058
21059	// The tag value
21060	Value *string `type:"string"`
21061}
21062
21063// String returns the string representation
21064func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) String() string {
21065	return awsutil.Prettify(s)
21066}
21067
21068// GoString returns the string representation
21069func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) GoString() string {
21070	return s.String()
21071}
21072
21073// SetKey sets the Key field's value.
21074func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) SetKey(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails {
21075	s.Key = &v
21076	return s
21077}
21078
21079// SetValue sets the Value field's value.
21080func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) SetValue(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails {
21081	s.Value = &v
21082	return s
21083}
21084
21085// A transition rule that describes when noncurrent objects transition to a
21086// specified storage class.
21087type AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails struct {
21088	_ struct{} `type:"structure"`
21089
21090	// The number of days that an object is noncurrent before Amazon S3 can perform
21091	// the associated action.
21092	Days *int64 `type:"integer"`
21093
21094	// The class of storage to change the object to after the object is noncurrent
21095	// for the specified number of days.
21096	StorageClass *string `type:"string"`
21097}
21098
21099// String returns the string representation
21100func (s AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) String() string {
21101	return awsutil.Prettify(s)
21102}
21103
21104// GoString returns the string representation
21105func (s AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) GoString() string {
21106	return s.String()
21107}
21108
21109// SetDays sets the Days field's value.
21110func (s *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) SetDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails {
21111	s.Days = &v
21112	return s
21113}
21114
21115// SetStorageClass sets the StorageClass field's value.
21116func (s *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) SetStorageClass(v string) *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails {
21117	s.StorageClass = &v
21118	return s
21119}
21120
21121// A rule for when objects transition to specific storage classes.
21122type AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails struct {
21123	_ struct{} `type:"structure"`
21124
21125	// A date on which to transition objects to the specified storage class. If
21126	// you provide Date, you cannot provide Days.
21127	//
21128	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
21129	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
21130	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
21131	Date *string `type:"string"`
21132
21133	// The number of days after which to transition the object to the specified
21134	// storage class. If you provide Days, you cannot provide Date.
21135	Days *int64 `type:"integer"`
21136
21137	// The storage class to transition the object to.
21138	StorageClass *string `type:"string"`
21139}
21140
21141// String returns the string representation
21142func (s AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) String() string {
21143	return awsutil.Prettify(s)
21144}
21145
21146// GoString returns the string representation
21147func (s AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) GoString() string {
21148	return s.String()
21149}
21150
21151// SetDate sets the Date field's value.
21152func (s *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) SetDate(v string) *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails {
21153	s.Date = &v
21154	return s
21155}
21156
21157// SetDays sets the Days field's value.
21158func (s *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) SetDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails {
21159	s.Days = &v
21160	return s
21161}
21162
21163// SetStorageClass sets the StorageClass field's value.
21164func (s *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) SetStorageClass(v string) *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails {
21165	s.StorageClass = &v
21166	return s
21167}
21168
21169// The details of an Amazon S3 bucket.
21170type AwsS3BucketDetails struct {
21171	_ struct{} `type:"structure"`
21172
21173	// The lifecycle configuration for objects in the S3 bucket.
21174	BucketLifecycleConfiguration *AwsS3BucketBucketLifecycleConfigurationDetails `type:"structure"`
21175
21176	// Indicates when the S3 bucket was created.
21177	//
21178	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
21179	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
21180	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
21181	CreatedAt *string `type:"string"`
21182
21183	// The canonical user ID of the owner of the S3 bucket.
21184	OwnerId *string `type:"string"`
21185
21186	// The display name of the owner of the S3 bucket.
21187	OwnerName *string `type:"string"`
21188
21189	// Provides information about the Amazon S3 Public Access Block configuration
21190	// for the S3 bucket.
21191	PublicAccessBlockConfiguration *AwsS3AccountPublicAccessBlockDetails `type:"structure"`
21192
21193	// The encryption rules that are applied to the S3 bucket.
21194	ServerSideEncryptionConfiguration *AwsS3BucketServerSideEncryptionConfiguration `type:"structure"`
21195}
21196
21197// String returns the string representation
21198func (s AwsS3BucketDetails) String() string {
21199	return awsutil.Prettify(s)
21200}
21201
21202// GoString returns the string representation
21203func (s AwsS3BucketDetails) GoString() string {
21204	return s.String()
21205}
21206
21207// SetBucketLifecycleConfiguration sets the BucketLifecycleConfiguration field's value.
21208func (s *AwsS3BucketDetails) SetBucketLifecycleConfiguration(v *AwsS3BucketBucketLifecycleConfigurationDetails) *AwsS3BucketDetails {
21209	s.BucketLifecycleConfiguration = v
21210	return s
21211}
21212
21213// SetCreatedAt sets the CreatedAt field's value.
21214func (s *AwsS3BucketDetails) SetCreatedAt(v string) *AwsS3BucketDetails {
21215	s.CreatedAt = &v
21216	return s
21217}
21218
21219// SetOwnerId sets the OwnerId field's value.
21220func (s *AwsS3BucketDetails) SetOwnerId(v string) *AwsS3BucketDetails {
21221	s.OwnerId = &v
21222	return s
21223}
21224
21225// SetOwnerName sets the OwnerName field's value.
21226func (s *AwsS3BucketDetails) SetOwnerName(v string) *AwsS3BucketDetails {
21227	s.OwnerName = &v
21228	return s
21229}
21230
21231// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value.
21232func (s *AwsS3BucketDetails) SetPublicAccessBlockConfiguration(v *AwsS3AccountPublicAccessBlockDetails) *AwsS3BucketDetails {
21233	s.PublicAccessBlockConfiguration = v
21234	return s
21235}
21236
21237// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
21238func (s *AwsS3BucketDetails) SetServerSideEncryptionConfiguration(v *AwsS3BucketServerSideEncryptionConfiguration) *AwsS3BucketDetails {
21239	s.ServerSideEncryptionConfiguration = v
21240	return s
21241}
21242
21243// Specifies the default server-side encryption to apply to new objects in the
21244// bucket.
21245type AwsS3BucketServerSideEncryptionByDefault struct {
21246	_ struct{} `type:"structure"`
21247
21248	// KMS customer master key (CMK) ID to use for the default encryption.
21249	KMSMasterKeyID *string `type:"string"`
21250
21251	// Server-side encryption algorithm to use for the default encryption.
21252	SSEAlgorithm *string `type:"string"`
21253}
21254
21255// String returns the string representation
21256func (s AwsS3BucketServerSideEncryptionByDefault) String() string {
21257	return awsutil.Prettify(s)
21258}
21259
21260// GoString returns the string representation
21261func (s AwsS3BucketServerSideEncryptionByDefault) GoString() string {
21262	return s.String()
21263}
21264
21265// SetKMSMasterKeyID sets the KMSMasterKeyID field's value.
21266func (s *AwsS3BucketServerSideEncryptionByDefault) SetKMSMasterKeyID(v string) *AwsS3BucketServerSideEncryptionByDefault {
21267	s.KMSMasterKeyID = &v
21268	return s
21269}
21270
21271// SetSSEAlgorithm sets the SSEAlgorithm field's value.
21272func (s *AwsS3BucketServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *AwsS3BucketServerSideEncryptionByDefault {
21273	s.SSEAlgorithm = &v
21274	return s
21275}
21276
21277// The encryption configuration for the S3 bucket.
21278type AwsS3BucketServerSideEncryptionConfiguration struct {
21279	_ struct{} `type:"structure"`
21280
21281	// The encryption rules that are applied to the S3 bucket.
21282	Rules []*AwsS3BucketServerSideEncryptionRule `type:"list"`
21283}
21284
21285// String returns the string representation
21286func (s AwsS3BucketServerSideEncryptionConfiguration) String() string {
21287	return awsutil.Prettify(s)
21288}
21289
21290// GoString returns the string representation
21291func (s AwsS3BucketServerSideEncryptionConfiguration) GoString() string {
21292	return s.String()
21293}
21294
21295// SetRules sets the Rules field's value.
21296func (s *AwsS3BucketServerSideEncryptionConfiguration) SetRules(v []*AwsS3BucketServerSideEncryptionRule) *AwsS3BucketServerSideEncryptionConfiguration {
21297	s.Rules = v
21298	return s
21299}
21300
21301// An encryption rule to apply to the S3 bucket.
21302type AwsS3BucketServerSideEncryptionRule struct {
21303	_ struct{} `type:"structure"`
21304
21305	// Specifies the default server-side encryption to apply to new objects in the
21306	// bucket. If a PUT object request doesn't specify any server-side encryption,
21307	// this default encryption is applied.
21308	ApplyServerSideEncryptionByDefault *AwsS3BucketServerSideEncryptionByDefault `type:"structure"`
21309}
21310
21311// String returns the string representation
21312func (s AwsS3BucketServerSideEncryptionRule) String() string {
21313	return awsutil.Prettify(s)
21314}
21315
21316// GoString returns the string representation
21317func (s AwsS3BucketServerSideEncryptionRule) GoString() string {
21318	return s.String()
21319}
21320
21321// SetApplyServerSideEncryptionByDefault sets the ApplyServerSideEncryptionByDefault field's value.
21322func (s *AwsS3BucketServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *AwsS3BucketServerSideEncryptionByDefault) *AwsS3BucketServerSideEncryptionRule {
21323	s.ApplyServerSideEncryptionByDefault = v
21324	return s
21325}
21326
21327// Details about an Amazon S3 object.
21328type AwsS3ObjectDetails struct {
21329	_ struct{} `type:"structure"`
21330
21331	// A standard MIME type describing the format of the object data.
21332	ContentType *string `type:"string"`
21333
21334	// The opaque identifier assigned by a web server to a specific version of a
21335	// resource found at a URL.
21336	ETag *string `type:"string"`
21337
21338	// Indicates when the object was last modified.
21339	//
21340	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
21341	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
21342	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
21343	LastModified *string `type:"string"`
21344
21345	// The identifier of the KMS symmetric customer managed customer master key
21346	// (CMK) that was used for the object.
21347	SSEKMSKeyId *string `type:"string"`
21348
21349	// If the object is stored using server-side encryption, the value of the server-side
21350	// encryption algorithm used when storing this object in Amazon S3.
21351	ServerSideEncryption *string `type:"string"`
21352
21353	// The version of the object.
21354	VersionId *string `type:"string"`
21355}
21356
21357// String returns the string representation
21358func (s AwsS3ObjectDetails) String() string {
21359	return awsutil.Prettify(s)
21360}
21361
21362// GoString returns the string representation
21363func (s AwsS3ObjectDetails) GoString() string {
21364	return s.String()
21365}
21366
21367// SetContentType sets the ContentType field's value.
21368func (s *AwsS3ObjectDetails) SetContentType(v string) *AwsS3ObjectDetails {
21369	s.ContentType = &v
21370	return s
21371}
21372
21373// SetETag sets the ETag field's value.
21374func (s *AwsS3ObjectDetails) SetETag(v string) *AwsS3ObjectDetails {
21375	s.ETag = &v
21376	return s
21377}
21378
21379// SetLastModified sets the LastModified field's value.
21380func (s *AwsS3ObjectDetails) SetLastModified(v string) *AwsS3ObjectDetails {
21381	s.LastModified = &v
21382	return s
21383}
21384
21385// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
21386func (s *AwsS3ObjectDetails) SetSSEKMSKeyId(v string) *AwsS3ObjectDetails {
21387	s.SSEKMSKeyId = &v
21388	return s
21389}
21390
21391// SetServerSideEncryption sets the ServerSideEncryption field's value.
21392func (s *AwsS3ObjectDetails) SetServerSideEncryption(v string) *AwsS3ObjectDetails {
21393	s.ServerSideEncryption = &v
21394	return s
21395}
21396
21397// SetVersionId sets the VersionId field's value.
21398func (s *AwsS3ObjectDetails) SetVersionId(v string) *AwsS3ObjectDetails {
21399	s.VersionId = &v
21400	return s
21401}
21402
21403// Details about an Secrets Manager secret.
21404type AwsSecretsManagerSecretDetails struct {
21405	_ struct{} `type:"structure"`
21406
21407	// Whether the secret is deleted.
21408	Deleted *bool `type:"boolean"`
21409
21410	// The user-provided description of the secret.
21411	Description *string `type:"string"`
21412
21413	// The ARN, Key ID, or alias of the KMS customer master key (CMK) used to encrypt
21414	// the SecretString or SecretBinary values for versions of this secret.
21415	KmsKeyId *string `type:"string"`
21416
21417	// The name of the secret.
21418	Name *string `type:"string"`
21419
21420	// Whether rotation is enabled.
21421	RotationEnabled *bool `type:"boolean"`
21422
21423	// The ARN of the Lambda function that rotates the secret.
21424	RotationLambdaArn *string `type:"string"`
21425
21426	// Whether the rotation occurred within the specified rotation frequency.
21427	RotationOccurredWithinFrequency *bool `type:"boolean"`
21428
21429	// Defines the rotation schedule for the secret.
21430	RotationRules *AwsSecretsManagerSecretRotationRules `type:"structure"`
21431}
21432
21433// String returns the string representation
21434func (s AwsSecretsManagerSecretDetails) String() string {
21435	return awsutil.Prettify(s)
21436}
21437
21438// GoString returns the string representation
21439func (s AwsSecretsManagerSecretDetails) GoString() string {
21440	return s.String()
21441}
21442
21443// SetDeleted sets the Deleted field's value.
21444func (s *AwsSecretsManagerSecretDetails) SetDeleted(v bool) *AwsSecretsManagerSecretDetails {
21445	s.Deleted = &v
21446	return s
21447}
21448
21449// SetDescription sets the Description field's value.
21450func (s *AwsSecretsManagerSecretDetails) SetDescription(v string) *AwsSecretsManagerSecretDetails {
21451	s.Description = &v
21452	return s
21453}
21454
21455// SetKmsKeyId sets the KmsKeyId field's value.
21456func (s *AwsSecretsManagerSecretDetails) SetKmsKeyId(v string) *AwsSecretsManagerSecretDetails {
21457	s.KmsKeyId = &v
21458	return s
21459}
21460
21461// SetName sets the Name field's value.
21462func (s *AwsSecretsManagerSecretDetails) SetName(v string) *AwsSecretsManagerSecretDetails {
21463	s.Name = &v
21464	return s
21465}
21466
21467// SetRotationEnabled sets the RotationEnabled field's value.
21468func (s *AwsSecretsManagerSecretDetails) SetRotationEnabled(v bool) *AwsSecretsManagerSecretDetails {
21469	s.RotationEnabled = &v
21470	return s
21471}
21472
21473// SetRotationLambdaArn sets the RotationLambdaArn field's value.
21474func (s *AwsSecretsManagerSecretDetails) SetRotationLambdaArn(v string) *AwsSecretsManagerSecretDetails {
21475	s.RotationLambdaArn = &v
21476	return s
21477}
21478
21479// SetRotationOccurredWithinFrequency sets the RotationOccurredWithinFrequency field's value.
21480func (s *AwsSecretsManagerSecretDetails) SetRotationOccurredWithinFrequency(v bool) *AwsSecretsManagerSecretDetails {
21481	s.RotationOccurredWithinFrequency = &v
21482	return s
21483}
21484
21485// SetRotationRules sets the RotationRules field's value.
21486func (s *AwsSecretsManagerSecretDetails) SetRotationRules(v *AwsSecretsManagerSecretRotationRules) *AwsSecretsManagerSecretDetails {
21487	s.RotationRules = v
21488	return s
21489}
21490
21491// Defines the rotation schedule for the secret.
21492type AwsSecretsManagerSecretRotationRules struct {
21493	_ struct{} `type:"structure"`
21494
21495	// The number of days after the previous rotation to rotate the secret.
21496	AutomaticallyAfterDays *int64 `type:"integer"`
21497}
21498
21499// String returns the string representation
21500func (s AwsSecretsManagerSecretRotationRules) String() string {
21501	return awsutil.Prettify(s)
21502}
21503
21504// GoString returns the string representation
21505func (s AwsSecretsManagerSecretRotationRules) GoString() string {
21506	return s.String()
21507}
21508
21509// SetAutomaticallyAfterDays sets the AutomaticallyAfterDays field's value.
21510func (s *AwsSecretsManagerSecretRotationRules) SetAutomaticallyAfterDays(v int64) *AwsSecretsManagerSecretRotationRules {
21511	s.AutomaticallyAfterDays = &v
21512	return s
21513}
21514
21515// Provides consistent format for the contents of the Security Hub-aggregated
21516// findings. AwsSecurityFinding format enables you to share findings between
21517// Amazon Web Services security services and third-party solutions, and security
21518// standards checks.
21519//
21520// A finding is a potential security issue generated either by Amazon Web Services
21521// services or by the integrated third-party solutions and standards checks.
21522type AwsSecurityFinding struct {
21523	_ struct{} `type:"structure"`
21524
21525	// Provides details about an action that affects or that was taken on a resource.
21526	Action *Action `type:"structure"`
21527
21528	// The Amazon Web Services account ID that a finding is generated in.
21529	//
21530	// AwsAccountId is a required field
21531	AwsAccountId *string `type:"string" required:"true"`
21532
21533	// The name of the company for the product that generated the finding.
21534	//
21535	// Security Hub populates this attribute automatically for each finding. You
21536	// cannot be updated using BatchImportFindings or BatchUpdateFindings. The exception
21537	// to this is when you use a custom integration.
21538	//
21539	// When you use the Security Hub console to filter findings by company name,
21540	// you use this attribute.
21541	//
21542	// When you use the Security Hub API to filter findings by company name, you
21543	// use the aws/securityhub/CompanyName attribute under ProductFields.
21544	//
21545	// Security Hub does not synchronize those two attributes.
21546	CompanyName *string `type:"string"`
21547
21548	// This data type is exclusive to findings that are generated as the result
21549	// of a check run against a specific rule in a supported security standard,
21550	// such as CIS Amazon Web Services Foundations. Contains security standard-related
21551	// finding details.
21552	Compliance *Compliance `type:"structure"`
21553
21554	// A finding's confidence. Confidence is defined as the likelihood that a finding
21555	// accurately identifies the behavior or issue that it was intended to identify.
21556	//
21557	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
21558	// zero percent confidence and 100 means 100 percent confidence.
21559	Confidence *int64 `type:"integer"`
21560
21561	// Indicates when the security-findings provider created the potential security
21562	// issue that a finding captured.
21563	//
21564	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
21565	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
21566	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
21567	//
21568	// CreatedAt is a required field
21569	CreatedAt *string `type:"string" required:"true"`
21570
21571	// The level of importance assigned to the resources associated with the finding.
21572	//
21573	// A score of 0 means that the underlying resources have no criticality, and
21574	// a score of 100 is reserved for the most critical resources.
21575	Criticality *int64 `type:"integer"`
21576
21577	// A finding's description.
21578	//
21579	// In this release, Description is a required property.
21580	//
21581	// Description is a required field
21582	Description *string `type:"string" required:"true"`
21583
21584	// In a BatchImportFindings request, finding providers use FindingProviderFields
21585	// to provide and update their own values for confidence, criticality, related
21586	// findings, severity, and types.
21587	FindingProviderFields *FindingProviderFields `type:"structure"`
21588
21589	// Indicates when the security-findings provider first observed the potential
21590	// security issue that a finding captured.
21591	//
21592	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
21593	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
21594	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
21595	FirstObservedAt *string `type:"string"`
21596
21597	// The identifier for the solution-specific component (a discrete unit of logic)
21598	// that generated a finding. In various security-findings providers' solutions,
21599	// this generator can be called a rule, a check, a detector, a plugin, etc.
21600	//
21601	// GeneratorId is a required field
21602	GeneratorId *string `type:"string" required:"true"`
21603
21604	// The security findings provider-specific identifier for a finding.
21605	//
21606	// Id is a required field
21607	Id *string `type:"string" required:"true"`
21608
21609	// Indicates when the security-findings provider most recently observed the
21610	// potential security issue that a finding captured.
21611	//
21612	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
21613	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
21614	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
21615	LastObservedAt *string `type:"string"`
21616
21617	// A list of malware related to a finding.
21618	Malware []*Malware `type:"list"`
21619
21620	// The details of network-related information about a finding.
21621	Network *Network `type:"structure"`
21622
21623	// Provides information about a network path that is relevant to a finding.
21624	// Each entry under NetworkPath represents a component of that path.
21625	NetworkPath []*NetworkPathComponent `type:"list"`
21626
21627	// A user-defined note added to a finding.
21628	Note *Note `type:"structure"`
21629
21630	// Provides an overview of the patch compliance status for an instance against
21631	// a selected compliance standard.
21632	PatchSummary *PatchSummary `type:"structure"`
21633
21634	// The details of process-related information about a finding.
21635	Process *ProcessDetails `type:"structure"`
21636
21637	// The ARN generated by Security Hub that uniquely identifies a product that
21638	// generates findings. This can be the ARN for a third-party product that is
21639	// integrated with Security Hub, or the ARN for a custom integration.
21640	//
21641	// ProductArn is a required field
21642	ProductArn *string `type:"string" required:"true"`
21643
21644	// A data type where security-findings providers can include additional solution-specific
21645	// details that aren't part of the defined AwsSecurityFinding format.
21646	//
21647	// Can contain up to 50 key-value pairs. For each key-value pair, the key can
21648	// contain up to 128 characters, and the value can contain up to 2048 characters.
21649	ProductFields map[string]*string `type:"map"`
21650
21651	// The name of the product that generated the finding.
21652	//
21653	// Security Hub populates this attribute automatically for each finding. You
21654	// cannot update it using BatchImportFindings or BatchUpdateFindings. The exception
21655	// to this is when you use a custom integration.
21656	//
21657	// When you use the Security Hub console to filter findings by product name,
21658	// you use this attribute.
21659	//
21660	// When you use the Security Hub API to filter findings by product name, you
21661	// use the aws/securityhub/ProductyName attribute under ProductFields.
21662	//
21663	// Security Hub does not synchronize those two attributes.
21664	ProductName *string `type:"string"`
21665
21666	// The record state of a finding.
21667	RecordState *string `type:"string" enum:"RecordState"`
21668
21669	// The Region from which the finding was generated.
21670	//
21671	// Security Hub populates this attribute automatically for each finding. You
21672	// cannot update it using BatchImportFindings or BatchUpdateFindings.
21673	Region *string `type:"string"`
21674
21675	// A list of related findings.
21676	RelatedFindings []*RelatedFinding `type:"list"`
21677
21678	// A data type that describes the remediation options for a finding.
21679	Remediation *Remediation `type:"structure"`
21680
21681	// A set of resource data types that describe the resources that the finding
21682	// refers to.
21683	//
21684	// Resources is a required field
21685	Resources []*Resource `type:"list" required:"true"`
21686
21687	// The schema version that a finding is formatted for.
21688	//
21689	// SchemaVersion is a required field
21690	SchemaVersion *string `type:"string" required:"true"`
21691
21692	// A finding's severity.
21693	Severity *Severity `type:"structure"`
21694
21695	// A URL that links to a page about the current finding in the security-findings
21696	// provider's solution.
21697	SourceUrl *string `type:"string"`
21698
21699	// Threat intelligence details related to a finding.
21700	ThreatIntelIndicators []*ThreatIntelIndicator `type:"list"`
21701
21702	// A finding's title.
21703	//
21704	// In this release, Title is a required property.
21705	//
21706	// Title is a required field
21707	Title *string `type:"string" required:"true"`
21708
21709	// One or more finding types in the format of namespace/category/classifier
21710	// that classify a finding.
21711	//
21712	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
21713	// | Unusual Behaviors | Sensitive Data Identifications
21714	Types []*string `type:"list"`
21715
21716	// Indicates when the security-findings provider last updated the finding record.
21717	//
21718	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
21719	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
21720	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
21721	//
21722	// UpdatedAt is a required field
21723	UpdatedAt *string `type:"string" required:"true"`
21724
21725	// A list of name/value string pairs associated with the finding. These are
21726	// custom, user-defined fields added to a finding.
21727	UserDefinedFields map[string]*string `type:"map"`
21728
21729	// Indicates the veracity of a finding.
21730	VerificationState *string `type:"string" enum:"VerificationState"`
21731
21732	// Provides a list of vulnerabilities associated with the findings.
21733	Vulnerabilities []*Vulnerability `type:"list"`
21734
21735	// Provides information about the status of the investigation into a finding.
21736	Workflow *Workflow `type:"structure"`
21737
21738	// The workflow state of a finding.
21739	WorkflowState *string `deprecated:"true" type:"string" enum:"WorkflowState"`
21740}
21741
21742// String returns the string representation
21743func (s AwsSecurityFinding) String() string {
21744	return awsutil.Prettify(s)
21745}
21746
21747// GoString returns the string representation
21748func (s AwsSecurityFinding) GoString() string {
21749	return s.String()
21750}
21751
21752// Validate inspects the fields of the type to determine if they are valid.
21753func (s *AwsSecurityFinding) Validate() error {
21754	invalidParams := request.ErrInvalidParams{Context: "AwsSecurityFinding"}
21755	if s.AwsAccountId == nil {
21756		invalidParams.Add(request.NewErrParamRequired("AwsAccountId"))
21757	}
21758	if s.CreatedAt == nil {
21759		invalidParams.Add(request.NewErrParamRequired("CreatedAt"))
21760	}
21761	if s.Description == nil {
21762		invalidParams.Add(request.NewErrParamRequired("Description"))
21763	}
21764	if s.GeneratorId == nil {
21765		invalidParams.Add(request.NewErrParamRequired("GeneratorId"))
21766	}
21767	if s.Id == nil {
21768		invalidParams.Add(request.NewErrParamRequired("Id"))
21769	}
21770	if s.ProductArn == nil {
21771		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
21772	}
21773	if s.Resources == nil {
21774		invalidParams.Add(request.NewErrParamRequired("Resources"))
21775	}
21776	if s.SchemaVersion == nil {
21777		invalidParams.Add(request.NewErrParamRequired("SchemaVersion"))
21778	}
21779	if s.Title == nil {
21780		invalidParams.Add(request.NewErrParamRequired("Title"))
21781	}
21782	if s.UpdatedAt == nil {
21783		invalidParams.Add(request.NewErrParamRequired("UpdatedAt"))
21784	}
21785	if s.Compliance != nil {
21786		if err := s.Compliance.Validate(); err != nil {
21787			invalidParams.AddNested("Compliance", err.(request.ErrInvalidParams))
21788		}
21789	}
21790	if s.FindingProviderFields != nil {
21791		if err := s.FindingProviderFields.Validate(); err != nil {
21792			invalidParams.AddNested("FindingProviderFields", err.(request.ErrInvalidParams))
21793		}
21794	}
21795	if s.Malware != nil {
21796		for i, v := range s.Malware {
21797			if v == nil {
21798				continue
21799			}
21800			if err := v.Validate(); err != nil {
21801				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Malware", i), err.(request.ErrInvalidParams))
21802			}
21803		}
21804	}
21805	if s.Note != nil {
21806		if err := s.Note.Validate(); err != nil {
21807			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
21808		}
21809	}
21810	if s.PatchSummary != nil {
21811		if err := s.PatchSummary.Validate(); err != nil {
21812			invalidParams.AddNested("PatchSummary", err.(request.ErrInvalidParams))
21813		}
21814	}
21815	if s.RelatedFindings != nil {
21816		for i, v := range s.RelatedFindings {
21817			if v == nil {
21818				continue
21819			}
21820			if err := v.Validate(); err != nil {
21821				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
21822			}
21823		}
21824	}
21825	if s.Resources != nil {
21826		for i, v := range s.Resources {
21827			if v == nil {
21828				continue
21829			}
21830			if err := v.Validate(); err != nil {
21831				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Resources", i), err.(request.ErrInvalidParams))
21832			}
21833		}
21834	}
21835	if s.Vulnerabilities != nil {
21836		for i, v := range s.Vulnerabilities {
21837			if v == nil {
21838				continue
21839			}
21840			if err := v.Validate(); err != nil {
21841				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Vulnerabilities", i), err.(request.ErrInvalidParams))
21842			}
21843		}
21844	}
21845
21846	if invalidParams.Len() > 0 {
21847		return invalidParams
21848	}
21849	return nil
21850}
21851
21852// SetAction sets the Action field's value.
21853func (s *AwsSecurityFinding) SetAction(v *Action) *AwsSecurityFinding {
21854	s.Action = v
21855	return s
21856}
21857
21858// SetAwsAccountId sets the AwsAccountId field's value.
21859func (s *AwsSecurityFinding) SetAwsAccountId(v string) *AwsSecurityFinding {
21860	s.AwsAccountId = &v
21861	return s
21862}
21863
21864// SetCompanyName sets the CompanyName field's value.
21865func (s *AwsSecurityFinding) SetCompanyName(v string) *AwsSecurityFinding {
21866	s.CompanyName = &v
21867	return s
21868}
21869
21870// SetCompliance sets the Compliance field's value.
21871func (s *AwsSecurityFinding) SetCompliance(v *Compliance) *AwsSecurityFinding {
21872	s.Compliance = v
21873	return s
21874}
21875
21876// SetConfidence sets the Confidence field's value.
21877func (s *AwsSecurityFinding) SetConfidence(v int64) *AwsSecurityFinding {
21878	s.Confidence = &v
21879	return s
21880}
21881
21882// SetCreatedAt sets the CreatedAt field's value.
21883func (s *AwsSecurityFinding) SetCreatedAt(v string) *AwsSecurityFinding {
21884	s.CreatedAt = &v
21885	return s
21886}
21887
21888// SetCriticality sets the Criticality field's value.
21889func (s *AwsSecurityFinding) SetCriticality(v int64) *AwsSecurityFinding {
21890	s.Criticality = &v
21891	return s
21892}
21893
21894// SetDescription sets the Description field's value.
21895func (s *AwsSecurityFinding) SetDescription(v string) *AwsSecurityFinding {
21896	s.Description = &v
21897	return s
21898}
21899
21900// SetFindingProviderFields sets the FindingProviderFields field's value.
21901func (s *AwsSecurityFinding) SetFindingProviderFields(v *FindingProviderFields) *AwsSecurityFinding {
21902	s.FindingProviderFields = v
21903	return s
21904}
21905
21906// SetFirstObservedAt sets the FirstObservedAt field's value.
21907func (s *AwsSecurityFinding) SetFirstObservedAt(v string) *AwsSecurityFinding {
21908	s.FirstObservedAt = &v
21909	return s
21910}
21911
21912// SetGeneratorId sets the GeneratorId field's value.
21913func (s *AwsSecurityFinding) SetGeneratorId(v string) *AwsSecurityFinding {
21914	s.GeneratorId = &v
21915	return s
21916}
21917
21918// SetId sets the Id field's value.
21919func (s *AwsSecurityFinding) SetId(v string) *AwsSecurityFinding {
21920	s.Id = &v
21921	return s
21922}
21923
21924// SetLastObservedAt sets the LastObservedAt field's value.
21925func (s *AwsSecurityFinding) SetLastObservedAt(v string) *AwsSecurityFinding {
21926	s.LastObservedAt = &v
21927	return s
21928}
21929
21930// SetMalware sets the Malware field's value.
21931func (s *AwsSecurityFinding) SetMalware(v []*Malware) *AwsSecurityFinding {
21932	s.Malware = v
21933	return s
21934}
21935
21936// SetNetwork sets the Network field's value.
21937func (s *AwsSecurityFinding) SetNetwork(v *Network) *AwsSecurityFinding {
21938	s.Network = v
21939	return s
21940}
21941
21942// SetNetworkPath sets the NetworkPath field's value.
21943func (s *AwsSecurityFinding) SetNetworkPath(v []*NetworkPathComponent) *AwsSecurityFinding {
21944	s.NetworkPath = v
21945	return s
21946}
21947
21948// SetNote sets the Note field's value.
21949func (s *AwsSecurityFinding) SetNote(v *Note) *AwsSecurityFinding {
21950	s.Note = v
21951	return s
21952}
21953
21954// SetPatchSummary sets the PatchSummary field's value.
21955func (s *AwsSecurityFinding) SetPatchSummary(v *PatchSummary) *AwsSecurityFinding {
21956	s.PatchSummary = v
21957	return s
21958}
21959
21960// SetProcess sets the Process field's value.
21961func (s *AwsSecurityFinding) SetProcess(v *ProcessDetails) *AwsSecurityFinding {
21962	s.Process = v
21963	return s
21964}
21965
21966// SetProductArn sets the ProductArn field's value.
21967func (s *AwsSecurityFinding) SetProductArn(v string) *AwsSecurityFinding {
21968	s.ProductArn = &v
21969	return s
21970}
21971
21972// SetProductFields sets the ProductFields field's value.
21973func (s *AwsSecurityFinding) SetProductFields(v map[string]*string) *AwsSecurityFinding {
21974	s.ProductFields = v
21975	return s
21976}
21977
21978// SetProductName sets the ProductName field's value.
21979func (s *AwsSecurityFinding) SetProductName(v string) *AwsSecurityFinding {
21980	s.ProductName = &v
21981	return s
21982}
21983
21984// SetRecordState sets the RecordState field's value.
21985func (s *AwsSecurityFinding) SetRecordState(v string) *AwsSecurityFinding {
21986	s.RecordState = &v
21987	return s
21988}
21989
21990// SetRegion sets the Region field's value.
21991func (s *AwsSecurityFinding) SetRegion(v string) *AwsSecurityFinding {
21992	s.Region = &v
21993	return s
21994}
21995
21996// SetRelatedFindings sets the RelatedFindings field's value.
21997func (s *AwsSecurityFinding) SetRelatedFindings(v []*RelatedFinding) *AwsSecurityFinding {
21998	s.RelatedFindings = v
21999	return s
22000}
22001
22002// SetRemediation sets the Remediation field's value.
22003func (s *AwsSecurityFinding) SetRemediation(v *Remediation) *AwsSecurityFinding {
22004	s.Remediation = v
22005	return s
22006}
22007
22008// SetResources sets the Resources field's value.
22009func (s *AwsSecurityFinding) SetResources(v []*Resource) *AwsSecurityFinding {
22010	s.Resources = v
22011	return s
22012}
22013
22014// SetSchemaVersion sets the SchemaVersion field's value.
22015func (s *AwsSecurityFinding) SetSchemaVersion(v string) *AwsSecurityFinding {
22016	s.SchemaVersion = &v
22017	return s
22018}
22019
22020// SetSeverity sets the Severity field's value.
22021func (s *AwsSecurityFinding) SetSeverity(v *Severity) *AwsSecurityFinding {
22022	s.Severity = v
22023	return s
22024}
22025
22026// SetSourceUrl sets the SourceUrl field's value.
22027func (s *AwsSecurityFinding) SetSourceUrl(v string) *AwsSecurityFinding {
22028	s.SourceUrl = &v
22029	return s
22030}
22031
22032// SetThreatIntelIndicators sets the ThreatIntelIndicators field's value.
22033func (s *AwsSecurityFinding) SetThreatIntelIndicators(v []*ThreatIntelIndicator) *AwsSecurityFinding {
22034	s.ThreatIntelIndicators = v
22035	return s
22036}
22037
22038// SetTitle sets the Title field's value.
22039func (s *AwsSecurityFinding) SetTitle(v string) *AwsSecurityFinding {
22040	s.Title = &v
22041	return s
22042}
22043
22044// SetTypes sets the Types field's value.
22045func (s *AwsSecurityFinding) SetTypes(v []*string) *AwsSecurityFinding {
22046	s.Types = v
22047	return s
22048}
22049
22050// SetUpdatedAt sets the UpdatedAt field's value.
22051func (s *AwsSecurityFinding) SetUpdatedAt(v string) *AwsSecurityFinding {
22052	s.UpdatedAt = &v
22053	return s
22054}
22055
22056// SetUserDefinedFields sets the UserDefinedFields field's value.
22057func (s *AwsSecurityFinding) SetUserDefinedFields(v map[string]*string) *AwsSecurityFinding {
22058	s.UserDefinedFields = v
22059	return s
22060}
22061
22062// SetVerificationState sets the VerificationState field's value.
22063func (s *AwsSecurityFinding) SetVerificationState(v string) *AwsSecurityFinding {
22064	s.VerificationState = &v
22065	return s
22066}
22067
22068// SetVulnerabilities sets the Vulnerabilities field's value.
22069func (s *AwsSecurityFinding) SetVulnerabilities(v []*Vulnerability) *AwsSecurityFinding {
22070	s.Vulnerabilities = v
22071	return s
22072}
22073
22074// SetWorkflow sets the Workflow field's value.
22075func (s *AwsSecurityFinding) SetWorkflow(v *Workflow) *AwsSecurityFinding {
22076	s.Workflow = v
22077	return s
22078}
22079
22080// SetWorkflowState sets the WorkflowState field's value.
22081func (s *AwsSecurityFinding) SetWorkflowState(v string) *AwsSecurityFinding {
22082	s.WorkflowState = &v
22083	return s
22084}
22085
22086// A collection of attributes that are applied to all active Security Hub-aggregated
22087// findings and that result in a subset of findings that are included in this
22088// insight.
22089//
22090// You can filter by up to 10 finding attributes. For each attribute, you can
22091// provide up to 20 filter values.
22092type AwsSecurityFindingFilters struct {
22093	_ struct{} `type:"structure"`
22094
22095	// The Amazon Web Services account ID that a finding is generated in.
22096	AwsAccountId []*StringFilter `type:"list"`
22097
22098	// The name of the findings provider (company) that owns the solution (product)
22099	// that generates findings.
22100	//
22101	// Note that this is a filter against the aws/securityhub/CompanyName field
22102	// in ProductFields. It is not a filter for the top-level CompanyName field.
22103	CompanyName []*StringFilter `type:"list"`
22104
22105	// Exclusive to findings that are generated as the result of a check run against
22106	// a specific rule in a supported standard, such as CIS Amazon Web Services
22107	// Foundations. Contains security standard-related finding details.
22108	ComplianceStatus []*StringFilter `type:"list"`
22109
22110	// A finding's confidence. Confidence is defined as the likelihood that a finding
22111	// accurately identifies the behavior or issue that it was intended to identify.
22112	//
22113	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
22114	// zero percent confidence and 100 means 100 percent confidence.
22115	Confidence []*NumberFilter `type:"list"`
22116
22117	// An ISO8601-formatted timestamp that indicates when the security-findings
22118	// provider captured the potential security issue that a finding captured.
22119	CreatedAt []*DateFilter `type:"list"`
22120
22121	// The level of importance assigned to the resources associated with the finding.
22122	//
22123	// A score of 0 means that the underlying resources have no criticality, and
22124	// a score of 100 is reserved for the most critical resources.
22125	Criticality []*NumberFilter `type:"list"`
22126
22127	// A finding's description.
22128	Description []*StringFilter `type:"list"`
22129
22130	// The finding provider value for the finding confidence. Confidence is defined
22131	// as the likelihood that a finding accurately identifies the behavior or issue
22132	// that it was intended to identify.
22133	//
22134	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
22135	// zero percent confidence and 100 means 100 percent confidence.
22136	FindingProviderFieldsConfidence []*NumberFilter `type:"list"`
22137
22138	// The finding provider value for the level of importance assigned to the resources
22139	// associated with the findings.
22140	//
22141	// A score of 0 means that the underlying resources have no criticality, and
22142	// a score of 100 is reserved for the most critical resources.
22143	FindingProviderFieldsCriticality []*NumberFilter `type:"list"`
22144
22145	// The finding identifier of a related finding that is identified by the finding
22146	// provider.
22147	FindingProviderFieldsRelatedFindingsId []*StringFilter `type:"list"`
22148
22149	// The ARN of the solution that generated a related finding that is identified
22150	// by the finding provider.
22151	FindingProviderFieldsRelatedFindingsProductArn []*StringFilter `type:"list"`
22152
22153	// The finding provider value for the severity label.
22154	FindingProviderFieldsSeverityLabel []*StringFilter `type:"list"`
22155
22156	// The finding provider's original value for the severity.
22157	FindingProviderFieldsSeverityOriginal []*StringFilter `type:"list"`
22158
22159	// One or more finding types that the finding provider assigned to the finding.
22160	// Uses the format of namespace/category/classifier that classify a finding.
22161	//
22162	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
22163	// | Unusual Behaviors | Sensitive Data Identifications
22164	FindingProviderFieldsTypes []*StringFilter `type:"list"`
22165
22166	// An ISO8601-formatted timestamp that indicates when the security-findings
22167	// provider first observed the potential security issue that a finding captured.
22168	FirstObservedAt []*DateFilter `type:"list"`
22169
22170	// The identifier for the solution-specific component (a discrete unit of logic)
22171	// that generated a finding. In various security-findings providers' solutions,
22172	// this generator can be called a rule, a check, a detector, a plugin, etc.
22173	GeneratorId []*StringFilter `type:"list"`
22174
22175	// The security findings provider-specific identifier for a finding.
22176	Id []*StringFilter `type:"list"`
22177
22178	// A keyword for a finding.
22179	//
22180	// Deprecated: The Keyword property is deprecated.
22181	Keyword []*KeywordFilter `deprecated:"true" type:"list"`
22182
22183	// An ISO8601-formatted timestamp that indicates when the security-findings
22184	// provider most recently observed the potential security issue that a finding
22185	// captured.
22186	LastObservedAt []*DateFilter `type:"list"`
22187
22188	// The name of the malware that was observed.
22189	MalwareName []*StringFilter `type:"list"`
22190
22191	// The filesystem path of the malware that was observed.
22192	MalwarePath []*StringFilter `type:"list"`
22193
22194	// The state of the malware that was observed.
22195	MalwareState []*StringFilter `type:"list"`
22196
22197	// The type of the malware that was observed.
22198	MalwareType []*StringFilter `type:"list"`
22199
22200	// The destination domain of network-related information about a finding.
22201	NetworkDestinationDomain []*StringFilter `type:"list"`
22202
22203	// The destination IPv4 address of network-related information about a finding.
22204	NetworkDestinationIpV4 []*IpFilter `type:"list"`
22205
22206	// The destination IPv6 address of network-related information about a finding.
22207	NetworkDestinationIpV6 []*IpFilter `type:"list"`
22208
22209	// The destination port of network-related information about a finding.
22210	NetworkDestinationPort []*NumberFilter `type:"list"`
22211
22212	// Indicates the direction of network traffic associated with a finding.
22213	NetworkDirection []*StringFilter `type:"list"`
22214
22215	// The protocol of network-related information about a finding.
22216	NetworkProtocol []*StringFilter `type:"list"`
22217
22218	// The source domain of network-related information about a finding.
22219	NetworkSourceDomain []*StringFilter `type:"list"`
22220
22221	// The source IPv4 address of network-related information about a finding.
22222	NetworkSourceIpV4 []*IpFilter `type:"list"`
22223
22224	// The source IPv6 address of network-related information about a finding.
22225	NetworkSourceIpV6 []*IpFilter `type:"list"`
22226
22227	// The source media access control (MAC) address of network-related information
22228	// about a finding.
22229	NetworkSourceMac []*StringFilter `type:"list"`
22230
22231	// The source port of network-related information about a finding.
22232	NetworkSourcePort []*NumberFilter `type:"list"`
22233
22234	// The text of a note.
22235	NoteText []*StringFilter `type:"list"`
22236
22237	// The timestamp of when the note was updated.
22238	NoteUpdatedAt []*DateFilter `type:"list"`
22239
22240	// The principal that created a note.
22241	NoteUpdatedBy []*StringFilter `type:"list"`
22242
22243	// The date/time that the process was launched.
22244	ProcessLaunchedAt []*DateFilter `type:"list"`
22245
22246	// The name of the process.
22247	ProcessName []*StringFilter `type:"list"`
22248
22249	// The parent process ID.
22250	ProcessParentPid []*NumberFilter `type:"list"`
22251
22252	// The path to the process executable.
22253	ProcessPath []*StringFilter `type:"list"`
22254
22255	// The process ID.
22256	ProcessPid []*NumberFilter `type:"list"`
22257
22258	// The date/time that the process was terminated.
22259	ProcessTerminatedAt []*DateFilter `type:"list"`
22260
22261	// The ARN generated by Security Hub that uniquely identifies a third-party
22262	// company (security findings provider) after this provider's product (solution
22263	// that generates findings) is registered with Security Hub.
22264	ProductArn []*StringFilter `type:"list"`
22265
22266	// A data type where security-findings providers can include additional solution-specific
22267	// details that aren't part of the defined AwsSecurityFinding format.
22268	ProductFields []*MapFilter `type:"list"`
22269
22270	// The name of the solution (product) that generates findings.
22271	//
22272	// Note that this is a filter against the aws/securityhub/ProductName field
22273	// in ProductFields. It is not a filter for the top-level ProductName field.
22274	ProductName []*StringFilter `type:"list"`
22275
22276	// The recommendation of what to do about the issue described in a finding.
22277	RecommendationText []*StringFilter `type:"list"`
22278
22279	// The updated record state for the finding.
22280	RecordState []*StringFilter `type:"list"`
22281
22282	// The Region from which the finding was generated.
22283	Region []*StringFilter `type:"list"`
22284
22285	// The solution-generated identifier for a related finding.
22286	RelatedFindingsId []*StringFilter `type:"list"`
22287
22288	// The ARN of the solution that generated a related finding.
22289	RelatedFindingsProductArn []*StringFilter `type:"list"`
22290
22291	// The IAM profile ARN of the instance.
22292	ResourceAwsEc2InstanceIamInstanceProfileArn []*StringFilter `type:"list"`
22293
22294	// The Amazon Machine Image (AMI) ID of the instance.
22295	ResourceAwsEc2InstanceImageId []*StringFilter `type:"list"`
22296
22297	// The IPv4 addresses associated with the instance.
22298	ResourceAwsEc2InstanceIpV4Addresses []*IpFilter `type:"list"`
22299
22300	// The IPv6 addresses associated with the instance.
22301	ResourceAwsEc2InstanceIpV6Addresses []*IpFilter `type:"list"`
22302
22303	// The key name associated with the instance.
22304	ResourceAwsEc2InstanceKeyName []*StringFilter `type:"list"`
22305
22306	// The date and time the instance was launched.
22307	ResourceAwsEc2InstanceLaunchedAt []*DateFilter `type:"list"`
22308
22309	// The identifier of the subnet that the instance was launched in.
22310	ResourceAwsEc2InstanceSubnetId []*StringFilter `type:"list"`
22311
22312	// The instance type of the instance.
22313	ResourceAwsEc2InstanceType []*StringFilter `type:"list"`
22314
22315	// The identifier of the VPC that the instance was launched in.
22316	ResourceAwsEc2InstanceVpcId []*StringFilter `type:"list"`
22317
22318	// The creation date/time of the IAM access key related to a finding.
22319	ResourceAwsIamAccessKeyCreatedAt []*DateFilter `type:"list"`
22320
22321	// The name of the principal that is associated with an IAM access key.
22322	ResourceAwsIamAccessKeyPrincipalName []*StringFilter `type:"list"`
22323
22324	// The status of the IAM access key related to a finding.
22325	ResourceAwsIamAccessKeyStatus []*StringFilter `type:"list"`
22326
22327	// The user associated with the IAM access key related to a finding.
22328	//
22329	// Deprecated: This filter is deprecated. Instead, use ResourceAwsIamAccessKeyPrincipalName.
22330	ResourceAwsIamAccessKeyUserName []*StringFilter `deprecated:"true" type:"list"`
22331
22332	// The name of an IAM user.
22333	ResourceAwsIamUserUserName []*StringFilter `type:"list"`
22334
22335	// The canonical user ID of the owner of the S3 bucket.
22336	ResourceAwsS3BucketOwnerId []*StringFilter `type:"list"`
22337
22338	// The display name of the owner of the S3 bucket.
22339	ResourceAwsS3BucketOwnerName []*StringFilter `type:"list"`
22340
22341	// The identifier of the image related to a finding.
22342	ResourceContainerImageId []*StringFilter `type:"list"`
22343
22344	// The name of the image related to a finding.
22345	ResourceContainerImageName []*StringFilter `type:"list"`
22346
22347	// The date/time that the container was started.
22348	ResourceContainerLaunchedAt []*DateFilter `type:"list"`
22349
22350	// The name of the container related to a finding.
22351	ResourceContainerName []*StringFilter `type:"list"`
22352
22353	// The details of a resource that doesn't have a specific subfield for the resource
22354	// type defined.
22355	ResourceDetailsOther []*MapFilter `type:"list"`
22356
22357	// The canonical identifier for the given resource type.
22358	ResourceId []*StringFilter `type:"list"`
22359
22360	// The canonical Amazon Web Services partition name that the Region is assigned
22361	// to.
22362	ResourcePartition []*StringFilter `type:"list"`
22363
22364	// The canonical Amazon Web Services external Region name where this resource
22365	// is located.
22366	ResourceRegion []*StringFilter `type:"list"`
22367
22368	// A list of Amazon Web Services tags associated with a resource at the time
22369	// the finding was processed.
22370	ResourceTags []*MapFilter `type:"list"`
22371
22372	// Specifies the type of the resource that details are provided for.
22373	ResourceType []*StringFilter `type:"list"`
22374
22375	// The label of a finding's severity.
22376	SeverityLabel []*StringFilter `type:"list"`
22377
22378	// The normalized severity of a finding.
22379	//
22380	// Deprecated: This filter is deprecated. Instead, use SeverityLabel or FindingProviderFieldsSeverityLabel.
22381	SeverityNormalized []*NumberFilter `deprecated:"true" type:"list"`
22382
22383	// The native severity as defined by the security-findings provider's solution
22384	// that generated the finding.
22385	//
22386	// Deprecated: This filter is deprecated. Instead, use FindingProviderSeverityOriginal.
22387	SeverityProduct []*NumberFilter `deprecated:"true" type:"list"`
22388
22389	// A URL that links to a page about the current finding in the security-findings
22390	// provider's solution.
22391	SourceUrl []*StringFilter `type:"list"`
22392
22393	// The category of a threat intelligence indicator.
22394	ThreatIntelIndicatorCategory []*StringFilter `type:"list"`
22395
22396	// The date/time of the last observation of a threat intelligence indicator.
22397	ThreatIntelIndicatorLastObservedAt []*DateFilter `type:"list"`
22398
22399	// The source of the threat intelligence.
22400	ThreatIntelIndicatorSource []*StringFilter `type:"list"`
22401
22402	// The URL for more details from the source of the threat intelligence.
22403	ThreatIntelIndicatorSourceUrl []*StringFilter `type:"list"`
22404
22405	// The type of a threat intelligence indicator.
22406	ThreatIntelIndicatorType []*StringFilter `type:"list"`
22407
22408	// The value of a threat intelligence indicator.
22409	ThreatIntelIndicatorValue []*StringFilter `type:"list"`
22410
22411	// A finding's title.
22412	Title []*StringFilter `type:"list"`
22413
22414	// A finding type in the format of namespace/category/classifier that classifies
22415	// a finding.
22416	Type []*StringFilter `type:"list"`
22417
22418	// An ISO8601-formatted timestamp that indicates when the security-findings
22419	// provider last updated the finding record.
22420	UpdatedAt []*DateFilter `type:"list"`
22421
22422	// A list of name/value string pairs associated with the finding. These are
22423	// custom, user-defined fields added to a finding.
22424	UserDefinedFields []*MapFilter `type:"list"`
22425
22426	// The veracity of a finding.
22427	VerificationState []*StringFilter `type:"list"`
22428
22429	// The workflow state of a finding.
22430	//
22431	// Note that this field is deprecated. To search for a finding based on its
22432	// workflow status, use WorkflowStatus.
22433	WorkflowState []*StringFilter `type:"list"`
22434
22435	// The status of the investigation into a finding. Allowed values are the following.
22436	//
22437	//    * NEW - The initial state of a finding, before it is reviewed. Security
22438	//    Hub also resets the workflow status from NOTIFIED or RESOLVED to NEW in
22439	//    the following cases: The record state changes from ARCHIVED to ACTIVE.
22440	//    The compliance status changes from PASSED to either WARNING, FAILED, or
22441	//    NOT_AVAILABLE.
22442	//
22443	//    * NOTIFIED - Indicates that the resource owner has been notified about
22444	//    the security issue. Used when the initial reviewer is not the resource
22445	//    owner, and needs intervention from the resource owner.
22446	//
22447	//    * SUPPRESSED - The finding will not be reviewed again and will not be
22448	//    acted upon.
22449	//
22450	//    * RESOLVED - The finding was reviewed and remediated and is now considered
22451	//    resolved.
22452	WorkflowStatus []*StringFilter `type:"list"`
22453}
22454
22455// String returns the string representation
22456func (s AwsSecurityFindingFilters) String() string {
22457	return awsutil.Prettify(s)
22458}
22459
22460// GoString returns the string representation
22461func (s AwsSecurityFindingFilters) GoString() string {
22462	return s.String()
22463}
22464
22465// SetAwsAccountId sets the AwsAccountId field's value.
22466func (s *AwsSecurityFindingFilters) SetAwsAccountId(v []*StringFilter) *AwsSecurityFindingFilters {
22467	s.AwsAccountId = v
22468	return s
22469}
22470
22471// SetCompanyName sets the CompanyName field's value.
22472func (s *AwsSecurityFindingFilters) SetCompanyName(v []*StringFilter) *AwsSecurityFindingFilters {
22473	s.CompanyName = v
22474	return s
22475}
22476
22477// SetComplianceStatus sets the ComplianceStatus field's value.
22478func (s *AwsSecurityFindingFilters) SetComplianceStatus(v []*StringFilter) *AwsSecurityFindingFilters {
22479	s.ComplianceStatus = v
22480	return s
22481}
22482
22483// SetConfidence sets the Confidence field's value.
22484func (s *AwsSecurityFindingFilters) SetConfidence(v []*NumberFilter) *AwsSecurityFindingFilters {
22485	s.Confidence = v
22486	return s
22487}
22488
22489// SetCreatedAt sets the CreatedAt field's value.
22490func (s *AwsSecurityFindingFilters) SetCreatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
22491	s.CreatedAt = v
22492	return s
22493}
22494
22495// SetCriticality sets the Criticality field's value.
22496func (s *AwsSecurityFindingFilters) SetCriticality(v []*NumberFilter) *AwsSecurityFindingFilters {
22497	s.Criticality = v
22498	return s
22499}
22500
22501// SetDescription sets the Description field's value.
22502func (s *AwsSecurityFindingFilters) SetDescription(v []*StringFilter) *AwsSecurityFindingFilters {
22503	s.Description = v
22504	return s
22505}
22506
22507// SetFindingProviderFieldsConfidence sets the FindingProviderFieldsConfidence field's value.
22508func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsConfidence(v []*NumberFilter) *AwsSecurityFindingFilters {
22509	s.FindingProviderFieldsConfidence = v
22510	return s
22511}
22512
22513// SetFindingProviderFieldsCriticality sets the FindingProviderFieldsCriticality field's value.
22514func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsCriticality(v []*NumberFilter) *AwsSecurityFindingFilters {
22515	s.FindingProviderFieldsCriticality = v
22516	return s
22517}
22518
22519// SetFindingProviderFieldsRelatedFindingsId sets the FindingProviderFieldsRelatedFindingsId field's value.
22520func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsRelatedFindingsId(v []*StringFilter) *AwsSecurityFindingFilters {
22521	s.FindingProviderFieldsRelatedFindingsId = v
22522	return s
22523}
22524
22525// SetFindingProviderFieldsRelatedFindingsProductArn sets the FindingProviderFieldsRelatedFindingsProductArn field's value.
22526func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsRelatedFindingsProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
22527	s.FindingProviderFieldsRelatedFindingsProductArn = v
22528	return s
22529}
22530
22531// SetFindingProviderFieldsSeverityLabel sets the FindingProviderFieldsSeverityLabel field's value.
22532func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsSeverityLabel(v []*StringFilter) *AwsSecurityFindingFilters {
22533	s.FindingProviderFieldsSeverityLabel = v
22534	return s
22535}
22536
22537// SetFindingProviderFieldsSeverityOriginal sets the FindingProviderFieldsSeverityOriginal field's value.
22538func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsSeverityOriginal(v []*StringFilter) *AwsSecurityFindingFilters {
22539	s.FindingProviderFieldsSeverityOriginal = v
22540	return s
22541}
22542
22543// SetFindingProviderFieldsTypes sets the FindingProviderFieldsTypes field's value.
22544func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsTypes(v []*StringFilter) *AwsSecurityFindingFilters {
22545	s.FindingProviderFieldsTypes = v
22546	return s
22547}
22548
22549// SetFirstObservedAt sets the FirstObservedAt field's value.
22550func (s *AwsSecurityFindingFilters) SetFirstObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
22551	s.FirstObservedAt = v
22552	return s
22553}
22554
22555// SetGeneratorId sets the GeneratorId field's value.
22556func (s *AwsSecurityFindingFilters) SetGeneratorId(v []*StringFilter) *AwsSecurityFindingFilters {
22557	s.GeneratorId = v
22558	return s
22559}
22560
22561// SetId sets the Id field's value.
22562func (s *AwsSecurityFindingFilters) SetId(v []*StringFilter) *AwsSecurityFindingFilters {
22563	s.Id = v
22564	return s
22565}
22566
22567// SetKeyword sets the Keyword field's value.
22568func (s *AwsSecurityFindingFilters) SetKeyword(v []*KeywordFilter) *AwsSecurityFindingFilters {
22569	s.Keyword = v
22570	return s
22571}
22572
22573// SetLastObservedAt sets the LastObservedAt field's value.
22574func (s *AwsSecurityFindingFilters) SetLastObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
22575	s.LastObservedAt = v
22576	return s
22577}
22578
22579// SetMalwareName sets the MalwareName field's value.
22580func (s *AwsSecurityFindingFilters) SetMalwareName(v []*StringFilter) *AwsSecurityFindingFilters {
22581	s.MalwareName = v
22582	return s
22583}
22584
22585// SetMalwarePath sets the MalwarePath field's value.
22586func (s *AwsSecurityFindingFilters) SetMalwarePath(v []*StringFilter) *AwsSecurityFindingFilters {
22587	s.MalwarePath = v
22588	return s
22589}
22590
22591// SetMalwareState sets the MalwareState field's value.
22592func (s *AwsSecurityFindingFilters) SetMalwareState(v []*StringFilter) *AwsSecurityFindingFilters {
22593	s.MalwareState = v
22594	return s
22595}
22596
22597// SetMalwareType sets the MalwareType field's value.
22598func (s *AwsSecurityFindingFilters) SetMalwareType(v []*StringFilter) *AwsSecurityFindingFilters {
22599	s.MalwareType = v
22600	return s
22601}
22602
22603// SetNetworkDestinationDomain sets the NetworkDestinationDomain field's value.
22604func (s *AwsSecurityFindingFilters) SetNetworkDestinationDomain(v []*StringFilter) *AwsSecurityFindingFilters {
22605	s.NetworkDestinationDomain = v
22606	return s
22607}
22608
22609// SetNetworkDestinationIpV4 sets the NetworkDestinationIpV4 field's value.
22610func (s *AwsSecurityFindingFilters) SetNetworkDestinationIpV4(v []*IpFilter) *AwsSecurityFindingFilters {
22611	s.NetworkDestinationIpV4 = v
22612	return s
22613}
22614
22615// SetNetworkDestinationIpV6 sets the NetworkDestinationIpV6 field's value.
22616func (s *AwsSecurityFindingFilters) SetNetworkDestinationIpV6(v []*IpFilter) *AwsSecurityFindingFilters {
22617	s.NetworkDestinationIpV6 = v
22618	return s
22619}
22620
22621// SetNetworkDestinationPort sets the NetworkDestinationPort field's value.
22622func (s *AwsSecurityFindingFilters) SetNetworkDestinationPort(v []*NumberFilter) *AwsSecurityFindingFilters {
22623	s.NetworkDestinationPort = v
22624	return s
22625}
22626
22627// SetNetworkDirection sets the NetworkDirection field's value.
22628func (s *AwsSecurityFindingFilters) SetNetworkDirection(v []*StringFilter) *AwsSecurityFindingFilters {
22629	s.NetworkDirection = v
22630	return s
22631}
22632
22633// SetNetworkProtocol sets the NetworkProtocol field's value.
22634func (s *AwsSecurityFindingFilters) SetNetworkProtocol(v []*StringFilter) *AwsSecurityFindingFilters {
22635	s.NetworkProtocol = v
22636	return s
22637}
22638
22639// SetNetworkSourceDomain sets the NetworkSourceDomain field's value.
22640func (s *AwsSecurityFindingFilters) SetNetworkSourceDomain(v []*StringFilter) *AwsSecurityFindingFilters {
22641	s.NetworkSourceDomain = v
22642	return s
22643}
22644
22645// SetNetworkSourceIpV4 sets the NetworkSourceIpV4 field's value.
22646func (s *AwsSecurityFindingFilters) SetNetworkSourceIpV4(v []*IpFilter) *AwsSecurityFindingFilters {
22647	s.NetworkSourceIpV4 = v
22648	return s
22649}
22650
22651// SetNetworkSourceIpV6 sets the NetworkSourceIpV6 field's value.
22652func (s *AwsSecurityFindingFilters) SetNetworkSourceIpV6(v []*IpFilter) *AwsSecurityFindingFilters {
22653	s.NetworkSourceIpV6 = v
22654	return s
22655}
22656
22657// SetNetworkSourceMac sets the NetworkSourceMac field's value.
22658func (s *AwsSecurityFindingFilters) SetNetworkSourceMac(v []*StringFilter) *AwsSecurityFindingFilters {
22659	s.NetworkSourceMac = v
22660	return s
22661}
22662
22663// SetNetworkSourcePort sets the NetworkSourcePort field's value.
22664func (s *AwsSecurityFindingFilters) SetNetworkSourcePort(v []*NumberFilter) *AwsSecurityFindingFilters {
22665	s.NetworkSourcePort = v
22666	return s
22667}
22668
22669// SetNoteText sets the NoteText field's value.
22670func (s *AwsSecurityFindingFilters) SetNoteText(v []*StringFilter) *AwsSecurityFindingFilters {
22671	s.NoteText = v
22672	return s
22673}
22674
22675// SetNoteUpdatedAt sets the NoteUpdatedAt field's value.
22676func (s *AwsSecurityFindingFilters) SetNoteUpdatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
22677	s.NoteUpdatedAt = v
22678	return s
22679}
22680
22681// SetNoteUpdatedBy sets the NoteUpdatedBy field's value.
22682func (s *AwsSecurityFindingFilters) SetNoteUpdatedBy(v []*StringFilter) *AwsSecurityFindingFilters {
22683	s.NoteUpdatedBy = v
22684	return s
22685}
22686
22687// SetProcessLaunchedAt sets the ProcessLaunchedAt field's value.
22688func (s *AwsSecurityFindingFilters) SetProcessLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
22689	s.ProcessLaunchedAt = v
22690	return s
22691}
22692
22693// SetProcessName sets the ProcessName field's value.
22694func (s *AwsSecurityFindingFilters) SetProcessName(v []*StringFilter) *AwsSecurityFindingFilters {
22695	s.ProcessName = v
22696	return s
22697}
22698
22699// SetProcessParentPid sets the ProcessParentPid field's value.
22700func (s *AwsSecurityFindingFilters) SetProcessParentPid(v []*NumberFilter) *AwsSecurityFindingFilters {
22701	s.ProcessParentPid = v
22702	return s
22703}
22704
22705// SetProcessPath sets the ProcessPath field's value.
22706func (s *AwsSecurityFindingFilters) SetProcessPath(v []*StringFilter) *AwsSecurityFindingFilters {
22707	s.ProcessPath = v
22708	return s
22709}
22710
22711// SetProcessPid sets the ProcessPid field's value.
22712func (s *AwsSecurityFindingFilters) SetProcessPid(v []*NumberFilter) *AwsSecurityFindingFilters {
22713	s.ProcessPid = v
22714	return s
22715}
22716
22717// SetProcessTerminatedAt sets the ProcessTerminatedAt field's value.
22718func (s *AwsSecurityFindingFilters) SetProcessTerminatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
22719	s.ProcessTerminatedAt = v
22720	return s
22721}
22722
22723// SetProductArn sets the ProductArn field's value.
22724func (s *AwsSecurityFindingFilters) SetProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
22725	s.ProductArn = v
22726	return s
22727}
22728
22729// SetProductFields sets the ProductFields field's value.
22730func (s *AwsSecurityFindingFilters) SetProductFields(v []*MapFilter) *AwsSecurityFindingFilters {
22731	s.ProductFields = v
22732	return s
22733}
22734
22735// SetProductName sets the ProductName field's value.
22736func (s *AwsSecurityFindingFilters) SetProductName(v []*StringFilter) *AwsSecurityFindingFilters {
22737	s.ProductName = v
22738	return s
22739}
22740
22741// SetRecommendationText sets the RecommendationText field's value.
22742func (s *AwsSecurityFindingFilters) SetRecommendationText(v []*StringFilter) *AwsSecurityFindingFilters {
22743	s.RecommendationText = v
22744	return s
22745}
22746
22747// SetRecordState sets the RecordState field's value.
22748func (s *AwsSecurityFindingFilters) SetRecordState(v []*StringFilter) *AwsSecurityFindingFilters {
22749	s.RecordState = v
22750	return s
22751}
22752
22753// SetRegion sets the Region field's value.
22754func (s *AwsSecurityFindingFilters) SetRegion(v []*StringFilter) *AwsSecurityFindingFilters {
22755	s.Region = v
22756	return s
22757}
22758
22759// SetRelatedFindingsId sets the RelatedFindingsId field's value.
22760func (s *AwsSecurityFindingFilters) SetRelatedFindingsId(v []*StringFilter) *AwsSecurityFindingFilters {
22761	s.RelatedFindingsId = v
22762	return s
22763}
22764
22765// SetRelatedFindingsProductArn sets the RelatedFindingsProductArn field's value.
22766func (s *AwsSecurityFindingFilters) SetRelatedFindingsProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
22767	s.RelatedFindingsProductArn = v
22768	return s
22769}
22770
22771// SetResourceAwsEc2InstanceIamInstanceProfileArn sets the ResourceAwsEc2InstanceIamInstanceProfileArn field's value.
22772func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIamInstanceProfileArn(v []*StringFilter) *AwsSecurityFindingFilters {
22773	s.ResourceAwsEc2InstanceIamInstanceProfileArn = v
22774	return s
22775}
22776
22777// SetResourceAwsEc2InstanceImageId sets the ResourceAwsEc2InstanceImageId field's value.
22778func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceImageId(v []*StringFilter) *AwsSecurityFindingFilters {
22779	s.ResourceAwsEc2InstanceImageId = v
22780	return s
22781}
22782
22783// SetResourceAwsEc2InstanceIpV4Addresses sets the ResourceAwsEc2InstanceIpV4Addresses field's value.
22784func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIpV4Addresses(v []*IpFilter) *AwsSecurityFindingFilters {
22785	s.ResourceAwsEc2InstanceIpV4Addresses = v
22786	return s
22787}
22788
22789// SetResourceAwsEc2InstanceIpV6Addresses sets the ResourceAwsEc2InstanceIpV6Addresses field's value.
22790func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIpV6Addresses(v []*IpFilter) *AwsSecurityFindingFilters {
22791	s.ResourceAwsEc2InstanceIpV6Addresses = v
22792	return s
22793}
22794
22795// SetResourceAwsEc2InstanceKeyName sets the ResourceAwsEc2InstanceKeyName field's value.
22796func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceKeyName(v []*StringFilter) *AwsSecurityFindingFilters {
22797	s.ResourceAwsEc2InstanceKeyName = v
22798	return s
22799}
22800
22801// SetResourceAwsEc2InstanceLaunchedAt sets the ResourceAwsEc2InstanceLaunchedAt field's value.
22802func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
22803	s.ResourceAwsEc2InstanceLaunchedAt = v
22804	return s
22805}
22806
22807// SetResourceAwsEc2InstanceSubnetId sets the ResourceAwsEc2InstanceSubnetId field's value.
22808func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceSubnetId(v []*StringFilter) *AwsSecurityFindingFilters {
22809	s.ResourceAwsEc2InstanceSubnetId = v
22810	return s
22811}
22812
22813// SetResourceAwsEc2InstanceType sets the ResourceAwsEc2InstanceType field's value.
22814func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceType(v []*StringFilter) *AwsSecurityFindingFilters {
22815	s.ResourceAwsEc2InstanceType = v
22816	return s
22817}
22818
22819// SetResourceAwsEc2InstanceVpcId sets the ResourceAwsEc2InstanceVpcId field's value.
22820func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceVpcId(v []*StringFilter) *AwsSecurityFindingFilters {
22821	s.ResourceAwsEc2InstanceVpcId = v
22822	return s
22823}
22824
22825// SetResourceAwsIamAccessKeyCreatedAt sets the ResourceAwsIamAccessKeyCreatedAt field's value.
22826func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyCreatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
22827	s.ResourceAwsIamAccessKeyCreatedAt = v
22828	return s
22829}
22830
22831// SetResourceAwsIamAccessKeyPrincipalName sets the ResourceAwsIamAccessKeyPrincipalName field's value.
22832func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyPrincipalName(v []*StringFilter) *AwsSecurityFindingFilters {
22833	s.ResourceAwsIamAccessKeyPrincipalName = v
22834	return s
22835}
22836
22837// SetResourceAwsIamAccessKeyStatus sets the ResourceAwsIamAccessKeyStatus field's value.
22838func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyStatus(v []*StringFilter) *AwsSecurityFindingFilters {
22839	s.ResourceAwsIamAccessKeyStatus = v
22840	return s
22841}
22842
22843// SetResourceAwsIamAccessKeyUserName sets the ResourceAwsIamAccessKeyUserName field's value.
22844func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyUserName(v []*StringFilter) *AwsSecurityFindingFilters {
22845	s.ResourceAwsIamAccessKeyUserName = v
22846	return s
22847}
22848
22849// SetResourceAwsIamUserUserName sets the ResourceAwsIamUserUserName field's value.
22850func (s *AwsSecurityFindingFilters) SetResourceAwsIamUserUserName(v []*StringFilter) *AwsSecurityFindingFilters {
22851	s.ResourceAwsIamUserUserName = v
22852	return s
22853}
22854
22855// SetResourceAwsS3BucketOwnerId sets the ResourceAwsS3BucketOwnerId field's value.
22856func (s *AwsSecurityFindingFilters) SetResourceAwsS3BucketOwnerId(v []*StringFilter) *AwsSecurityFindingFilters {
22857	s.ResourceAwsS3BucketOwnerId = v
22858	return s
22859}
22860
22861// SetResourceAwsS3BucketOwnerName sets the ResourceAwsS3BucketOwnerName field's value.
22862func (s *AwsSecurityFindingFilters) SetResourceAwsS3BucketOwnerName(v []*StringFilter) *AwsSecurityFindingFilters {
22863	s.ResourceAwsS3BucketOwnerName = v
22864	return s
22865}
22866
22867// SetResourceContainerImageId sets the ResourceContainerImageId field's value.
22868func (s *AwsSecurityFindingFilters) SetResourceContainerImageId(v []*StringFilter) *AwsSecurityFindingFilters {
22869	s.ResourceContainerImageId = v
22870	return s
22871}
22872
22873// SetResourceContainerImageName sets the ResourceContainerImageName field's value.
22874func (s *AwsSecurityFindingFilters) SetResourceContainerImageName(v []*StringFilter) *AwsSecurityFindingFilters {
22875	s.ResourceContainerImageName = v
22876	return s
22877}
22878
22879// SetResourceContainerLaunchedAt sets the ResourceContainerLaunchedAt field's value.
22880func (s *AwsSecurityFindingFilters) SetResourceContainerLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
22881	s.ResourceContainerLaunchedAt = v
22882	return s
22883}
22884
22885// SetResourceContainerName sets the ResourceContainerName field's value.
22886func (s *AwsSecurityFindingFilters) SetResourceContainerName(v []*StringFilter) *AwsSecurityFindingFilters {
22887	s.ResourceContainerName = v
22888	return s
22889}
22890
22891// SetResourceDetailsOther sets the ResourceDetailsOther field's value.
22892func (s *AwsSecurityFindingFilters) SetResourceDetailsOther(v []*MapFilter) *AwsSecurityFindingFilters {
22893	s.ResourceDetailsOther = v
22894	return s
22895}
22896
22897// SetResourceId sets the ResourceId field's value.
22898func (s *AwsSecurityFindingFilters) SetResourceId(v []*StringFilter) *AwsSecurityFindingFilters {
22899	s.ResourceId = v
22900	return s
22901}
22902
22903// SetResourcePartition sets the ResourcePartition field's value.
22904func (s *AwsSecurityFindingFilters) SetResourcePartition(v []*StringFilter) *AwsSecurityFindingFilters {
22905	s.ResourcePartition = v
22906	return s
22907}
22908
22909// SetResourceRegion sets the ResourceRegion field's value.
22910func (s *AwsSecurityFindingFilters) SetResourceRegion(v []*StringFilter) *AwsSecurityFindingFilters {
22911	s.ResourceRegion = v
22912	return s
22913}
22914
22915// SetResourceTags sets the ResourceTags field's value.
22916func (s *AwsSecurityFindingFilters) SetResourceTags(v []*MapFilter) *AwsSecurityFindingFilters {
22917	s.ResourceTags = v
22918	return s
22919}
22920
22921// SetResourceType sets the ResourceType field's value.
22922func (s *AwsSecurityFindingFilters) SetResourceType(v []*StringFilter) *AwsSecurityFindingFilters {
22923	s.ResourceType = v
22924	return s
22925}
22926
22927// SetSeverityLabel sets the SeverityLabel field's value.
22928func (s *AwsSecurityFindingFilters) SetSeverityLabel(v []*StringFilter) *AwsSecurityFindingFilters {
22929	s.SeverityLabel = v
22930	return s
22931}
22932
22933// SetSeverityNormalized sets the SeverityNormalized field's value.
22934func (s *AwsSecurityFindingFilters) SetSeverityNormalized(v []*NumberFilter) *AwsSecurityFindingFilters {
22935	s.SeverityNormalized = v
22936	return s
22937}
22938
22939// SetSeverityProduct sets the SeverityProduct field's value.
22940func (s *AwsSecurityFindingFilters) SetSeverityProduct(v []*NumberFilter) *AwsSecurityFindingFilters {
22941	s.SeverityProduct = v
22942	return s
22943}
22944
22945// SetSourceUrl sets the SourceUrl field's value.
22946func (s *AwsSecurityFindingFilters) SetSourceUrl(v []*StringFilter) *AwsSecurityFindingFilters {
22947	s.SourceUrl = v
22948	return s
22949}
22950
22951// SetThreatIntelIndicatorCategory sets the ThreatIntelIndicatorCategory field's value.
22952func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorCategory(v []*StringFilter) *AwsSecurityFindingFilters {
22953	s.ThreatIntelIndicatorCategory = v
22954	return s
22955}
22956
22957// SetThreatIntelIndicatorLastObservedAt sets the ThreatIntelIndicatorLastObservedAt field's value.
22958func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorLastObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
22959	s.ThreatIntelIndicatorLastObservedAt = v
22960	return s
22961}
22962
22963// SetThreatIntelIndicatorSource sets the ThreatIntelIndicatorSource field's value.
22964func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorSource(v []*StringFilter) *AwsSecurityFindingFilters {
22965	s.ThreatIntelIndicatorSource = v
22966	return s
22967}
22968
22969// SetThreatIntelIndicatorSourceUrl sets the ThreatIntelIndicatorSourceUrl field's value.
22970func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorSourceUrl(v []*StringFilter) *AwsSecurityFindingFilters {
22971	s.ThreatIntelIndicatorSourceUrl = v
22972	return s
22973}
22974
22975// SetThreatIntelIndicatorType sets the ThreatIntelIndicatorType field's value.
22976func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorType(v []*StringFilter) *AwsSecurityFindingFilters {
22977	s.ThreatIntelIndicatorType = v
22978	return s
22979}
22980
22981// SetThreatIntelIndicatorValue sets the ThreatIntelIndicatorValue field's value.
22982func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorValue(v []*StringFilter) *AwsSecurityFindingFilters {
22983	s.ThreatIntelIndicatorValue = v
22984	return s
22985}
22986
22987// SetTitle sets the Title field's value.
22988func (s *AwsSecurityFindingFilters) SetTitle(v []*StringFilter) *AwsSecurityFindingFilters {
22989	s.Title = v
22990	return s
22991}
22992
22993// SetType sets the Type field's value.
22994func (s *AwsSecurityFindingFilters) SetType(v []*StringFilter) *AwsSecurityFindingFilters {
22995	s.Type = v
22996	return s
22997}
22998
22999// SetUpdatedAt sets the UpdatedAt field's value.
23000func (s *AwsSecurityFindingFilters) SetUpdatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
23001	s.UpdatedAt = v
23002	return s
23003}
23004
23005// SetUserDefinedFields sets the UserDefinedFields field's value.
23006func (s *AwsSecurityFindingFilters) SetUserDefinedFields(v []*MapFilter) *AwsSecurityFindingFilters {
23007	s.UserDefinedFields = v
23008	return s
23009}
23010
23011// SetVerificationState sets the VerificationState field's value.
23012func (s *AwsSecurityFindingFilters) SetVerificationState(v []*StringFilter) *AwsSecurityFindingFilters {
23013	s.VerificationState = v
23014	return s
23015}
23016
23017// SetWorkflowState sets the WorkflowState field's value.
23018func (s *AwsSecurityFindingFilters) SetWorkflowState(v []*StringFilter) *AwsSecurityFindingFilters {
23019	s.WorkflowState = v
23020	return s
23021}
23022
23023// SetWorkflowStatus sets the WorkflowStatus field's value.
23024func (s *AwsSecurityFindingFilters) SetWorkflowStatus(v []*StringFilter) *AwsSecurityFindingFilters {
23025	s.WorkflowStatus = v
23026	return s
23027}
23028
23029// Identifies a finding to update using BatchUpdateFindings.
23030type AwsSecurityFindingIdentifier struct {
23031	_ struct{} `type:"structure"`
23032
23033	// The identifier of the finding that was specified by the finding provider.
23034	//
23035	// Id is a required field
23036	Id *string `type:"string" required:"true"`
23037
23038	// The ARN generated by Security Hub that uniquely identifies a product that
23039	// generates findings. This can be the ARN for a third-party product that is
23040	// integrated with Security Hub, or the ARN for a custom integration.
23041	//
23042	// ProductArn is a required field
23043	ProductArn *string `type:"string" required:"true"`
23044}
23045
23046// String returns the string representation
23047func (s AwsSecurityFindingIdentifier) String() string {
23048	return awsutil.Prettify(s)
23049}
23050
23051// GoString returns the string representation
23052func (s AwsSecurityFindingIdentifier) GoString() string {
23053	return s.String()
23054}
23055
23056// Validate inspects the fields of the type to determine if they are valid.
23057func (s *AwsSecurityFindingIdentifier) Validate() error {
23058	invalidParams := request.ErrInvalidParams{Context: "AwsSecurityFindingIdentifier"}
23059	if s.Id == nil {
23060		invalidParams.Add(request.NewErrParamRequired("Id"))
23061	}
23062	if s.ProductArn == nil {
23063		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
23064	}
23065
23066	if invalidParams.Len() > 0 {
23067		return invalidParams
23068	}
23069	return nil
23070}
23071
23072// SetId sets the Id field's value.
23073func (s *AwsSecurityFindingIdentifier) SetId(v string) *AwsSecurityFindingIdentifier {
23074	s.Id = &v
23075	return s
23076}
23077
23078// SetProductArn sets the ProductArn field's value.
23079func (s *AwsSecurityFindingIdentifier) SetProductArn(v string) *AwsSecurityFindingIdentifier {
23080	s.ProductArn = &v
23081	return s
23082}
23083
23084// A wrapper type for the topic's ARN.
23085type AwsSnsTopicDetails struct {
23086	_ struct{} `type:"structure"`
23087
23088	// The ID of an Amazon Web Services managed customer master key (CMK) for Amazon
23089	// SNS or a custom CMK.
23090	KmsMasterKeyId *string `type:"string"`
23091
23092	// The subscription's owner.
23093	Owner *string `type:"string"`
23094
23095	// Subscription is an embedded property that describes the subscription endpoints
23096	// of an SNS topic.
23097	Subscription []*AwsSnsTopicSubscription `type:"list"`
23098
23099	// The name of the topic.
23100	TopicName *string `type:"string"`
23101}
23102
23103// String returns the string representation
23104func (s AwsSnsTopicDetails) String() string {
23105	return awsutil.Prettify(s)
23106}
23107
23108// GoString returns the string representation
23109func (s AwsSnsTopicDetails) GoString() string {
23110	return s.String()
23111}
23112
23113// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
23114func (s *AwsSnsTopicDetails) SetKmsMasterKeyId(v string) *AwsSnsTopicDetails {
23115	s.KmsMasterKeyId = &v
23116	return s
23117}
23118
23119// SetOwner sets the Owner field's value.
23120func (s *AwsSnsTopicDetails) SetOwner(v string) *AwsSnsTopicDetails {
23121	s.Owner = &v
23122	return s
23123}
23124
23125// SetSubscription sets the Subscription field's value.
23126func (s *AwsSnsTopicDetails) SetSubscription(v []*AwsSnsTopicSubscription) *AwsSnsTopicDetails {
23127	s.Subscription = v
23128	return s
23129}
23130
23131// SetTopicName sets the TopicName field's value.
23132func (s *AwsSnsTopicDetails) SetTopicName(v string) *AwsSnsTopicDetails {
23133	s.TopicName = &v
23134	return s
23135}
23136
23137// A wrapper type for the attributes of an Amazon SNS subscription.
23138type AwsSnsTopicSubscription struct {
23139	_ struct{} `type:"structure"`
23140
23141	// The subscription's endpoint (format depends on the protocol).
23142	Endpoint *string `type:"string"`
23143
23144	// The subscription's protocol.
23145	Protocol *string `type:"string"`
23146}
23147
23148// String returns the string representation
23149func (s AwsSnsTopicSubscription) String() string {
23150	return awsutil.Prettify(s)
23151}
23152
23153// GoString returns the string representation
23154func (s AwsSnsTopicSubscription) GoString() string {
23155	return s.String()
23156}
23157
23158// SetEndpoint sets the Endpoint field's value.
23159func (s *AwsSnsTopicSubscription) SetEndpoint(v string) *AwsSnsTopicSubscription {
23160	s.Endpoint = &v
23161	return s
23162}
23163
23164// SetProtocol sets the Protocol field's value.
23165func (s *AwsSnsTopicSubscription) SetProtocol(v string) *AwsSnsTopicSubscription {
23166	s.Protocol = &v
23167	return s
23168}
23169
23170// Data about a queue.
23171type AwsSqsQueueDetails struct {
23172	_ struct{} `type:"structure"`
23173
23174	// The ARN of the dead-letter queue to which Amazon SQS moves messages after
23175	// the value of maxReceiveCount is exceeded.
23176	DeadLetterTargetArn *string `type:"string"`
23177
23178	// The length of time, in seconds, for which Amazon SQS can reuse a data key
23179	// to encrypt or decrypt messages before calling KMS again.
23180	KmsDataKeyReusePeriodSeconds *int64 `type:"integer"`
23181
23182	// The ID of an Amazon Web Services managed customer master key (CMK) for Amazon
23183	// SQS or a custom CMK.
23184	KmsMasterKeyId *string `type:"string"`
23185
23186	// The name of the new queue.
23187	QueueName *string `type:"string"`
23188}
23189
23190// String returns the string representation
23191func (s AwsSqsQueueDetails) String() string {
23192	return awsutil.Prettify(s)
23193}
23194
23195// GoString returns the string representation
23196func (s AwsSqsQueueDetails) GoString() string {
23197	return s.String()
23198}
23199
23200// SetDeadLetterTargetArn sets the DeadLetterTargetArn field's value.
23201func (s *AwsSqsQueueDetails) SetDeadLetterTargetArn(v string) *AwsSqsQueueDetails {
23202	s.DeadLetterTargetArn = &v
23203	return s
23204}
23205
23206// SetKmsDataKeyReusePeriodSeconds sets the KmsDataKeyReusePeriodSeconds field's value.
23207func (s *AwsSqsQueueDetails) SetKmsDataKeyReusePeriodSeconds(v int64) *AwsSqsQueueDetails {
23208	s.KmsDataKeyReusePeriodSeconds = &v
23209	return s
23210}
23211
23212// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
23213func (s *AwsSqsQueueDetails) SetKmsMasterKeyId(v string) *AwsSqsQueueDetails {
23214	s.KmsMasterKeyId = &v
23215	return s
23216}
23217
23218// SetQueueName sets the QueueName field's value.
23219func (s *AwsSqsQueueDetails) SetQueueName(v string) *AwsSqsQueueDetails {
23220	s.QueueName = &v
23221	return s
23222}
23223
23224// Provides the details about the compliance status for a patch.
23225type AwsSsmComplianceSummary struct {
23226	_ struct{} `type:"structure"`
23227
23228	// The type of resource for which the compliance was determined. For AwsSsmPatchCompliance,
23229	// ComplianceType is Patch.
23230	ComplianceType *string `type:"string"`
23231
23232	// For the patches that are compliant, the number that have a severity of CRITICAL.
23233	CompliantCriticalCount *int64 `type:"integer"`
23234
23235	// For the patches that are compliant, the number that have a severity of HIGH.
23236	CompliantHighCount *int64 `type:"integer"`
23237
23238	// For the patches that are compliant, the number that have a severity of INFORMATIONAL.
23239	CompliantInformationalCount *int64 `type:"integer"`
23240
23241	// For the patches that are compliant, the number that have a severity of LOW.
23242	CompliantLowCount *int64 `type:"integer"`
23243
23244	// For the patches that are compliant, the number that have a severity of MEDIUM.
23245	CompliantMediumCount *int64 `type:"integer"`
23246
23247	// For the patches that are compliant, the number that have a severity of UNSPECIFIED.
23248	CompliantUnspecifiedCount *int64 `type:"integer"`
23249
23250	// The type of execution that was used determine compliance.
23251	ExecutionType *string `type:"string"`
23252
23253	// For the patch items that are noncompliant, the number of items that have
23254	// a severity of CRITICAL.
23255	NonCompliantCriticalCount *int64 `type:"integer"`
23256
23257	// For the patches that are noncompliant, the number that have a severity of
23258	// HIGH.
23259	NonCompliantHighCount *int64 `type:"integer"`
23260
23261	// For the patches that are noncompliant, the number that have a severity of
23262	// INFORMATIONAL.
23263	NonCompliantInformationalCount *int64 `type:"integer"`
23264
23265	// For the patches that are noncompliant, the number that have a severity of
23266	// LOW.
23267	NonCompliantLowCount *int64 `type:"integer"`
23268
23269	// For the patches that are noncompliant, the number that have a severity of
23270	// MEDIUM.
23271	NonCompliantMediumCount *int64 `type:"integer"`
23272
23273	// For the patches that are noncompliant, the number that have a severity of
23274	// UNSPECIFIED.
23275	NonCompliantUnspecifiedCount *int64 `type:"integer"`
23276
23277	// The highest severity for the patches.
23278	OverallSeverity *string `type:"string"`
23279
23280	// The identifier of the patch baseline. The patch baseline lists the patches
23281	// that are approved for installation.
23282	PatchBaselineId *string `type:"string"`
23283
23284	// The identifier of the patch group for which compliance was determined. A
23285	// patch group uses tags to group EC2 instances that should have the same patch
23286	// compliance.
23287	PatchGroup *string `type:"string"`
23288
23289	// The current patch compliance status.
23290	//
23291	// The possible status values are:
23292	//
23293	//    * COMPLIANT
23294	//
23295	//    * NON_COMPLIANT
23296	//
23297	//    * UNSPECIFIED_DATA
23298	Status *string `type:"string"`
23299}
23300
23301// String returns the string representation
23302func (s AwsSsmComplianceSummary) String() string {
23303	return awsutil.Prettify(s)
23304}
23305
23306// GoString returns the string representation
23307func (s AwsSsmComplianceSummary) GoString() string {
23308	return s.String()
23309}
23310
23311// SetComplianceType sets the ComplianceType field's value.
23312func (s *AwsSsmComplianceSummary) SetComplianceType(v string) *AwsSsmComplianceSummary {
23313	s.ComplianceType = &v
23314	return s
23315}
23316
23317// SetCompliantCriticalCount sets the CompliantCriticalCount field's value.
23318func (s *AwsSsmComplianceSummary) SetCompliantCriticalCount(v int64) *AwsSsmComplianceSummary {
23319	s.CompliantCriticalCount = &v
23320	return s
23321}
23322
23323// SetCompliantHighCount sets the CompliantHighCount field's value.
23324func (s *AwsSsmComplianceSummary) SetCompliantHighCount(v int64) *AwsSsmComplianceSummary {
23325	s.CompliantHighCount = &v
23326	return s
23327}
23328
23329// SetCompliantInformationalCount sets the CompliantInformationalCount field's value.
23330func (s *AwsSsmComplianceSummary) SetCompliantInformationalCount(v int64) *AwsSsmComplianceSummary {
23331	s.CompliantInformationalCount = &v
23332	return s
23333}
23334
23335// SetCompliantLowCount sets the CompliantLowCount field's value.
23336func (s *AwsSsmComplianceSummary) SetCompliantLowCount(v int64) *AwsSsmComplianceSummary {
23337	s.CompliantLowCount = &v
23338	return s
23339}
23340
23341// SetCompliantMediumCount sets the CompliantMediumCount field's value.
23342func (s *AwsSsmComplianceSummary) SetCompliantMediumCount(v int64) *AwsSsmComplianceSummary {
23343	s.CompliantMediumCount = &v
23344	return s
23345}
23346
23347// SetCompliantUnspecifiedCount sets the CompliantUnspecifiedCount field's value.
23348func (s *AwsSsmComplianceSummary) SetCompliantUnspecifiedCount(v int64) *AwsSsmComplianceSummary {
23349	s.CompliantUnspecifiedCount = &v
23350	return s
23351}
23352
23353// SetExecutionType sets the ExecutionType field's value.
23354func (s *AwsSsmComplianceSummary) SetExecutionType(v string) *AwsSsmComplianceSummary {
23355	s.ExecutionType = &v
23356	return s
23357}
23358
23359// SetNonCompliantCriticalCount sets the NonCompliantCriticalCount field's value.
23360func (s *AwsSsmComplianceSummary) SetNonCompliantCriticalCount(v int64) *AwsSsmComplianceSummary {
23361	s.NonCompliantCriticalCount = &v
23362	return s
23363}
23364
23365// SetNonCompliantHighCount sets the NonCompliantHighCount field's value.
23366func (s *AwsSsmComplianceSummary) SetNonCompliantHighCount(v int64) *AwsSsmComplianceSummary {
23367	s.NonCompliantHighCount = &v
23368	return s
23369}
23370
23371// SetNonCompliantInformationalCount sets the NonCompliantInformationalCount field's value.
23372func (s *AwsSsmComplianceSummary) SetNonCompliantInformationalCount(v int64) *AwsSsmComplianceSummary {
23373	s.NonCompliantInformationalCount = &v
23374	return s
23375}
23376
23377// SetNonCompliantLowCount sets the NonCompliantLowCount field's value.
23378func (s *AwsSsmComplianceSummary) SetNonCompliantLowCount(v int64) *AwsSsmComplianceSummary {
23379	s.NonCompliantLowCount = &v
23380	return s
23381}
23382
23383// SetNonCompliantMediumCount sets the NonCompliantMediumCount field's value.
23384func (s *AwsSsmComplianceSummary) SetNonCompliantMediumCount(v int64) *AwsSsmComplianceSummary {
23385	s.NonCompliantMediumCount = &v
23386	return s
23387}
23388
23389// SetNonCompliantUnspecifiedCount sets the NonCompliantUnspecifiedCount field's value.
23390func (s *AwsSsmComplianceSummary) SetNonCompliantUnspecifiedCount(v int64) *AwsSsmComplianceSummary {
23391	s.NonCompliantUnspecifiedCount = &v
23392	return s
23393}
23394
23395// SetOverallSeverity sets the OverallSeverity field's value.
23396func (s *AwsSsmComplianceSummary) SetOverallSeverity(v string) *AwsSsmComplianceSummary {
23397	s.OverallSeverity = &v
23398	return s
23399}
23400
23401// SetPatchBaselineId sets the PatchBaselineId field's value.
23402func (s *AwsSsmComplianceSummary) SetPatchBaselineId(v string) *AwsSsmComplianceSummary {
23403	s.PatchBaselineId = &v
23404	return s
23405}
23406
23407// SetPatchGroup sets the PatchGroup field's value.
23408func (s *AwsSsmComplianceSummary) SetPatchGroup(v string) *AwsSsmComplianceSummary {
23409	s.PatchGroup = &v
23410	return s
23411}
23412
23413// SetStatus sets the Status field's value.
23414func (s *AwsSsmComplianceSummary) SetStatus(v string) *AwsSsmComplianceSummary {
23415	s.Status = &v
23416	return s
23417}
23418
23419// Provides details about the compliance for a patch.
23420type AwsSsmPatch struct {
23421	_ struct{} `type:"structure"`
23422
23423	// The compliance status details for the patch.
23424	ComplianceSummary *AwsSsmComplianceSummary `type:"structure"`
23425}
23426
23427// String returns the string representation
23428func (s AwsSsmPatch) String() string {
23429	return awsutil.Prettify(s)
23430}
23431
23432// GoString returns the string representation
23433func (s AwsSsmPatch) GoString() string {
23434	return s.String()
23435}
23436
23437// SetComplianceSummary sets the ComplianceSummary field's value.
23438func (s *AwsSsmPatch) SetComplianceSummary(v *AwsSsmComplianceSummary) *AwsSsmPatch {
23439	s.ComplianceSummary = v
23440	return s
23441}
23442
23443// Provides information about the state of a patch on an instance based on the
23444// patch baseline that was used to patch the instance.
23445type AwsSsmPatchComplianceDetails struct {
23446	_ struct{} `type:"structure"`
23447
23448	// Information about the status of a patch.
23449	Patch *AwsSsmPatch `type:"structure"`
23450}
23451
23452// String returns the string representation
23453func (s AwsSsmPatchComplianceDetails) String() string {
23454	return awsutil.Prettify(s)
23455}
23456
23457// GoString returns the string representation
23458func (s AwsSsmPatchComplianceDetails) GoString() string {
23459	return s.String()
23460}
23461
23462// SetPatch sets the Patch field's value.
23463func (s *AwsSsmPatchComplianceDetails) SetPatch(v *AwsSsmPatch) *AwsSsmPatchComplianceDetails {
23464	s.Patch = v
23465	return s
23466}
23467
23468// Details about an WAF WebACL.
23469type AwsWafWebAclDetails struct {
23470	_ struct{} `type:"structure"`
23471
23472	// The action to perform if none of the rules contained in the WebACL match.
23473	DefaultAction *string `type:"string"`
23474
23475	// A friendly name or description of the WebACL. You can't change the name of
23476	// a WebACL after you create it.
23477	Name *string `type:"string"`
23478
23479	// An array that contains the action for each rule in a WebACL, the priority
23480	// of the rule, and the ID of the rule.
23481	Rules []*AwsWafWebAclRule `type:"list"`
23482
23483	// A unique identifier for a WebACL.
23484	WebAclId *string `type:"string"`
23485}
23486
23487// String returns the string representation
23488func (s AwsWafWebAclDetails) String() string {
23489	return awsutil.Prettify(s)
23490}
23491
23492// GoString returns the string representation
23493func (s AwsWafWebAclDetails) GoString() string {
23494	return s.String()
23495}
23496
23497// SetDefaultAction sets the DefaultAction field's value.
23498func (s *AwsWafWebAclDetails) SetDefaultAction(v string) *AwsWafWebAclDetails {
23499	s.DefaultAction = &v
23500	return s
23501}
23502
23503// SetName sets the Name field's value.
23504func (s *AwsWafWebAclDetails) SetName(v string) *AwsWafWebAclDetails {
23505	s.Name = &v
23506	return s
23507}
23508
23509// SetRules sets the Rules field's value.
23510func (s *AwsWafWebAclDetails) SetRules(v []*AwsWafWebAclRule) *AwsWafWebAclDetails {
23511	s.Rules = v
23512	return s
23513}
23514
23515// SetWebAclId sets the WebAclId field's value.
23516func (s *AwsWafWebAclDetails) SetWebAclId(v string) *AwsWafWebAclDetails {
23517	s.WebAclId = &v
23518	return s
23519}
23520
23521// Details for a rule in an WAF WebACL.
23522type AwsWafWebAclRule struct {
23523	_ struct{} `type:"structure"`
23524
23525	// Specifies the action that CloudFront or WAF takes when a web request matches
23526	// the conditions in the rule.
23527	Action *WafAction `type:"structure"`
23528
23529	// Rules to exclude from a rule group.
23530	ExcludedRules []*WafExcludedRule `type:"list"`
23531
23532	// Use the OverrideAction to test your RuleGroup.
23533	//
23534	// Any rule in a RuleGroup can potentially block a request. If you set the OverrideAction
23535	// to None, the RuleGroup blocks a request if any individual rule in the RuleGroup
23536	// matches the request and is configured to block that request.
23537	//
23538	// However, if you first want to test the RuleGroup, set the OverrideAction
23539	// to Count. The RuleGroup then overrides any block action specified by individual
23540	// rules contained within the group. Instead of blocking matching requests,
23541	// those requests are counted.
23542	//
23543	// ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup
23544	// to a WebACL. In this case you do not use ActivatedRule|Action. For all other
23545	// update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.
23546	OverrideAction *WafOverrideAction `type:"structure"`
23547
23548	// Specifies the order in which the rules in a WebACL are evaluated. Rules with
23549	// a lower value for Priority are evaluated before rules with a higher value.
23550	// The value must be a unique integer. If you add multiple rules to a WebACL,
23551	// the values do not need to be consecutive.
23552	Priority *int64 `type:"integer"`
23553
23554	// The identifier for a rule.
23555	RuleId *string `type:"string"`
23556
23557	// The rule type.
23558	//
23559	// Valid values: REGULAR | RATE_BASED | GROUP
23560	//
23561	// The default is REGULAR.
23562	Type *string `type:"string"`
23563}
23564
23565// String returns the string representation
23566func (s AwsWafWebAclRule) String() string {
23567	return awsutil.Prettify(s)
23568}
23569
23570// GoString returns the string representation
23571func (s AwsWafWebAclRule) GoString() string {
23572	return s.String()
23573}
23574
23575// SetAction sets the Action field's value.
23576func (s *AwsWafWebAclRule) SetAction(v *WafAction) *AwsWafWebAclRule {
23577	s.Action = v
23578	return s
23579}
23580
23581// SetExcludedRules sets the ExcludedRules field's value.
23582func (s *AwsWafWebAclRule) SetExcludedRules(v []*WafExcludedRule) *AwsWafWebAclRule {
23583	s.ExcludedRules = v
23584	return s
23585}
23586
23587// SetOverrideAction sets the OverrideAction field's value.
23588func (s *AwsWafWebAclRule) SetOverrideAction(v *WafOverrideAction) *AwsWafWebAclRule {
23589	s.OverrideAction = v
23590	return s
23591}
23592
23593// SetPriority sets the Priority field's value.
23594func (s *AwsWafWebAclRule) SetPriority(v int64) *AwsWafWebAclRule {
23595	s.Priority = &v
23596	return s
23597}
23598
23599// SetRuleId sets the RuleId field's value.
23600func (s *AwsWafWebAclRule) SetRuleId(v string) *AwsWafWebAclRule {
23601	s.RuleId = &v
23602	return s
23603}
23604
23605// SetType sets the Type field's value.
23606func (s *AwsWafWebAclRule) SetType(v string) *AwsWafWebAclRule {
23607	s.Type = &v
23608	return s
23609}
23610
23611type BatchDisableStandardsInput struct {
23612	_ struct{} `type:"structure"`
23613
23614	// The ARNs of the standards subscriptions to disable.
23615	//
23616	// StandardsSubscriptionArns is a required field
23617	StandardsSubscriptionArns []*string `min:"1" type:"list" required:"true"`
23618}
23619
23620// String returns the string representation
23621func (s BatchDisableStandardsInput) String() string {
23622	return awsutil.Prettify(s)
23623}
23624
23625// GoString returns the string representation
23626func (s BatchDisableStandardsInput) GoString() string {
23627	return s.String()
23628}
23629
23630// Validate inspects the fields of the type to determine if they are valid.
23631func (s *BatchDisableStandardsInput) Validate() error {
23632	invalidParams := request.ErrInvalidParams{Context: "BatchDisableStandardsInput"}
23633	if s.StandardsSubscriptionArns == nil {
23634		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionArns"))
23635	}
23636	if s.StandardsSubscriptionArns != nil && len(s.StandardsSubscriptionArns) < 1 {
23637		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArns", 1))
23638	}
23639
23640	if invalidParams.Len() > 0 {
23641		return invalidParams
23642	}
23643	return nil
23644}
23645
23646// SetStandardsSubscriptionArns sets the StandardsSubscriptionArns field's value.
23647func (s *BatchDisableStandardsInput) SetStandardsSubscriptionArns(v []*string) *BatchDisableStandardsInput {
23648	s.StandardsSubscriptionArns = v
23649	return s
23650}
23651
23652type BatchDisableStandardsOutput struct {
23653	_ struct{} `type:"structure"`
23654
23655	// The details of the standards subscriptions that were disabled.
23656	StandardsSubscriptions []*StandardsSubscription `type:"list"`
23657}
23658
23659// String returns the string representation
23660func (s BatchDisableStandardsOutput) String() string {
23661	return awsutil.Prettify(s)
23662}
23663
23664// GoString returns the string representation
23665func (s BatchDisableStandardsOutput) GoString() string {
23666	return s.String()
23667}
23668
23669// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
23670func (s *BatchDisableStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *BatchDisableStandardsOutput {
23671	s.StandardsSubscriptions = v
23672	return s
23673}
23674
23675type BatchEnableStandardsInput struct {
23676	_ struct{} `type:"structure"`
23677
23678	// The list of standards checks to enable.
23679	//
23680	// StandardsSubscriptionRequests is a required field
23681	StandardsSubscriptionRequests []*StandardsSubscriptionRequest `min:"1" type:"list" required:"true"`
23682}
23683
23684// String returns the string representation
23685func (s BatchEnableStandardsInput) String() string {
23686	return awsutil.Prettify(s)
23687}
23688
23689// GoString returns the string representation
23690func (s BatchEnableStandardsInput) GoString() string {
23691	return s.String()
23692}
23693
23694// Validate inspects the fields of the type to determine if they are valid.
23695func (s *BatchEnableStandardsInput) Validate() error {
23696	invalidParams := request.ErrInvalidParams{Context: "BatchEnableStandardsInput"}
23697	if s.StandardsSubscriptionRequests == nil {
23698		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionRequests"))
23699	}
23700	if s.StandardsSubscriptionRequests != nil && len(s.StandardsSubscriptionRequests) < 1 {
23701		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionRequests", 1))
23702	}
23703	if s.StandardsSubscriptionRequests != nil {
23704		for i, v := range s.StandardsSubscriptionRequests {
23705			if v == nil {
23706				continue
23707			}
23708			if err := v.Validate(); err != nil {
23709				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StandardsSubscriptionRequests", i), err.(request.ErrInvalidParams))
23710			}
23711		}
23712	}
23713
23714	if invalidParams.Len() > 0 {
23715		return invalidParams
23716	}
23717	return nil
23718}
23719
23720// SetStandardsSubscriptionRequests sets the StandardsSubscriptionRequests field's value.
23721func (s *BatchEnableStandardsInput) SetStandardsSubscriptionRequests(v []*StandardsSubscriptionRequest) *BatchEnableStandardsInput {
23722	s.StandardsSubscriptionRequests = v
23723	return s
23724}
23725
23726type BatchEnableStandardsOutput struct {
23727	_ struct{} `type:"structure"`
23728
23729	// The details of the standards subscriptions that were enabled.
23730	StandardsSubscriptions []*StandardsSubscription `type:"list"`
23731}
23732
23733// String returns the string representation
23734func (s BatchEnableStandardsOutput) String() string {
23735	return awsutil.Prettify(s)
23736}
23737
23738// GoString returns the string representation
23739func (s BatchEnableStandardsOutput) GoString() string {
23740	return s.String()
23741}
23742
23743// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
23744func (s *BatchEnableStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *BatchEnableStandardsOutput {
23745	s.StandardsSubscriptions = v
23746	return s
23747}
23748
23749type BatchImportFindingsInput struct {
23750	_ struct{} `type:"structure"`
23751
23752	// A list of findings to import. To successfully import a finding, it must follow
23753	// the Amazon Web Services Security Finding Format (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format.html).
23754	// Maximum of 100 findings per request.
23755	//
23756	// Findings is a required field
23757	Findings []*AwsSecurityFinding `min:"1" type:"list" required:"true"`
23758}
23759
23760// String returns the string representation
23761func (s BatchImportFindingsInput) String() string {
23762	return awsutil.Prettify(s)
23763}
23764
23765// GoString returns the string representation
23766func (s BatchImportFindingsInput) GoString() string {
23767	return s.String()
23768}
23769
23770// Validate inspects the fields of the type to determine if they are valid.
23771func (s *BatchImportFindingsInput) Validate() error {
23772	invalidParams := request.ErrInvalidParams{Context: "BatchImportFindingsInput"}
23773	if s.Findings == nil {
23774		invalidParams.Add(request.NewErrParamRequired("Findings"))
23775	}
23776	if s.Findings != nil && len(s.Findings) < 1 {
23777		invalidParams.Add(request.NewErrParamMinLen("Findings", 1))
23778	}
23779	if s.Findings != nil {
23780		for i, v := range s.Findings {
23781			if v == nil {
23782				continue
23783			}
23784			if err := v.Validate(); err != nil {
23785				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Findings", i), err.(request.ErrInvalidParams))
23786			}
23787		}
23788	}
23789
23790	if invalidParams.Len() > 0 {
23791		return invalidParams
23792	}
23793	return nil
23794}
23795
23796// SetFindings sets the Findings field's value.
23797func (s *BatchImportFindingsInput) SetFindings(v []*AwsSecurityFinding) *BatchImportFindingsInput {
23798	s.Findings = v
23799	return s
23800}
23801
23802type BatchImportFindingsOutput struct {
23803	_ struct{} `type:"structure"`
23804
23805	// The number of findings that failed to import.
23806	//
23807	// FailedCount is a required field
23808	FailedCount *int64 `type:"integer" required:"true"`
23809
23810	// The list of findings that failed to import.
23811	FailedFindings []*ImportFindingsError `type:"list"`
23812
23813	// The number of findings that were successfully imported.
23814	//
23815	// SuccessCount is a required field
23816	SuccessCount *int64 `type:"integer" required:"true"`
23817}
23818
23819// String returns the string representation
23820func (s BatchImportFindingsOutput) String() string {
23821	return awsutil.Prettify(s)
23822}
23823
23824// GoString returns the string representation
23825func (s BatchImportFindingsOutput) GoString() string {
23826	return s.String()
23827}
23828
23829// SetFailedCount sets the FailedCount field's value.
23830func (s *BatchImportFindingsOutput) SetFailedCount(v int64) *BatchImportFindingsOutput {
23831	s.FailedCount = &v
23832	return s
23833}
23834
23835// SetFailedFindings sets the FailedFindings field's value.
23836func (s *BatchImportFindingsOutput) SetFailedFindings(v []*ImportFindingsError) *BatchImportFindingsOutput {
23837	s.FailedFindings = v
23838	return s
23839}
23840
23841// SetSuccessCount sets the SuccessCount field's value.
23842func (s *BatchImportFindingsOutput) SetSuccessCount(v int64) *BatchImportFindingsOutput {
23843	s.SuccessCount = &v
23844	return s
23845}
23846
23847type BatchUpdateFindingsInput struct {
23848	_ struct{} `type:"structure"`
23849
23850	// The updated value for the finding confidence. Confidence is defined as the
23851	// likelihood that a finding accurately identifies the behavior or issue that
23852	// it was intended to identify.
23853	//
23854	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
23855	// zero percent confidence and 100 means 100 percent confidence.
23856	Confidence *int64 `type:"integer"`
23857
23858	// The updated value for the level of importance assigned to the resources associated
23859	// with the findings.
23860	//
23861	// A score of 0 means that the underlying resources have no criticality, and
23862	// a score of 100 is reserved for the most critical resources.
23863	Criticality *int64 `type:"integer"`
23864
23865	// The list of findings to update. BatchUpdateFindings can be used to update
23866	// up to 100 findings at a time.
23867	//
23868	// For each finding, the list provides the finding identifier and the ARN of
23869	// the finding provider.
23870	//
23871	// FindingIdentifiers is a required field
23872	FindingIdentifiers []*AwsSecurityFindingIdentifier `type:"list" required:"true"`
23873
23874	// The updated note.
23875	Note *NoteUpdate `type:"structure"`
23876
23877	// A list of findings that are related to the updated findings.
23878	RelatedFindings []*RelatedFinding `type:"list"`
23879
23880	// Used to update the finding severity.
23881	Severity *SeverityUpdate `type:"structure"`
23882
23883	// One or more finding types in the format of namespace/category/classifier
23884	// that classify a finding.
23885	//
23886	// Valid namespace values are as follows.
23887	//
23888	//    * Software and Configuration Checks
23889	//
23890	//    * TTPs
23891	//
23892	//    * Effects
23893	//
23894	//    * Unusual Behaviors
23895	//
23896	//    * Sensitive Data Identifications
23897	Types []*string `type:"list"`
23898
23899	// A list of name/value string pairs associated with the finding. These are
23900	// custom, user-defined fields added to a finding.
23901	UserDefinedFields map[string]*string `type:"map"`
23902
23903	// Indicates the veracity of a finding.
23904	//
23905	// The available values for VerificationState are as follows.
23906	//
23907	//    * UNKNOWN – The default disposition of a security finding
23908	//
23909	//    * TRUE_POSITIVE – The security finding is confirmed
23910	//
23911	//    * FALSE_POSITIVE – The security finding was determined to be a false
23912	//    alarm
23913	//
23914	//    * BENIGN_POSITIVE – A special case of TRUE_POSITIVE where the finding
23915	//    doesn't pose any threat, is expected, or both
23916	VerificationState *string `type:"string" enum:"VerificationState"`
23917
23918	// Used to update the workflow status of a finding.
23919	//
23920	// The workflow status indicates the progress of the investigation into the
23921	// finding.
23922	Workflow *WorkflowUpdate `type:"structure"`
23923}
23924
23925// String returns the string representation
23926func (s BatchUpdateFindingsInput) String() string {
23927	return awsutil.Prettify(s)
23928}
23929
23930// GoString returns the string representation
23931func (s BatchUpdateFindingsInput) GoString() string {
23932	return s.String()
23933}
23934
23935// Validate inspects the fields of the type to determine if they are valid.
23936func (s *BatchUpdateFindingsInput) Validate() error {
23937	invalidParams := request.ErrInvalidParams{Context: "BatchUpdateFindingsInput"}
23938	if s.FindingIdentifiers == nil {
23939		invalidParams.Add(request.NewErrParamRequired("FindingIdentifiers"))
23940	}
23941	if s.FindingIdentifiers != nil {
23942		for i, v := range s.FindingIdentifiers {
23943			if v == nil {
23944				continue
23945			}
23946			if err := v.Validate(); err != nil {
23947				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FindingIdentifiers", i), err.(request.ErrInvalidParams))
23948			}
23949		}
23950	}
23951	if s.Note != nil {
23952		if err := s.Note.Validate(); err != nil {
23953			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
23954		}
23955	}
23956	if s.RelatedFindings != nil {
23957		for i, v := range s.RelatedFindings {
23958			if v == nil {
23959				continue
23960			}
23961			if err := v.Validate(); err != nil {
23962				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
23963			}
23964		}
23965	}
23966
23967	if invalidParams.Len() > 0 {
23968		return invalidParams
23969	}
23970	return nil
23971}
23972
23973// SetConfidence sets the Confidence field's value.
23974func (s *BatchUpdateFindingsInput) SetConfidence(v int64) *BatchUpdateFindingsInput {
23975	s.Confidence = &v
23976	return s
23977}
23978
23979// SetCriticality sets the Criticality field's value.
23980func (s *BatchUpdateFindingsInput) SetCriticality(v int64) *BatchUpdateFindingsInput {
23981	s.Criticality = &v
23982	return s
23983}
23984
23985// SetFindingIdentifiers sets the FindingIdentifiers field's value.
23986func (s *BatchUpdateFindingsInput) SetFindingIdentifiers(v []*AwsSecurityFindingIdentifier) *BatchUpdateFindingsInput {
23987	s.FindingIdentifiers = v
23988	return s
23989}
23990
23991// SetNote sets the Note field's value.
23992func (s *BatchUpdateFindingsInput) SetNote(v *NoteUpdate) *BatchUpdateFindingsInput {
23993	s.Note = v
23994	return s
23995}
23996
23997// SetRelatedFindings sets the RelatedFindings field's value.
23998func (s *BatchUpdateFindingsInput) SetRelatedFindings(v []*RelatedFinding) *BatchUpdateFindingsInput {
23999	s.RelatedFindings = v
24000	return s
24001}
24002
24003// SetSeverity sets the Severity field's value.
24004func (s *BatchUpdateFindingsInput) SetSeverity(v *SeverityUpdate) *BatchUpdateFindingsInput {
24005	s.Severity = v
24006	return s
24007}
24008
24009// SetTypes sets the Types field's value.
24010func (s *BatchUpdateFindingsInput) SetTypes(v []*string) *BatchUpdateFindingsInput {
24011	s.Types = v
24012	return s
24013}
24014
24015// SetUserDefinedFields sets the UserDefinedFields field's value.
24016func (s *BatchUpdateFindingsInput) SetUserDefinedFields(v map[string]*string) *BatchUpdateFindingsInput {
24017	s.UserDefinedFields = v
24018	return s
24019}
24020
24021// SetVerificationState sets the VerificationState field's value.
24022func (s *BatchUpdateFindingsInput) SetVerificationState(v string) *BatchUpdateFindingsInput {
24023	s.VerificationState = &v
24024	return s
24025}
24026
24027// SetWorkflow sets the Workflow field's value.
24028func (s *BatchUpdateFindingsInput) SetWorkflow(v *WorkflowUpdate) *BatchUpdateFindingsInput {
24029	s.Workflow = v
24030	return s
24031}
24032
24033type BatchUpdateFindingsOutput struct {
24034	_ struct{} `type:"structure"`
24035
24036	// The list of findings that were updated successfully.
24037	//
24038	// ProcessedFindings is a required field
24039	ProcessedFindings []*AwsSecurityFindingIdentifier `type:"list" required:"true"`
24040
24041	// The list of findings that were not updated.
24042	//
24043	// UnprocessedFindings is a required field
24044	UnprocessedFindings []*BatchUpdateFindingsUnprocessedFinding `type:"list" required:"true"`
24045}
24046
24047// String returns the string representation
24048func (s BatchUpdateFindingsOutput) String() string {
24049	return awsutil.Prettify(s)
24050}
24051
24052// GoString returns the string representation
24053func (s BatchUpdateFindingsOutput) GoString() string {
24054	return s.String()
24055}
24056
24057// SetProcessedFindings sets the ProcessedFindings field's value.
24058func (s *BatchUpdateFindingsOutput) SetProcessedFindings(v []*AwsSecurityFindingIdentifier) *BatchUpdateFindingsOutput {
24059	s.ProcessedFindings = v
24060	return s
24061}
24062
24063// SetUnprocessedFindings sets the UnprocessedFindings field's value.
24064func (s *BatchUpdateFindingsOutput) SetUnprocessedFindings(v []*BatchUpdateFindingsUnprocessedFinding) *BatchUpdateFindingsOutput {
24065	s.UnprocessedFindings = v
24066	return s
24067}
24068
24069// A finding from a BatchUpdateFindings request that Security Hub was unable
24070// to update.
24071type BatchUpdateFindingsUnprocessedFinding struct {
24072	_ struct{} `type:"structure"`
24073
24074	// The code associated with the error.
24075	//
24076	// ErrorCode is a required field
24077	ErrorCode *string `type:"string" required:"true"`
24078
24079	// The message associated with the error.
24080	//
24081	// ErrorMessage is a required field
24082	ErrorMessage *string `type:"string" required:"true"`
24083
24084	// The identifier of the finding that was not updated.
24085	//
24086	// FindingIdentifier is a required field
24087	FindingIdentifier *AwsSecurityFindingIdentifier `type:"structure" required:"true"`
24088}
24089
24090// String returns the string representation
24091func (s BatchUpdateFindingsUnprocessedFinding) String() string {
24092	return awsutil.Prettify(s)
24093}
24094
24095// GoString returns the string representation
24096func (s BatchUpdateFindingsUnprocessedFinding) GoString() string {
24097	return s.String()
24098}
24099
24100// SetErrorCode sets the ErrorCode field's value.
24101func (s *BatchUpdateFindingsUnprocessedFinding) SetErrorCode(v string) *BatchUpdateFindingsUnprocessedFinding {
24102	s.ErrorCode = &v
24103	return s
24104}
24105
24106// SetErrorMessage sets the ErrorMessage field's value.
24107func (s *BatchUpdateFindingsUnprocessedFinding) SetErrorMessage(v string) *BatchUpdateFindingsUnprocessedFinding {
24108	s.ErrorMessage = &v
24109	return s
24110}
24111
24112// SetFindingIdentifier sets the FindingIdentifier field's value.
24113func (s *BatchUpdateFindingsUnprocessedFinding) SetFindingIdentifier(v *AwsSecurityFindingIdentifier) *BatchUpdateFindingsUnprocessedFinding {
24114	s.FindingIdentifier = v
24115	return s
24116}
24117
24118// An occurrence of sensitive data detected in a Microsoft Excel workbook, comma-separated
24119// value (CSV) file, or tab-separated value (TSV) file.
24120type Cell struct {
24121	_ struct{} `type:"structure"`
24122
24123	// For a Microsoft Excel workbook, provides the location of the cell, as an
24124	// absolute cell reference, that contains the data. For example, Sheet2!C5 for
24125	// cell C5 on Sheet2.
24126	CellReference *string `type:"string"`
24127
24128	// The column number of the column that contains the data. For a Microsoft Excel
24129	// workbook, the column number corresponds to the alphabetical column identifiers.
24130	// For example, a value of 1 for Column corresponds to the A column in the workbook.
24131	Column *int64 `type:"long"`
24132
24133	// The name of the column that contains the data.
24134	ColumnName *string `type:"string"`
24135
24136	// The row number of the row that contains the data.
24137	Row *int64 `type:"long"`
24138}
24139
24140// String returns the string representation
24141func (s Cell) String() string {
24142	return awsutil.Prettify(s)
24143}
24144
24145// GoString returns the string representation
24146func (s Cell) GoString() string {
24147	return s.String()
24148}
24149
24150// SetCellReference sets the CellReference field's value.
24151func (s *Cell) SetCellReference(v string) *Cell {
24152	s.CellReference = &v
24153	return s
24154}
24155
24156// SetColumn sets the Column field's value.
24157func (s *Cell) SetColumn(v int64) *Cell {
24158	s.Column = &v
24159	return s
24160}
24161
24162// SetColumnName sets the ColumnName field's value.
24163func (s *Cell) SetColumnName(v string) *Cell {
24164	s.ColumnName = &v
24165	return s
24166}
24167
24168// SetRow sets the Row field's value.
24169func (s *Cell) SetRow(v int64) *Cell {
24170	s.Row = &v
24171	return s
24172}
24173
24174// An IPv4 CIDR block association.
24175type CidrBlockAssociation struct {
24176	_ struct{} `type:"structure"`
24177
24178	// The association ID for the IPv4 CIDR block.
24179	AssociationId *string `type:"string"`
24180
24181	// The IPv4 CIDR block.
24182	CidrBlock *string `type:"string"`
24183
24184	// Information about the state of the IPv4 CIDR block.
24185	CidrBlockState *string `type:"string"`
24186}
24187
24188// String returns the string representation
24189func (s CidrBlockAssociation) String() string {
24190	return awsutil.Prettify(s)
24191}
24192
24193// GoString returns the string representation
24194func (s CidrBlockAssociation) GoString() string {
24195	return s.String()
24196}
24197
24198// SetAssociationId sets the AssociationId field's value.
24199func (s *CidrBlockAssociation) SetAssociationId(v string) *CidrBlockAssociation {
24200	s.AssociationId = &v
24201	return s
24202}
24203
24204// SetCidrBlock sets the CidrBlock field's value.
24205func (s *CidrBlockAssociation) SetCidrBlock(v string) *CidrBlockAssociation {
24206	s.CidrBlock = &v
24207	return s
24208}
24209
24210// SetCidrBlockState sets the CidrBlockState field's value.
24211func (s *CidrBlockAssociation) SetCidrBlockState(v string) *CidrBlockAssociation {
24212	s.CidrBlockState = &v
24213	return s
24214}
24215
24216// Information about a city.
24217type City struct {
24218	_ struct{} `type:"structure"`
24219
24220	// The name of the city.
24221	CityName *string `type:"string"`
24222}
24223
24224// String returns the string representation
24225func (s City) String() string {
24226	return awsutil.Prettify(s)
24227}
24228
24229// GoString returns the string representation
24230func (s City) GoString() string {
24231	return s.String()
24232}
24233
24234// SetCityName sets the CityName field's value.
24235func (s *City) SetCityName(v string) *City {
24236	s.CityName = &v
24237	return s
24238}
24239
24240// Details about the sensitive data that was detected on the resource.
24241type ClassificationResult struct {
24242	_ struct{} `type:"structure"`
24243
24244	// Indicates whether there are additional occurrences of sensitive data that
24245	// are not included in the finding. This occurs when the number of occurrences
24246	// exceeds the maximum that can be included.
24247	AdditionalOccurrences *bool `type:"boolean"`
24248
24249	// Provides details about sensitive data that was identified based on customer-defined
24250	// configuration.
24251	CustomDataIdentifiers *CustomDataIdentifiersResult `type:"structure"`
24252
24253	// The type of content that the finding applies to.
24254	MimeType *string `type:"string"`
24255
24256	// Provides details about sensitive data that was identified based on built-in
24257	// configuration.
24258	SensitiveData []*SensitiveDataResult `type:"list"`
24259
24260	// The total size in bytes of the affected data.
24261	SizeClassified *int64 `type:"long"`
24262
24263	// The current status of the sensitive data detection.
24264	Status *ClassificationStatus `type:"structure"`
24265}
24266
24267// String returns the string representation
24268func (s ClassificationResult) String() string {
24269	return awsutil.Prettify(s)
24270}
24271
24272// GoString returns the string representation
24273func (s ClassificationResult) GoString() string {
24274	return s.String()
24275}
24276
24277// SetAdditionalOccurrences sets the AdditionalOccurrences field's value.
24278func (s *ClassificationResult) SetAdditionalOccurrences(v bool) *ClassificationResult {
24279	s.AdditionalOccurrences = &v
24280	return s
24281}
24282
24283// SetCustomDataIdentifiers sets the CustomDataIdentifiers field's value.
24284func (s *ClassificationResult) SetCustomDataIdentifiers(v *CustomDataIdentifiersResult) *ClassificationResult {
24285	s.CustomDataIdentifiers = v
24286	return s
24287}
24288
24289// SetMimeType sets the MimeType field's value.
24290func (s *ClassificationResult) SetMimeType(v string) *ClassificationResult {
24291	s.MimeType = &v
24292	return s
24293}
24294
24295// SetSensitiveData sets the SensitiveData field's value.
24296func (s *ClassificationResult) SetSensitiveData(v []*SensitiveDataResult) *ClassificationResult {
24297	s.SensitiveData = v
24298	return s
24299}
24300
24301// SetSizeClassified sets the SizeClassified field's value.
24302func (s *ClassificationResult) SetSizeClassified(v int64) *ClassificationResult {
24303	s.SizeClassified = &v
24304	return s
24305}
24306
24307// SetStatus sets the Status field's value.
24308func (s *ClassificationResult) SetStatus(v *ClassificationStatus) *ClassificationResult {
24309	s.Status = v
24310	return s
24311}
24312
24313// Provides details about the current status of the sensitive data detection.
24314type ClassificationStatus struct {
24315	_ struct{} `type:"structure"`
24316
24317	// The code that represents the status of the sensitive data detection.
24318	Code *string `type:"string"`
24319
24320	// A longer description of the current status of the sensitive data detection.
24321	Reason *string `type:"string"`
24322}
24323
24324// String returns the string representation
24325func (s ClassificationStatus) String() string {
24326	return awsutil.Prettify(s)
24327}
24328
24329// GoString returns the string representation
24330func (s ClassificationStatus) GoString() string {
24331	return s.String()
24332}
24333
24334// SetCode sets the Code field's value.
24335func (s *ClassificationStatus) SetCode(v string) *ClassificationStatus {
24336	s.Code = &v
24337	return s
24338}
24339
24340// SetReason sets the Reason field's value.
24341func (s *ClassificationStatus) SetReason(v string) *ClassificationStatus {
24342	s.Reason = &v
24343	return s
24344}
24345
24346// Contains finding details that are specific to control-based findings. Only
24347// returned for findings generated from controls.
24348type Compliance struct {
24349	_ struct{} `type:"structure"`
24350
24351	// For a control, the industry or regulatory framework requirements that are
24352	// related to the control. The check for that control is aligned with these
24353	// requirements.
24354	RelatedRequirements []*string `type:"list"`
24355
24356	// The result of a standards check.
24357	//
24358	// The valid values for Status are as follows.
24359	//
24360	//    * PASSED - Standards check passed for all evaluated resources. WARNING
24361	//    - Some information is missing or this check is not supported for your
24362	//    configuration. FAILED - Standards check failed for at least one evaluated
24363	//    resource. NOT_AVAILABLE - Check could not be performed due to a service
24364	//    outage, API error, or because the result of the Config evaluation was
24365	//    NOT_APPLICABLE. If the Config evaluation result was NOT_APPLICABLE, then
24366	//    after 3 days, Security Hub automatically archives the finding.
24367	Status *string `type:"string" enum:"ComplianceStatus"`
24368
24369	// For findings generated from controls, a list of reasons behind the value
24370	// of Status. For the list of status reason codes and their meanings, see Standards-related
24371	// information in the ASFF (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-results.html#securityhub-standards-results-asff)
24372	// in the Security Hub User Guide.
24373	StatusReasons []*StatusReason `type:"list"`
24374}
24375
24376// String returns the string representation
24377func (s Compliance) String() string {
24378	return awsutil.Prettify(s)
24379}
24380
24381// GoString returns the string representation
24382func (s Compliance) GoString() string {
24383	return s.String()
24384}
24385
24386// Validate inspects the fields of the type to determine if they are valid.
24387func (s *Compliance) Validate() error {
24388	invalidParams := request.ErrInvalidParams{Context: "Compliance"}
24389	if s.StatusReasons != nil {
24390		for i, v := range s.StatusReasons {
24391			if v == nil {
24392				continue
24393			}
24394			if err := v.Validate(); err != nil {
24395				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StatusReasons", i), err.(request.ErrInvalidParams))
24396			}
24397		}
24398	}
24399
24400	if invalidParams.Len() > 0 {
24401		return invalidParams
24402	}
24403	return nil
24404}
24405
24406// SetRelatedRequirements sets the RelatedRequirements field's value.
24407func (s *Compliance) SetRelatedRequirements(v []*string) *Compliance {
24408	s.RelatedRequirements = v
24409	return s
24410}
24411
24412// SetStatus sets the Status field's value.
24413func (s *Compliance) SetStatus(v string) *Compliance {
24414	s.Status = &v
24415	return s
24416}
24417
24418// SetStatusReasons sets the StatusReasons field's value.
24419func (s *Compliance) SetStatusReasons(v []*StatusReason) *Compliance {
24420	s.StatusReasons = v
24421	return s
24422}
24423
24424// Container details related to a finding.
24425type ContainerDetails struct {
24426	_ struct{} `type:"structure"`
24427
24428	// The identifier of the image related to a finding.
24429	ImageId *string `type:"string"`
24430
24431	// The name of the image related to a finding.
24432	ImageName *string `type:"string"`
24433
24434	// Indicates when the container started.
24435	//
24436	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
24437	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
24438	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
24439	LaunchedAt *string `type:"string"`
24440
24441	// The name of the container related to a finding.
24442	Name *string `type:"string"`
24443}
24444
24445// String returns the string representation
24446func (s ContainerDetails) String() string {
24447	return awsutil.Prettify(s)
24448}
24449
24450// GoString returns the string representation
24451func (s ContainerDetails) GoString() string {
24452	return s.String()
24453}
24454
24455// SetImageId sets the ImageId field's value.
24456func (s *ContainerDetails) SetImageId(v string) *ContainerDetails {
24457	s.ImageId = &v
24458	return s
24459}
24460
24461// SetImageName sets the ImageName field's value.
24462func (s *ContainerDetails) SetImageName(v string) *ContainerDetails {
24463	s.ImageName = &v
24464	return s
24465}
24466
24467// SetLaunchedAt sets the LaunchedAt field's value.
24468func (s *ContainerDetails) SetLaunchedAt(v string) *ContainerDetails {
24469	s.LaunchedAt = &v
24470	return s
24471}
24472
24473// SetName sets the Name field's value.
24474func (s *ContainerDetails) SetName(v string) *ContainerDetails {
24475	s.Name = &v
24476	return s
24477}
24478
24479// Information about a country.
24480type Country struct {
24481	_ struct{} `type:"structure"`
24482
24483	// The 2-letter ISO 3166 country code for the country.
24484	CountryCode *string `type:"string"`
24485
24486	// The name of the country.
24487	CountryName *string `type:"string"`
24488}
24489
24490// String returns the string representation
24491func (s Country) String() string {
24492	return awsutil.Prettify(s)
24493}
24494
24495// GoString returns the string representation
24496func (s Country) GoString() string {
24497	return s.String()
24498}
24499
24500// SetCountryCode sets the CountryCode field's value.
24501func (s *Country) SetCountryCode(v string) *Country {
24502	s.CountryCode = &v
24503	return s
24504}
24505
24506// SetCountryName sets the CountryName field's value.
24507func (s *Country) SetCountryName(v string) *Country {
24508	s.CountryName = &v
24509	return s
24510}
24511
24512type CreateActionTargetInput struct {
24513	_ struct{} `type:"structure"`
24514
24515	// The description for the custom action target.
24516	//
24517	// Description is a required field
24518	Description *string `type:"string" required:"true"`
24519
24520	// The ID for the custom action target. Can contain up to 20 alphanumeric characters.
24521	//
24522	// Id is a required field
24523	Id *string `type:"string" required:"true"`
24524
24525	// The name of the custom action target. Can contain up to 20 characters.
24526	//
24527	// Name is a required field
24528	Name *string `type:"string" required:"true"`
24529}
24530
24531// String returns the string representation
24532func (s CreateActionTargetInput) String() string {
24533	return awsutil.Prettify(s)
24534}
24535
24536// GoString returns the string representation
24537func (s CreateActionTargetInput) GoString() string {
24538	return s.String()
24539}
24540
24541// Validate inspects the fields of the type to determine if they are valid.
24542func (s *CreateActionTargetInput) Validate() error {
24543	invalidParams := request.ErrInvalidParams{Context: "CreateActionTargetInput"}
24544	if s.Description == nil {
24545		invalidParams.Add(request.NewErrParamRequired("Description"))
24546	}
24547	if s.Id == nil {
24548		invalidParams.Add(request.NewErrParamRequired("Id"))
24549	}
24550	if s.Name == nil {
24551		invalidParams.Add(request.NewErrParamRequired("Name"))
24552	}
24553
24554	if invalidParams.Len() > 0 {
24555		return invalidParams
24556	}
24557	return nil
24558}
24559
24560// SetDescription sets the Description field's value.
24561func (s *CreateActionTargetInput) SetDescription(v string) *CreateActionTargetInput {
24562	s.Description = &v
24563	return s
24564}
24565
24566// SetId sets the Id field's value.
24567func (s *CreateActionTargetInput) SetId(v string) *CreateActionTargetInput {
24568	s.Id = &v
24569	return s
24570}
24571
24572// SetName sets the Name field's value.
24573func (s *CreateActionTargetInput) SetName(v string) *CreateActionTargetInput {
24574	s.Name = &v
24575	return s
24576}
24577
24578type CreateActionTargetOutput struct {
24579	_ struct{} `type:"structure"`
24580
24581	// The ARN for the custom action target.
24582	//
24583	// ActionTargetArn is a required field
24584	ActionTargetArn *string `type:"string" required:"true"`
24585}
24586
24587// String returns the string representation
24588func (s CreateActionTargetOutput) String() string {
24589	return awsutil.Prettify(s)
24590}
24591
24592// GoString returns the string representation
24593func (s CreateActionTargetOutput) GoString() string {
24594	return s.String()
24595}
24596
24597// SetActionTargetArn sets the ActionTargetArn field's value.
24598func (s *CreateActionTargetOutput) SetActionTargetArn(v string) *CreateActionTargetOutput {
24599	s.ActionTargetArn = &v
24600	return s
24601}
24602
24603type CreateInsightInput struct {
24604	_ struct{} `type:"structure"`
24605
24606	// One or more attributes used to filter the findings included in the insight.
24607	// The insight only includes findings that match the criteria defined in the
24608	// filters.
24609	//
24610	// Filters is a required field
24611	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
24612
24613	// The attribute used to group the findings for the insight. The grouping attribute
24614	// identifies the type of item that the insight applies to. For example, if
24615	// an insight is grouped by resource identifier, then the insight produces a
24616	// list of resource identifiers.
24617	//
24618	// GroupByAttribute is a required field
24619	GroupByAttribute *string `type:"string" required:"true"`
24620
24621	// The name of the custom insight to create.
24622	//
24623	// Name is a required field
24624	Name *string `type:"string" required:"true"`
24625}
24626
24627// String returns the string representation
24628func (s CreateInsightInput) String() string {
24629	return awsutil.Prettify(s)
24630}
24631
24632// GoString returns the string representation
24633func (s CreateInsightInput) GoString() string {
24634	return s.String()
24635}
24636
24637// Validate inspects the fields of the type to determine if they are valid.
24638func (s *CreateInsightInput) Validate() error {
24639	invalidParams := request.ErrInvalidParams{Context: "CreateInsightInput"}
24640	if s.Filters == nil {
24641		invalidParams.Add(request.NewErrParamRequired("Filters"))
24642	}
24643	if s.GroupByAttribute == nil {
24644		invalidParams.Add(request.NewErrParamRequired("GroupByAttribute"))
24645	}
24646	if s.Name == nil {
24647		invalidParams.Add(request.NewErrParamRequired("Name"))
24648	}
24649
24650	if invalidParams.Len() > 0 {
24651		return invalidParams
24652	}
24653	return nil
24654}
24655
24656// SetFilters sets the Filters field's value.
24657func (s *CreateInsightInput) SetFilters(v *AwsSecurityFindingFilters) *CreateInsightInput {
24658	s.Filters = v
24659	return s
24660}
24661
24662// SetGroupByAttribute sets the GroupByAttribute field's value.
24663func (s *CreateInsightInput) SetGroupByAttribute(v string) *CreateInsightInput {
24664	s.GroupByAttribute = &v
24665	return s
24666}
24667
24668// SetName sets the Name field's value.
24669func (s *CreateInsightInput) SetName(v string) *CreateInsightInput {
24670	s.Name = &v
24671	return s
24672}
24673
24674type CreateInsightOutput struct {
24675	_ struct{} `type:"structure"`
24676
24677	// The ARN of the insight created.
24678	//
24679	// InsightArn is a required field
24680	InsightArn *string `type:"string" required:"true"`
24681}
24682
24683// String returns the string representation
24684func (s CreateInsightOutput) String() string {
24685	return awsutil.Prettify(s)
24686}
24687
24688// GoString returns the string representation
24689func (s CreateInsightOutput) GoString() string {
24690	return s.String()
24691}
24692
24693// SetInsightArn sets the InsightArn field's value.
24694func (s *CreateInsightOutput) SetInsightArn(v string) *CreateInsightOutput {
24695	s.InsightArn = &v
24696	return s
24697}
24698
24699type CreateMembersInput struct {
24700	_ struct{} `type:"structure"`
24701
24702	// The list of accounts to associate with the Security Hub administrator account.
24703	// For each account, the list includes the account ID and optionally the email
24704	// address.
24705	//
24706	// AccountDetails is a required field
24707	AccountDetails []*AccountDetails `type:"list" required:"true"`
24708}
24709
24710// String returns the string representation
24711func (s CreateMembersInput) String() string {
24712	return awsutil.Prettify(s)
24713}
24714
24715// GoString returns the string representation
24716func (s CreateMembersInput) GoString() string {
24717	return s.String()
24718}
24719
24720// Validate inspects the fields of the type to determine if they are valid.
24721func (s *CreateMembersInput) Validate() error {
24722	invalidParams := request.ErrInvalidParams{Context: "CreateMembersInput"}
24723	if s.AccountDetails == nil {
24724		invalidParams.Add(request.NewErrParamRequired("AccountDetails"))
24725	}
24726	if s.AccountDetails != nil {
24727		for i, v := range s.AccountDetails {
24728			if v == nil {
24729				continue
24730			}
24731			if err := v.Validate(); err != nil {
24732				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountDetails", i), err.(request.ErrInvalidParams))
24733			}
24734		}
24735	}
24736
24737	if invalidParams.Len() > 0 {
24738		return invalidParams
24739	}
24740	return nil
24741}
24742
24743// SetAccountDetails sets the AccountDetails field's value.
24744func (s *CreateMembersInput) SetAccountDetails(v []*AccountDetails) *CreateMembersInput {
24745	s.AccountDetails = v
24746	return s
24747}
24748
24749type CreateMembersOutput struct {
24750	_ struct{} `type:"structure"`
24751
24752	// The list of Amazon Web Services accounts that were not processed. For each
24753	// account, the list includes the account ID and the email address.
24754	UnprocessedAccounts []*Result `type:"list"`
24755}
24756
24757// String returns the string representation
24758func (s CreateMembersOutput) String() string {
24759	return awsutil.Prettify(s)
24760}
24761
24762// GoString returns the string representation
24763func (s CreateMembersOutput) GoString() string {
24764	return s.String()
24765}
24766
24767// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
24768func (s *CreateMembersOutput) SetUnprocessedAccounts(v []*Result) *CreateMembersOutput {
24769	s.UnprocessedAccounts = v
24770	return s
24771}
24772
24773// The list of detected instances of sensitive data.
24774type CustomDataIdentifiersDetections struct {
24775	_ struct{} `type:"structure"`
24776
24777	// The ARN of the custom identifier that was used to detect the sensitive data.
24778	Arn *string `type:"string"`
24779
24780	// The total number of occurrences of sensitive data that were detected.
24781	Count *int64 `type:"long"`
24782
24783	// he name of the custom identifier that detected the sensitive data.
24784	Name *string `type:"string"`
24785
24786	// Details about the sensitive data that was detected.
24787	Occurrences *Occurrences `type:"structure"`
24788}
24789
24790// String returns the string representation
24791func (s CustomDataIdentifiersDetections) String() string {
24792	return awsutil.Prettify(s)
24793}
24794
24795// GoString returns the string representation
24796func (s CustomDataIdentifiersDetections) GoString() string {
24797	return s.String()
24798}
24799
24800// SetArn sets the Arn field's value.
24801func (s *CustomDataIdentifiersDetections) SetArn(v string) *CustomDataIdentifiersDetections {
24802	s.Arn = &v
24803	return s
24804}
24805
24806// SetCount sets the Count field's value.
24807func (s *CustomDataIdentifiersDetections) SetCount(v int64) *CustomDataIdentifiersDetections {
24808	s.Count = &v
24809	return s
24810}
24811
24812// SetName sets the Name field's value.
24813func (s *CustomDataIdentifiersDetections) SetName(v string) *CustomDataIdentifiersDetections {
24814	s.Name = &v
24815	return s
24816}
24817
24818// SetOccurrences sets the Occurrences field's value.
24819func (s *CustomDataIdentifiersDetections) SetOccurrences(v *Occurrences) *CustomDataIdentifiersDetections {
24820	s.Occurrences = v
24821	return s
24822}
24823
24824// Contains an instance of sensitive data that was detected by a customer-defined
24825// identifier.
24826type CustomDataIdentifiersResult struct {
24827	_ struct{} `type:"structure"`
24828
24829	// The list of detected instances of sensitive data.
24830	Detections []*CustomDataIdentifiersDetections `type:"list"`
24831
24832	// The total number of occurrences of sensitive data.
24833	TotalCount *int64 `type:"long"`
24834}
24835
24836// String returns the string representation
24837func (s CustomDataIdentifiersResult) String() string {
24838	return awsutil.Prettify(s)
24839}
24840
24841// GoString returns the string representation
24842func (s CustomDataIdentifiersResult) GoString() string {
24843	return s.String()
24844}
24845
24846// SetDetections sets the Detections field's value.
24847func (s *CustomDataIdentifiersResult) SetDetections(v []*CustomDataIdentifiersDetections) *CustomDataIdentifiersResult {
24848	s.Detections = v
24849	return s
24850}
24851
24852// SetTotalCount sets the TotalCount field's value.
24853func (s *CustomDataIdentifiersResult) SetTotalCount(v int64) *CustomDataIdentifiersResult {
24854	s.TotalCount = &v
24855	return s
24856}
24857
24858// CVSS scores from the advisory related to the vulnerability.
24859type Cvss struct {
24860	_ struct{} `type:"structure"`
24861
24862	// The base CVSS score.
24863	BaseScore *float64 `type:"double"`
24864
24865	// The base scoring vector for the CVSS score.
24866	BaseVector *string `type:"string"`
24867
24868	// The version of CVSS for the CVSS score.
24869	Version *string `type:"string"`
24870}
24871
24872// String returns the string representation
24873func (s Cvss) String() string {
24874	return awsutil.Prettify(s)
24875}
24876
24877// GoString returns the string representation
24878func (s Cvss) GoString() string {
24879	return s.String()
24880}
24881
24882// SetBaseScore sets the BaseScore field's value.
24883func (s *Cvss) SetBaseScore(v float64) *Cvss {
24884	s.BaseScore = &v
24885	return s
24886}
24887
24888// SetBaseVector sets the BaseVector field's value.
24889func (s *Cvss) SetBaseVector(v string) *Cvss {
24890	s.BaseVector = &v
24891	return s
24892}
24893
24894// SetVersion sets the Version field's value.
24895func (s *Cvss) SetVersion(v string) *Cvss {
24896	s.Version = &v
24897	return s
24898}
24899
24900// Provides details about sensitive data that was detected on a resource.
24901type DataClassificationDetails struct {
24902	_ struct{} `type:"structure"`
24903
24904	// The path to the folder or file that contains the sensitive data.
24905	DetailedResultsLocation *string `type:"string"`
24906
24907	// The details about the sensitive data that was detected on the resource.
24908	Result *ClassificationResult `type:"structure"`
24909}
24910
24911// String returns the string representation
24912func (s DataClassificationDetails) String() string {
24913	return awsutil.Prettify(s)
24914}
24915
24916// GoString returns the string representation
24917func (s DataClassificationDetails) GoString() string {
24918	return s.String()
24919}
24920
24921// SetDetailedResultsLocation sets the DetailedResultsLocation field's value.
24922func (s *DataClassificationDetails) SetDetailedResultsLocation(v string) *DataClassificationDetails {
24923	s.DetailedResultsLocation = &v
24924	return s
24925}
24926
24927// SetResult sets the Result field's value.
24928func (s *DataClassificationDetails) SetResult(v *ClassificationResult) *DataClassificationDetails {
24929	s.Result = v
24930	return s
24931}
24932
24933// A date filter for querying findings.
24934type DateFilter struct {
24935	_ struct{} `type:"structure"`
24936
24937	// A date range for the date filter.
24938	DateRange *DateRange `type:"structure"`
24939
24940	// An end date for the date filter.
24941	End *string `type:"string"`
24942
24943	// A start date for the date filter.
24944	Start *string `type:"string"`
24945}
24946
24947// String returns the string representation
24948func (s DateFilter) String() string {
24949	return awsutil.Prettify(s)
24950}
24951
24952// GoString returns the string representation
24953func (s DateFilter) GoString() string {
24954	return s.String()
24955}
24956
24957// SetDateRange sets the DateRange field's value.
24958func (s *DateFilter) SetDateRange(v *DateRange) *DateFilter {
24959	s.DateRange = v
24960	return s
24961}
24962
24963// SetEnd sets the End field's value.
24964func (s *DateFilter) SetEnd(v string) *DateFilter {
24965	s.End = &v
24966	return s
24967}
24968
24969// SetStart sets the Start field's value.
24970func (s *DateFilter) SetStart(v string) *DateFilter {
24971	s.Start = &v
24972	return s
24973}
24974
24975// A date range for the date filter.
24976type DateRange struct {
24977	_ struct{} `type:"structure"`
24978
24979	// A date range unit for the date filter.
24980	Unit *string `type:"string" enum:"DateRangeUnit"`
24981
24982	// A date range value for the date filter.
24983	Value *int64 `type:"integer"`
24984}
24985
24986// String returns the string representation
24987func (s DateRange) String() string {
24988	return awsutil.Prettify(s)
24989}
24990
24991// GoString returns the string representation
24992func (s DateRange) GoString() string {
24993	return s.String()
24994}
24995
24996// SetUnit sets the Unit field's value.
24997func (s *DateRange) SetUnit(v string) *DateRange {
24998	s.Unit = &v
24999	return s
25000}
25001
25002// SetValue sets the Value field's value.
25003func (s *DateRange) SetValue(v int64) *DateRange {
25004	s.Value = &v
25005	return s
25006}
25007
25008type DeclineInvitationsInput struct {
25009	_ struct{} `type:"structure"`
25010
25011	// The list of account IDs for the accounts from which to decline the invitations
25012	// to Security Hub.
25013	//
25014	// AccountIds is a required field
25015	AccountIds []*string `type:"list" required:"true"`
25016}
25017
25018// String returns the string representation
25019func (s DeclineInvitationsInput) String() string {
25020	return awsutil.Prettify(s)
25021}
25022
25023// GoString returns the string representation
25024func (s DeclineInvitationsInput) GoString() string {
25025	return s.String()
25026}
25027
25028// Validate inspects the fields of the type to determine if they are valid.
25029func (s *DeclineInvitationsInput) Validate() error {
25030	invalidParams := request.ErrInvalidParams{Context: "DeclineInvitationsInput"}
25031	if s.AccountIds == nil {
25032		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
25033	}
25034
25035	if invalidParams.Len() > 0 {
25036		return invalidParams
25037	}
25038	return nil
25039}
25040
25041// SetAccountIds sets the AccountIds field's value.
25042func (s *DeclineInvitationsInput) SetAccountIds(v []*string) *DeclineInvitationsInput {
25043	s.AccountIds = v
25044	return s
25045}
25046
25047type DeclineInvitationsOutput struct {
25048	_ struct{} `type:"structure"`
25049
25050	// The list of Amazon Web Services accounts that were not processed. For each
25051	// account, the list includes the account ID and the email address.
25052	UnprocessedAccounts []*Result `type:"list"`
25053}
25054
25055// String returns the string representation
25056func (s DeclineInvitationsOutput) String() string {
25057	return awsutil.Prettify(s)
25058}
25059
25060// GoString returns the string representation
25061func (s DeclineInvitationsOutput) GoString() string {
25062	return s.String()
25063}
25064
25065// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
25066func (s *DeclineInvitationsOutput) SetUnprocessedAccounts(v []*Result) *DeclineInvitationsOutput {
25067	s.UnprocessedAccounts = v
25068	return s
25069}
25070
25071type DeleteActionTargetInput struct {
25072	_ struct{} `type:"structure"`
25073
25074	// The ARN of the custom action target to delete.
25075	//
25076	// ActionTargetArn is a required field
25077	ActionTargetArn *string `location:"uri" locationName:"ActionTargetArn" type:"string" required:"true"`
25078}
25079
25080// String returns the string representation
25081func (s DeleteActionTargetInput) String() string {
25082	return awsutil.Prettify(s)
25083}
25084
25085// GoString returns the string representation
25086func (s DeleteActionTargetInput) GoString() string {
25087	return s.String()
25088}
25089
25090// Validate inspects the fields of the type to determine if they are valid.
25091func (s *DeleteActionTargetInput) Validate() error {
25092	invalidParams := request.ErrInvalidParams{Context: "DeleteActionTargetInput"}
25093	if s.ActionTargetArn == nil {
25094		invalidParams.Add(request.NewErrParamRequired("ActionTargetArn"))
25095	}
25096	if s.ActionTargetArn != nil && len(*s.ActionTargetArn) < 1 {
25097		invalidParams.Add(request.NewErrParamMinLen("ActionTargetArn", 1))
25098	}
25099
25100	if invalidParams.Len() > 0 {
25101		return invalidParams
25102	}
25103	return nil
25104}
25105
25106// SetActionTargetArn sets the ActionTargetArn field's value.
25107func (s *DeleteActionTargetInput) SetActionTargetArn(v string) *DeleteActionTargetInput {
25108	s.ActionTargetArn = &v
25109	return s
25110}
25111
25112type DeleteActionTargetOutput struct {
25113	_ struct{} `type:"structure"`
25114
25115	// The ARN of the custom action target that was deleted.
25116	//
25117	// ActionTargetArn is a required field
25118	ActionTargetArn *string `type:"string" required:"true"`
25119}
25120
25121// String returns the string representation
25122func (s DeleteActionTargetOutput) String() string {
25123	return awsutil.Prettify(s)
25124}
25125
25126// GoString returns the string representation
25127func (s DeleteActionTargetOutput) GoString() string {
25128	return s.String()
25129}
25130
25131// SetActionTargetArn sets the ActionTargetArn field's value.
25132func (s *DeleteActionTargetOutput) SetActionTargetArn(v string) *DeleteActionTargetOutput {
25133	s.ActionTargetArn = &v
25134	return s
25135}
25136
25137type DeleteInsightInput struct {
25138	_ struct{} `type:"structure"`
25139
25140	// The ARN of the insight to delete.
25141	//
25142	// InsightArn is a required field
25143	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
25144}
25145
25146// String returns the string representation
25147func (s DeleteInsightInput) String() string {
25148	return awsutil.Prettify(s)
25149}
25150
25151// GoString returns the string representation
25152func (s DeleteInsightInput) GoString() string {
25153	return s.String()
25154}
25155
25156// Validate inspects the fields of the type to determine if they are valid.
25157func (s *DeleteInsightInput) Validate() error {
25158	invalidParams := request.ErrInvalidParams{Context: "DeleteInsightInput"}
25159	if s.InsightArn == nil {
25160		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
25161	}
25162	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
25163		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
25164	}
25165
25166	if invalidParams.Len() > 0 {
25167		return invalidParams
25168	}
25169	return nil
25170}
25171
25172// SetInsightArn sets the InsightArn field's value.
25173func (s *DeleteInsightInput) SetInsightArn(v string) *DeleteInsightInput {
25174	s.InsightArn = &v
25175	return s
25176}
25177
25178type DeleteInsightOutput struct {
25179	_ struct{} `type:"structure"`
25180
25181	// The ARN of the insight that was deleted.
25182	//
25183	// InsightArn is a required field
25184	InsightArn *string `type:"string" required:"true"`
25185}
25186
25187// String returns the string representation
25188func (s DeleteInsightOutput) String() string {
25189	return awsutil.Prettify(s)
25190}
25191
25192// GoString returns the string representation
25193func (s DeleteInsightOutput) GoString() string {
25194	return s.String()
25195}
25196
25197// SetInsightArn sets the InsightArn field's value.
25198func (s *DeleteInsightOutput) SetInsightArn(v string) *DeleteInsightOutput {
25199	s.InsightArn = &v
25200	return s
25201}
25202
25203type DeleteInvitationsInput struct {
25204	_ struct{} `type:"structure"`
25205
25206	// The list of the account IDs that sent the invitations to delete.
25207	//
25208	// AccountIds is a required field
25209	AccountIds []*string `type:"list" required:"true"`
25210}
25211
25212// String returns the string representation
25213func (s DeleteInvitationsInput) String() string {
25214	return awsutil.Prettify(s)
25215}
25216
25217// GoString returns the string representation
25218func (s DeleteInvitationsInput) GoString() string {
25219	return s.String()
25220}
25221
25222// Validate inspects the fields of the type to determine if they are valid.
25223func (s *DeleteInvitationsInput) Validate() error {
25224	invalidParams := request.ErrInvalidParams{Context: "DeleteInvitationsInput"}
25225	if s.AccountIds == nil {
25226		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
25227	}
25228
25229	if invalidParams.Len() > 0 {
25230		return invalidParams
25231	}
25232	return nil
25233}
25234
25235// SetAccountIds sets the AccountIds field's value.
25236func (s *DeleteInvitationsInput) SetAccountIds(v []*string) *DeleteInvitationsInput {
25237	s.AccountIds = v
25238	return s
25239}
25240
25241type DeleteInvitationsOutput struct {
25242	_ struct{} `type:"structure"`
25243
25244	// The list of Amazon Web Services accounts for which the invitations were not
25245	// deleted. For each account, the list includes the account ID and the email
25246	// address.
25247	UnprocessedAccounts []*Result `type:"list"`
25248}
25249
25250// String returns the string representation
25251func (s DeleteInvitationsOutput) String() string {
25252	return awsutil.Prettify(s)
25253}
25254
25255// GoString returns the string representation
25256func (s DeleteInvitationsOutput) GoString() string {
25257	return s.String()
25258}
25259
25260// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
25261func (s *DeleteInvitationsOutput) SetUnprocessedAccounts(v []*Result) *DeleteInvitationsOutput {
25262	s.UnprocessedAccounts = v
25263	return s
25264}
25265
25266type DeleteMembersInput struct {
25267	_ struct{} `type:"structure"`
25268
25269	// The list of account IDs for the member accounts to delete.
25270	//
25271	// AccountIds is a required field
25272	AccountIds []*string `type:"list" required:"true"`
25273}
25274
25275// String returns the string representation
25276func (s DeleteMembersInput) String() string {
25277	return awsutil.Prettify(s)
25278}
25279
25280// GoString returns the string representation
25281func (s DeleteMembersInput) GoString() string {
25282	return s.String()
25283}
25284
25285// Validate inspects the fields of the type to determine if they are valid.
25286func (s *DeleteMembersInput) Validate() error {
25287	invalidParams := request.ErrInvalidParams{Context: "DeleteMembersInput"}
25288	if s.AccountIds == nil {
25289		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
25290	}
25291
25292	if invalidParams.Len() > 0 {
25293		return invalidParams
25294	}
25295	return nil
25296}
25297
25298// SetAccountIds sets the AccountIds field's value.
25299func (s *DeleteMembersInput) SetAccountIds(v []*string) *DeleteMembersInput {
25300	s.AccountIds = v
25301	return s
25302}
25303
25304type DeleteMembersOutput struct {
25305	_ struct{} `type:"structure"`
25306
25307	// The list of Amazon Web Services accounts that were not deleted. For each
25308	// account, the list includes the account ID and the email address.
25309	UnprocessedAccounts []*Result `type:"list"`
25310}
25311
25312// String returns the string representation
25313func (s DeleteMembersOutput) String() string {
25314	return awsutil.Prettify(s)
25315}
25316
25317// GoString returns the string representation
25318func (s DeleteMembersOutput) GoString() string {
25319	return s.String()
25320}
25321
25322// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
25323func (s *DeleteMembersOutput) SetUnprocessedAccounts(v []*Result) *DeleteMembersOutput {
25324	s.UnprocessedAccounts = v
25325	return s
25326}
25327
25328type DescribeActionTargetsInput struct {
25329	_ struct{} `type:"structure"`
25330
25331	// A list of custom action target ARNs for the custom action targets to retrieve.
25332	ActionTargetArns []*string `type:"list"`
25333
25334	// The maximum number of results to return.
25335	MaxResults *int64 `min:"1" type:"integer"`
25336
25337	// The token that is required for pagination. On your first call to the DescribeActionTargets
25338	// operation, set the value of this parameter to NULL.
25339	//
25340	// For subsequent calls to the operation, to continue listing data, set the
25341	// value of this parameter to the value returned from the previous response.
25342	NextToken *string `type:"string"`
25343}
25344
25345// String returns the string representation
25346func (s DescribeActionTargetsInput) String() string {
25347	return awsutil.Prettify(s)
25348}
25349
25350// GoString returns the string representation
25351func (s DescribeActionTargetsInput) GoString() string {
25352	return s.String()
25353}
25354
25355// Validate inspects the fields of the type to determine if they are valid.
25356func (s *DescribeActionTargetsInput) Validate() error {
25357	invalidParams := request.ErrInvalidParams{Context: "DescribeActionTargetsInput"}
25358	if s.MaxResults != nil && *s.MaxResults < 1 {
25359		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
25360	}
25361
25362	if invalidParams.Len() > 0 {
25363		return invalidParams
25364	}
25365	return nil
25366}
25367
25368// SetActionTargetArns sets the ActionTargetArns field's value.
25369func (s *DescribeActionTargetsInput) SetActionTargetArns(v []*string) *DescribeActionTargetsInput {
25370	s.ActionTargetArns = v
25371	return s
25372}
25373
25374// SetMaxResults sets the MaxResults field's value.
25375func (s *DescribeActionTargetsInput) SetMaxResults(v int64) *DescribeActionTargetsInput {
25376	s.MaxResults = &v
25377	return s
25378}
25379
25380// SetNextToken sets the NextToken field's value.
25381func (s *DescribeActionTargetsInput) SetNextToken(v string) *DescribeActionTargetsInput {
25382	s.NextToken = &v
25383	return s
25384}
25385
25386type DescribeActionTargetsOutput struct {
25387	_ struct{} `type:"structure"`
25388
25389	// A list of ActionTarget objects. Each object includes the ActionTargetArn,
25390	// Description, and Name of a custom action target available in Security Hub.
25391	//
25392	// ActionTargets is a required field
25393	ActionTargets []*ActionTarget `type:"list" required:"true"`
25394
25395	// The pagination token to use to request the next page of results.
25396	NextToken *string `type:"string"`
25397}
25398
25399// String returns the string representation
25400func (s DescribeActionTargetsOutput) String() string {
25401	return awsutil.Prettify(s)
25402}
25403
25404// GoString returns the string representation
25405func (s DescribeActionTargetsOutput) GoString() string {
25406	return s.String()
25407}
25408
25409// SetActionTargets sets the ActionTargets field's value.
25410func (s *DescribeActionTargetsOutput) SetActionTargets(v []*ActionTarget) *DescribeActionTargetsOutput {
25411	s.ActionTargets = v
25412	return s
25413}
25414
25415// SetNextToken sets the NextToken field's value.
25416func (s *DescribeActionTargetsOutput) SetNextToken(v string) *DescribeActionTargetsOutput {
25417	s.NextToken = &v
25418	return s
25419}
25420
25421type DescribeHubInput struct {
25422	_ struct{} `type:"structure"`
25423
25424	// The ARN of the Hub resource to retrieve.
25425	HubArn *string `location:"querystring" locationName:"HubArn" type:"string"`
25426}
25427
25428// String returns the string representation
25429func (s DescribeHubInput) String() string {
25430	return awsutil.Prettify(s)
25431}
25432
25433// GoString returns the string representation
25434func (s DescribeHubInput) GoString() string {
25435	return s.String()
25436}
25437
25438// SetHubArn sets the HubArn field's value.
25439func (s *DescribeHubInput) SetHubArn(v string) *DescribeHubInput {
25440	s.HubArn = &v
25441	return s
25442}
25443
25444type DescribeHubOutput struct {
25445	_ struct{} `type:"structure"`
25446
25447	// Whether to automatically enable new controls when they are added to standards
25448	// that are enabled.
25449	//
25450	// If set to true, then new controls for enabled standards are enabled automatically.
25451	// If set to false, then new controls are not enabled.
25452	AutoEnableControls *bool `type:"boolean"`
25453
25454	// The ARN of the Hub resource that was retrieved.
25455	HubArn *string `type:"string"`
25456
25457	// The date and time when Security Hub was enabled in the account.
25458	SubscribedAt *string `type:"string"`
25459}
25460
25461// String returns the string representation
25462func (s DescribeHubOutput) String() string {
25463	return awsutil.Prettify(s)
25464}
25465
25466// GoString returns the string representation
25467func (s DescribeHubOutput) GoString() string {
25468	return s.String()
25469}
25470
25471// SetAutoEnableControls sets the AutoEnableControls field's value.
25472func (s *DescribeHubOutput) SetAutoEnableControls(v bool) *DescribeHubOutput {
25473	s.AutoEnableControls = &v
25474	return s
25475}
25476
25477// SetHubArn sets the HubArn field's value.
25478func (s *DescribeHubOutput) SetHubArn(v string) *DescribeHubOutput {
25479	s.HubArn = &v
25480	return s
25481}
25482
25483// SetSubscribedAt sets the SubscribedAt field's value.
25484func (s *DescribeHubOutput) SetSubscribedAt(v string) *DescribeHubOutput {
25485	s.SubscribedAt = &v
25486	return s
25487}
25488
25489type DescribeOrganizationConfigurationInput struct {
25490	_ struct{} `type:"structure"`
25491}
25492
25493// String returns the string representation
25494func (s DescribeOrganizationConfigurationInput) String() string {
25495	return awsutil.Prettify(s)
25496}
25497
25498// GoString returns the string representation
25499func (s DescribeOrganizationConfigurationInput) GoString() string {
25500	return s.String()
25501}
25502
25503type DescribeOrganizationConfigurationOutput struct {
25504	_ struct{} `type:"structure"`
25505
25506	// Whether to automatically enable Security Hub for new accounts in the organization.
25507	//
25508	// If set to true, then Security Hub is enabled for new accounts. If set to
25509	// false, then new accounts are not added automatically.
25510	AutoEnable *bool `type:"boolean"`
25511
25512	// Whether the maximum number of allowed member accounts are already associated
25513	// with the Security Hub administrator account.
25514	MemberAccountLimitReached *bool `type:"boolean"`
25515}
25516
25517// String returns the string representation
25518func (s DescribeOrganizationConfigurationOutput) String() string {
25519	return awsutil.Prettify(s)
25520}
25521
25522// GoString returns the string representation
25523func (s DescribeOrganizationConfigurationOutput) GoString() string {
25524	return s.String()
25525}
25526
25527// SetAutoEnable sets the AutoEnable field's value.
25528func (s *DescribeOrganizationConfigurationOutput) SetAutoEnable(v bool) *DescribeOrganizationConfigurationOutput {
25529	s.AutoEnable = &v
25530	return s
25531}
25532
25533// SetMemberAccountLimitReached sets the MemberAccountLimitReached field's value.
25534func (s *DescribeOrganizationConfigurationOutput) SetMemberAccountLimitReached(v bool) *DescribeOrganizationConfigurationOutput {
25535	s.MemberAccountLimitReached = &v
25536	return s
25537}
25538
25539type DescribeProductsInput struct {
25540	_ struct{} `type:"structure"`
25541
25542	// The maximum number of results to return.
25543	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
25544
25545	// The token that is required for pagination. On your first call to the DescribeProducts
25546	// operation, set the value of this parameter to NULL.
25547	//
25548	// For subsequent calls to the operation, to continue listing data, set the
25549	// value of this parameter to the value returned from the previous response.
25550	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
25551
25552	// The ARN of the integration to return.
25553	ProductArn *string `location:"querystring" locationName:"ProductArn" type:"string"`
25554}
25555
25556// String returns the string representation
25557func (s DescribeProductsInput) String() string {
25558	return awsutil.Prettify(s)
25559}
25560
25561// GoString returns the string representation
25562func (s DescribeProductsInput) GoString() string {
25563	return s.String()
25564}
25565
25566// Validate inspects the fields of the type to determine if they are valid.
25567func (s *DescribeProductsInput) Validate() error {
25568	invalidParams := request.ErrInvalidParams{Context: "DescribeProductsInput"}
25569	if s.MaxResults != nil && *s.MaxResults < 1 {
25570		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
25571	}
25572
25573	if invalidParams.Len() > 0 {
25574		return invalidParams
25575	}
25576	return nil
25577}
25578
25579// SetMaxResults sets the MaxResults field's value.
25580func (s *DescribeProductsInput) SetMaxResults(v int64) *DescribeProductsInput {
25581	s.MaxResults = &v
25582	return s
25583}
25584
25585// SetNextToken sets the NextToken field's value.
25586func (s *DescribeProductsInput) SetNextToken(v string) *DescribeProductsInput {
25587	s.NextToken = &v
25588	return s
25589}
25590
25591// SetProductArn sets the ProductArn field's value.
25592func (s *DescribeProductsInput) SetProductArn(v string) *DescribeProductsInput {
25593	s.ProductArn = &v
25594	return s
25595}
25596
25597type DescribeProductsOutput struct {
25598	_ struct{} `type:"structure"`
25599
25600	// The pagination token to use to request the next page of results.
25601	NextToken *string `type:"string"`
25602
25603	// A list of products, including details for each product.
25604	//
25605	// Products is a required field
25606	Products []*Product `type:"list" required:"true"`
25607}
25608
25609// String returns the string representation
25610func (s DescribeProductsOutput) String() string {
25611	return awsutil.Prettify(s)
25612}
25613
25614// GoString returns the string representation
25615func (s DescribeProductsOutput) GoString() string {
25616	return s.String()
25617}
25618
25619// SetNextToken sets the NextToken field's value.
25620func (s *DescribeProductsOutput) SetNextToken(v string) *DescribeProductsOutput {
25621	s.NextToken = &v
25622	return s
25623}
25624
25625// SetProducts sets the Products field's value.
25626func (s *DescribeProductsOutput) SetProducts(v []*Product) *DescribeProductsOutput {
25627	s.Products = v
25628	return s
25629}
25630
25631type DescribeStandardsControlsInput struct {
25632	_ struct{} `type:"structure"`
25633
25634	// The maximum number of security standard controls to return.
25635	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
25636
25637	// The token that is required for pagination. On your first call to the DescribeStandardsControls
25638	// operation, set the value of this parameter to NULL.
25639	//
25640	// For subsequent calls to the operation, to continue listing data, set the
25641	// value of this parameter to the value returned from the previous response.
25642	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
25643
25644	// The ARN of a resource that represents your subscription to a supported standard.
25645	// To get the subscription ARNs of the standards you have enabled, use the GetEnabledStandards
25646	// operation.
25647	//
25648	// StandardsSubscriptionArn is a required field
25649	StandardsSubscriptionArn *string `location:"uri" locationName:"StandardsSubscriptionArn" type:"string" required:"true"`
25650}
25651
25652// String returns the string representation
25653func (s DescribeStandardsControlsInput) String() string {
25654	return awsutil.Prettify(s)
25655}
25656
25657// GoString returns the string representation
25658func (s DescribeStandardsControlsInput) GoString() string {
25659	return s.String()
25660}
25661
25662// Validate inspects the fields of the type to determine if they are valid.
25663func (s *DescribeStandardsControlsInput) Validate() error {
25664	invalidParams := request.ErrInvalidParams{Context: "DescribeStandardsControlsInput"}
25665	if s.MaxResults != nil && *s.MaxResults < 1 {
25666		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
25667	}
25668	if s.StandardsSubscriptionArn == nil {
25669		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionArn"))
25670	}
25671	if s.StandardsSubscriptionArn != nil && len(*s.StandardsSubscriptionArn) < 1 {
25672		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArn", 1))
25673	}
25674
25675	if invalidParams.Len() > 0 {
25676		return invalidParams
25677	}
25678	return nil
25679}
25680
25681// SetMaxResults sets the MaxResults field's value.
25682func (s *DescribeStandardsControlsInput) SetMaxResults(v int64) *DescribeStandardsControlsInput {
25683	s.MaxResults = &v
25684	return s
25685}
25686
25687// SetNextToken sets the NextToken field's value.
25688func (s *DescribeStandardsControlsInput) SetNextToken(v string) *DescribeStandardsControlsInput {
25689	s.NextToken = &v
25690	return s
25691}
25692
25693// SetStandardsSubscriptionArn sets the StandardsSubscriptionArn field's value.
25694func (s *DescribeStandardsControlsInput) SetStandardsSubscriptionArn(v string) *DescribeStandardsControlsInput {
25695	s.StandardsSubscriptionArn = &v
25696	return s
25697}
25698
25699type DescribeStandardsControlsOutput struct {
25700	_ struct{} `type:"structure"`
25701
25702	// A list of security standards controls.
25703	Controls []*StandardsControl `type:"list"`
25704
25705	// The pagination token to use to request the next page of results.
25706	NextToken *string `type:"string"`
25707}
25708
25709// String returns the string representation
25710func (s DescribeStandardsControlsOutput) String() string {
25711	return awsutil.Prettify(s)
25712}
25713
25714// GoString returns the string representation
25715func (s DescribeStandardsControlsOutput) GoString() string {
25716	return s.String()
25717}
25718
25719// SetControls sets the Controls field's value.
25720func (s *DescribeStandardsControlsOutput) SetControls(v []*StandardsControl) *DescribeStandardsControlsOutput {
25721	s.Controls = v
25722	return s
25723}
25724
25725// SetNextToken sets the NextToken field's value.
25726func (s *DescribeStandardsControlsOutput) SetNextToken(v string) *DescribeStandardsControlsOutput {
25727	s.NextToken = &v
25728	return s
25729}
25730
25731type DescribeStandardsInput struct {
25732	_ struct{} `type:"structure"`
25733
25734	// The maximum number of standards to return.
25735	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
25736
25737	// The token that is required for pagination. On your first call to the DescribeStandards
25738	// operation, set the value of this parameter to NULL.
25739	//
25740	// For subsequent calls to the operation, to continue listing data, set the
25741	// value of this parameter to the value returned from the previous response.
25742	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
25743}
25744
25745// String returns the string representation
25746func (s DescribeStandardsInput) String() string {
25747	return awsutil.Prettify(s)
25748}
25749
25750// GoString returns the string representation
25751func (s DescribeStandardsInput) GoString() string {
25752	return s.String()
25753}
25754
25755// Validate inspects the fields of the type to determine if they are valid.
25756func (s *DescribeStandardsInput) Validate() error {
25757	invalidParams := request.ErrInvalidParams{Context: "DescribeStandardsInput"}
25758	if s.MaxResults != nil && *s.MaxResults < 1 {
25759		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
25760	}
25761
25762	if invalidParams.Len() > 0 {
25763		return invalidParams
25764	}
25765	return nil
25766}
25767
25768// SetMaxResults sets the MaxResults field's value.
25769func (s *DescribeStandardsInput) SetMaxResults(v int64) *DescribeStandardsInput {
25770	s.MaxResults = &v
25771	return s
25772}
25773
25774// SetNextToken sets the NextToken field's value.
25775func (s *DescribeStandardsInput) SetNextToken(v string) *DescribeStandardsInput {
25776	s.NextToken = &v
25777	return s
25778}
25779
25780type DescribeStandardsOutput struct {
25781	_ struct{} `type:"structure"`
25782
25783	// The pagination token to use to request the next page of results.
25784	NextToken *string `type:"string"`
25785
25786	// A list of available standards.
25787	Standards []*Standard `type:"list"`
25788}
25789
25790// String returns the string representation
25791func (s DescribeStandardsOutput) String() string {
25792	return awsutil.Prettify(s)
25793}
25794
25795// GoString returns the string representation
25796func (s DescribeStandardsOutput) GoString() string {
25797	return s.String()
25798}
25799
25800// SetNextToken sets the NextToken field's value.
25801func (s *DescribeStandardsOutput) SetNextToken(v string) *DescribeStandardsOutput {
25802	s.NextToken = &v
25803	return s
25804}
25805
25806// SetStandards sets the Standards field's value.
25807func (s *DescribeStandardsOutput) SetStandards(v []*Standard) *DescribeStandardsOutput {
25808	s.Standards = v
25809	return s
25810}
25811
25812type DisableImportFindingsForProductInput struct {
25813	_ struct{} `type:"structure"`
25814
25815	// The ARN of the integrated product to disable the integration for.
25816	//
25817	// ProductSubscriptionArn is a required field
25818	ProductSubscriptionArn *string `location:"uri" locationName:"ProductSubscriptionArn" type:"string" required:"true"`
25819}
25820
25821// String returns the string representation
25822func (s DisableImportFindingsForProductInput) String() string {
25823	return awsutil.Prettify(s)
25824}
25825
25826// GoString returns the string representation
25827func (s DisableImportFindingsForProductInput) GoString() string {
25828	return s.String()
25829}
25830
25831// Validate inspects the fields of the type to determine if they are valid.
25832func (s *DisableImportFindingsForProductInput) Validate() error {
25833	invalidParams := request.ErrInvalidParams{Context: "DisableImportFindingsForProductInput"}
25834	if s.ProductSubscriptionArn == nil {
25835		invalidParams.Add(request.NewErrParamRequired("ProductSubscriptionArn"))
25836	}
25837	if s.ProductSubscriptionArn != nil && len(*s.ProductSubscriptionArn) < 1 {
25838		invalidParams.Add(request.NewErrParamMinLen("ProductSubscriptionArn", 1))
25839	}
25840
25841	if invalidParams.Len() > 0 {
25842		return invalidParams
25843	}
25844	return nil
25845}
25846
25847// SetProductSubscriptionArn sets the ProductSubscriptionArn field's value.
25848func (s *DisableImportFindingsForProductInput) SetProductSubscriptionArn(v string) *DisableImportFindingsForProductInput {
25849	s.ProductSubscriptionArn = &v
25850	return s
25851}
25852
25853type DisableImportFindingsForProductOutput struct {
25854	_ struct{} `type:"structure"`
25855}
25856
25857// String returns the string representation
25858func (s DisableImportFindingsForProductOutput) String() string {
25859	return awsutil.Prettify(s)
25860}
25861
25862// GoString returns the string representation
25863func (s DisableImportFindingsForProductOutput) GoString() string {
25864	return s.String()
25865}
25866
25867type DisableOrganizationAdminAccountInput struct {
25868	_ struct{} `type:"structure"`
25869
25870	// The Amazon Web Services account identifier of the Security Hub administrator
25871	// account.
25872	//
25873	// AdminAccountId is a required field
25874	AdminAccountId *string `type:"string" required:"true"`
25875}
25876
25877// String returns the string representation
25878func (s DisableOrganizationAdminAccountInput) String() string {
25879	return awsutil.Prettify(s)
25880}
25881
25882// GoString returns the string representation
25883func (s DisableOrganizationAdminAccountInput) GoString() string {
25884	return s.String()
25885}
25886
25887// Validate inspects the fields of the type to determine if they are valid.
25888func (s *DisableOrganizationAdminAccountInput) Validate() error {
25889	invalidParams := request.ErrInvalidParams{Context: "DisableOrganizationAdminAccountInput"}
25890	if s.AdminAccountId == nil {
25891		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
25892	}
25893
25894	if invalidParams.Len() > 0 {
25895		return invalidParams
25896	}
25897	return nil
25898}
25899
25900// SetAdminAccountId sets the AdminAccountId field's value.
25901func (s *DisableOrganizationAdminAccountInput) SetAdminAccountId(v string) *DisableOrganizationAdminAccountInput {
25902	s.AdminAccountId = &v
25903	return s
25904}
25905
25906type DisableOrganizationAdminAccountOutput struct {
25907	_ struct{} `type:"structure"`
25908}
25909
25910// String returns the string representation
25911func (s DisableOrganizationAdminAccountOutput) String() string {
25912	return awsutil.Prettify(s)
25913}
25914
25915// GoString returns the string representation
25916func (s DisableOrganizationAdminAccountOutput) GoString() string {
25917	return s.String()
25918}
25919
25920type DisableSecurityHubInput struct {
25921	_ struct{} `type:"structure"`
25922}
25923
25924// String returns the string representation
25925func (s DisableSecurityHubInput) String() string {
25926	return awsutil.Prettify(s)
25927}
25928
25929// GoString returns the string representation
25930func (s DisableSecurityHubInput) GoString() string {
25931	return s.String()
25932}
25933
25934type DisableSecurityHubOutput struct {
25935	_ struct{} `type:"structure"`
25936}
25937
25938// String returns the string representation
25939func (s DisableSecurityHubOutput) String() string {
25940	return awsutil.Prettify(s)
25941}
25942
25943// GoString returns the string representation
25944func (s DisableSecurityHubOutput) GoString() string {
25945	return s.String()
25946}
25947
25948type DisassociateFromAdministratorAccountInput struct {
25949	_ struct{} `type:"structure"`
25950}
25951
25952// String returns the string representation
25953func (s DisassociateFromAdministratorAccountInput) String() string {
25954	return awsutil.Prettify(s)
25955}
25956
25957// GoString returns the string representation
25958func (s DisassociateFromAdministratorAccountInput) GoString() string {
25959	return s.String()
25960}
25961
25962type DisassociateFromAdministratorAccountOutput struct {
25963	_ struct{} `type:"structure"`
25964}
25965
25966// String returns the string representation
25967func (s DisassociateFromAdministratorAccountOutput) String() string {
25968	return awsutil.Prettify(s)
25969}
25970
25971// GoString returns the string representation
25972func (s DisassociateFromAdministratorAccountOutput) GoString() string {
25973	return s.String()
25974}
25975
25976type DisassociateFromMasterAccountInput struct {
25977	_ struct{} `type:"structure"`
25978}
25979
25980// String returns the string representation
25981func (s DisassociateFromMasterAccountInput) String() string {
25982	return awsutil.Prettify(s)
25983}
25984
25985// GoString returns the string representation
25986func (s DisassociateFromMasterAccountInput) GoString() string {
25987	return s.String()
25988}
25989
25990type DisassociateFromMasterAccountOutput struct {
25991	_ struct{} `type:"structure"`
25992}
25993
25994// String returns the string representation
25995func (s DisassociateFromMasterAccountOutput) String() string {
25996	return awsutil.Prettify(s)
25997}
25998
25999// GoString returns the string representation
26000func (s DisassociateFromMasterAccountOutput) GoString() string {
26001	return s.String()
26002}
26003
26004type DisassociateMembersInput struct {
26005	_ struct{} `type:"structure"`
26006
26007	// The account IDs of the member accounts to disassociate from the administrator
26008	// account.
26009	//
26010	// AccountIds is a required field
26011	AccountIds []*string `type:"list" required:"true"`
26012}
26013
26014// String returns the string representation
26015func (s DisassociateMembersInput) String() string {
26016	return awsutil.Prettify(s)
26017}
26018
26019// GoString returns the string representation
26020func (s DisassociateMembersInput) GoString() string {
26021	return s.String()
26022}
26023
26024// Validate inspects the fields of the type to determine if they are valid.
26025func (s *DisassociateMembersInput) Validate() error {
26026	invalidParams := request.ErrInvalidParams{Context: "DisassociateMembersInput"}
26027	if s.AccountIds == nil {
26028		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
26029	}
26030
26031	if invalidParams.Len() > 0 {
26032		return invalidParams
26033	}
26034	return nil
26035}
26036
26037// SetAccountIds sets the AccountIds field's value.
26038func (s *DisassociateMembersInput) SetAccountIds(v []*string) *DisassociateMembersInput {
26039	s.AccountIds = v
26040	return s
26041}
26042
26043type DisassociateMembersOutput struct {
26044	_ struct{} `type:"structure"`
26045}
26046
26047// String returns the string representation
26048func (s DisassociateMembersOutput) String() string {
26049	return awsutil.Prettify(s)
26050}
26051
26052// GoString returns the string representation
26053func (s DisassociateMembersOutput) GoString() string {
26054	return s.String()
26055}
26056
26057// Provided if ActionType is DNS_REQUEST. It provides details about the DNS
26058// request that was detected.
26059type DnsRequestAction struct {
26060	_ struct{} `type:"structure"`
26061
26062	// Indicates whether the DNS request was blocked.
26063	Blocked *bool `type:"boolean"`
26064
26065	// The DNS domain that is associated with the DNS request.
26066	Domain *string `type:"string"`
26067
26068	// The protocol that was used for the DNS request.
26069	Protocol *string `type:"string"`
26070}
26071
26072// String returns the string representation
26073func (s DnsRequestAction) String() string {
26074	return awsutil.Prettify(s)
26075}
26076
26077// GoString returns the string representation
26078func (s DnsRequestAction) GoString() string {
26079	return s.String()
26080}
26081
26082// SetBlocked sets the Blocked field's value.
26083func (s *DnsRequestAction) SetBlocked(v bool) *DnsRequestAction {
26084	s.Blocked = &v
26085	return s
26086}
26087
26088// SetDomain sets the Domain field's value.
26089func (s *DnsRequestAction) SetDomain(v string) *DnsRequestAction {
26090	s.Domain = &v
26091	return s
26092}
26093
26094// SetProtocol sets the Protocol field's value.
26095func (s *DnsRequestAction) SetProtocol(v string) *DnsRequestAction {
26096	s.Protocol = &v
26097	return s
26098}
26099
26100type EnableImportFindingsForProductInput struct {
26101	_ struct{} `type:"structure"`
26102
26103	// The ARN of the product to enable the integration for.
26104	//
26105	// ProductArn is a required field
26106	ProductArn *string `type:"string" required:"true"`
26107}
26108
26109// String returns the string representation
26110func (s EnableImportFindingsForProductInput) String() string {
26111	return awsutil.Prettify(s)
26112}
26113
26114// GoString returns the string representation
26115func (s EnableImportFindingsForProductInput) GoString() string {
26116	return s.String()
26117}
26118
26119// Validate inspects the fields of the type to determine if they are valid.
26120func (s *EnableImportFindingsForProductInput) Validate() error {
26121	invalidParams := request.ErrInvalidParams{Context: "EnableImportFindingsForProductInput"}
26122	if s.ProductArn == nil {
26123		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
26124	}
26125
26126	if invalidParams.Len() > 0 {
26127		return invalidParams
26128	}
26129	return nil
26130}
26131
26132// SetProductArn sets the ProductArn field's value.
26133func (s *EnableImportFindingsForProductInput) SetProductArn(v string) *EnableImportFindingsForProductInput {
26134	s.ProductArn = &v
26135	return s
26136}
26137
26138type EnableImportFindingsForProductOutput struct {
26139	_ struct{} `type:"structure"`
26140
26141	// The ARN of your subscription to the product to enable integrations for.
26142	ProductSubscriptionArn *string `type:"string"`
26143}
26144
26145// String returns the string representation
26146func (s EnableImportFindingsForProductOutput) String() string {
26147	return awsutil.Prettify(s)
26148}
26149
26150// GoString returns the string representation
26151func (s EnableImportFindingsForProductOutput) GoString() string {
26152	return s.String()
26153}
26154
26155// SetProductSubscriptionArn sets the ProductSubscriptionArn field's value.
26156func (s *EnableImportFindingsForProductOutput) SetProductSubscriptionArn(v string) *EnableImportFindingsForProductOutput {
26157	s.ProductSubscriptionArn = &v
26158	return s
26159}
26160
26161type EnableOrganizationAdminAccountInput struct {
26162	_ struct{} `type:"structure"`
26163
26164	// The Amazon Web Services account identifier of the account to designate as
26165	// the Security Hub administrator account.
26166	//
26167	// AdminAccountId is a required field
26168	AdminAccountId *string `type:"string" required:"true"`
26169}
26170
26171// String returns the string representation
26172func (s EnableOrganizationAdminAccountInput) String() string {
26173	return awsutil.Prettify(s)
26174}
26175
26176// GoString returns the string representation
26177func (s EnableOrganizationAdminAccountInput) GoString() string {
26178	return s.String()
26179}
26180
26181// Validate inspects the fields of the type to determine if they are valid.
26182func (s *EnableOrganizationAdminAccountInput) Validate() error {
26183	invalidParams := request.ErrInvalidParams{Context: "EnableOrganizationAdminAccountInput"}
26184	if s.AdminAccountId == nil {
26185		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
26186	}
26187
26188	if invalidParams.Len() > 0 {
26189		return invalidParams
26190	}
26191	return nil
26192}
26193
26194// SetAdminAccountId sets the AdminAccountId field's value.
26195func (s *EnableOrganizationAdminAccountInput) SetAdminAccountId(v string) *EnableOrganizationAdminAccountInput {
26196	s.AdminAccountId = &v
26197	return s
26198}
26199
26200type EnableOrganizationAdminAccountOutput struct {
26201	_ struct{} `type:"structure"`
26202}
26203
26204// String returns the string representation
26205func (s EnableOrganizationAdminAccountOutput) String() string {
26206	return awsutil.Prettify(s)
26207}
26208
26209// GoString returns the string representation
26210func (s EnableOrganizationAdminAccountOutput) GoString() string {
26211	return s.String()
26212}
26213
26214type EnableSecurityHubInput struct {
26215	_ struct{} `type:"structure"`
26216
26217	// Whether to enable the security standards that Security Hub has designated
26218	// as automatically enabled. If you do not provide a value for EnableDefaultStandards,
26219	// it is set to true. To not enable the automatically enabled standards, set
26220	// EnableDefaultStandards to false.
26221	EnableDefaultStandards *bool `type:"boolean"`
26222
26223	// The tags to add to the hub resource when you enable Security Hub.
26224	Tags map[string]*string `min:"1" type:"map"`
26225}
26226
26227// String returns the string representation
26228func (s EnableSecurityHubInput) String() string {
26229	return awsutil.Prettify(s)
26230}
26231
26232// GoString returns the string representation
26233func (s EnableSecurityHubInput) GoString() string {
26234	return s.String()
26235}
26236
26237// Validate inspects the fields of the type to determine if they are valid.
26238func (s *EnableSecurityHubInput) Validate() error {
26239	invalidParams := request.ErrInvalidParams{Context: "EnableSecurityHubInput"}
26240	if s.Tags != nil && len(s.Tags) < 1 {
26241		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
26242	}
26243
26244	if invalidParams.Len() > 0 {
26245		return invalidParams
26246	}
26247	return nil
26248}
26249
26250// SetEnableDefaultStandards sets the EnableDefaultStandards field's value.
26251func (s *EnableSecurityHubInput) SetEnableDefaultStandards(v bool) *EnableSecurityHubInput {
26252	s.EnableDefaultStandards = &v
26253	return s
26254}
26255
26256// SetTags sets the Tags field's value.
26257func (s *EnableSecurityHubInput) SetTags(v map[string]*string) *EnableSecurityHubInput {
26258	s.Tags = v
26259	return s
26260}
26261
26262type EnableSecurityHubOutput struct {
26263	_ struct{} `type:"structure"`
26264}
26265
26266// String returns the string representation
26267func (s EnableSecurityHubOutput) String() string {
26268	return awsutil.Prettify(s)
26269}
26270
26271// GoString returns the string representation
26272func (s EnableSecurityHubOutput) GoString() string {
26273	return s.String()
26274}
26275
26276// In a BatchImportFindings request, finding providers use FindingProviderFields
26277// to provide and update values for confidence, criticality, related findings,
26278// severity, and types.
26279type FindingProviderFields struct {
26280	_ struct{} `type:"structure"`
26281
26282	// A finding's confidence. Confidence is defined as the likelihood that a finding
26283	// accurately identifies the behavior or issue that it was intended to identify.
26284	//
26285	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
26286	// zero percent confidence and 100 means 100 percent confidence.
26287	Confidence *int64 `type:"integer"`
26288
26289	// The level of importance assigned to the resources associated with the finding.
26290	//
26291	// A score of 0 means that the underlying resources have no criticality, and
26292	// a score of 100 is reserved for the most critical resources.
26293	Criticality *int64 `type:"integer"`
26294
26295	// A list of findings that are related to the current finding.
26296	RelatedFindings []*RelatedFinding `type:"list"`
26297
26298	// The severity of a finding.
26299	Severity *FindingProviderSeverity `type:"structure"`
26300
26301	// One or more finding types in the format of namespace/category/classifier
26302	// that classify a finding.
26303	//
26304	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
26305	// | Unusual Behaviors | Sensitive Data Identifications
26306	Types []*string `type:"list"`
26307}
26308
26309// String returns the string representation
26310func (s FindingProviderFields) String() string {
26311	return awsutil.Prettify(s)
26312}
26313
26314// GoString returns the string representation
26315func (s FindingProviderFields) GoString() string {
26316	return s.String()
26317}
26318
26319// Validate inspects the fields of the type to determine if they are valid.
26320func (s *FindingProviderFields) Validate() error {
26321	invalidParams := request.ErrInvalidParams{Context: "FindingProviderFields"}
26322	if s.RelatedFindings != nil {
26323		for i, v := range s.RelatedFindings {
26324			if v == nil {
26325				continue
26326			}
26327			if err := v.Validate(); err != nil {
26328				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
26329			}
26330		}
26331	}
26332
26333	if invalidParams.Len() > 0 {
26334		return invalidParams
26335	}
26336	return nil
26337}
26338
26339// SetConfidence sets the Confidence field's value.
26340func (s *FindingProviderFields) SetConfidence(v int64) *FindingProviderFields {
26341	s.Confidence = &v
26342	return s
26343}
26344
26345// SetCriticality sets the Criticality field's value.
26346func (s *FindingProviderFields) SetCriticality(v int64) *FindingProviderFields {
26347	s.Criticality = &v
26348	return s
26349}
26350
26351// SetRelatedFindings sets the RelatedFindings field's value.
26352func (s *FindingProviderFields) SetRelatedFindings(v []*RelatedFinding) *FindingProviderFields {
26353	s.RelatedFindings = v
26354	return s
26355}
26356
26357// SetSeverity sets the Severity field's value.
26358func (s *FindingProviderFields) SetSeverity(v *FindingProviderSeverity) *FindingProviderFields {
26359	s.Severity = v
26360	return s
26361}
26362
26363// SetTypes sets the Types field's value.
26364func (s *FindingProviderFields) SetTypes(v []*string) *FindingProviderFields {
26365	s.Types = v
26366	return s
26367}
26368
26369// The severity assigned to the finding by the finding provider.
26370type FindingProviderSeverity struct {
26371	_ struct{} `type:"structure"`
26372
26373	// The severity label assigned to the finding by the finding provider.
26374	Label *string `type:"string" enum:"SeverityLabel"`
26375
26376	// The finding provider's original value for the severity.
26377	Original *string `type:"string"`
26378}
26379
26380// String returns the string representation
26381func (s FindingProviderSeverity) String() string {
26382	return awsutil.Prettify(s)
26383}
26384
26385// GoString returns the string representation
26386func (s FindingProviderSeverity) GoString() string {
26387	return s.String()
26388}
26389
26390// SetLabel sets the Label field's value.
26391func (s *FindingProviderSeverity) SetLabel(v string) *FindingProviderSeverity {
26392	s.Label = &v
26393	return s
26394}
26395
26396// SetOriginal sets the Original field's value.
26397func (s *FindingProviderSeverity) SetOriginal(v string) *FindingProviderSeverity {
26398	s.Original = &v
26399	return s
26400}
26401
26402// Provides the latitude and longitude coordinates of a location.
26403type GeoLocation struct {
26404	_ struct{} `type:"structure"`
26405
26406	// The latitude of the location.
26407	Lat *float64 `type:"double"`
26408
26409	// The longitude of the location.
26410	Lon *float64 `type:"double"`
26411}
26412
26413// String returns the string representation
26414func (s GeoLocation) String() string {
26415	return awsutil.Prettify(s)
26416}
26417
26418// GoString returns the string representation
26419func (s GeoLocation) GoString() string {
26420	return s.String()
26421}
26422
26423// SetLat sets the Lat field's value.
26424func (s *GeoLocation) SetLat(v float64) *GeoLocation {
26425	s.Lat = &v
26426	return s
26427}
26428
26429// SetLon sets the Lon field's value.
26430func (s *GeoLocation) SetLon(v float64) *GeoLocation {
26431	s.Lon = &v
26432	return s
26433}
26434
26435type GetAdministratorAccountInput struct {
26436	_ struct{} `type:"structure"`
26437}
26438
26439// String returns the string representation
26440func (s GetAdministratorAccountInput) String() string {
26441	return awsutil.Prettify(s)
26442}
26443
26444// GoString returns the string representation
26445func (s GetAdministratorAccountInput) GoString() string {
26446	return s.String()
26447}
26448
26449type GetAdministratorAccountOutput struct {
26450	_ struct{} `type:"structure"`
26451
26452	// Details about an invitation.
26453	Administrator *Invitation `type:"structure"`
26454}
26455
26456// String returns the string representation
26457func (s GetAdministratorAccountOutput) String() string {
26458	return awsutil.Prettify(s)
26459}
26460
26461// GoString returns the string representation
26462func (s GetAdministratorAccountOutput) GoString() string {
26463	return s.String()
26464}
26465
26466// SetAdministrator sets the Administrator field's value.
26467func (s *GetAdministratorAccountOutput) SetAdministrator(v *Invitation) *GetAdministratorAccountOutput {
26468	s.Administrator = v
26469	return s
26470}
26471
26472type GetEnabledStandardsInput struct {
26473	_ struct{} `type:"structure"`
26474
26475	// The maximum number of results to return in the response.
26476	MaxResults *int64 `min:"1" type:"integer"`
26477
26478	// The token that is required for pagination. On your first call to the GetEnabledStandards
26479	// operation, set the value of this parameter to NULL.
26480	//
26481	// For subsequent calls to the operation, to continue listing data, set the
26482	// value of this parameter to the value returned from the previous response.
26483	NextToken *string `type:"string"`
26484
26485	// The list of the standards subscription ARNs for the standards to retrieve.
26486	StandardsSubscriptionArns []*string `min:"1" type:"list"`
26487}
26488
26489// String returns the string representation
26490func (s GetEnabledStandardsInput) String() string {
26491	return awsutil.Prettify(s)
26492}
26493
26494// GoString returns the string representation
26495func (s GetEnabledStandardsInput) GoString() string {
26496	return s.String()
26497}
26498
26499// Validate inspects the fields of the type to determine if they are valid.
26500func (s *GetEnabledStandardsInput) Validate() error {
26501	invalidParams := request.ErrInvalidParams{Context: "GetEnabledStandardsInput"}
26502	if s.MaxResults != nil && *s.MaxResults < 1 {
26503		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
26504	}
26505	if s.StandardsSubscriptionArns != nil && len(s.StandardsSubscriptionArns) < 1 {
26506		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArns", 1))
26507	}
26508
26509	if invalidParams.Len() > 0 {
26510		return invalidParams
26511	}
26512	return nil
26513}
26514
26515// SetMaxResults sets the MaxResults field's value.
26516func (s *GetEnabledStandardsInput) SetMaxResults(v int64) *GetEnabledStandardsInput {
26517	s.MaxResults = &v
26518	return s
26519}
26520
26521// SetNextToken sets the NextToken field's value.
26522func (s *GetEnabledStandardsInput) SetNextToken(v string) *GetEnabledStandardsInput {
26523	s.NextToken = &v
26524	return s
26525}
26526
26527// SetStandardsSubscriptionArns sets the StandardsSubscriptionArns field's value.
26528func (s *GetEnabledStandardsInput) SetStandardsSubscriptionArns(v []*string) *GetEnabledStandardsInput {
26529	s.StandardsSubscriptionArns = v
26530	return s
26531}
26532
26533type GetEnabledStandardsOutput struct {
26534	_ struct{} `type:"structure"`
26535
26536	// The pagination token to use to request the next page of results.
26537	NextToken *string `type:"string"`
26538
26539	// The list of StandardsSubscriptions objects that include information about
26540	// the enabled standards.
26541	StandardsSubscriptions []*StandardsSubscription `type:"list"`
26542}
26543
26544// String returns the string representation
26545func (s GetEnabledStandardsOutput) String() string {
26546	return awsutil.Prettify(s)
26547}
26548
26549// GoString returns the string representation
26550func (s GetEnabledStandardsOutput) GoString() string {
26551	return s.String()
26552}
26553
26554// SetNextToken sets the NextToken field's value.
26555func (s *GetEnabledStandardsOutput) SetNextToken(v string) *GetEnabledStandardsOutput {
26556	s.NextToken = &v
26557	return s
26558}
26559
26560// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
26561func (s *GetEnabledStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *GetEnabledStandardsOutput {
26562	s.StandardsSubscriptions = v
26563	return s
26564}
26565
26566type GetFindingsInput struct {
26567	_ struct{} `type:"structure"`
26568
26569	// The finding attributes used to define a condition to filter the returned
26570	// findings.
26571	//
26572	// You can filter by up to 10 finding attributes. For each attribute, you can
26573	// provide up to 20 filter values.
26574	//
26575	// Note that in the available filter fields, WorkflowState is deprecated. To
26576	// search for a finding based on its workflow status, use WorkflowStatus.
26577	Filters *AwsSecurityFindingFilters `type:"structure"`
26578
26579	// The maximum number of findings to return.
26580	MaxResults *int64 `min:"1" type:"integer"`
26581
26582	// The token that is required for pagination. On your first call to the GetFindings
26583	// operation, set the value of this parameter to NULL.
26584	//
26585	// For subsequent calls to the operation, to continue listing data, set the
26586	// value of this parameter to the value returned from the previous response.
26587	NextToken *string `type:"string"`
26588
26589	// The finding attributes used to sort the list of returned findings.
26590	SortCriteria []*SortCriterion `type:"list"`
26591}
26592
26593// String returns the string representation
26594func (s GetFindingsInput) String() string {
26595	return awsutil.Prettify(s)
26596}
26597
26598// GoString returns the string representation
26599func (s GetFindingsInput) GoString() string {
26600	return s.String()
26601}
26602
26603// Validate inspects the fields of the type to determine if they are valid.
26604func (s *GetFindingsInput) Validate() error {
26605	invalidParams := request.ErrInvalidParams{Context: "GetFindingsInput"}
26606	if s.MaxResults != nil && *s.MaxResults < 1 {
26607		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
26608	}
26609
26610	if invalidParams.Len() > 0 {
26611		return invalidParams
26612	}
26613	return nil
26614}
26615
26616// SetFilters sets the Filters field's value.
26617func (s *GetFindingsInput) SetFilters(v *AwsSecurityFindingFilters) *GetFindingsInput {
26618	s.Filters = v
26619	return s
26620}
26621
26622// SetMaxResults sets the MaxResults field's value.
26623func (s *GetFindingsInput) SetMaxResults(v int64) *GetFindingsInput {
26624	s.MaxResults = &v
26625	return s
26626}
26627
26628// SetNextToken sets the NextToken field's value.
26629func (s *GetFindingsInput) SetNextToken(v string) *GetFindingsInput {
26630	s.NextToken = &v
26631	return s
26632}
26633
26634// SetSortCriteria sets the SortCriteria field's value.
26635func (s *GetFindingsInput) SetSortCriteria(v []*SortCriterion) *GetFindingsInput {
26636	s.SortCriteria = v
26637	return s
26638}
26639
26640type GetFindingsOutput struct {
26641	_ struct{} `type:"structure"`
26642
26643	// The findings that matched the filters specified in the request.
26644	//
26645	// Findings is a required field
26646	Findings []*AwsSecurityFinding `type:"list" required:"true"`
26647
26648	// The pagination token to use to request the next page of results.
26649	NextToken *string `type:"string"`
26650}
26651
26652// String returns the string representation
26653func (s GetFindingsOutput) String() string {
26654	return awsutil.Prettify(s)
26655}
26656
26657// GoString returns the string representation
26658func (s GetFindingsOutput) GoString() string {
26659	return s.String()
26660}
26661
26662// SetFindings sets the Findings field's value.
26663func (s *GetFindingsOutput) SetFindings(v []*AwsSecurityFinding) *GetFindingsOutput {
26664	s.Findings = v
26665	return s
26666}
26667
26668// SetNextToken sets the NextToken field's value.
26669func (s *GetFindingsOutput) SetNextToken(v string) *GetFindingsOutput {
26670	s.NextToken = &v
26671	return s
26672}
26673
26674type GetInsightResultsInput struct {
26675	_ struct{} `type:"structure"`
26676
26677	// The ARN of the insight for which to return results.
26678	//
26679	// InsightArn is a required field
26680	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
26681}
26682
26683// String returns the string representation
26684func (s GetInsightResultsInput) String() string {
26685	return awsutil.Prettify(s)
26686}
26687
26688// GoString returns the string representation
26689func (s GetInsightResultsInput) GoString() string {
26690	return s.String()
26691}
26692
26693// Validate inspects the fields of the type to determine if they are valid.
26694func (s *GetInsightResultsInput) Validate() error {
26695	invalidParams := request.ErrInvalidParams{Context: "GetInsightResultsInput"}
26696	if s.InsightArn == nil {
26697		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
26698	}
26699	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
26700		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
26701	}
26702
26703	if invalidParams.Len() > 0 {
26704		return invalidParams
26705	}
26706	return nil
26707}
26708
26709// SetInsightArn sets the InsightArn field's value.
26710func (s *GetInsightResultsInput) SetInsightArn(v string) *GetInsightResultsInput {
26711	s.InsightArn = &v
26712	return s
26713}
26714
26715type GetInsightResultsOutput struct {
26716	_ struct{} `type:"structure"`
26717
26718	// The insight results returned by the operation.
26719	//
26720	// InsightResults is a required field
26721	InsightResults *InsightResults `type:"structure" required:"true"`
26722}
26723
26724// String returns the string representation
26725func (s GetInsightResultsOutput) String() string {
26726	return awsutil.Prettify(s)
26727}
26728
26729// GoString returns the string representation
26730func (s GetInsightResultsOutput) GoString() string {
26731	return s.String()
26732}
26733
26734// SetInsightResults sets the InsightResults field's value.
26735func (s *GetInsightResultsOutput) SetInsightResults(v *InsightResults) *GetInsightResultsOutput {
26736	s.InsightResults = v
26737	return s
26738}
26739
26740type GetInsightsInput struct {
26741	_ struct{} `type:"structure"`
26742
26743	// The ARNs of the insights to describe. If you do not provide any insight ARNs,
26744	// then GetInsights returns all of your custom insights. It does not return
26745	// any managed insights.
26746	InsightArns []*string `type:"list"`
26747
26748	// The maximum number of items to return in the response.
26749	MaxResults *int64 `min:"1" type:"integer"`
26750
26751	// The token that is required for pagination. On your first call to the GetInsights
26752	// operation, set the value of this parameter to NULL.
26753	//
26754	// For subsequent calls to the operation, to continue listing data, set the
26755	// value of this parameter to the value returned from the previous response.
26756	NextToken *string `type:"string"`
26757}
26758
26759// String returns the string representation
26760func (s GetInsightsInput) String() string {
26761	return awsutil.Prettify(s)
26762}
26763
26764// GoString returns the string representation
26765func (s GetInsightsInput) GoString() string {
26766	return s.String()
26767}
26768
26769// Validate inspects the fields of the type to determine if they are valid.
26770func (s *GetInsightsInput) Validate() error {
26771	invalidParams := request.ErrInvalidParams{Context: "GetInsightsInput"}
26772	if s.MaxResults != nil && *s.MaxResults < 1 {
26773		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
26774	}
26775
26776	if invalidParams.Len() > 0 {
26777		return invalidParams
26778	}
26779	return nil
26780}
26781
26782// SetInsightArns sets the InsightArns field's value.
26783func (s *GetInsightsInput) SetInsightArns(v []*string) *GetInsightsInput {
26784	s.InsightArns = v
26785	return s
26786}
26787
26788// SetMaxResults sets the MaxResults field's value.
26789func (s *GetInsightsInput) SetMaxResults(v int64) *GetInsightsInput {
26790	s.MaxResults = &v
26791	return s
26792}
26793
26794// SetNextToken sets the NextToken field's value.
26795func (s *GetInsightsInput) SetNextToken(v string) *GetInsightsInput {
26796	s.NextToken = &v
26797	return s
26798}
26799
26800type GetInsightsOutput struct {
26801	_ struct{} `type:"structure"`
26802
26803	// The insights returned by the operation.
26804	//
26805	// Insights is a required field
26806	Insights []*Insight `type:"list" required:"true"`
26807
26808	// The pagination token to use to request the next page of results.
26809	NextToken *string `type:"string"`
26810}
26811
26812// String returns the string representation
26813func (s GetInsightsOutput) String() string {
26814	return awsutil.Prettify(s)
26815}
26816
26817// GoString returns the string representation
26818func (s GetInsightsOutput) GoString() string {
26819	return s.String()
26820}
26821
26822// SetInsights sets the Insights field's value.
26823func (s *GetInsightsOutput) SetInsights(v []*Insight) *GetInsightsOutput {
26824	s.Insights = v
26825	return s
26826}
26827
26828// SetNextToken sets the NextToken field's value.
26829func (s *GetInsightsOutput) SetNextToken(v string) *GetInsightsOutput {
26830	s.NextToken = &v
26831	return s
26832}
26833
26834type GetInvitationsCountInput struct {
26835	_ struct{} `type:"structure"`
26836}
26837
26838// String returns the string representation
26839func (s GetInvitationsCountInput) String() string {
26840	return awsutil.Prettify(s)
26841}
26842
26843// GoString returns the string representation
26844func (s GetInvitationsCountInput) GoString() string {
26845	return s.String()
26846}
26847
26848type GetInvitationsCountOutput struct {
26849	_ struct{} `type:"structure"`
26850
26851	// The number of all membership invitations sent to this Security Hub member
26852	// account, not including the currently accepted invitation.
26853	InvitationsCount *int64 `type:"integer"`
26854}
26855
26856// String returns the string representation
26857func (s GetInvitationsCountOutput) String() string {
26858	return awsutil.Prettify(s)
26859}
26860
26861// GoString returns the string representation
26862func (s GetInvitationsCountOutput) GoString() string {
26863	return s.String()
26864}
26865
26866// SetInvitationsCount sets the InvitationsCount field's value.
26867func (s *GetInvitationsCountOutput) SetInvitationsCount(v int64) *GetInvitationsCountOutput {
26868	s.InvitationsCount = &v
26869	return s
26870}
26871
26872type GetMasterAccountInput struct {
26873	_ struct{} `type:"structure"`
26874}
26875
26876// String returns the string representation
26877func (s GetMasterAccountInput) String() string {
26878	return awsutil.Prettify(s)
26879}
26880
26881// GoString returns the string representation
26882func (s GetMasterAccountInput) GoString() string {
26883	return s.String()
26884}
26885
26886type GetMasterAccountOutput struct {
26887	_ struct{} `type:"structure"`
26888
26889	// A list of details about the Security Hub administrator account for the current
26890	// member account.
26891	Master *Invitation `type:"structure"`
26892}
26893
26894// String returns the string representation
26895func (s GetMasterAccountOutput) String() string {
26896	return awsutil.Prettify(s)
26897}
26898
26899// GoString returns the string representation
26900func (s GetMasterAccountOutput) GoString() string {
26901	return s.String()
26902}
26903
26904// SetMaster sets the Master field's value.
26905func (s *GetMasterAccountOutput) SetMaster(v *Invitation) *GetMasterAccountOutput {
26906	s.Master = v
26907	return s
26908}
26909
26910type GetMembersInput struct {
26911	_ struct{} `type:"structure"`
26912
26913	// The list of account IDs for the Security Hub member accounts to return the
26914	// details for.
26915	//
26916	// AccountIds is a required field
26917	AccountIds []*string `type:"list" required:"true"`
26918}
26919
26920// String returns the string representation
26921func (s GetMembersInput) String() string {
26922	return awsutil.Prettify(s)
26923}
26924
26925// GoString returns the string representation
26926func (s GetMembersInput) GoString() string {
26927	return s.String()
26928}
26929
26930// Validate inspects the fields of the type to determine if they are valid.
26931func (s *GetMembersInput) Validate() error {
26932	invalidParams := request.ErrInvalidParams{Context: "GetMembersInput"}
26933	if s.AccountIds == nil {
26934		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
26935	}
26936
26937	if invalidParams.Len() > 0 {
26938		return invalidParams
26939	}
26940	return nil
26941}
26942
26943// SetAccountIds sets the AccountIds field's value.
26944func (s *GetMembersInput) SetAccountIds(v []*string) *GetMembersInput {
26945	s.AccountIds = v
26946	return s
26947}
26948
26949type GetMembersOutput struct {
26950	_ struct{} `type:"structure"`
26951
26952	// The list of details about the Security Hub member accounts.
26953	Members []*Member `type:"list"`
26954
26955	// The list of Amazon Web Services accounts that could not be processed. For
26956	// each account, the list includes the account ID and the email address.
26957	UnprocessedAccounts []*Result `type:"list"`
26958}
26959
26960// String returns the string representation
26961func (s GetMembersOutput) String() string {
26962	return awsutil.Prettify(s)
26963}
26964
26965// GoString returns the string representation
26966func (s GetMembersOutput) GoString() string {
26967	return s.String()
26968}
26969
26970// SetMembers sets the Members field's value.
26971func (s *GetMembersOutput) SetMembers(v []*Member) *GetMembersOutput {
26972	s.Members = v
26973	return s
26974}
26975
26976// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
26977func (s *GetMembersOutput) SetUnprocessedAccounts(v []*Result) *GetMembersOutput {
26978	s.UnprocessedAccounts = v
26979	return s
26980}
26981
26982// An Internet Control Message Protocol (ICMP) type and code.
26983type IcmpTypeCode struct {
26984	_ struct{} `type:"structure"`
26985
26986	// The ICMP code for which to deny or allow access. To deny or allow all codes,
26987	// use the value -1.
26988	Code *int64 `type:"integer"`
26989
26990	// The ICMP type for which to deny or allow access. To deny or allow all types,
26991	// use the value -1.
26992	Type *int64 `type:"integer"`
26993}
26994
26995// String returns the string representation
26996func (s IcmpTypeCode) String() string {
26997	return awsutil.Prettify(s)
26998}
26999
27000// GoString returns the string representation
27001func (s IcmpTypeCode) GoString() string {
27002	return s.String()
27003}
27004
27005// SetCode sets the Code field's value.
27006func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
27007	s.Code = &v
27008	return s
27009}
27010
27011// SetType sets the Type field's value.
27012func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
27013	s.Type = &v
27014	return s
27015}
27016
27017// The list of the findings that cannot be imported. For each finding, the list
27018// provides the error.
27019type ImportFindingsError struct {
27020	_ struct{} `type:"structure"`
27021
27022	// The code of the error returned by the BatchImportFindings operation.
27023	//
27024	// ErrorCode is a required field
27025	ErrorCode *string `type:"string" required:"true"`
27026
27027	// The message of the error returned by the BatchImportFindings operation.
27028	//
27029	// ErrorMessage is a required field
27030	ErrorMessage *string `type:"string" required:"true"`
27031
27032	// The identifier of the finding that could not be updated.
27033	//
27034	// Id is a required field
27035	Id *string `type:"string" required:"true"`
27036}
27037
27038// String returns the string representation
27039func (s ImportFindingsError) String() string {
27040	return awsutil.Prettify(s)
27041}
27042
27043// GoString returns the string representation
27044func (s ImportFindingsError) GoString() string {
27045	return s.String()
27046}
27047
27048// SetErrorCode sets the ErrorCode field's value.
27049func (s *ImportFindingsError) SetErrorCode(v string) *ImportFindingsError {
27050	s.ErrorCode = &v
27051	return s
27052}
27053
27054// SetErrorMessage sets the ErrorMessage field's value.
27055func (s *ImportFindingsError) SetErrorMessage(v string) *ImportFindingsError {
27056	s.ErrorMessage = &v
27057	return s
27058}
27059
27060// SetId sets the Id field's value.
27061func (s *ImportFindingsError) SetId(v string) *ImportFindingsError {
27062	s.Id = &v
27063	return s
27064}
27065
27066// Contains information about a Security Hub insight.
27067type Insight struct {
27068	_ struct{} `type:"structure"`
27069
27070	// One or more attributes used to filter the findings included in the insight.
27071	// The insight only includes findings that match the criteria defined in the
27072	// filters.
27073	//
27074	// Filters is a required field
27075	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
27076
27077	// The grouping attribute for the insight's findings. Indicates how to group
27078	// the matching findings, and identifies the type of item that the insight applies
27079	// to. For example, if an insight is grouped by resource identifier, then the
27080	// insight produces a list of resource identifiers.
27081	//
27082	// GroupByAttribute is a required field
27083	GroupByAttribute *string `type:"string" required:"true"`
27084
27085	// The ARN of a Security Hub insight.
27086	//
27087	// InsightArn is a required field
27088	InsightArn *string `type:"string" required:"true"`
27089
27090	// The name of a Security Hub insight.
27091	//
27092	// Name is a required field
27093	Name *string `type:"string" required:"true"`
27094}
27095
27096// String returns the string representation
27097func (s Insight) String() string {
27098	return awsutil.Prettify(s)
27099}
27100
27101// GoString returns the string representation
27102func (s Insight) GoString() string {
27103	return s.String()
27104}
27105
27106// SetFilters sets the Filters field's value.
27107func (s *Insight) SetFilters(v *AwsSecurityFindingFilters) *Insight {
27108	s.Filters = v
27109	return s
27110}
27111
27112// SetGroupByAttribute sets the GroupByAttribute field's value.
27113func (s *Insight) SetGroupByAttribute(v string) *Insight {
27114	s.GroupByAttribute = &v
27115	return s
27116}
27117
27118// SetInsightArn sets the InsightArn field's value.
27119func (s *Insight) SetInsightArn(v string) *Insight {
27120	s.InsightArn = &v
27121	return s
27122}
27123
27124// SetName sets the Name field's value.
27125func (s *Insight) SetName(v string) *Insight {
27126	s.Name = &v
27127	return s
27128}
27129
27130// The insight result values returned by the GetInsightResults operation.
27131type InsightResultValue struct {
27132	_ struct{} `type:"structure"`
27133
27134	// The number of findings returned for each GroupByAttributeValue.
27135	//
27136	// Count is a required field
27137	Count *int64 `type:"integer" required:"true"`
27138
27139	// The value of the attribute that the findings are grouped by for the insight
27140	// whose results are returned by the GetInsightResults operation.
27141	//
27142	// GroupByAttributeValue is a required field
27143	GroupByAttributeValue *string `type:"string" required:"true"`
27144}
27145
27146// String returns the string representation
27147func (s InsightResultValue) String() string {
27148	return awsutil.Prettify(s)
27149}
27150
27151// GoString returns the string representation
27152func (s InsightResultValue) GoString() string {
27153	return s.String()
27154}
27155
27156// SetCount sets the Count field's value.
27157func (s *InsightResultValue) SetCount(v int64) *InsightResultValue {
27158	s.Count = &v
27159	return s
27160}
27161
27162// SetGroupByAttributeValue sets the GroupByAttributeValue field's value.
27163func (s *InsightResultValue) SetGroupByAttributeValue(v string) *InsightResultValue {
27164	s.GroupByAttributeValue = &v
27165	return s
27166}
27167
27168// The insight results returned by the GetInsightResults operation.
27169type InsightResults struct {
27170	_ struct{} `type:"structure"`
27171
27172	// The attribute that the findings are grouped by for the insight whose results
27173	// are returned by the GetInsightResults operation.
27174	//
27175	// GroupByAttribute is a required field
27176	GroupByAttribute *string `type:"string" required:"true"`
27177
27178	// The ARN of the insight whose results are returned by the GetInsightResults
27179	// operation.
27180	//
27181	// InsightArn is a required field
27182	InsightArn *string `type:"string" required:"true"`
27183
27184	// The list of insight result values returned by the GetInsightResults operation.
27185	//
27186	// ResultValues is a required field
27187	ResultValues []*InsightResultValue `type:"list" required:"true"`
27188}
27189
27190// String returns the string representation
27191func (s InsightResults) String() string {
27192	return awsutil.Prettify(s)
27193}
27194
27195// GoString returns the string representation
27196func (s InsightResults) GoString() string {
27197	return s.String()
27198}
27199
27200// SetGroupByAttribute sets the GroupByAttribute field's value.
27201func (s *InsightResults) SetGroupByAttribute(v string) *InsightResults {
27202	s.GroupByAttribute = &v
27203	return s
27204}
27205
27206// SetInsightArn sets the InsightArn field's value.
27207func (s *InsightResults) SetInsightArn(v string) *InsightResults {
27208	s.InsightArn = &v
27209	return s
27210}
27211
27212// SetResultValues sets the ResultValues field's value.
27213func (s *InsightResults) SetResultValues(v []*InsightResultValue) *InsightResults {
27214	s.ResultValues = v
27215	return s
27216}
27217
27218// Internal server error.
27219type InternalException struct {
27220	_            struct{}                  `type:"structure"`
27221	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
27222
27223	Code_ *string `locationName:"Code" type:"string"`
27224
27225	Message_ *string `locationName:"Message" type:"string"`
27226}
27227
27228// String returns the string representation
27229func (s InternalException) String() string {
27230	return awsutil.Prettify(s)
27231}
27232
27233// GoString returns the string representation
27234func (s InternalException) GoString() string {
27235	return s.String()
27236}
27237
27238func newErrorInternalException(v protocol.ResponseMetadata) error {
27239	return &InternalException{
27240		RespMetadata: v,
27241	}
27242}
27243
27244// Code returns the exception type name.
27245func (s *InternalException) Code() string {
27246	return "InternalException"
27247}
27248
27249// Message returns the exception's message.
27250func (s *InternalException) Message() string {
27251	if s.Message_ != nil {
27252		return *s.Message_
27253	}
27254	return ""
27255}
27256
27257// OrigErr always returns nil, satisfies awserr.Error interface.
27258func (s *InternalException) OrigErr() error {
27259	return nil
27260}
27261
27262func (s *InternalException) Error() string {
27263	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
27264}
27265
27266// Status code returns the HTTP status code for the request's response error.
27267func (s *InternalException) StatusCode() int {
27268	return s.RespMetadata.StatusCode
27269}
27270
27271// RequestID returns the service's response RequestID for request.
27272func (s *InternalException) RequestID() string {
27273	return s.RespMetadata.RequestID
27274}
27275
27276// There is an issue with the account used to make the request. Either Security
27277// Hub is not enabled for the account, or the account does not have permission
27278// to perform this action.
27279type InvalidAccessException struct {
27280	_            struct{}                  `type:"structure"`
27281	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
27282
27283	Code_ *string `locationName:"Code" type:"string"`
27284
27285	Message_ *string `locationName:"Message" type:"string"`
27286}
27287
27288// String returns the string representation
27289func (s InvalidAccessException) String() string {
27290	return awsutil.Prettify(s)
27291}
27292
27293// GoString returns the string representation
27294func (s InvalidAccessException) GoString() string {
27295	return s.String()
27296}
27297
27298func newErrorInvalidAccessException(v protocol.ResponseMetadata) error {
27299	return &InvalidAccessException{
27300		RespMetadata: v,
27301	}
27302}
27303
27304// Code returns the exception type name.
27305func (s *InvalidAccessException) Code() string {
27306	return "InvalidAccessException"
27307}
27308
27309// Message returns the exception's message.
27310func (s *InvalidAccessException) Message() string {
27311	if s.Message_ != nil {
27312		return *s.Message_
27313	}
27314	return ""
27315}
27316
27317// OrigErr always returns nil, satisfies awserr.Error interface.
27318func (s *InvalidAccessException) OrigErr() error {
27319	return nil
27320}
27321
27322func (s *InvalidAccessException) Error() string {
27323	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
27324}
27325
27326// Status code returns the HTTP status code for the request's response error.
27327func (s *InvalidAccessException) StatusCode() int {
27328	return s.RespMetadata.StatusCode
27329}
27330
27331// RequestID returns the service's response RequestID for request.
27332func (s *InvalidAccessException) RequestID() string {
27333	return s.RespMetadata.RequestID
27334}
27335
27336// The request was rejected because you supplied an invalid or out-of-range
27337// value for an input parameter.
27338type InvalidInputException struct {
27339	_            struct{}                  `type:"structure"`
27340	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
27341
27342	Code_ *string `locationName:"Code" type:"string"`
27343
27344	Message_ *string `locationName:"Message" type:"string"`
27345}
27346
27347// String returns the string representation
27348func (s InvalidInputException) String() string {
27349	return awsutil.Prettify(s)
27350}
27351
27352// GoString returns the string representation
27353func (s InvalidInputException) GoString() string {
27354	return s.String()
27355}
27356
27357func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
27358	return &InvalidInputException{
27359		RespMetadata: v,
27360	}
27361}
27362
27363// Code returns the exception type name.
27364func (s *InvalidInputException) Code() string {
27365	return "InvalidInputException"
27366}
27367
27368// Message returns the exception's message.
27369func (s *InvalidInputException) Message() string {
27370	if s.Message_ != nil {
27371		return *s.Message_
27372	}
27373	return ""
27374}
27375
27376// OrigErr always returns nil, satisfies awserr.Error interface.
27377func (s *InvalidInputException) OrigErr() error {
27378	return nil
27379}
27380
27381func (s *InvalidInputException) Error() string {
27382	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
27383}
27384
27385// Status code returns the HTTP status code for the request's response error.
27386func (s *InvalidInputException) StatusCode() int {
27387	return s.RespMetadata.StatusCode
27388}
27389
27390// RequestID returns the service's response RequestID for request.
27391func (s *InvalidInputException) RequestID() string {
27392	return s.RespMetadata.RequestID
27393}
27394
27395// Details about an invitation.
27396type Invitation struct {
27397	_ struct{} `type:"structure"`
27398
27399	// The account ID of the Security Hub administrator account that the invitation
27400	// was sent from.
27401	AccountId *string `type:"string"`
27402
27403	// The ID of the invitation sent to the member account.
27404	InvitationId *string `type:"string"`
27405
27406	// The timestamp of when the invitation was sent.
27407	InvitedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
27408
27409	// The current status of the association between the member and administrator
27410	// accounts.
27411	MemberStatus *string `type:"string"`
27412}
27413
27414// String returns the string representation
27415func (s Invitation) String() string {
27416	return awsutil.Prettify(s)
27417}
27418
27419// GoString returns the string representation
27420func (s Invitation) GoString() string {
27421	return s.String()
27422}
27423
27424// SetAccountId sets the AccountId field's value.
27425func (s *Invitation) SetAccountId(v string) *Invitation {
27426	s.AccountId = &v
27427	return s
27428}
27429
27430// SetInvitationId sets the InvitationId field's value.
27431func (s *Invitation) SetInvitationId(v string) *Invitation {
27432	s.InvitationId = &v
27433	return s
27434}
27435
27436// SetInvitedAt sets the InvitedAt field's value.
27437func (s *Invitation) SetInvitedAt(v time.Time) *Invitation {
27438	s.InvitedAt = &v
27439	return s
27440}
27441
27442// SetMemberStatus sets the MemberStatus field's value.
27443func (s *Invitation) SetMemberStatus(v string) *Invitation {
27444	s.MemberStatus = &v
27445	return s
27446}
27447
27448type InviteMembersInput struct {
27449	_ struct{} `type:"structure"`
27450
27451	// The list of account IDs of the Amazon Web Services accounts to invite to
27452	// Security Hub as members.
27453	//
27454	// AccountIds is a required field
27455	AccountIds []*string `type:"list" required:"true"`
27456}
27457
27458// String returns the string representation
27459func (s InviteMembersInput) String() string {
27460	return awsutil.Prettify(s)
27461}
27462
27463// GoString returns the string representation
27464func (s InviteMembersInput) GoString() string {
27465	return s.String()
27466}
27467
27468// Validate inspects the fields of the type to determine if they are valid.
27469func (s *InviteMembersInput) Validate() error {
27470	invalidParams := request.ErrInvalidParams{Context: "InviteMembersInput"}
27471	if s.AccountIds == nil {
27472		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
27473	}
27474
27475	if invalidParams.Len() > 0 {
27476		return invalidParams
27477	}
27478	return nil
27479}
27480
27481// SetAccountIds sets the AccountIds field's value.
27482func (s *InviteMembersInput) SetAccountIds(v []*string) *InviteMembersInput {
27483	s.AccountIds = v
27484	return s
27485}
27486
27487type InviteMembersOutput struct {
27488	_ struct{} `type:"structure"`
27489
27490	// The list of Amazon Web Services accounts that could not be processed. For
27491	// each account, the list includes the account ID and the email address.
27492	UnprocessedAccounts []*Result `type:"list"`
27493}
27494
27495// String returns the string representation
27496func (s InviteMembersOutput) String() string {
27497	return awsutil.Prettify(s)
27498}
27499
27500// GoString returns the string representation
27501func (s InviteMembersOutput) GoString() string {
27502	return s.String()
27503}
27504
27505// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
27506func (s *InviteMembersOutput) SetUnprocessedAccounts(v []*Result) *InviteMembersOutput {
27507	s.UnprocessedAccounts = v
27508	return s
27509}
27510
27511// The IP filter for querying findings.
27512type IpFilter struct {
27513	_ struct{} `type:"structure"`
27514
27515	// A finding's CIDR value.
27516	Cidr *string `type:"string"`
27517}
27518
27519// String returns the string representation
27520func (s IpFilter) String() string {
27521	return awsutil.Prettify(s)
27522}
27523
27524// GoString returns the string representation
27525func (s IpFilter) GoString() string {
27526	return s.String()
27527}
27528
27529// SetCidr sets the Cidr field's value.
27530func (s *IpFilter) SetCidr(v string) *IpFilter {
27531	s.Cidr = &v
27532	return s
27533}
27534
27535// Provides information about an internet provider.
27536type IpOrganizationDetails struct {
27537	_ struct{} `type:"structure"`
27538
27539	// The Autonomous System Number (ASN) of the internet provider
27540	Asn *int64 `type:"integer"`
27541
27542	// The name of the organization that registered the ASN.
27543	AsnOrg *string `type:"string"`
27544
27545	// The ISP information for the internet provider.
27546	Isp *string `type:"string"`
27547
27548	// The name of the internet provider.
27549	Org *string `type:"string"`
27550}
27551
27552// String returns the string representation
27553func (s IpOrganizationDetails) String() string {
27554	return awsutil.Prettify(s)
27555}
27556
27557// GoString returns the string representation
27558func (s IpOrganizationDetails) GoString() string {
27559	return s.String()
27560}
27561
27562// SetAsn sets the Asn field's value.
27563func (s *IpOrganizationDetails) SetAsn(v int64) *IpOrganizationDetails {
27564	s.Asn = &v
27565	return s
27566}
27567
27568// SetAsnOrg sets the AsnOrg field's value.
27569func (s *IpOrganizationDetails) SetAsnOrg(v string) *IpOrganizationDetails {
27570	s.AsnOrg = &v
27571	return s
27572}
27573
27574// SetIsp sets the Isp field's value.
27575func (s *IpOrganizationDetails) SetIsp(v string) *IpOrganizationDetails {
27576	s.Isp = &v
27577	return s
27578}
27579
27580// SetOrg sets the Org field's value.
27581func (s *IpOrganizationDetails) SetOrg(v string) *IpOrganizationDetails {
27582	s.Org = &v
27583	return s
27584}
27585
27586// An IPV6 CIDR block association.
27587type Ipv6CidrBlockAssociation struct {
27588	_ struct{} `type:"structure"`
27589
27590	// The association ID for the IPv6 CIDR block.
27591	AssociationId *string `type:"string"`
27592
27593	// Information about the state of the CIDR block.
27594	CidrBlockState *string `type:"string"`
27595
27596	// The IPv6 CIDR block.
27597	Ipv6CidrBlock *string `type:"string"`
27598}
27599
27600// String returns the string representation
27601func (s Ipv6CidrBlockAssociation) String() string {
27602	return awsutil.Prettify(s)
27603}
27604
27605// GoString returns the string representation
27606func (s Ipv6CidrBlockAssociation) GoString() string {
27607	return s.String()
27608}
27609
27610// SetAssociationId sets the AssociationId field's value.
27611func (s *Ipv6CidrBlockAssociation) SetAssociationId(v string) *Ipv6CidrBlockAssociation {
27612	s.AssociationId = &v
27613	return s
27614}
27615
27616// SetCidrBlockState sets the CidrBlockState field's value.
27617func (s *Ipv6CidrBlockAssociation) SetCidrBlockState(v string) *Ipv6CidrBlockAssociation {
27618	s.CidrBlockState = &v
27619	return s
27620}
27621
27622// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
27623func (s *Ipv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *Ipv6CidrBlockAssociation {
27624	s.Ipv6CidrBlock = &v
27625	return s
27626}
27627
27628// A keyword filter for querying findings.
27629type KeywordFilter struct {
27630	_ struct{} `type:"structure"`
27631
27632	// A value for the keyword.
27633	Value *string `type:"string"`
27634}
27635
27636// String returns the string representation
27637func (s KeywordFilter) String() string {
27638	return awsutil.Prettify(s)
27639}
27640
27641// GoString returns the string representation
27642func (s KeywordFilter) GoString() string {
27643	return s.String()
27644}
27645
27646// SetValue sets the Value field's value.
27647func (s *KeywordFilter) SetValue(v string) *KeywordFilter {
27648	s.Value = &v
27649	return s
27650}
27651
27652// The request was rejected because it attempted to create resources beyond
27653// the current Amazon Web Services account or throttling limits. The error code
27654// describes the limit exceeded.
27655type LimitExceededException struct {
27656	_            struct{}                  `type:"structure"`
27657	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
27658
27659	Code_ *string `locationName:"Code" type:"string"`
27660
27661	Message_ *string `locationName:"Message" type:"string"`
27662}
27663
27664// String returns the string representation
27665func (s LimitExceededException) String() string {
27666	return awsutil.Prettify(s)
27667}
27668
27669// GoString returns the string representation
27670func (s LimitExceededException) GoString() string {
27671	return s.String()
27672}
27673
27674func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
27675	return &LimitExceededException{
27676		RespMetadata: v,
27677	}
27678}
27679
27680// Code returns the exception type name.
27681func (s *LimitExceededException) Code() string {
27682	return "LimitExceededException"
27683}
27684
27685// Message returns the exception's message.
27686func (s *LimitExceededException) Message() string {
27687	if s.Message_ != nil {
27688		return *s.Message_
27689	}
27690	return ""
27691}
27692
27693// OrigErr always returns nil, satisfies awserr.Error interface.
27694func (s *LimitExceededException) OrigErr() error {
27695	return nil
27696}
27697
27698func (s *LimitExceededException) Error() string {
27699	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
27700}
27701
27702// Status code returns the HTTP status code for the request's response error.
27703func (s *LimitExceededException) StatusCode() int {
27704	return s.RespMetadata.StatusCode
27705}
27706
27707// RequestID returns the service's response RequestID for request.
27708func (s *LimitExceededException) RequestID() string {
27709	return s.RespMetadata.RequestID
27710}
27711
27712type ListEnabledProductsForImportInput struct {
27713	_ struct{} `type:"structure"`
27714
27715	// The maximum number of items to return in the response.
27716	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
27717
27718	// The token that is required for pagination. On your first call to the ListEnabledProductsForImport
27719	// operation, set the value of this parameter to NULL.
27720	//
27721	// For subsequent calls to the operation, to continue listing data, set the
27722	// value of this parameter to the value returned from the previous response.
27723	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
27724}
27725
27726// String returns the string representation
27727func (s ListEnabledProductsForImportInput) String() string {
27728	return awsutil.Prettify(s)
27729}
27730
27731// GoString returns the string representation
27732func (s ListEnabledProductsForImportInput) GoString() string {
27733	return s.String()
27734}
27735
27736// Validate inspects the fields of the type to determine if they are valid.
27737func (s *ListEnabledProductsForImportInput) Validate() error {
27738	invalidParams := request.ErrInvalidParams{Context: "ListEnabledProductsForImportInput"}
27739	if s.MaxResults != nil && *s.MaxResults < 1 {
27740		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27741	}
27742
27743	if invalidParams.Len() > 0 {
27744		return invalidParams
27745	}
27746	return nil
27747}
27748
27749// SetMaxResults sets the MaxResults field's value.
27750func (s *ListEnabledProductsForImportInput) SetMaxResults(v int64) *ListEnabledProductsForImportInput {
27751	s.MaxResults = &v
27752	return s
27753}
27754
27755// SetNextToken sets the NextToken field's value.
27756func (s *ListEnabledProductsForImportInput) SetNextToken(v string) *ListEnabledProductsForImportInput {
27757	s.NextToken = &v
27758	return s
27759}
27760
27761type ListEnabledProductsForImportOutput struct {
27762	_ struct{} `type:"structure"`
27763
27764	// The pagination token to use to request the next page of results.
27765	NextToken *string `type:"string"`
27766
27767	// The list of ARNs for the resources that represent your subscriptions to products.
27768	ProductSubscriptions []*string `type:"list"`
27769}
27770
27771// String returns the string representation
27772func (s ListEnabledProductsForImportOutput) String() string {
27773	return awsutil.Prettify(s)
27774}
27775
27776// GoString returns the string representation
27777func (s ListEnabledProductsForImportOutput) GoString() string {
27778	return s.String()
27779}
27780
27781// SetNextToken sets the NextToken field's value.
27782func (s *ListEnabledProductsForImportOutput) SetNextToken(v string) *ListEnabledProductsForImportOutput {
27783	s.NextToken = &v
27784	return s
27785}
27786
27787// SetProductSubscriptions sets the ProductSubscriptions field's value.
27788func (s *ListEnabledProductsForImportOutput) SetProductSubscriptions(v []*string) *ListEnabledProductsForImportOutput {
27789	s.ProductSubscriptions = v
27790	return s
27791}
27792
27793type ListInvitationsInput struct {
27794	_ struct{} `type:"structure"`
27795
27796	// The maximum number of items to return in the response.
27797	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
27798
27799	// The token that is required for pagination. On your first call to the ListInvitations
27800	// operation, set the value of this parameter to NULL.
27801	//
27802	// For subsequent calls to the operation, to continue listing data, set the
27803	// value of this parameter to the value returned from the previous response.
27804	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
27805}
27806
27807// String returns the string representation
27808func (s ListInvitationsInput) String() string {
27809	return awsutil.Prettify(s)
27810}
27811
27812// GoString returns the string representation
27813func (s ListInvitationsInput) GoString() string {
27814	return s.String()
27815}
27816
27817// Validate inspects the fields of the type to determine if they are valid.
27818func (s *ListInvitationsInput) Validate() error {
27819	invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"}
27820	if s.MaxResults != nil && *s.MaxResults < 1 {
27821		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27822	}
27823
27824	if invalidParams.Len() > 0 {
27825		return invalidParams
27826	}
27827	return nil
27828}
27829
27830// SetMaxResults sets the MaxResults field's value.
27831func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput {
27832	s.MaxResults = &v
27833	return s
27834}
27835
27836// SetNextToken sets the NextToken field's value.
27837func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput {
27838	s.NextToken = &v
27839	return s
27840}
27841
27842type ListInvitationsOutput struct {
27843	_ struct{} `type:"structure"`
27844
27845	// The details of the invitations returned by the operation.
27846	Invitations []*Invitation `type:"list"`
27847
27848	// The pagination token to use to request the next page of results.
27849	NextToken *string `type:"string"`
27850}
27851
27852// String returns the string representation
27853func (s ListInvitationsOutput) String() string {
27854	return awsutil.Prettify(s)
27855}
27856
27857// GoString returns the string representation
27858func (s ListInvitationsOutput) GoString() string {
27859	return s.String()
27860}
27861
27862// SetInvitations sets the Invitations field's value.
27863func (s *ListInvitationsOutput) SetInvitations(v []*Invitation) *ListInvitationsOutput {
27864	s.Invitations = v
27865	return s
27866}
27867
27868// SetNextToken sets the NextToken field's value.
27869func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput {
27870	s.NextToken = &v
27871	return s
27872}
27873
27874type ListMembersInput struct {
27875	_ struct{} `type:"structure"`
27876
27877	// The maximum number of items to return in the response.
27878	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
27879
27880	// The token that is required for pagination. On your first call to the ListMembers
27881	// operation, set the value of this parameter to NULL.
27882	//
27883	// For subsequent calls to the operation, to continue listing data, set the
27884	// value of this parameter to the value returned from the previous response.
27885	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
27886
27887	// Specifies which member accounts to include in the response based on their
27888	// relationship status with the administrator account. The default value is
27889	// TRUE.
27890	//
27891	// If OnlyAssociated is set to TRUE, the response includes member accounts whose
27892	// relationship status with the administrator account is set to ENABLED.
27893	//
27894	// If OnlyAssociated is set to FALSE, the response includes all existing member
27895	// accounts.
27896	OnlyAssociated *bool `location:"querystring" locationName:"OnlyAssociated" type:"boolean"`
27897}
27898
27899// String returns the string representation
27900func (s ListMembersInput) String() string {
27901	return awsutil.Prettify(s)
27902}
27903
27904// GoString returns the string representation
27905func (s ListMembersInput) GoString() string {
27906	return s.String()
27907}
27908
27909// Validate inspects the fields of the type to determine if they are valid.
27910func (s *ListMembersInput) Validate() error {
27911	invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"}
27912	if s.MaxResults != nil && *s.MaxResults < 1 {
27913		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27914	}
27915
27916	if invalidParams.Len() > 0 {
27917		return invalidParams
27918	}
27919	return nil
27920}
27921
27922// SetMaxResults sets the MaxResults field's value.
27923func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput {
27924	s.MaxResults = &v
27925	return s
27926}
27927
27928// SetNextToken sets the NextToken field's value.
27929func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput {
27930	s.NextToken = &v
27931	return s
27932}
27933
27934// SetOnlyAssociated sets the OnlyAssociated field's value.
27935func (s *ListMembersInput) SetOnlyAssociated(v bool) *ListMembersInput {
27936	s.OnlyAssociated = &v
27937	return s
27938}
27939
27940type ListMembersOutput struct {
27941	_ struct{} `type:"structure"`
27942
27943	// Member details returned by the operation.
27944	Members []*Member `type:"list"`
27945
27946	// The pagination token to use to request the next page of results.
27947	NextToken *string `type:"string"`
27948}
27949
27950// String returns the string representation
27951func (s ListMembersOutput) String() string {
27952	return awsutil.Prettify(s)
27953}
27954
27955// GoString returns the string representation
27956func (s ListMembersOutput) GoString() string {
27957	return s.String()
27958}
27959
27960// SetMembers sets the Members field's value.
27961func (s *ListMembersOutput) SetMembers(v []*Member) *ListMembersOutput {
27962	s.Members = v
27963	return s
27964}
27965
27966// SetNextToken sets the NextToken field's value.
27967func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput {
27968	s.NextToken = &v
27969	return s
27970}
27971
27972type ListOrganizationAdminAccountsInput struct {
27973	_ struct{} `type:"structure"`
27974
27975	// The maximum number of items to return in the response.
27976	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
27977
27978	// The token that is required for pagination. On your first call to the ListOrganizationAdminAccounts
27979	// operation, set the value of this parameter to NULL. For subsequent calls
27980	// to the operation, to continue listing data, set the value of this parameter
27981	// to the value returned from the previous response.
27982	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
27983}
27984
27985// String returns the string representation
27986func (s ListOrganizationAdminAccountsInput) String() string {
27987	return awsutil.Prettify(s)
27988}
27989
27990// GoString returns the string representation
27991func (s ListOrganizationAdminAccountsInput) GoString() string {
27992	return s.String()
27993}
27994
27995// Validate inspects the fields of the type to determine if they are valid.
27996func (s *ListOrganizationAdminAccountsInput) Validate() error {
27997	invalidParams := request.ErrInvalidParams{Context: "ListOrganizationAdminAccountsInput"}
27998	if s.MaxResults != nil && *s.MaxResults < 1 {
27999		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
28000	}
28001
28002	if invalidParams.Len() > 0 {
28003		return invalidParams
28004	}
28005	return nil
28006}
28007
28008// SetMaxResults sets the MaxResults field's value.
28009func (s *ListOrganizationAdminAccountsInput) SetMaxResults(v int64) *ListOrganizationAdminAccountsInput {
28010	s.MaxResults = &v
28011	return s
28012}
28013
28014// SetNextToken sets the NextToken field's value.
28015func (s *ListOrganizationAdminAccountsInput) SetNextToken(v string) *ListOrganizationAdminAccountsInput {
28016	s.NextToken = &v
28017	return s
28018}
28019
28020type ListOrganizationAdminAccountsOutput struct {
28021	_ struct{} `type:"structure"`
28022
28023	// The list of Security Hub administrator accounts.
28024	AdminAccounts []*AdminAccount `type:"list"`
28025
28026	// The pagination token to use to request the next page of results.
28027	NextToken *string `type:"string"`
28028}
28029
28030// String returns the string representation
28031func (s ListOrganizationAdminAccountsOutput) String() string {
28032	return awsutil.Prettify(s)
28033}
28034
28035// GoString returns the string representation
28036func (s ListOrganizationAdminAccountsOutput) GoString() string {
28037	return s.String()
28038}
28039
28040// SetAdminAccounts sets the AdminAccounts field's value.
28041func (s *ListOrganizationAdminAccountsOutput) SetAdminAccounts(v []*AdminAccount) *ListOrganizationAdminAccountsOutput {
28042	s.AdminAccounts = v
28043	return s
28044}
28045
28046// SetNextToken sets the NextToken field's value.
28047func (s *ListOrganizationAdminAccountsOutput) SetNextToken(v string) *ListOrganizationAdminAccountsOutput {
28048	s.NextToken = &v
28049	return s
28050}
28051
28052type ListTagsForResourceInput struct {
28053	_ struct{} `type:"structure"`
28054
28055	// The ARN of the resource to retrieve tags for.
28056	//
28057	// ResourceArn is a required field
28058	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
28059}
28060
28061// String returns the string representation
28062func (s ListTagsForResourceInput) String() string {
28063	return awsutil.Prettify(s)
28064}
28065
28066// GoString returns the string representation
28067func (s ListTagsForResourceInput) GoString() string {
28068	return s.String()
28069}
28070
28071// Validate inspects the fields of the type to determine if they are valid.
28072func (s *ListTagsForResourceInput) Validate() error {
28073	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
28074	if s.ResourceArn == nil {
28075		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
28076	}
28077	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
28078		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
28079	}
28080
28081	if invalidParams.Len() > 0 {
28082		return invalidParams
28083	}
28084	return nil
28085}
28086
28087// SetResourceArn sets the ResourceArn field's value.
28088func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
28089	s.ResourceArn = &v
28090	return s
28091}
28092
28093type ListTagsForResourceOutput struct {
28094	_ struct{} `type:"structure"`
28095
28096	// The tags associated with a resource.
28097	Tags map[string]*string `min:"1" type:"map"`
28098}
28099
28100// String returns the string representation
28101func (s ListTagsForResourceOutput) String() string {
28102	return awsutil.Prettify(s)
28103}
28104
28105// GoString returns the string representation
28106func (s ListTagsForResourceOutput) GoString() string {
28107	return s.String()
28108}
28109
28110// SetTags sets the Tags field's value.
28111func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
28112	s.Tags = v
28113	return s
28114}
28115
28116// Information about the state of the load balancer.
28117type LoadBalancerState struct {
28118	_ struct{} `type:"structure"`
28119
28120	// The state code. The initial state of the load balancer is provisioning.
28121	//
28122	// After the load balancer is fully set up and ready to route traffic, its state
28123	// is active.
28124	//
28125	// If the load balancer could not be set up, its state is failed.
28126	Code *string `type:"string"`
28127
28128	// A description of the state.
28129	Reason *string `type:"string"`
28130}
28131
28132// String returns the string representation
28133func (s LoadBalancerState) String() string {
28134	return awsutil.Prettify(s)
28135}
28136
28137// GoString returns the string representation
28138func (s LoadBalancerState) GoString() string {
28139	return s.String()
28140}
28141
28142// SetCode sets the Code field's value.
28143func (s *LoadBalancerState) SetCode(v string) *LoadBalancerState {
28144	s.Code = &v
28145	return s
28146}
28147
28148// SetReason sets the Reason field's value.
28149func (s *LoadBalancerState) SetReason(v string) *LoadBalancerState {
28150	s.Reason = &v
28151	return s
28152}
28153
28154// A list of malware related to a finding.
28155type Malware struct {
28156	_ struct{} `type:"structure"`
28157
28158	// The name of the malware that was observed.
28159	//
28160	// Name is a required field
28161	Name *string `type:"string" required:"true"`
28162
28163	// The file system path of the malware that was observed.
28164	Path *string `type:"string"`
28165
28166	// The state of the malware that was observed.
28167	State *string `type:"string" enum:"MalwareState"`
28168
28169	// The type of the malware that was observed.
28170	Type *string `type:"string" enum:"MalwareType"`
28171}
28172
28173// String returns the string representation
28174func (s Malware) String() string {
28175	return awsutil.Prettify(s)
28176}
28177
28178// GoString returns the string representation
28179func (s Malware) GoString() string {
28180	return s.String()
28181}
28182
28183// Validate inspects the fields of the type to determine if they are valid.
28184func (s *Malware) Validate() error {
28185	invalidParams := request.ErrInvalidParams{Context: "Malware"}
28186	if s.Name == nil {
28187		invalidParams.Add(request.NewErrParamRequired("Name"))
28188	}
28189
28190	if invalidParams.Len() > 0 {
28191		return invalidParams
28192	}
28193	return nil
28194}
28195
28196// SetName sets the Name field's value.
28197func (s *Malware) SetName(v string) *Malware {
28198	s.Name = &v
28199	return s
28200}
28201
28202// SetPath sets the Path field's value.
28203func (s *Malware) SetPath(v string) *Malware {
28204	s.Path = &v
28205	return s
28206}
28207
28208// SetState sets the State field's value.
28209func (s *Malware) SetState(v string) *Malware {
28210	s.State = &v
28211	return s
28212}
28213
28214// SetType sets the Type field's value.
28215func (s *Malware) SetType(v string) *Malware {
28216	s.Type = &v
28217	return s
28218}
28219
28220// A map filter for querying findings. Each map filter provides the field to
28221// check, the value to look for, and the comparison operator.
28222type MapFilter struct {
28223	_ struct{} `type:"structure"`
28224
28225	// The condition to apply to the key value when querying for findings with a
28226	// map filter.
28227	//
28228	// To search for values that exactly match the filter value, use EQUALS. For
28229	// example, for the ResourceTags field, the filter Department EQUALS Security
28230	// matches findings that have the value Security for the tag Department.
28231	//
28232	// To search for values other than the filter value, use NOT_EQUALS. For example,
28233	// for the ResourceTags field, the filter Department NOT_EQUALS Finance matches
28234	// findings that do not have the value Finance for the tag Department.
28235	//
28236	// EQUALS filters on the same field are joined by OR. A finding matches if it
28237	// matches any one of those filters.
28238	//
28239	// NOT_EQUALS filters on the same field are joined by AND. A finding matches
28240	// only if it matches all of those filters.
28241	//
28242	// You cannot have both an EQUALS filter and a NOT_EQUALS filter on the same
28243	// field.
28244	Comparison *string `type:"string" enum:"MapFilterComparison"`
28245
28246	// The key of the map filter. For example, for ResourceTags, Key identifies
28247	// the name of the tag. For UserDefinedFields, Key is the name of the field.
28248	Key *string `type:"string"`
28249
28250	// The value for the key in the map filter. Filter values are case sensitive.
28251	// For example, one of the values for a tag called Department might be Security.
28252	// If you provide security as the filter value, then there is no match.
28253	Value *string `type:"string"`
28254}
28255
28256// String returns the string representation
28257func (s MapFilter) String() string {
28258	return awsutil.Prettify(s)
28259}
28260
28261// GoString returns the string representation
28262func (s MapFilter) GoString() string {
28263	return s.String()
28264}
28265
28266// SetComparison sets the Comparison field's value.
28267func (s *MapFilter) SetComparison(v string) *MapFilter {
28268	s.Comparison = &v
28269	return s
28270}
28271
28272// SetKey sets the Key field's value.
28273func (s *MapFilter) SetKey(v string) *MapFilter {
28274	s.Key = &v
28275	return s
28276}
28277
28278// SetValue sets the Value field's value.
28279func (s *MapFilter) SetValue(v string) *MapFilter {
28280	s.Value = &v
28281	return s
28282}
28283
28284// The details about a member account.
28285type Member struct {
28286	_ struct{} `type:"structure"`
28287
28288	// The Amazon Web Services account ID of the member account.
28289	AccountId *string `type:"string"`
28290
28291	// The Amazon Web Services account ID of the Security Hub administrator account
28292	// associated with this member account.
28293	AdministratorId *string `type:"string"`
28294
28295	// The email address of the member account.
28296	Email *string `type:"string"`
28297
28298	// A timestamp for the date and time when the invitation was sent to the member
28299	// account.
28300	InvitedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
28301
28302	// This is replaced by AdministratorID.
28303	//
28304	// The Amazon Web Services account ID of the Security Hub administrator account
28305	// associated with this member account.
28306	//
28307	// Deprecated: This field is deprecated, use AdministratorId instead.
28308	MasterId *string `deprecated:"true" type:"string"`
28309
28310	// The status of the relationship between the member account and its administrator
28311	// account.
28312	//
28313	// The status can have one of the following values:
28314	//
28315	//    * CREATED - Indicates that the administrator account added the member
28316	//    account, but has not yet invited the member account.
28317	//
28318	//    * INVITED - Indicates that the administrator account invited the member
28319	//    account. The member account has not yet responded to the invitation.
28320	//
28321	//    * ENABLED - Indicates that the member account is currently active. For
28322	//    manually invited member accounts, indicates that the member account accepted
28323	//    the invitation.
28324	//
28325	//    * REMOVED - Indicates that the administrator account disassociated the
28326	//    member account.
28327	//
28328	//    * RESIGNED - Indicates that the member account disassociated themselves
28329	//    from the administrator account.
28330	//
28331	//    * DELETED - Indicates that the administrator account deleted the member
28332	//    account.
28333	//
28334	//    * ACCOUNT_SUSPENDED - Indicates that an organization account was suspended
28335	//    from Amazon Web Services at the same time that the administrator account
28336	//    tried to enable the organization account as a member account.
28337	MemberStatus *string `type:"string"`
28338
28339	// The timestamp for the date and time when the member account was updated.
28340	UpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
28341}
28342
28343// String returns the string representation
28344func (s Member) String() string {
28345	return awsutil.Prettify(s)
28346}
28347
28348// GoString returns the string representation
28349func (s Member) GoString() string {
28350	return s.String()
28351}
28352
28353// SetAccountId sets the AccountId field's value.
28354func (s *Member) SetAccountId(v string) *Member {
28355	s.AccountId = &v
28356	return s
28357}
28358
28359// SetAdministratorId sets the AdministratorId field's value.
28360func (s *Member) SetAdministratorId(v string) *Member {
28361	s.AdministratorId = &v
28362	return s
28363}
28364
28365// SetEmail sets the Email field's value.
28366func (s *Member) SetEmail(v string) *Member {
28367	s.Email = &v
28368	return s
28369}
28370
28371// SetInvitedAt sets the InvitedAt field's value.
28372func (s *Member) SetInvitedAt(v time.Time) *Member {
28373	s.InvitedAt = &v
28374	return s
28375}
28376
28377// SetMasterId sets the MasterId field's value.
28378func (s *Member) SetMasterId(v string) *Member {
28379	s.MasterId = &v
28380	return s
28381}
28382
28383// SetMemberStatus sets the MemberStatus field's value.
28384func (s *Member) SetMemberStatus(v string) *Member {
28385	s.MemberStatus = &v
28386	return s
28387}
28388
28389// SetUpdatedAt sets the UpdatedAt field's value.
28390func (s *Member) SetUpdatedAt(v time.Time) *Member {
28391	s.UpdatedAt = &v
28392	return s
28393}
28394
28395// The details of network-related information about a finding.
28396type Network struct {
28397	_ struct{} `type:"structure"`
28398
28399	// The destination domain of network-related information about a finding.
28400	DestinationDomain *string `type:"string"`
28401
28402	// The destination IPv4 address of network-related information about a finding.
28403	DestinationIpV4 *string `type:"string"`
28404
28405	// The destination IPv6 address of network-related information about a finding.
28406	DestinationIpV6 *string `type:"string"`
28407
28408	// The destination port of network-related information about a finding.
28409	DestinationPort *int64 `type:"integer"`
28410
28411	// The direction of network traffic associated with a finding.
28412	Direction *string `type:"string" enum:"NetworkDirection"`
28413
28414	// The range of open ports that is present on the network.
28415	OpenPortRange *PortRange `type:"structure"`
28416
28417	// The protocol of network-related information about a finding.
28418	Protocol *string `type:"string"`
28419
28420	// The source domain of network-related information about a finding.
28421	SourceDomain *string `type:"string"`
28422
28423	// The source IPv4 address of network-related information about a finding.
28424	SourceIpV4 *string `type:"string"`
28425
28426	// The source IPv6 address of network-related information about a finding.
28427	SourceIpV6 *string `type:"string"`
28428
28429	// The source media access control (MAC) address of network-related information
28430	// about a finding.
28431	SourceMac *string `type:"string"`
28432
28433	// The source port of network-related information about a finding.
28434	SourcePort *int64 `type:"integer"`
28435}
28436
28437// String returns the string representation
28438func (s Network) String() string {
28439	return awsutil.Prettify(s)
28440}
28441
28442// GoString returns the string representation
28443func (s Network) GoString() string {
28444	return s.String()
28445}
28446
28447// SetDestinationDomain sets the DestinationDomain field's value.
28448func (s *Network) SetDestinationDomain(v string) *Network {
28449	s.DestinationDomain = &v
28450	return s
28451}
28452
28453// SetDestinationIpV4 sets the DestinationIpV4 field's value.
28454func (s *Network) SetDestinationIpV4(v string) *Network {
28455	s.DestinationIpV4 = &v
28456	return s
28457}
28458
28459// SetDestinationIpV6 sets the DestinationIpV6 field's value.
28460func (s *Network) SetDestinationIpV6(v string) *Network {
28461	s.DestinationIpV6 = &v
28462	return s
28463}
28464
28465// SetDestinationPort sets the DestinationPort field's value.
28466func (s *Network) SetDestinationPort(v int64) *Network {
28467	s.DestinationPort = &v
28468	return s
28469}
28470
28471// SetDirection sets the Direction field's value.
28472func (s *Network) SetDirection(v string) *Network {
28473	s.Direction = &v
28474	return s
28475}
28476
28477// SetOpenPortRange sets the OpenPortRange field's value.
28478func (s *Network) SetOpenPortRange(v *PortRange) *Network {
28479	s.OpenPortRange = v
28480	return s
28481}
28482
28483// SetProtocol sets the Protocol field's value.
28484func (s *Network) SetProtocol(v string) *Network {
28485	s.Protocol = &v
28486	return s
28487}
28488
28489// SetSourceDomain sets the SourceDomain field's value.
28490func (s *Network) SetSourceDomain(v string) *Network {
28491	s.SourceDomain = &v
28492	return s
28493}
28494
28495// SetSourceIpV4 sets the SourceIpV4 field's value.
28496func (s *Network) SetSourceIpV4(v string) *Network {
28497	s.SourceIpV4 = &v
28498	return s
28499}
28500
28501// SetSourceIpV6 sets the SourceIpV6 field's value.
28502func (s *Network) SetSourceIpV6(v string) *Network {
28503	s.SourceIpV6 = &v
28504	return s
28505}
28506
28507// SetSourceMac sets the SourceMac field's value.
28508func (s *Network) SetSourceMac(v string) *Network {
28509	s.SourceMac = &v
28510	return s
28511}
28512
28513// SetSourcePort sets the SourcePort field's value.
28514func (s *Network) SetSourcePort(v int64) *Network {
28515	s.SourcePort = &v
28516	return s
28517}
28518
28519// Provided if ActionType is NETWORK_CONNECTION. It provides details about the
28520// attempted network connection that was detected.
28521type NetworkConnectionAction struct {
28522	_ struct{} `type:"structure"`
28523
28524	// Indicates whether the network connection attempt was blocked.
28525	Blocked *bool `type:"boolean"`
28526
28527	// The direction of the network connection request (IN or OUT).
28528	ConnectionDirection *string `type:"string"`
28529
28530	// Information about the port on the EC2 instance.
28531	LocalPortDetails *ActionLocalPortDetails `type:"structure"`
28532
28533	// The protocol used to make the network connection request.
28534	Protocol *string `type:"string"`
28535
28536	// Information about the remote IP address that issued the network connection
28537	// request.
28538	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
28539
28540	// Information about the port on the remote IP address.
28541	RemotePortDetails *ActionRemotePortDetails `type:"structure"`
28542}
28543
28544// String returns the string representation
28545func (s NetworkConnectionAction) String() string {
28546	return awsutil.Prettify(s)
28547}
28548
28549// GoString returns the string representation
28550func (s NetworkConnectionAction) GoString() string {
28551	return s.String()
28552}
28553
28554// SetBlocked sets the Blocked field's value.
28555func (s *NetworkConnectionAction) SetBlocked(v bool) *NetworkConnectionAction {
28556	s.Blocked = &v
28557	return s
28558}
28559
28560// SetConnectionDirection sets the ConnectionDirection field's value.
28561func (s *NetworkConnectionAction) SetConnectionDirection(v string) *NetworkConnectionAction {
28562	s.ConnectionDirection = &v
28563	return s
28564}
28565
28566// SetLocalPortDetails sets the LocalPortDetails field's value.
28567func (s *NetworkConnectionAction) SetLocalPortDetails(v *ActionLocalPortDetails) *NetworkConnectionAction {
28568	s.LocalPortDetails = v
28569	return s
28570}
28571
28572// SetProtocol sets the Protocol field's value.
28573func (s *NetworkConnectionAction) SetProtocol(v string) *NetworkConnectionAction {
28574	s.Protocol = &v
28575	return s
28576}
28577
28578// SetRemoteIpDetails sets the RemoteIpDetails field's value.
28579func (s *NetworkConnectionAction) SetRemoteIpDetails(v *ActionRemoteIpDetails) *NetworkConnectionAction {
28580	s.RemoteIpDetails = v
28581	return s
28582}
28583
28584// SetRemotePortDetails sets the RemotePortDetails field's value.
28585func (s *NetworkConnectionAction) SetRemotePortDetails(v *ActionRemotePortDetails) *NetworkConnectionAction {
28586	s.RemotePortDetails = v
28587	return s
28588}
28589
28590// Details about a network path component that occurs before or after the current
28591// component.
28592type NetworkHeader struct {
28593	_ struct{} `type:"structure"`
28594
28595	// Information about the destination of the component.
28596	Destination *NetworkPathComponentDetails `type:"structure"`
28597
28598	// The protocol used for the component.
28599	Protocol *string `type:"string"`
28600
28601	// Information about the origin of the component.
28602	Source *NetworkPathComponentDetails `type:"structure"`
28603}
28604
28605// String returns the string representation
28606func (s NetworkHeader) String() string {
28607	return awsutil.Prettify(s)
28608}
28609
28610// GoString returns the string representation
28611func (s NetworkHeader) GoString() string {
28612	return s.String()
28613}
28614
28615// SetDestination sets the Destination field's value.
28616func (s *NetworkHeader) SetDestination(v *NetworkPathComponentDetails) *NetworkHeader {
28617	s.Destination = v
28618	return s
28619}
28620
28621// SetProtocol sets the Protocol field's value.
28622func (s *NetworkHeader) SetProtocol(v string) *NetworkHeader {
28623	s.Protocol = &v
28624	return s
28625}
28626
28627// SetSource sets the Source field's value.
28628func (s *NetworkHeader) SetSource(v *NetworkPathComponentDetails) *NetworkHeader {
28629	s.Source = v
28630	return s
28631}
28632
28633// Information about a network path component.
28634type NetworkPathComponent struct {
28635	_ struct{} `type:"structure"`
28636
28637	// The identifier of a component in the network path.
28638	ComponentId *string `type:"string"`
28639
28640	// The type of component.
28641	ComponentType *string `type:"string"`
28642
28643	// Information about the component that comes after the current component in
28644	// the network path.
28645	Egress *NetworkHeader `type:"structure"`
28646
28647	// Information about the component that comes before the current node in the
28648	// network path.
28649	Ingress *NetworkHeader `type:"structure"`
28650}
28651
28652// String returns the string representation
28653func (s NetworkPathComponent) String() string {
28654	return awsutil.Prettify(s)
28655}
28656
28657// GoString returns the string representation
28658func (s NetworkPathComponent) GoString() string {
28659	return s.String()
28660}
28661
28662// SetComponentId sets the ComponentId field's value.
28663func (s *NetworkPathComponent) SetComponentId(v string) *NetworkPathComponent {
28664	s.ComponentId = &v
28665	return s
28666}
28667
28668// SetComponentType sets the ComponentType field's value.
28669func (s *NetworkPathComponent) SetComponentType(v string) *NetworkPathComponent {
28670	s.ComponentType = &v
28671	return s
28672}
28673
28674// SetEgress sets the Egress field's value.
28675func (s *NetworkPathComponent) SetEgress(v *NetworkHeader) *NetworkPathComponent {
28676	s.Egress = v
28677	return s
28678}
28679
28680// SetIngress sets the Ingress field's value.
28681func (s *NetworkPathComponent) SetIngress(v *NetworkHeader) *NetworkPathComponent {
28682	s.Ingress = v
28683	return s
28684}
28685
28686// Information about the destination of the next component in the network path.
28687type NetworkPathComponentDetails struct {
28688	_ struct{} `type:"structure"`
28689
28690	// The IP addresses of the destination.
28691	Address []*string `type:"list"`
28692
28693	// A list of port ranges for the destination.
28694	PortRanges []*PortRange `type:"list"`
28695}
28696
28697// String returns the string representation
28698func (s NetworkPathComponentDetails) String() string {
28699	return awsutil.Prettify(s)
28700}
28701
28702// GoString returns the string representation
28703func (s NetworkPathComponentDetails) GoString() string {
28704	return s.String()
28705}
28706
28707// SetAddress sets the Address field's value.
28708func (s *NetworkPathComponentDetails) SetAddress(v []*string) *NetworkPathComponentDetails {
28709	s.Address = v
28710	return s
28711}
28712
28713// SetPortRanges sets the PortRanges field's value.
28714func (s *NetworkPathComponentDetails) SetPortRanges(v []*PortRange) *NetworkPathComponentDetails {
28715	s.PortRanges = v
28716	return s
28717}
28718
28719// A user-defined note added to a finding.
28720type Note struct {
28721	_ struct{} `type:"structure"`
28722
28723	// The text of a note.
28724	//
28725	// Text is a required field
28726	Text *string `type:"string" required:"true"`
28727
28728	// The timestamp of when the note was updated.
28729	//
28730	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
28731	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
28732	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
28733	//
28734	// UpdatedAt is a required field
28735	UpdatedAt *string `type:"string" required:"true"`
28736
28737	// The principal that created a note.
28738	//
28739	// UpdatedBy is a required field
28740	UpdatedBy *string `type:"string" required:"true"`
28741}
28742
28743// String returns the string representation
28744func (s Note) String() string {
28745	return awsutil.Prettify(s)
28746}
28747
28748// GoString returns the string representation
28749func (s Note) GoString() string {
28750	return s.String()
28751}
28752
28753// Validate inspects the fields of the type to determine if they are valid.
28754func (s *Note) Validate() error {
28755	invalidParams := request.ErrInvalidParams{Context: "Note"}
28756	if s.Text == nil {
28757		invalidParams.Add(request.NewErrParamRequired("Text"))
28758	}
28759	if s.UpdatedAt == nil {
28760		invalidParams.Add(request.NewErrParamRequired("UpdatedAt"))
28761	}
28762	if s.UpdatedBy == nil {
28763		invalidParams.Add(request.NewErrParamRequired("UpdatedBy"))
28764	}
28765
28766	if invalidParams.Len() > 0 {
28767		return invalidParams
28768	}
28769	return nil
28770}
28771
28772// SetText sets the Text field's value.
28773func (s *Note) SetText(v string) *Note {
28774	s.Text = &v
28775	return s
28776}
28777
28778// SetUpdatedAt sets the UpdatedAt field's value.
28779func (s *Note) SetUpdatedAt(v string) *Note {
28780	s.UpdatedAt = &v
28781	return s
28782}
28783
28784// SetUpdatedBy sets the UpdatedBy field's value.
28785func (s *Note) SetUpdatedBy(v string) *Note {
28786	s.UpdatedBy = &v
28787	return s
28788}
28789
28790// The updated note.
28791type NoteUpdate struct {
28792	_ struct{} `type:"structure"`
28793
28794	// The updated note text.
28795	//
28796	// Text is a required field
28797	Text *string `type:"string" required:"true"`
28798
28799	// The principal that updated the note.
28800	//
28801	// UpdatedBy is a required field
28802	UpdatedBy *string `type:"string" required:"true"`
28803}
28804
28805// String returns the string representation
28806func (s NoteUpdate) String() string {
28807	return awsutil.Prettify(s)
28808}
28809
28810// GoString returns the string representation
28811func (s NoteUpdate) GoString() string {
28812	return s.String()
28813}
28814
28815// Validate inspects the fields of the type to determine if they are valid.
28816func (s *NoteUpdate) Validate() error {
28817	invalidParams := request.ErrInvalidParams{Context: "NoteUpdate"}
28818	if s.Text == nil {
28819		invalidParams.Add(request.NewErrParamRequired("Text"))
28820	}
28821	if s.UpdatedBy == nil {
28822		invalidParams.Add(request.NewErrParamRequired("UpdatedBy"))
28823	}
28824
28825	if invalidParams.Len() > 0 {
28826		return invalidParams
28827	}
28828	return nil
28829}
28830
28831// SetText sets the Text field's value.
28832func (s *NoteUpdate) SetText(v string) *NoteUpdate {
28833	s.Text = &v
28834	return s
28835}
28836
28837// SetUpdatedBy sets the UpdatedBy field's value.
28838func (s *NoteUpdate) SetUpdatedBy(v string) *NoteUpdate {
28839	s.UpdatedBy = &v
28840	return s
28841}
28842
28843// A number filter for querying findings.
28844type NumberFilter struct {
28845	_ struct{} `type:"structure"`
28846
28847	// The equal-to condition to be applied to a single field when querying for
28848	// findings.
28849	Eq *float64 `type:"double"`
28850
28851	// The greater-than-equal condition to be applied to a single field when querying
28852	// for findings.
28853	Gte *float64 `type:"double"`
28854
28855	// The less-than-equal condition to be applied to a single field when querying
28856	// for findings.
28857	Lte *float64 `type:"double"`
28858}
28859
28860// String returns the string representation
28861func (s NumberFilter) String() string {
28862	return awsutil.Prettify(s)
28863}
28864
28865// GoString returns the string representation
28866func (s NumberFilter) GoString() string {
28867	return s.String()
28868}
28869
28870// SetEq sets the Eq field's value.
28871func (s *NumberFilter) SetEq(v float64) *NumberFilter {
28872	s.Eq = &v
28873	return s
28874}
28875
28876// SetGte sets the Gte field's value.
28877func (s *NumberFilter) SetGte(v float64) *NumberFilter {
28878	s.Gte = &v
28879	return s
28880}
28881
28882// SetLte sets the Lte field's value.
28883func (s *NumberFilter) SetLte(v float64) *NumberFilter {
28884	s.Lte = &v
28885	return s
28886}
28887
28888// The detected occurrences of sensitive data.
28889type Occurrences struct {
28890	_ struct{} `type:"structure"`
28891
28892	// Occurrences of sensitive data detected in Microsoft Excel workbooks, comma-separated
28893	// value (CSV) files, or tab-separated value (TSV) files.
28894	Cells []*Cell `type:"list"`
28895
28896	// Occurrences of sensitive data detected in a non-binary text file or a Microsoft
28897	// Word file. Non-binary text files include files such as HTML, XML, JSON, and
28898	// TXT files.
28899	LineRanges []*Range `type:"list"`
28900
28901	// Occurrences of sensitive data detected in a binary text file.
28902	OffsetRanges []*Range `type:"list"`
28903
28904	// Occurrences of sensitive data in an Adobe Portable Document Format (PDF)
28905	// file.
28906	Pages []*Page `type:"list"`
28907
28908	// Occurrences of sensitive data in an Apache Avro object container or an Apache
28909	// Parquet file.
28910	Records []*Record `type:"list"`
28911}
28912
28913// String returns the string representation
28914func (s Occurrences) String() string {
28915	return awsutil.Prettify(s)
28916}
28917
28918// GoString returns the string representation
28919func (s Occurrences) GoString() string {
28920	return s.String()
28921}
28922
28923// SetCells sets the Cells field's value.
28924func (s *Occurrences) SetCells(v []*Cell) *Occurrences {
28925	s.Cells = v
28926	return s
28927}
28928
28929// SetLineRanges sets the LineRanges field's value.
28930func (s *Occurrences) SetLineRanges(v []*Range) *Occurrences {
28931	s.LineRanges = v
28932	return s
28933}
28934
28935// SetOffsetRanges sets the OffsetRanges field's value.
28936func (s *Occurrences) SetOffsetRanges(v []*Range) *Occurrences {
28937	s.OffsetRanges = v
28938	return s
28939}
28940
28941// SetPages sets the Pages field's value.
28942func (s *Occurrences) SetPages(v []*Page) *Occurrences {
28943	s.Pages = v
28944	return s
28945}
28946
28947// SetRecords sets the Records field's value.
28948func (s *Occurrences) SetRecords(v []*Record) *Occurrences {
28949	s.Records = v
28950	return s
28951}
28952
28953// An occurrence of sensitive data in an Adobe Portable Document Format (PDF)
28954// file.
28955type Page struct {
28956	_ struct{} `type:"structure"`
28957
28958	// An occurrence of sensitive data detected in a non-binary text file or a Microsoft
28959	// Word file. Non-binary text files include files such as HTML, XML, JSON, and
28960	// TXT files.
28961	LineRange *Range `type:"structure"`
28962
28963	// An occurrence of sensitive data detected in a binary text file.
28964	OffsetRange *Range `type:"structure"`
28965
28966	// The page number of the page that contains the sensitive data.
28967	PageNumber *int64 `type:"long"`
28968}
28969
28970// String returns the string representation
28971func (s Page) String() string {
28972	return awsutil.Prettify(s)
28973}
28974
28975// GoString returns the string representation
28976func (s Page) GoString() string {
28977	return s.String()
28978}
28979
28980// SetLineRange sets the LineRange field's value.
28981func (s *Page) SetLineRange(v *Range) *Page {
28982	s.LineRange = v
28983	return s
28984}
28985
28986// SetOffsetRange sets the OffsetRange field's value.
28987func (s *Page) SetOffsetRange(v *Range) *Page {
28988	s.OffsetRange = v
28989	return s
28990}
28991
28992// SetPageNumber sets the PageNumber field's value.
28993func (s *Page) SetPageNumber(v int64) *Page {
28994	s.PageNumber = &v
28995	return s
28996}
28997
28998// Provides an overview of the patch compliance status for an instance against
28999// a selected compliance standard.
29000type PatchSummary struct {
29001	_ struct{} `type:"structure"`
29002
29003	// The number of patches from the compliance standard that failed to install.
29004	FailedCount *int64 `type:"integer"`
29005
29006	// The identifier of the compliance standard that was used to determine the
29007	// patch compliance status.
29008	//
29009	// Id is a required field
29010	Id *string `type:"string" required:"true"`
29011
29012	// The number of patches from the compliance standard that were installed successfully.
29013	InstalledCount *int64 `type:"integer"`
29014
29015	// The number of installed patches that are not part of the compliance standard.
29016	InstalledOtherCount *int64 `type:"integer"`
29017
29018	// The number of patches that were applied, but that require the instance to
29019	// be rebooted in order to be marked as installed.
29020	InstalledPendingReboot *int64 `type:"integer"`
29021
29022	// The number of patches that are installed but are also on a list of patches
29023	// that the customer rejected.
29024	InstalledRejectedCount *int64 `type:"integer"`
29025
29026	// The number of patches that are part of the compliance standard but are not
29027	// installed. The count includes patches that failed to install.
29028	MissingCount *int64 `type:"integer"`
29029
29030	// The type of patch operation performed. For Patch Manager, the values are
29031	// SCAN and INSTALL.
29032	Operation *string `type:"string"`
29033
29034	// Indicates when the operation completed.
29035	//
29036	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
29037	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
29038	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
29039	OperationEndTime *string `type:"string"`
29040
29041	// Indicates when the operation started.
29042	//
29043	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
29044	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
29045	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
29046	OperationStartTime *string `type:"string"`
29047
29048	// The reboot option specified for the instance.
29049	RebootOption *string `type:"string"`
29050}
29051
29052// String returns the string representation
29053func (s PatchSummary) String() string {
29054	return awsutil.Prettify(s)
29055}
29056
29057// GoString returns the string representation
29058func (s PatchSummary) GoString() string {
29059	return s.String()
29060}
29061
29062// Validate inspects the fields of the type to determine if they are valid.
29063func (s *PatchSummary) Validate() error {
29064	invalidParams := request.ErrInvalidParams{Context: "PatchSummary"}
29065	if s.Id == nil {
29066		invalidParams.Add(request.NewErrParamRequired("Id"))
29067	}
29068
29069	if invalidParams.Len() > 0 {
29070		return invalidParams
29071	}
29072	return nil
29073}
29074
29075// SetFailedCount sets the FailedCount field's value.
29076func (s *PatchSummary) SetFailedCount(v int64) *PatchSummary {
29077	s.FailedCount = &v
29078	return s
29079}
29080
29081// SetId sets the Id field's value.
29082func (s *PatchSummary) SetId(v string) *PatchSummary {
29083	s.Id = &v
29084	return s
29085}
29086
29087// SetInstalledCount sets the InstalledCount field's value.
29088func (s *PatchSummary) SetInstalledCount(v int64) *PatchSummary {
29089	s.InstalledCount = &v
29090	return s
29091}
29092
29093// SetInstalledOtherCount sets the InstalledOtherCount field's value.
29094func (s *PatchSummary) SetInstalledOtherCount(v int64) *PatchSummary {
29095	s.InstalledOtherCount = &v
29096	return s
29097}
29098
29099// SetInstalledPendingReboot sets the InstalledPendingReboot field's value.
29100func (s *PatchSummary) SetInstalledPendingReboot(v int64) *PatchSummary {
29101	s.InstalledPendingReboot = &v
29102	return s
29103}
29104
29105// SetInstalledRejectedCount sets the InstalledRejectedCount field's value.
29106func (s *PatchSummary) SetInstalledRejectedCount(v int64) *PatchSummary {
29107	s.InstalledRejectedCount = &v
29108	return s
29109}
29110
29111// SetMissingCount sets the MissingCount field's value.
29112func (s *PatchSummary) SetMissingCount(v int64) *PatchSummary {
29113	s.MissingCount = &v
29114	return s
29115}
29116
29117// SetOperation sets the Operation field's value.
29118func (s *PatchSummary) SetOperation(v string) *PatchSummary {
29119	s.Operation = &v
29120	return s
29121}
29122
29123// SetOperationEndTime sets the OperationEndTime field's value.
29124func (s *PatchSummary) SetOperationEndTime(v string) *PatchSummary {
29125	s.OperationEndTime = &v
29126	return s
29127}
29128
29129// SetOperationStartTime sets the OperationStartTime field's value.
29130func (s *PatchSummary) SetOperationStartTime(v string) *PatchSummary {
29131	s.OperationStartTime = &v
29132	return s
29133}
29134
29135// SetRebootOption sets the RebootOption field's value.
29136func (s *PatchSummary) SetRebootOption(v string) *PatchSummary {
29137	s.RebootOption = &v
29138	return s
29139}
29140
29141// Provided if ActionType is PORT_PROBE. It provides details about the attempted
29142// port probe that was detected.
29143type PortProbeAction struct {
29144	_ struct{} `type:"structure"`
29145
29146	// Indicates whether the port probe was blocked.
29147	Blocked *bool `type:"boolean"`
29148
29149	// Information about the ports affected by the port probe.
29150	PortProbeDetails []*PortProbeDetail `type:"list"`
29151}
29152
29153// String returns the string representation
29154func (s PortProbeAction) String() string {
29155	return awsutil.Prettify(s)
29156}
29157
29158// GoString returns the string representation
29159func (s PortProbeAction) GoString() string {
29160	return s.String()
29161}
29162
29163// SetBlocked sets the Blocked field's value.
29164func (s *PortProbeAction) SetBlocked(v bool) *PortProbeAction {
29165	s.Blocked = &v
29166	return s
29167}
29168
29169// SetPortProbeDetails sets the PortProbeDetails field's value.
29170func (s *PortProbeAction) SetPortProbeDetails(v []*PortProbeDetail) *PortProbeAction {
29171	s.PortProbeDetails = v
29172	return s
29173}
29174
29175// A port scan that was part of the port probe. For each scan, PortProbeDetails
29176// provides information about the local IP address and port that were scanned,
29177// and the remote IP address that the scan originated from.
29178type PortProbeDetail struct {
29179	_ struct{} `type:"structure"`
29180
29181	// Provides information about the IP address where the scanned port is located.
29182	LocalIpDetails *ActionLocalIpDetails `type:"structure"`
29183
29184	// Provides information about the port that was scanned.
29185	LocalPortDetails *ActionLocalPortDetails `type:"structure"`
29186
29187	// Provides information about the remote IP address that performed the scan.
29188	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
29189}
29190
29191// String returns the string representation
29192func (s PortProbeDetail) String() string {
29193	return awsutil.Prettify(s)
29194}
29195
29196// GoString returns the string representation
29197func (s PortProbeDetail) GoString() string {
29198	return s.String()
29199}
29200
29201// SetLocalIpDetails sets the LocalIpDetails field's value.
29202func (s *PortProbeDetail) SetLocalIpDetails(v *ActionLocalIpDetails) *PortProbeDetail {
29203	s.LocalIpDetails = v
29204	return s
29205}
29206
29207// SetLocalPortDetails sets the LocalPortDetails field's value.
29208func (s *PortProbeDetail) SetLocalPortDetails(v *ActionLocalPortDetails) *PortProbeDetail {
29209	s.LocalPortDetails = v
29210	return s
29211}
29212
29213// SetRemoteIpDetails sets the RemoteIpDetails field's value.
29214func (s *PortProbeDetail) SetRemoteIpDetails(v *ActionRemoteIpDetails) *PortProbeDetail {
29215	s.RemoteIpDetails = v
29216	return s
29217}
29218
29219// A range of ports.
29220type PortRange struct {
29221	_ struct{} `type:"structure"`
29222
29223	// The first port in the port range.
29224	Begin *int64 `type:"integer"`
29225
29226	// The last port in the port range.
29227	End *int64 `type:"integer"`
29228}
29229
29230// String returns the string representation
29231func (s PortRange) String() string {
29232	return awsutil.Prettify(s)
29233}
29234
29235// GoString returns the string representation
29236func (s PortRange) GoString() string {
29237	return s.String()
29238}
29239
29240// SetBegin sets the Begin field's value.
29241func (s *PortRange) SetBegin(v int64) *PortRange {
29242	s.Begin = &v
29243	return s
29244}
29245
29246// SetEnd sets the End field's value.
29247func (s *PortRange) SetEnd(v int64) *PortRange {
29248	s.End = &v
29249	return s
29250}
29251
29252// A range of ports.
29253type PortRangeFromTo struct {
29254	_ struct{} `type:"structure"`
29255
29256	// The first port in the port range.
29257	From *int64 `type:"integer"`
29258
29259	// The last port in the port range.
29260	To *int64 `type:"integer"`
29261}
29262
29263// String returns the string representation
29264func (s PortRangeFromTo) String() string {
29265	return awsutil.Prettify(s)
29266}
29267
29268// GoString returns the string representation
29269func (s PortRangeFromTo) GoString() string {
29270	return s.String()
29271}
29272
29273// SetFrom sets the From field's value.
29274func (s *PortRangeFromTo) SetFrom(v int64) *PortRangeFromTo {
29275	s.From = &v
29276	return s
29277}
29278
29279// SetTo sets the To field's value.
29280func (s *PortRangeFromTo) SetTo(v int64) *PortRangeFromTo {
29281	s.To = &v
29282	return s
29283}
29284
29285// The details of process-related information about a finding.
29286type ProcessDetails struct {
29287	_ struct{} `type:"structure"`
29288
29289	// Indicates when the process was launched.
29290	//
29291	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
29292	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
29293	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
29294	LaunchedAt *string `type:"string"`
29295
29296	// The name of the process.
29297	Name *string `type:"string"`
29298
29299	// The parent process ID.
29300	ParentPid *int64 `type:"integer"`
29301
29302	// The path to the process executable.
29303	Path *string `type:"string"`
29304
29305	// The process ID.
29306	Pid *int64 `type:"integer"`
29307
29308	// Indicates when the process was terminated.
29309	//
29310	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
29311	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
29312	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
29313	TerminatedAt *string `type:"string"`
29314}
29315
29316// String returns the string representation
29317func (s ProcessDetails) String() string {
29318	return awsutil.Prettify(s)
29319}
29320
29321// GoString returns the string representation
29322func (s ProcessDetails) GoString() string {
29323	return s.String()
29324}
29325
29326// SetLaunchedAt sets the LaunchedAt field's value.
29327func (s *ProcessDetails) SetLaunchedAt(v string) *ProcessDetails {
29328	s.LaunchedAt = &v
29329	return s
29330}
29331
29332// SetName sets the Name field's value.
29333func (s *ProcessDetails) SetName(v string) *ProcessDetails {
29334	s.Name = &v
29335	return s
29336}
29337
29338// SetParentPid sets the ParentPid field's value.
29339func (s *ProcessDetails) SetParentPid(v int64) *ProcessDetails {
29340	s.ParentPid = &v
29341	return s
29342}
29343
29344// SetPath sets the Path field's value.
29345func (s *ProcessDetails) SetPath(v string) *ProcessDetails {
29346	s.Path = &v
29347	return s
29348}
29349
29350// SetPid sets the Pid field's value.
29351func (s *ProcessDetails) SetPid(v int64) *ProcessDetails {
29352	s.Pid = &v
29353	return s
29354}
29355
29356// SetTerminatedAt sets the TerminatedAt field's value.
29357func (s *ProcessDetails) SetTerminatedAt(v string) *ProcessDetails {
29358	s.TerminatedAt = &v
29359	return s
29360}
29361
29362// Contains details about a product.
29363type Product struct {
29364	_ struct{} `type:"structure"`
29365
29366	// The URL to the service or product documentation about the integration with
29367	// Security Hub, including how to activate the integration.
29368	ActivationUrl *string `type:"string"`
29369
29370	// The categories assigned to the product.
29371	Categories []*string `type:"list"`
29372
29373	// The name of the company that provides the product.
29374	CompanyName *string `type:"string"`
29375
29376	// A description of the product.
29377	Description *string `type:"string"`
29378
29379	// The types of integration that the product supports. Available values are
29380	// the following.
29381	//
29382	//    * SEND_FINDINGS_TO_SECURITY_HUB - The integration sends findings to Security
29383	//    Hub.
29384	//
29385	//    * RECEIVE_FINDINGS_FROM_SECURITY_HUB - The integration receives findings
29386	//    from Security Hub.
29387	//
29388	//    * UPDATE_FINDINGS_IN_SECURITY_HUB - The integration does not send new
29389	//    findings to Security Hub, but does make updates to the findings that it
29390	//    receives from Security Hub.
29391	IntegrationTypes []*string `type:"list"`
29392
29393	// For integrations with Amazon Web Services services, the Amazon Web Services
29394	// Console URL from which to activate the service.
29395	//
29396	// For integrations with third-party products, the Marketplace URL from which
29397	// to subscribe to or purchase the product.
29398	MarketplaceUrl *string `type:"string"`
29399
29400	// The ARN assigned to the product.
29401	//
29402	// ProductArn is a required field
29403	ProductArn *string `type:"string" required:"true"`
29404
29405	// The name of the product.
29406	ProductName *string `type:"string"`
29407
29408	// The resource policy associated with the product.
29409	ProductSubscriptionResourcePolicy *string `type:"string"`
29410}
29411
29412// String returns the string representation
29413func (s Product) String() string {
29414	return awsutil.Prettify(s)
29415}
29416
29417// GoString returns the string representation
29418func (s Product) GoString() string {
29419	return s.String()
29420}
29421
29422// SetActivationUrl sets the ActivationUrl field's value.
29423func (s *Product) SetActivationUrl(v string) *Product {
29424	s.ActivationUrl = &v
29425	return s
29426}
29427
29428// SetCategories sets the Categories field's value.
29429func (s *Product) SetCategories(v []*string) *Product {
29430	s.Categories = v
29431	return s
29432}
29433
29434// SetCompanyName sets the CompanyName field's value.
29435func (s *Product) SetCompanyName(v string) *Product {
29436	s.CompanyName = &v
29437	return s
29438}
29439
29440// SetDescription sets the Description field's value.
29441func (s *Product) SetDescription(v string) *Product {
29442	s.Description = &v
29443	return s
29444}
29445
29446// SetIntegrationTypes sets the IntegrationTypes field's value.
29447func (s *Product) SetIntegrationTypes(v []*string) *Product {
29448	s.IntegrationTypes = v
29449	return s
29450}
29451
29452// SetMarketplaceUrl sets the MarketplaceUrl field's value.
29453func (s *Product) SetMarketplaceUrl(v string) *Product {
29454	s.MarketplaceUrl = &v
29455	return s
29456}
29457
29458// SetProductArn sets the ProductArn field's value.
29459func (s *Product) SetProductArn(v string) *Product {
29460	s.ProductArn = &v
29461	return s
29462}
29463
29464// SetProductName sets the ProductName field's value.
29465func (s *Product) SetProductName(v string) *Product {
29466	s.ProductName = &v
29467	return s
29468}
29469
29470// SetProductSubscriptionResourcePolicy sets the ProductSubscriptionResourcePolicy field's value.
29471func (s *Product) SetProductSubscriptionResourcePolicy(v string) *Product {
29472	s.ProductSubscriptionResourcePolicy = &v
29473	return s
29474}
29475
29476// Identifies where the sensitive data begins and ends.
29477type Range struct {
29478	_ struct{} `type:"structure"`
29479
29480	// The number of lines (for a line range) or characters (for an offset range)
29481	// from the beginning of the file to the end of the sensitive data.
29482	End *int64 `type:"long"`
29483
29484	// The number of lines (for a line range) or characters (for an offset range)
29485	// from the beginning of the file to the end of the sensitive data.
29486	Start *int64 `type:"long"`
29487
29488	// In the line where the sensitive data starts, the column within the line where
29489	// the sensitive data starts.
29490	StartColumn *int64 `type:"long"`
29491}
29492
29493// String returns the string representation
29494func (s Range) String() string {
29495	return awsutil.Prettify(s)
29496}
29497
29498// GoString returns the string representation
29499func (s Range) GoString() string {
29500	return s.String()
29501}
29502
29503// SetEnd sets the End field's value.
29504func (s *Range) SetEnd(v int64) *Range {
29505	s.End = &v
29506	return s
29507}
29508
29509// SetStart sets the Start field's value.
29510func (s *Range) SetStart(v int64) *Range {
29511	s.Start = &v
29512	return s
29513}
29514
29515// SetStartColumn sets the StartColumn field's value.
29516func (s *Range) SetStartColumn(v int64) *Range {
29517	s.StartColumn = &v
29518	return s
29519}
29520
29521// A recommendation on how to remediate the issue identified in a finding.
29522type Recommendation struct {
29523	_ struct{} `type:"structure"`
29524
29525	// Describes the recommended steps to take to remediate an issue identified
29526	// in a finding.
29527	Text *string `type:"string"`
29528
29529	// A URL to a page or site that contains information about how to remediate
29530	// a finding.
29531	Url *string `type:"string"`
29532}
29533
29534// String returns the string representation
29535func (s Recommendation) String() string {
29536	return awsutil.Prettify(s)
29537}
29538
29539// GoString returns the string representation
29540func (s Recommendation) GoString() string {
29541	return s.String()
29542}
29543
29544// SetText sets the Text field's value.
29545func (s *Recommendation) SetText(v string) *Recommendation {
29546	s.Text = &v
29547	return s
29548}
29549
29550// SetUrl sets the Url field's value.
29551func (s *Recommendation) SetUrl(v string) *Recommendation {
29552	s.Url = &v
29553	return s
29554}
29555
29556// An occurrence of sensitive data in an Apache Avro object container or an
29557// Apache Parquet file.
29558type Record struct {
29559	_ struct{} `type:"structure"`
29560
29561	// The path, as a JSONPath expression, to the field in the record that contains
29562	// the data. If the field name is longer than 20 characters, it is truncated.
29563	// If the path is longer than 250 characters, it is truncated.
29564	JsonPath *string `type:"string"`
29565
29566	// The record index, starting from 0, for the record that contains the data.
29567	RecordIndex *int64 `type:"long"`
29568}
29569
29570// String returns the string representation
29571func (s Record) String() string {
29572	return awsutil.Prettify(s)
29573}
29574
29575// GoString returns the string representation
29576func (s Record) GoString() string {
29577	return s.String()
29578}
29579
29580// SetJsonPath sets the JsonPath field's value.
29581func (s *Record) SetJsonPath(v string) *Record {
29582	s.JsonPath = &v
29583	return s
29584}
29585
29586// SetRecordIndex sets the RecordIndex field's value.
29587func (s *Record) SetRecordIndex(v int64) *Record {
29588	s.RecordIndex = &v
29589	return s
29590}
29591
29592// Details about a related finding.
29593type RelatedFinding struct {
29594	_ struct{} `type:"structure"`
29595
29596	// The product-generated identifier for a related finding.
29597	//
29598	// Id is a required field
29599	Id *string `type:"string" required:"true"`
29600
29601	// The ARN of the product that generated a related finding.
29602	//
29603	// ProductArn is a required field
29604	ProductArn *string `type:"string" required:"true"`
29605}
29606
29607// String returns the string representation
29608func (s RelatedFinding) String() string {
29609	return awsutil.Prettify(s)
29610}
29611
29612// GoString returns the string representation
29613func (s RelatedFinding) GoString() string {
29614	return s.String()
29615}
29616
29617// Validate inspects the fields of the type to determine if they are valid.
29618func (s *RelatedFinding) Validate() error {
29619	invalidParams := request.ErrInvalidParams{Context: "RelatedFinding"}
29620	if s.Id == nil {
29621		invalidParams.Add(request.NewErrParamRequired("Id"))
29622	}
29623	if s.ProductArn == nil {
29624		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
29625	}
29626
29627	if invalidParams.Len() > 0 {
29628		return invalidParams
29629	}
29630	return nil
29631}
29632
29633// SetId sets the Id field's value.
29634func (s *RelatedFinding) SetId(v string) *RelatedFinding {
29635	s.Id = &v
29636	return s
29637}
29638
29639// SetProductArn sets the ProductArn field's value.
29640func (s *RelatedFinding) SetProductArn(v string) *RelatedFinding {
29641	s.ProductArn = &v
29642	return s
29643}
29644
29645// Details about the remediation steps for a finding.
29646type Remediation struct {
29647	_ struct{} `type:"structure"`
29648
29649	// A recommendation on the steps to take to remediate the issue identified by
29650	// a finding.
29651	Recommendation *Recommendation `type:"structure"`
29652}
29653
29654// String returns the string representation
29655func (s Remediation) String() string {
29656	return awsutil.Prettify(s)
29657}
29658
29659// GoString returns the string representation
29660func (s Remediation) GoString() string {
29661	return s.String()
29662}
29663
29664// SetRecommendation sets the Recommendation field's value.
29665func (s *Remediation) SetRecommendation(v *Recommendation) *Remediation {
29666	s.Recommendation = v
29667	return s
29668}
29669
29670// A resource related to a finding.
29671type Resource struct {
29672	_ struct{} `type:"structure"`
29673
29674	// Contains information about sensitive data that was detected on the resource.
29675	DataClassification *DataClassificationDetails `type:"structure"`
29676
29677	// Additional details about the resource related to a finding.
29678	Details *ResourceDetails `type:"structure"`
29679
29680	// The canonical identifier for the given resource type.
29681	//
29682	// Id is a required field
29683	Id *string `type:"string" required:"true"`
29684
29685	// The canonical Amazon Web Services partition name that the Region is assigned
29686	// to.
29687	Partition *string `type:"string" enum:"Partition"`
29688
29689	// The canonical Amazon Web Services external Region name where this resource
29690	// is located.
29691	Region *string `type:"string"`
29692
29693	// Identifies the role of the resource in the finding. A resource is either
29694	// the actor or target of the finding activity,
29695	ResourceRole *string `type:"string"`
29696
29697	// A list of Amazon Web Services tags associated with a resource at the time
29698	// the finding was processed.
29699	Tags map[string]*string `type:"map"`
29700
29701	// The type of the resource that details are provided for. If possible, set
29702	// Type to one of the supported resource types. For example, if the resource
29703	// is an EC2 instance, then set Type to AwsEc2Instance.
29704	//
29705	// If the resource does not match any of the provided types, then set Type to
29706	// Other.
29707	//
29708	// Type is a required field
29709	Type *string `type:"string" required:"true"`
29710}
29711
29712// String returns the string representation
29713func (s Resource) String() string {
29714	return awsutil.Prettify(s)
29715}
29716
29717// GoString returns the string representation
29718func (s Resource) GoString() string {
29719	return s.String()
29720}
29721
29722// Validate inspects the fields of the type to determine if they are valid.
29723func (s *Resource) Validate() error {
29724	invalidParams := request.ErrInvalidParams{Context: "Resource"}
29725	if s.Id == nil {
29726		invalidParams.Add(request.NewErrParamRequired("Id"))
29727	}
29728	if s.Type == nil {
29729		invalidParams.Add(request.NewErrParamRequired("Type"))
29730	}
29731	if s.Details != nil {
29732		if err := s.Details.Validate(); err != nil {
29733			invalidParams.AddNested("Details", err.(request.ErrInvalidParams))
29734		}
29735	}
29736
29737	if invalidParams.Len() > 0 {
29738		return invalidParams
29739	}
29740	return nil
29741}
29742
29743// SetDataClassification sets the DataClassification field's value.
29744func (s *Resource) SetDataClassification(v *DataClassificationDetails) *Resource {
29745	s.DataClassification = v
29746	return s
29747}
29748
29749// SetDetails sets the Details field's value.
29750func (s *Resource) SetDetails(v *ResourceDetails) *Resource {
29751	s.Details = v
29752	return s
29753}
29754
29755// SetId sets the Id field's value.
29756func (s *Resource) SetId(v string) *Resource {
29757	s.Id = &v
29758	return s
29759}
29760
29761// SetPartition sets the Partition field's value.
29762func (s *Resource) SetPartition(v string) *Resource {
29763	s.Partition = &v
29764	return s
29765}
29766
29767// SetRegion sets the Region field's value.
29768func (s *Resource) SetRegion(v string) *Resource {
29769	s.Region = &v
29770	return s
29771}
29772
29773// SetResourceRole sets the ResourceRole field's value.
29774func (s *Resource) SetResourceRole(v string) *Resource {
29775	s.ResourceRole = &v
29776	return s
29777}
29778
29779// SetTags sets the Tags field's value.
29780func (s *Resource) SetTags(v map[string]*string) *Resource {
29781	s.Tags = v
29782	return s
29783}
29784
29785// SetType sets the Type field's value.
29786func (s *Resource) SetType(v string) *Resource {
29787	s.Type = &v
29788	return s
29789}
29790
29791// The resource specified in the request conflicts with an existing resource.
29792type ResourceConflictException struct {
29793	_            struct{}                  `type:"structure"`
29794	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
29795
29796	Code_ *string `locationName:"Code" type:"string"`
29797
29798	Message_ *string `locationName:"Message" type:"string"`
29799}
29800
29801// String returns the string representation
29802func (s ResourceConflictException) String() string {
29803	return awsutil.Prettify(s)
29804}
29805
29806// GoString returns the string representation
29807func (s ResourceConflictException) GoString() string {
29808	return s.String()
29809}
29810
29811func newErrorResourceConflictException(v protocol.ResponseMetadata) error {
29812	return &ResourceConflictException{
29813		RespMetadata: v,
29814	}
29815}
29816
29817// Code returns the exception type name.
29818func (s *ResourceConflictException) Code() string {
29819	return "ResourceConflictException"
29820}
29821
29822// Message returns the exception's message.
29823func (s *ResourceConflictException) Message() string {
29824	if s.Message_ != nil {
29825		return *s.Message_
29826	}
29827	return ""
29828}
29829
29830// OrigErr always returns nil, satisfies awserr.Error interface.
29831func (s *ResourceConflictException) OrigErr() error {
29832	return nil
29833}
29834
29835func (s *ResourceConflictException) Error() string {
29836	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
29837}
29838
29839// Status code returns the HTTP status code for the request's response error.
29840func (s *ResourceConflictException) StatusCode() int {
29841	return s.RespMetadata.StatusCode
29842}
29843
29844// RequestID returns the service's response RequestID for request.
29845func (s *ResourceConflictException) RequestID() string {
29846	return s.RespMetadata.RequestID
29847}
29848
29849// Additional details about a resource related to a finding.
29850//
29851// To provide the details, use the object that corresponds to the resource type.
29852// For example, if the resource type is AwsEc2Instance, then you use the AwsEc2Instance
29853// object to provide the details.
29854//
29855// If the type-specific object does not contain all of the fields you want to
29856// populate, then you use the Other object to populate those additional fields.
29857//
29858// You also use the Other object to populate the details when the selected type
29859// does not have a corresponding object.
29860type ResourceDetails struct {
29861	_ struct{} `type:"structure"`
29862
29863	// Provides information about a REST API in version 1 of Amazon API Gateway.
29864	AwsApiGatewayRestApi *AwsApiGatewayRestApiDetails `type:"structure"`
29865
29866	// Provides information about a version 1 Amazon API Gateway stage.
29867	AwsApiGatewayStage *AwsApiGatewayStageDetails `type:"structure"`
29868
29869	// Provides information about a version 2 API in Amazon API Gateway.
29870	AwsApiGatewayV2Api *AwsApiGatewayV2ApiDetails `type:"structure"`
29871
29872	// Provides information about a version 2 stage for Amazon API Gateway.
29873	AwsApiGatewayV2Stage *AwsApiGatewayV2StageDetails `type:"structure"`
29874
29875	// Details for an autoscaling group.
29876	AwsAutoScalingAutoScalingGroup *AwsAutoScalingAutoScalingGroupDetails `type:"structure"`
29877
29878	// Provides details about an Certificate Manager certificate.
29879	AwsCertificateManagerCertificate *AwsCertificateManagerCertificateDetails `type:"structure"`
29880
29881	// Details about a CloudFront distribution.
29882	AwsCloudFrontDistribution *AwsCloudFrontDistributionDetails `type:"structure"`
29883
29884	// Provides details about a CloudTrail trail.
29885	AwsCloudTrailTrail *AwsCloudTrailTrailDetails `type:"structure"`
29886
29887	// Details for an CodeBuild project.
29888	AwsCodeBuildProject *AwsCodeBuildProjectDetails `type:"structure"`
29889
29890	// Details about a DynamoDB table.
29891	AwsDynamoDbTable *AwsDynamoDbTableDetails `type:"structure"`
29892
29893	// Details about an Elastic IP address.
29894	AwsEc2Eip *AwsEc2EipDetails `type:"structure"`
29895
29896	// Details about an EC2 instance related to a finding.
29897	AwsEc2Instance *AwsEc2InstanceDetails `type:"structure"`
29898
29899	// Details about an EC2 network access control list (ACL).
29900	AwsEc2NetworkAcl *AwsEc2NetworkAclDetails `type:"structure"`
29901
29902	// Details for an EC2 network interface.
29903	AwsEc2NetworkInterface *AwsEc2NetworkInterfaceDetails `type:"structure"`
29904
29905	// Details for an EC2 security group.
29906	AwsEc2SecurityGroup *AwsEc2SecurityGroupDetails `type:"structure"`
29907
29908	// Details about a subnet in Amazon EC2.
29909	AwsEc2Subnet *AwsEc2SubnetDetails `type:"structure"`
29910
29911	// Details for an EC2 volume.
29912	AwsEc2Volume *AwsEc2VolumeDetails `type:"structure"`
29913
29914	// Details for an EC2 VPC.
29915	AwsEc2Vpc *AwsEc2VpcDetails `type:"structure"`
29916
29917	// Details about an ECS cluster.
29918	AwsEcsCluster *AwsEcsClusterDetails `type:"structure"`
29919
29920	// Details about a service within an ECS cluster.
29921	AwsEcsService *AwsEcsServiceDetails `type:"structure"`
29922
29923	// Details about a task definition. A task definition describes the container
29924	// and volume definitions of an Amazon Elastic Container Service task.
29925	AwsEcsTaskDefinition *AwsEcsTaskDefinitionDetails `type:"structure"`
29926
29927	// Details about an Elastic Beanstalk environment.
29928	AwsElasticBeanstalkEnvironment *AwsElasticBeanstalkEnvironmentDetails `type:"structure"`
29929
29930	// Details for an Elasticsearch domain.
29931	AwsElasticsearchDomain *AwsElasticsearchDomainDetails `type:"structure"`
29932
29933	// contains details about a Classic Load Balancer.
29934	AwsElbLoadBalancer *AwsElbLoadBalancerDetails `type:"structure"`
29935
29936	// Details about a load balancer.
29937	AwsElbv2LoadBalancer *AwsElbv2LoadBalancerDetails `type:"structure"`
29938
29939	// Details about an IAM access key related to a finding.
29940	AwsIamAccessKey *AwsIamAccessKeyDetails `type:"structure"`
29941
29942	// Contains details about an IAM group.
29943	AwsIamGroup *AwsIamGroupDetails `type:"structure"`
29944
29945	// Details about an IAM permissions policy.
29946	AwsIamPolicy *AwsIamPolicyDetails `type:"structure"`
29947
29948	// Details about an IAM role.
29949	AwsIamRole *AwsIamRoleDetails `type:"structure"`
29950
29951	// Details about an IAM user.
29952	AwsIamUser *AwsIamUserDetails `type:"structure"`
29953
29954	// Details about an KMS key.
29955	AwsKmsKey *AwsKmsKeyDetails `type:"structure"`
29956
29957	// Details about a Lambda function.
29958	AwsLambdaFunction *AwsLambdaFunctionDetails `type:"structure"`
29959
29960	// Details for a Lambda layer version.
29961	AwsLambdaLayerVersion *AwsLambdaLayerVersionDetails `type:"structure"`
29962
29963	// Details about an Amazon RDS database cluster.
29964	AwsRdsDbCluster *AwsRdsDbClusterDetails `type:"structure"`
29965
29966	// Details about an Amazon RDS database cluster snapshot.
29967	AwsRdsDbClusterSnapshot *AwsRdsDbClusterSnapshotDetails `type:"structure"`
29968
29969	// Details about an Amazon RDS database instance.
29970	AwsRdsDbInstance *AwsRdsDbInstanceDetails `type:"structure"`
29971
29972	// Details about an Amazon RDS database snapshot.
29973	AwsRdsDbSnapshot *AwsRdsDbSnapshotDetails `type:"structure"`
29974
29975	// Details about an RDS event notification subscription.
29976	AwsRdsEventSubscription *AwsRdsEventSubscriptionDetails `type:"structure"`
29977
29978	// Contains details about an Amazon Redshift cluster.
29979	AwsRedshiftCluster *AwsRedshiftClusterDetails `type:"structure"`
29980
29981	// Details about the Amazon S3 Public Access Block configuration for an account.
29982	AwsS3AccountPublicAccessBlock *AwsS3AccountPublicAccessBlockDetails `type:"structure"`
29983
29984	// Details about an S3 bucket related to a finding.
29985	AwsS3Bucket *AwsS3BucketDetails `type:"structure"`
29986
29987	// Details about an S3 object related to a finding.
29988	AwsS3Object *AwsS3ObjectDetails `type:"structure"`
29989
29990	// Details about a Secrets Manager secret.
29991	AwsSecretsManagerSecret *AwsSecretsManagerSecretDetails `type:"structure"`
29992
29993	// Details about an SNS topic.
29994	AwsSnsTopic *AwsSnsTopicDetails `type:"structure"`
29995
29996	// Details about an SQS queue.
29997	AwsSqsQueue *AwsSqsQueueDetails `type:"structure"`
29998
29999	// Provides information about the state of a patch on an instance based on the
30000	// patch baseline that was used to patch the instance.
30001	AwsSsmPatchCompliance *AwsSsmPatchComplianceDetails `type:"structure"`
30002
30003	// Details for an WAF WebACL.
30004	AwsWafWebAcl *AwsWafWebAclDetails `type:"structure"`
30005
30006	// Details about a container resource related to a finding.
30007	Container *ContainerDetails `type:"structure"`
30008
30009	// Details about a resource that are not available in a type-specific details
30010	// object. Use the Other object in the following cases.
30011	//
30012	//    * The type-specific object does not contain all of the fields that you
30013	//    want to populate. In this case, first use the type-specific object to
30014	//    populate those fields. Use the Other object to populate the fields that
30015	//    are missing from the type-specific object.
30016	//
30017	//    * The resource type does not have a corresponding object. This includes
30018	//    resources for which the type is Other.
30019	Other map[string]*string `type:"map"`
30020}
30021
30022// String returns the string representation
30023func (s ResourceDetails) String() string {
30024	return awsutil.Prettify(s)
30025}
30026
30027// GoString returns the string representation
30028func (s ResourceDetails) GoString() string {
30029	return s.String()
30030}
30031
30032// Validate inspects the fields of the type to determine if they are valid.
30033func (s *ResourceDetails) Validate() error {
30034	invalidParams := request.ErrInvalidParams{Context: "ResourceDetails"}
30035	if s.AwsIamRole != nil {
30036		if err := s.AwsIamRole.Validate(); err != nil {
30037			invalidParams.AddNested("AwsIamRole", err.(request.ErrInvalidParams))
30038		}
30039	}
30040
30041	if invalidParams.Len() > 0 {
30042		return invalidParams
30043	}
30044	return nil
30045}
30046
30047// SetAwsApiGatewayRestApi sets the AwsApiGatewayRestApi field's value.
30048func (s *ResourceDetails) SetAwsApiGatewayRestApi(v *AwsApiGatewayRestApiDetails) *ResourceDetails {
30049	s.AwsApiGatewayRestApi = v
30050	return s
30051}
30052
30053// SetAwsApiGatewayStage sets the AwsApiGatewayStage field's value.
30054func (s *ResourceDetails) SetAwsApiGatewayStage(v *AwsApiGatewayStageDetails) *ResourceDetails {
30055	s.AwsApiGatewayStage = v
30056	return s
30057}
30058
30059// SetAwsApiGatewayV2Api sets the AwsApiGatewayV2Api field's value.
30060func (s *ResourceDetails) SetAwsApiGatewayV2Api(v *AwsApiGatewayV2ApiDetails) *ResourceDetails {
30061	s.AwsApiGatewayV2Api = v
30062	return s
30063}
30064
30065// SetAwsApiGatewayV2Stage sets the AwsApiGatewayV2Stage field's value.
30066func (s *ResourceDetails) SetAwsApiGatewayV2Stage(v *AwsApiGatewayV2StageDetails) *ResourceDetails {
30067	s.AwsApiGatewayV2Stage = v
30068	return s
30069}
30070
30071// SetAwsAutoScalingAutoScalingGroup sets the AwsAutoScalingAutoScalingGroup field's value.
30072func (s *ResourceDetails) SetAwsAutoScalingAutoScalingGroup(v *AwsAutoScalingAutoScalingGroupDetails) *ResourceDetails {
30073	s.AwsAutoScalingAutoScalingGroup = v
30074	return s
30075}
30076
30077// SetAwsCertificateManagerCertificate sets the AwsCertificateManagerCertificate field's value.
30078func (s *ResourceDetails) SetAwsCertificateManagerCertificate(v *AwsCertificateManagerCertificateDetails) *ResourceDetails {
30079	s.AwsCertificateManagerCertificate = v
30080	return s
30081}
30082
30083// SetAwsCloudFrontDistribution sets the AwsCloudFrontDistribution field's value.
30084func (s *ResourceDetails) SetAwsCloudFrontDistribution(v *AwsCloudFrontDistributionDetails) *ResourceDetails {
30085	s.AwsCloudFrontDistribution = v
30086	return s
30087}
30088
30089// SetAwsCloudTrailTrail sets the AwsCloudTrailTrail field's value.
30090func (s *ResourceDetails) SetAwsCloudTrailTrail(v *AwsCloudTrailTrailDetails) *ResourceDetails {
30091	s.AwsCloudTrailTrail = v
30092	return s
30093}
30094
30095// SetAwsCodeBuildProject sets the AwsCodeBuildProject field's value.
30096func (s *ResourceDetails) SetAwsCodeBuildProject(v *AwsCodeBuildProjectDetails) *ResourceDetails {
30097	s.AwsCodeBuildProject = v
30098	return s
30099}
30100
30101// SetAwsDynamoDbTable sets the AwsDynamoDbTable field's value.
30102func (s *ResourceDetails) SetAwsDynamoDbTable(v *AwsDynamoDbTableDetails) *ResourceDetails {
30103	s.AwsDynamoDbTable = v
30104	return s
30105}
30106
30107// SetAwsEc2Eip sets the AwsEc2Eip field's value.
30108func (s *ResourceDetails) SetAwsEc2Eip(v *AwsEc2EipDetails) *ResourceDetails {
30109	s.AwsEc2Eip = v
30110	return s
30111}
30112
30113// SetAwsEc2Instance sets the AwsEc2Instance field's value.
30114func (s *ResourceDetails) SetAwsEc2Instance(v *AwsEc2InstanceDetails) *ResourceDetails {
30115	s.AwsEc2Instance = v
30116	return s
30117}
30118
30119// SetAwsEc2NetworkAcl sets the AwsEc2NetworkAcl field's value.
30120func (s *ResourceDetails) SetAwsEc2NetworkAcl(v *AwsEc2NetworkAclDetails) *ResourceDetails {
30121	s.AwsEc2NetworkAcl = v
30122	return s
30123}
30124
30125// SetAwsEc2NetworkInterface sets the AwsEc2NetworkInterface field's value.
30126func (s *ResourceDetails) SetAwsEc2NetworkInterface(v *AwsEc2NetworkInterfaceDetails) *ResourceDetails {
30127	s.AwsEc2NetworkInterface = v
30128	return s
30129}
30130
30131// SetAwsEc2SecurityGroup sets the AwsEc2SecurityGroup field's value.
30132func (s *ResourceDetails) SetAwsEc2SecurityGroup(v *AwsEc2SecurityGroupDetails) *ResourceDetails {
30133	s.AwsEc2SecurityGroup = v
30134	return s
30135}
30136
30137// SetAwsEc2Subnet sets the AwsEc2Subnet field's value.
30138func (s *ResourceDetails) SetAwsEc2Subnet(v *AwsEc2SubnetDetails) *ResourceDetails {
30139	s.AwsEc2Subnet = v
30140	return s
30141}
30142
30143// SetAwsEc2Volume sets the AwsEc2Volume field's value.
30144func (s *ResourceDetails) SetAwsEc2Volume(v *AwsEc2VolumeDetails) *ResourceDetails {
30145	s.AwsEc2Volume = v
30146	return s
30147}
30148
30149// SetAwsEc2Vpc sets the AwsEc2Vpc field's value.
30150func (s *ResourceDetails) SetAwsEc2Vpc(v *AwsEc2VpcDetails) *ResourceDetails {
30151	s.AwsEc2Vpc = v
30152	return s
30153}
30154
30155// SetAwsEcsCluster sets the AwsEcsCluster field's value.
30156func (s *ResourceDetails) SetAwsEcsCluster(v *AwsEcsClusterDetails) *ResourceDetails {
30157	s.AwsEcsCluster = v
30158	return s
30159}
30160
30161// SetAwsEcsService sets the AwsEcsService field's value.
30162func (s *ResourceDetails) SetAwsEcsService(v *AwsEcsServiceDetails) *ResourceDetails {
30163	s.AwsEcsService = v
30164	return s
30165}
30166
30167// SetAwsEcsTaskDefinition sets the AwsEcsTaskDefinition field's value.
30168func (s *ResourceDetails) SetAwsEcsTaskDefinition(v *AwsEcsTaskDefinitionDetails) *ResourceDetails {
30169	s.AwsEcsTaskDefinition = v
30170	return s
30171}
30172
30173// SetAwsElasticBeanstalkEnvironment sets the AwsElasticBeanstalkEnvironment field's value.
30174func (s *ResourceDetails) SetAwsElasticBeanstalkEnvironment(v *AwsElasticBeanstalkEnvironmentDetails) *ResourceDetails {
30175	s.AwsElasticBeanstalkEnvironment = v
30176	return s
30177}
30178
30179// SetAwsElasticsearchDomain sets the AwsElasticsearchDomain field's value.
30180func (s *ResourceDetails) SetAwsElasticsearchDomain(v *AwsElasticsearchDomainDetails) *ResourceDetails {
30181	s.AwsElasticsearchDomain = v
30182	return s
30183}
30184
30185// SetAwsElbLoadBalancer sets the AwsElbLoadBalancer field's value.
30186func (s *ResourceDetails) SetAwsElbLoadBalancer(v *AwsElbLoadBalancerDetails) *ResourceDetails {
30187	s.AwsElbLoadBalancer = v
30188	return s
30189}
30190
30191// SetAwsElbv2LoadBalancer sets the AwsElbv2LoadBalancer field's value.
30192func (s *ResourceDetails) SetAwsElbv2LoadBalancer(v *AwsElbv2LoadBalancerDetails) *ResourceDetails {
30193	s.AwsElbv2LoadBalancer = v
30194	return s
30195}
30196
30197// SetAwsIamAccessKey sets the AwsIamAccessKey field's value.
30198func (s *ResourceDetails) SetAwsIamAccessKey(v *AwsIamAccessKeyDetails) *ResourceDetails {
30199	s.AwsIamAccessKey = v
30200	return s
30201}
30202
30203// SetAwsIamGroup sets the AwsIamGroup field's value.
30204func (s *ResourceDetails) SetAwsIamGroup(v *AwsIamGroupDetails) *ResourceDetails {
30205	s.AwsIamGroup = v
30206	return s
30207}
30208
30209// SetAwsIamPolicy sets the AwsIamPolicy field's value.
30210func (s *ResourceDetails) SetAwsIamPolicy(v *AwsIamPolicyDetails) *ResourceDetails {
30211	s.AwsIamPolicy = v
30212	return s
30213}
30214
30215// SetAwsIamRole sets the AwsIamRole field's value.
30216func (s *ResourceDetails) SetAwsIamRole(v *AwsIamRoleDetails) *ResourceDetails {
30217	s.AwsIamRole = v
30218	return s
30219}
30220
30221// SetAwsIamUser sets the AwsIamUser field's value.
30222func (s *ResourceDetails) SetAwsIamUser(v *AwsIamUserDetails) *ResourceDetails {
30223	s.AwsIamUser = v
30224	return s
30225}
30226
30227// SetAwsKmsKey sets the AwsKmsKey field's value.
30228func (s *ResourceDetails) SetAwsKmsKey(v *AwsKmsKeyDetails) *ResourceDetails {
30229	s.AwsKmsKey = v
30230	return s
30231}
30232
30233// SetAwsLambdaFunction sets the AwsLambdaFunction field's value.
30234func (s *ResourceDetails) SetAwsLambdaFunction(v *AwsLambdaFunctionDetails) *ResourceDetails {
30235	s.AwsLambdaFunction = v
30236	return s
30237}
30238
30239// SetAwsLambdaLayerVersion sets the AwsLambdaLayerVersion field's value.
30240func (s *ResourceDetails) SetAwsLambdaLayerVersion(v *AwsLambdaLayerVersionDetails) *ResourceDetails {
30241	s.AwsLambdaLayerVersion = v
30242	return s
30243}
30244
30245// SetAwsRdsDbCluster sets the AwsRdsDbCluster field's value.
30246func (s *ResourceDetails) SetAwsRdsDbCluster(v *AwsRdsDbClusterDetails) *ResourceDetails {
30247	s.AwsRdsDbCluster = v
30248	return s
30249}
30250
30251// SetAwsRdsDbClusterSnapshot sets the AwsRdsDbClusterSnapshot field's value.
30252func (s *ResourceDetails) SetAwsRdsDbClusterSnapshot(v *AwsRdsDbClusterSnapshotDetails) *ResourceDetails {
30253	s.AwsRdsDbClusterSnapshot = v
30254	return s
30255}
30256
30257// SetAwsRdsDbInstance sets the AwsRdsDbInstance field's value.
30258func (s *ResourceDetails) SetAwsRdsDbInstance(v *AwsRdsDbInstanceDetails) *ResourceDetails {
30259	s.AwsRdsDbInstance = v
30260	return s
30261}
30262
30263// SetAwsRdsDbSnapshot sets the AwsRdsDbSnapshot field's value.
30264func (s *ResourceDetails) SetAwsRdsDbSnapshot(v *AwsRdsDbSnapshotDetails) *ResourceDetails {
30265	s.AwsRdsDbSnapshot = v
30266	return s
30267}
30268
30269// SetAwsRdsEventSubscription sets the AwsRdsEventSubscription field's value.
30270func (s *ResourceDetails) SetAwsRdsEventSubscription(v *AwsRdsEventSubscriptionDetails) *ResourceDetails {
30271	s.AwsRdsEventSubscription = v
30272	return s
30273}
30274
30275// SetAwsRedshiftCluster sets the AwsRedshiftCluster field's value.
30276func (s *ResourceDetails) SetAwsRedshiftCluster(v *AwsRedshiftClusterDetails) *ResourceDetails {
30277	s.AwsRedshiftCluster = v
30278	return s
30279}
30280
30281// SetAwsS3AccountPublicAccessBlock sets the AwsS3AccountPublicAccessBlock field's value.
30282func (s *ResourceDetails) SetAwsS3AccountPublicAccessBlock(v *AwsS3AccountPublicAccessBlockDetails) *ResourceDetails {
30283	s.AwsS3AccountPublicAccessBlock = v
30284	return s
30285}
30286
30287// SetAwsS3Bucket sets the AwsS3Bucket field's value.
30288func (s *ResourceDetails) SetAwsS3Bucket(v *AwsS3BucketDetails) *ResourceDetails {
30289	s.AwsS3Bucket = v
30290	return s
30291}
30292
30293// SetAwsS3Object sets the AwsS3Object field's value.
30294func (s *ResourceDetails) SetAwsS3Object(v *AwsS3ObjectDetails) *ResourceDetails {
30295	s.AwsS3Object = v
30296	return s
30297}
30298
30299// SetAwsSecretsManagerSecret sets the AwsSecretsManagerSecret field's value.
30300func (s *ResourceDetails) SetAwsSecretsManagerSecret(v *AwsSecretsManagerSecretDetails) *ResourceDetails {
30301	s.AwsSecretsManagerSecret = v
30302	return s
30303}
30304
30305// SetAwsSnsTopic sets the AwsSnsTopic field's value.
30306func (s *ResourceDetails) SetAwsSnsTopic(v *AwsSnsTopicDetails) *ResourceDetails {
30307	s.AwsSnsTopic = v
30308	return s
30309}
30310
30311// SetAwsSqsQueue sets the AwsSqsQueue field's value.
30312func (s *ResourceDetails) SetAwsSqsQueue(v *AwsSqsQueueDetails) *ResourceDetails {
30313	s.AwsSqsQueue = v
30314	return s
30315}
30316
30317// SetAwsSsmPatchCompliance sets the AwsSsmPatchCompliance field's value.
30318func (s *ResourceDetails) SetAwsSsmPatchCompliance(v *AwsSsmPatchComplianceDetails) *ResourceDetails {
30319	s.AwsSsmPatchCompliance = v
30320	return s
30321}
30322
30323// SetAwsWafWebAcl sets the AwsWafWebAcl field's value.
30324func (s *ResourceDetails) SetAwsWafWebAcl(v *AwsWafWebAclDetails) *ResourceDetails {
30325	s.AwsWafWebAcl = v
30326	return s
30327}
30328
30329// SetContainer sets the Container field's value.
30330func (s *ResourceDetails) SetContainer(v *ContainerDetails) *ResourceDetails {
30331	s.Container = v
30332	return s
30333}
30334
30335// SetOther sets the Other field's value.
30336func (s *ResourceDetails) SetOther(v map[string]*string) *ResourceDetails {
30337	s.Other = v
30338	return s
30339}
30340
30341// The request was rejected because we can't find the specified resource.
30342type ResourceNotFoundException struct {
30343	_            struct{}                  `type:"structure"`
30344	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
30345
30346	Code_ *string `locationName:"Code" type:"string"`
30347
30348	Message_ *string `locationName:"Message" type:"string"`
30349}
30350
30351// String returns the string representation
30352func (s ResourceNotFoundException) String() string {
30353	return awsutil.Prettify(s)
30354}
30355
30356// GoString returns the string representation
30357func (s ResourceNotFoundException) GoString() string {
30358	return s.String()
30359}
30360
30361func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
30362	return &ResourceNotFoundException{
30363		RespMetadata: v,
30364	}
30365}
30366
30367// Code returns the exception type name.
30368func (s *ResourceNotFoundException) Code() string {
30369	return "ResourceNotFoundException"
30370}
30371
30372// Message returns the exception's message.
30373func (s *ResourceNotFoundException) Message() string {
30374	if s.Message_ != nil {
30375		return *s.Message_
30376	}
30377	return ""
30378}
30379
30380// OrigErr always returns nil, satisfies awserr.Error interface.
30381func (s *ResourceNotFoundException) OrigErr() error {
30382	return nil
30383}
30384
30385func (s *ResourceNotFoundException) Error() string {
30386	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
30387}
30388
30389// Status code returns the HTTP status code for the request's response error.
30390func (s *ResourceNotFoundException) StatusCode() int {
30391	return s.RespMetadata.StatusCode
30392}
30393
30394// RequestID returns the service's response RequestID for request.
30395func (s *ResourceNotFoundException) RequestID() string {
30396	return s.RespMetadata.RequestID
30397}
30398
30399// Details about the account that was not processed.
30400type Result struct {
30401	_ struct{} `type:"structure"`
30402
30403	// An Amazon Web Services account ID of the account that was not processed.
30404	AccountId *string `type:"string"`
30405
30406	// The reason that the account was not processed.
30407	ProcessingResult *string `type:"string"`
30408}
30409
30410// String returns the string representation
30411func (s Result) String() string {
30412	return awsutil.Prettify(s)
30413}
30414
30415// GoString returns the string representation
30416func (s Result) GoString() string {
30417	return s.String()
30418}
30419
30420// SetAccountId sets the AccountId field's value.
30421func (s *Result) SetAccountId(v string) *Result {
30422	s.AccountId = &v
30423	return s
30424}
30425
30426// SetProcessingResult sets the ProcessingResult field's value.
30427func (s *Result) SetProcessingResult(v string) *Result {
30428	s.ProcessingResult = &v
30429	return s
30430}
30431
30432// The list of detected instances of sensitive data.
30433type SensitiveDataDetections struct {
30434	_ struct{} `type:"structure"`
30435
30436	// The total number of occurrences of sensitive data that were detected.
30437	Count *int64 `type:"long"`
30438
30439	// Details about the sensitive data that was detected.
30440	Occurrences *Occurrences `type:"structure"`
30441
30442	// The type of sensitive data that was detected. For example, the type might
30443	// indicate that the data is an email address.
30444	Type *string `type:"string"`
30445}
30446
30447// String returns the string representation
30448func (s SensitiveDataDetections) String() string {
30449	return awsutil.Prettify(s)
30450}
30451
30452// GoString returns the string representation
30453func (s SensitiveDataDetections) GoString() string {
30454	return s.String()
30455}
30456
30457// SetCount sets the Count field's value.
30458func (s *SensitiveDataDetections) SetCount(v int64) *SensitiveDataDetections {
30459	s.Count = &v
30460	return s
30461}
30462
30463// SetOccurrences sets the Occurrences field's value.
30464func (s *SensitiveDataDetections) SetOccurrences(v *Occurrences) *SensitiveDataDetections {
30465	s.Occurrences = v
30466	return s
30467}
30468
30469// SetType sets the Type field's value.
30470func (s *SensitiveDataDetections) SetType(v string) *SensitiveDataDetections {
30471	s.Type = &v
30472	return s
30473}
30474
30475// Contains a detected instance of sensitive data that are based on built-in
30476// identifiers.
30477type SensitiveDataResult struct {
30478	_ struct{} `type:"structure"`
30479
30480	// The category of sensitive data that was detected. For example, the category
30481	// can indicate that the sensitive data involved credentials, financial information,
30482	// or personal information.
30483	Category *string `type:"string"`
30484
30485	// The list of detected instances of sensitive data.
30486	Detections []*SensitiveDataDetections `type:"list"`
30487
30488	// The total number of occurrences of sensitive data.
30489	TotalCount *int64 `type:"long"`
30490}
30491
30492// String returns the string representation
30493func (s SensitiveDataResult) String() string {
30494	return awsutil.Prettify(s)
30495}
30496
30497// GoString returns the string representation
30498func (s SensitiveDataResult) GoString() string {
30499	return s.String()
30500}
30501
30502// SetCategory sets the Category field's value.
30503func (s *SensitiveDataResult) SetCategory(v string) *SensitiveDataResult {
30504	s.Category = &v
30505	return s
30506}
30507
30508// SetDetections sets the Detections field's value.
30509func (s *SensitiveDataResult) SetDetections(v []*SensitiveDataDetections) *SensitiveDataResult {
30510	s.Detections = v
30511	return s
30512}
30513
30514// SetTotalCount sets the TotalCount field's value.
30515func (s *SensitiveDataResult) SetTotalCount(v int64) *SensitiveDataResult {
30516	s.TotalCount = &v
30517	return s
30518}
30519
30520// The severity of the finding.
30521//
30522// The finding provider can provide the initial severity. The finding provider
30523// can only update the severity if it has not been updated using BatchUpdateFindings.
30524//
30525// The finding must have either Label or Normalized populated. If only one of
30526// these attributes is populated, then Security Hub automatically populates
30527// the other one. If neither attribute is populated, then the finding is invalid.
30528// Label is the preferred attribute.
30529type Severity struct {
30530	_ struct{} `type:"structure"`
30531
30532	// The severity value of the finding. The allowed values are the following.
30533	//
30534	//    * INFORMATIONAL - No issue was found.
30535	//
30536	//    * LOW - The issue does not require action on its own.
30537	//
30538	//    * MEDIUM - The issue must be addressed but not urgently.
30539	//
30540	//    * HIGH - The issue must be addressed as a priority.
30541	//
30542	//    * CRITICAL - The issue must be remediated immediately to avoid it escalating.
30543	//
30544	// If you provide Normalized and do not provide Label, then Label is set automatically
30545	// as follows.
30546	//
30547	//    * 0 - INFORMATIONAL
30548	//
30549	//    * 1–39 - LOW
30550	//
30551	//    * 40–69 - MEDIUM
30552	//
30553	//    * 70–89 - HIGH
30554	//
30555	//    * 90–100 - CRITICAL
30556	Label *string `type:"string" enum:"SeverityLabel"`
30557
30558	// Deprecated. The normalized severity of a finding. This attribute is being
30559	// deprecated. Instead of providing Normalized, provide Label.
30560	//
30561	// If you provide Label and do not provide Normalized, then Normalized is set
30562	// automatically as follows.
30563	//
30564	//    * INFORMATIONAL - 0
30565	//
30566	//    * LOW - 1
30567	//
30568	//    * MEDIUM - 40
30569	//
30570	//    * HIGH - 70
30571	//
30572	//    * CRITICAL - 90
30573	Normalized *int64 `type:"integer"`
30574
30575	// The native severity from the finding product that generated the finding.
30576	Original *string `type:"string"`
30577
30578	// Deprecated. This attribute is being deprecated. Instead of providing Product,
30579	// provide Original.
30580	//
30581	// The native severity as defined by the Amazon Web Services service or integrated
30582	// partner product that generated the finding.
30583	Product *float64 `type:"double"`
30584}
30585
30586// String returns the string representation
30587func (s Severity) String() string {
30588	return awsutil.Prettify(s)
30589}
30590
30591// GoString returns the string representation
30592func (s Severity) GoString() string {
30593	return s.String()
30594}
30595
30596// SetLabel sets the Label field's value.
30597func (s *Severity) SetLabel(v string) *Severity {
30598	s.Label = &v
30599	return s
30600}
30601
30602// SetNormalized sets the Normalized field's value.
30603func (s *Severity) SetNormalized(v int64) *Severity {
30604	s.Normalized = &v
30605	return s
30606}
30607
30608// SetOriginal sets the Original field's value.
30609func (s *Severity) SetOriginal(v string) *Severity {
30610	s.Original = &v
30611	return s
30612}
30613
30614// SetProduct sets the Product field's value.
30615func (s *Severity) SetProduct(v float64) *Severity {
30616	s.Product = &v
30617	return s
30618}
30619
30620// Updates to the severity information for a finding.
30621type SeverityUpdate struct {
30622	_ struct{} `type:"structure"`
30623
30624	// The severity value of the finding. The allowed values are the following.
30625	//
30626	//    * INFORMATIONAL - No issue was found.
30627	//
30628	//    * LOW - The issue does not require action on its own.
30629	//
30630	//    * MEDIUM - The issue must be addressed but not urgently.
30631	//
30632	//    * HIGH - The issue must be addressed as a priority.
30633	//
30634	//    * CRITICAL - The issue must be remediated immediately to avoid it escalating.
30635	Label *string `type:"string" enum:"SeverityLabel"`
30636
30637	// The normalized severity for the finding. This attribute is to be deprecated
30638	// in favor of Label.
30639	//
30640	// If you provide Normalized and do not provide Label, Label is set automatically
30641	// as follows.
30642	//
30643	//    * 0 - INFORMATIONAL
30644	//
30645	//    * 1–39 - LOW
30646	//
30647	//    * 40–69 - MEDIUM
30648	//
30649	//    * 70–89 - HIGH
30650	//
30651	//    * 90–100 - CRITICAL
30652	Normalized *int64 `type:"integer"`
30653
30654	// The native severity as defined by the Amazon Web Services service or integrated
30655	// partner product that generated the finding.
30656	Product *float64 `type:"double"`
30657}
30658
30659// String returns the string representation
30660func (s SeverityUpdate) String() string {
30661	return awsutil.Prettify(s)
30662}
30663
30664// GoString returns the string representation
30665func (s SeverityUpdate) GoString() string {
30666	return s.String()
30667}
30668
30669// SetLabel sets the Label field's value.
30670func (s *SeverityUpdate) SetLabel(v string) *SeverityUpdate {
30671	s.Label = &v
30672	return s
30673}
30674
30675// SetNormalized sets the Normalized field's value.
30676func (s *SeverityUpdate) SetNormalized(v int64) *SeverityUpdate {
30677	s.Normalized = &v
30678	return s
30679}
30680
30681// SetProduct sets the Product field's value.
30682func (s *SeverityUpdate) SetProduct(v float64) *SeverityUpdate {
30683	s.Product = &v
30684	return s
30685}
30686
30687// Information about a software package.
30688type SoftwarePackage struct {
30689	_ struct{} `type:"structure"`
30690
30691	// The architecture used for the software package.
30692	Architecture *string `type:"string"`
30693
30694	// The epoch of the software package.
30695	Epoch *string `type:"string"`
30696
30697	// The name of the software package.
30698	Name *string `type:"string"`
30699
30700	// The release of the software package.
30701	Release *string `type:"string"`
30702
30703	// The version of the software package.
30704	Version *string `type:"string"`
30705}
30706
30707// String returns the string representation
30708func (s SoftwarePackage) String() string {
30709	return awsutil.Prettify(s)
30710}
30711
30712// GoString returns the string representation
30713func (s SoftwarePackage) GoString() string {
30714	return s.String()
30715}
30716
30717// SetArchitecture sets the Architecture field's value.
30718func (s *SoftwarePackage) SetArchitecture(v string) *SoftwarePackage {
30719	s.Architecture = &v
30720	return s
30721}
30722
30723// SetEpoch sets the Epoch field's value.
30724func (s *SoftwarePackage) SetEpoch(v string) *SoftwarePackage {
30725	s.Epoch = &v
30726	return s
30727}
30728
30729// SetName sets the Name field's value.
30730func (s *SoftwarePackage) SetName(v string) *SoftwarePackage {
30731	s.Name = &v
30732	return s
30733}
30734
30735// SetRelease sets the Release field's value.
30736func (s *SoftwarePackage) SetRelease(v string) *SoftwarePackage {
30737	s.Release = &v
30738	return s
30739}
30740
30741// SetVersion sets the Version field's value.
30742func (s *SoftwarePackage) SetVersion(v string) *SoftwarePackage {
30743	s.Version = &v
30744	return s
30745}
30746
30747// A collection of finding attributes used to sort findings.
30748type SortCriterion struct {
30749	_ struct{} `type:"structure"`
30750
30751	// The finding attribute used to sort findings.
30752	Field *string `type:"string"`
30753
30754	// The order used to sort findings.
30755	SortOrder *string `type:"string" enum:"SortOrder"`
30756}
30757
30758// String returns the string representation
30759func (s SortCriterion) String() string {
30760	return awsutil.Prettify(s)
30761}
30762
30763// GoString returns the string representation
30764func (s SortCriterion) GoString() string {
30765	return s.String()
30766}
30767
30768// SetField sets the Field field's value.
30769func (s *SortCriterion) SetField(v string) *SortCriterion {
30770	s.Field = &v
30771	return s
30772}
30773
30774// SetSortOrder sets the SortOrder field's value.
30775func (s *SortCriterion) SetSortOrder(v string) *SortCriterion {
30776	s.SortOrder = &v
30777	return s
30778}
30779
30780// Provides information about a specific standard.
30781type Standard struct {
30782	_ struct{} `type:"structure"`
30783
30784	// A description of the standard.
30785	Description *string `type:"string"`
30786
30787	// Whether the standard is enabled by default. When Security Hub is enabled
30788	// from the console, if a standard is enabled by default, the check box for
30789	// that standard is selected by default.
30790	//
30791	// When Security Hub is enabled using the EnableSecurityHub API operation, the
30792	// standard is enabled by default unless EnableDefaultStandards is set to false.
30793	EnabledByDefault *bool `type:"boolean"`
30794
30795	// The name of the standard.
30796	Name *string `type:"string"`
30797
30798	// The ARN of a standard.
30799	StandardsArn *string `type:"string"`
30800}
30801
30802// String returns the string representation
30803func (s Standard) String() string {
30804	return awsutil.Prettify(s)
30805}
30806
30807// GoString returns the string representation
30808func (s Standard) GoString() string {
30809	return s.String()
30810}
30811
30812// SetDescription sets the Description field's value.
30813func (s *Standard) SetDescription(v string) *Standard {
30814	s.Description = &v
30815	return s
30816}
30817
30818// SetEnabledByDefault sets the EnabledByDefault field's value.
30819func (s *Standard) SetEnabledByDefault(v bool) *Standard {
30820	s.EnabledByDefault = &v
30821	return s
30822}
30823
30824// SetName sets the Name field's value.
30825func (s *Standard) SetName(v string) *Standard {
30826	s.Name = &v
30827	return s
30828}
30829
30830// SetStandardsArn sets the StandardsArn field's value.
30831func (s *Standard) SetStandardsArn(v string) *Standard {
30832	s.StandardsArn = &v
30833	return s
30834}
30835
30836// Details for an individual security standard control.
30837type StandardsControl struct {
30838	_ struct{} `type:"structure"`
30839
30840	// The identifier of the security standard control.
30841	ControlId *string `type:"string"`
30842
30843	// The current status of the security standard control. Indicates whether the
30844	// control is enabled or disabled. Security Hub does not check against disabled
30845	// controls.
30846	ControlStatus *string `type:"string" enum:"ControlStatus"`
30847
30848	// The date and time that the status of the security standard control was most
30849	// recently updated.
30850	ControlStatusUpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
30851
30852	// The longer description of the security standard control. Provides information
30853	// about what the control is checking for.
30854	Description *string `type:"string"`
30855
30856	// The reason provided for the most recent change in status for the control.
30857	DisabledReason *string `type:"string"`
30858
30859	// The list of requirements that are related to this control.
30860	RelatedRequirements []*string `type:"list"`
30861
30862	// A link to remediation information for the control in the Security Hub user
30863	// documentation.
30864	RemediationUrl *string `type:"string"`
30865
30866	// The severity of findings generated from this security standard control.
30867	//
30868	// The finding severity is based on an assessment of how easy it would be to
30869	// compromise Amazon Web Services resources if the issue is detected.
30870	SeverityRating *string `type:"string" enum:"SeverityRating"`
30871
30872	// The ARN of the security standard control.
30873	StandardsControlArn *string `type:"string"`
30874
30875	// The title of the security standard control.
30876	Title *string `type:"string"`
30877}
30878
30879// String returns the string representation
30880func (s StandardsControl) String() string {
30881	return awsutil.Prettify(s)
30882}
30883
30884// GoString returns the string representation
30885func (s StandardsControl) GoString() string {
30886	return s.String()
30887}
30888
30889// SetControlId sets the ControlId field's value.
30890func (s *StandardsControl) SetControlId(v string) *StandardsControl {
30891	s.ControlId = &v
30892	return s
30893}
30894
30895// SetControlStatus sets the ControlStatus field's value.
30896func (s *StandardsControl) SetControlStatus(v string) *StandardsControl {
30897	s.ControlStatus = &v
30898	return s
30899}
30900
30901// SetControlStatusUpdatedAt sets the ControlStatusUpdatedAt field's value.
30902func (s *StandardsControl) SetControlStatusUpdatedAt(v time.Time) *StandardsControl {
30903	s.ControlStatusUpdatedAt = &v
30904	return s
30905}
30906
30907// SetDescription sets the Description field's value.
30908func (s *StandardsControl) SetDescription(v string) *StandardsControl {
30909	s.Description = &v
30910	return s
30911}
30912
30913// SetDisabledReason sets the DisabledReason field's value.
30914func (s *StandardsControl) SetDisabledReason(v string) *StandardsControl {
30915	s.DisabledReason = &v
30916	return s
30917}
30918
30919// SetRelatedRequirements sets the RelatedRequirements field's value.
30920func (s *StandardsControl) SetRelatedRequirements(v []*string) *StandardsControl {
30921	s.RelatedRequirements = v
30922	return s
30923}
30924
30925// SetRemediationUrl sets the RemediationUrl field's value.
30926func (s *StandardsControl) SetRemediationUrl(v string) *StandardsControl {
30927	s.RemediationUrl = &v
30928	return s
30929}
30930
30931// SetSeverityRating sets the SeverityRating field's value.
30932func (s *StandardsControl) SetSeverityRating(v string) *StandardsControl {
30933	s.SeverityRating = &v
30934	return s
30935}
30936
30937// SetStandardsControlArn sets the StandardsControlArn field's value.
30938func (s *StandardsControl) SetStandardsControlArn(v string) *StandardsControl {
30939	s.StandardsControlArn = &v
30940	return s
30941}
30942
30943// SetTitle sets the Title field's value.
30944func (s *StandardsControl) SetTitle(v string) *StandardsControl {
30945	s.Title = &v
30946	return s
30947}
30948
30949// A resource that represents your subscription to a supported standard.
30950type StandardsSubscription struct {
30951	_ struct{} `type:"structure"`
30952
30953	// The ARN of a standard.
30954	//
30955	// StandardsArn is a required field
30956	StandardsArn *string `type:"string" required:"true"`
30957
30958	// A key-value pair of input for the standard.
30959	//
30960	// StandardsInput is a required field
30961	StandardsInput map[string]*string `type:"map" required:"true"`
30962
30963	// The status of the standard subscription.
30964	//
30965	// The status values are as follows:
30966	//
30967	//    * PENDING - Standard is in the process of being enabled.
30968	//
30969	//    * READY - Standard is enabled.
30970	//
30971	//    * INCOMPLETE - Standard could not be enabled completely. Some controls
30972	//    may not be available.
30973	//
30974	//    * DELETING - Standard is in the process of being disabled.
30975	//
30976	//    * FAILED - Standard could not be disabled.
30977	//
30978	// StandardsStatus is a required field
30979	StandardsStatus *string `type:"string" required:"true" enum:"StandardsStatus"`
30980
30981	// The ARN of a resource that represents your subscription to a supported standard.
30982	//
30983	// StandardsSubscriptionArn is a required field
30984	StandardsSubscriptionArn *string `type:"string" required:"true"`
30985}
30986
30987// String returns the string representation
30988func (s StandardsSubscription) String() string {
30989	return awsutil.Prettify(s)
30990}
30991
30992// GoString returns the string representation
30993func (s StandardsSubscription) GoString() string {
30994	return s.String()
30995}
30996
30997// SetStandardsArn sets the StandardsArn field's value.
30998func (s *StandardsSubscription) SetStandardsArn(v string) *StandardsSubscription {
30999	s.StandardsArn = &v
31000	return s
31001}
31002
31003// SetStandardsInput sets the StandardsInput field's value.
31004func (s *StandardsSubscription) SetStandardsInput(v map[string]*string) *StandardsSubscription {
31005	s.StandardsInput = v
31006	return s
31007}
31008
31009// SetStandardsStatus sets the StandardsStatus field's value.
31010func (s *StandardsSubscription) SetStandardsStatus(v string) *StandardsSubscription {
31011	s.StandardsStatus = &v
31012	return s
31013}
31014
31015// SetStandardsSubscriptionArn sets the StandardsSubscriptionArn field's value.
31016func (s *StandardsSubscription) SetStandardsSubscriptionArn(v string) *StandardsSubscription {
31017	s.StandardsSubscriptionArn = &v
31018	return s
31019}
31020
31021// The standard that you want to enable.
31022type StandardsSubscriptionRequest struct {
31023	_ struct{} `type:"structure"`
31024
31025	// The ARN of the standard that you want to enable. To view the list of available
31026	// standards and their ARNs, use the DescribeStandards operation.
31027	//
31028	// StandardsArn is a required field
31029	StandardsArn *string `type:"string" required:"true"`
31030
31031	// A key-value pair of input for the standard.
31032	StandardsInput map[string]*string `type:"map"`
31033}
31034
31035// String returns the string representation
31036func (s StandardsSubscriptionRequest) String() string {
31037	return awsutil.Prettify(s)
31038}
31039
31040// GoString returns the string representation
31041func (s StandardsSubscriptionRequest) GoString() string {
31042	return s.String()
31043}
31044
31045// Validate inspects the fields of the type to determine if they are valid.
31046func (s *StandardsSubscriptionRequest) Validate() error {
31047	invalidParams := request.ErrInvalidParams{Context: "StandardsSubscriptionRequest"}
31048	if s.StandardsArn == nil {
31049		invalidParams.Add(request.NewErrParamRequired("StandardsArn"))
31050	}
31051
31052	if invalidParams.Len() > 0 {
31053		return invalidParams
31054	}
31055	return nil
31056}
31057
31058// SetStandardsArn sets the StandardsArn field's value.
31059func (s *StandardsSubscriptionRequest) SetStandardsArn(v string) *StandardsSubscriptionRequest {
31060	s.StandardsArn = &v
31061	return s
31062}
31063
31064// SetStandardsInput sets the StandardsInput field's value.
31065func (s *StandardsSubscriptionRequest) SetStandardsInput(v map[string]*string) *StandardsSubscriptionRequest {
31066	s.StandardsInput = v
31067	return s
31068}
31069
31070// Provides additional context for the value of Compliance.Status.
31071type StatusReason struct {
31072	_ struct{} `type:"structure"`
31073
31074	// The corresponding description for the status reason code.
31075	Description *string `type:"string"`
31076
31077	// A code that represents a reason for the control status. For the list of status
31078	// reason codes and their meanings, see Standards-related information in the
31079	// ASFF (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-results.html#securityhub-standards-results-asff)
31080	// in the Security Hub User Guide.
31081	//
31082	// ReasonCode is a required field
31083	ReasonCode *string `type:"string" required:"true"`
31084}
31085
31086// String returns the string representation
31087func (s StatusReason) String() string {
31088	return awsutil.Prettify(s)
31089}
31090
31091// GoString returns the string representation
31092func (s StatusReason) GoString() string {
31093	return s.String()
31094}
31095
31096// Validate inspects the fields of the type to determine if they are valid.
31097func (s *StatusReason) Validate() error {
31098	invalidParams := request.ErrInvalidParams{Context: "StatusReason"}
31099	if s.ReasonCode == nil {
31100		invalidParams.Add(request.NewErrParamRequired("ReasonCode"))
31101	}
31102
31103	if invalidParams.Len() > 0 {
31104		return invalidParams
31105	}
31106	return nil
31107}
31108
31109// SetDescription sets the Description field's value.
31110func (s *StatusReason) SetDescription(v string) *StatusReason {
31111	s.Description = &v
31112	return s
31113}
31114
31115// SetReasonCode sets the ReasonCode field's value.
31116func (s *StatusReason) SetReasonCode(v string) *StatusReason {
31117	s.ReasonCode = &v
31118	return s
31119}
31120
31121// A string filter for querying findings.
31122type StringFilter struct {
31123	_ struct{} `type:"structure"`
31124
31125	// The condition to apply to a string value when querying for findings. To search
31126	// for values that contain the filter criteria value, use one of the following
31127	// comparison operators:
31128	//
31129	//    * To search for values that exactly match the filter value, use EQUALS.
31130	//    For example, the filter ResourceType EQUALS AwsEc2SecurityGroup only matches
31131	//    findings that have a resource type of AwsEc2SecurityGroup.
31132	//
31133	//    * To search for values that start with the filter value, use PREFIX. For
31134	//    example, the filter ResourceType PREFIX AwsIam matches findings that have
31135	//    a resource type that starts with AwsIam. Findings with a resource type
31136	//    of AwsIamPolicy, AwsIamRole, or AwsIamUser would all match.
31137	//
31138	// EQUALS and PREFIX filters on the same field are joined by OR. A finding matches
31139	// if it matches any one of those filters.
31140	//
31141	// To search for values that do not contain the filter criteria value, use one
31142	// of the following comparison operators:
31143	//
31144	//    * To search for values that do not exactly match the filter value, use
31145	//    NOT_EQUALS. For example, the filter ResourceType NOT_EQUALS AwsIamPolicy
31146	//    matches findings that have a resource type other than AwsIamPolicy.
31147	//
31148	//    * To search for values that do not start with the filter value, use PREFIX_NOT_EQUALS.
31149	//    For example, the filter ResourceType PREFIX_NOT_EQUALS AwsIam matches
31150	//    findings that have a resource type that does not start with AwsIam. Findings
31151	//    with a resource type of AwsIamPolicy, AwsIamRole, or AwsIamUser would
31152	//    all be excluded from the results.
31153	//
31154	// NOT_EQUALS and PREFIX_NOT_EQUALS filters on the same field are joined by
31155	// AND. A finding matches only if it matches all of those filters.
31156	//
31157	// For filters on the same field, you cannot provide both an EQUALS filter and
31158	// a NOT_EQUALS or PREFIX_NOT_EQUALS filter. Combining filters in this way always
31159	// returns an error, even if the provided filter values would return valid results.
31160	//
31161	// You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters
31162	// for the same field. Security Hub first processes the PREFIX filters, then
31163	// the NOT_EQUALS or PREFIX_NOT_EQUALS filters.
31164	//
31165	// For example, for the following filter, Security Hub first identifies findings
31166	// that have resource types that start with either AwsIAM or AwsEc2. It then
31167	// excludes findings that have a resource type of AwsIamPolicy and findings
31168	// that have a resource type of AwsEc2NetworkInterface.
31169	//
31170	//    * ResourceType PREFIX AwsIam
31171	//
31172	//    * ResourceType PREFIX AwsEc2
31173	//
31174	//    * ResourceType NOT_EQUALS AwsIamPolicy
31175	//
31176	//    * ResourceType NOT_EQUALS AwsEc2NetworkInterface
31177	Comparison *string `type:"string" enum:"StringFilterComparison"`
31178
31179	// The string filter value. Filter values are case sensitive. For example, the
31180	// product name for control-based findings is Security Hub. If you provide security
31181	// hub as the filter text, then there is no match.
31182	Value *string `type:"string"`
31183}
31184
31185// String returns the string representation
31186func (s StringFilter) String() string {
31187	return awsutil.Prettify(s)
31188}
31189
31190// GoString returns the string representation
31191func (s StringFilter) GoString() string {
31192	return s.String()
31193}
31194
31195// SetComparison sets the Comparison field's value.
31196func (s *StringFilter) SetComparison(v string) *StringFilter {
31197	s.Comparison = &v
31198	return s
31199}
31200
31201// SetValue sets the Value field's value.
31202func (s *StringFilter) SetValue(v string) *StringFilter {
31203	s.Value = &v
31204	return s
31205}
31206
31207type TagResourceInput struct {
31208	_ struct{} `type:"structure"`
31209
31210	// The ARN of the resource to apply the tags to.
31211	//
31212	// ResourceArn is a required field
31213	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
31214
31215	// The tags to add to the resource. You can add up to 50 tags at a time. The
31216	// tag keys can be no longer than 128 characters. The tag values can be no longer
31217	// than 256 characters.
31218	//
31219	// Tags is a required field
31220	Tags map[string]*string `min:"1" type:"map" required:"true"`
31221}
31222
31223// String returns the string representation
31224func (s TagResourceInput) String() string {
31225	return awsutil.Prettify(s)
31226}
31227
31228// GoString returns the string representation
31229func (s TagResourceInput) GoString() string {
31230	return s.String()
31231}
31232
31233// Validate inspects the fields of the type to determine if they are valid.
31234func (s *TagResourceInput) Validate() error {
31235	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
31236	if s.ResourceArn == nil {
31237		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
31238	}
31239	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
31240		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
31241	}
31242	if s.Tags == nil {
31243		invalidParams.Add(request.NewErrParamRequired("Tags"))
31244	}
31245	if s.Tags != nil && len(s.Tags) < 1 {
31246		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
31247	}
31248
31249	if invalidParams.Len() > 0 {
31250		return invalidParams
31251	}
31252	return nil
31253}
31254
31255// SetResourceArn sets the ResourceArn field's value.
31256func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
31257	s.ResourceArn = &v
31258	return s
31259}
31260
31261// SetTags sets the Tags field's value.
31262func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
31263	s.Tags = v
31264	return s
31265}
31266
31267type TagResourceOutput struct {
31268	_ struct{} `type:"structure"`
31269}
31270
31271// String returns the string representation
31272func (s TagResourceOutput) String() string {
31273	return awsutil.Prettify(s)
31274}
31275
31276// GoString returns the string representation
31277func (s TagResourceOutput) GoString() string {
31278	return s.String()
31279}
31280
31281// Details about the threat intelligence related to a finding.
31282type ThreatIntelIndicator struct {
31283	_ struct{} `type:"structure"`
31284
31285	// The category of a threat intelligence indicator.
31286	Category *string `type:"string" enum:"ThreatIntelIndicatorCategory"`
31287
31288	// Indicates when the most recent instance of a threat intelligence indicator
31289	// was observed.
31290	//
31291	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
31292	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
31293	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
31294	LastObservedAt *string `type:"string"`
31295
31296	// The source of the threat intelligence indicator.
31297	Source *string `type:"string"`
31298
31299	// The URL to the page or site where you can get more information about the
31300	// threat intelligence indicator.
31301	SourceUrl *string `type:"string"`
31302
31303	// The type of threat intelligence indicator.
31304	Type *string `type:"string" enum:"ThreatIntelIndicatorType"`
31305
31306	// The value of a threat intelligence indicator.
31307	Value *string `type:"string"`
31308}
31309
31310// String returns the string representation
31311func (s ThreatIntelIndicator) String() string {
31312	return awsutil.Prettify(s)
31313}
31314
31315// GoString returns the string representation
31316func (s ThreatIntelIndicator) GoString() string {
31317	return s.String()
31318}
31319
31320// SetCategory sets the Category field's value.
31321func (s *ThreatIntelIndicator) SetCategory(v string) *ThreatIntelIndicator {
31322	s.Category = &v
31323	return s
31324}
31325
31326// SetLastObservedAt sets the LastObservedAt field's value.
31327func (s *ThreatIntelIndicator) SetLastObservedAt(v string) *ThreatIntelIndicator {
31328	s.LastObservedAt = &v
31329	return s
31330}
31331
31332// SetSource sets the Source field's value.
31333func (s *ThreatIntelIndicator) SetSource(v string) *ThreatIntelIndicator {
31334	s.Source = &v
31335	return s
31336}
31337
31338// SetSourceUrl sets the SourceUrl field's value.
31339func (s *ThreatIntelIndicator) SetSourceUrl(v string) *ThreatIntelIndicator {
31340	s.SourceUrl = &v
31341	return s
31342}
31343
31344// SetType sets the Type field's value.
31345func (s *ThreatIntelIndicator) SetType(v string) *ThreatIntelIndicator {
31346	s.Type = &v
31347	return s
31348}
31349
31350// SetValue sets the Value field's value.
31351func (s *ThreatIntelIndicator) SetValue(v string) *ThreatIntelIndicator {
31352	s.Value = &v
31353	return s
31354}
31355
31356type UntagResourceInput struct {
31357	_ struct{} `type:"structure"`
31358
31359	// The ARN of the resource to remove the tags from.
31360	//
31361	// ResourceArn is a required field
31362	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
31363
31364	// The tag keys associated with the tags to remove from the resource. You can
31365	// remove up to 50 tags at a time.
31366	//
31367	// TagKeys is a required field
31368	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
31369}
31370
31371// String returns the string representation
31372func (s UntagResourceInput) String() string {
31373	return awsutil.Prettify(s)
31374}
31375
31376// GoString returns the string representation
31377func (s UntagResourceInput) GoString() string {
31378	return s.String()
31379}
31380
31381// Validate inspects the fields of the type to determine if they are valid.
31382func (s *UntagResourceInput) Validate() error {
31383	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
31384	if s.ResourceArn == nil {
31385		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
31386	}
31387	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
31388		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
31389	}
31390	if s.TagKeys == nil {
31391		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
31392	}
31393	if s.TagKeys != nil && len(s.TagKeys) < 1 {
31394		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
31395	}
31396
31397	if invalidParams.Len() > 0 {
31398		return invalidParams
31399	}
31400	return nil
31401}
31402
31403// SetResourceArn sets the ResourceArn field's value.
31404func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
31405	s.ResourceArn = &v
31406	return s
31407}
31408
31409// SetTagKeys sets the TagKeys field's value.
31410func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
31411	s.TagKeys = v
31412	return s
31413}
31414
31415type UntagResourceOutput struct {
31416	_ struct{} `type:"structure"`
31417}
31418
31419// String returns the string representation
31420func (s UntagResourceOutput) String() string {
31421	return awsutil.Prettify(s)
31422}
31423
31424// GoString returns the string representation
31425func (s UntagResourceOutput) GoString() string {
31426	return s.String()
31427}
31428
31429type UpdateActionTargetInput struct {
31430	_ struct{} `type:"structure"`
31431
31432	// The ARN of the custom action target to update.
31433	//
31434	// ActionTargetArn is a required field
31435	ActionTargetArn *string `location:"uri" locationName:"ActionTargetArn" type:"string" required:"true"`
31436
31437	// The updated description for the custom action target.
31438	Description *string `type:"string"`
31439
31440	// The updated name of the custom action target.
31441	Name *string `type:"string"`
31442}
31443
31444// String returns the string representation
31445func (s UpdateActionTargetInput) String() string {
31446	return awsutil.Prettify(s)
31447}
31448
31449// GoString returns the string representation
31450func (s UpdateActionTargetInput) GoString() string {
31451	return s.String()
31452}
31453
31454// Validate inspects the fields of the type to determine if they are valid.
31455func (s *UpdateActionTargetInput) Validate() error {
31456	invalidParams := request.ErrInvalidParams{Context: "UpdateActionTargetInput"}
31457	if s.ActionTargetArn == nil {
31458		invalidParams.Add(request.NewErrParamRequired("ActionTargetArn"))
31459	}
31460	if s.ActionTargetArn != nil && len(*s.ActionTargetArn) < 1 {
31461		invalidParams.Add(request.NewErrParamMinLen("ActionTargetArn", 1))
31462	}
31463
31464	if invalidParams.Len() > 0 {
31465		return invalidParams
31466	}
31467	return nil
31468}
31469
31470// SetActionTargetArn sets the ActionTargetArn field's value.
31471func (s *UpdateActionTargetInput) SetActionTargetArn(v string) *UpdateActionTargetInput {
31472	s.ActionTargetArn = &v
31473	return s
31474}
31475
31476// SetDescription sets the Description field's value.
31477func (s *UpdateActionTargetInput) SetDescription(v string) *UpdateActionTargetInput {
31478	s.Description = &v
31479	return s
31480}
31481
31482// SetName sets the Name field's value.
31483func (s *UpdateActionTargetInput) SetName(v string) *UpdateActionTargetInput {
31484	s.Name = &v
31485	return s
31486}
31487
31488type UpdateActionTargetOutput struct {
31489	_ struct{} `type:"structure"`
31490}
31491
31492// String returns the string representation
31493func (s UpdateActionTargetOutput) String() string {
31494	return awsutil.Prettify(s)
31495}
31496
31497// GoString returns the string representation
31498func (s UpdateActionTargetOutput) GoString() string {
31499	return s.String()
31500}
31501
31502type UpdateFindingsInput struct {
31503	_ struct{} `type:"structure"`
31504
31505	// A collection of attributes that specify which findings you want to update.
31506	//
31507	// Filters is a required field
31508	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
31509
31510	// The updated note for the finding.
31511	Note *NoteUpdate `type:"structure"`
31512
31513	// The updated record state for the finding.
31514	RecordState *string `type:"string" enum:"RecordState"`
31515}
31516
31517// String returns the string representation
31518func (s UpdateFindingsInput) String() string {
31519	return awsutil.Prettify(s)
31520}
31521
31522// GoString returns the string representation
31523func (s UpdateFindingsInput) GoString() string {
31524	return s.String()
31525}
31526
31527// Validate inspects the fields of the type to determine if they are valid.
31528func (s *UpdateFindingsInput) Validate() error {
31529	invalidParams := request.ErrInvalidParams{Context: "UpdateFindingsInput"}
31530	if s.Filters == nil {
31531		invalidParams.Add(request.NewErrParamRequired("Filters"))
31532	}
31533	if s.Note != nil {
31534		if err := s.Note.Validate(); err != nil {
31535			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
31536		}
31537	}
31538
31539	if invalidParams.Len() > 0 {
31540		return invalidParams
31541	}
31542	return nil
31543}
31544
31545// SetFilters sets the Filters field's value.
31546func (s *UpdateFindingsInput) SetFilters(v *AwsSecurityFindingFilters) *UpdateFindingsInput {
31547	s.Filters = v
31548	return s
31549}
31550
31551// SetNote sets the Note field's value.
31552func (s *UpdateFindingsInput) SetNote(v *NoteUpdate) *UpdateFindingsInput {
31553	s.Note = v
31554	return s
31555}
31556
31557// SetRecordState sets the RecordState field's value.
31558func (s *UpdateFindingsInput) SetRecordState(v string) *UpdateFindingsInput {
31559	s.RecordState = &v
31560	return s
31561}
31562
31563type UpdateFindingsOutput struct {
31564	_ struct{} `type:"structure"`
31565}
31566
31567// String returns the string representation
31568func (s UpdateFindingsOutput) String() string {
31569	return awsutil.Prettify(s)
31570}
31571
31572// GoString returns the string representation
31573func (s UpdateFindingsOutput) GoString() string {
31574	return s.String()
31575}
31576
31577type UpdateInsightInput struct {
31578	_ struct{} `type:"structure"`
31579
31580	// The updated filters that define this insight.
31581	Filters *AwsSecurityFindingFilters `type:"structure"`
31582
31583	// The updated GroupBy attribute that defines this insight.
31584	GroupByAttribute *string `type:"string"`
31585
31586	// The ARN of the insight that you want to update.
31587	//
31588	// InsightArn is a required field
31589	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
31590
31591	// The updated name for the insight.
31592	Name *string `type:"string"`
31593}
31594
31595// String returns the string representation
31596func (s UpdateInsightInput) String() string {
31597	return awsutil.Prettify(s)
31598}
31599
31600// GoString returns the string representation
31601func (s UpdateInsightInput) GoString() string {
31602	return s.String()
31603}
31604
31605// Validate inspects the fields of the type to determine if they are valid.
31606func (s *UpdateInsightInput) Validate() error {
31607	invalidParams := request.ErrInvalidParams{Context: "UpdateInsightInput"}
31608	if s.InsightArn == nil {
31609		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
31610	}
31611	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
31612		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
31613	}
31614
31615	if invalidParams.Len() > 0 {
31616		return invalidParams
31617	}
31618	return nil
31619}
31620
31621// SetFilters sets the Filters field's value.
31622func (s *UpdateInsightInput) SetFilters(v *AwsSecurityFindingFilters) *UpdateInsightInput {
31623	s.Filters = v
31624	return s
31625}
31626
31627// SetGroupByAttribute sets the GroupByAttribute field's value.
31628func (s *UpdateInsightInput) SetGroupByAttribute(v string) *UpdateInsightInput {
31629	s.GroupByAttribute = &v
31630	return s
31631}
31632
31633// SetInsightArn sets the InsightArn field's value.
31634func (s *UpdateInsightInput) SetInsightArn(v string) *UpdateInsightInput {
31635	s.InsightArn = &v
31636	return s
31637}
31638
31639// SetName sets the Name field's value.
31640func (s *UpdateInsightInput) SetName(v string) *UpdateInsightInput {
31641	s.Name = &v
31642	return s
31643}
31644
31645type UpdateInsightOutput struct {
31646	_ struct{} `type:"structure"`
31647}
31648
31649// String returns the string representation
31650func (s UpdateInsightOutput) String() string {
31651	return awsutil.Prettify(s)
31652}
31653
31654// GoString returns the string representation
31655func (s UpdateInsightOutput) GoString() string {
31656	return s.String()
31657}
31658
31659type UpdateOrganizationConfigurationInput struct {
31660	_ struct{} `type:"structure"`
31661
31662	// Whether to automatically enable Security Hub for new accounts in the organization.
31663	//
31664	// By default, this is false, and new accounts are not added automatically.
31665	//
31666	// To automatically enable Security Hub for new accounts, set this to true.
31667	//
31668	// AutoEnable is a required field
31669	AutoEnable *bool `type:"boolean" required:"true"`
31670}
31671
31672// String returns the string representation
31673func (s UpdateOrganizationConfigurationInput) String() string {
31674	return awsutil.Prettify(s)
31675}
31676
31677// GoString returns the string representation
31678func (s UpdateOrganizationConfigurationInput) GoString() string {
31679	return s.String()
31680}
31681
31682// Validate inspects the fields of the type to determine if they are valid.
31683func (s *UpdateOrganizationConfigurationInput) Validate() error {
31684	invalidParams := request.ErrInvalidParams{Context: "UpdateOrganizationConfigurationInput"}
31685	if s.AutoEnable == nil {
31686		invalidParams.Add(request.NewErrParamRequired("AutoEnable"))
31687	}
31688
31689	if invalidParams.Len() > 0 {
31690		return invalidParams
31691	}
31692	return nil
31693}
31694
31695// SetAutoEnable sets the AutoEnable field's value.
31696func (s *UpdateOrganizationConfigurationInput) SetAutoEnable(v bool) *UpdateOrganizationConfigurationInput {
31697	s.AutoEnable = &v
31698	return s
31699}
31700
31701type UpdateOrganizationConfigurationOutput struct {
31702	_ struct{} `type:"structure"`
31703}
31704
31705// String returns the string representation
31706func (s UpdateOrganizationConfigurationOutput) String() string {
31707	return awsutil.Prettify(s)
31708}
31709
31710// GoString returns the string representation
31711func (s UpdateOrganizationConfigurationOutput) GoString() string {
31712	return s.String()
31713}
31714
31715type UpdateSecurityHubConfigurationInput struct {
31716	_ struct{} `type:"structure"`
31717
31718	// Whether to automatically enable new controls when they are added to standards
31719	// that are enabled.
31720	//
31721	// By default, this is set to true, and new controls are enabled automatically.
31722	// To not automatically enable new controls, set this to false.
31723	AutoEnableControls *bool `type:"boolean"`
31724}
31725
31726// String returns the string representation
31727func (s UpdateSecurityHubConfigurationInput) String() string {
31728	return awsutil.Prettify(s)
31729}
31730
31731// GoString returns the string representation
31732func (s UpdateSecurityHubConfigurationInput) GoString() string {
31733	return s.String()
31734}
31735
31736// SetAutoEnableControls sets the AutoEnableControls field's value.
31737func (s *UpdateSecurityHubConfigurationInput) SetAutoEnableControls(v bool) *UpdateSecurityHubConfigurationInput {
31738	s.AutoEnableControls = &v
31739	return s
31740}
31741
31742type UpdateSecurityHubConfigurationOutput struct {
31743	_ struct{} `type:"structure"`
31744}
31745
31746// String returns the string representation
31747func (s UpdateSecurityHubConfigurationOutput) String() string {
31748	return awsutil.Prettify(s)
31749}
31750
31751// GoString returns the string representation
31752func (s UpdateSecurityHubConfigurationOutput) GoString() string {
31753	return s.String()
31754}
31755
31756type UpdateStandardsControlInput struct {
31757	_ struct{} `type:"structure"`
31758
31759	// The updated status of the security standard control.
31760	ControlStatus *string `type:"string" enum:"ControlStatus"`
31761
31762	// A description of the reason why you are disabling a security standard control.
31763	// If you are disabling a control, then this is required.
31764	DisabledReason *string `type:"string"`
31765
31766	// The ARN of the security standard control to enable or disable.
31767	//
31768	// StandardsControlArn is a required field
31769	StandardsControlArn *string `location:"uri" locationName:"StandardsControlArn" type:"string" required:"true"`
31770}
31771
31772// String returns the string representation
31773func (s UpdateStandardsControlInput) String() string {
31774	return awsutil.Prettify(s)
31775}
31776
31777// GoString returns the string representation
31778func (s UpdateStandardsControlInput) GoString() string {
31779	return s.String()
31780}
31781
31782// Validate inspects the fields of the type to determine if they are valid.
31783func (s *UpdateStandardsControlInput) Validate() error {
31784	invalidParams := request.ErrInvalidParams{Context: "UpdateStandardsControlInput"}
31785	if s.StandardsControlArn == nil {
31786		invalidParams.Add(request.NewErrParamRequired("StandardsControlArn"))
31787	}
31788	if s.StandardsControlArn != nil && len(*s.StandardsControlArn) < 1 {
31789		invalidParams.Add(request.NewErrParamMinLen("StandardsControlArn", 1))
31790	}
31791
31792	if invalidParams.Len() > 0 {
31793		return invalidParams
31794	}
31795	return nil
31796}
31797
31798// SetControlStatus sets the ControlStatus field's value.
31799func (s *UpdateStandardsControlInput) SetControlStatus(v string) *UpdateStandardsControlInput {
31800	s.ControlStatus = &v
31801	return s
31802}
31803
31804// SetDisabledReason sets the DisabledReason field's value.
31805func (s *UpdateStandardsControlInput) SetDisabledReason(v string) *UpdateStandardsControlInput {
31806	s.DisabledReason = &v
31807	return s
31808}
31809
31810// SetStandardsControlArn sets the StandardsControlArn field's value.
31811func (s *UpdateStandardsControlInput) SetStandardsControlArn(v string) *UpdateStandardsControlInput {
31812	s.StandardsControlArn = &v
31813	return s
31814}
31815
31816type UpdateStandardsControlOutput struct {
31817	_ struct{} `type:"structure"`
31818}
31819
31820// String returns the string representation
31821func (s UpdateStandardsControlOutput) String() string {
31822	return awsutil.Prettify(s)
31823}
31824
31825// GoString returns the string representation
31826func (s UpdateStandardsControlOutput) GoString() string {
31827	return s.String()
31828}
31829
31830// A vulnerability associated with a finding.
31831type Vulnerability struct {
31832	_ struct{} `type:"structure"`
31833
31834	// CVSS scores from the advisory related to the vulnerability.
31835	Cvss []*Cvss `type:"list"`
31836
31837	// The identifier of the vulnerability.
31838	//
31839	// Id is a required field
31840	Id *string `type:"string" required:"true"`
31841
31842	// A list of URLs that provide additional information about the vulnerability.
31843	ReferenceUrls []*string `type:"list"`
31844
31845	// List of vulnerabilities that are related to this vulnerability.
31846	RelatedVulnerabilities []*string `type:"list"`
31847
31848	// Information about the vendor that generates the vulnerability report.
31849	Vendor *VulnerabilityVendor `type:"structure"`
31850
31851	// List of software packages that have the vulnerability.
31852	VulnerablePackages []*SoftwarePackage `type:"list"`
31853}
31854
31855// String returns the string representation
31856func (s Vulnerability) String() string {
31857	return awsutil.Prettify(s)
31858}
31859
31860// GoString returns the string representation
31861func (s Vulnerability) GoString() string {
31862	return s.String()
31863}
31864
31865// Validate inspects the fields of the type to determine if they are valid.
31866func (s *Vulnerability) Validate() error {
31867	invalidParams := request.ErrInvalidParams{Context: "Vulnerability"}
31868	if s.Id == nil {
31869		invalidParams.Add(request.NewErrParamRequired("Id"))
31870	}
31871	if s.Vendor != nil {
31872		if err := s.Vendor.Validate(); err != nil {
31873			invalidParams.AddNested("Vendor", err.(request.ErrInvalidParams))
31874		}
31875	}
31876
31877	if invalidParams.Len() > 0 {
31878		return invalidParams
31879	}
31880	return nil
31881}
31882
31883// SetCvss sets the Cvss field's value.
31884func (s *Vulnerability) SetCvss(v []*Cvss) *Vulnerability {
31885	s.Cvss = v
31886	return s
31887}
31888
31889// SetId sets the Id field's value.
31890func (s *Vulnerability) SetId(v string) *Vulnerability {
31891	s.Id = &v
31892	return s
31893}
31894
31895// SetReferenceUrls sets the ReferenceUrls field's value.
31896func (s *Vulnerability) SetReferenceUrls(v []*string) *Vulnerability {
31897	s.ReferenceUrls = v
31898	return s
31899}
31900
31901// SetRelatedVulnerabilities sets the RelatedVulnerabilities field's value.
31902func (s *Vulnerability) SetRelatedVulnerabilities(v []*string) *Vulnerability {
31903	s.RelatedVulnerabilities = v
31904	return s
31905}
31906
31907// SetVendor sets the Vendor field's value.
31908func (s *Vulnerability) SetVendor(v *VulnerabilityVendor) *Vulnerability {
31909	s.Vendor = v
31910	return s
31911}
31912
31913// SetVulnerablePackages sets the VulnerablePackages field's value.
31914func (s *Vulnerability) SetVulnerablePackages(v []*SoftwarePackage) *Vulnerability {
31915	s.VulnerablePackages = v
31916	return s
31917}
31918
31919// A vendor that generates a vulnerability report.
31920type VulnerabilityVendor struct {
31921	_ struct{} `type:"structure"`
31922
31923	// The name of the vendor.
31924	//
31925	// Name is a required field
31926	Name *string `type:"string" required:"true"`
31927
31928	// The URL of the vulnerability advisory.
31929	Url *string `type:"string"`
31930
31931	// Indicates when the vulnerability advisory was created.
31932	//
31933	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
31934	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
31935	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
31936	VendorCreatedAt *string `type:"string"`
31937
31938	// The severity that the vendor assigned to the vulnerability.
31939	VendorSeverity *string `type:"string"`
31940
31941	// Indicates when the vulnerability advisory was last updated.
31942	//
31943	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
31944	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
31945	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
31946	VendorUpdatedAt *string `type:"string"`
31947}
31948
31949// String returns the string representation
31950func (s VulnerabilityVendor) String() string {
31951	return awsutil.Prettify(s)
31952}
31953
31954// GoString returns the string representation
31955func (s VulnerabilityVendor) GoString() string {
31956	return s.String()
31957}
31958
31959// Validate inspects the fields of the type to determine if they are valid.
31960func (s *VulnerabilityVendor) Validate() error {
31961	invalidParams := request.ErrInvalidParams{Context: "VulnerabilityVendor"}
31962	if s.Name == nil {
31963		invalidParams.Add(request.NewErrParamRequired("Name"))
31964	}
31965
31966	if invalidParams.Len() > 0 {
31967		return invalidParams
31968	}
31969	return nil
31970}
31971
31972// SetName sets the Name field's value.
31973func (s *VulnerabilityVendor) SetName(v string) *VulnerabilityVendor {
31974	s.Name = &v
31975	return s
31976}
31977
31978// SetUrl sets the Url field's value.
31979func (s *VulnerabilityVendor) SetUrl(v string) *VulnerabilityVendor {
31980	s.Url = &v
31981	return s
31982}
31983
31984// SetVendorCreatedAt sets the VendorCreatedAt field's value.
31985func (s *VulnerabilityVendor) SetVendorCreatedAt(v string) *VulnerabilityVendor {
31986	s.VendorCreatedAt = &v
31987	return s
31988}
31989
31990// SetVendorSeverity sets the VendorSeverity field's value.
31991func (s *VulnerabilityVendor) SetVendorSeverity(v string) *VulnerabilityVendor {
31992	s.VendorSeverity = &v
31993	return s
31994}
31995
31996// SetVendorUpdatedAt sets the VendorUpdatedAt field's value.
31997func (s *VulnerabilityVendor) SetVendorUpdatedAt(v string) *VulnerabilityVendor {
31998	s.VendorUpdatedAt = &v
31999	return s
32000}
32001
32002// Details about the action that CloudFront or WAF takes when a web request
32003// matches the conditions in the rule.
32004type WafAction struct {
32005	_ struct{} `type:"structure"`
32006
32007	// Specifies how you want WAF to respond to requests that match the settings
32008	// in a rule.
32009	//
32010	// Valid settings include the following:
32011	//
32012	//    * ALLOW - WAF allows requests
32013	//
32014	//    * BLOCK - WAF blocks requests
32015	//
32016	//    * COUNT - WAF increments a counter of the requests that match all of the
32017	//    conditions in the rule. WAF then continues to inspect the web request
32018	//    based on the remaining rules in the web ACL. You can't specify COUNT for
32019	//    the default action for a WebACL.
32020	Type *string `type:"string"`
32021}
32022
32023// String returns the string representation
32024func (s WafAction) String() string {
32025	return awsutil.Prettify(s)
32026}
32027
32028// GoString returns the string representation
32029func (s WafAction) GoString() string {
32030	return s.String()
32031}
32032
32033// SetType sets the Type field's value.
32034func (s *WafAction) SetType(v string) *WafAction {
32035	s.Type = &v
32036	return s
32037}
32038
32039// Details about a rule to exclude from a rule group.
32040type WafExcludedRule struct {
32041	_ struct{} `type:"structure"`
32042
32043	// The unique identifier for the rule to exclude from the rule group.
32044	RuleId *string `type:"string"`
32045}
32046
32047// String returns the string representation
32048func (s WafExcludedRule) String() string {
32049	return awsutil.Prettify(s)
32050}
32051
32052// GoString returns the string representation
32053func (s WafExcludedRule) GoString() string {
32054	return s.String()
32055}
32056
32057// SetRuleId sets the RuleId field's value.
32058func (s *WafExcludedRule) SetRuleId(v string) *WafExcludedRule {
32059	s.RuleId = &v
32060	return s
32061}
32062
32063// Details about an override action for a rule.
32064type WafOverrideAction struct {
32065	_ struct{} `type:"structure"`
32066
32067	// COUNT overrides the action specified by the individual rule within a RuleGroup .
32068	//
32069	// If set to NONE, the rule's action takes place.
32070	Type *string `type:"string"`
32071}
32072
32073// String returns the string representation
32074func (s WafOverrideAction) String() string {
32075	return awsutil.Prettify(s)
32076}
32077
32078// GoString returns the string representation
32079func (s WafOverrideAction) GoString() string {
32080	return s.String()
32081}
32082
32083// SetType sets the Type field's value.
32084func (s *WafOverrideAction) SetType(v string) *WafOverrideAction {
32085	s.Type = &v
32086	return s
32087}
32088
32089// Provides information about the status of the investigation into a finding.
32090type Workflow struct {
32091	_ struct{} `type:"structure"`
32092
32093	// The status of the investigation into the finding. The allowed values are
32094	// the following.
32095	//
32096	//    * NEW - The initial state of a finding, before it is reviewed. Security
32097	//    Hub also resets the workflow status from NOTIFIED or RESOLVED to NEW in
32098	//    the following cases: RecordState changes from ARCHIVED to ACTIVE. ComplianceStatus
32099	//    changes from PASSED to either WARNING, FAILED, or NOT_AVAILABLE.
32100	//
32101	//    * NOTIFIED - Indicates that you notified the resource owner about the
32102	//    security issue. Used when the initial reviewer is not the resource owner,
32103	//    and needs intervention from the resource owner.
32104	//
32105	//    * SUPPRESSED - The finding will not be reviewed again and will not be
32106	//    acted upon.
32107	//
32108	//    * RESOLVED - The finding was reviewed and remediated and is now considered
32109	//    resolved.
32110	Status *string `type:"string" enum:"WorkflowStatus"`
32111}
32112
32113// String returns the string representation
32114func (s Workflow) String() string {
32115	return awsutil.Prettify(s)
32116}
32117
32118// GoString returns the string representation
32119func (s Workflow) GoString() string {
32120	return s.String()
32121}
32122
32123// SetStatus sets the Status field's value.
32124func (s *Workflow) SetStatus(v string) *Workflow {
32125	s.Status = &v
32126	return s
32127}
32128
32129// Used to update information about the investigation into the finding.
32130type WorkflowUpdate struct {
32131	_ struct{} `type:"structure"`
32132
32133	// The status of the investigation into the finding. The allowed values are
32134	// the following.
32135	//
32136	//    * NEW - The initial state of a finding, before it is reviewed. Security
32137	//    Hub also resets WorkFlowStatus from NOTIFIED or RESOLVED to NEW in the
32138	//    following cases: The record state changes from ARCHIVED to ACTIVE. The
32139	//    compliance status changes from PASSED to either WARNING, FAILED, or NOT_AVAILABLE.
32140	//
32141	//    * NOTIFIED - Indicates that you notified the resource owner about the
32142	//    security issue. Used when the initial reviewer is not the resource owner,
32143	//    and needs intervention from the resource owner.
32144	//
32145	//    * RESOLVED - The finding was reviewed and remediated and is now considered
32146	//    resolved.
32147	//
32148	//    * SUPPRESSED - The finding will not be reviewed again and will not be
32149	//    acted upon.
32150	Status *string `type:"string" enum:"WorkflowStatus"`
32151}
32152
32153// String returns the string representation
32154func (s WorkflowUpdate) String() string {
32155	return awsutil.Prettify(s)
32156}
32157
32158// GoString returns the string representation
32159func (s WorkflowUpdate) GoString() string {
32160	return s.String()
32161}
32162
32163// SetStatus sets the Status field's value.
32164func (s *WorkflowUpdate) SetStatus(v string) *WorkflowUpdate {
32165	s.Status = &v
32166	return s
32167}
32168
32169const (
32170	// AdminStatusEnabled is a AdminStatus enum value
32171	AdminStatusEnabled = "ENABLED"
32172
32173	// AdminStatusDisableInProgress is a AdminStatus enum value
32174	AdminStatusDisableInProgress = "DISABLE_IN_PROGRESS"
32175)
32176
32177// AdminStatus_Values returns all elements of the AdminStatus enum
32178func AdminStatus_Values() []string {
32179	return []string{
32180		AdminStatusEnabled,
32181		AdminStatusDisableInProgress,
32182	}
32183}
32184
32185const (
32186	// AwsIamAccessKeyStatusActive is a AwsIamAccessKeyStatus enum value
32187	AwsIamAccessKeyStatusActive = "Active"
32188
32189	// AwsIamAccessKeyStatusInactive is a AwsIamAccessKeyStatus enum value
32190	AwsIamAccessKeyStatusInactive = "Inactive"
32191)
32192
32193// AwsIamAccessKeyStatus_Values returns all elements of the AwsIamAccessKeyStatus enum
32194func AwsIamAccessKeyStatus_Values() []string {
32195	return []string{
32196		AwsIamAccessKeyStatusActive,
32197		AwsIamAccessKeyStatusInactive,
32198	}
32199}
32200
32201const (
32202	// ComplianceStatusPassed is a ComplianceStatus enum value
32203	ComplianceStatusPassed = "PASSED"
32204
32205	// ComplianceStatusWarning is a ComplianceStatus enum value
32206	ComplianceStatusWarning = "WARNING"
32207
32208	// ComplianceStatusFailed is a ComplianceStatus enum value
32209	ComplianceStatusFailed = "FAILED"
32210
32211	// ComplianceStatusNotAvailable is a ComplianceStatus enum value
32212	ComplianceStatusNotAvailable = "NOT_AVAILABLE"
32213)
32214
32215// ComplianceStatus_Values returns all elements of the ComplianceStatus enum
32216func ComplianceStatus_Values() []string {
32217	return []string{
32218		ComplianceStatusPassed,
32219		ComplianceStatusWarning,
32220		ComplianceStatusFailed,
32221		ComplianceStatusNotAvailable,
32222	}
32223}
32224
32225const (
32226	// ControlStatusEnabled is a ControlStatus enum value
32227	ControlStatusEnabled = "ENABLED"
32228
32229	// ControlStatusDisabled is a ControlStatus enum value
32230	ControlStatusDisabled = "DISABLED"
32231)
32232
32233// ControlStatus_Values returns all elements of the ControlStatus enum
32234func ControlStatus_Values() []string {
32235	return []string{
32236		ControlStatusEnabled,
32237		ControlStatusDisabled,
32238	}
32239}
32240
32241const (
32242	// DateRangeUnitDays is a DateRangeUnit enum value
32243	DateRangeUnitDays = "DAYS"
32244)
32245
32246// DateRangeUnit_Values returns all elements of the DateRangeUnit enum
32247func DateRangeUnit_Values() []string {
32248	return []string{
32249		DateRangeUnitDays,
32250	}
32251}
32252
32253const (
32254	// IntegrationTypeSendFindingsToSecurityHub is a IntegrationType enum value
32255	IntegrationTypeSendFindingsToSecurityHub = "SEND_FINDINGS_TO_SECURITY_HUB"
32256
32257	// IntegrationTypeReceiveFindingsFromSecurityHub is a IntegrationType enum value
32258	IntegrationTypeReceiveFindingsFromSecurityHub = "RECEIVE_FINDINGS_FROM_SECURITY_HUB"
32259
32260	// IntegrationTypeUpdateFindingsInSecurityHub is a IntegrationType enum value
32261	IntegrationTypeUpdateFindingsInSecurityHub = "UPDATE_FINDINGS_IN_SECURITY_HUB"
32262)
32263
32264// IntegrationType_Values returns all elements of the IntegrationType enum
32265func IntegrationType_Values() []string {
32266	return []string{
32267		IntegrationTypeSendFindingsToSecurityHub,
32268		IntegrationTypeReceiveFindingsFromSecurityHub,
32269		IntegrationTypeUpdateFindingsInSecurityHub,
32270	}
32271}
32272
32273const (
32274	// MalwareStateObserved is a MalwareState enum value
32275	MalwareStateObserved = "OBSERVED"
32276
32277	// MalwareStateRemovalFailed is a MalwareState enum value
32278	MalwareStateRemovalFailed = "REMOVAL_FAILED"
32279
32280	// MalwareStateRemoved is a MalwareState enum value
32281	MalwareStateRemoved = "REMOVED"
32282)
32283
32284// MalwareState_Values returns all elements of the MalwareState enum
32285func MalwareState_Values() []string {
32286	return []string{
32287		MalwareStateObserved,
32288		MalwareStateRemovalFailed,
32289		MalwareStateRemoved,
32290	}
32291}
32292
32293const (
32294	// MalwareTypeAdware is a MalwareType enum value
32295	MalwareTypeAdware = "ADWARE"
32296
32297	// MalwareTypeBlendedThreat is a MalwareType enum value
32298	MalwareTypeBlendedThreat = "BLENDED_THREAT"
32299
32300	// MalwareTypeBotnetAgent is a MalwareType enum value
32301	MalwareTypeBotnetAgent = "BOTNET_AGENT"
32302
32303	// MalwareTypeCoinMiner is a MalwareType enum value
32304	MalwareTypeCoinMiner = "COIN_MINER"
32305
32306	// MalwareTypeExploitKit is a MalwareType enum value
32307	MalwareTypeExploitKit = "EXPLOIT_KIT"
32308
32309	// MalwareTypeKeylogger is a MalwareType enum value
32310	MalwareTypeKeylogger = "KEYLOGGER"
32311
32312	// MalwareTypeMacro is a MalwareType enum value
32313	MalwareTypeMacro = "MACRO"
32314
32315	// MalwareTypePotentiallyUnwanted is a MalwareType enum value
32316	MalwareTypePotentiallyUnwanted = "POTENTIALLY_UNWANTED"
32317
32318	// MalwareTypeSpyware is a MalwareType enum value
32319	MalwareTypeSpyware = "SPYWARE"
32320
32321	// MalwareTypeRansomware is a MalwareType enum value
32322	MalwareTypeRansomware = "RANSOMWARE"
32323
32324	// MalwareTypeRemoteAccess is a MalwareType enum value
32325	MalwareTypeRemoteAccess = "REMOTE_ACCESS"
32326
32327	// MalwareTypeRootkit is a MalwareType enum value
32328	MalwareTypeRootkit = "ROOTKIT"
32329
32330	// MalwareTypeTrojan is a MalwareType enum value
32331	MalwareTypeTrojan = "TROJAN"
32332
32333	// MalwareTypeVirus is a MalwareType enum value
32334	MalwareTypeVirus = "VIRUS"
32335
32336	// MalwareTypeWorm is a MalwareType enum value
32337	MalwareTypeWorm = "WORM"
32338)
32339
32340// MalwareType_Values returns all elements of the MalwareType enum
32341func MalwareType_Values() []string {
32342	return []string{
32343		MalwareTypeAdware,
32344		MalwareTypeBlendedThreat,
32345		MalwareTypeBotnetAgent,
32346		MalwareTypeCoinMiner,
32347		MalwareTypeExploitKit,
32348		MalwareTypeKeylogger,
32349		MalwareTypeMacro,
32350		MalwareTypePotentiallyUnwanted,
32351		MalwareTypeSpyware,
32352		MalwareTypeRansomware,
32353		MalwareTypeRemoteAccess,
32354		MalwareTypeRootkit,
32355		MalwareTypeTrojan,
32356		MalwareTypeVirus,
32357		MalwareTypeWorm,
32358	}
32359}
32360
32361const (
32362	// MapFilterComparisonEquals is a MapFilterComparison enum value
32363	MapFilterComparisonEquals = "EQUALS"
32364
32365	// MapFilterComparisonNotEquals is a MapFilterComparison enum value
32366	MapFilterComparisonNotEquals = "NOT_EQUALS"
32367)
32368
32369// MapFilterComparison_Values returns all elements of the MapFilterComparison enum
32370func MapFilterComparison_Values() []string {
32371	return []string{
32372		MapFilterComparisonEquals,
32373		MapFilterComparisonNotEquals,
32374	}
32375}
32376
32377const (
32378	// NetworkDirectionIn is a NetworkDirection enum value
32379	NetworkDirectionIn = "IN"
32380
32381	// NetworkDirectionOut is a NetworkDirection enum value
32382	NetworkDirectionOut = "OUT"
32383)
32384
32385// NetworkDirection_Values returns all elements of the NetworkDirection enum
32386func NetworkDirection_Values() []string {
32387	return []string{
32388		NetworkDirectionIn,
32389		NetworkDirectionOut,
32390	}
32391}
32392
32393const (
32394	// PartitionAws is a Partition enum value
32395	PartitionAws = "aws"
32396
32397	// PartitionAwsCn is a Partition enum value
32398	PartitionAwsCn = "aws-cn"
32399
32400	// PartitionAwsUsGov is a Partition enum value
32401	PartitionAwsUsGov = "aws-us-gov"
32402)
32403
32404// Partition_Values returns all elements of the Partition enum
32405func Partition_Values() []string {
32406	return []string{
32407		PartitionAws,
32408		PartitionAwsCn,
32409		PartitionAwsUsGov,
32410	}
32411}
32412
32413const (
32414	// RecordStateActive is a RecordState enum value
32415	RecordStateActive = "ACTIVE"
32416
32417	// RecordStateArchived is a RecordState enum value
32418	RecordStateArchived = "ARCHIVED"
32419)
32420
32421// RecordState_Values returns all elements of the RecordState enum
32422func RecordState_Values() []string {
32423	return []string{
32424		RecordStateActive,
32425		RecordStateArchived,
32426	}
32427}
32428
32429const (
32430	// SeverityLabelInformational is a SeverityLabel enum value
32431	SeverityLabelInformational = "INFORMATIONAL"
32432
32433	// SeverityLabelLow is a SeverityLabel enum value
32434	SeverityLabelLow = "LOW"
32435
32436	// SeverityLabelMedium is a SeverityLabel enum value
32437	SeverityLabelMedium = "MEDIUM"
32438
32439	// SeverityLabelHigh is a SeverityLabel enum value
32440	SeverityLabelHigh = "HIGH"
32441
32442	// SeverityLabelCritical is a SeverityLabel enum value
32443	SeverityLabelCritical = "CRITICAL"
32444)
32445
32446// SeverityLabel_Values returns all elements of the SeverityLabel enum
32447func SeverityLabel_Values() []string {
32448	return []string{
32449		SeverityLabelInformational,
32450		SeverityLabelLow,
32451		SeverityLabelMedium,
32452		SeverityLabelHigh,
32453		SeverityLabelCritical,
32454	}
32455}
32456
32457const (
32458	// SeverityRatingLow is a SeverityRating enum value
32459	SeverityRatingLow = "LOW"
32460
32461	// SeverityRatingMedium is a SeverityRating enum value
32462	SeverityRatingMedium = "MEDIUM"
32463
32464	// SeverityRatingHigh is a SeverityRating enum value
32465	SeverityRatingHigh = "HIGH"
32466
32467	// SeverityRatingCritical is a SeverityRating enum value
32468	SeverityRatingCritical = "CRITICAL"
32469)
32470
32471// SeverityRating_Values returns all elements of the SeverityRating enum
32472func SeverityRating_Values() []string {
32473	return []string{
32474		SeverityRatingLow,
32475		SeverityRatingMedium,
32476		SeverityRatingHigh,
32477		SeverityRatingCritical,
32478	}
32479}
32480
32481const (
32482	// SortOrderAsc is a SortOrder enum value
32483	SortOrderAsc = "asc"
32484
32485	// SortOrderDesc is a SortOrder enum value
32486	SortOrderDesc = "desc"
32487)
32488
32489// SortOrder_Values returns all elements of the SortOrder enum
32490func SortOrder_Values() []string {
32491	return []string{
32492		SortOrderAsc,
32493		SortOrderDesc,
32494	}
32495}
32496
32497const (
32498	// StandardsStatusPending is a StandardsStatus enum value
32499	StandardsStatusPending = "PENDING"
32500
32501	// StandardsStatusReady is a StandardsStatus enum value
32502	StandardsStatusReady = "READY"
32503
32504	// StandardsStatusFailed is a StandardsStatus enum value
32505	StandardsStatusFailed = "FAILED"
32506
32507	// StandardsStatusDeleting is a StandardsStatus enum value
32508	StandardsStatusDeleting = "DELETING"
32509
32510	// StandardsStatusIncomplete is a StandardsStatus enum value
32511	StandardsStatusIncomplete = "INCOMPLETE"
32512)
32513
32514// StandardsStatus_Values returns all elements of the StandardsStatus enum
32515func StandardsStatus_Values() []string {
32516	return []string{
32517		StandardsStatusPending,
32518		StandardsStatusReady,
32519		StandardsStatusFailed,
32520		StandardsStatusDeleting,
32521		StandardsStatusIncomplete,
32522	}
32523}
32524
32525const (
32526	// StringFilterComparisonEquals is a StringFilterComparison enum value
32527	StringFilterComparisonEquals = "EQUALS"
32528
32529	// StringFilterComparisonPrefix is a StringFilterComparison enum value
32530	StringFilterComparisonPrefix = "PREFIX"
32531
32532	// StringFilterComparisonNotEquals is a StringFilterComparison enum value
32533	StringFilterComparisonNotEquals = "NOT_EQUALS"
32534
32535	// StringFilterComparisonPrefixNotEquals is a StringFilterComparison enum value
32536	StringFilterComparisonPrefixNotEquals = "PREFIX_NOT_EQUALS"
32537)
32538
32539// StringFilterComparison_Values returns all elements of the StringFilterComparison enum
32540func StringFilterComparison_Values() []string {
32541	return []string{
32542		StringFilterComparisonEquals,
32543		StringFilterComparisonPrefix,
32544		StringFilterComparisonNotEquals,
32545		StringFilterComparisonPrefixNotEquals,
32546	}
32547}
32548
32549const (
32550	// ThreatIntelIndicatorCategoryBackdoor is a ThreatIntelIndicatorCategory enum value
32551	ThreatIntelIndicatorCategoryBackdoor = "BACKDOOR"
32552
32553	// ThreatIntelIndicatorCategoryCardStealer is a ThreatIntelIndicatorCategory enum value
32554	ThreatIntelIndicatorCategoryCardStealer = "CARD_STEALER"
32555
32556	// ThreatIntelIndicatorCategoryCommandAndControl is a ThreatIntelIndicatorCategory enum value
32557	ThreatIntelIndicatorCategoryCommandAndControl = "COMMAND_AND_CONTROL"
32558
32559	// ThreatIntelIndicatorCategoryDropSite is a ThreatIntelIndicatorCategory enum value
32560	ThreatIntelIndicatorCategoryDropSite = "DROP_SITE"
32561
32562	// ThreatIntelIndicatorCategoryExploitSite is a ThreatIntelIndicatorCategory enum value
32563	ThreatIntelIndicatorCategoryExploitSite = "EXPLOIT_SITE"
32564
32565	// ThreatIntelIndicatorCategoryKeylogger is a ThreatIntelIndicatorCategory enum value
32566	ThreatIntelIndicatorCategoryKeylogger = "KEYLOGGER"
32567)
32568
32569// ThreatIntelIndicatorCategory_Values returns all elements of the ThreatIntelIndicatorCategory enum
32570func ThreatIntelIndicatorCategory_Values() []string {
32571	return []string{
32572		ThreatIntelIndicatorCategoryBackdoor,
32573		ThreatIntelIndicatorCategoryCardStealer,
32574		ThreatIntelIndicatorCategoryCommandAndControl,
32575		ThreatIntelIndicatorCategoryDropSite,
32576		ThreatIntelIndicatorCategoryExploitSite,
32577		ThreatIntelIndicatorCategoryKeylogger,
32578	}
32579}
32580
32581const (
32582	// ThreatIntelIndicatorTypeDomain is a ThreatIntelIndicatorType enum value
32583	ThreatIntelIndicatorTypeDomain = "DOMAIN"
32584
32585	// ThreatIntelIndicatorTypeEmailAddress is a ThreatIntelIndicatorType enum value
32586	ThreatIntelIndicatorTypeEmailAddress = "EMAIL_ADDRESS"
32587
32588	// ThreatIntelIndicatorTypeHashMd5 is a ThreatIntelIndicatorType enum value
32589	ThreatIntelIndicatorTypeHashMd5 = "HASH_MD5"
32590
32591	// ThreatIntelIndicatorTypeHashSha1 is a ThreatIntelIndicatorType enum value
32592	ThreatIntelIndicatorTypeHashSha1 = "HASH_SHA1"
32593
32594	// ThreatIntelIndicatorTypeHashSha256 is a ThreatIntelIndicatorType enum value
32595	ThreatIntelIndicatorTypeHashSha256 = "HASH_SHA256"
32596
32597	// ThreatIntelIndicatorTypeHashSha512 is a ThreatIntelIndicatorType enum value
32598	ThreatIntelIndicatorTypeHashSha512 = "HASH_SHA512"
32599
32600	// ThreatIntelIndicatorTypeIpv4Address is a ThreatIntelIndicatorType enum value
32601	ThreatIntelIndicatorTypeIpv4Address = "IPV4_ADDRESS"
32602
32603	// ThreatIntelIndicatorTypeIpv6Address is a ThreatIntelIndicatorType enum value
32604	ThreatIntelIndicatorTypeIpv6Address = "IPV6_ADDRESS"
32605
32606	// ThreatIntelIndicatorTypeMutex is a ThreatIntelIndicatorType enum value
32607	ThreatIntelIndicatorTypeMutex = "MUTEX"
32608
32609	// ThreatIntelIndicatorTypeProcess is a ThreatIntelIndicatorType enum value
32610	ThreatIntelIndicatorTypeProcess = "PROCESS"
32611
32612	// ThreatIntelIndicatorTypeUrl is a ThreatIntelIndicatorType enum value
32613	ThreatIntelIndicatorTypeUrl = "URL"
32614)
32615
32616// ThreatIntelIndicatorType_Values returns all elements of the ThreatIntelIndicatorType enum
32617func ThreatIntelIndicatorType_Values() []string {
32618	return []string{
32619		ThreatIntelIndicatorTypeDomain,
32620		ThreatIntelIndicatorTypeEmailAddress,
32621		ThreatIntelIndicatorTypeHashMd5,
32622		ThreatIntelIndicatorTypeHashSha1,
32623		ThreatIntelIndicatorTypeHashSha256,
32624		ThreatIntelIndicatorTypeHashSha512,
32625		ThreatIntelIndicatorTypeIpv4Address,
32626		ThreatIntelIndicatorTypeIpv6Address,
32627		ThreatIntelIndicatorTypeMutex,
32628		ThreatIntelIndicatorTypeProcess,
32629		ThreatIntelIndicatorTypeUrl,
32630	}
32631}
32632
32633const (
32634	// VerificationStateUnknown is a VerificationState enum value
32635	VerificationStateUnknown = "UNKNOWN"
32636
32637	// VerificationStateTruePositive is a VerificationState enum value
32638	VerificationStateTruePositive = "TRUE_POSITIVE"
32639
32640	// VerificationStateFalsePositive is a VerificationState enum value
32641	VerificationStateFalsePositive = "FALSE_POSITIVE"
32642
32643	// VerificationStateBenignPositive is a VerificationState enum value
32644	VerificationStateBenignPositive = "BENIGN_POSITIVE"
32645)
32646
32647// VerificationState_Values returns all elements of the VerificationState enum
32648func VerificationState_Values() []string {
32649	return []string{
32650		VerificationStateUnknown,
32651		VerificationStateTruePositive,
32652		VerificationStateFalsePositive,
32653		VerificationStateBenignPositive,
32654	}
32655}
32656
32657const (
32658	// WorkflowStateNew is a WorkflowState enum value
32659	WorkflowStateNew = "NEW"
32660
32661	// WorkflowStateAssigned is a WorkflowState enum value
32662	WorkflowStateAssigned = "ASSIGNED"
32663
32664	// WorkflowStateInProgress is a WorkflowState enum value
32665	WorkflowStateInProgress = "IN_PROGRESS"
32666
32667	// WorkflowStateDeferred is a WorkflowState enum value
32668	WorkflowStateDeferred = "DEFERRED"
32669
32670	// WorkflowStateResolved is a WorkflowState enum value
32671	WorkflowStateResolved = "RESOLVED"
32672)
32673
32674// WorkflowState_Values returns all elements of the WorkflowState enum
32675func WorkflowState_Values() []string {
32676	return []string{
32677		WorkflowStateNew,
32678		WorkflowStateAssigned,
32679		WorkflowStateInProgress,
32680		WorkflowStateDeferred,
32681		WorkflowStateResolved,
32682	}
32683}
32684
32685const (
32686	// WorkflowStatusNew is a WorkflowStatus enum value
32687	WorkflowStatusNew = "NEW"
32688
32689	// WorkflowStatusNotified is a WorkflowStatus enum value
32690	WorkflowStatusNotified = "NOTIFIED"
32691
32692	// WorkflowStatusResolved is a WorkflowStatus enum value
32693	WorkflowStatusResolved = "RESOLVED"
32694
32695	// WorkflowStatusSuppressed is a WorkflowStatus enum value
32696	WorkflowStatusSuppressed = "SUPPRESSED"
32697)
32698
32699// WorkflowStatus_Values returns all elements of the WorkflowStatus enum
32700func WorkflowStatus_Values() []string {
32701	return []string{
32702		WorkflowStatusNew,
32703		WorkflowStatusNotified,
32704		WorkflowStatusResolved,
32705		WorkflowStatusSuppressed,
32706	}
32707}
32708