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// An adjustment to the CVSS metric.
6284type Adjustment struct {
6285	_ struct{} `type:"structure"`
6286
6287	// The metric to adjust.
6288	Metric *string `type:"string"`
6289
6290	// The reason for the adjustment.
6291	Reason *string `type:"string"`
6292}
6293
6294// String returns the string representation
6295func (s Adjustment) String() string {
6296	return awsutil.Prettify(s)
6297}
6298
6299// GoString returns the string representation
6300func (s Adjustment) GoString() string {
6301	return s.String()
6302}
6303
6304// SetMetric sets the Metric field's value.
6305func (s *Adjustment) SetMetric(v string) *Adjustment {
6306	s.Metric = &v
6307	return s
6308}
6309
6310// SetReason sets the Reason field's value.
6311func (s *Adjustment) SetReason(v string) *Adjustment {
6312	s.Reason = &v
6313	return s
6314}
6315
6316// Represents a Security Hub administrator account designated by an organization
6317// management account.
6318type AdminAccount struct {
6319	_ struct{} `type:"structure"`
6320
6321	// The Amazon Web Services account identifier of the Security Hub administrator
6322	// account.
6323	AccountId *string `type:"string"`
6324
6325	// The current status of the Security Hub administrator account. Indicates whether
6326	// the account is currently enabled as a Security Hub administrator.
6327	Status *string `type:"string" enum:"AdminStatus"`
6328}
6329
6330// String returns the string representation
6331func (s AdminAccount) String() string {
6332	return awsutil.Prettify(s)
6333}
6334
6335// GoString returns the string representation
6336func (s AdminAccount) GoString() string {
6337	return s.String()
6338}
6339
6340// SetAccountId sets the AccountId field's value.
6341func (s *AdminAccount) SetAccountId(v string) *AdminAccount {
6342	s.AccountId = &v
6343	return s
6344}
6345
6346// SetStatus sets the Status field's value.
6347func (s *AdminAccount) SetStatus(v string) *AdminAccount {
6348	s.Status = &v
6349	return s
6350}
6351
6352// Information about an Availability Zone.
6353type AvailabilityZone struct {
6354	_ struct{} `type:"structure"`
6355
6356	// The ID of the subnet. You can specify one subnet per Availability Zone.
6357	SubnetId *string `type:"string"`
6358
6359	// The name of the Availability Zone.
6360	ZoneName *string `type:"string"`
6361}
6362
6363// String returns the string representation
6364func (s AvailabilityZone) String() string {
6365	return awsutil.Prettify(s)
6366}
6367
6368// GoString returns the string representation
6369func (s AvailabilityZone) GoString() string {
6370	return s.String()
6371}
6372
6373// SetSubnetId sets the SubnetId field's value.
6374func (s *AvailabilityZone) SetSubnetId(v string) *AvailabilityZone {
6375	s.SubnetId = &v
6376	return s
6377}
6378
6379// SetZoneName sets the ZoneName field's value.
6380func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
6381	s.ZoneName = &v
6382	return s
6383}
6384
6385// Provided if ActionType is AWS_API_CALL. It provides details about the API
6386// call that was detected.
6387type AwsApiCallAction struct {
6388	_ struct{} `type:"structure"`
6389
6390	// Identifies the resources that were affected by the API call.
6391	AffectedResources map[string]*string `type:"map"`
6392
6393	// The name of the API method that was issued.
6394	Api *string `type:"string"`
6395
6396	// Indicates whether the API call originated from a remote IP address (remoteip)
6397	// or from a DNS domain (domain).
6398	CallerType *string `type:"string"`
6399
6400	// Provided if CallerType is domain. Provides information about the DNS domain
6401	// that the API call originated from.
6402	DomainDetails *AwsApiCallActionDomainDetails `type:"structure"`
6403
6404	// An ISO8601-formatted timestamp that indicates when the API call was first
6405	// observed.
6406	FirstSeen *string `type:"string"`
6407
6408	// An ISO8601-formatted timestamp that indicates when the API call was most
6409	// recently observed.
6410	LastSeen *string `type:"string"`
6411
6412	// Provided if CallerType is remoteIp. Provides information about the remote
6413	// IP address that the API call originated from.
6414	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
6415
6416	// The name of the Amazon Web Services service that the API method belongs to.
6417	ServiceName *string `type:"string"`
6418}
6419
6420// String returns the string representation
6421func (s AwsApiCallAction) String() string {
6422	return awsutil.Prettify(s)
6423}
6424
6425// GoString returns the string representation
6426func (s AwsApiCallAction) GoString() string {
6427	return s.String()
6428}
6429
6430// SetAffectedResources sets the AffectedResources field's value.
6431func (s *AwsApiCallAction) SetAffectedResources(v map[string]*string) *AwsApiCallAction {
6432	s.AffectedResources = v
6433	return s
6434}
6435
6436// SetApi sets the Api field's value.
6437func (s *AwsApiCallAction) SetApi(v string) *AwsApiCallAction {
6438	s.Api = &v
6439	return s
6440}
6441
6442// SetCallerType sets the CallerType field's value.
6443func (s *AwsApiCallAction) SetCallerType(v string) *AwsApiCallAction {
6444	s.CallerType = &v
6445	return s
6446}
6447
6448// SetDomainDetails sets the DomainDetails field's value.
6449func (s *AwsApiCallAction) SetDomainDetails(v *AwsApiCallActionDomainDetails) *AwsApiCallAction {
6450	s.DomainDetails = v
6451	return s
6452}
6453
6454// SetFirstSeen sets the FirstSeen field's value.
6455func (s *AwsApiCallAction) SetFirstSeen(v string) *AwsApiCallAction {
6456	s.FirstSeen = &v
6457	return s
6458}
6459
6460// SetLastSeen sets the LastSeen field's value.
6461func (s *AwsApiCallAction) SetLastSeen(v string) *AwsApiCallAction {
6462	s.LastSeen = &v
6463	return s
6464}
6465
6466// SetRemoteIpDetails sets the RemoteIpDetails field's value.
6467func (s *AwsApiCallAction) SetRemoteIpDetails(v *ActionRemoteIpDetails) *AwsApiCallAction {
6468	s.RemoteIpDetails = v
6469	return s
6470}
6471
6472// SetServiceName sets the ServiceName field's value.
6473func (s *AwsApiCallAction) SetServiceName(v string) *AwsApiCallAction {
6474	s.ServiceName = &v
6475	return s
6476}
6477
6478// Provided if CallerType is domain. It provides information about the DNS domain
6479// that issued the API call.
6480type AwsApiCallActionDomainDetails struct {
6481	_ struct{} `type:"structure"`
6482
6483	// The name of the DNS domain that issued the API call.
6484	Domain *string `type:"string"`
6485}
6486
6487// String returns the string representation
6488func (s AwsApiCallActionDomainDetails) String() string {
6489	return awsutil.Prettify(s)
6490}
6491
6492// GoString returns the string representation
6493func (s AwsApiCallActionDomainDetails) GoString() string {
6494	return s.String()
6495}
6496
6497// SetDomain sets the Domain field's value.
6498func (s *AwsApiCallActionDomainDetails) SetDomain(v string) *AwsApiCallActionDomainDetails {
6499	s.Domain = &v
6500	return s
6501}
6502
6503// Contains information about settings for logging access for the stage.
6504type AwsApiGatewayAccessLogSettings struct {
6505	_ struct{} `type:"structure"`
6506
6507	// The ARN of the CloudWatch Logs log group that receives the access logs.
6508	DestinationArn *string `type:"string"`
6509
6510	// A single-line format of the access logs of data, as specified by selected
6511	// $context variables. The format must include at least $context.requestId.
6512	Format *string `type:"string"`
6513}
6514
6515// String returns the string representation
6516func (s AwsApiGatewayAccessLogSettings) String() string {
6517	return awsutil.Prettify(s)
6518}
6519
6520// GoString returns the string representation
6521func (s AwsApiGatewayAccessLogSettings) GoString() string {
6522	return s.String()
6523}
6524
6525// SetDestinationArn sets the DestinationArn field's value.
6526func (s *AwsApiGatewayAccessLogSettings) SetDestinationArn(v string) *AwsApiGatewayAccessLogSettings {
6527	s.DestinationArn = &v
6528	return s
6529}
6530
6531// SetFormat sets the Format field's value.
6532func (s *AwsApiGatewayAccessLogSettings) SetFormat(v string) *AwsApiGatewayAccessLogSettings {
6533	s.Format = &v
6534	return s
6535}
6536
6537// Contains information about settings for canary deployment in the stage.
6538type AwsApiGatewayCanarySettings struct {
6539	_ struct{} `type:"structure"`
6540
6541	// The deployment identifier for the canary deployment.
6542	DeploymentId *string `type:"string"`
6543
6544	// The percentage of traffic that is diverted to a canary deployment.
6545	PercentTraffic *float64 `type:"double"`
6546
6547	// Stage variables that are overridden in the canary release deployment. The
6548	// variables include new stage variables that are introduced in the canary.
6549	//
6550	// Each variable is represented as a string-to-string map between the stage
6551	// variable name and the variable value.
6552	StageVariableOverrides map[string]*string `type:"map"`
6553
6554	// Indicates whether the canary deployment uses the stage cache.
6555	UseStageCache *bool `type:"boolean"`
6556}
6557
6558// String returns the string representation
6559func (s AwsApiGatewayCanarySettings) String() string {
6560	return awsutil.Prettify(s)
6561}
6562
6563// GoString returns the string representation
6564func (s AwsApiGatewayCanarySettings) GoString() string {
6565	return s.String()
6566}
6567
6568// SetDeploymentId sets the DeploymentId field's value.
6569func (s *AwsApiGatewayCanarySettings) SetDeploymentId(v string) *AwsApiGatewayCanarySettings {
6570	s.DeploymentId = &v
6571	return s
6572}
6573
6574// SetPercentTraffic sets the PercentTraffic field's value.
6575func (s *AwsApiGatewayCanarySettings) SetPercentTraffic(v float64) *AwsApiGatewayCanarySettings {
6576	s.PercentTraffic = &v
6577	return s
6578}
6579
6580// SetStageVariableOverrides sets the StageVariableOverrides field's value.
6581func (s *AwsApiGatewayCanarySettings) SetStageVariableOverrides(v map[string]*string) *AwsApiGatewayCanarySettings {
6582	s.StageVariableOverrides = v
6583	return s
6584}
6585
6586// SetUseStageCache sets the UseStageCache field's value.
6587func (s *AwsApiGatewayCanarySettings) SetUseStageCache(v bool) *AwsApiGatewayCanarySettings {
6588	s.UseStageCache = &v
6589	return s
6590}
6591
6592// Contains information about the endpoints for the API.
6593type AwsApiGatewayEndpointConfiguration struct {
6594	_ struct{} `type:"structure"`
6595
6596	// A list of endpoint types for the REST API.
6597	//
6598	// For an edge-optimized API, the endpoint type is EDGE. For a Regional API,
6599	// the endpoint type is REGIONAL. For a private API, the endpoint type is PRIVATE.
6600	Types []*string `type:"list"`
6601}
6602
6603// String returns the string representation
6604func (s AwsApiGatewayEndpointConfiguration) String() string {
6605	return awsutil.Prettify(s)
6606}
6607
6608// GoString returns the string representation
6609func (s AwsApiGatewayEndpointConfiguration) GoString() string {
6610	return s.String()
6611}
6612
6613// SetTypes sets the Types field's value.
6614func (s *AwsApiGatewayEndpointConfiguration) SetTypes(v []*string) *AwsApiGatewayEndpointConfiguration {
6615	s.Types = v
6616	return s
6617}
6618
6619// Defines settings for a method for the stage.
6620type AwsApiGatewayMethodSettings struct {
6621	_ struct{} `type:"structure"`
6622
6623	// Indicates whether the cached responses are encrypted.
6624	CacheDataEncrypted *bool `type:"boolean"`
6625
6626	// Specifies the time to live (TTL), in seconds, for cached responses. The higher
6627	// the TTL, the longer the response is cached.
6628	CacheTtlInSeconds *int64 `type:"integer"`
6629
6630	// Indicates whether responses are cached and returned for requests. For responses
6631	// to be cached, a cache cluster must be enabled on the stage.
6632	CachingEnabled *bool `type:"boolean"`
6633
6634	// Indicates whether data trace logging is enabled for the method. Data trace
6635	// logging affects the log entries that are pushed to CloudWatch Logs.
6636	DataTraceEnabled *bool `type:"boolean"`
6637
6638	// The HTTP method. You can use an asterisk (*) as a wildcard to apply method
6639	// settings to multiple methods.
6640	HttpMethod *string `type:"string"`
6641
6642	// The logging level for this method. The logging level affects the log entries
6643	// that are pushed to CloudWatch Logs.
6644	//
6645	// If the logging level is ERROR, then the logs only include error-level entries.
6646	//
6647	// If the logging level is INFO, then the logs include both ERROR events and
6648	// extra informational events.
6649	//
6650	// Valid values: OFF | ERROR | INFO
6651	LoggingLevel *string `type:"string"`
6652
6653	// Indicates whether CloudWatch metrics are enabled for the method.
6654	MetricsEnabled *bool `type:"boolean"`
6655
6656	// Indicates whether authorization is required for a cache invalidation request.
6657	RequireAuthorizationForCacheControl *bool `type:"boolean"`
6658
6659	// The resource path for this method. Forward slashes (/) are encoded as ~1
6660	// . The initial slash must include a forward slash.
6661	//
6662	// For example, the path value /resource/subresource must be encoded as /~1resource~1subresource.
6663	//
6664	// To specify the root path, use only a slash (/). You can use an asterisk (*)
6665	// as a wildcard to apply method settings to multiple methods.
6666	ResourcePath *string `type:"string"`
6667
6668	// The throttling burst limit for the method.
6669	ThrottlingBurstLimit *int64 `type:"integer"`
6670
6671	// The throttling rate limit for the method.
6672	ThrottlingRateLimit *float64 `type:"double"`
6673
6674	// Indicates how to handle unauthorized requests for cache invalidation.
6675	//
6676	// Valid values: FAIL_WITH_403 | SUCCEED_WITH_RESPONSE_HEADER | SUCCEED_WITHOUT_RESPONSE_HEADER
6677	UnauthorizedCacheControlHeaderStrategy *string `type:"string"`
6678}
6679
6680// String returns the string representation
6681func (s AwsApiGatewayMethodSettings) String() string {
6682	return awsutil.Prettify(s)
6683}
6684
6685// GoString returns the string representation
6686func (s AwsApiGatewayMethodSettings) GoString() string {
6687	return s.String()
6688}
6689
6690// SetCacheDataEncrypted sets the CacheDataEncrypted field's value.
6691func (s *AwsApiGatewayMethodSettings) SetCacheDataEncrypted(v bool) *AwsApiGatewayMethodSettings {
6692	s.CacheDataEncrypted = &v
6693	return s
6694}
6695
6696// SetCacheTtlInSeconds sets the CacheTtlInSeconds field's value.
6697func (s *AwsApiGatewayMethodSettings) SetCacheTtlInSeconds(v int64) *AwsApiGatewayMethodSettings {
6698	s.CacheTtlInSeconds = &v
6699	return s
6700}
6701
6702// SetCachingEnabled sets the CachingEnabled field's value.
6703func (s *AwsApiGatewayMethodSettings) SetCachingEnabled(v bool) *AwsApiGatewayMethodSettings {
6704	s.CachingEnabled = &v
6705	return s
6706}
6707
6708// SetDataTraceEnabled sets the DataTraceEnabled field's value.
6709func (s *AwsApiGatewayMethodSettings) SetDataTraceEnabled(v bool) *AwsApiGatewayMethodSettings {
6710	s.DataTraceEnabled = &v
6711	return s
6712}
6713
6714// SetHttpMethod sets the HttpMethod field's value.
6715func (s *AwsApiGatewayMethodSettings) SetHttpMethod(v string) *AwsApiGatewayMethodSettings {
6716	s.HttpMethod = &v
6717	return s
6718}
6719
6720// SetLoggingLevel sets the LoggingLevel field's value.
6721func (s *AwsApiGatewayMethodSettings) SetLoggingLevel(v string) *AwsApiGatewayMethodSettings {
6722	s.LoggingLevel = &v
6723	return s
6724}
6725
6726// SetMetricsEnabled sets the MetricsEnabled field's value.
6727func (s *AwsApiGatewayMethodSettings) SetMetricsEnabled(v bool) *AwsApiGatewayMethodSettings {
6728	s.MetricsEnabled = &v
6729	return s
6730}
6731
6732// SetRequireAuthorizationForCacheControl sets the RequireAuthorizationForCacheControl field's value.
6733func (s *AwsApiGatewayMethodSettings) SetRequireAuthorizationForCacheControl(v bool) *AwsApiGatewayMethodSettings {
6734	s.RequireAuthorizationForCacheControl = &v
6735	return s
6736}
6737
6738// SetResourcePath sets the ResourcePath field's value.
6739func (s *AwsApiGatewayMethodSettings) SetResourcePath(v string) *AwsApiGatewayMethodSettings {
6740	s.ResourcePath = &v
6741	return s
6742}
6743
6744// SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
6745func (s *AwsApiGatewayMethodSettings) SetThrottlingBurstLimit(v int64) *AwsApiGatewayMethodSettings {
6746	s.ThrottlingBurstLimit = &v
6747	return s
6748}
6749
6750// SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
6751func (s *AwsApiGatewayMethodSettings) SetThrottlingRateLimit(v float64) *AwsApiGatewayMethodSettings {
6752	s.ThrottlingRateLimit = &v
6753	return s
6754}
6755
6756// SetUnauthorizedCacheControlHeaderStrategy sets the UnauthorizedCacheControlHeaderStrategy field's value.
6757func (s *AwsApiGatewayMethodSettings) SetUnauthorizedCacheControlHeaderStrategy(v string) *AwsApiGatewayMethodSettings {
6758	s.UnauthorizedCacheControlHeaderStrategy = &v
6759	return s
6760}
6761
6762// Contains information about a REST API in version 1 of Amazon API Gateway.
6763type AwsApiGatewayRestApiDetails struct {
6764	_ struct{} `type:"structure"`
6765
6766	// The source of the API key for metering requests according to a usage plan.
6767	//
6768	// HEADER indicates whether to read the API key from the X-API-Key header of
6769	// a request.
6770	//
6771	// AUTHORIZER indicates whether to read the API key from the UsageIdentifierKey
6772	// from a custom authorizer.
6773	ApiKeySource *string `type:"string"`
6774
6775	// The list of binary media types supported by the REST API.
6776	BinaryMediaTypes []*string `type:"list"`
6777
6778	// Indicates when the API was created.
6779	//
6780	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6781	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6782	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6783	CreatedDate *string `type:"string"`
6784
6785	// A description of the REST API.
6786	Description *string `type:"string"`
6787
6788	// The endpoint configuration of the REST API.
6789	EndpointConfiguration *AwsApiGatewayEndpointConfiguration `type:"structure"`
6790
6791	// The identifier of the REST API.
6792	Id *string `type:"string"`
6793
6794	// The minimum size in bytes of a payload before compression is enabled.
6795	//
6796	// If null, then compression is disabled.
6797	//
6798	// If 0, then all payloads are compressed.
6799	MinimumCompressionSize *int64 `type:"integer"`
6800
6801	// The name of the REST API.
6802	Name *string `type:"string"`
6803
6804	// The version identifier for the REST API.
6805	Version *string `type:"string"`
6806}
6807
6808// String returns the string representation
6809func (s AwsApiGatewayRestApiDetails) String() string {
6810	return awsutil.Prettify(s)
6811}
6812
6813// GoString returns the string representation
6814func (s AwsApiGatewayRestApiDetails) GoString() string {
6815	return s.String()
6816}
6817
6818// SetApiKeySource sets the ApiKeySource field's value.
6819func (s *AwsApiGatewayRestApiDetails) SetApiKeySource(v string) *AwsApiGatewayRestApiDetails {
6820	s.ApiKeySource = &v
6821	return s
6822}
6823
6824// SetBinaryMediaTypes sets the BinaryMediaTypes field's value.
6825func (s *AwsApiGatewayRestApiDetails) SetBinaryMediaTypes(v []*string) *AwsApiGatewayRestApiDetails {
6826	s.BinaryMediaTypes = v
6827	return s
6828}
6829
6830// SetCreatedDate sets the CreatedDate field's value.
6831func (s *AwsApiGatewayRestApiDetails) SetCreatedDate(v string) *AwsApiGatewayRestApiDetails {
6832	s.CreatedDate = &v
6833	return s
6834}
6835
6836// SetDescription sets the Description field's value.
6837func (s *AwsApiGatewayRestApiDetails) SetDescription(v string) *AwsApiGatewayRestApiDetails {
6838	s.Description = &v
6839	return s
6840}
6841
6842// SetEndpointConfiguration sets the EndpointConfiguration field's value.
6843func (s *AwsApiGatewayRestApiDetails) SetEndpointConfiguration(v *AwsApiGatewayEndpointConfiguration) *AwsApiGatewayRestApiDetails {
6844	s.EndpointConfiguration = v
6845	return s
6846}
6847
6848// SetId sets the Id field's value.
6849func (s *AwsApiGatewayRestApiDetails) SetId(v string) *AwsApiGatewayRestApiDetails {
6850	s.Id = &v
6851	return s
6852}
6853
6854// SetMinimumCompressionSize sets the MinimumCompressionSize field's value.
6855func (s *AwsApiGatewayRestApiDetails) SetMinimumCompressionSize(v int64) *AwsApiGatewayRestApiDetails {
6856	s.MinimumCompressionSize = &v
6857	return s
6858}
6859
6860// SetName sets the Name field's value.
6861func (s *AwsApiGatewayRestApiDetails) SetName(v string) *AwsApiGatewayRestApiDetails {
6862	s.Name = &v
6863	return s
6864}
6865
6866// SetVersion sets the Version field's value.
6867func (s *AwsApiGatewayRestApiDetails) SetVersion(v string) *AwsApiGatewayRestApiDetails {
6868	s.Version = &v
6869	return s
6870}
6871
6872// Provides information about a version 1 Amazon API Gateway stage.
6873type AwsApiGatewayStageDetails struct {
6874	_ struct{} `type:"structure"`
6875
6876	// Settings for logging access for the stage.
6877	AccessLogSettings *AwsApiGatewayAccessLogSettings `type:"structure"`
6878
6879	// Indicates whether a cache cluster is enabled for the stage.
6880	CacheClusterEnabled *bool `type:"boolean"`
6881
6882	// If a cache cluster is enabled, the size of the cache cluster.
6883	CacheClusterSize *string `type:"string"`
6884
6885	// If a cache cluster is enabled, the status of the cache cluster.
6886	CacheClusterStatus *string `type:"string"`
6887
6888	// Information about settings for canary deployment in the stage.
6889	CanarySettings *AwsApiGatewayCanarySettings `type:"structure"`
6890
6891	// The identifier of the client certificate for the stage.
6892	ClientCertificateId *string `type:"string"`
6893
6894	// Indicates when the stage was created.
6895	//
6896	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6897	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6898	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6899	CreatedDate *string `type:"string"`
6900
6901	// The identifier of the deployment that the stage points to.
6902	DeploymentId *string `type:"string"`
6903
6904	// A description of the stage.
6905	Description *string `type:"string"`
6906
6907	// The version of the API documentation that is associated with the stage.
6908	DocumentationVersion *string `type:"string"`
6909
6910	// Indicates when the stage was most recently updated.
6911	//
6912	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6913	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6914	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6915	LastUpdatedDate *string `type:"string"`
6916
6917	// Defines the method settings for the stage.
6918	MethodSettings []*AwsApiGatewayMethodSettings `type:"list"`
6919
6920	// The name of the stage.
6921	StageName *string `type:"string"`
6922
6923	// Indicates whether active tracing with X-Ray is enabled for the stage.
6924	TracingEnabled *bool `type:"boolean"`
6925
6926	// A map that defines the stage variables for the stage.
6927	//
6928	// Variable names can have alphanumeric and underscore characters.
6929	//
6930	// Variable values can contain the following characters:
6931	//
6932	//    * Uppercase and lowercase letters
6933	//
6934	//    * Numbers
6935	//
6936	//    * Special characters -._~:/?#&=,
6937	Variables map[string]*string `type:"map"`
6938
6939	// The ARN of the web ACL associated with the stage.
6940	WebAclArn *string `type:"string"`
6941}
6942
6943// String returns the string representation
6944func (s AwsApiGatewayStageDetails) String() string {
6945	return awsutil.Prettify(s)
6946}
6947
6948// GoString returns the string representation
6949func (s AwsApiGatewayStageDetails) GoString() string {
6950	return s.String()
6951}
6952
6953// SetAccessLogSettings sets the AccessLogSettings field's value.
6954func (s *AwsApiGatewayStageDetails) SetAccessLogSettings(v *AwsApiGatewayAccessLogSettings) *AwsApiGatewayStageDetails {
6955	s.AccessLogSettings = v
6956	return s
6957}
6958
6959// SetCacheClusterEnabled sets the CacheClusterEnabled field's value.
6960func (s *AwsApiGatewayStageDetails) SetCacheClusterEnabled(v bool) *AwsApiGatewayStageDetails {
6961	s.CacheClusterEnabled = &v
6962	return s
6963}
6964
6965// SetCacheClusterSize sets the CacheClusterSize field's value.
6966func (s *AwsApiGatewayStageDetails) SetCacheClusterSize(v string) *AwsApiGatewayStageDetails {
6967	s.CacheClusterSize = &v
6968	return s
6969}
6970
6971// SetCacheClusterStatus sets the CacheClusterStatus field's value.
6972func (s *AwsApiGatewayStageDetails) SetCacheClusterStatus(v string) *AwsApiGatewayStageDetails {
6973	s.CacheClusterStatus = &v
6974	return s
6975}
6976
6977// SetCanarySettings sets the CanarySettings field's value.
6978func (s *AwsApiGatewayStageDetails) SetCanarySettings(v *AwsApiGatewayCanarySettings) *AwsApiGatewayStageDetails {
6979	s.CanarySettings = v
6980	return s
6981}
6982
6983// SetClientCertificateId sets the ClientCertificateId field's value.
6984func (s *AwsApiGatewayStageDetails) SetClientCertificateId(v string) *AwsApiGatewayStageDetails {
6985	s.ClientCertificateId = &v
6986	return s
6987}
6988
6989// SetCreatedDate sets the CreatedDate field's value.
6990func (s *AwsApiGatewayStageDetails) SetCreatedDate(v string) *AwsApiGatewayStageDetails {
6991	s.CreatedDate = &v
6992	return s
6993}
6994
6995// SetDeploymentId sets the DeploymentId field's value.
6996func (s *AwsApiGatewayStageDetails) SetDeploymentId(v string) *AwsApiGatewayStageDetails {
6997	s.DeploymentId = &v
6998	return s
6999}
7000
7001// SetDescription sets the Description field's value.
7002func (s *AwsApiGatewayStageDetails) SetDescription(v string) *AwsApiGatewayStageDetails {
7003	s.Description = &v
7004	return s
7005}
7006
7007// SetDocumentationVersion sets the DocumentationVersion field's value.
7008func (s *AwsApiGatewayStageDetails) SetDocumentationVersion(v string) *AwsApiGatewayStageDetails {
7009	s.DocumentationVersion = &v
7010	return s
7011}
7012
7013// SetLastUpdatedDate sets the LastUpdatedDate field's value.
7014func (s *AwsApiGatewayStageDetails) SetLastUpdatedDate(v string) *AwsApiGatewayStageDetails {
7015	s.LastUpdatedDate = &v
7016	return s
7017}
7018
7019// SetMethodSettings sets the MethodSettings field's value.
7020func (s *AwsApiGatewayStageDetails) SetMethodSettings(v []*AwsApiGatewayMethodSettings) *AwsApiGatewayStageDetails {
7021	s.MethodSettings = v
7022	return s
7023}
7024
7025// SetStageName sets the StageName field's value.
7026func (s *AwsApiGatewayStageDetails) SetStageName(v string) *AwsApiGatewayStageDetails {
7027	s.StageName = &v
7028	return s
7029}
7030
7031// SetTracingEnabled sets the TracingEnabled field's value.
7032func (s *AwsApiGatewayStageDetails) SetTracingEnabled(v bool) *AwsApiGatewayStageDetails {
7033	s.TracingEnabled = &v
7034	return s
7035}
7036
7037// SetVariables sets the Variables field's value.
7038func (s *AwsApiGatewayStageDetails) SetVariables(v map[string]*string) *AwsApiGatewayStageDetails {
7039	s.Variables = v
7040	return s
7041}
7042
7043// SetWebAclArn sets the WebAclArn field's value.
7044func (s *AwsApiGatewayStageDetails) SetWebAclArn(v string) *AwsApiGatewayStageDetails {
7045	s.WebAclArn = &v
7046	return s
7047}
7048
7049// Contains information about a version 2 API in Amazon API Gateway.
7050type AwsApiGatewayV2ApiDetails struct {
7051	_ struct{} `type:"structure"`
7052
7053	// The URI of the API.
7054	//
7055	// Uses the format <api-id>.execute-api.<region>.amazonaws.com
7056	//
7057	// The stage name is typically appended to the URI to form a complete path to
7058	// a deployed API stage.
7059	ApiEndpoint *string `type:"string"`
7060
7061	// The identifier of the API.
7062	ApiId *string `type:"string"`
7063
7064	// An API key selection expression. Supported only for WebSocket APIs.
7065	ApiKeySelectionExpression *string `type:"string"`
7066
7067	// A cross-origin resource sharing (CORS) configuration. Supported only for
7068	// HTTP APIs.
7069	CorsConfiguration *AwsCorsConfiguration `type:"structure"`
7070
7071	// Indicates when the API was created.
7072	//
7073	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7074	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7075	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7076	CreatedDate *string `type:"string"`
7077
7078	// A description of the API.
7079	Description *string `type:"string"`
7080
7081	// The name of the API.
7082	Name *string `type:"string"`
7083
7084	// The API protocol for the API.
7085	//
7086	// Valid values: WEBSOCKET | HTTP
7087	ProtocolType *string `type:"string"`
7088
7089	// The route selection expression for the API.
7090	//
7091	// For HTTP APIs, must be ${request.method} ${request.path}. This is the default
7092	// value for HTTP APIs.
7093	//
7094	// For WebSocket APIs, there is no default value.
7095	RouteSelectionExpression *string `type:"string"`
7096
7097	// The version identifier for the API.
7098	Version *string `type:"string"`
7099}
7100
7101// String returns the string representation
7102func (s AwsApiGatewayV2ApiDetails) String() string {
7103	return awsutil.Prettify(s)
7104}
7105
7106// GoString returns the string representation
7107func (s AwsApiGatewayV2ApiDetails) GoString() string {
7108	return s.String()
7109}
7110
7111// SetApiEndpoint sets the ApiEndpoint field's value.
7112func (s *AwsApiGatewayV2ApiDetails) SetApiEndpoint(v string) *AwsApiGatewayV2ApiDetails {
7113	s.ApiEndpoint = &v
7114	return s
7115}
7116
7117// SetApiId sets the ApiId field's value.
7118func (s *AwsApiGatewayV2ApiDetails) SetApiId(v string) *AwsApiGatewayV2ApiDetails {
7119	s.ApiId = &v
7120	return s
7121}
7122
7123// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
7124func (s *AwsApiGatewayV2ApiDetails) SetApiKeySelectionExpression(v string) *AwsApiGatewayV2ApiDetails {
7125	s.ApiKeySelectionExpression = &v
7126	return s
7127}
7128
7129// SetCorsConfiguration sets the CorsConfiguration field's value.
7130func (s *AwsApiGatewayV2ApiDetails) SetCorsConfiguration(v *AwsCorsConfiguration) *AwsApiGatewayV2ApiDetails {
7131	s.CorsConfiguration = v
7132	return s
7133}
7134
7135// SetCreatedDate sets the CreatedDate field's value.
7136func (s *AwsApiGatewayV2ApiDetails) SetCreatedDate(v string) *AwsApiGatewayV2ApiDetails {
7137	s.CreatedDate = &v
7138	return s
7139}
7140
7141// SetDescription sets the Description field's value.
7142func (s *AwsApiGatewayV2ApiDetails) SetDescription(v string) *AwsApiGatewayV2ApiDetails {
7143	s.Description = &v
7144	return s
7145}
7146
7147// SetName sets the Name field's value.
7148func (s *AwsApiGatewayV2ApiDetails) SetName(v string) *AwsApiGatewayV2ApiDetails {
7149	s.Name = &v
7150	return s
7151}
7152
7153// SetProtocolType sets the ProtocolType field's value.
7154func (s *AwsApiGatewayV2ApiDetails) SetProtocolType(v string) *AwsApiGatewayV2ApiDetails {
7155	s.ProtocolType = &v
7156	return s
7157}
7158
7159// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
7160func (s *AwsApiGatewayV2ApiDetails) SetRouteSelectionExpression(v string) *AwsApiGatewayV2ApiDetails {
7161	s.RouteSelectionExpression = &v
7162	return s
7163}
7164
7165// SetVersion sets the Version field's value.
7166func (s *AwsApiGatewayV2ApiDetails) SetVersion(v string) *AwsApiGatewayV2ApiDetails {
7167	s.Version = &v
7168	return s
7169}
7170
7171// Contains route settings for a stage.
7172type AwsApiGatewayV2RouteSettings struct {
7173	_ struct{} `type:"structure"`
7174
7175	// Indicates whether data trace logging is enabled. Data trace logging affects
7176	// the log entries that are pushed to CloudWatch Logs. Supported only for WebSocket
7177	// APIs.
7178	DataTraceEnabled *bool `type:"boolean"`
7179
7180	// Indicates whether detailed metrics are enabled.
7181	DetailedMetricsEnabled *bool `type:"boolean"`
7182
7183	// The logging level. The logging level affects the log entries that are pushed
7184	// to CloudWatch Logs. Supported only for WebSocket APIs.
7185	//
7186	// If the logging level is ERROR, then the logs only include error-level entries.
7187	//
7188	// If the logging level is INFO, then the logs include both ERROR events and
7189	// extra informational events.
7190	//
7191	// Valid values: OFF | ERROR | INFO
7192	LoggingLevel *string `type:"string"`
7193
7194	// The throttling burst limit.
7195	ThrottlingBurstLimit *int64 `type:"integer"`
7196
7197	// The throttling rate limit.
7198	ThrottlingRateLimit *float64 `type:"double"`
7199}
7200
7201// String returns the string representation
7202func (s AwsApiGatewayV2RouteSettings) String() string {
7203	return awsutil.Prettify(s)
7204}
7205
7206// GoString returns the string representation
7207func (s AwsApiGatewayV2RouteSettings) GoString() string {
7208	return s.String()
7209}
7210
7211// SetDataTraceEnabled sets the DataTraceEnabled field's value.
7212func (s *AwsApiGatewayV2RouteSettings) SetDataTraceEnabled(v bool) *AwsApiGatewayV2RouteSettings {
7213	s.DataTraceEnabled = &v
7214	return s
7215}
7216
7217// SetDetailedMetricsEnabled sets the DetailedMetricsEnabled field's value.
7218func (s *AwsApiGatewayV2RouteSettings) SetDetailedMetricsEnabled(v bool) *AwsApiGatewayV2RouteSettings {
7219	s.DetailedMetricsEnabled = &v
7220	return s
7221}
7222
7223// SetLoggingLevel sets the LoggingLevel field's value.
7224func (s *AwsApiGatewayV2RouteSettings) SetLoggingLevel(v string) *AwsApiGatewayV2RouteSettings {
7225	s.LoggingLevel = &v
7226	return s
7227}
7228
7229// SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
7230func (s *AwsApiGatewayV2RouteSettings) SetThrottlingBurstLimit(v int64) *AwsApiGatewayV2RouteSettings {
7231	s.ThrottlingBurstLimit = &v
7232	return s
7233}
7234
7235// SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
7236func (s *AwsApiGatewayV2RouteSettings) SetThrottlingRateLimit(v float64) *AwsApiGatewayV2RouteSettings {
7237	s.ThrottlingRateLimit = &v
7238	return s
7239}
7240
7241// Contains information about a version 2 stage for Amazon API Gateway.
7242type AwsApiGatewayV2StageDetails struct {
7243	_ struct{} `type:"structure"`
7244
7245	// Information about settings for logging access for the stage.
7246	AccessLogSettings *AwsApiGatewayAccessLogSettings `type:"structure"`
7247
7248	// Indicates whether the stage is managed by API Gateway.
7249	ApiGatewayManaged *bool `type:"boolean"`
7250
7251	// Indicates whether updates to an API automatically trigger a new deployment.
7252	AutoDeploy *bool `type:"boolean"`
7253
7254	// The identifier of a client certificate for a stage. Supported only for WebSocket
7255	// API calls.
7256	ClientCertificateId *string `type:"string"`
7257
7258	// Indicates when the stage was created.
7259	//
7260	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7261	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7262	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7263	CreatedDate *string `type:"string"`
7264
7265	// Default route settings for the stage.
7266	DefaultRouteSettings *AwsApiGatewayV2RouteSettings `type:"structure"`
7267
7268	// The identifier of the deployment that the stage is associated with.
7269	DeploymentId *string `type:"string"`
7270
7271	// The description of the stage.
7272	Description *string `type:"string"`
7273
7274	// The status of the last deployment of a stage. Supported only if the stage
7275	// has automatic deployment enabled.
7276	LastDeploymentStatusMessage *string `type:"string"`
7277
7278	// Indicates when the stage was most recently updated.
7279	//
7280	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7281	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7282	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7283	LastUpdatedDate *string `type:"string"`
7284
7285	// The route settings for the stage.
7286	RouteSettings *AwsApiGatewayV2RouteSettings `type:"structure"`
7287
7288	// The name of the stage.
7289	StageName *string `type:"string"`
7290
7291	// A map that defines the stage variables for the stage.
7292	//
7293	// Variable names can have alphanumeric and underscore characters.
7294	//
7295	// Variable values can contain the following characters:
7296	//
7297	//    * Uppercase and lowercase letters
7298	//
7299	//    * Numbers
7300	//
7301	//    * Special characters -._~:/?#&=,
7302	StageVariables map[string]*string `type:"map"`
7303}
7304
7305// String returns the string representation
7306func (s AwsApiGatewayV2StageDetails) String() string {
7307	return awsutil.Prettify(s)
7308}
7309
7310// GoString returns the string representation
7311func (s AwsApiGatewayV2StageDetails) GoString() string {
7312	return s.String()
7313}
7314
7315// SetAccessLogSettings sets the AccessLogSettings field's value.
7316func (s *AwsApiGatewayV2StageDetails) SetAccessLogSettings(v *AwsApiGatewayAccessLogSettings) *AwsApiGatewayV2StageDetails {
7317	s.AccessLogSettings = v
7318	return s
7319}
7320
7321// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
7322func (s *AwsApiGatewayV2StageDetails) SetApiGatewayManaged(v bool) *AwsApiGatewayV2StageDetails {
7323	s.ApiGatewayManaged = &v
7324	return s
7325}
7326
7327// SetAutoDeploy sets the AutoDeploy field's value.
7328func (s *AwsApiGatewayV2StageDetails) SetAutoDeploy(v bool) *AwsApiGatewayV2StageDetails {
7329	s.AutoDeploy = &v
7330	return s
7331}
7332
7333// SetClientCertificateId sets the ClientCertificateId field's value.
7334func (s *AwsApiGatewayV2StageDetails) SetClientCertificateId(v string) *AwsApiGatewayV2StageDetails {
7335	s.ClientCertificateId = &v
7336	return s
7337}
7338
7339// SetCreatedDate sets the CreatedDate field's value.
7340func (s *AwsApiGatewayV2StageDetails) SetCreatedDate(v string) *AwsApiGatewayV2StageDetails {
7341	s.CreatedDate = &v
7342	return s
7343}
7344
7345// SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
7346func (s *AwsApiGatewayV2StageDetails) SetDefaultRouteSettings(v *AwsApiGatewayV2RouteSettings) *AwsApiGatewayV2StageDetails {
7347	s.DefaultRouteSettings = v
7348	return s
7349}
7350
7351// SetDeploymentId sets the DeploymentId field's value.
7352func (s *AwsApiGatewayV2StageDetails) SetDeploymentId(v string) *AwsApiGatewayV2StageDetails {
7353	s.DeploymentId = &v
7354	return s
7355}
7356
7357// SetDescription sets the Description field's value.
7358func (s *AwsApiGatewayV2StageDetails) SetDescription(v string) *AwsApiGatewayV2StageDetails {
7359	s.Description = &v
7360	return s
7361}
7362
7363// SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
7364func (s *AwsApiGatewayV2StageDetails) SetLastDeploymentStatusMessage(v string) *AwsApiGatewayV2StageDetails {
7365	s.LastDeploymentStatusMessage = &v
7366	return s
7367}
7368
7369// SetLastUpdatedDate sets the LastUpdatedDate field's value.
7370func (s *AwsApiGatewayV2StageDetails) SetLastUpdatedDate(v string) *AwsApiGatewayV2StageDetails {
7371	s.LastUpdatedDate = &v
7372	return s
7373}
7374
7375// SetRouteSettings sets the RouteSettings field's value.
7376func (s *AwsApiGatewayV2StageDetails) SetRouteSettings(v *AwsApiGatewayV2RouteSettings) *AwsApiGatewayV2StageDetails {
7377	s.RouteSettings = v
7378	return s
7379}
7380
7381// SetStageName sets the StageName field's value.
7382func (s *AwsApiGatewayV2StageDetails) SetStageName(v string) *AwsApiGatewayV2StageDetails {
7383	s.StageName = &v
7384	return s
7385}
7386
7387// SetStageVariables sets the StageVariables field's value.
7388func (s *AwsApiGatewayV2StageDetails) SetStageVariables(v map[string]*string) *AwsApiGatewayV2StageDetails {
7389	s.StageVariables = v
7390	return s
7391}
7392
7393// Provides details about an auto scaling group.
7394type AwsAutoScalingAutoScalingGroupDetails struct {
7395	_ struct{} `type:"structure"`
7396
7397	// Indicates when the auto scaling group was created.
7398	//
7399	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7400	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7401	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7402	CreatedTime *string `type:"string"`
7403
7404	// The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before
7405	// it checks the health status of an EC2 instance that has come into service.
7406	HealthCheckGracePeriod *int64 `type:"integer"`
7407
7408	// The service to use for the health checks.
7409	HealthCheckType *string `type:"string"`
7410
7411	// The name of the launch configuration.
7412	LaunchConfigurationName *string `type:"string"`
7413
7414	// The list of load balancers associated with the group.
7415	LoadBalancerNames []*string `type:"list"`
7416}
7417
7418// String returns the string representation
7419func (s AwsAutoScalingAutoScalingGroupDetails) String() string {
7420	return awsutil.Prettify(s)
7421}
7422
7423// GoString returns the string representation
7424func (s AwsAutoScalingAutoScalingGroupDetails) GoString() string {
7425	return s.String()
7426}
7427
7428// SetCreatedTime sets the CreatedTime field's value.
7429func (s *AwsAutoScalingAutoScalingGroupDetails) SetCreatedTime(v string) *AwsAutoScalingAutoScalingGroupDetails {
7430	s.CreatedTime = &v
7431	return s
7432}
7433
7434// SetHealthCheckGracePeriod sets the HealthCheckGracePeriod field's value.
7435func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckGracePeriod(v int64) *AwsAutoScalingAutoScalingGroupDetails {
7436	s.HealthCheckGracePeriod = &v
7437	return s
7438}
7439
7440// SetHealthCheckType sets the HealthCheckType field's value.
7441func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckType(v string) *AwsAutoScalingAutoScalingGroupDetails {
7442	s.HealthCheckType = &v
7443	return s
7444}
7445
7446// SetLaunchConfigurationName sets the LaunchConfigurationName field's value.
7447func (s *AwsAutoScalingAutoScalingGroupDetails) SetLaunchConfigurationName(v string) *AwsAutoScalingAutoScalingGroupDetails {
7448	s.LaunchConfigurationName = &v
7449	return s
7450}
7451
7452// SetLoadBalancerNames sets the LoadBalancerNames field's value.
7453func (s *AwsAutoScalingAutoScalingGroupDetails) SetLoadBalancerNames(v []*string) *AwsAutoScalingAutoScalingGroupDetails {
7454	s.LoadBalancerNames = v
7455	return s
7456}
7457
7458// A block device for the instance.
7459type AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails struct {
7460	_ struct{} `type:"structure"`
7461
7462	// The device name that is exposed to the EC2 instance. For example, /dev/sdh
7463	// or xvdh.
7464	DeviceName *string `type:"string"`
7465
7466	// Parameters that are used to automatically set up Amazon EBS volumes when
7467	// an instance is launched.
7468	Ebs *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails `type:"structure"`
7469
7470	// Whether to suppress the device that is included in the block device mapping
7471	// of the Amazon Machine Image (AMI).
7472	//
7473	// If NoDevice is true, then you cannot specify Ebs.>
7474	NoDevice *bool `type:"boolean"`
7475
7476	// The name of the virtual device (for example, ephemeral0).
7477	//
7478	// You can provide either VirtualName or Ebs, but not both.
7479	VirtualName *string `type:"string"`
7480}
7481
7482// String returns the string representation
7483func (s AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) String() string {
7484	return awsutil.Prettify(s)
7485}
7486
7487// GoString returns the string representation
7488func (s AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) GoString() string {
7489	return s.String()
7490}
7491
7492// SetDeviceName sets the DeviceName field's value.
7493func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) SetDeviceName(v string) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails {
7494	s.DeviceName = &v
7495	return s
7496}
7497
7498// SetEbs sets the Ebs field's value.
7499func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) SetEbs(v *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails {
7500	s.Ebs = v
7501	return s
7502}
7503
7504// SetNoDevice sets the NoDevice field's value.
7505func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) SetNoDevice(v bool) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails {
7506	s.NoDevice = &v
7507	return s
7508}
7509
7510// SetVirtualName sets the VirtualName field's value.
7511func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) SetVirtualName(v string) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails {
7512	s.VirtualName = &v
7513	return s
7514}
7515
7516// Parameters that are used to automatically set up EBS volumes when an instance
7517// is launched.
7518type AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails struct {
7519	_ struct{} `type:"structure"`
7520
7521	// Whether to delete the volume when the instance is terminated.
7522	DeleteOnTermination *bool `type:"boolean"`
7523
7524	// Whether to encrypt the volume.
7525	Encrypted *bool `type:"boolean"`
7526
7527	// The number of input/output (I/O) operations per second (IOPS) to provision
7528	// for the volume.
7529	//
7530	// Only supported for gp3 or io1 volumes. Required for io1 volumes. Not used
7531	// with standard, gp2, st1, or sc1 volumes.
7532	Iops *int64 `type:"integer"`
7533
7534	// The snapshot ID of the volume to use.
7535	//
7536	// You must specify either VolumeSize or SnapshotId.
7537	SnapshotId *string `type:"string"`
7538
7539	// The volume size, in GiBs. The following are the supported volumes sizes for
7540	// each volume type:
7541	//
7542	//    * gp2 and gp3: 1-16,384
7543	//
7544	//    * io1: 4-16,384
7545	//
7546	//    * st1 and sc1: 125-16,384
7547	//
7548	//    * standard: 1-1,024
7549	//
7550	// You must specify either SnapshotId or VolumeSize. If you specify both SnapshotId
7551	// and VolumeSize, the volume size must be equal or greater than the size of
7552	// the snapshot.
7553	VolumeSize *int64 `type:"integer"`
7554
7555	// The volume type.
7556	VolumeType *string `type:"string"`
7557}
7558
7559// String returns the string representation
7560func (s AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) String() string {
7561	return awsutil.Prettify(s)
7562}
7563
7564// GoString returns the string representation
7565func (s AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) GoString() string {
7566	return s.String()
7567}
7568
7569// SetDeleteOnTermination sets the DeleteOnTermination field's value.
7570func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) SetDeleteOnTermination(v bool) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails {
7571	s.DeleteOnTermination = &v
7572	return s
7573}
7574
7575// SetEncrypted sets the Encrypted field's value.
7576func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) SetEncrypted(v bool) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails {
7577	s.Encrypted = &v
7578	return s
7579}
7580
7581// SetIops sets the Iops field's value.
7582func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) SetIops(v int64) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails {
7583	s.Iops = &v
7584	return s
7585}
7586
7587// SetSnapshotId sets the SnapshotId field's value.
7588func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) SetSnapshotId(v string) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails {
7589	s.SnapshotId = &v
7590	return s
7591}
7592
7593// SetVolumeSize sets the VolumeSize field's value.
7594func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) SetVolumeSize(v int64) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails {
7595	s.VolumeSize = &v
7596	return s
7597}
7598
7599// SetVolumeType sets the VolumeType field's value.
7600func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) SetVolumeType(v string) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails {
7601	s.VolumeType = &v
7602	return s
7603}
7604
7605// Details about a launch configuration.
7606type AwsAutoScalingLaunchConfigurationDetails struct {
7607	_ struct{} `type:"structure"`
7608
7609	// For Auto Scaling groups that run in a VPC, specifies whether to assign a
7610	// public IP address to the group's instances.
7611	AssociatePublicIpAddress *bool `type:"boolean"`
7612
7613	// Specifies the block devices for the instance.
7614	BlockDeviceMappings []*AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails `type:"list"`
7615
7616	// The identifier of a ClassicLink-enabled VPC that EC2-Classic instances are
7617	// linked to.
7618	ClassicLinkVpcId *string `type:"string"`
7619
7620	// The identifiers of one or more security groups for the VPC that is specified
7621	// in ClassicLinkVPCId.
7622	ClassicLinkVpcSecurityGroups []*string `type:"list"`
7623
7624	// The creation date and time for the launch configuration.
7625	//
7626	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7627	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7628	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7629	CreatedTime *string `type:"string"`
7630
7631	// Whether the launch configuration is optimized for Amazon EBS I/O.
7632	EbsOptimized *bool `type:"boolean"`
7633
7634	// The name or the ARN of the instance profile associated with the IAM role
7635	// for the instance. The instance profile contains the IAM role.
7636	IamInstanceProfile *string `type:"string"`
7637
7638	// The identifier of the Amazon Machine Image (AMI) that is used to launch EC2
7639	// instances.
7640	ImageId *string `type:"string"`
7641
7642	// Indicates the type of monitoring for instances in the group.
7643	InstanceMonitoring *AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails `type:"structure"`
7644
7645	// The instance type for the instances.
7646	InstanceType *string `type:"string"`
7647
7648	// The identifier of the kernel associated with the AMI.
7649	KernelId *string `type:"string"`
7650
7651	// The name of the key pair.
7652	KeyName *string `type:"string"`
7653
7654	// The name of the launch configuration.
7655	LaunchConfigurationName *string `type:"string"`
7656
7657	// The tenancy of the instance. An instance with dedicated tenancy runs on isolated,
7658	// single-tenant hardware and can only be launched into a VPC.
7659	PlacementTenancy *string `type:"string"`
7660
7661	// The identifier of the RAM disk associated with the AMI.
7662	RamdiskId *string `type:"string"`
7663
7664	// The security groups to assign to the instances in the Auto Scaling group.
7665	SecurityGroups []*string `type:"list"`
7666
7667	// The maximum hourly price to be paid for any Spot Instance that is launched
7668	// to fulfill the request.
7669	SpotPrice *string `type:"string"`
7670
7671	// The user data to make available to the launched EC2 instances. Must be base64-encoded
7672	// text.
7673	UserData *string `type:"string"`
7674}
7675
7676// String returns the string representation
7677func (s AwsAutoScalingLaunchConfigurationDetails) String() string {
7678	return awsutil.Prettify(s)
7679}
7680
7681// GoString returns the string representation
7682func (s AwsAutoScalingLaunchConfigurationDetails) GoString() string {
7683	return s.String()
7684}
7685
7686// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
7687func (s *AwsAutoScalingLaunchConfigurationDetails) SetAssociatePublicIpAddress(v bool) *AwsAutoScalingLaunchConfigurationDetails {
7688	s.AssociatePublicIpAddress = &v
7689	return s
7690}
7691
7692// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
7693func (s *AwsAutoScalingLaunchConfigurationDetails) SetBlockDeviceMappings(v []*AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) *AwsAutoScalingLaunchConfigurationDetails {
7694	s.BlockDeviceMappings = v
7695	return s
7696}
7697
7698// SetClassicLinkVpcId sets the ClassicLinkVpcId field's value.
7699func (s *AwsAutoScalingLaunchConfigurationDetails) SetClassicLinkVpcId(v string) *AwsAutoScalingLaunchConfigurationDetails {
7700	s.ClassicLinkVpcId = &v
7701	return s
7702}
7703
7704// SetClassicLinkVpcSecurityGroups sets the ClassicLinkVpcSecurityGroups field's value.
7705func (s *AwsAutoScalingLaunchConfigurationDetails) SetClassicLinkVpcSecurityGroups(v []*string) *AwsAutoScalingLaunchConfigurationDetails {
7706	s.ClassicLinkVpcSecurityGroups = v
7707	return s
7708}
7709
7710// SetCreatedTime sets the CreatedTime field's value.
7711func (s *AwsAutoScalingLaunchConfigurationDetails) SetCreatedTime(v string) *AwsAutoScalingLaunchConfigurationDetails {
7712	s.CreatedTime = &v
7713	return s
7714}
7715
7716// SetEbsOptimized sets the EbsOptimized field's value.
7717func (s *AwsAutoScalingLaunchConfigurationDetails) SetEbsOptimized(v bool) *AwsAutoScalingLaunchConfigurationDetails {
7718	s.EbsOptimized = &v
7719	return s
7720}
7721
7722// SetIamInstanceProfile sets the IamInstanceProfile field's value.
7723func (s *AwsAutoScalingLaunchConfigurationDetails) SetIamInstanceProfile(v string) *AwsAutoScalingLaunchConfigurationDetails {
7724	s.IamInstanceProfile = &v
7725	return s
7726}
7727
7728// SetImageId sets the ImageId field's value.
7729func (s *AwsAutoScalingLaunchConfigurationDetails) SetImageId(v string) *AwsAutoScalingLaunchConfigurationDetails {
7730	s.ImageId = &v
7731	return s
7732}
7733
7734// SetInstanceMonitoring sets the InstanceMonitoring field's value.
7735func (s *AwsAutoScalingLaunchConfigurationDetails) SetInstanceMonitoring(v *AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails) *AwsAutoScalingLaunchConfigurationDetails {
7736	s.InstanceMonitoring = v
7737	return s
7738}
7739
7740// SetInstanceType sets the InstanceType field's value.
7741func (s *AwsAutoScalingLaunchConfigurationDetails) SetInstanceType(v string) *AwsAutoScalingLaunchConfigurationDetails {
7742	s.InstanceType = &v
7743	return s
7744}
7745
7746// SetKernelId sets the KernelId field's value.
7747func (s *AwsAutoScalingLaunchConfigurationDetails) SetKernelId(v string) *AwsAutoScalingLaunchConfigurationDetails {
7748	s.KernelId = &v
7749	return s
7750}
7751
7752// SetKeyName sets the KeyName field's value.
7753func (s *AwsAutoScalingLaunchConfigurationDetails) SetKeyName(v string) *AwsAutoScalingLaunchConfigurationDetails {
7754	s.KeyName = &v
7755	return s
7756}
7757
7758// SetLaunchConfigurationName sets the LaunchConfigurationName field's value.
7759func (s *AwsAutoScalingLaunchConfigurationDetails) SetLaunchConfigurationName(v string) *AwsAutoScalingLaunchConfigurationDetails {
7760	s.LaunchConfigurationName = &v
7761	return s
7762}
7763
7764// SetPlacementTenancy sets the PlacementTenancy field's value.
7765func (s *AwsAutoScalingLaunchConfigurationDetails) SetPlacementTenancy(v string) *AwsAutoScalingLaunchConfigurationDetails {
7766	s.PlacementTenancy = &v
7767	return s
7768}
7769
7770// SetRamdiskId sets the RamdiskId field's value.
7771func (s *AwsAutoScalingLaunchConfigurationDetails) SetRamdiskId(v string) *AwsAutoScalingLaunchConfigurationDetails {
7772	s.RamdiskId = &v
7773	return s
7774}
7775
7776// SetSecurityGroups sets the SecurityGroups field's value.
7777func (s *AwsAutoScalingLaunchConfigurationDetails) SetSecurityGroups(v []*string) *AwsAutoScalingLaunchConfigurationDetails {
7778	s.SecurityGroups = v
7779	return s
7780}
7781
7782// SetSpotPrice sets the SpotPrice field's value.
7783func (s *AwsAutoScalingLaunchConfigurationDetails) SetSpotPrice(v string) *AwsAutoScalingLaunchConfigurationDetails {
7784	s.SpotPrice = &v
7785	return s
7786}
7787
7788// SetUserData sets the UserData field's value.
7789func (s *AwsAutoScalingLaunchConfigurationDetails) SetUserData(v string) *AwsAutoScalingLaunchConfigurationDetails {
7790	s.UserData = &v
7791	return s
7792}
7793
7794// Information about the type of monitoring for instances in the group.
7795type AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails struct {
7796	_ struct{} `type:"structure"`
7797
7798	// If set to true, then instances in the group launch with detailed monitoring.
7799	//
7800	// If set to false, then instances in the group launch with basic monitoring.
7801	Enabled *bool `type:"boolean"`
7802}
7803
7804// String returns the string representation
7805func (s AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails) String() string {
7806	return awsutil.Prettify(s)
7807}
7808
7809// GoString returns the string representation
7810func (s AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails) GoString() string {
7811	return s.String()
7812}
7813
7814// SetEnabled sets the Enabled field's value.
7815func (s *AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails) SetEnabled(v bool) *AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails {
7816	s.Enabled = &v
7817	return s
7818}
7819
7820// Provides details about an Certificate Manager certificate.
7821type AwsCertificateManagerCertificateDetails struct {
7822	_ struct{} `type:"structure"`
7823
7824	// The ARN of the private certificate authority (CA) that will be used to issue
7825	// the certificate.
7826	CertificateAuthorityArn *string `type:"string"`
7827
7828	// Indicates when the certificate was requested.
7829	//
7830	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7831	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7832	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7833	CreatedAt *string `type:"string"`
7834
7835	// The fully qualified domain name (FQDN), such as www.example.com, that is
7836	// secured by the certificate.
7837	DomainName *string `type:"string"`
7838
7839	// Contains information about the initial validation of each domain name that
7840	// occurs as a result of the RequestCertificate request.
7841	//
7842	// Only provided if the certificate type is AMAZON_ISSUED.
7843	DomainValidationOptions []*AwsCertificateManagerCertificateDomainValidationOption `type:"list"`
7844
7845	// Contains a list of Extended Key Usage X.509 v3 extension objects. Each object
7846	// specifies a purpose for which the certificate public key can be used and
7847	// consists of a name and an object identifier (OID).
7848	ExtendedKeyUsages []*AwsCertificateManagerCertificateExtendedKeyUsage `type:"list"`
7849
7850	// For a failed certificate request, the reason for the failure.
7851	//
7852	// Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED |
7853	// DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR
7854	// | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED
7855	// | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS
7856	// | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER
7857	FailureReason *string `type:"string"`
7858
7859	// Indicates when the certificate was imported. Provided if the certificate
7860	// type is IMPORTED.
7861	//
7862	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7863	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7864	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7865	ImportedAt *string `type:"string"`
7866
7867	// The list of ARNs for the Amazon Web Services resources that use the certificate.
7868	InUseBy []*string `type:"list"`
7869
7870	// Indicates when the certificate was issued. Provided if the certificate type
7871	// is AMAZON_ISSUED.
7872	//
7873	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7874	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7875	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7876	IssuedAt *string `type:"string"`
7877
7878	// The name of the certificate authority that issued and signed the certificate.
7879	Issuer *string `type:"string"`
7880
7881	// The algorithm that was used to generate the public-private key pair.
7882	//
7883	// Valid values: RSA_2048 | RSA_1024 |RSA_4096 | EC_prime256v1 | EC_secp384r1
7884	// | EC_secp521r1
7885	KeyAlgorithm *string `type:"string"`
7886
7887	// A list of key usage X.509 v3 extension objects.
7888	KeyUsages []*AwsCertificateManagerCertificateKeyUsage `type:"list"`
7889
7890	// The time after which the certificate becomes invalid.
7891	//
7892	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7893	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7894	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7895	NotAfter *string `type:"string"`
7896
7897	// The time before which the certificate is not valid.
7898	//
7899	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7900	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7901	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7902	NotBefore *string `type:"string"`
7903
7904	// Provides a value that specifies whether to add the certificate to a transparency
7905	// log.
7906	Options *AwsCertificateManagerCertificateOptions `type:"structure"`
7907
7908	// Whether the certificate is eligible for renewal.
7909	//
7910	// Valid values: ELIGIBLE | INELIGIBLE
7911	RenewalEligibility *string `type:"string"`
7912
7913	// Information about the status of the Certificate Manager managed renewal for
7914	// the certificate. Provided only when the certificate type is AMAZON_ISSUED.
7915	RenewalSummary *AwsCertificateManagerCertificateRenewalSummary `type:"structure"`
7916
7917	// The serial number of the certificate.
7918	Serial *string `type:"string"`
7919
7920	// The algorithm that was used to sign the certificate.
7921	SignatureAlgorithm *string `type:"string"`
7922
7923	// The status of the certificate.
7924	//
7925	// Valid values: PENDING_VALIDATION | ISSUED | INACTIVE | EXPIRED | VALIDATION_TIMED_OUT
7926	// | REVOKED | FAILED
7927	Status *string `type:"string"`
7928
7929	// The name of the entity that is associated with the public key contained in
7930	// the certificate.
7931	Subject *string `type:"string"`
7932
7933	// One or more domain names (subject alternative names) included in the certificate.
7934	// This list contains the domain names that are bound to the public key that
7935	// is contained in the certificate.
7936	//
7937	// The subject alternative names include the canonical domain name (CN) of the
7938	// certificate and additional domain names that can be used to connect to the
7939	// website.
7940	SubjectAlternativeNames []*string `type:"list"`
7941
7942	// The source of the certificate. For certificates that Certificate Manager
7943	// provides, Type is AMAZON_ISSUED. For certificates that are imported with
7944	// ImportCertificate, Type is IMPORTED.
7945	//
7946	// Valid values: IMPORTED | AMAZON_ISSUED | PRIVATE
7947	Type *string `type:"string"`
7948}
7949
7950// String returns the string representation
7951func (s AwsCertificateManagerCertificateDetails) String() string {
7952	return awsutil.Prettify(s)
7953}
7954
7955// GoString returns the string representation
7956func (s AwsCertificateManagerCertificateDetails) GoString() string {
7957	return s.String()
7958}
7959
7960// SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value.
7961func (s *AwsCertificateManagerCertificateDetails) SetCertificateAuthorityArn(v string) *AwsCertificateManagerCertificateDetails {
7962	s.CertificateAuthorityArn = &v
7963	return s
7964}
7965
7966// SetCreatedAt sets the CreatedAt field's value.
7967func (s *AwsCertificateManagerCertificateDetails) SetCreatedAt(v string) *AwsCertificateManagerCertificateDetails {
7968	s.CreatedAt = &v
7969	return s
7970}
7971
7972// SetDomainName sets the DomainName field's value.
7973func (s *AwsCertificateManagerCertificateDetails) SetDomainName(v string) *AwsCertificateManagerCertificateDetails {
7974	s.DomainName = &v
7975	return s
7976}
7977
7978// SetDomainValidationOptions sets the DomainValidationOptions field's value.
7979func (s *AwsCertificateManagerCertificateDetails) SetDomainValidationOptions(v []*AwsCertificateManagerCertificateDomainValidationOption) *AwsCertificateManagerCertificateDetails {
7980	s.DomainValidationOptions = v
7981	return s
7982}
7983
7984// SetExtendedKeyUsages sets the ExtendedKeyUsages field's value.
7985func (s *AwsCertificateManagerCertificateDetails) SetExtendedKeyUsages(v []*AwsCertificateManagerCertificateExtendedKeyUsage) *AwsCertificateManagerCertificateDetails {
7986	s.ExtendedKeyUsages = v
7987	return s
7988}
7989
7990// SetFailureReason sets the FailureReason field's value.
7991func (s *AwsCertificateManagerCertificateDetails) SetFailureReason(v string) *AwsCertificateManagerCertificateDetails {
7992	s.FailureReason = &v
7993	return s
7994}
7995
7996// SetImportedAt sets the ImportedAt field's value.
7997func (s *AwsCertificateManagerCertificateDetails) SetImportedAt(v string) *AwsCertificateManagerCertificateDetails {
7998	s.ImportedAt = &v
7999	return s
8000}
8001
8002// SetInUseBy sets the InUseBy field's value.
8003func (s *AwsCertificateManagerCertificateDetails) SetInUseBy(v []*string) *AwsCertificateManagerCertificateDetails {
8004	s.InUseBy = v
8005	return s
8006}
8007
8008// SetIssuedAt sets the IssuedAt field's value.
8009func (s *AwsCertificateManagerCertificateDetails) SetIssuedAt(v string) *AwsCertificateManagerCertificateDetails {
8010	s.IssuedAt = &v
8011	return s
8012}
8013
8014// SetIssuer sets the Issuer field's value.
8015func (s *AwsCertificateManagerCertificateDetails) SetIssuer(v string) *AwsCertificateManagerCertificateDetails {
8016	s.Issuer = &v
8017	return s
8018}
8019
8020// SetKeyAlgorithm sets the KeyAlgorithm field's value.
8021func (s *AwsCertificateManagerCertificateDetails) SetKeyAlgorithm(v string) *AwsCertificateManagerCertificateDetails {
8022	s.KeyAlgorithm = &v
8023	return s
8024}
8025
8026// SetKeyUsages sets the KeyUsages field's value.
8027func (s *AwsCertificateManagerCertificateDetails) SetKeyUsages(v []*AwsCertificateManagerCertificateKeyUsage) *AwsCertificateManagerCertificateDetails {
8028	s.KeyUsages = v
8029	return s
8030}
8031
8032// SetNotAfter sets the NotAfter field's value.
8033func (s *AwsCertificateManagerCertificateDetails) SetNotAfter(v string) *AwsCertificateManagerCertificateDetails {
8034	s.NotAfter = &v
8035	return s
8036}
8037
8038// SetNotBefore sets the NotBefore field's value.
8039func (s *AwsCertificateManagerCertificateDetails) SetNotBefore(v string) *AwsCertificateManagerCertificateDetails {
8040	s.NotBefore = &v
8041	return s
8042}
8043
8044// SetOptions sets the Options field's value.
8045func (s *AwsCertificateManagerCertificateDetails) SetOptions(v *AwsCertificateManagerCertificateOptions) *AwsCertificateManagerCertificateDetails {
8046	s.Options = v
8047	return s
8048}
8049
8050// SetRenewalEligibility sets the RenewalEligibility field's value.
8051func (s *AwsCertificateManagerCertificateDetails) SetRenewalEligibility(v string) *AwsCertificateManagerCertificateDetails {
8052	s.RenewalEligibility = &v
8053	return s
8054}
8055
8056// SetRenewalSummary sets the RenewalSummary field's value.
8057func (s *AwsCertificateManagerCertificateDetails) SetRenewalSummary(v *AwsCertificateManagerCertificateRenewalSummary) *AwsCertificateManagerCertificateDetails {
8058	s.RenewalSummary = v
8059	return s
8060}
8061
8062// SetSerial sets the Serial field's value.
8063func (s *AwsCertificateManagerCertificateDetails) SetSerial(v string) *AwsCertificateManagerCertificateDetails {
8064	s.Serial = &v
8065	return s
8066}
8067
8068// SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
8069func (s *AwsCertificateManagerCertificateDetails) SetSignatureAlgorithm(v string) *AwsCertificateManagerCertificateDetails {
8070	s.SignatureAlgorithm = &v
8071	return s
8072}
8073
8074// SetStatus sets the Status field's value.
8075func (s *AwsCertificateManagerCertificateDetails) SetStatus(v string) *AwsCertificateManagerCertificateDetails {
8076	s.Status = &v
8077	return s
8078}
8079
8080// SetSubject sets the Subject field's value.
8081func (s *AwsCertificateManagerCertificateDetails) SetSubject(v string) *AwsCertificateManagerCertificateDetails {
8082	s.Subject = &v
8083	return s
8084}
8085
8086// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
8087func (s *AwsCertificateManagerCertificateDetails) SetSubjectAlternativeNames(v []*string) *AwsCertificateManagerCertificateDetails {
8088	s.SubjectAlternativeNames = v
8089	return s
8090}
8091
8092// SetType sets the Type field's value.
8093func (s *AwsCertificateManagerCertificateDetails) SetType(v string) *AwsCertificateManagerCertificateDetails {
8094	s.Type = &v
8095	return s
8096}
8097
8098// Contains information about one of the following:
8099//
8100//    * The initial validation of each domain name that occurs as a result of
8101//    the RequestCertificate request
8102//
8103//    * The validation of each domain name in the certificate, as it pertains
8104//    to Certificate Manager managed renewal
8105type AwsCertificateManagerCertificateDomainValidationOption struct {
8106	_ struct{} `type:"structure"`
8107
8108	// A fully qualified domain name (FQDN) in the certificate.
8109	DomainName *string `type:"string"`
8110
8111	// The CNAME record that is added to the DNS database for domain validation.
8112	ResourceRecord *AwsCertificateManagerCertificateResourceRecord `type:"structure"`
8113
8114	// The domain name that Certificate Manager uses to send domain validation emails.
8115	ValidationDomain *string `type:"string"`
8116
8117	// A list of email addresses that Certificate Manager uses to send domain validation
8118	// emails.
8119	ValidationEmails []*string `type:"list"`
8120
8121	// The method used to validate the domain name.
8122	ValidationMethod *string `type:"string"`
8123
8124	// The validation status of the domain name.
8125	ValidationStatus *string `type:"string"`
8126}
8127
8128// String returns the string representation
8129func (s AwsCertificateManagerCertificateDomainValidationOption) String() string {
8130	return awsutil.Prettify(s)
8131}
8132
8133// GoString returns the string representation
8134func (s AwsCertificateManagerCertificateDomainValidationOption) GoString() string {
8135	return s.String()
8136}
8137
8138// SetDomainName sets the DomainName field's value.
8139func (s *AwsCertificateManagerCertificateDomainValidationOption) SetDomainName(v string) *AwsCertificateManagerCertificateDomainValidationOption {
8140	s.DomainName = &v
8141	return s
8142}
8143
8144// SetResourceRecord sets the ResourceRecord field's value.
8145func (s *AwsCertificateManagerCertificateDomainValidationOption) SetResourceRecord(v *AwsCertificateManagerCertificateResourceRecord) *AwsCertificateManagerCertificateDomainValidationOption {
8146	s.ResourceRecord = v
8147	return s
8148}
8149
8150// SetValidationDomain sets the ValidationDomain field's value.
8151func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationDomain(v string) *AwsCertificateManagerCertificateDomainValidationOption {
8152	s.ValidationDomain = &v
8153	return s
8154}
8155
8156// SetValidationEmails sets the ValidationEmails field's value.
8157func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationEmails(v []*string) *AwsCertificateManagerCertificateDomainValidationOption {
8158	s.ValidationEmails = v
8159	return s
8160}
8161
8162// SetValidationMethod sets the ValidationMethod field's value.
8163func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationMethod(v string) *AwsCertificateManagerCertificateDomainValidationOption {
8164	s.ValidationMethod = &v
8165	return s
8166}
8167
8168// SetValidationStatus sets the ValidationStatus field's value.
8169func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationStatus(v string) *AwsCertificateManagerCertificateDomainValidationOption {
8170	s.ValidationStatus = &v
8171	return s
8172}
8173
8174// Contains information about an extended key usage X.509 v3 extension object.
8175type AwsCertificateManagerCertificateExtendedKeyUsage struct {
8176	_ struct{} `type:"structure"`
8177
8178	// The name of an extension value. Indicates the purpose for which the certificate
8179	// public key can be used.
8180	Name *string `type:"string"`
8181
8182	// An object identifier (OID) for the extension value.
8183	//
8184	// The format is numbers separated by periods.
8185	OId *string `type:"string"`
8186}
8187
8188// String returns the string representation
8189func (s AwsCertificateManagerCertificateExtendedKeyUsage) String() string {
8190	return awsutil.Prettify(s)
8191}
8192
8193// GoString returns the string representation
8194func (s AwsCertificateManagerCertificateExtendedKeyUsage) GoString() string {
8195	return s.String()
8196}
8197
8198// SetName sets the Name field's value.
8199func (s *AwsCertificateManagerCertificateExtendedKeyUsage) SetName(v string) *AwsCertificateManagerCertificateExtendedKeyUsage {
8200	s.Name = &v
8201	return s
8202}
8203
8204// SetOId sets the OId field's value.
8205func (s *AwsCertificateManagerCertificateExtendedKeyUsage) SetOId(v string) *AwsCertificateManagerCertificateExtendedKeyUsage {
8206	s.OId = &v
8207	return s
8208}
8209
8210// Contains information about a key usage X.509 v3 extension object.
8211type AwsCertificateManagerCertificateKeyUsage struct {
8212	_ struct{} `type:"structure"`
8213
8214	// The key usage extension name.
8215	Name *string `type:"string"`
8216}
8217
8218// String returns the string representation
8219func (s AwsCertificateManagerCertificateKeyUsage) String() string {
8220	return awsutil.Prettify(s)
8221}
8222
8223// GoString returns the string representation
8224func (s AwsCertificateManagerCertificateKeyUsage) GoString() string {
8225	return s.String()
8226}
8227
8228// SetName sets the Name field's value.
8229func (s *AwsCertificateManagerCertificateKeyUsage) SetName(v string) *AwsCertificateManagerCertificateKeyUsage {
8230	s.Name = &v
8231	return s
8232}
8233
8234// Contains other options for the certificate.
8235type AwsCertificateManagerCertificateOptions struct {
8236	_ struct{} `type:"structure"`
8237
8238	// Whether to add the certificate to a transparency log.
8239	//
8240	// Valid values: DISABLED | ENABLED
8241	CertificateTransparencyLoggingPreference *string `type:"string"`
8242}
8243
8244// String returns the string representation
8245func (s AwsCertificateManagerCertificateOptions) String() string {
8246	return awsutil.Prettify(s)
8247}
8248
8249// GoString returns the string representation
8250func (s AwsCertificateManagerCertificateOptions) GoString() string {
8251	return s.String()
8252}
8253
8254// SetCertificateTransparencyLoggingPreference sets the CertificateTransparencyLoggingPreference field's value.
8255func (s *AwsCertificateManagerCertificateOptions) SetCertificateTransparencyLoggingPreference(v string) *AwsCertificateManagerCertificateOptions {
8256	s.CertificateTransparencyLoggingPreference = &v
8257	return s
8258}
8259
8260// Contains information about the Certificate Manager managed renewal for an
8261// AMAZON_ISSUED certificate.
8262type AwsCertificateManagerCertificateRenewalSummary struct {
8263	_ struct{} `type:"structure"`
8264
8265	// Information about the validation of each domain name in the certificate,
8266	// as it pertains to Certificate Manager managed renewal. Provided only when
8267	// the certificate type is AMAZON_ISSUED.
8268	DomainValidationOptions []*AwsCertificateManagerCertificateDomainValidationOption `type:"list"`
8269
8270	// The status of the Certificate Manager managed renewal of the certificate.
8271	//
8272	// Valid values: PENDING_AUTO_RENEWAL | PENDING_VALIDATION | SUCCESS | FAILED
8273	RenewalStatus *string `type:"string"`
8274
8275	// The reason that a renewal request was unsuccessful.
8276	//
8277	// Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED |
8278	// DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR
8279	// | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED
8280	// | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS
8281	// | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER
8282	RenewalStatusReason *string `type:"string"`
8283
8284	// Indicates when the renewal summary was last updated.
8285	//
8286	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8287	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8288	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8289	UpdatedAt *string `type:"string"`
8290}
8291
8292// String returns the string representation
8293func (s AwsCertificateManagerCertificateRenewalSummary) String() string {
8294	return awsutil.Prettify(s)
8295}
8296
8297// GoString returns the string representation
8298func (s AwsCertificateManagerCertificateRenewalSummary) GoString() string {
8299	return s.String()
8300}
8301
8302// SetDomainValidationOptions sets the DomainValidationOptions field's value.
8303func (s *AwsCertificateManagerCertificateRenewalSummary) SetDomainValidationOptions(v []*AwsCertificateManagerCertificateDomainValidationOption) *AwsCertificateManagerCertificateRenewalSummary {
8304	s.DomainValidationOptions = v
8305	return s
8306}
8307
8308// SetRenewalStatus sets the RenewalStatus field's value.
8309func (s *AwsCertificateManagerCertificateRenewalSummary) SetRenewalStatus(v string) *AwsCertificateManagerCertificateRenewalSummary {
8310	s.RenewalStatus = &v
8311	return s
8312}
8313
8314// SetRenewalStatusReason sets the RenewalStatusReason field's value.
8315func (s *AwsCertificateManagerCertificateRenewalSummary) SetRenewalStatusReason(v string) *AwsCertificateManagerCertificateRenewalSummary {
8316	s.RenewalStatusReason = &v
8317	return s
8318}
8319
8320// SetUpdatedAt sets the UpdatedAt field's value.
8321func (s *AwsCertificateManagerCertificateRenewalSummary) SetUpdatedAt(v string) *AwsCertificateManagerCertificateRenewalSummary {
8322	s.UpdatedAt = &v
8323	return s
8324}
8325
8326// Provides details about the CNAME record that is added to the DNS database
8327// for domain validation.
8328type AwsCertificateManagerCertificateResourceRecord struct {
8329	_ struct{} `type:"structure"`
8330
8331	// The name of the resource.
8332	Name *string `type:"string"`
8333
8334	// The type of resource.
8335	Type *string `type:"string"`
8336
8337	// The value of the resource.
8338	Value *string `type:"string"`
8339}
8340
8341// String returns the string representation
8342func (s AwsCertificateManagerCertificateResourceRecord) String() string {
8343	return awsutil.Prettify(s)
8344}
8345
8346// GoString returns the string representation
8347func (s AwsCertificateManagerCertificateResourceRecord) GoString() string {
8348	return s.String()
8349}
8350
8351// SetName sets the Name field's value.
8352func (s *AwsCertificateManagerCertificateResourceRecord) SetName(v string) *AwsCertificateManagerCertificateResourceRecord {
8353	s.Name = &v
8354	return s
8355}
8356
8357// SetType sets the Type field's value.
8358func (s *AwsCertificateManagerCertificateResourceRecord) SetType(v string) *AwsCertificateManagerCertificateResourceRecord {
8359	s.Type = &v
8360	return s
8361}
8362
8363// SetValue sets the Value field's value.
8364func (s *AwsCertificateManagerCertificateResourceRecord) SetValue(v string) *AwsCertificateManagerCertificateResourceRecord {
8365	s.Value = &v
8366	return s
8367}
8368
8369// Information about a cache behavior for the distribution.
8370type AwsCloudFrontDistributionCacheBehavior struct {
8371	_ struct{} `type:"structure"`
8372
8373	// The protocol that viewers can use to access the files in an origin. You can
8374	// specify the following options:
8375	//
8376	//    * allow-all - Viewers can use HTTP or HTTPS.
8377	//
8378	//    * redirect-to-https - CloudFront responds to HTTP requests with an HTTP
8379	//    status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then
8380	//    uses the new URL to resubmit.
8381	//
8382	//    * https-only - CloudFront responds to HTTP request with an HTTP status
8383	//    code of 403 (Forbidden).
8384	ViewerProtocolPolicy *string `type:"string"`
8385}
8386
8387// String returns the string representation
8388func (s AwsCloudFrontDistributionCacheBehavior) String() string {
8389	return awsutil.Prettify(s)
8390}
8391
8392// GoString returns the string representation
8393func (s AwsCloudFrontDistributionCacheBehavior) GoString() string {
8394	return s.String()
8395}
8396
8397// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value.
8398func (s *AwsCloudFrontDistributionCacheBehavior) SetViewerProtocolPolicy(v string) *AwsCloudFrontDistributionCacheBehavior {
8399	s.ViewerProtocolPolicy = &v
8400	return s
8401}
8402
8403// Provides information about caching for the distribution.
8404type AwsCloudFrontDistributionCacheBehaviors struct {
8405	_ struct{} `type:"structure"`
8406
8407	// The cache behaviors for the distribution.
8408	Items []*AwsCloudFrontDistributionCacheBehavior `type:"list"`
8409}
8410
8411// String returns the string representation
8412func (s AwsCloudFrontDistributionCacheBehaviors) String() string {
8413	return awsutil.Prettify(s)
8414}
8415
8416// GoString returns the string representation
8417func (s AwsCloudFrontDistributionCacheBehaviors) GoString() string {
8418	return s.String()
8419}
8420
8421// SetItems sets the Items field's value.
8422func (s *AwsCloudFrontDistributionCacheBehaviors) SetItems(v []*AwsCloudFrontDistributionCacheBehavior) *AwsCloudFrontDistributionCacheBehaviors {
8423	s.Items = v
8424	return s
8425}
8426
8427// Contains information about the default cache configuration for the distribution.
8428type AwsCloudFrontDistributionDefaultCacheBehavior struct {
8429	_ struct{} `type:"structure"`
8430
8431	// The protocol that viewers can use to access the files in an origin. You can
8432	// specify the following options:
8433	//
8434	//    * allow-all - Viewers can use HTTP or HTTPS.
8435	//
8436	//    * redirect-to-https - CloudFront responds to HTTP requests with an HTTP
8437	//    status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then
8438	//    uses the new URL to resubmit.
8439	//
8440	//    * https-only - CloudFront responds to HTTP request with an HTTP status
8441	//    code of 403 (Forbidden).
8442	ViewerProtocolPolicy *string `type:"string"`
8443}
8444
8445// String returns the string representation
8446func (s AwsCloudFrontDistributionDefaultCacheBehavior) String() string {
8447	return awsutil.Prettify(s)
8448}
8449
8450// GoString returns the string representation
8451func (s AwsCloudFrontDistributionDefaultCacheBehavior) GoString() string {
8452	return s.String()
8453}
8454
8455// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value.
8456func (s *AwsCloudFrontDistributionDefaultCacheBehavior) SetViewerProtocolPolicy(v string) *AwsCloudFrontDistributionDefaultCacheBehavior {
8457	s.ViewerProtocolPolicy = &v
8458	return s
8459}
8460
8461// A distribution configuration.
8462type AwsCloudFrontDistributionDetails struct {
8463	_ struct{} `type:"structure"`
8464
8465	// Provides information about the cache configuration for the distribution.
8466	CacheBehaviors *AwsCloudFrontDistributionCacheBehaviors `type:"structure"`
8467
8468	// The default cache behavior for the configuration.
8469	DefaultCacheBehavior *AwsCloudFrontDistributionDefaultCacheBehavior `type:"structure"`
8470
8471	// The object that CloudFront sends in response to requests from the origin
8472	// (for example, index.html) when a viewer requests the root URL for the distribution
8473	// (http://www.example.com) instead of an object in your distribution (http://www.example.com/product-description.html).
8474	DefaultRootObject *string `type:"string"`
8475
8476	// The domain name corresponding to the distribution.
8477	DomainName *string `type:"string"`
8478
8479	// The entity tag is a hash of the object.
8480	ETag *string `type:"string"`
8481
8482	// Indicates when that the distribution was last modified.
8483	//
8484	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8485	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8486	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8487	LastModifiedTime *string `type:"string"`
8488
8489	// A complex type that controls whether access logs are written for the distribution.
8490	Logging *AwsCloudFrontDistributionLogging `type:"structure"`
8491
8492	// Provides information about the origin groups in the distribution.
8493	OriginGroups *AwsCloudFrontDistributionOriginGroups `type:"structure"`
8494
8495	// A complex type that contains information about origins for this distribution.
8496	Origins *AwsCloudFrontDistributionOrigins `type:"structure"`
8497
8498	// Indicates the current status of the distribution.
8499	Status *string `type:"string"`
8500
8501	// A unique identifier that specifies the WAF web ACL, if any, to associate
8502	// with this distribution.
8503	WebAclId *string `type:"string"`
8504}
8505
8506// String returns the string representation
8507func (s AwsCloudFrontDistributionDetails) String() string {
8508	return awsutil.Prettify(s)
8509}
8510
8511// GoString returns the string representation
8512func (s AwsCloudFrontDistributionDetails) GoString() string {
8513	return s.String()
8514}
8515
8516// SetCacheBehaviors sets the CacheBehaviors field's value.
8517func (s *AwsCloudFrontDistributionDetails) SetCacheBehaviors(v *AwsCloudFrontDistributionCacheBehaviors) *AwsCloudFrontDistributionDetails {
8518	s.CacheBehaviors = v
8519	return s
8520}
8521
8522// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
8523func (s *AwsCloudFrontDistributionDetails) SetDefaultCacheBehavior(v *AwsCloudFrontDistributionDefaultCacheBehavior) *AwsCloudFrontDistributionDetails {
8524	s.DefaultCacheBehavior = v
8525	return s
8526}
8527
8528// SetDefaultRootObject sets the DefaultRootObject field's value.
8529func (s *AwsCloudFrontDistributionDetails) SetDefaultRootObject(v string) *AwsCloudFrontDistributionDetails {
8530	s.DefaultRootObject = &v
8531	return s
8532}
8533
8534// SetDomainName sets the DomainName field's value.
8535func (s *AwsCloudFrontDistributionDetails) SetDomainName(v string) *AwsCloudFrontDistributionDetails {
8536	s.DomainName = &v
8537	return s
8538}
8539
8540// SetETag sets the ETag field's value.
8541func (s *AwsCloudFrontDistributionDetails) SetETag(v string) *AwsCloudFrontDistributionDetails {
8542	s.ETag = &v
8543	return s
8544}
8545
8546// SetLastModifiedTime sets the LastModifiedTime field's value.
8547func (s *AwsCloudFrontDistributionDetails) SetLastModifiedTime(v string) *AwsCloudFrontDistributionDetails {
8548	s.LastModifiedTime = &v
8549	return s
8550}
8551
8552// SetLogging sets the Logging field's value.
8553func (s *AwsCloudFrontDistributionDetails) SetLogging(v *AwsCloudFrontDistributionLogging) *AwsCloudFrontDistributionDetails {
8554	s.Logging = v
8555	return s
8556}
8557
8558// SetOriginGroups sets the OriginGroups field's value.
8559func (s *AwsCloudFrontDistributionDetails) SetOriginGroups(v *AwsCloudFrontDistributionOriginGroups) *AwsCloudFrontDistributionDetails {
8560	s.OriginGroups = v
8561	return s
8562}
8563
8564// SetOrigins sets the Origins field's value.
8565func (s *AwsCloudFrontDistributionDetails) SetOrigins(v *AwsCloudFrontDistributionOrigins) *AwsCloudFrontDistributionDetails {
8566	s.Origins = v
8567	return s
8568}
8569
8570// SetStatus sets the Status field's value.
8571func (s *AwsCloudFrontDistributionDetails) SetStatus(v string) *AwsCloudFrontDistributionDetails {
8572	s.Status = &v
8573	return s
8574}
8575
8576// SetWebAclId sets the WebAclId field's value.
8577func (s *AwsCloudFrontDistributionDetails) SetWebAclId(v string) *AwsCloudFrontDistributionDetails {
8578	s.WebAclId = &v
8579	return s
8580}
8581
8582// A complex type that controls whether access logs are written for the distribution.
8583type AwsCloudFrontDistributionLogging struct {
8584	_ struct{} `type:"structure"`
8585
8586	// The S3 bucket to store the access logs in.
8587	Bucket *string `type:"string"`
8588
8589	// With this field, you can enable or disable the selected distribution.
8590	Enabled *bool `type:"boolean"`
8591
8592	// Specifies whether you want CloudFront to include cookies in access logs.
8593	IncludeCookies *bool `type:"boolean"`
8594
8595	// An optional string that you want CloudFront to use as a prefix to the access
8596	// log filenames for this distribution.
8597	Prefix *string `type:"string"`
8598}
8599
8600// String returns the string representation
8601func (s AwsCloudFrontDistributionLogging) String() string {
8602	return awsutil.Prettify(s)
8603}
8604
8605// GoString returns the string representation
8606func (s AwsCloudFrontDistributionLogging) GoString() string {
8607	return s.String()
8608}
8609
8610// SetBucket sets the Bucket field's value.
8611func (s *AwsCloudFrontDistributionLogging) SetBucket(v string) *AwsCloudFrontDistributionLogging {
8612	s.Bucket = &v
8613	return s
8614}
8615
8616// SetEnabled sets the Enabled field's value.
8617func (s *AwsCloudFrontDistributionLogging) SetEnabled(v bool) *AwsCloudFrontDistributionLogging {
8618	s.Enabled = &v
8619	return s
8620}
8621
8622// SetIncludeCookies sets the IncludeCookies field's value.
8623func (s *AwsCloudFrontDistributionLogging) SetIncludeCookies(v bool) *AwsCloudFrontDistributionLogging {
8624	s.IncludeCookies = &v
8625	return s
8626}
8627
8628// SetPrefix sets the Prefix field's value.
8629func (s *AwsCloudFrontDistributionLogging) SetPrefix(v string) *AwsCloudFrontDistributionLogging {
8630	s.Prefix = &v
8631	return s
8632}
8633
8634// Information about an origin group for the distribution.
8635type AwsCloudFrontDistributionOriginGroup struct {
8636	_ struct{} `type:"structure"`
8637
8638	// Provides the criteria for an origin group to fail over.
8639	FailoverCriteria *AwsCloudFrontDistributionOriginGroupFailover `type:"structure"`
8640}
8641
8642// String returns the string representation
8643func (s AwsCloudFrontDistributionOriginGroup) String() string {
8644	return awsutil.Prettify(s)
8645}
8646
8647// GoString returns the string representation
8648func (s AwsCloudFrontDistributionOriginGroup) GoString() string {
8649	return s.String()
8650}
8651
8652// SetFailoverCriteria sets the FailoverCriteria field's value.
8653func (s *AwsCloudFrontDistributionOriginGroup) SetFailoverCriteria(v *AwsCloudFrontDistributionOriginGroupFailover) *AwsCloudFrontDistributionOriginGroup {
8654	s.FailoverCriteria = v
8655	return s
8656}
8657
8658// Provides information about when an origin group fails over.
8659type AwsCloudFrontDistributionOriginGroupFailover struct {
8660	_ struct{} `type:"structure"`
8661
8662	// Information about the status codes that cause an origin group to fail over.
8663	StatusCodes *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes `type:"structure"`
8664}
8665
8666// String returns the string representation
8667func (s AwsCloudFrontDistributionOriginGroupFailover) String() string {
8668	return awsutil.Prettify(s)
8669}
8670
8671// GoString returns the string representation
8672func (s AwsCloudFrontDistributionOriginGroupFailover) GoString() string {
8673	return s.String()
8674}
8675
8676// SetStatusCodes sets the StatusCodes field's value.
8677func (s *AwsCloudFrontDistributionOriginGroupFailover) SetStatusCodes(v *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) *AwsCloudFrontDistributionOriginGroupFailover {
8678	s.StatusCodes = v
8679	return s
8680}
8681
8682// The status codes that cause an origin group to fail over.
8683type AwsCloudFrontDistributionOriginGroupFailoverStatusCodes struct {
8684	_ struct{} `type:"structure"`
8685
8686	// The list of status code values that can cause a failover to the next origin.
8687	Items []*int64 `type:"list"`
8688
8689	// The number of status codes that can cause a failover.
8690	Quantity *int64 `type:"integer"`
8691}
8692
8693// String returns the string representation
8694func (s AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) String() string {
8695	return awsutil.Prettify(s)
8696}
8697
8698// GoString returns the string representation
8699func (s AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) GoString() string {
8700	return s.String()
8701}
8702
8703// SetItems sets the Items field's value.
8704func (s *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) SetItems(v []*int64) *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes {
8705	s.Items = v
8706	return s
8707}
8708
8709// SetQuantity sets the Quantity field's value.
8710func (s *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) SetQuantity(v int64) *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes {
8711	s.Quantity = &v
8712	return s
8713}
8714
8715// Provides information about origin groups that are associated with the distribution.
8716type AwsCloudFrontDistributionOriginGroups struct {
8717	_ struct{} `type:"structure"`
8718
8719	// The list of origin groups.
8720	Items []*AwsCloudFrontDistributionOriginGroup `type:"list"`
8721}
8722
8723// String returns the string representation
8724func (s AwsCloudFrontDistributionOriginGroups) String() string {
8725	return awsutil.Prettify(s)
8726}
8727
8728// GoString returns the string representation
8729func (s AwsCloudFrontDistributionOriginGroups) GoString() string {
8730	return s.String()
8731}
8732
8733// SetItems sets the Items field's value.
8734func (s *AwsCloudFrontDistributionOriginGroups) SetItems(v []*AwsCloudFrontDistributionOriginGroup) *AwsCloudFrontDistributionOriginGroups {
8735	s.Items = v
8736	return s
8737}
8738
8739// A complex type that describes the S3 bucket, HTTP server (for example, a
8740// web server), AWS Elemental MediaStore, or other server from which CloudFront
8741// gets your files.
8742type AwsCloudFrontDistributionOriginItem struct {
8743	_ struct{} `type:"structure"`
8744
8745	// Amazon S3 origins: The DNS name of the S3 bucket from which you want CloudFront
8746	// to get objects for this origin.
8747	DomainName *string `type:"string"`
8748
8749	// A unique identifier for the origin or origin group.
8750	Id *string `type:"string"`
8751
8752	// An optional element that causes CloudFront to request your content from a
8753	// directory in your Amazon S3 bucket or your custom origin.
8754	OriginPath *string `type:"string"`
8755
8756	// An origin that is an S3 bucket that is not configured with static website
8757	// hosting.
8758	S3OriginConfig *AwsCloudFrontDistributionOriginS3OriginConfig `type:"structure"`
8759}
8760
8761// String returns the string representation
8762func (s AwsCloudFrontDistributionOriginItem) String() string {
8763	return awsutil.Prettify(s)
8764}
8765
8766// GoString returns the string representation
8767func (s AwsCloudFrontDistributionOriginItem) GoString() string {
8768	return s.String()
8769}
8770
8771// SetDomainName sets the DomainName field's value.
8772func (s *AwsCloudFrontDistributionOriginItem) SetDomainName(v string) *AwsCloudFrontDistributionOriginItem {
8773	s.DomainName = &v
8774	return s
8775}
8776
8777// SetId sets the Id field's value.
8778func (s *AwsCloudFrontDistributionOriginItem) SetId(v string) *AwsCloudFrontDistributionOriginItem {
8779	s.Id = &v
8780	return s
8781}
8782
8783// SetOriginPath sets the OriginPath field's value.
8784func (s *AwsCloudFrontDistributionOriginItem) SetOriginPath(v string) *AwsCloudFrontDistributionOriginItem {
8785	s.OriginPath = &v
8786	return s
8787}
8788
8789// SetS3OriginConfig sets the S3OriginConfig field's value.
8790func (s *AwsCloudFrontDistributionOriginItem) SetS3OriginConfig(v *AwsCloudFrontDistributionOriginS3OriginConfig) *AwsCloudFrontDistributionOriginItem {
8791	s.S3OriginConfig = v
8792	return s
8793}
8794
8795// Information about an origin that is an S3 bucket that is not configured with
8796// static website hosting.
8797type AwsCloudFrontDistributionOriginS3OriginConfig struct {
8798	_ struct{} `type:"structure"`
8799
8800	// The CloudFront origin access identity to associate with the origin.
8801	OriginAccessIdentity *string `type:"string"`
8802}
8803
8804// String returns the string representation
8805func (s AwsCloudFrontDistributionOriginS3OriginConfig) String() string {
8806	return awsutil.Prettify(s)
8807}
8808
8809// GoString returns the string representation
8810func (s AwsCloudFrontDistributionOriginS3OriginConfig) GoString() string {
8811	return s.String()
8812}
8813
8814// SetOriginAccessIdentity sets the OriginAccessIdentity field's value.
8815func (s *AwsCloudFrontDistributionOriginS3OriginConfig) SetOriginAccessIdentity(v string) *AwsCloudFrontDistributionOriginS3OriginConfig {
8816	s.OriginAccessIdentity = &v
8817	return s
8818}
8819
8820// A complex type that contains information about origins and origin groups
8821// for this distribution.
8822type AwsCloudFrontDistributionOrigins struct {
8823	_ struct{} `type:"structure"`
8824
8825	// A complex type that contains origins or origin groups for this distribution.
8826	Items []*AwsCloudFrontDistributionOriginItem `type:"list"`
8827}
8828
8829// String returns the string representation
8830func (s AwsCloudFrontDistributionOrigins) String() string {
8831	return awsutil.Prettify(s)
8832}
8833
8834// GoString returns the string representation
8835func (s AwsCloudFrontDistributionOrigins) GoString() string {
8836	return s.String()
8837}
8838
8839// SetItems sets the Items field's value.
8840func (s *AwsCloudFrontDistributionOrigins) SetItems(v []*AwsCloudFrontDistributionOriginItem) *AwsCloudFrontDistributionOrigins {
8841	s.Items = v
8842	return s
8843}
8844
8845// Provides details about a CloudTrail trail.
8846type AwsCloudTrailTrailDetails struct {
8847	_ struct{} `type:"structure"`
8848
8849	// The ARN of the log group that CloudTrail logs are delivered to.
8850	CloudWatchLogsLogGroupArn *string `type:"string"`
8851
8852	// The ARN of the role that the CloudWatch Events endpoint assumes when it writes
8853	// to the log group.
8854	CloudWatchLogsRoleArn *string `type:"string"`
8855
8856	// Indicates whether the trail has custom event selectors.
8857	HasCustomEventSelectors *bool `type:"boolean"`
8858
8859	// The Region where the trail was created.
8860	HomeRegion *string `type:"string"`
8861
8862	// Indicates whether the trail publishes events from global services such as
8863	// IAM to the log files.
8864	IncludeGlobalServiceEvents *bool `type:"boolean"`
8865
8866	// Indicates whether the trail applies only to the current Region or to all
8867	// Regions.
8868	IsMultiRegionTrail *bool `type:"boolean"`
8869
8870	// Whether the trail is created for all accounts in an organization in Organizations,
8871	// or only for the current Amazon Web Services account.
8872	IsOrganizationTrail *bool `type:"boolean"`
8873
8874	// The KMS key ID to use to encrypt the logs.
8875	KmsKeyId *string `type:"string"`
8876
8877	// Indicates whether CloudTrail log file validation is enabled.
8878	LogFileValidationEnabled *bool `type:"boolean"`
8879
8880	// The name of the trail.
8881	Name *string `type:"string"`
8882
8883	// The name of the S3 bucket where the log files are published.
8884	S3BucketName *string `type:"string"`
8885
8886	// The S3 key prefix. The key prefix is added after the name of the S3 bucket
8887	// where the log files are published.
8888	S3KeyPrefix *string `type:"string"`
8889
8890	// The ARN of the SNS topic that is used for notifications of log file delivery.
8891	SnsTopicArn *string `type:"string"`
8892
8893	// The name of the SNS topic that is used for notifications of log file delivery.
8894	SnsTopicName *string `type:"string"`
8895
8896	// The ARN of the trail.
8897	TrailArn *string `type:"string"`
8898}
8899
8900// String returns the string representation
8901func (s AwsCloudTrailTrailDetails) String() string {
8902	return awsutil.Prettify(s)
8903}
8904
8905// GoString returns the string representation
8906func (s AwsCloudTrailTrailDetails) GoString() string {
8907	return s.String()
8908}
8909
8910// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
8911func (s *AwsCloudTrailTrailDetails) SetCloudWatchLogsLogGroupArn(v string) *AwsCloudTrailTrailDetails {
8912	s.CloudWatchLogsLogGroupArn = &v
8913	return s
8914}
8915
8916// SetCloudWatchLogsRoleArn sets the CloudWatchLogsRoleArn field's value.
8917func (s *AwsCloudTrailTrailDetails) SetCloudWatchLogsRoleArn(v string) *AwsCloudTrailTrailDetails {
8918	s.CloudWatchLogsRoleArn = &v
8919	return s
8920}
8921
8922// SetHasCustomEventSelectors sets the HasCustomEventSelectors field's value.
8923func (s *AwsCloudTrailTrailDetails) SetHasCustomEventSelectors(v bool) *AwsCloudTrailTrailDetails {
8924	s.HasCustomEventSelectors = &v
8925	return s
8926}
8927
8928// SetHomeRegion sets the HomeRegion field's value.
8929func (s *AwsCloudTrailTrailDetails) SetHomeRegion(v string) *AwsCloudTrailTrailDetails {
8930	s.HomeRegion = &v
8931	return s
8932}
8933
8934// SetIncludeGlobalServiceEvents sets the IncludeGlobalServiceEvents field's value.
8935func (s *AwsCloudTrailTrailDetails) SetIncludeGlobalServiceEvents(v bool) *AwsCloudTrailTrailDetails {
8936	s.IncludeGlobalServiceEvents = &v
8937	return s
8938}
8939
8940// SetIsMultiRegionTrail sets the IsMultiRegionTrail field's value.
8941func (s *AwsCloudTrailTrailDetails) SetIsMultiRegionTrail(v bool) *AwsCloudTrailTrailDetails {
8942	s.IsMultiRegionTrail = &v
8943	return s
8944}
8945
8946// SetIsOrganizationTrail sets the IsOrganizationTrail field's value.
8947func (s *AwsCloudTrailTrailDetails) SetIsOrganizationTrail(v bool) *AwsCloudTrailTrailDetails {
8948	s.IsOrganizationTrail = &v
8949	return s
8950}
8951
8952// SetKmsKeyId sets the KmsKeyId field's value.
8953func (s *AwsCloudTrailTrailDetails) SetKmsKeyId(v string) *AwsCloudTrailTrailDetails {
8954	s.KmsKeyId = &v
8955	return s
8956}
8957
8958// SetLogFileValidationEnabled sets the LogFileValidationEnabled field's value.
8959func (s *AwsCloudTrailTrailDetails) SetLogFileValidationEnabled(v bool) *AwsCloudTrailTrailDetails {
8960	s.LogFileValidationEnabled = &v
8961	return s
8962}
8963
8964// SetName sets the Name field's value.
8965func (s *AwsCloudTrailTrailDetails) SetName(v string) *AwsCloudTrailTrailDetails {
8966	s.Name = &v
8967	return s
8968}
8969
8970// SetS3BucketName sets the S3BucketName field's value.
8971func (s *AwsCloudTrailTrailDetails) SetS3BucketName(v string) *AwsCloudTrailTrailDetails {
8972	s.S3BucketName = &v
8973	return s
8974}
8975
8976// SetS3KeyPrefix sets the S3KeyPrefix field's value.
8977func (s *AwsCloudTrailTrailDetails) SetS3KeyPrefix(v string) *AwsCloudTrailTrailDetails {
8978	s.S3KeyPrefix = &v
8979	return s
8980}
8981
8982// SetSnsTopicArn sets the SnsTopicArn field's value.
8983func (s *AwsCloudTrailTrailDetails) SetSnsTopicArn(v string) *AwsCloudTrailTrailDetails {
8984	s.SnsTopicArn = &v
8985	return s
8986}
8987
8988// SetSnsTopicName sets the SnsTopicName field's value.
8989func (s *AwsCloudTrailTrailDetails) SetSnsTopicName(v string) *AwsCloudTrailTrailDetails {
8990	s.SnsTopicName = &v
8991	return s
8992}
8993
8994// SetTrailArn sets the TrailArn field's value.
8995func (s *AwsCloudTrailTrailDetails) SetTrailArn(v string) *AwsCloudTrailTrailDetails {
8996	s.TrailArn = &v
8997	return s
8998}
8999
9000// Information about an CodeBuild project.
9001type AwsCodeBuildProjectDetails struct {
9002	_ struct{} `type:"structure"`
9003
9004	// The KMS key used to encrypt the build output artifacts.
9005	//
9006	// You can specify either the ARN of the KMS key or, if available, the KMS key
9007	// alias (using the format alias/alias-name).
9008	EncryptionKey *string `type:"string"`
9009
9010	// Information about the build environment for this build project.
9011	Environment *AwsCodeBuildProjectEnvironment `type:"structure"`
9012
9013	// The name of the build project.
9014	Name *string `type:"string"`
9015
9016	// The ARN of the IAM role that enables CodeBuild to interact with dependent
9017	// Amazon Web Services services on behalf of the Amazon Web Services account.
9018	ServiceRole *string `type:"string"`
9019
9020	// Information about the build input source code for this build project.
9021	Source *AwsCodeBuildProjectSource `type:"structure"`
9022
9023	// Information about the VPC configuration that CodeBuild accesses.
9024	VpcConfig *AwsCodeBuildProjectVpcConfig `type:"structure"`
9025}
9026
9027// String returns the string representation
9028func (s AwsCodeBuildProjectDetails) String() string {
9029	return awsutil.Prettify(s)
9030}
9031
9032// GoString returns the string representation
9033func (s AwsCodeBuildProjectDetails) GoString() string {
9034	return s.String()
9035}
9036
9037// SetEncryptionKey sets the EncryptionKey field's value.
9038func (s *AwsCodeBuildProjectDetails) SetEncryptionKey(v string) *AwsCodeBuildProjectDetails {
9039	s.EncryptionKey = &v
9040	return s
9041}
9042
9043// SetEnvironment sets the Environment field's value.
9044func (s *AwsCodeBuildProjectDetails) SetEnvironment(v *AwsCodeBuildProjectEnvironment) *AwsCodeBuildProjectDetails {
9045	s.Environment = v
9046	return s
9047}
9048
9049// SetName sets the Name field's value.
9050func (s *AwsCodeBuildProjectDetails) SetName(v string) *AwsCodeBuildProjectDetails {
9051	s.Name = &v
9052	return s
9053}
9054
9055// SetServiceRole sets the ServiceRole field's value.
9056func (s *AwsCodeBuildProjectDetails) SetServiceRole(v string) *AwsCodeBuildProjectDetails {
9057	s.ServiceRole = &v
9058	return s
9059}
9060
9061// SetSource sets the Source field's value.
9062func (s *AwsCodeBuildProjectDetails) SetSource(v *AwsCodeBuildProjectSource) *AwsCodeBuildProjectDetails {
9063	s.Source = v
9064	return s
9065}
9066
9067// SetVpcConfig sets the VpcConfig field's value.
9068func (s *AwsCodeBuildProjectDetails) SetVpcConfig(v *AwsCodeBuildProjectVpcConfig) *AwsCodeBuildProjectDetails {
9069	s.VpcConfig = v
9070	return s
9071}
9072
9073// Information about the build environment for this build project.
9074type AwsCodeBuildProjectEnvironment struct {
9075	_ struct{} `type:"structure"`
9076
9077	// The certificate to use with this build project.
9078	Certificate *string `type:"string"`
9079
9080	// The type of credentials CodeBuild uses to pull images in your build.
9081	//
9082	// Valid values:
9083	//
9084	//    * CODEBUILD specifies that CodeBuild uses its own credentials. This requires
9085	//    that you modify your ECR repository policy to trust the CodeBuild service
9086	//    principal.
9087	//
9088	//    * SERVICE_ROLE specifies that CodeBuild uses your build project's service
9089	//    role.
9090	//
9091	// When you use a cross-account or private registry image, you must use SERVICE_ROLE
9092	// credentials. When you use an CodeBuild curated image, you must use CODEBUILD
9093	// credentials.
9094	ImagePullCredentialsType *string `type:"string"`
9095
9096	// The credentials for access to a private registry.
9097	RegistryCredential *AwsCodeBuildProjectEnvironmentRegistryCredential `type:"structure"`
9098
9099	// The type of build environment to use for related builds.
9100	//
9101	// The environment type ARM_CONTAINER is available only in Regions US East (N.
9102	// Virginia), US East (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific
9103	// (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and Europe (Frankfurt).
9104	//
9105	// The environment type LINUX_CONTAINER with compute type build.general1.2xlarge
9106	// is available only in Regions US East (N. Virginia), US East (N. Virginia),
9107	// US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe
9108	// (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore),
9109	// Asia Pacific (Sydney), China (Beijing), and China (Ningxia).
9110	//
9111	// The environment type LINUX_GPU_CONTAINER is available only in Regions US
9112	// East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central),
9113	// Europe (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo),
9114	// Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China
9115	// (Beijing), and China (Ningxia).
9116	//
9117	// Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | LINUX_GPU_CONTAINER |
9118	// ARM_CONTAINER
9119	Type *string `type:"string"`
9120}
9121
9122// String returns the string representation
9123func (s AwsCodeBuildProjectEnvironment) String() string {
9124	return awsutil.Prettify(s)
9125}
9126
9127// GoString returns the string representation
9128func (s AwsCodeBuildProjectEnvironment) GoString() string {
9129	return s.String()
9130}
9131
9132// SetCertificate sets the Certificate field's value.
9133func (s *AwsCodeBuildProjectEnvironment) SetCertificate(v string) *AwsCodeBuildProjectEnvironment {
9134	s.Certificate = &v
9135	return s
9136}
9137
9138// SetImagePullCredentialsType sets the ImagePullCredentialsType field's value.
9139func (s *AwsCodeBuildProjectEnvironment) SetImagePullCredentialsType(v string) *AwsCodeBuildProjectEnvironment {
9140	s.ImagePullCredentialsType = &v
9141	return s
9142}
9143
9144// SetRegistryCredential sets the RegistryCredential field's value.
9145func (s *AwsCodeBuildProjectEnvironment) SetRegistryCredential(v *AwsCodeBuildProjectEnvironmentRegistryCredential) *AwsCodeBuildProjectEnvironment {
9146	s.RegistryCredential = v
9147	return s
9148}
9149
9150// SetType sets the Type field's value.
9151func (s *AwsCodeBuildProjectEnvironment) SetType(v string) *AwsCodeBuildProjectEnvironment {
9152	s.Type = &v
9153	return s
9154}
9155
9156// The credentials for access to a private registry.
9157type AwsCodeBuildProjectEnvironmentRegistryCredential struct {
9158	_ struct{} `type:"structure"`
9159
9160	// The ARN or name of credentials created using Secrets Manager.
9161	//
9162	// The credential can use the name of the credentials only if they exist in
9163	// your current Amazon Web Services Region.
9164	Credential *string `type:"string"`
9165
9166	// The service that created the credentials to access a private Docker registry.
9167	//
9168	// The valid value,SECRETS_MANAGER, is for Secrets Manager.
9169	CredentialProvider *string `type:"string"`
9170}
9171
9172// String returns the string representation
9173func (s AwsCodeBuildProjectEnvironmentRegistryCredential) String() string {
9174	return awsutil.Prettify(s)
9175}
9176
9177// GoString returns the string representation
9178func (s AwsCodeBuildProjectEnvironmentRegistryCredential) GoString() string {
9179	return s.String()
9180}
9181
9182// SetCredential sets the Credential field's value.
9183func (s *AwsCodeBuildProjectEnvironmentRegistryCredential) SetCredential(v string) *AwsCodeBuildProjectEnvironmentRegistryCredential {
9184	s.Credential = &v
9185	return s
9186}
9187
9188// SetCredentialProvider sets the CredentialProvider field's value.
9189func (s *AwsCodeBuildProjectEnvironmentRegistryCredential) SetCredentialProvider(v string) *AwsCodeBuildProjectEnvironmentRegistryCredential {
9190	s.CredentialProvider = &v
9191	return s
9192}
9193
9194// Information about the build input source code for this build project.
9195type AwsCodeBuildProjectSource struct {
9196	_ struct{} `type:"structure"`
9197
9198	// Information about the Git clone depth for the build project.
9199	GitCloneDepth *int64 `type:"integer"`
9200
9201	// Whether to ignore SSL warnings while connecting to the project source code.
9202	InsecureSsl *bool `type:"boolean"`
9203
9204	// Information about the location of the source code to be built.
9205	//
9206	// Valid values include:
9207	//
9208	//    * For source code settings that are specified in the source action of
9209	//    a pipeline in CodePipeline, location should not be specified. If it is
9210	//    specified, CodePipeline ignores it. This is because CodePipeline uses
9211	//    the settings in a pipeline's source action instead of this value.
9212	//
9213	//    * For source code in an CodeCommit repository, the HTTPS clone URL to
9214	//    the repository that contains the source code and the build spec file (for
9215	//    example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name
9216	//    ).
9217	//
9218	//    * For source code in an S3 input bucket, one of the following. The path
9219	//    to the ZIP file that contains the source code (for example, bucket-name/path/to/object-name.zip).
9220	//    The path to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/).
9221	//
9222	//    * For source code in a GitHub repository, the HTTPS clone URL to the repository
9223	//    that contains the source and the build spec file.
9224	//
9225	//    * For source code in a Bitbucket repository, the HTTPS clone URL to the
9226	//    repository that contains the source and the build spec file.
9227	Location *string `type:"string"`
9228
9229	// The type of repository that contains the source code to be built. Valid values
9230	// are:
9231	//
9232	//    * BITBUCKET - The source code is in a Bitbucket repository.
9233	//
9234	//    * CODECOMMIT - The source code is in an CodeCommit repository.
9235	//
9236	//    * CODEPIPELINE - The source code settings are specified in the source
9237	//    action of a pipeline in CodePipeline.
9238	//
9239	//    * GITHUB - The source code is in a GitHub repository.
9240	//
9241	//    * GITHUB_ENTERPRISE - The source code is in a GitHub Enterprise repository.
9242	//
9243	//    * NO_SOURCE - The project does not have input source code.
9244	//
9245	//    * S3 - The source code is in an S3 input bucket.
9246	Type *string `type:"string"`
9247}
9248
9249// String returns the string representation
9250func (s AwsCodeBuildProjectSource) String() string {
9251	return awsutil.Prettify(s)
9252}
9253
9254// GoString returns the string representation
9255func (s AwsCodeBuildProjectSource) GoString() string {
9256	return s.String()
9257}
9258
9259// SetGitCloneDepth sets the GitCloneDepth field's value.
9260func (s *AwsCodeBuildProjectSource) SetGitCloneDepth(v int64) *AwsCodeBuildProjectSource {
9261	s.GitCloneDepth = &v
9262	return s
9263}
9264
9265// SetInsecureSsl sets the InsecureSsl field's value.
9266func (s *AwsCodeBuildProjectSource) SetInsecureSsl(v bool) *AwsCodeBuildProjectSource {
9267	s.InsecureSsl = &v
9268	return s
9269}
9270
9271// SetLocation sets the Location field's value.
9272func (s *AwsCodeBuildProjectSource) SetLocation(v string) *AwsCodeBuildProjectSource {
9273	s.Location = &v
9274	return s
9275}
9276
9277// SetType sets the Type field's value.
9278func (s *AwsCodeBuildProjectSource) SetType(v string) *AwsCodeBuildProjectSource {
9279	s.Type = &v
9280	return s
9281}
9282
9283// Information about the VPC configuration that CodeBuild accesses.
9284type AwsCodeBuildProjectVpcConfig struct {
9285	_ struct{} `type:"structure"`
9286
9287	// A list of one or more security group IDs in your VPC.
9288	SecurityGroupIds []*string `type:"list"`
9289
9290	// A list of one or more subnet IDs in your VPC.
9291	Subnets []*string `type:"list"`
9292
9293	// The ID of the VPC.
9294	VpcId *string `type:"string"`
9295}
9296
9297// String returns the string representation
9298func (s AwsCodeBuildProjectVpcConfig) String() string {
9299	return awsutil.Prettify(s)
9300}
9301
9302// GoString returns the string representation
9303func (s AwsCodeBuildProjectVpcConfig) GoString() string {
9304	return s.String()
9305}
9306
9307// SetSecurityGroupIds sets the SecurityGroupIds field's value.
9308func (s *AwsCodeBuildProjectVpcConfig) SetSecurityGroupIds(v []*string) *AwsCodeBuildProjectVpcConfig {
9309	s.SecurityGroupIds = v
9310	return s
9311}
9312
9313// SetSubnets sets the Subnets field's value.
9314func (s *AwsCodeBuildProjectVpcConfig) SetSubnets(v []*string) *AwsCodeBuildProjectVpcConfig {
9315	s.Subnets = v
9316	return s
9317}
9318
9319// SetVpcId sets the VpcId field's value.
9320func (s *AwsCodeBuildProjectVpcConfig) SetVpcId(v string) *AwsCodeBuildProjectVpcConfig {
9321	s.VpcId = &v
9322	return s
9323}
9324
9325// Contains the cross-origin resource sharing (CORS) configuration for the API.
9326// CORS is only supported for HTTP APIs.
9327type AwsCorsConfiguration struct {
9328	_ struct{} `type:"structure"`
9329
9330	// Indicates whether the CORS request includes credentials.
9331	AllowCredentials *bool `type:"boolean"`
9332
9333	// The allowed headers for CORS requests.
9334	AllowHeaders []*string `type:"list"`
9335
9336	// The allowed methods for CORS requests.
9337	AllowMethods []*string `type:"list"`
9338
9339	// The allowed origins for CORS requests.
9340	AllowOrigins []*string `type:"list"`
9341
9342	// The exposed headers for CORS requests.
9343	ExposeHeaders []*string `type:"list"`
9344
9345	// The number of seconds for which the browser caches preflight request results.
9346	MaxAge *int64 `type:"integer"`
9347}
9348
9349// String returns the string representation
9350func (s AwsCorsConfiguration) String() string {
9351	return awsutil.Prettify(s)
9352}
9353
9354// GoString returns the string representation
9355func (s AwsCorsConfiguration) GoString() string {
9356	return s.String()
9357}
9358
9359// SetAllowCredentials sets the AllowCredentials field's value.
9360func (s *AwsCorsConfiguration) SetAllowCredentials(v bool) *AwsCorsConfiguration {
9361	s.AllowCredentials = &v
9362	return s
9363}
9364
9365// SetAllowHeaders sets the AllowHeaders field's value.
9366func (s *AwsCorsConfiguration) SetAllowHeaders(v []*string) *AwsCorsConfiguration {
9367	s.AllowHeaders = v
9368	return s
9369}
9370
9371// SetAllowMethods sets the AllowMethods field's value.
9372func (s *AwsCorsConfiguration) SetAllowMethods(v []*string) *AwsCorsConfiguration {
9373	s.AllowMethods = v
9374	return s
9375}
9376
9377// SetAllowOrigins sets the AllowOrigins field's value.
9378func (s *AwsCorsConfiguration) SetAllowOrigins(v []*string) *AwsCorsConfiguration {
9379	s.AllowOrigins = v
9380	return s
9381}
9382
9383// SetExposeHeaders sets the ExposeHeaders field's value.
9384func (s *AwsCorsConfiguration) SetExposeHeaders(v []*string) *AwsCorsConfiguration {
9385	s.ExposeHeaders = v
9386	return s
9387}
9388
9389// SetMaxAge sets the MaxAge field's value.
9390func (s *AwsCorsConfiguration) SetMaxAge(v int64) *AwsCorsConfiguration {
9391	s.MaxAge = &v
9392	return s
9393}
9394
9395// Contains a definition of an attribute for the table.
9396type AwsDynamoDbTableAttributeDefinition struct {
9397	_ struct{} `type:"structure"`
9398
9399	// The name of the attribute.
9400	AttributeName *string `type:"string"`
9401
9402	// The type of the attribute.
9403	AttributeType *string `type:"string"`
9404}
9405
9406// String returns the string representation
9407func (s AwsDynamoDbTableAttributeDefinition) String() string {
9408	return awsutil.Prettify(s)
9409}
9410
9411// GoString returns the string representation
9412func (s AwsDynamoDbTableAttributeDefinition) GoString() string {
9413	return s.String()
9414}
9415
9416// SetAttributeName sets the AttributeName field's value.
9417func (s *AwsDynamoDbTableAttributeDefinition) SetAttributeName(v string) *AwsDynamoDbTableAttributeDefinition {
9418	s.AttributeName = &v
9419	return s
9420}
9421
9422// SetAttributeType sets the AttributeType field's value.
9423func (s *AwsDynamoDbTableAttributeDefinition) SetAttributeType(v string) *AwsDynamoDbTableAttributeDefinition {
9424	s.AttributeType = &v
9425	return s
9426}
9427
9428// Provides information about the billing for read/write capacity on the table.
9429type AwsDynamoDbTableBillingModeSummary struct {
9430	_ struct{} `type:"structure"`
9431
9432	// The method used to charge for read and write throughput and to manage capacity.
9433	BillingMode *string `type:"string"`
9434
9435	// If the billing mode is PAY_PER_REQUEST, indicates when the billing mode was
9436	// set to that value.
9437	//
9438	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9439	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9440	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9441	LastUpdateToPayPerRequestDateTime *string `type:"string"`
9442}
9443
9444// String returns the string representation
9445func (s AwsDynamoDbTableBillingModeSummary) String() string {
9446	return awsutil.Prettify(s)
9447}
9448
9449// GoString returns the string representation
9450func (s AwsDynamoDbTableBillingModeSummary) GoString() string {
9451	return s.String()
9452}
9453
9454// SetBillingMode sets the BillingMode field's value.
9455func (s *AwsDynamoDbTableBillingModeSummary) SetBillingMode(v string) *AwsDynamoDbTableBillingModeSummary {
9456	s.BillingMode = &v
9457	return s
9458}
9459
9460// SetLastUpdateToPayPerRequestDateTime sets the LastUpdateToPayPerRequestDateTime field's value.
9461func (s *AwsDynamoDbTableBillingModeSummary) SetLastUpdateToPayPerRequestDateTime(v string) *AwsDynamoDbTableBillingModeSummary {
9462	s.LastUpdateToPayPerRequestDateTime = &v
9463	return s
9464}
9465
9466// Provides details about a DynamoDB table.
9467type AwsDynamoDbTableDetails struct {
9468	_ struct{} `type:"structure"`
9469
9470	// A list of attribute definitions for the table.
9471	AttributeDefinitions []*AwsDynamoDbTableAttributeDefinition `type:"list"`
9472
9473	// Information about the billing for read/write capacity on the table.
9474	BillingModeSummary *AwsDynamoDbTableBillingModeSummary `type:"structure"`
9475
9476	// Indicates when the table was created.
9477	//
9478	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9479	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9480	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9481	CreationDateTime *string `type:"string"`
9482
9483	// List of global secondary indexes for the table.
9484	GlobalSecondaryIndexes []*AwsDynamoDbTableGlobalSecondaryIndex `type:"list"`
9485
9486	// The version of global tables being used.
9487	GlobalTableVersion *string `type:"string"`
9488
9489	// The number of items in the table.
9490	ItemCount *int64 `type:"integer"`
9491
9492	// The primary key structure for the table.
9493	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
9494
9495	// The ARN of the latest stream for the table.
9496	LatestStreamArn *string `type:"string"`
9497
9498	// The label of the latest stream. The label is not a unique identifier.
9499	LatestStreamLabel *string `type:"string"`
9500
9501	// The list of local secondary indexes for the table.
9502	LocalSecondaryIndexes []*AwsDynamoDbTableLocalSecondaryIndex `type:"list"`
9503
9504	// Information about the provisioned throughput for the table.
9505	ProvisionedThroughput *AwsDynamoDbTableProvisionedThroughput `type:"structure"`
9506
9507	// The list of replicas of this table.
9508	Replicas []*AwsDynamoDbTableReplica `type:"list"`
9509
9510	// Information about the restore for the table.
9511	RestoreSummary *AwsDynamoDbTableRestoreSummary `type:"structure"`
9512
9513	// Information about the server-side encryption for the table.
9514	SseDescription *AwsDynamoDbTableSseDescription `type:"structure"`
9515
9516	// The current DynamoDB Streams configuration for the table.
9517	StreamSpecification *AwsDynamoDbTableStreamSpecification `type:"structure"`
9518
9519	// The identifier of the table.
9520	TableId *string `type:"string"`
9521
9522	// The name of the table.
9523	TableName *string `type:"string"`
9524
9525	// The total size of the table in bytes.
9526	TableSizeBytes *int64 `type:"long"`
9527
9528	// The current status of the table.
9529	TableStatus *string `type:"string"`
9530}
9531
9532// String returns the string representation
9533func (s AwsDynamoDbTableDetails) String() string {
9534	return awsutil.Prettify(s)
9535}
9536
9537// GoString returns the string representation
9538func (s AwsDynamoDbTableDetails) GoString() string {
9539	return s.String()
9540}
9541
9542// SetAttributeDefinitions sets the AttributeDefinitions field's value.
9543func (s *AwsDynamoDbTableDetails) SetAttributeDefinitions(v []*AwsDynamoDbTableAttributeDefinition) *AwsDynamoDbTableDetails {
9544	s.AttributeDefinitions = v
9545	return s
9546}
9547
9548// SetBillingModeSummary sets the BillingModeSummary field's value.
9549func (s *AwsDynamoDbTableDetails) SetBillingModeSummary(v *AwsDynamoDbTableBillingModeSummary) *AwsDynamoDbTableDetails {
9550	s.BillingModeSummary = v
9551	return s
9552}
9553
9554// SetCreationDateTime sets the CreationDateTime field's value.
9555func (s *AwsDynamoDbTableDetails) SetCreationDateTime(v string) *AwsDynamoDbTableDetails {
9556	s.CreationDateTime = &v
9557	return s
9558}
9559
9560// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
9561func (s *AwsDynamoDbTableDetails) SetGlobalSecondaryIndexes(v []*AwsDynamoDbTableGlobalSecondaryIndex) *AwsDynamoDbTableDetails {
9562	s.GlobalSecondaryIndexes = v
9563	return s
9564}
9565
9566// SetGlobalTableVersion sets the GlobalTableVersion field's value.
9567func (s *AwsDynamoDbTableDetails) SetGlobalTableVersion(v string) *AwsDynamoDbTableDetails {
9568	s.GlobalTableVersion = &v
9569	return s
9570}
9571
9572// SetItemCount sets the ItemCount field's value.
9573func (s *AwsDynamoDbTableDetails) SetItemCount(v int64) *AwsDynamoDbTableDetails {
9574	s.ItemCount = &v
9575	return s
9576}
9577
9578// SetKeySchema sets the KeySchema field's value.
9579func (s *AwsDynamoDbTableDetails) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableDetails {
9580	s.KeySchema = v
9581	return s
9582}
9583
9584// SetLatestStreamArn sets the LatestStreamArn field's value.
9585func (s *AwsDynamoDbTableDetails) SetLatestStreamArn(v string) *AwsDynamoDbTableDetails {
9586	s.LatestStreamArn = &v
9587	return s
9588}
9589
9590// SetLatestStreamLabel sets the LatestStreamLabel field's value.
9591func (s *AwsDynamoDbTableDetails) SetLatestStreamLabel(v string) *AwsDynamoDbTableDetails {
9592	s.LatestStreamLabel = &v
9593	return s
9594}
9595
9596// SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value.
9597func (s *AwsDynamoDbTableDetails) SetLocalSecondaryIndexes(v []*AwsDynamoDbTableLocalSecondaryIndex) *AwsDynamoDbTableDetails {
9598	s.LocalSecondaryIndexes = v
9599	return s
9600}
9601
9602// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
9603func (s *AwsDynamoDbTableDetails) SetProvisionedThroughput(v *AwsDynamoDbTableProvisionedThroughput) *AwsDynamoDbTableDetails {
9604	s.ProvisionedThroughput = v
9605	return s
9606}
9607
9608// SetReplicas sets the Replicas field's value.
9609func (s *AwsDynamoDbTableDetails) SetReplicas(v []*AwsDynamoDbTableReplica) *AwsDynamoDbTableDetails {
9610	s.Replicas = v
9611	return s
9612}
9613
9614// SetRestoreSummary sets the RestoreSummary field's value.
9615func (s *AwsDynamoDbTableDetails) SetRestoreSummary(v *AwsDynamoDbTableRestoreSummary) *AwsDynamoDbTableDetails {
9616	s.RestoreSummary = v
9617	return s
9618}
9619
9620// SetSseDescription sets the SseDescription field's value.
9621func (s *AwsDynamoDbTableDetails) SetSseDescription(v *AwsDynamoDbTableSseDescription) *AwsDynamoDbTableDetails {
9622	s.SseDescription = v
9623	return s
9624}
9625
9626// SetStreamSpecification sets the StreamSpecification field's value.
9627func (s *AwsDynamoDbTableDetails) SetStreamSpecification(v *AwsDynamoDbTableStreamSpecification) *AwsDynamoDbTableDetails {
9628	s.StreamSpecification = v
9629	return s
9630}
9631
9632// SetTableId sets the TableId field's value.
9633func (s *AwsDynamoDbTableDetails) SetTableId(v string) *AwsDynamoDbTableDetails {
9634	s.TableId = &v
9635	return s
9636}
9637
9638// SetTableName sets the TableName field's value.
9639func (s *AwsDynamoDbTableDetails) SetTableName(v string) *AwsDynamoDbTableDetails {
9640	s.TableName = &v
9641	return s
9642}
9643
9644// SetTableSizeBytes sets the TableSizeBytes field's value.
9645func (s *AwsDynamoDbTableDetails) SetTableSizeBytes(v int64) *AwsDynamoDbTableDetails {
9646	s.TableSizeBytes = &v
9647	return s
9648}
9649
9650// SetTableStatus sets the TableStatus field's value.
9651func (s *AwsDynamoDbTableDetails) SetTableStatus(v string) *AwsDynamoDbTableDetails {
9652	s.TableStatus = &v
9653	return s
9654}
9655
9656// Information abut a global secondary index for the table.
9657type AwsDynamoDbTableGlobalSecondaryIndex struct {
9658	_ struct{} `type:"structure"`
9659
9660	// Whether the index is currently backfilling.
9661	Backfilling *bool `type:"boolean"`
9662
9663	// The ARN of the index.
9664	IndexArn *string `type:"string"`
9665
9666	// The name of the index.
9667	IndexName *string `type:"string"`
9668
9669	// The total size in bytes of the index.
9670	IndexSizeBytes *int64 `type:"long"`
9671
9672	// The current status of the index.
9673	IndexStatus *string `type:"string"`
9674
9675	// The number of items in the index.
9676	ItemCount *int64 `type:"integer"`
9677
9678	// The key schema for the index.
9679	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
9680
9681	// Attributes that are copied from the table into an index.
9682	Projection *AwsDynamoDbTableProjection `type:"structure"`
9683
9684	// Information about the provisioned throughput settings for the indexes.
9685	ProvisionedThroughput *AwsDynamoDbTableProvisionedThroughput `type:"structure"`
9686}
9687
9688// String returns the string representation
9689func (s AwsDynamoDbTableGlobalSecondaryIndex) String() string {
9690	return awsutil.Prettify(s)
9691}
9692
9693// GoString returns the string representation
9694func (s AwsDynamoDbTableGlobalSecondaryIndex) GoString() string {
9695	return s.String()
9696}
9697
9698// SetBackfilling sets the Backfilling field's value.
9699func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetBackfilling(v bool) *AwsDynamoDbTableGlobalSecondaryIndex {
9700	s.Backfilling = &v
9701	return s
9702}
9703
9704// SetIndexArn sets the IndexArn field's value.
9705func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexArn(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
9706	s.IndexArn = &v
9707	return s
9708}
9709
9710// SetIndexName sets the IndexName field's value.
9711func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
9712	s.IndexName = &v
9713	return s
9714}
9715
9716// SetIndexSizeBytes sets the IndexSizeBytes field's value.
9717func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexSizeBytes(v int64) *AwsDynamoDbTableGlobalSecondaryIndex {
9718	s.IndexSizeBytes = &v
9719	return s
9720}
9721
9722// SetIndexStatus sets the IndexStatus field's value.
9723func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexStatus(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
9724	s.IndexStatus = &v
9725	return s
9726}
9727
9728// SetItemCount sets the ItemCount field's value.
9729func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetItemCount(v int64) *AwsDynamoDbTableGlobalSecondaryIndex {
9730	s.ItemCount = &v
9731	return s
9732}
9733
9734// SetKeySchema sets the KeySchema field's value.
9735func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableGlobalSecondaryIndex {
9736	s.KeySchema = v
9737	return s
9738}
9739
9740// SetProjection sets the Projection field's value.
9741func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetProjection(v *AwsDynamoDbTableProjection) *AwsDynamoDbTableGlobalSecondaryIndex {
9742	s.Projection = v
9743	return s
9744}
9745
9746// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
9747func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetProvisionedThroughput(v *AwsDynamoDbTableProvisionedThroughput) *AwsDynamoDbTableGlobalSecondaryIndex {
9748	s.ProvisionedThroughput = v
9749	return s
9750}
9751
9752// A component of the key schema for the DynamoDB table, a global secondary
9753// index, or a local secondary index.
9754type AwsDynamoDbTableKeySchema struct {
9755	_ struct{} `type:"structure"`
9756
9757	// The name of the key schema attribute.
9758	AttributeName *string `type:"string"`
9759
9760	// The type of key used for the key schema attribute.
9761	KeyType *string `type:"string"`
9762}
9763
9764// String returns the string representation
9765func (s AwsDynamoDbTableKeySchema) String() string {
9766	return awsutil.Prettify(s)
9767}
9768
9769// GoString returns the string representation
9770func (s AwsDynamoDbTableKeySchema) GoString() string {
9771	return s.String()
9772}
9773
9774// SetAttributeName sets the AttributeName field's value.
9775func (s *AwsDynamoDbTableKeySchema) SetAttributeName(v string) *AwsDynamoDbTableKeySchema {
9776	s.AttributeName = &v
9777	return s
9778}
9779
9780// SetKeyType sets the KeyType field's value.
9781func (s *AwsDynamoDbTableKeySchema) SetKeyType(v string) *AwsDynamoDbTableKeySchema {
9782	s.KeyType = &v
9783	return s
9784}
9785
9786// Information about a local secondary index for a DynamoDB table.
9787type AwsDynamoDbTableLocalSecondaryIndex struct {
9788	_ struct{} `type:"structure"`
9789
9790	// The ARN of the index.
9791	IndexArn *string `type:"string"`
9792
9793	// The name of the index.
9794	IndexName *string `type:"string"`
9795
9796	// The complete key schema for the index.
9797	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
9798
9799	// Attributes that are copied from the table into the index. These are in addition
9800	// to the primary key attributes and index key attributes, which are automatically
9801	// projected.
9802	Projection *AwsDynamoDbTableProjection `type:"structure"`
9803}
9804
9805// String returns the string representation
9806func (s AwsDynamoDbTableLocalSecondaryIndex) String() string {
9807	return awsutil.Prettify(s)
9808}
9809
9810// GoString returns the string representation
9811func (s AwsDynamoDbTableLocalSecondaryIndex) GoString() string {
9812	return s.String()
9813}
9814
9815// SetIndexArn sets the IndexArn field's value.
9816func (s *AwsDynamoDbTableLocalSecondaryIndex) SetIndexArn(v string) *AwsDynamoDbTableLocalSecondaryIndex {
9817	s.IndexArn = &v
9818	return s
9819}
9820
9821// SetIndexName sets the IndexName field's value.
9822func (s *AwsDynamoDbTableLocalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableLocalSecondaryIndex {
9823	s.IndexName = &v
9824	return s
9825}
9826
9827// SetKeySchema sets the KeySchema field's value.
9828func (s *AwsDynamoDbTableLocalSecondaryIndex) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableLocalSecondaryIndex {
9829	s.KeySchema = v
9830	return s
9831}
9832
9833// SetProjection sets the Projection field's value.
9834func (s *AwsDynamoDbTableLocalSecondaryIndex) SetProjection(v *AwsDynamoDbTableProjection) *AwsDynamoDbTableLocalSecondaryIndex {
9835	s.Projection = v
9836	return s
9837}
9838
9839// For global and local secondary indexes, identifies the attributes that are
9840// copied from the table into the index.
9841type AwsDynamoDbTableProjection struct {
9842	_ struct{} `type:"structure"`
9843
9844	// The nonkey attributes that are projected into the index. For each attribute,
9845	// provide the attribute name.
9846	NonKeyAttributes []*string `type:"list"`
9847
9848	// The types of attributes that are projected into the index.
9849	ProjectionType *string `type:"string"`
9850}
9851
9852// String returns the string representation
9853func (s AwsDynamoDbTableProjection) String() string {
9854	return awsutil.Prettify(s)
9855}
9856
9857// GoString returns the string representation
9858func (s AwsDynamoDbTableProjection) GoString() string {
9859	return s.String()
9860}
9861
9862// SetNonKeyAttributes sets the NonKeyAttributes field's value.
9863func (s *AwsDynamoDbTableProjection) SetNonKeyAttributes(v []*string) *AwsDynamoDbTableProjection {
9864	s.NonKeyAttributes = v
9865	return s
9866}
9867
9868// SetProjectionType sets the ProjectionType field's value.
9869func (s *AwsDynamoDbTableProjection) SetProjectionType(v string) *AwsDynamoDbTableProjection {
9870	s.ProjectionType = &v
9871	return s
9872}
9873
9874// Information about the provisioned throughput for the table or for a global
9875// secondary index.
9876type AwsDynamoDbTableProvisionedThroughput struct {
9877	_ struct{} `type:"structure"`
9878
9879	// Indicates when the provisioned throughput was last decreased.
9880	//
9881	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9882	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9883	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9884	LastDecreaseDateTime *string `type:"string"`
9885
9886	// Indicates when the provisioned throughput was last increased.
9887	//
9888	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9889	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9890	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9891	LastIncreaseDateTime *string `type:"string"`
9892
9893	// The number of times during the current UTC calendar day that the provisioned
9894	// throughput was decreased.
9895	NumberOfDecreasesToday *int64 `type:"integer"`
9896
9897	// The maximum number of strongly consistent reads consumed per second before
9898	// DynamoDB returns a ThrottlingException.
9899	ReadCapacityUnits *int64 `type:"integer"`
9900
9901	// The maximum number of writes consumed per second before DynamoDB returns
9902	// a ThrottlingException.
9903	WriteCapacityUnits *int64 `type:"integer"`
9904}
9905
9906// String returns the string representation
9907func (s AwsDynamoDbTableProvisionedThroughput) String() string {
9908	return awsutil.Prettify(s)
9909}
9910
9911// GoString returns the string representation
9912func (s AwsDynamoDbTableProvisionedThroughput) GoString() string {
9913	return s.String()
9914}
9915
9916// SetLastDecreaseDateTime sets the LastDecreaseDateTime field's value.
9917func (s *AwsDynamoDbTableProvisionedThroughput) SetLastDecreaseDateTime(v string) *AwsDynamoDbTableProvisionedThroughput {
9918	s.LastDecreaseDateTime = &v
9919	return s
9920}
9921
9922// SetLastIncreaseDateTime sets the LastIncreaseDateTime field's value.
9923func (s *AwsDynamoDbTableProvisionedThroughput) SetLastIncreaseDateTime(v string) *AwsDynamoDbTableProvisionedThroughput {
9924	s.LastIncreaseDateTime = &v
9925	return s
9926}
9927
9928// SetNumberOfDecreasesToday sets the NumberOfDecreasesToday field's value.
9929func (s *AwsDynamoDbTableProvisionedThroughput) SetNumberOfDecreasesToday(v int64) *AwsDynamoDbTableProvisionedThroughput {
9930	s.NumberOfDecreasesToday = &v
9931	return s
9932}
9933
9934// SetReadCapacityUnits sets the ReadCapacityUnits field's value.
9935func (s *AwsDynamoDbTableProvisionedThroughput) SetReadCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughput {
9936	s.ReadCapacityUnits = &v
9937	return s
9938}
9939
9940// SetWriteCapacityUnits sets the WriteCapacityUnits field's value.
9941func (s *AwsDynamoDbTableProvisionedThroughput) SetWriteCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughput {
9942	s.WriteCapacityUnits = &v
9943	return s
9944}
9945
9946// Replica-specific configuration for the provisioned throughput.
9947type AwsDynamoDbTableProvisionedThroughputOverride struct {
9948	_ struct{} `type:"structure"`
9949
9950	// The read capacity units for the replica.
9951	ReadCapacityUnits *int64 `type:"integer"`
9952}
9953
9954// String returns the string representation
9955func (s AwsDynamoDbTableProvisionedThroughputOverride) String() string {
9956	return awsutil.Prettify(s)
9957}
9958
9959// GoString returns the string representation
9960func (s AwsDynamoDbTableProvisionedThroughputOverride) GoString() string {
9961	return s.String()
9962}
9963
9964// SetReadCapacityUnits sets the ReadCapacityUnits field's value.
9965func (s *AwsDynamoDbTableProvisionedThroughputOverride) SetReadCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughputOverride {
9966	s.ReadCapacityUnits = &v
9967	return s
9968}
9969
9970// Information about a replica of a DynamoDB table.
9971type AwsDynamoDbTableReplica struct {
9972	_ struct{} `type:"structure"`
9973
9974	// List of global secondary indexes for the replica.
9975	GlobalSecondaryIndexes []*AwsDynamoDbTableReplicaGlobalSecondaryIndex `type:"list"`
9976
9977	// The identifier of the KMS key that will be used for KMS encryption for the
9978	// replica.
9979	KmsMasterKeyId *string `type:"string"`
9980
9981	// Replica-specific configuration for the provisioned throughput.
9982	ProvisionedThroughputOverride *AwsDynamoDbTableProvisionedThroughputOverride `type:"structure"`
9983
9984	// The name of the Region where the replica is located.
9985	RegionName *string `type:"string"`
9986
9987	// The current status of the replica.
9988	ReplicaStatus *string `type:"string"`
9989
9990	// Detailed information about the replica status.
9991	ReplicaStatusDescription *string `type:"string"`
9992}
9993
9994// String returns the string representation
9995func (s AwsDynamoDbTableReplica) String() string {
9996	return awsutil.Prettify(s)
9997}
9998
9999// GoString returns the string representation
10000func (s AwsDynamoDbTableReplica) GoString() string {
10001	return s.String()
10002}
10003
10004// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
10005func (s *AwsDynamoDbTableReplica) SetGlobalSecondaryIndexes(v []*AwsDynamoDbTableReplicaGlobalSecondaryIndex) *AwsDynamoDbTableReplica {
10006	s.GlobalSecondaryIndexes = v
10007	return s
10008}
10009
10010// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
10011func (s *AwsDynamoDbTableReplica) SetKmsMasterKeyId(v string) *AwsDynamoDbTableReplica {
10012	s.KmsMasterKeyId = &v
10013	return s
10014}
10015
10016// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value.
10017func (s *AwsDynamoDbTableReplica) SetProvisionedThroughputOverride(v *AwsDynamoDbTableProvisionedThroughputOverride) *AwsDynamoDbTableReplica {
10018	s.ProvisionedThroughputOverride = v
10019	return s
10020}
10021
10022// SetRegionName sets the RegionName field's value.
10023func (s *AwsDynamoDbTableReplica) SetRegionName(v string) *AwsDynamoDbTableReplica {
10024	s.RegionName = &v
10025	return s
10026}
10027
10028// SetReplicaStatus sets the ReplicaStatus field's value.
10029func (s *AwsDynamoDbTableReplica) SetReplicaStatus(v string) *AwsDynamoDbTableReplica {
10030	s.ReplicaStatus = &v
10031	return s
10032}
10033
10034// SetReplicaStatusDescription sets the ReplicaStatusDescription field's value.
10035func (s *AwsDynamoDbTableReplica) SetReplicaStatusDescription(v string) *AwsDynamoDbTableReplica {
10036	s.ReplicaStatusDescription = &v
10037	return s
10038}
10039
10040// Information about a global secondary index for a DynamoDB table replica.
10041type AwsDynamoDbTableReplicaGlobalSecondaryIndex struct {
10042	_ struct{} `type:"structure"`
10043
10044	// The name of the index.
10045	IndexName *string `type:"string"`
10046
10047	// Replica-specific configuration for the provisioned throughput for the index.
10048	ProvisionedThroughputOverride *AwsDynamoDbTableProvisionedThroughputOverride `type:"structure"`
10049}
10050
10051// String returns the string representation
10052func (s AwsDynamoDbTableReplicaGlobalSecondaryIndex) String() string {
10053	return awsutil.Prettify(s)
10054}
10055
10056// GoString returns the string representation
10057func (s AwsDynamoDbTableReplicaGlobalSecondaryIndex) GoString() string {
10058	return s.String()
10059}
10060
10061// SetIndexName sets the IndexName field's value.
10062func (s *AwsDynamoDbTableReplicaGlobalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableReplicaGlobalSecondaryIndex {
10063	s.IndexName = &v
10064	return s
10065}
10066
10067// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value.
10068func (s *AwsDynamoDbTableReplicaGlobalSecondaryIndex) SetProvisionedThroughputOverride(v *AwsDynamoDbTableProvisionedThroughputOverride) *AwsDynamoDbTableReplicaGlobalSecondaryIndex {
10069	s.ProvisionedThroughputOverride = v
10070	return s
10071}
10072
10073// Information about the restore for the table.
10074type AwsDynamoDbTableRestoreSummary struct {
10075	_ struct{} `type:"structure"`
10076
10077	// Indicates the point in time that the table was restored to.
10078	//
10079	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
10080	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
10081	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
10082	RestoreDateTime *string `type:"string"`
10083
10084	// Whether a restore is currently in progress.
10085	RestoreInProgress *bool `type:"boolean"`
10086
10087	// The ARN of the source backup from which the table was restored.
10088	SourceBackupArn *string `type:"string"`
10089
10090	// The ARN of the source table for the backup.
10091	SourceTableArn *string `type:"string"`
10092}
10093
10094// String returns the string representation
10095func (s AwsDynamoDbTableRestoreSummary) String() string {
10096	return awsutil.Prettify(s)
10097}
10098
10099// GoString returns the string representation
10100func (s AwsDynamoDbTableRestoreSummary) GoString() string {
10101	return s.String()
10102}
10103
10104// SetRestoreDateTime sets the RestoreDateTime field's value.
10105func (s *AwsDynamoDbTableRestoreSummary) SetRestoreDateTime(v string) *AwsDynamoDbTableRestoreSummary {
10106	s.RestoreDateTime = &v
10107	return s
10108}
10109
10110// SetRestoreInProgress sets the RestoreInProgress field's value.
10111func (s *AwsDynamoDbTableRestoreSummary) SetRestoreInProgress(v bool) *AwsDynamoDbTableRestoreSummary {
10112	s.RestoreInProgress = &v
10113	return s
10114}
10115
10116// SetSourceBackupArn sets the SourceBackupArn field's value.
10117func (s *AwsDynamoDbTableRestoreSummary) SetSourceBackupArn(v string) *AwsDynamoDbTableRestoreSummary {
10118	s.SourceBackupArn = &v
10119	return s
10120}
10121
10122// SetSourceTableArn sets the SourceTableArn field's value.
10123func (s *AwsDynamoDbTableRestoreSummary) SetSourceTableArn(v string) *AwsDynamoDbTableRestoreSummary {
10124	s.SourceTableArn = &v
10125	return s
10126}
10127
10128// Information about the server-side encryption for the table.
10129type AwsDynamoDbTableSseDescription struct {
10130	_ struct{} `type:"structure"`
10131
10132	// If the key is inaccessible, the date and time when DynamoDB detected that
10133	// the key was inaccessible.
10134	//
10135	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
10136	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
10137	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
10138	InaccessibleEncryptionDateTime *string `type:"string"`
10139
10140	// The ARN of the KMS key that is used for the KMS encryption.
10141	KmsMasterKeyArn *string `type:"string"`
10142
10143	// The type of server-side encryption.
10144	SseType *string `type:"string"`
10145
10146	// The status of the server-side encryption.
10147	Status *string `type:"string"`
10148}
10149
10150// String returns the string representation
10151func (s AwsDynamoDbTableSseDescription) String() string {
10152	return awsutil.Prettify(s)
10153}
10154
10155// GoString returns the string representation
10156func (s AwsDynamoDbTableSseDescription) GoString() string {
10157	return s.String()
10158}
10159
10160// SetInaccessibleEncryptionDateTime sets the InaccessibleEncryptionDateTime field's value.
10161func (s *AwsDynamoDbTableSseDescription) SetInaccessibleEncryptionDateTime(v string) *AwsDynamoDbTableSseDescription {
10162	s.InaccessibleEncryptionDateTime = &v
10163	return s
10164}
10165
10166// SetKmsMasterKeyArn sets the KmsMasterKeyArn field's value.
10167func (s *AwsDynamoDbTableSseDescription) SetKmsMasterKeyArn(v string) *AwsDynamoDbTableSseDescription {
10168	s.KmsMasterKeyArn = &v
10169	return s
10170}
10171
10172// SetSseType sets the SseType field's value.
10173func (s *AwsDynamoDbTableSseDescription) SetSseType(v string) *AwsDynamoDbTableSseDescription {
10174	s.SseType = &v
10175	return s
10176}
10177
10178// SetStatus sets the Status field's value.
10179func (s *AwsDynamoDbTableSseDescription) SetStatus(v string) *AwsDynamoDbTableSseDescription {
10180	s.Status = &v
10181	return s
10182}
10183
10184// The current DynamoDB Streams configuration for the table.
10185type AwsDynamoDbTableStreamSpecification struct {
10186	_ struct{} `type:"structure"`
10187
10188	// Indicates whether DynamoDB Streams is enabled on the table.
10189	StreamEnabled *bool `type:"boolean"`
10190
10191	// Determines the information that is written to the table.
10192	StreamViewType *string `type:"string"`
10193}
10194
10195// String returns the string representation
10196func (s AwsDynamoDbTableStreamSpecification) String() string {
10197	return awsutil.Prettify(s)
10198}
10199
10200// GoString returns the string representation
10201func (s AwsDynamoDbTableStreamSpecification) GoString() string {
10202	return s.String()
10203}
10204
10205// SetStreamEnabled sets the StreamEnabled field's value.
10206func (s *AwsDynamoDbTableStreamSpecification) SetStreamEnabled(v bool) *AwsDynamoDbTableStreamSpecification {
10207	s.StreamEnabled = &v
10208	return s
10209}
10210
10211// SetStreamViewType sets the StreamViewType field's value.
10212func (s *AwsDynamoDbTableStreamSpecification) SetStreamViewType(v string) *AwsDynamoDbTableStreamSpecification {
10213	s.StreamViewType = &v
10214	return s
10215}
10216
10217// Information about an Elastic IP address.
10218type AwsEc2EipDetails struct {
10219	_ struct{} `type:"structure"`
10220
10221	// The identifier that Amazon Web Services assigns to represent the allocation
10222	// of the Elastic IP address for use with Amazon VPC.
10223	AllocationId *string `type:"string"`
10224
10225	// The identifier that represents the association of the Elastic IP address
10226	// with an EC2 instance.
10227	AssociationId *string `type:"string"`
10228
10229	// The domain in which to allocate the address.
10230	//
10231	// If the address is for use with EC2 instances in a VPC, then Domain is vpc.
10232	// Otherwise, Domain is standard.
10233	Domain *string `type:"string"`
10234
10235	// The identifier of the EC2 instance.
10236	InstanceId *string `type:"string"`
10237
10238	// The name of the location from which the Elastic IP address is advertised.
10239	NetworkBorderGroup *string `type:"string"`
10240
10241	// The identifier of the network interface.
10242	NetworkInterfaceId *string `type:"string"`
10243
10244	// The Amazon Web Services account ID of the owner of the network interface.
10245	NetworkInterfaceOwnerId *string `type:"string"`
10246
10247	// The private IP address that is associated with the Elastic IP address.
10248	PrivateIpAddress *string `type:"string"`
10249
10250	// A public IP address that is associated with the EC2 instance.
10251	PublicIp *string `type:"string"`
10252
10253	// The identifier of an IP address pool. This parameter allows Amazon EC2 to
10254	// select an IP address from the address pool.
10255	PublicIpv4Pool *string `type:"string"`
10256}
10257
10258// String returns the string representation
10259func (s AwsEc2EipDetails) String() string {
10260	return awsutil.Prettify(s)
10261}
10262
10263// GoString returns the string representation
10264func (s AwsEc2EipDetails) GoString() string {
10265	return s.String()
10266}
10267
10268// SetAllocationId sets the AllocationId field's value.
10269func (s *AwsEc2EipDetails) SetAllocationId(v string) *AwsEc2EipDetails {
10270	s.AllocationId = &v
10271	return s
10272}
10273
10274// SetAssociationId sets the AssociationId field's value.
10275func (s *AwsEc2EipDetails) SetAssociationId(v string) *AwsEc2EipDetails {
10276	s.AssociationId = &v
10277	return s
10278}
10279
10280// SetDomain sets the Domain field's value.
10281func (s *AwsEc2EipDetails) SetDomain(v string) *AwsEc2EipDetails {
10282	s.Domain = &v
10283	return s
10284}
10285
10286// SetInstanceId sets the InstanceId field's value.
10287func (s *AwsEc2EipDetails) SetInstanceId(v string) *AwsEc2EipDetails {
10288	s.InstanceId = &v
10289	return s
10290}
10291
10292// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
10293func (s *AwsEc2EipDetails) SetNetworkBorderGroup(v string) *AwsEc2EipDetails {
10294	s.NetworkBorderGroup = &v
10295	return s
10296}
10297
10298// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
10299func (s *AwsEc2EipDetails) SetNetworkInterfaceId(v string) *AwsEc2EipDetails {
10300	s.NetworkInterfaceId = &v
10301	return s
10302}
10303
10304// SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
10305func (s *AwsEc2EipDetails) SetNetworkInterfaceOwnerId(v string) *AwsEc2EipDetails {
10306	s.NetworkInterfaceOwnerId = &v
10307	return s
10308}
10309
10310// SetPrivateIpAddress sets the PrivateIpAddress field's value.
10311func (s *AwsEc2EipDetails) SetPrivateIpAddress(v string) *AwsEc2EipDetails {
10312	s.PrivateIpAddress = &v
10313	return s
10314}
10315
10316// SetPublicIp sets the PublicIp field's value.
10317func (s *AwsEc2EipDetails) SetPublicIp(v string) *AwsEc2EipDetails {
10318	s.PublicIp = &v
10319	return s
10320}
10321
10322// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
10323func (s *AwsEc2EipDetails) SetPublicIpv4Pool(v string) *AwsEc2EipDetails {
10324	s.PublicIpv4Pool = &v
10325	return s
10326}
10327
10328// The details of an EC2 instance.
10329type AwsEc2InstanceDetails struct {
10330	_ struct{} `type:"structure"`
10331
10332	// The IAM profile ARN of the instance.
10333	IamInstanceProfileArn *string `type:"string"`
10334
10335	// The Amazon Machine Image (AMI) ID of the instance.
10336	ImageId *string `type:"string"`
10337
10338	// The IPv4 addresses associated with the instance.
10339	IpV4Addresses []*string `type:"list"`
10340
10341	// The IPv6 addresses associated with the instance.
10342	IpV6Addresses []*string `type:"list"`
10343
10344	// The key name associated with the instance.
10345	KeyName *string `type:"string"`
10346
10347	// Indicates when the instance was launched.
10348	//
10349	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
10350	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
10351	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
10352	LaunchedAt *string `type:"string"`
10353
10354	// The identifiers of the network interfaces for the EC2 instance. The details
10355	// for each network interface are in a corresponding AwsEc2NetworkInterfacesDetails
10356	// object.
10357	NetworkInterfaces []*AwsEc2InstanceNetworkInterfacesDetails `type:"list"`
10358
10359	// The identifier of the subnet that the instance was launched in.
10360	SubnetId *string `type:"string"`
10361
10362	// The instance type of the instance.
10363	Type *string `type:"string"`
10364
10365	// The identifier of the VPC that the instance was launched in.
10366	VpcId *string `type:"string"`
10367}
10368
10369// String returns the string representation
10370func (s AwsEc2InstanceDetails) String() string {
10371	return awsutil.Prettify(s)
10372}
10373
10374// GoString returns the string representation
10375func (s AwsEc2InstanceDetails) GoString() string {
10376	return s.String()
10377}
10378
10379// SetIamInstanceProfileArn sets the IamInstanceProfileArn field's value.
10380func (s *AwsEc2InstanceDetails) SetIamInstanceProfileArn(v string) *AwsEc2InstanceDetails {
10381	s.IamInstanceProfileArn = &v
10382	return s
10383}
10384
10385// SetImageId sets the ImageId field's value.
10386func (s *AwsEc2InstanceDetails) SetImageId(v string) *AwsEc2InstanceDetails {
10387	s.ImageId = &v
10388	return s
10389}
10390
10391// SetIpV4Addresses sets the IpV4Addresses field's value.
10392func (s *AwsEc2InstanceDetails) SetIpV4Addresses(v []*string) *AwsEc2InstanceDetails {
10393	s.IpV4Addresses = v
10394	return s
10395}
10396
10397// SetIpV6Addresses sets the IpV6Addresses field's value.
10398func (s *AwsEc2InstanceDetails) SetIpV6Addresses(v []*string) *AwsEc2InstanceDetails {
10399	s.IpV6Addresses = v
10400	return s
10401}
10402
10403// SetKeyName sets the KeyName field's value.
10404func (s *AwsEc2InstanceDetails) SetKeyName(v string) *AwsEc2InstanceDetails {
10405	s.KeyName = &v
10406	return s
10407}
10408
10409// SetLaunchedAt sets the LaunchedAt field's value.
10410func (s *AwsEc2InstanceDetails) SetLaunchedAt(v string) *AwsEc2InstanceDetails {
10411	s.LaunchedAt = &v
10412	return s
10413}
10414
10415// SetNetworkInterfaces sets the NetworkInterfaces field's value.
10416func (s *AwsEc2InstanceDetails) SetNetworkInterfaces(v []*AwsEc2InstanceNetworkInterfacesDetails) *AwsEc2InstanceDetails {
10417	s.NetworkInterfaces = v
10418	return s
10419}
10420
10421// SetSubnetId sets the SubnetId field's value.
10422func (s *AwsEc2InstanceDetails) SetSubnetId(v string) *AwsEc2InstanceDetails {
10423	s.SubnetId = &v
10424	return s
10425}
10426
10427// SetType sets the Type field's value.
10428func (s *AwsEc2InstanceDetails) SetType(v string) *AwsEc2InstanceDetails {
10429	s.Type = &v
10430	return s
10431}
10432
10433// SetVpcId sets the VpcId field's value.
10434func (s *AwsEc2InstanceDetails) SetVpcId(v string) *AwsEc2InstanceDetails {
10435	s.VpcId = &v
10436	return s
10437}
10438
10439// Identifies a network interface for the EC2 instance.
10440type AwsEc2InstanceNetworkInterfacesDetails struct {
10441	_ struct{} `type:"structure"`
10442
10443	// The identifier of the network interface. The details are in a corresponding
10444	// AwsEc2NetworkInterfacesDetails object.
10445	NetworkInterfaceId *string `type:"string"`
10446}
10447
10448// String returns the string representation
10449func (s AwsEc2InstanceNetworkInterfacesDetails) String() string {
10450	return awsutil.Prettify(s)
10451}
10452
10453// GoString returns the string representation
10454func (s AwsEc2InstanceNetworkInterfacesDetails) GoString() string {
10455	return s.String()
10456}
10457
10458// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
10459func (s *AwsEc2InstanceNetworkInterfacesDetails) SetNetworkInterfaceId(v string) *AwsEc2InstanceNetworkInterfacesDetails {
10460	s.NetworkInterfaceId = &v
10461	return s
10462}
10463
10464// An association between the network ACL and a subnet.
10465type AwsEc2NetworkAclAssociation struct {
10466	_ struct{} `type:"structure"`
10467
10468	// The identifier of the association between the network ACL and the subnet.
10469	NetworkAclAssociationId *string `type:"string"`
10470
10471	// The identifier of the network ACL.
10472	NetworkAclId *string `type:"string"`
10473
10474	// The identifier of the subnet that is associated with the network ACL.
10475	SubnetId *string `type:"string"`
10476}
10477
10478// String returns the string representation
10479func (s AwsEc2NetworkAclAssociation) String() string {
10480	return awsutil.Prettify(s)
10481}
10482
10483// GoString returns the string representation
10484func (s AwsEc2NetworkAclAssociation) GoString() string {
10485	return s.String()
10486}
10487
10488// SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
10489func (s *AwsEc2NetworkAclAssociation) SetNetworkAclAssociationId(v string) *AwsEc2NetworkAclAssociation {
10490	s.NetworkAclAssociationId = &v
10491	return s
10492}
10493
10494// SetNetworkAclId sets the NetworkAclId field's value.
10495func (s *AwsEc2NetworkAclAssociation) SetNetworkAclId(v string) *AwsEc2NetworkAclAssociation {
10496	s.NetworkAclId = &v
10497	return s
10498}
10499
10500// SetSubnetId sets the SubnetId field's value.
10501func (s *AwsEc2NetworkAclAssociation) SetSubnetId(v string) *AwsEc2NetworkAclAssociation {
10502	s.SubnetId = &v
10503	return s
10504}
10505
10506// Contains details about an EC2 network access control list (ACL).
10507type AwsEc2NetworkAclDetails struct {
10508	_ struct{} `type:"structure"`
10509
10510	// Associations between the network ACL and subnets.
10511	Associations []*AwsEc2NetworkAclAssociation `type:"list"`
10512
10513	// The set of rules in the network ACL.
10514	Entries []*AwsEc2NetworkAclEntry `type:"list"`
10515
10516	// Whether this is the default network ACL for the VPC.
10517	IsDefault *bool `type:"boolean"`
10518
10519	// The identifier of the network ACL.
10520	NetworkAclId *string `type:"string"`
10521
10522	// The identifier of the Amazon Web Services account that owns the network ACL.
10523	OwnerId *string `type:"string"`
10524
10525	// The identifier of the VPC for the network ACL.
10526	VpcId *string `type:"string"`
10527}
10528
10529// String returns the string representation
10530func (s AwsEc2NetworkAclDetails) String() string {
10531	return awsutil.Prettify(s)
10532}
10533
10534// GoString returns the string representation
10535func (s AwsEc2NetworkAclDetails) GoString() string {
10536	return s.String()
10537}
10538
10539// SetAssociations sets the Associations field's value.
10540func (s *AwsEc2NetworkAclDetails) SetAssociations(v []*AwsEc2NetworkAclAssociation) *AwsEc2NetworkAclDetails {
10541	s.Associations = v
10542	return s
10543}
10544
10545// SetEntries sets the Entries field's value.
10546func (s *AwsEc2NetworkAclDetails) SetEntries(v []*AwsEc2NetworkAclEntry) *AwsEc2NetworkAclDetails {
10547	s.Entries = v
10548	return s
10549}
10550
10551// SetIsDefault sets the IsDefault field's value.
10552func (s *AwsEc2NetworkAclDetails) SetIsDefault(v bool) *AwsEc2NetworkAclDetails {
10553	s.IsDefault = &v
10554	return s
10555}
10556
10557// SetNetworkAclId sets the NetworkAclId field's value.
10558func (s *AwsEc2NetworkAclDetails) SetNetworkAclId(v string) *AwsEc2NetworkAclDetails {
10559	s.NetworkAclId = &v
10560	return s
10561}
10562
10563// SetOwnerId sets the OwnerId field's value.
10564func (s *AwsEc2NetworkAclDetails) SetOwnerId(v string) *AwsEc2NetworkAclDetails {
10565	s.OwnerId = &v
10566	return s
10567}
10568
10569// SetVpcId sets the VpcId field's value.
10570func (s *AwsEc2NetworkAclDetails) SetVpcId(v string) *AwsEc2NetworkAclDetails {
10571	s.VpcId = &v
10572	return s
10573}
10574
10575// A rule for the network ACL. Each rule allows or denies access based on the
10576// IP address, traffic direction, port, and protocol.
10577type AwsEc2NetworkAclEntry struct {
10578	_ struct{} `type:"structure"`
10579
10580	// The IPV4 network range for which to deny or allow access.
10581	CidrBlock *string `type:"string"`
10582
10583	// Whether the rule is an egress rule. An egress rule is a rule that applies
10584	// to traffic that leaves the subnet.
10585	Egress *bool `type:"boolean"`
10586
10587	// The Internet Control Message Protocol (ICMP) type and code for which to deny
10588	// or allow access.
10589	IcmpTypeCode *IcmpTypeCode `type:"structure"`
10590
10591	// The IPV6 network range for which to deny or allow access.
10592	Ipv6CidrBlock *string `type:"string"`
10593
10594	// For TCP or UDP protocols, the range of ports that the rule applies to.
10595	PortRange *PortRangeFromTo `type:"structure"`
10596
10597	// The protocol that the rule applies to. To deny or allow access to all protocols,
10598	// use the value -1.
10599	Protocol *string `type:"string"`
10600
10601	// Whether the rule is used to allow access or deny access.
10602	RuleAction *string `type:"string"`
10603
10604	// The rule number. The rules are processed in order by their number.
10605	RuleNumber *int64 `type:"integer"`
10606}
10607
10608// String returns the string representation
10609func (s AwsEc2NetworkAclEntry) String() string {
10610	return awsutil.Prettify(s)
10611}
10612
10613// GoString returns the string representation
10614func (s AwsEc2NetworkAclEntry) GoString() string {
10615	return s.String()
10616}
10617
10618// SetCidrBlock sets the CidrBlock field's value.
10619func (s *AwsEc2NetworkAclEntry) SetCidrBlock(v string) *AwsEc2NetworkAclEntry {
10620	s.CidrBlock = &v
10621	return s
10622}
10623
10624// SetEgress sets the Egress field's value.
10625func (s *AwsEc2NetworkAclEntry) SetEgress(v bool) *AwsEc2NetworkAclEntry {
10626	s.Egress = &v
10627	return s
10628}
10629
10630// SetIcmpTypeCode sets the IcmpTypeCode field's value.
10631func (s *AwsEc2NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *AwsEc2NetworkAclEntry {
10632	s.IcmpTypeCode = v
10633	return s
10634}
10635
10636// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
10637func (s *AwsEc2NetworkAclEntry) SetIpv6CidrBlock(v string) *AwsEc2NetworkAclEntry {
10638	s.Ipv6CidrBlock = &v
10639	return s
10640}
10641
10642// SetPortRange sets the PortRange field's value.
10643func (s *AwsEc2NetworkAclEntry) SetPortRange(v *PortRangeFromTo) *AwsEc2NetworkAclEntry {
10644	s.PortRange = v
10645	return s
10646}
10647
10648// SetProtocol sets the Protocol field's value.
10649func (s *AwsEc2NetworkAclEntry) SetProtocol(v string) *AwsEc2NetworkAclEntry {
10650	s.Protocol = &v
10651	return s
10652}
10653
10654// SetRuleAction sets the RuleAction field's value.
10655func (s *AwsEc2NetworkAclEntry) SetRuleAction(v string) *AwsEc2NetworkAclEntry {
10656	s.RuleAction = &v
10657	return s
10658}
10659
10660// SetRuleNumber sets the RuleNumber field's value.
10661func (s *AwsEc2NetworkAclEntry) SetRuleNumber(v int64) *AwsEc2NetworkAclEntry {
10662	s.RuleNumber = &v
10663	return s
10664}
10665
10666// Information about the network interface attachment.
10667type AwsEc2NetworkInterfaceAttachment struct {
10668	_ struct{} `type:"structure"`
10669
10670	// Indicates when the attachment initiated.
10671	//
10672	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
10673	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
10674	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
10675	AttachTime *string `type:"string"`
10676
10677	// The identifier of the network interface attachment
10678	AttachmentId *string `type:"string"`
10679
10680	// Indicates whether the network interface is deleted when the instance is terminated.
10681	DeleteOnTermination *bool `type:"boolean"`
10682
10683	// The device index of the network interface attachment on the instance.
10684	DeviceIndex *int64 `type:"integer"`
10685
10686	// The ID of the instance.
10687	InstanceId *string `type:"string"`
10688
10689	// The Amazon Web Services account ID of the owner of the instance.
10690	InstanceOwnerId *string `type:"string"`
10691
10692	// The attachment state.
10693	//
10694	// Valid values: attaching | attached | detaching | detached
10695	Status *string `type:"string"`
10696}
10697
10698// String returns the string representation
10699func (s AwsEc2NetworkInterfaceAttachment) String() string {
10700	return awsutil.Prettify(s)
10701}
10702
10703// GoString returns the string representation
10704func (s AwsEc2NetworkInterfaceAttachment) GoString() string {
10705	return s.String()
10706}
10707
10708// SetAttachTime sets the AttachTime field's value.
10709func (s *AwsEc2NetworkInterfaceAttachment) SetAttachTime(v string) *AwsEc2NetworkInterfaceAttachment {
10710	s.AttachTime = &v
10711	return s
10712}
10713
10714// SetAttachmentId sets the AttachmentId field's value.
10715func (s *AwsEc2NetworkInterfaceAttachment) SetAttachmentId(v string) *AwsEc2NetworkInterfaceAttachment {
10716	s.AttachmentId = &v
10717	return s
10718}
10719
10720// SetDeleteOnTermination sets the DeleteOnTermination field's value.
10721func (s *AwsEc2NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *AwsEc2NetworkInterfaceAttachment {
10722	s.DeleteOnTermination = &v
10723	return s
10724}
10725
10726// SetDeviceIndex sets the DeviceIndex field's value.
10727func (s *AwsEc2NetworkInterfaceAttachment) SetDeviceIndex(v int64) *AwsEc2NetworkInterfaceAttachment {
10728	s.DeviceIndex = &v
10729	return s
10730}
10731
10732// SetInstanceId sets the InstanceId field's value.
10733func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceId(v string) *AwsEc2NetworkInterfaceAttachment {
10734	s.InstanceId = &v
10735	return s
10736}
10737
10738// SetInstanceOwnerId sets the InstanceOwnerId field's value.
10739func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *AwsEc2NetworkInterfaceAttachment {
10740	s.InstanceOwnerId = &v
10741	return s
10742}
10743
10744// SetStatus sets the Status field's value.
10745func (s *AwsEc2NetworkInterfaceAttachment) SetStatus(v string) *AwsEc2NetworkInterfaceAttachment {
10746	s.Status = &v
10747	return s
10748}
10749
10750// Details about the network interface
10751type AwsEc2NetworkInterfaceDetails struct {
10752	_ struct{} `type:"structure"`
10753
10754	// The network interface attachment.
10755	Attachment *AwsEc2NetworkInterfaceAttachment `type:"structure"`
10756
10757	// The IPv6 addresses associated with the network interface.
10758	IpV6Addresses []*AwsEc2NetworkInterfaceIpV6AddressDetail `type:"list"`
10759
10760	// The ID of the network interface.
10761	NetworkInterfaceId *string `type:"string"`
10762
10763	// The private IPv4 addresses associated with the network interface.
10764	PrivateIpAddresses []*AwsEc2NetworkInterfacePrivateIpAddressDetail `type:"list"`
10765
10766	// The public DNS name of the network interface.
10767	PublicDnsName *string `type:"string"`
10768
10769	// The address of the Elastic IP address bound to the network interface.
10770	PublicIp *string `type:"string"`
10771
10772	// Security groups for the network interface.
10773	SecurityGroups []*AwsEc2NetworkInterfaceSecurityGroup `type:"list"`
10774
10775	// Indicates whether traffic to or from the instance is validated.
10776	SourceDestCheck *bool `type:"boolean"`
10777}
10778
10779// String returns the string representation
10780func (s AwsEc2NetworkInterfaceDetails) String() string {
10781	return awsutil.Prettify(s)
10782}
10783
10784// GoString returns the string representation
10785func (s AwsEc2NetworkInterfaceDetails) GoString() string {
10786	return s.String()
10787}
10788
10789// SetAttachment sets the Attachment field's value.
10790func (s *AwsEc2NetworkInterfaceDetails) SetAttachment(v *AwsEc2NetworkInterfaceAttachment) *AwsEc2NetworkInterfaceDetails {
10791	s.Attachment = v
10792	return s
10793}
10794
10795// SetIpV6Addresses sets the IpV6Addresses field's value.
10796func (s *AwsEc2NetworkInterfaceDetails) SetIpV6Addresses(v []*AwsEc2NetworkInterfaceIpV6AddressDetail) *AwsEc2NetworkInterfaceDetails {
10797	s.IpV6Addresses = v
10798	return s
10799}
10800
10801// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
10802func (s *AwsEc2NetworkInterfaceDetails) SetNetworkInterfaceId(v string) *AwsEc2NetworkInterfaceDetails {
10803	s.NetworkInterfaceId = &v
10804	return s
10805}
10806
10807// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
10808func (s *AwsEc2NetworkInterfaceDetails) SetPrivateIpAddresses(v []*AwsEc2NetworkInterfacePrivateIpAddressDetail) *AwsEc2NetworkInterfaceDetails {
10809	s.PrivateIpAddresses = v
10810	return s
10811}
10812
10813// SetPublicDnsName sets the PublicDnsName field's value.
10814func (s *AwsEc2NetworkInterfaceDetails) SetPublicDnsName(v string) *AwsEc2NetworkInterfaceDetails {
10815	s.PublicDnsName = &v
10816	return s
10817}
10818
10819// SetPublicIp sets the PublicIp field's value.
10820func (s *AwsEc2NetworkInterfaceDetails) SetPublicIp(v string) *AwsEc2NetworkInterfaceDetails {
10821	s.PublicIp = &v
10822	return s
10823}
10824
10825// SetSecurityGroups sets the SecurityGroups field's value.
10826func (s *AwsEc2NetworkInterfaceDetails) SetSecurityGroups(v []*AwsEc2NetworkInterfaceSecurityGroup) *AwsEc2NetworkInterfaceDetails {
10827	s.SecurityGroups = v
10828	return s
10829}
10830
10831// SetSourceDestCheck sets the SourceDestCheck field's value.
10832func (s *AwsEc2NetworkInterfaceDetails) SetSourceDestCheck(v bool) *AwsEc2NetworkInterfaceDetails {
10833	s.SourceDestCheck = &v
10834	return s
10835}
10836
10837// Provides information about an IPV6 address that is associated with the network
10838// interface.
10839type AwsEc2NetworkInterfaceIpV6AddressDetail struct {
10840	_ struct{} `type:"structure"`
10841
10842	// The IPV6 address.
10843	IpV6Address *string `type:"string"`
10844}
10845
10846// String returns the string representation
10847func (s AwsEc2NetworkInterfaceIpV6AddressDetail) String() string {
10848	return awsutil.Prettify(s)
10849}
10850
10851// GoString returns the string representation
10852func (s AwsEc2NetworkInterfaceIpV6AddressDetail) GoString() string {
10853	return s.String()
10854}
10855
10856// SetIpV6Address sets the IpV6Address field's value.
10857func (s *AwsEc2NetworkInterfaceIpV6AddressDetail) SetIpV6Address(v string) *AwsEc2NetworkInterfaceIpV6AddressDetail {
10858	s.IpV6Address = &v
10859	return s
10860}
10861
10862// Provides information about a private IPv4 address that is with the network
10863// interface.
10864type AwsEc2NetworkInterfacePrivateIpAddressDetail struct {
10865	_ struct{} `type:"structure"`
10866
10867	// The private DNS name for the IP address.
10868	PrivateDnsName *string `type:"string"`
10869
10870	// The IP address.
10871	PrivateIpAddress *string `type:"string"`
10872}
10873
10874// String returns the string representation
10875func (s AwsEc2NetworkInterfacePrivateIpAddressDetail) String() string {
10876	return awsutil.Prettify(s)
10877}
10878
10879// GoString returns the string representation
10880func (s AwsEc2NetworkInterfacePrivateIpAddressDetail) GoString() string {
10881	return s.String()
10882}
10883
10884// SetPrivateDnsName sets the PrivateDnsName field's value.
10885func (s *AwsEc2NetworkInterfacePrivateIpAddressDetail) SetPrivateDnsName(v string) *AwsEc2NetworkInterfacePrivateIpAddressDetail {
10886	s.PrivateDnsName = &v
10887	return s
10888}
10889
10890// SetPrivateIpAddress sets the PrivateIpAddress field's value.
10891func (s *AwsEc2NetworkInterfacePrivateIpAddressDetail) SetPrivateIpAddress(v string) *AwsEc2NetworkInterfacePrivateIpAddressDetail {
10892	s.PrivateIpAddress = &v
10893	return s
10894}
10895
10896// A security group associated with the network interface.
10897type AwsEc2NetworkInterfaceSecurityGroup struct {
10898	_ struct{} `type:"structure"`
10899
10900	// The ID of the security group.
10901	GroupId *string `type:"string"`
10902
10903	// The name of the security group.
10904	GroupName *string `type:"string"`
10905}
10906
10907// String returns the string representation
10908func (s AwsEc2NetworkInterfaceSecurityGroup) String() string {
10909	return awsutil.Prettify(s)
10910}
10911
10912// GoString returns the string representation
10913func (s AwsEc2NetworkInterfaceSecurityGroup) GoString() string {
10914	return s.String()
10915}
10916
10917// SetGroupId sets the GroupId field's value.
10918func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupId(v string) *AwsEc2NetworkInterfaceSecurityGroup {
10919	s.GroupId = &v
10920	return s
10921}
10922
10923// SetGroupName sets the GroupName field's value.
10924func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupName(v string) *AwsEc2NetworkInterfaceSecurityGroup {
10925	s.GroupName = &v
10926	return s
10927}
10928
10929// Details about an EC2 security group.
10930type AwsEc2SecurityGroupDetails struct {
10931	_ struct{} `type:"structure"`
10932
10933	// The ID of the security group.
10934	GroupId *string `type:"string"`
10935
10936	// The name of the security group.
10937	GroupName *string `type:"string"`
10938
10939	// The inbound rules associated with the security group.
10940	IpPermissions []*AwsEc2SecurityGroupIpPermission `type:"list"`
10941
10942	// [VPC only] The outbound rules associated with the security group.
10943	IpPermissionsEgress []*AwsEc2SecurityGroupIpPermission `type:"list"`
10944
10945	// The Amazon Web Services account ID of the owner of the security group.
10946	OwnerId *string `type:"string"`
10947
10948	// [VPC only] The ID of the VPC for the security group.
10949	VpcId *string `type:"string"`
10950}
10951
10952// String returns the string representation
10953func (s AwsEc2SecurityGroupDetails) String() string {
10954	return awsutil.Prettify(s)
10955}
10956
10957// GoString returns the string representation
10958func (s AwsEc2SecurityGroupDetails) GoString() string {
10959	return s.String()
10960}
10961
10962// SetGroupId sets the GroupId field's value.
10963func (s *AwsEc2SecurityGroupDetails) SetGroupId(v string) *AwsEc2SecurityGroupDetails {
10964	s.GroupId = &v
10965	return s
10966}
10967
10968// SetGroupName sets the GroupName field's value.
10969func (s *AwsEc2SecurityGroupDetails) SetGroupName(v string) *AwsEc2SecurityGroupDetails {
10970	s.GroupName = &v
10971	return s
10972}
10973
10974// SetIpPermissions sets the IpPermissions field's value.
10975func (s *AwsEc2SecurityGroupDetails) SetIpPermissions(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails {
10976	s.IpPermissions = v
10977	return s
10978}
10979
10980// SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
10981func (s *AwsEc2SecurityGroupDetails) SetIpPermissionsEgress(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails {
10982	s.IpPermissionsEgress = v
10983	return s
10984}
10985
10986// SetOwnerId sets the OwnerId field's value.
10987func (s *AwsEc2SecurityGroupDetails) SetOwnerId(v string) *AwsEc2SecurityGroupDetails {
10988	s.OwnerId = &v
10989	return s
10990}
10991
10992// SetVpcId sets the VpcId field's value.
10993func (s *AwsEc2SecurityGroupDetails) SetVpcId(v string) *AwsEc2SecurityGroupDetails {
10994	s.VpcId = &v
10995	return s
10996}
10997
10998// An IP permission for an EC2 security group.
10999type AwsEc2SecurityGroupIpPermission struct {
11000	_ struct{} `type:"structure"`
11001
11002	// The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6
11003	// type number.
11004	//
11005	// A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6
11006	// types, you must specify all codes.
11007	FromPort *int64 `type:"integer"`
11008
11009	// The IP protocol name (tcp, udp, icmp, icmpv6) or number.
11010	//
11011	// [VPC only] Use -1 to specify all protocols.
11012	//
11013	// When authorizing security group rules, specifying -1 or a protocol number
11014	// other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless
11015	// of any port range you specify.
11016	//
11017	// For tcp, udp, and icmp, you must specify a port range.
11018	//
11019	// For icmpv6, the port range is optional. If you omit the port range, traffic
11020	// for all types and codes is allowed.
11021	IpProtocol *string `type:"string"`
11022
11023	// The IPv4 ranges.
11024	IpRanges []*AwsEc2SecurityGroupIpRange `type:"list"`
11025
11026	// The IPv6 ranges.
11027	Ipv6Ranges []*AwsEc2SecurityGroupIpv6Range `type:"list"`
11028
11029	// [VPC only] The prefix list IDs for an Amazon Web Services service. With outbound
11030	// rules, this is the Amazon Web Services service to access through a VPC endpoint
11031	// from instances associated with the security group.
11032	PrefixListIds []*AwsEc2SecurityGroupPrefixListId `type:"list"`
11033
11034	// The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6
11035	// code.
11036	//
11037	// A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6
11038	// types, you must specify all codes.
11039	ToPort *int64 `type:"integer"`
11040
11041	// The security group and Amazon Web Services account ID pairs.
11042	UserIdGroupPairs []*AwsEc2SecurityGroupUserIdGroupPair `type:"list"`
11043}
11044
11045// String returns the string representation
11046func (s AwsEc2SecurityGroupIpPermission) String() string {
11047	return awsutil.Prettify(s)
11048}
11049
11050// GoString returns the string representation
11051func (s AwsEc2SecurityGroupIpPermission) GoString() string {
11052	return s.String()
11053}
11054
11055// SetFromPort sets the FromPort field's value.
11056func (s *AwsEc2SecurityGroupIpPermission) SetFromPort(v int64) *AwsEc2SecurityGroupIpPermission {
11057	s.FromPort = &v
11058	return s
11059}
11060
11061// SetIpProtocol sets the IpProtocol field's value.
11062func (s *AwsEc2SecurityGroupIpPermission) SetIpProtocol(v string) *AwsEc2SecurityGroupIpPermission {
11063	s.IpProtocol = &v
11064	return s
11065}
11066
11067// SetIpRanges sets the IpRanges field's value.
11068func (s *AwsEc2SecurityGroupIpPermission) SetIpRanges(v []*AwsEc2SecurityGroupIpRange) *AwsEc2SecurityGroupIpPermission {
11069	s.IpRanges = v
11070	return s
11071}
11072
11073// SetIpv6Ranges sets the Ipv6Ranges field's value.
11074func (s *AwsEc2SecurityGroupIpPermission) SetIpv6Ranges(v []*AwsEc2SecurityGroupIpv6Range) *AwsEc2SecurityGroupIpPermission {
11075	s.Ipv6Ranges = v
11076	return s
11077}
11078
11079// SetPrefixListIds sets the PrefixListIds field's value.
11080func (s *AwsEc2SecurityGroupIpPermission) SetPrefixListIds(v []*AwsEc2SecurityGroupPrefixListId) *AwsEc2SecurityGroupIpPermission {
11081	s.PrefixListIds = v
11082	return s
11083}
11084
11085// SetToPort sets the ToPort field's value.
11086func (s *AwsEc2SecurityGroupIpPermission) SetToPort(v int64) *AwsEc2SecurityGroupIpPermission {
11087	s.ToPort = &v
11088	return s
11089}
11090
11091// SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
11092func (s *AwsEc2SecurityGroupIpPermission) SetUserIdGroupPairs(v []*AwsEc2SecurityGroupUserIdGroupPair) *AwsEc2SecurityGroupIpPermission {
11093	s.UserIdGroupPairs = v
11094	return s
11095}
11096
11097// A range of IPv4 addresses.
11098type AwsEc2SecurityGroupIpRange struct {
11099	_ struct{} `type:"structure"`
11100
11101	// The IPv4 CIDR range. You can specify either a CIDR range or a source security
11102	// group, but not both. To specify a single IPv4 address, use the /32 prefix
11103	// length.
11104	CidrIp *string `type:"string"`
11105}
11106
11107// String returns the string representation
11108func (s AwsEc2SecurityGroupIpRange) String() string {
11109	return awsutil.Prettify(s)
11110}
11111
11112// GoString returns the string representation
11113func (s AwsEc2SecurityGroupIpRange) GoString() string {
11114	return s.String()
11115}
11116
11117// SetCidrIp sets the CidrIp field's value.
11118func (s *AwsEc2SecurityGroupIpRange) SetCidrIp(v string) *AwsEc2SecurityGroupIpRange {
11119	s.CidrIp = &v
11120	return s
11121}
11122
11123// A range of IPv6 addresses.
11124type AwsEc2SecurityGroupIpv6Range struct {
11125	_ struct{} `type:"structure"`
11126
11127	// The IPv6 CIDR range. You can specify either a CIDR range or a source security
11128	// group, but not both. To specify a single IPv6 address, use the /128 prefix
11129	// length.
11130	CidrIpv6 *string `type:"string"`
11131}
11132
11133// String returns the string representation
11134func (s AwsEc2SecurityGroupIpv6Range) String() string {
11135	return awsutil.Prettify(s)
11136}
11137
11138// GoString returns the string representation
11139func (s AwsEc2SecurityGroupIpv6Range) GoString() string {
11140	return s.String()
11141}
11142
11143// SetCidrIpv6 sets the CidrIpv6 field's value.
11144func (s *AwsEc2SecurityGroupIpv6Range) SetCidrIpv6(v string) *AwsEc2SecurityGroupIpv6Range {
11145	s.CidrIpv6 = &v
11146	return s
11147}
11148
11149// A prefix list ID.
11150type AwsEc2SecurityGroupPrefixListId struct {
11151	_ struct{} `type:"structure"`
11152
11153	// The ID of the prefix.
11154	PrefixListId *string `type:"string"`
11155}
11156
11157// String returns the string representation
11158func (s AwsEc2SecurityGroupPrefixListId) String() string {
11159	return awsutil.Prettify(s)
11160}
11161
11162// GoString returns the string representation
11163func (s AwsEc2SecurityGroupPrefixListId) GoString() string {
11164	return s.String()
11165}
11166
11167// SetPrefixListId sets the PrefixListId field's value.
11168func (s *AwsEc2SecurityGroupPrefixListId) SetPrefixListId(v string) *AwsEc2SecurityGroupPrefixListId {
11169	s.PrefixListId = &v
11170	return s
11171}
11172
11173// A relationship between a security group and a user.
11174type AwsEc2SecurityGroupUserIdGroupPair struct {
11175	_ struct{} `type:"structure"`
11176
11177	// The ID of the security group.
11178	GroupId *string `type:"string"`
11179
11180	// The name of the security group.
11181	GroupName *string `type:"string"`
11182
11183	// The status of a VPC peering connection, if applicable.
11184	PeeringStatus *string `type:"string"`
11185
11186	// The ID of an Amazon Web Services account.
11187	//
11188	// For a referenced security group in another VPC, the account ID of the referenced
11189	// security group is returned in the response. If the referenced security group
11190	// is deleted, this value is not returned.
11191	//
11192	// [EC2-Classic] Required when adding or removing rules that reference a security
11193	// group in another VPC.
11194	UserId *string `type:"string"`
11195
11196	// The ID of the VPC for the referenced security group, if applicable.
11197	VpcId *string `type:"string"`
11198
11199	// The ID of the VPC peering connection, if applicable.
11200	VpcPeeringConnectionId *string `type:"string"`
11201}
11202
11203// String returns the string representation
11204func (s AwsEc2SecurityGroupUserIdGroupPair) String() string {
11205	return awsutil.Prettify(s)
11206}
11207
11208// GoString returns the string representation
11209func (s AwsEc2SecurityGroupUserIdGroupPair) GoString() string {
11210	return s.String()
11211}
11212
11213// SetGroupId sets the GroupId field's value.
11214func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
11215	s.GroupId = &v
11216	return s
11217}
11218
11219// SetGroupName sets the GroupName field's value.
11220func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupName(v string) *AwsEc2SecurityGroupUserIdGroupPair {
11221	s.GroupName = &v
11222	return s
11223}
11224
11225// SetPeeringStatus sets the PeeringStatus field's value.
11226func (s *AwsEc2SecurityGroupUserIdGroupPair) SetPeeringStatus(v string) *AwsEc2SecurityGroupUserIdGroupPair {
11227	s.PeeringStatus = &v
11228	return s
11229}
11230
11231// SetUserId sets the UserId field's value.
11232func (s *AwsEc2SecurityGroupUserIdGroupPair) SetUserId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
11233	s.UserId = &v
11234	return s
11235}
11236
11237// SetVpcId sets the VpcId field's value.
11238func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
11239	s.VpcId = &v
11240	return s
11241}
11242
11243// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
11244func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcPeeringConnectionId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
11245	s.VpcPeeringConnectionId = &v
11246	return s
11247}
11248
11249// Contains information about a subnet in Amazon EC2.
11250type AwsEc2SubnetDetails struct {
11251	_ struct{} `type:"structure"`
11252
11253	// Whether to assign an IPV6 address to a network interface that is created
11254	// in this subnet.
11255	AssignIpv6AddressOnCreation *bool `type:"boolean"`
11256
11257	// The Availability Zone for the subnet.
11258	AvailabilityZone *string `type:"string"`
11259
11260	// The identifier of the Availability Zone for the subnet.
11261	AvailabilityZoneId *string `type:"string"`
11262
11263	// The number of available IPV4 addresses in the subnet. Does not include addresses
11264	// for stopped instances.
11265	AvailableIpAddressCount *int64 `type:"integer"`
11266
11267	// The IPV4 CIDR block that is assigned to the subnet.
11268	CidrBlock *string `type:"string"`
11269
11270	// Whether this subnet is the default subnet for the Availability Zone.
11271	DefaultForAz *bool `type:"boolean"`
11272
11273	// The IPV6 CIDR blocks that are associated with the subnet.
11274	Ipv6CidrBlockAssociationSet []*Ipv6CidrBlockAssociation `type:"list"`
11275
11276	// Whether instances in this subnet receive a public IP address.
11277	MapPublicIpOnLaunch *bool `type:"boolean"`
11278
11279	// The identifier of the Amazon Web Services account that owns the subnet.
11280	OwnerId *string `type:"string"`
11281
11282	// The current state of the subnet.
11283	State *string `type:"string"`
11284
11285	// The ARN of the subnet.
11286	SubnetArn *string `type:"string"`
11287
11288	// The identifier of the subnet.
11289	SubnetId *string `type:"string"`
11290
11291	// The identifier of the VPC that contains the subnet.
11292	VpcId *string `type:"string"`
11293}
11294
11295// String returns the string representation
11296func (s AwsEc2SubnetDetails) String() string {
11297	return awsutil.Prettify(s)
11298}
11299
11300// GoString returns the string representation
11301func (s AwsEc2SubnetDetails) GoString() string {
11302	return s.String()
11303}
11304
11305// SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
11306func (s *AwsEc2SubnetDetails) SetAssignIpv6AddressOnCreation(v bool) *AwsEc2SubnetDetails {
11307	s.AssignIpv6AddressOnCreation = &v
11308	return s
11309}
11310
11311// SetAvailabilityZone sets the AvailabilityZone field's value.
11312func (s *AwsEc2SubnetDetails) SetAvailabilityZone(v string) *AwsEc2SubnetDetails {
11313	s.AvailabilityZone = &v
11314	return s
11315}
11316
11317// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
11318func (s *AwsEc2SubnetDetails) SetAvailabilityZoneId(v string) *AwsEc2SubnetDetails {
11319	s.AvailabilityZoneId = &v
11320	return s
11321}
11322
11323// SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
11324func (s *AwsEc2SubnetDetails) SetAvailableIpAddressCount(v int64) *AwsEc2SubnetDetails {
11325	s.AvailableIpAddressCount = &v
11326	return s
11327}
11328
11329// SetCidrBlock sets the CidrBlock field's value.
11330func (s *AwsEc2SubnetDetails) SetCidrBlock(v string) *AwsEc2SubnetDetails {
11331	s.CidrBlock = &v
11332	return s
11333}
11334
11335// SetDefaultForAz sets the DefaultForAz field's value.
11336func (s *AwsEc2SubnetDetails) SetDefaultForAz(v bool) *AwsEc2SubnetDetails {
11337	s.DefaultForAz = &v
11338	return s
11339}
11340
11341// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
11342func (s *AwsEc2SubnetDetails) SetIpv6CidrBlockAssociationSet(v []*Ipv6CidrBlockAssociation) *AwsEc2SubnetDetails {
11343	s.Ipv6CidrBlockAssociationSet = v
11344	return s
11345}
11346
11347// SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
11348func (s *AwsEc2SubnetDetails) SetMapPublicIpOnLaunch(v bool) *AwsEc2SubnetDetails {
11349	s.MapPublicIpOnLaunch = &v
11350	return s
11351}
11352
11353// SetOwnerId sets the OwnerId field's value.
11354func (s *AwsEc2SubnetDetails) SetOwnerId(v string) *AwsEc2SubnetDetails {
11355	s.OwnerId = &v
11356	return s
11357}
11358
11359// SetState sets the State field's value.
11360func (s *AwsEc2SubnetDetails) SetState(v string) *AwsEc2SubnetDetails {
11361	s.State = &v
11362	return s
11363}
11364
11365// SetSubnetArn sets the SubnetArn field's value.
11366func (s *AwsEc2SubnetDetails) SetSubnetArn(v string) *AwsEc2SubnetDetails {
11367	s.SubnetArn = &v
11368	return s
11369}
11370
11371// SetSubnetId sets the SubnetId field's value.
11372func (s *AwsEc2SubnetDetails) SetSubnetId(v string) *AwsEc2SubnetDetails {
11373	s.SubnetId = &v
11374	return s
11375}
11376
11377// SetVpcId sets the VpcId field's value.
11378func (s *AwsEc2SubnetDetails) SetVpcId(v string) *AwsEc2SubnetDetails {
11379	s.VpcId = &v
11380	return s
11381}
11382
11383// An attachment to an Amazon EC2 volume.
11384type AwsEc2VolumeAttachment struct {
11385	_ struct{} `type:"structure"`
11386
11387	// The datetime when the attachment initiated.
11388	AttachTime *string `type:"string"`
11389
11390	// Whether the EBS volume is deleted when the EC2 instance is terminated.
11391	DeleteOnTermination *bool `type:"boolean"`
11392
11393	// The identifier of the EC2 instance.
11394	InstanceId *string `type:"string"`
11395
11396	// The attachment state of the volume.
11397	Status *string `type:"string"`
11398}
11399
11400// String returns the string representation
11401func (s AwsEc2VolumeAttachment) String() string {
11402	return awsutil.Prettify(s)
11403}
11404
11405// GoString returns the string representation
11406func (s AwsEc2VolumeAttachment) GoString() string {
11407	return s.String()
11408}
11409
11410// SetAttachTime sets the AttachTime field's value.
11411func (s *AwsEc2VolumeAttachment) SetAttachTime(v string) *AwsEc2VolumeAttachment {
11412	s.AttachTime = &v
11413	return s
11414}
11415
11416// SetDeleteOnTermination sets the DeleteOnTermination field's value.
11417func (s *AwsEc2VolumeAttachment) SetDeleteOnTermination(v bool) *AwsEc2VolumeAttachment {
11418	s.DeleteOnTermination = &v
11419	return s
11420}
11421
11422// SetInstanceId sets the InstanceId field's value.
11423func (s *AwsEc2VolumeAttachment) SetInstanceId(v string) *AwsEc2VolumeAttachment {
11424	s.InstanceId = &v
11425	return s
11426}
11427
11428// SetStatus sets the Status field's value.
11429func (s *AwsEc2VolumeAttachment) SetStatus(v string) *AwsEc2VolumeAttachment {
11430	s.Status = &v
11431	return s
11432}
11433
11434// Details about an EC2 volume.
11435type AwsEc2VolumeDetails struct {
11436	_ struct{} `type:"structure"`
11437
11438	// The volume attachments.
11439	Attachments []*AwsEc2VolumeAttachment `type:"list"`
11440
11441	// Indicates when the volume was created.
11442	//
11443	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11444	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11445	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11446	CreateTime *string `type:"string"`
11447
11448	// Whether the volume is encrypted.
11449	Encrypted *bool `type:"boolean"`
11450
11451	// The ARN of the KMS key that was used to protect the volume encryption key
11452	// for the volume.
11453	KmsKeyId *string `type:"string"`
11454
11455	// The size of the volume, in GiBs.
11456	Size *int64 `type:"integer"`
11457
11458	// The snapshot from which the volume was created.
11459	SnapshotId *string `type:"string"`
11460
11461	// The volume state.
11462	Status *string `type:"string"`
11463}
11464
11465// String returns the string representation
11466func (s AwsEc2VolumeDetails) String() string {
11467	return awsutil.Prettify(s)
11468}
11469
11470// GoString returns the string representation
11471func (s AwsEc2VolumeDetails) GoString() string {
11472	return s.String()
11473}
11474
11475// SetAttachments sets the Attachments field's value.
11476func (s *AwsEc2VolumeDetails) SetAttachments(v []*AwsEc2VolumeAttachment) *AwsEc2VolumeDetails {
11477	s.Attachments = v
11478	return s
11479}
11480
11481// SetCreateTime sets the CreateTime field's value.
11482func (s *AwsEc2VolumeDetails) SetCreateTime(v string) *AwsEc2VolumeDetails {
11483	s.CreateTime = &v
11484	return s
11485}
11486
11487// SetEncrypted sets the Encrypted field's value.
11488func (s *AwsEc2VolumeDetails) SetEncrypted(v bool) *AwsEc2VolumeDetails {
11489	s.Encrypted = &v
11490	return s
11491}
11492
11493// SetKmsKeyId sets the KmsKeyId field's value.
11494func (s *AwsEc2VolumeDetails) SetKmsKeyId(v string) *AwsEc2VolumeDetails {
11495	s.KmsKeyId = &v
11496	return s
11497}
11498
11499// SetSize sets the Size field's value.
11500func (s *AwsEc2VolumeDetails) SetSize(v int64) *AwsEc2VolumeDetails {
11501	s.Size = &v
11502	return s
11503}
11504
11505// SetSnapshotId sets the SnapshotId field's value.
11506func (s *AwsEc2VolumeDetails) SetSnapshotId(v string) *AwsEc2VolumeDetails {
11507	s.SnapshotId = &v
11508	return s
11509}
11510
11511// SetStatus sets the Status field's value.
11512func (s *AwsEc2VolumeDetails) SetStatus(v string) *AwsEc2VolumeDetails {
11513	s.Status = &v
11514	return s
11515}
11516
11517// Details about an EC2 VPC.
11518type AwsEc2VpcDetails struct {
11519	_ struct{} `type:"structure"`
11520
11521	// Information about the IPv4 CIDR blocks associated with the VPC.
11522	CidrBlockAssociationSet []*CidrBlockAssociation `type:"list"`
11523
11524	// The identifier of the set of Dynamic Host Configuration Protocol (DHCP) options
11525	// that are associated with the VPC. If the default options are associated with
11526	// the VPC, then this is default.
11527	DhcpOptionsId *string `type:"string"`
11528
11529	// Information about the IPv6 CIDR blocks associated with the VPC.
11530	Ipv6CidrBlockAssociationSet []*Ipv6CidrBlockAssociation `type:"list"`
11531
11532	// The current state of the VPC.
11533	State *string `type:"string"`
11534}
11535
11536// String returns the string representation
11537func (s AwsEc2VpcDetails) String() string {
11538	return awsutil.Prettify(s)
11539}
11540
11541// GoString returns the string representation
11542func (s AwsEc2VpcDetails) GoString() string {
11543	return s.String()
11544}
11545
11546// SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value.
11547func (s *AwsEc2VpcDetails) SetCidrBlockAssociationSet(v []*CidrBlockAssociation) *AwsEc2VpcDetails {
11548	s.CidrBlockAssociationSet = v
11549	return s
11550}
11551
11552// SetDhcpOptionsId sets the DhcpOptionsId field's value.
11553func (s *AwsEc2VpcDetails) SetDhcpOptionsId(v string) *AwsEc2VpcDetails {
11554	s.DhcpOptionsId = &v
11555	return s
11556}
11557
11558// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
11559func (s *AwsEc2VpcDetails) SetIpv6CidrBlockAssociationSet(v []*Ipv6CidrBlockAssociation) *AwsEc2VpcDetails {
11560	s.Ipv6CidrBlockAssociationSet = v
11561	return s
11562}
11563
11564// SetState sets the State field's value.
11565func (s *AwsEc2VpcDetails) SetState(v string) *AwsEc2VpcDetails {
11566	s.State = &v
11567	return s
11568}
11569
11570// Details about an Amazon EC2 VPN connection.
11571type AwsEc2VpnConnectionDetails struct {
11572	_ struct{} `type:"structure"`
11573
11574	// The category of the VPN connection. VPN indicates an Amazon Web Services
11575	// VPN connection. VPN-Classic indicates an Amazon Web Services Classic VPN
11576	// connection.
11577	Category *string `type:"string"`
11578
11579	// The configuration information for the VPN connection's customer gateway,
11580	// in the native XML format.
11581	CustomerGatewayConfiguration *string `type:"string"`
11582
11583	// The identifier of the customer gateway that is at your end of the VPN connection.
11584	CustomerGatewayId *string `type:"string"`
11585
11586	// The VPN connection options.
11587	Options *AwsEc2VpnConnectionOptionsDetails `type:"structure"`
11588
11589	// The static routes that are associated with the VPN connection.
11590	Routes []*AwsEc2VpnConnectionRoutesDetails `type:"list"`
11591
11592	// The current state of the VPN connection.
11593	State *string `type:"string"`
11594
11595	// The identifier of the transit gateway that is associated with the VPN connection.
11596	TransitGatewayId *string `type:"string"`
11597
11598	// The type of VPN connection.
11599	Type *string `type:"string"`
11600
11601	// Information about the VPN tunnel.
11602	VgwTelemetry []*AwsEc2VpnConnectionVgwTelemetryDetails `type:"list"`
11603
11604	// The identifier of the VPN connection.
11605	VpnConnectionId *string `type:"string"`
11606
11607	// The identifier of the virtual private gateway that is at the Amazon Web Services
11608	// side of the VPN connection.
11609	VpnGatewayId *string `type:"string"`
11610}
11611
11612// String returns the string representation
11613func (s AwsEc2VpnConnectionDetails) String() string {
11614	return awsutil.Prettify(s)
11615}
11616
11617// GoString returns the string representation
11618func (s AwsEc2VpnConnectionDetails) GoString() string {
11619	return s.String()
11620}
11621
11622// SetCategory sets the Category field's value.
11623func (s *AwsEc2VpnConnectionDetails) SetCategory(v string) *AwsEc2VpnConnectionDetails {
11624	s.Category = &v
11625	return s
11626}
11627
11628// SetCustomerGatewayConfiguration sets the CustomerGatewayConfiguration field's value.
11629func (s *AwsEc2VpnConnectionDetails) SetCustomerGatewayConfiguration(v string) *AwsEc2VpnConnectionDetails {
11630	s.CustomerGatewayConfiguration = &v
11631	return s
11632}
11633
11634// SetCustomerGatewayId sets the CustomerGatewayId field's value.
11635func (s *AwsEc2VpnConnectionDetails) SetCustomerGatewayId(v string) *AwsEc2VpnConnectionDetails {
11636	s.CustomerGatewayId = &v
11637	return s
11638}
11639
11640// SetOptions sets the Options field's value.
11641func (s *AwsEc2VpnConnectionDetails) SetOptions(v *AwsEc2VpnConnectionOptionsDetails) *AwsEc2VpnConnectionDetails {
11642	s.Options = v
11643	return s
11644}
11645
11646// SetRoutes sets the Routes field's value.
11647func (s *AwsEc2VpnConnectionDetails) SetRoutes(v []*AwsEc2VpnConnectionRoutesDetails) *AwsEc2VpnConnectionDetails {
11648	s.Routes = v
11649	return s
11650}
11651
11652// SetState sets the State field's value.
11653func (s *AwsEc2VpnConnectionDetails) SetState(v string) *AwsEc2VpnConnectionDetails {
11654	s.State = &v
11655	return s
11656}
11657
11658// SetTransitGatewayId sets the TransitGatewayId field's value.
11659func (s *AwsEc2VpnConnectionDetails) SetTransitGatewayId(v string) *AwsEc2VpnConnectionDetails {
11660	s.TransitGatewayId = &v
11661	return s
11662}
11663
11664// SetType sets the Type field's value.
11665func (s *AwsEc2VpnConnectionDetails) SetType(v string) *AwsEc2VpnConnectionDetails {
11666	s.Type = &v
11667	return s
11668}
11669
11670// SetVgwTelemetry sets the VgwTelemetry field's value.
11671func (s *AwsEc2VpnConnectionDetails) SetVgwTelemetry(v []*AwsEc2VpnConnectionVgwTelemetryDetails) *AwsEc2VpnConnectionDetails {
11672	s.VgwTelemetry = v
11673	return s
11674}
11675
11676// SetVpnConnectionId sets the VpnConnectionId field's value.
11677func (s *AwsEc2VpnConnectionDetails) SetVpnConnectionId(v string) *AwsEc2VpnConnectionDetails {
11678	s.VpnConnectionId = &v
11679	return s
11680}
11681
11682// SetVpnGatewayId sets the VpnGatewayId field's value.
11683func (s *AwsEc2VpnConnectionDetails) SetVpnGatewayId(v string) *AwsEc2VpnConnectionDetails {
11684	s.VpnGatewayId = &v
11685	return s
11686}
11687
11688// VPN connection options.
11689type AwsEc2VpnConnectionOptionsDetails struct {
11690	_ struct{} `type:"structure"`
11691
11692	// Whether the VPN connection uses static routes only.
11693	StaticRoutesOnly *bool `type:"boolean"`
11694
11695	// The VPN tunnel options.
11696	TunnelOptions []*AwsEc2VpnConnectionOptionsTunnelOptionsDetails `type:"list"`
11697}
11698
11699// String returns the string representation
11700func (s AwsEc2VpnConnectionOptionsDetails) String() string {
11701	return awsutil.Prettify(s)
11702}
11703
11704// GoString returns the string representation
11705func (s AwsEc2VpnConnectionOptionsDetails) GoString() string {
11706	return s.String()
11707}
11708
11709// SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
11710func (s *AwsEc2VpnConnectionOptionsDetails) SetStaticRoutesOnly(v bool) *AwsEc2VpnConnectionOptionsDetails {
11711	s.StaticRoutesOnly = &v
11712	return s
11713}
11714
11715// SetTunnelOptions sets the TunnelOptions field's value.
11716func (s *AwsEc2VpnConnectionOptionsDetails) SetTunnelOptions(v []*AwsEc2VpnConnectionOptionsTunnelOptionsDetails) *AwsEc2VpnConnectionOptionsDetails {
11717	s.TunnelOptions = v
11718	return s
11719}
11720
11721// The VPN tunnel options.
11722type AwsEc2VpnConnectionOptionsTunnelOptionsDetails struct {
11723	_ struct{} `type:"structure"`
11724
11725	// The number of seconds after which a Dead Peer Detection (DPD) timeout occurs.
11726	DpdTimeoutSeconds *int64 `type:"integer"`
11727
11728	// The Internet Key Exchange (IKE) versions that are permitted for the VPN tunnel.
11729	IkeVersions []*string `type:"list"`
11730
11731	// The external IP address of the VPN tunnel.
11732	OutsideIpAddress *string `type:"string"`
11733
11734	// The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1
11735	// IKE negotiations.
11736	Phase1DhGroupNumbers []*int64 `type:"list"`
11737
11738	// The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations.
11739	Phase1EncryptionAlgorithms []*string `type:"list"`
11740
11741	// The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations.
11742	Phase1IntegrityAlgorithms []*string `type:"list"`
11743
11744	// The lifetime for phase 1 of the IKE negotiation, in seconds.
11745	Phase1LifetimeSeconds *int64 `type:"integer"`
11746
11747	// The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2
11748	// IKE negotiations.
11749	Phase2DhGroupNumbers []*int64 `type:"list"`
11750
11751	// The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations.
11752	Phase2EncryptionAlgorithms []*string `type:"list"`
11753
11754	// The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations.
11755	Phase2IntegrityAlgorithms []*string `type:"list"`
11756
11757	// The lifetime for phase 2 of the IKE negotiation, in seconds.
11758	Phase2LifetimeSeconds *int64 `type:"integer"`
11759
11760	// The preshared key to establish initial authentication between the virtual
11761	// private gateway and the customer gateway.
11762	PreSharedKey *string `type:"string"`
11763
11764	// The percentage of the rekey window, which is determined by RekeyMarginTimeSeconds
11765	// during which the rekey time is randomly selected.
11766	RekeyFuzzPercentage *int64 `type:"integer"`
11767
11768	// The margin time, in seconds, before the phase 2 lifetime expires, during
11769	// which the Amazon Web Services side of the VPN connection performs an IKE
11770	// rekey.
11771	RekeyMarginTimeSeconds *int64 `type:"integer"`
11772
11773	// The number of packets in an IKE replay window.
11774	ReplayWindowSize *int64 `type:"integer"`
11775
11776	// The range of inside IPv4 addresses for the tunnel.
11777	TunnelInsideCidr *string `type:"string"`
11778}
11779
11780// String returns the string representation
11781func (s AwsEc2VpnConnectionOptionsTunnelOptionsDetails) String() string {
11782	return awsutil.Prettify(s)
11783}
11784
11785// GoString returns the string representation
11786func (s AwsEc2VpnConnectionOptionsTunnelOptionsDetails) GoString() string {
11787	return s.String()
11788}
11789
11790// SetDpdTimeoutSeconds sets the DpdTimeoutSeconds field's value.
11791func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetDpdTimeoutSeconds(v int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
11792	s.DpdTimeoutSeconds = &v
11793	return s
11794}
11795
11796// SetIkeVersions sets the IkeVersions field's value.
11797func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetIkeVersions(v []*string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
11798	s.IkeVersions = v
11799	return s
11800}
11801
11802// SetOutsideIpAddress sets the OutsideIpAddress field's value.
11803func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetOutsideIpAddress(v string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
11804	s.OutsideIpAddress = &v
11805	return s
11806}
11807
11808// SetPhase1DhGroupNumbers sets the Phase1DhGroupNumbers field's value.
11809func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase1DhGroupNumbers(v []*int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
11810	s.Phase1DhGroupNumbers = v
11811	return s
11812}
11813
11814// SetPhase1EncryptionAlgorithms sets the Phase1EncryptionAlgorithms field's value.
11815func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase1EncryptionAlgorithms(v []*string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
11816	s.Phase1EncryptionAlgorithms = v
11817	return s
11818}
11819
11820// SetPhase1IntegrityAlgorithms sets the Phase1IntegrityAlgorithms field's value.
11821func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase1IntegrityAlgorithms(v []*string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
11822	s.Phase1IntegrityAlgorithms = v
11823	return s
11824}
11825
11826// SetPhase1LifetimeSeconds sets the Phase1LifetimeSeconds field's value.
11827func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase1LifetimeSeconds(v int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
11828	s.Phase1LifetimeSeconds = &v
11829	return s
11830}
11831
11832// SetPhase2DhGroupNumbers sets the Phase2DhGroupNumbers field's value.
11833func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase2DhGroupNumbers(v []*int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
11834	s.Phase2DhGroupNumbers = v
11835	return s
11836}
11837
11838// SetPhase2EncryptionAlgorithms sets the Phase2EncryptionAlgorithms field's value.
11839func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase2EncryptionAlgorithms(v []*string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
11840	s.Phase2EncryptionAlgorithms = v
11841	return s
11842}
11843
11844// SetPhase2IntegrityAlgorithms sets the Phase2IntegrityAlgorithms field's value.
11845func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase2IntegrityAlgorithms(v []*string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
11846	s.Phase2IntegrityAlgorithms = v
11847	return s
11848}
11849
11850// SetPhase2LifetimeSeconds sets the Phase2LifetimeSeconds field's value.
11851func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase2LifetimeSeconds(v int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
11852	s.Phase2LifetimeSeconds = &v
11853	return s
11854}
11855
11856// SetPreSharedKey sets the PreSharedKey field's value.
11857func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPreSharedKey(v string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
11858	s.PreSharedKey = &v
11859	return s
11860}
11861
11862// SetRekeyFuzzPercentage sets the RekeyFuzzPercentage field's value.
11863func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetRekeyFuzzPercentage(v int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
11864	s.RekeyFuzzPercentage = &v
11865	return s
11866}
11867
11868// SetRekeyMarginTimeSeconds sets the RekeyMarginTimeSeconds field's value.
11869func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetRekeyMarginTimeSeconds(v int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
11870	s.RekeyMarginTimeSeconds = &v
11871	return s
11872}
11873
11874// SetReplayWindowSize sets the ReplayWindowSize field's value.
11875func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetReplayWindowSize(v int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
11876	s.ReplayWindowSize = &v
11877	return s
11878}
11879
11880// SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
11881func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetTunnelInsideCidr(v string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
11882	s.TunnelInsideCidr = &v
11883	return s
11884}
11885
11886// A static routes associated with the VPN connection.
11887type AwsEc2VpnConnectionRoutesDetails struct {
11888	_ struct{} `type:"structure"`
11889
11890	// The CIDR block associated with the local subnet of the customer data center.
11891	DestinationCidrBlock *string `type:"string"`
11892
11893	// The current state of the static route.
11894	State *string `type:"string"`
11895}
11896
11897// String returns the string representation
11898func (s AwsEc2VpnConnectionRoutesDetails) String() string {
11899	return awsutil.Prettify(s)
11900}
11901
11902// GoString returns the string representation
11903func (s AwsEc2VpnConnectionRoutesDetails) GoString() string {
11904	return s.String()
11905}
11906
11907// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
11908func (s *AwsEc2VpnConnectionRoutesDetails) SetDestinationCidrBlock(v string) *AwsEc2VpnConnectionRoutesDetails {
11909	s.DestinationCidrBlock = &v
11910	return s
11911}
11912
11913// SetState sets the State field's value.
11914func (s *AwsEc2VpnConnectionRoutesDetails) SetState(v string) *AwsEc2VpnConnectionRoutesDetails {
11915	s.State = &v
11916	return s
11917}
11918
11919// Information about the VPN tunnel.
11920type AwsEc2VpnConnectionVgwTelemetryDetails struct {
11921	_ struct{} `type:"structure"`
11922
11923	// The number of accepted routes.
11924	AcceptedRouteCount *int64 `type:"integer"`
11925
11926	// The ARN of the VPN tunnel endpoint certificate.
11927	CertificateArn *string `type:"string"`
11928
11929	// The date and time of the last change in status.
11930	//
11931	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11932	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11933	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11934	LastStatusChange *string `type:"string"`
11935
11936	// The Internet-routable IP address of the virtual private gateway's outside
11937	// interface.
11938	OutsideIpAddress *string `type:"string"`
11939
11940	// The status of the VPN tunnel.
11941	Status *string `type:"string"`
11942
11943	// If an error occurs, a description of the error.
11944	StatusMessage *string `type:"string"`
11945}
11946
11947// String returns the string representation
11948func (s AwsEc2VpnConnectionVgwTelemetryDetails) String() string {
11949	return awsutil.Prettify(s)
11950}
11951
11952// GoString returns the string representation
11953func (s AwsEc2VpnConnectionVgwTelemetryDetails) GoString() string {
11954	return s.String()
11955}
11956
11957// SetAcceptedRouteCount sets the AcceptedRouteCount field's value.
11958func (s *AwsEc2VpnConnectionVgwTelemetryDetails) SetAcceptedRouteCount(v int64) *AwsEc2VpnConnectionVgwTelemetryDetails {
11959	s.AcceptedRouteCount = &v
11960	return s
11961}
11962
11963// SetCertificateArn sets the CertificateArn field's value.
11964func (s *AwsEc2VpnConnectionVgwTelemetryDetails) SetCertificateArn(v string) *AwsEc2VpnConnectionVgwTelemetryDetails {
11965	s.CertificateArn = &v
11966	return s
11967}
11968
11969// SetLastStatusChange sets the LastStatusChange field's value.
11970func (s *AwsEc2VpnConnectionVgwTelemetryDetails) SetLastStatusChange(v string) *AwsEc2VpnConnectionVgwTelemetryDetails {
11971	s.LastStatusChange = &v
11972	return s
11973}
11974
11975// SetOutsideIpAddress sets the OutsideIpAddress field's value.
11976func (s *AwsEc2VpnConnectionVgwTelemetryDetails) SetOutsideIpAddress(v string) *AwsEc2VpnConnectionVgwTelemetryDetails {
11977	s.OutsideIpAddress = &v
11978	return s
11979}
11980
11981// SetStatus sets the Status field's value.
11982func (s *AwsEc2VpnConnectionVgwTelemetryDetails) SetStatus(v string) *AwsEc2VpnConnectionVgwTelemetryDetails {
11983	s.Status = &v
11984	return s
11985}
11986
11987// SetStatusMessage sets the StatusMessage field's value.
11988func (s *AwsEc2VpnConnectionVgwTelemetryDetails) SetStatusMessage(v string) *AwsEc2VpnConnectionVgwTelemetryDetails {
11989	s.StatusMessage = &v
11990	return s
11991}
11992
11993// Information about an Amazon ECR image.
11994type AwsEcrContainerImageDetails struct {
11995	_ struct{} `type:"structure"`
11996
11997	// The architecture of the image.
11998	Architecture *string `type:"string"`
11999
12000	// The sha256 digest of the image manifest.
12001	ImageDigest *string `type:"string"`
12002
12003	// The date and time when the image was pushed to the repository.
12004	//
12005	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
12006	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
12007	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
12008	ImagePublishedAt *string `type:"string"`
12009
12010	// The list of tags that are associated with the image.
12011	ImageTags []*string `type:"list"`
12012
12013	// The Amazon Web Services account identifier that is associated with the registry
12014	// that the image belongs to.
12015	RegistryId *string `type:"string"`
12016
12017	// The name of the repository that the image belongs to.
12018	RepositoryName *string `type:"string"`
12019}
12020
12021// String returns the string representation
12022func (s AwsEcrContainerImageDetails) String() string {
12023	return awsutil.Prettify(s)
12024}
12025
12026// GoString returns the string representation
12027func (s AwsEcrContainerImageDetails) GoString() string {
12028	return s.String()
12029}
12030
12031// SetArchitecture sets the Architecture field's value.
12032func (s *AwsEcrContainerImageDetails) SetArchitecture(v string) *AwsEcrContainerImageDetails {
12033	s.Architecture = &v
12034	return s
12035}
12036
12037// SetImageDigest sets the ImageDigest field's value.
12038func (s *AwsEcrContainerImageDetails) SetImageDigest(v string) *AwsEcrContainerImageDetails {
12039	s.ImageDigest = &v
12040	return s
12041}
12042
12043// SetImagePublishedAt sets the ImagePublishedAt field's value.
12044func (s *AwsEcrContainerImageDetails) SetImagePublishedAt(v string) *AwsEcrContainerImageDetails {
12045	s.ImagePublishedAt = &v
12046	return s
12047}
12048
12049// SetImageTags sets the ImageTags field's value.
12050func (s *AwsEcrContainerImageDetails) SetImageTags(v []*string) *AwsEcrContainerImageDetails {
12051	s.ImageTags = v
12052	return s
12053}
12054
12055// SetRegistryId sets the RegistryId field's value.
12056func (s *AwsEcrContainerImageDetails) SetRegistryId(v string) *AwsEcrContainerImageDetails {
12057	s.RegistryId = &v
12058	return s
12059}
12060
12061// SetRepositoryName sets the RepositoryName field's value.
12062func (s *AwsEcrContainerImageDetails) SetRepositoryName(v string) *AwsEcrContainerImageDetails {
12063	s.RepositoryName = &v
12064	return s
12065}
12066
12067// Indicates whether to enable CloudWatch Container Insights for the ECS cluster.
12068type AwsEcsClusterClusterSettingsDetails struct {
12069	_ struct{} `type:"structure"`
12070
12071	// The name of the setting.
12072	Name *string `type:"string"`
12073
12074	// The value of the setting.
12075	Value *string `type:"string"`
12076}
12077
12078// String returns the string representation
12079func (s AwsEcsClusterClusterSettingsDetails) String() string {
12080	return awsutil.Prettify(s)
12081}
12082
12083// GoString returns the string representation
12084func (s AwsEcsClusterClusterSettingsDetails) GoString() string {
12085	return s.String()
12086}
12087
12088// SetName sets the Name field's value.
12089func (s *AwsEcsClusterClusterSettingsDetails) SetName(v string) *AwsEcsClusterClusterSettingsDetails {
12090	s.Name = &v
12091	return s
12092}
12093
12094// SetValue sets the Value field's value.
12095func (s *AwsEcsClusterClusterSettingsDetails) SetValue(v string) *AwsEcsClusterClusterSettingsDetails {
12096	s.Value = &v
12097	return s
12098}
12099
12100// The run command configuration for the cluster.
12101type AwsEcsClusterConfigurationDetails struct {
12102	_ struct{} `type:"structure"`
12103
12104	// Contains the run command configuration for the cluster.
12105	ExecuteCommandConfiguration *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails `type:"structure"`
12106}
12107
12108// String returns the string representation
12109func (s AwsEcsClusterConfigurationDetails) String() string {
12110	return awsutil.Prettify(s)
12111}
12112
12113// GoString returns the string representation
12114func (s AwsEcsClusterConfigurationDetails) GoString() string {
12115	return s.String()
12116}
12117
12118// SetExecuteCommandConfiguration sets the ExecuteCommandConfiguration field's value.
12119func (s *AwsEcsClusterConfigurationDetails) SetExecuteCommandConfiguration(v *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) *AwsEcsClusterConfigurationDetails {
12120	s.ExecuteCommandConfiguration = v
12121	return s
12122}
12123
12124// Contains the run command configuration for the cluster.
12125type AwsEcsClusterConfigurationExecuteCommandConfigurationDetails struct {
12126	_ struct{} `type:"structure"`
12127
12128	// The identifier of the KMS key that is used to encrypt the data between the
12129	// local client and the container.
12130	KmsKeyId *string `type:"string"`
12131
12132	// The log configuration for the results of the run command actions. Required
12133	// if Logging is NONE.
12134	LogConfiguration *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails `type:"structure"`
12135
12136	// The log setting to use for redirecting logs for run command results.
12137	Logging *string `type:"string"`
12138}
12139
12140// String returns the string representation
12141func (s AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) String() string {
12142	return awsutil.Prettify(s)
12143}
12144
12145// GoString returns the string representation
12146func (s AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) GoString() string {
12147	return s.String()
12148}
12149
12150// SetKmsKeyId sets the KmsKeyId field's value.
12151func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) SetKmsKeyId(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails {
12152	s.KmsKeyId = &v
12153	return s
12154}
12155
12156// SetLogConfiguration sets the LogConfiguration field's value.
12157func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) SetLogConfiguration(v *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails {
12158	s.LogConfiguration = v
12159	return s
12160}
12161
12162// SetLogging sets the Logging field's value.
12163func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) SetLogging(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails {
12164	s.Logging = &v
12165	return s
12166}
12167
12168// The log configuration for the results of the run command actions.
12169type AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails struct {
12170	_ struct{} `type:"structure"`
12171
12172	// Whether to enable encryption on the CloudWatch logs.
12173	CloudWatchEncryptionEnabled *bool `type:"boolean"`
12174
12175	// The name of the CloudWatch log group to send the logs to.
12176	CloudWatchLogGroupName *string `type:"string"`
12177
12178	// The name of the S3 bucket to send logs to.
12179	S3BucketName *string `type:"string"`
12180
12181	// Whether to encrypt the logs that are sent to the S3 bucket.
12182	S3EncryptionEnabled *bool `type:"boolean"`
12183
12184	// Identifies the folder in the S3 bucket to send the logs to.
12185	S3KeyPrefix *string `type:"string"`
12186}
12187
12188// String returns the string representation
12189func (s AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) String() string {
12190	return awsutil.Prettify(s)
12191}
12192
12193// GoString returns the string representation
12194func (s AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) GoString() string {
12195	return s.String()
12196}
12197
12198// SetCloudWatchEncryptionEnabled sets the CloudWatchEncryptionEnabled field's value.
12199func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetCloudWatchEncryptionEnabled(v bool) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
12200	s.CloudWatchEncryptionEnabled = &v
12201	return s
12202}
12203
12204// SetCloudWatchLogGroupName sets the CloudWatchLogGroupName field's value.
12205func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetCloudWatchLogGroupName(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
12206	s.CloudWatchLogGroupName = &v
12207	return s
12208}
12209
12210// SetS3BucketName sets the S3BucketName field's value.
12211func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetS3BucketName(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
12212	s.S3BucketName = &v
12213	return s
12214}
12215
12216// SetS3EncryptionEnabled sets the S3EncryptionEnabled field's value.
12217func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetS3EncryptionEnabled(v bool) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
12218	s.S3EncryptionEnabled = &v
12219	return s
12220}
12221
12222// SetS3KeyPrefix sets the S3KeyPrefix field's value.
12223func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetS3KeyPrefix(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
12224	s.S3KeyPrefix = &v
12225	return s
12226}
12227
12228// The default capacity provider strategy for the cluster. The default capacity
12229// provider strategy is used when services or tasks are run without a specified
12230// launch type or capacity provider strategy.
12231type AwsEcsClusterDefaultCapacityProviderStrategyDetails struct {
12232	_ struct{} `type:"structure"`
12233
12234	// The minimum number of tasks to run on the specified capacity provider.
12235	Base *int64 `type:"integer"`
12236
12237	// The name of the capacity provider.
12238	CapacityProvider *string `type:"string"`
12239
12240	// The relative percentage of the total number of tasks launched that should
12241	// use the capacity provider.
12242	Weight *int64 `type:"integer"`
12243}
12244
12245// String returns the string representation
12246func (s AwsEcsClusterDefaultCapacityProviderStrategyDetails) String() string {
12247	return awsutil.Prettify(s)
12248}
12249
12250// GoString returns the string representation
12251func (s AwsEcsClusterDefaultCapacityProviderStrategyDetails) GoString() string {
12252	return s.String()
12253}
12254
12255// SetBase sets the Base field's value.
12256func (s *AwsEcsClusterDefaultCapacityProviderStrategyDetails) SetBase(v int64) *AwsEcsClusterDefaultCapacityProviderStrategyDetails {
12257	s.Base = &v
12258	return s
12259}
12260
12261// SetCapacityProvider sets the CapacityProvider field's value.
12262func (s *AwsEcsClusterDefaultCapacityProviderStrategyDetails) SetCapacityProvider(v string) *AwsEcsClusterDefaultCapacityProviderStrategyDetails {
12263	s.CapacityProvider = &v
12264	return s
12265}
12266
12267// SetWeight sets the Weight field's value.
12268func (s *AwsEcsClusterDefaultCapacityProviderStrategyDetails) SetWeight(v int64) *AwsEcsClusterDefaultCapacityProviderStrategyDetails {
12269	s.Weight = &v
12270	return s
12271}
12272
12273// provides details about an ECS cluster.
12274type AwsEcsClusterDetails struct {
12275	_ struct{} `type:"structure"`
12276
12277	// The short name of one or more capacity providers to associate with the cluster.
12278	CapacityProviders []*string `type:"list"`
12279
12280	// The setting to use to create the cluster. Specifically used to configure
12281	// whether to enable CloudWatch Container Insights for the cluster.
12282	ClusterSettings []*AwsEcsClusterClusterSettingsDetails `type:"list"`
12283
12284	// The run command configuration for the cluster.
12285	Configuration *AwsEcsClusterConfigurationDetails `type:"structure"`
12286
12287	// The default capacity provider strategy for the cluster. The default capacity
12288	// provider strategy is used when services or tasks are run without a specified
12289	// launch type or capacity provider strategy.
12290	DefaultCapacityProviderStrategy []*AwsEcsClusterDefaultCapacityProviderStrategyDetails `type:"list"`
12291}
12292
12293// String returns the string representation
12294func (s AwsEcsClusterDetails) String() string {
12295	return awsutil.Prettify(s)
12296}
12297
12298// GoString returns the string representation
12299func (s AwsEcsClusterDetails) GoString() string {
12300	return s.String()
12301}
12302
12303// SetCapacityProviders sets the CapacityProviders field's value.
12304func (s *AwsEcsClusterDetails) SetCapacityProviders(v []*string) *AwsEcsClusterDetails {
12305	s.CapacityProviders = v
12306	return s
12307}
12308
12309// SetClusterSettings sets the ClusterSettings field's value.
12310func (s *AwsEcsClusterDetails) SetClusterSettings(v []*AwsEcsClusterClusterSettingsDetails) *AwsEcsClusterDetails {
12311	s.ClusterSettings = v
12312	return s
12313}
12314
12315// SetConfiguration sets the Configuration field's value.
12316func (s *AwsEcsClusterDetails) SetConfiguration(v *AwsEcsClusterConfigurationDetails) *AwsEcsClusterDetails {
12317	s.Configuration = v
12318	return s
12319}
12320
12321// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value.
12322func (s *AwsEcsClusterDetails) SetDefaultCapacityProviderStrategy(v []*AwsEcsClusterDefaultCapacityProviderStrategyDetails) *AwsEcsClusterDetails {
12323	s.DefaultCapacityProviderStrategy = v
12324	return s
12325}
12326
12327// Strategy item for the capacity provider strategy that the service uses.
12328type AwsEcsServiceCapacityProviderStrategyDetails struct {
12329	_ struct{} `type:"structure"`
12330
12331	// The minimum number of tasks to run on the capacity provider. Only one strategy
12332	// item can specify a value for Base.
12333	//
12334	// The value must be between 0 and 100000.
12335	Base *int64 `type:"integer"`
12336
12337	// The short name of the capacity provider.
12338	CapacityProvider *string `type:"string"`
12339
12340	// The relative percentage of the total number of tasks that should use the
12341	// capacity provider.
12342	//
12343	// If no weight is specified, the default value is 0. At least one capacity
12344	// provider must have a weight greater than 0.
12345	//
12346	// The value can be between 0 and 1000.
12347	Weight *int64 `type:"integer"`
12348}
12349
12350// String returns the string representation
12351func (s AwsEcsServiceCapacityProviderStrategyDetails) String() string {
12352	return awsutil.Prettify(s)
12353}
12354
12355// GoString returns the string representation
12356func (s AwsEcsServiceCapacityProviderStrategyDetails) GoString() string {
12357	return s.String()
12358}
12359
12360// SetBase sets the Base field's value.
12361func (s *AwsEcsServiceCapacityProviderStrategyDetails) SetBase(v int64) *AwsEcsServiceCapacityProviderStrategyDetails {
12362	s.Base = &v
12363	return s
12364}
12365
12366// SetCapacityProvider sets the CapacityProvider field's value.
12367func (s *AwsEcsServiceCapacityProviderStrategyDetails) SetCapacityProvider(v string) *AwsEcsServiceCapacityProviderStrategyDetails {
12368	s.CapacityProvider = &v
12369	return s
12370}
12371
12372// SetWeight sets the Weight field's value.
12373func (s *AwsEcsServiceCapacityProviderStrategyDetails) SetWeight(v int64) *AwsEcsServiceCapacityProviderStrategyDetails {
12374	s.Weight = &v
12375	return s
12376}
12377
12378// Determines whether a service deployment fails if a service cannot reach a
12379// steady state.
12380type AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails struct {
12381	_ struct{} `type:"structure"`
12382
12383	// Whether to enable the deployment circuit breaker logic for the service.
12384	Enable *bool `type:"boolean"`
12385
12386	// Whether to roll back the service if a service deployment fails. If rollback
12387	// is enabled, when a service deployment fails, the service is rolled back to
12388	// the last deployment that completed successfully.
12389	Rollback *bool `type:"boolean"`
12390}
12391
12392// String returns the string representation
12393func (s AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) String() string {
12394	return awsutil.Prettify(s)
12395}
12396
12397// GoString returns the string representation
12398func (s AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) GoString() string {
12399	return s.String()
12400}
12401
12402// SetEnable sets the Enable field's value.
12403func (s *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) SetEnable(v bool) *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails {
12404	s.Enable = &v
12405	return s
12406}
12407
12408// SetRollback sets the Rollback field's value.
12409func (s *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) SetRollback(v bool) *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails {
12410	s.Rollback = &v
12411	return s
12412}
12413
12414// Optional deployment parameters for the service.
12415type AwsEcsServiceDeploymentConfigurationDetails struct {
12416	_ struct{} `type:"structure"`
12417
12418	// Determines whether a service deployment fails if a service cannot reach a
12419	// steady state.
12420	DeploymentCircuitBreaker *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails `type:"structure"`
12421
12422	// For a service that uses the rolling update (ECS) deployment type, the maximum
12423	// number of tasks in a service that are allowed in the RUNNING or PENDING state
12424	// during a deployment, and for tasks that use the EC2 launch type, when any
12425	// container instances are in the DRAINING state. Provided as a percentage of
12426	// the desired number of tasks. The default value is 200%.
12427	//
12428	// For a service that uses the blue/green (CODE_DEPLOY) or EXTERNAL deployment
12429	// types, and tasks that use the EC2 launch type, the maximum number of tasks
12430	// in the service that remain in the RUNNING state while the container instances
12431	// are in the DRAINING state.
12432	//
12433	// For the Fargate launch type, the maximum percent value is not used.
12434	MaximumPercent *int64 `type:"integer"`
12435
12436	// For a service that uses the rolling update (ECS) deployment type, the minimum
12437	// number of tasks in a service that must remain in the RUNNING state during
12438	// a deployment, and while any container instances are in the DRAINING state
12439	// if the service contains tasks using the EC2 launch type. Expressed as a percentage
12440	// of the desired number of tasks. The default value is 100%.
12441	//
12442	// For a service that uses the blue/green (CODE_DEPLOY) or EXTERNAL deployment
12443	// types and tasks that use the EC2 launch type, the minimum number of the tasks
12444	// in the service that remain in the RUNNING state while the container instances
12445	// are in the DRAINING state.
12446	//
12447	// For the Fargate launch type, the minimum healthy percent value is not used.
12448	MinimumHealthyPercent *int64 `type:"integer"`
12449}
12450
12451// String returns the string representation
12452func (s AwsEcsServiceDeploymentConfigurationDetails) String() string {
12453	return awsutil.Prettify(s)
12454}
12455
12456// GoString returns the string representation
12457func (s AwsEcsServiceDeploymentConfigurationDetails) GoString() string {
12458	return s.String()
12459}
12460
12461// SetDeploymentCircuitBreaker sets the DeploymentCircuitBreaker field's value.
12462func (s *AwsEcsServiceDeploymentConfigurationDetails) SetDeploymentCircuitBreaker(v *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) *AwsEcsServiceDeploymentConfigurationDetails {
12463	s.DeploymentCircuitBreaker = v
12464	return s
12465}
12466
12467// SetMaximumPercent sets the MaximumPercent field's value.
12468func (s *AwsEcsServiceDeploymentConfigurationDetails) SetMaximumPercent(v int64) *AwsEcsServiceDeploymentConfigurationDetails {
12469	s.MaximumPercent = &v
12470	return s
12471}
12472
12473// SetMinimumHealthyPercent sets the MinimumHealthyPercent field's value.
12474func (s *AwsEcsServiceDeploymentConfigurationDetails) SetMinimumHealthyPercent(v int64) *AwsEcsServiceDeploymentConfigurationDetails {
12475	s.MinimumHealthyPercent = &v
12476	return s
12477}
12478
12479// Information about the deployment controller type that the service uses.
12480type AwsEcsServiceDeploymentControllerDetails struct {
12481	_ struct{} `type:"structure"`
12482
12483	// The rolling update (ECS) deployment type replaces the current running version
12484	// of the container with the latest version.
12485	//
12486	// The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment
12487	// model that is powered by CodeDeploy. This deployment model a new deployment
12488	// of a service can be verified before production traffic is sent to it.
12489	//
12490	// The external (EXTERNAL) deployment type allows the use of any third-party
12491	// deployment controller for full control over the deployment process for an
12492	// Amazon ECS service.
12493	//
12494	// Valid values: ECS | CODE_DEPLOY | EXTERNAL
12495	Type *string `type:"string"`
12496}
12497
12498// String returns the string representation
12499func (s AwsEcsServiceDeploymentControllerDetails) String() string {
12500	return awsutil.Prettify(s)
12501}
12502
12503// GoString returns the string representation
12504func (s AwsEcsServiceDeploymentControllerDetails) GoString() string {
12505	return s.String()
12506}
12507
12508// SetType sets the Type field's value.
12509func (s *AwsEcsServiceDeploymentControllerDetails) SetType(v string) *AwsEcsServiceDeploymentControllerDetails {
12510	s.Type = &v
12511	return s
12512}
12513
12514// Provides details about a service within an ECS cluster.
12515type AwsEcsServiceDetails struct {
12516	_ struct{} `type:"structure"`
12517
12518	// The capacity provider strategy that the service uses.
12519	CapacityProviderStrategy []*AwsEcsServiceCapacityProviderStrategyDetails `type:"list"`
12520
12521	// The ARN of the cluster that hosts the service.
12522	Cluster *string `type:"string"`
12523
12524	// Deployment parameters for the service. Includes the number of tasks that
12525	// run and the order in which to start and stop tasks.
12526	DeploymentConfiguration *AwsEcsServiceDeploymentConfigurationDetails `type:"structure"`
12527
12528	// Contains the deployment controller type that the service uses.
12529	DeploymentController *AwsEcsServiceDeploymentControllerDetails `type:"structure"`
12530
12531	// The number of instantiations of the task definition to run on the service.
12532	DesiredCount *int64 `type:"integer"`
12533
12534	// Whether to enable Amazon ECS managed tags for the tasks in the service.
12535	EnableEcsManagedTags *bool `type:"boolean"`
12536
12537	// Whether the execute command functionality is enabled for the service.
12538	EnableExecuteCommand *bool `type:"boolean"`
12539
12540	// After a task starts, the amount of time in seconds that the Amazon ECS service
12541	// scheduler ignores unhealthy Elastic Load Balancing target health checks.
12542	HealthCheckGracePeriodSeconds *int64 `type:"integer"`
12543
12544	// The launch type that the service uses.
12545	//
12546	// Valid values: EC2 | FARGATE | EXTERNAL
12547	LaunchType *string `type:"string"`
12548
12549	// Information about the load balancers that the service uses.
12550	LoadBalancers []*AwsEcsServiceLoadBalancersDetails `type:"list"`
12551
12552	// The name of the service.
12553	Name *string `type:"string"`
12554
12555	// For tasks that use the awsvpc networking mode, the VPC subnet and security
12556	// group configuration.
12557	NetworkConfiguration *AwsEcsServiceNetworkConfigurationDetails `type:"structure"`
12558
12559	// The placement constraints for the tasks in the service.
12560	PlacementConstraints []*AwsEcsServicePlacementConstraintsDetails `type:"list"`
12561
12562	// Information about how tasks for the service are placed.
12563	PlacementStrategies []*AwsEcsServicePlacementStrategiesDetails `type:"list"`
12564
12565	// The platform version on which to run the service. Only specified for tasks
12566	// that are hosted on Fargate. If a platform version is not specified, the LATEST
12567	// platform version is used by default.
12568	PlatformVersion *string `type:"string"`
12569
12570	// Indicates whether to propagate the tags from the task definition to the task
12571	// or from the service to the task. If no value is provided, then tags are not
12572	// propagated.
12573	//
12574	// Valid values: TASK_DEFINITION | SERVICE
12575	PropagateTags *string `type:"string"`
12576
12577	// The ARN of the IAM role that is associated with the service. The role allows
12578	// the Amazon ECS container agent to register container instances with an Elastic
12579	// Load Balancing load balancer.
12580	Role *string `type:"string"`
12581
12582	// The scheduling strategy to use for the service.
12583	//
12584	// The REPLICA scheduling strategy places and maintains the desired number of
12585	// tasks across the cluster. By default, the service scheduler spreads tasks
12586	// across Availability Zones. Task placement strategies and constraints are
12587	// used to customize task placement decisions.
12588	//
12589	// The DAEMON scheduling strategy deploys exactly one task on each active container
12590	// instance that meets all of the task placement constraints that are specified
12591	// in the cluster. The service scheduler also evaluates the task placement constraints
12592	// for running tasks and stops tasks that do not meet the placement constraints.
12593	//
12594	// Valid values: REPLICA | DAEMON
12595	SchedulingStrategy *string `type:"string"`
12596
12597	// The ARN of the service.
12598	ServiceArn *string `type:"string"`
12599
12600	// The name of the service.
12601	//
12602	// The name can contain up to 255 characters. It can use letters, numbers, underscores,
12603	// and hyphens.
12604	ServiceName *string `type:"string"`
12605
12606	// Information about the service discovery registries to assign to the service.
12607	ServiceRegistries []*AwsEcsServiceServiceRegistriesDetails `type:"list"`
12608
12609	// The task definition to use for tasks in the service.
12610	TaskDefinition *string `type:"string"`
12611}
12612
12613// String returns the string representation
12614func (s AwsEcsServiceDetails) String() string {
12615	return awsutil.Prettify(s)
12616}
12617
12618// GoString returns the string representation
12619func (s AwsEcsServiceDetails) GoString() string {
12620	return s.String()
12621}
12622
12623// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value.
12624func (s *AwsEcsServiceDetails) SetCapacityProviderStrategy(v []*AwsEcsServiceCapacityProviderStrategyDetails) *AwsEcsServiceDetails {
12625	s.CapacityProviderStrategy = v
12626	return s
12627}
12628
12629// SetCluster sets the Cluster field's value.
12630func (s *AwsEcsServiceDetails) SetCluster(v string) *AwsEcsServiceDetails {
12631	s.Cluster = &v
12632	return s
12633}
12634
12635// SetDeploymentConfiguration sets the DeploymentConfiguration field's value.
12636func (s *AwsEcsServiceDetails) SetDeploymentConfiguration(v *AwsEcsServiceDeploymentConfigurationDetails) *AwsEcsServiceDetails {
12637	s.DeploymentConfiguration = v
12638	return s
12639}
12640
12641// SetDeploymentController sets the DeploymentController field's value.
12642func (s *AwsEcsServiceDetails) SetDeploymentController(v *AwsEcsServiceDeploymentControllerDetails) *AwsEcsServiceDetails {
12643	s.DeploymentController = v
12644	return s
12645}
12646
12647// SetDesiredCount sets the DesiredCount field's value.
12648func (s *AwsEcsServiceDetails) SetDesiredCount(v int64) *AwsEcsServiceDetails {
12649	s.DesiredCount = &v
12650	return s
12651}
12652
12653// SetEnableEcsManagedTags sets the EnableEcsManagedTags field's value.
12654func (s *AwsEcsServiceDetails) SetEnableEcsManagedTags(v bool) *AwsEcsServiceDetails {
12655	s.EnableEcsManagedTags = &v
12656	return s
12657}
12658
12659// SetEnableExecuteCommand sets the EnableExecuteCommand field's value.
12660func (s *AwsEcsServiceDetails) SetEnableExecuteCommand(v bool) *AwsEcsServiceDetails {
12661	s.EnableExecuteCommand = &v
12662	return s
12663}
12664
12665// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value.
12666func (s *AwsEcsServiceDetails) SetHealthCheckGracePeriodSeconds(v int64) *AwsEcsServiceDetails {
12667	s.HealthCheckGracePeriodSeconds = &v
12668	return s
12669}
12670
12671// SetLaunchType sets the LaunchType field's value.
12672func (s *AwsEcsServiceDetails) SetLaunchType(v string) *AwsEcsServiceDetails {
12673	s.LaunchType = &v
12674	return s
12675}
12676
12677// SetLoadBalancers sets the LoadBalancers field's value.
12678func (s *AwsEcsServiceDetails) SetLoadBalancers(v []*AwsEcsServiceLoadBalancersDetails) *AwsEcsServiceDetails {
12679	s.LoadBalancers = v
12680	return s
12681}
12682
12683// SetName sets the Name field's value.
12684func (s *AwsEcsServiceDetails) SetName(v string) *AwsEcsServiceDetails {
12685	s.Name = &v
12686	return s
12687}
12688
12689// SetNetworkConfiguration sets the NetworkConfiguration field's value.
12690func (s *AwsEcsServiceDetails) SetNetworkConfiguration(v *AwsEcsServiceNetworkConfigurationDetails) *AwsEcsServiceDetails {
12691	s.NetworkConfiguration = v
12692	return s
12693}
12694
12695// SetPlacementConstraints sets the PlacementConstraints field's value.
12696func (s *AwsEcsServiceDetails) SetPlacementConstraints(v []*AwsEcsServicePlacementConstraintsDetails) *AwsEcsServiceDetails {
12697	s.PlacementConstraints = v
12698	return s
12699}
12700
12701// SetPlacementStrategies sets the PlacementStrategies field's value.
12702func (s *AwsEcsServiceDetails) SetPlacementStrategies(v []*AwsEcsServicePlacementStrategiesDetails) *AwsEcsServiceDetails {
12703	s.PlacementStrategies = v
12704	return s
12705}
12706
12707// SetPlatformVersion sets the PlatformVersion field's value.
12708func (s *AwsEcsServiceDetails) SetPlatformVersion(v string) *AwsEcsServiceDetails {
12709	s.PlatformVersion = &v
12710	return s
12711}
12712
12713// SetPropagateTags sets the PropagateTags field's value.
12714func (s *AwsEcsServiceDetails) SetPropagateTags(v string) *AwsEcsServiceDetails {
12715	s.PropagateTags = &v
12716	return s
12717}
12718
12719// SetRole sets the Role field's value.
12720func (s *AwsEcsServiceDetails) SetRole(v string) *AwsEcsServiceDetails {
12721	s.Role = &v
12722	return s
12723}
12724
12725// SetSchedulingStrategy sets the SchedulingStrategy field's value.
12726func (s *AwsEcsServiceDetails) SetSchedulingStrategy(v string) *AwsEcsServiceDetails {
12727	s.SchedulingStrategy = &v
12728	return s
12729}
12730
12731// SetServiceArn sets the ServiceArn field's value.
12732func (s *AwsEcsServiceDetails) SetServiceArn(v string) *AwsEcsServiceDetails {
12733	s.ServiceArn = &v
12734	return s
12735}
12736
12737// SetServiceName sets the ServiceName field's value.
12738func (s *AwsEcsServiceDetails) SetServiceName(v string) *AwsEcsServiceDetails {
12739	s.ServiceName = &v
12740	return s
12741}
12742
12743// SetServiceRegistries sets the ServiceRegistries field's value.
12744func (s *AwsEcsServiceDetails) SetServiceRegistries(v []*AwsEcsServiceServiceRegistriesDetails) *AwsEcsServiceDetails {
12745	s.ServiceRegistries = v
12746	return s
12747}
12748
12749// SetTaskDefinition sets the TaskDefinition field's value.
12750func (s *AwsEcsServiceDetails) SetTaskDefinition(v string) *AwsEcsServiceDetails {
12751	s.TaskDefinition = &v
12752	return s
12753}
12754
12755// Information about a load balancer that the service uses.
12756type AwsEcsServiceLoadBalancersDetails struct {
12757	_ struct{} `type:"structure"`
12758
12759	// The name of the container to associate with the load balancer.
12760	ContainerName *string `type:"string"`
12761
12762	// The port on the container to associate with the load balancer. This port
12763	// must correspond to a containerPort in the task definition the tasks in the
12764	// service are using. For tasks that use the EC2 launch type, the container
12765	// instance they are launched on must allow ingress traffic on the hostPort
12766	// of the port mapping.
12767	ContainerPort *int64 `type:"integer"`
12768
12769	// The name of the load balancer to associate with the Amazon ECS service or
12770	// task set.
12771	//
12772	// Only specified when using a Classic Load Balancer. For an Application Load
12773	// Balancer or a Network Load Balancer, the load balancer name is omitted.
12774	LoadBalancerName *string `type:"string"`
12775
12776	// The ARN of the Elastic Load Balancing target group or groups associated with
12777	// a service or task set.
12778	//
12779	// Only specified when using an Application Load Balancer or a Network Load
12780	// Balancer. For a Classic Load Balancer, the target group ARN is omitted.
12781	TargetGroupArn *string `type:"string"`
12782}
12783
12784// String returns the string representation
12785func (s AwsEcsServiceLoadBalancersDetails) String() string {
12786	return awsutil.Prettify(s)
12787}
12788
12789// GoString returns the string representation
12790func (s AwsEcsServiceLoadBalancersDetails) GoString() string {
12791	return s.String()
12792}
12793
12794// SetContainerName sets the ContainerName field's value.
12795func (s *AwsEcsServiceLoadBalancersDetails) SetContainerName(v string) *AwsEcsServiceLoadBalancersDetails {
12796	s.ContainerName = &v
12797	return s
12798}
12799
12800// SetContainerPort sets the ContainerPort field's value.
12801func (s *AwsEcsServiceLoadBalancersDetails) SetContainerPort(v int64) *AwsEcsServiceLoadBalancersDetails {
12802	s.ContainerPort = &v
12803	return s
12804}
12805
12806// SetLoadBalancerName sets the LoadBalancerName field's value.
12807func (s *AwsEcsServiceLoadBalancersDetails) SetLoadBalancerName(v string) *AwsEcsServiceLoadBalancersDetails {
12808	s.LoadBalancerName = &v
12809	return s
12810}
12811
12812// SetTargetGroupArn sets the TargetGroupArn field's value.
12813func (s *AwsEcsServiceLoadBalancersDetails) SetTargetGroupArn(v string) *AwsEcsServiceLoadBalancersDetails {
12814	s.TargetGroupArn = &v
12815	return s
12816}
12817
12818// For tasks that use the awsvpc networking mode, the VPC subnet and security
12819// group configuration.
12820type AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails struct {
12821	_ struct{} `type:"structure"`
12822
12823	// Whether the task's elastic network interface receives a public IP address.
12824	// The default value is DISABLED.
12825	//
12826	// Valid values: ENABLED | DISABLED
12827	AssignPublicIp *string `type:"string"`
12828
12829	// The IDs of the security groups associated with the task or service.
12830	//
12831	// You can provide up to five security groups.
12832	SecurityGroups []*string `type:"list"`
12833
12834	// The IDs of the subnets associated with the task or service.
12835	//
12836	// You can provide up to 16 subnets.
12837	Subnets []*string `type:"list"`
12838}
12839
12840// String returns the string representation
12841func (s AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) String() string {
12842	return awsutil.Prettify(s)
12843}
12844
12845// GoString returns the string representation
12846func (s AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) GoString() string {
12847	return s.String()
12848}
12849
12850// SetAssignPublicIp sets the AssignPublicIp field's value.
12851func (s *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) SetAssignPublicIp(v string) *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails {
12852	s.AssignPublicIp = &v
12853	return s
12854}
12855
12856// SetSecurityGroups sets the SecurityGroups field's value.
12857func (s *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) SetSecurityGroups(v []*string) *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails {
12858	s.SecurityGroups = v
12859	return s
12860}
12861
12862// SetSubnets sets the Subnets field's value.
12863func (s *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) SetSubnets(v []*string) *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails {
12864	s.Subnets = v
12865	return s
12866}
12867
12868// For tasks that use the awsvpc networking mode, the VPC subnet and security
12869// group configuration.
12870type AwsEcsServiceNetworkConfigurationDetails struct {
12871	_ struct{} `type:"structure"`
12872
12873	// The VPC subnet and security group configuration.
12874	AwsVpcConfiguration *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails `type:"structure"`
12875}
12876
12877// String returns the string representation
12878func (s AwsEcsServiceNetworkConfigurationDetails) String() string {
12879	return awsutil.Prettify(s)
12880}
12881
12882// GoString returns the string representation
12883func (s AwsEcsServiceNetworkConfigurationDetails) GoString() string {
12884	return s.String()
12885}
12886
12887// SetAwsVpcConfiguration sets the AwsVpcConfiguration field's value.
12888func (s *AwsEcsServiceNetworkConfigurationDetails) SetAwsVpcConfiguration(v *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) *AwsEcsServiceNetworkConfigurationDetails {
12889	s.AwsVpcConfiguration = v
12890	return s
12891}
12892
12893// A placement constraint for the tasks in the service.
12894type AwsEcsServicePlacementConstraintsDetails struct {
12895	_ struct{} `type:"structure"`
12896
12897	// A cluster query language expression to apply to the constraint. You cannot
12898	// specify an expression if the constraint type is distinctInstance.
12899	Expression *string `type:"string"`
12900
12901	// The type of constraint. Use distinctInstance to run each task in a particular
12902	// group on a different container instance. Use memberOf to restrict the selection
12903	// to a group of valid candidates.
12904	//
12905	// Valid values: distinctInstance | memberOf
12906	Type *string `type:"string"`
12907}
12908
12909// String returns the string representation
12910func (s AwsEcsServicePlacementConstraintsDetails) String() string {
12911	return awsutil.Prettify(s)
12912}
12913
12914// GoString returns the string representation
12915func (s AwsEcsServicePlacementConstraintsDetails) GoString() string {
12916	return s.String()
12917}
12918
12919// SetExpression sets the Expression field's value.
12920func (s *AwsEcsServicePlacementConstraintsDetails) SetExpression(v string) *AwsEcsServicePlacementConstraintsDetails {
12921	s.Expression = &v
12922	return s
12923}
12924
12925// SetType sets the Type field's value.
12926func (s *AwsEcsServicePlacementConstraintsDetails) SetType(v string) *AwsEcsServicePlacementConstraintsDetails {
12927	s.Type = &v
12928	return s
12929}
12930
12931// A placement strategy that determines how to place the tasks for the service.
12932type AwsEcsServicePlacementStrategiesDetails struct {
12933	_ struct{} `type:"structure"`
12934
12935	// The field to apply the placement strategy against.
12936	//
12937	// For the spread placement strategy, valid values are instanceId (or host,
12938	// which has the same effect), or any platform or custom attribute that is applied
12939	// to a container instance, such as attribute:ecs.availability-zone.
12940	//
12941	// For the binpack placement strategy, valid values are cpu and memory.
12942	//
12943	// For the random placement strategy, this attribute is not used.
12944	Field *string `type:"string"`
12945
12946	// The type of placement strategy.
12947	//
12948	// The random placement strategy randomly places tasks on available candidates.
12949	//
12950	// The spread placement strategy spreads placement across available candidates
12951	// evenly based on the value of Field.
12952	//
12953	// The binpack strategy places tasks on available candidates that have the least
12954	// available amount of the resource that is specified in Field.
12955	//
12956	// Valid values: random | spread | binpack
12957	Type *string `type:"string"`
12958}
12959
12960// String returns the string representation
12961func (s AwsEcsServicePlacementStrategiesDetails) String() string {
12962	return awsutil.Prettify(s)
12963}
12964
12965// GoString returns the string representation
12966func (s AwsEcsServicePlacementStrategiesDetails) GoString() string {
12967	return s.String()
12968}
12969
12970// SetField sets the Field field's value.
12971func (s *AwsEcsServicePlacementStrategiesDetails) SetField(v string) *AwsEcsServicePlacementStrategiesDetails {
12972	s.Field = &v
12973	return s
12974}
12975
12976// SetType sets the Type field's value.
12977func (s *AwsEcsServicePlacementStrategiesDetails) SetType(v string) *AwsEcsServicePlacementStrategiesDetails {
12978	s.Type = &v
12979	return s
12980}
12981
12982// Information about a service discovery registry to assign to the service.
12983type AwsEcsServiceServiceRegistriesDetails struct {
12984	_ struct{} `type:"structure"`
12985
12986	// The container name value to use for the service discovery service.
12987	//
12988	// If the task definition uses the bridge or host network mode, you must specify
12989	// ContainerName and ContainerPort.
12990	//
12991	// If the task definition uses the awsvpc network mode and a type SRV DNS record,
12992	// you must specify either ContainerName and ContainerPort, or Port , but not
12993	// both.
12994	ContainerName *string `type:"string"`
12995
12996	// The port value to use for the service discovery service.
12997	//
12998	// If the task definition uses the bridge or host network mode, you must specify
12999	// ContainerName and ContainerPort.
13000	//
13001	// If the task definition uses the awsvpc network mode and a type SRV DNS record,
13002	// you must specify either ContainerName and ContainerPort, or Port , but not
13003	// both.
13004	ContainerPort *int64 `type:"integer"`
13005
13006	// The port value to use for a service discovery service that specifies an SRV
13007	// record. This field can be used if both the awsvpcawsvpc network mode and
13008	// SRV records are used.
13009	Port *int64 `type:"integer"`
13010
13011	// The ARN of the service registry.
13012	RegistryArn *string `type:"string"`
13013}
13014
13015// String returns the string representation
13016func (s AwsEcsServiceServiceRegistriesDetails) String() string {
13017	return awsutil.Prettify(s)
13018}
13019
13020// GoString returns the string representation
13021func (s AwsEcsServiceServiceRegistriesDetails) GoString() string {
13022	return s.String()
13023}
13024
13025// SetContainerName sets the ContainerName field's value.
13026func (s *AwsEcsServiceServiceRegistriesDetails) SetContainerName(v string) *AwsEcsServiceServiceRegistriesDetails {
13027	s.ContainerName = &v
13028	return s
13029}
13030
13031// SetContainerPort sets the ContainerPort field's value.
13032func (s *AwsEcsServiceServiceRegistriesDetails) SetContainerPort(v int64) *AwsEcsServiceServiceRegistriesDetails {
13033	s.ContainerPort = &v
13034	return s
13035}
13036
13037// SetPort sets the Port field's value.
13038func (s *AwsEcsServiceServiceRegistriesDetails) SetPort(v int64) *AwsEcsServiceServiceRegistriesDetails {
13039	s.Port = &v
13040	return s
13041}
13042
13043// SetRegistryArn sets the RegistryArn field's value.
13044func (s *AwsEcsServiceServiceRegistriesDetails) SetRegistryArn(v string) *AwsEcsServiceServiceRegistriesDetails {
13045	s.RegistryArn = &v
13046	return s
13047}
13048
13049// A dependency that is defined for container startup and shutdown.
13050type AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails struct {
13051	_ struct{} `type:"structure"`
13052
13053	// The dependency condition of the dependent container. Indicates the required
13054	// status of the dependent container before the current container can start.
13055	Condition *string `type:"string"`
13056
13057	// The name of the dependent container.
13058	ContainerName *string `type:"string"`
13059}
13060
13061// String returns the string representation
13062func (s AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) String() string {
13063	return awsutil.Prettify(s)
13064}
13065
13066// GoString returns the string representation
13067func (s AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) GoString() string {
13068	return s.String()
13069}
13070
13071// SetCondition sets the Condition field's value.
13072func (s *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) SetCondition(v string) *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails {
13073	s.Condition = &v
13074	return s
13075}
13076
13077// SetContainerName sets the ContainerName field's value.
13078func (s *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) SetContainerName(v string) *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails {
13079	s.ContainerName = &v
13080	return s
13081}
13082
13083// A container definition that describes a container in the task.
13084type AwsEcsTaskDefinitionContainerDefinitionsDetails struct {
13085	_ struct{} `type:"structure"`
13086
13087	// The command that is passed to the container.
13088	Command []*string `type:"list"`
13089
13090	// The number of CPU units reserved for the container.
13091	Cpu *int64 `type:"integer"`
13092
13093	// The dependencies that are defined for container startup and shutdown.
13094	DependsOn []*AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails `type:"list"`
13095
13096	// Whether to disable networking within the container.
13097	DisableNetworking *bool `type:"boolean"`
13098
13099	// A list of DNS search domains that are presented to the container.
13100	DnsSearchDomains []*string `type:"list"`
13101
13102	// A list of DNS servers that are presented to the container.
13103	DnsServers []*string `type:"list"`
13104
13105	// A key-value map of labels to add to the container.
13106	DockerLabels map[string]*string `type:"map"`
13107
13108	// A list of strings to provide custom labels for SELinux and AppArmor multi-level
13109	// security systems.
13110	DockerSecurityOptions []*string `type:"list"`
13111
13112	// The entry point that is passed to the container.
13113	EntryPoint []*string `type:"list"`
13114
13115	// The environment variables to pass to a container.
13116	Environment []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails `type:"list"`
13117
13118	// A list of files containing the environment variables to pass to a container.
13119	EnvironmentFiles []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails `type:"list"`
13120
13121	// Whether the container is essential. All tasks must have at least one essential
13122	// container.
13123	Essential *bool `type:"boolean"`
13124
13125	// A list of hostnames and IP address mappings to append to the /etc/hosts file
13126	// on the container.
13127	ExtraHosts []*AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails `type:"list"`
13128
13129	// The FireLens configuration for the container. Specifies and configures a
13130	// log router for container logs.
13131	FirelensConfiguration *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails `type:"structure"`
13132
13133	// The container health check command and associated configuration parameters
13134	// for the container.
13135	HealthCheck *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails `type:"structure"`
13136
13137	// The hostname to use for the container.
13138	Hostname *string `type:"string"`
13139
13140	// The image used to start the container.
13141	Image *string `type:"string"`
13142
13143	// If set to true, then containerized applications can be deployed that require
13144	// stdin or a tty to be allocated.
13145	Interactive *bool `type:"boolean"`
13146
13147	// A list of links for the container in the form container_name:alias . Allows
13148	// containers to communicate with each other without the need for port mappings.
13149	Links []*string `type:"list"`
13150
13151	// Linux-specific modifications that are applied to the container, such as Linux
13152	// kernel capabilities.
13153	LinuxParameters *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails `type:"structure"`
13154
13155	// The log configuration specification for the container.
13156	LogConfiguration *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails `type:"structure"`
13157
13158	// The amount (in MiB) of memory to present to the container. If the container
13159	// attempts to exceed the memory specified here, the container is shut down.
13160	// The total amount of memory reserved for all containers within a task must
13161	// be lower than the task memory value, if one is specified.
13162	Memory *int64 `type:"integer"`
13163
13164	// The soft limit (in MiB) of memory to reserve for the container.
13165	MemoryReservation *int64 `type:"integer"`
13166
13167	// The mount points for the data volumes in the container.
13168	MountPoints []*AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails `type:"list"`
13169
13170	// The name of the container.
13171	Name *string `type:"string"`
13172
13173	// The list of port mappings for the container.
13174	PortMappings []*AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails `type:"list"`
13175
13176	// Whether the container is given elevated privileges on the host container
13177	// instance. The elevated privileges are similar to the root user.
13178	Privileged *bool `type:"boolean"`
13179
13180	// Whether to allocate a TTY to the container.
13181	PseudoTerminal *bool `type:"boolean"`
13182
13183	// Whether the container is given read-only access to its root file system.
13184	ReadonlyRootFilesystem *bool `type:"boolean"`
13185
13186	// The private repository authentication credentials to use.
13187	RepositoryCredentials *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails `type:"structure"`
13188
13189	// The type and amount of a resource to assign to a container. The only supported
13190	// resource is a GPU.
13191	ResourceRequirements []*AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails `type:"list"`
13192
13193	// The secrets to pass to the container.
13194	Secrets []*AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails `type:"list"`
13195
13196	// The number of seconds to wait before giving up on resolving dependencies
13197	// for a container.
13198	StartTimeout *int64 `type:"integer"`
13199
13200	// The number of seconds to wait before the container is stopped if it doesn't
13201	// shut down normally on its own.
13202	StopTimeout *int64 `type:"integer"`
13203
13204	// A list of namespaced kernel parameters to set in the container.
13205	SystemControls []*AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails `type:"list"`
13206
13207	// A list of ulimits to set in the container.
13208	Ulimits []*AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails `type:"list"`
13209
13210	// The user to use inside the container.
13211	//
13212	// The value can use one of the following formats.
13213	//
13214	//    * user
13215	//
13216	//    * user :group
13217	//
13218	//    * uid
13219	//
13220	//    * uid :gid
13221	//
13222	//    * user :gid
13223	//
13224	//    * uid :group
13225	User *string `type:"string"`
13226
13227	// Data volumes to mount from another container.
13228	VolumesFrom []*AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails `type:"list"`
13229
13230	// The working directory in which to run commands inside the container.
13231	WorkingDirectory *string `type:"string"`
13232}
13233
13234// String returns the string representation
13235func (s AwsEcsTaskDefinitionContainerDefinitionsDetails) String() string {
13236	return awsutil.Prettify(s)
13237}
13238
13239// GoString returns the string representation
13240func (s AwsEcsTaskDefinitionContainerDefinitionsDetails) GoString() string {
13241	return s.String()
13242}
13243
13244// SetCommand sets the Command field's value.
13245func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetCommand(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13246	s.Command = v
13247	return s
13248}
13249
13250// SetCpu sets the Cpu field's value.
13251func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetCpu(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13252	s.Cpu = &v
13253	return s
13254}
13255
13256// SetDependsOn sets the DependsOn field's value.
13257func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDependsOn(v []*AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13258	s.DependsOn = v
13259	return s
13260}
13261
13262// SetDisableNetworking sets the DisableNetworking field's value.
13263func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDisableNetworking(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13264	s.DisableNetworking = &v
13265	return s
13266}
13267
13268// SetDnsSearchDomains sets the DnsSearchDomains field's value.
13269func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDnsSearchDomains(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13270	s.DnsSearchDomains = v
13271	return s
13272}
13273
13274// SetDnsServers sets the DnsServers field's value.
13275func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDnsServers(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13276	s.DnsServers = v
13277	return s
13278}
13279
13280// SetDockerLabels sets the DockerLabels field's value.
13281func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDockerLabels(v map[string]*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13282	s.DockerLabels = v
13283	return s
13284}
13285
13286// SetDockerSecurityOptions sets the DockerSecurityOptions field's value.
13287func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDockerSecurityOptions(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13288	s.DockerSecurityOptions = v
13289	return s
13290}
13291
13292// SetEntryPoint sets the EntryPoint field's value.
13293func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEntryPoint(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13294	s.EntryPoint = v
13295	return s
13296}
13297
13298// SetEnvironment sets the Environment field's value.
13299func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEnvironment(v []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13300	s.Environment = v
13301	return s
13302}
13303
13304// SetEnvironmentFiles sets the EnvironmentFiles field's value.
13305func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEnvironmentFiles(v []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13306	s.EnvironmentFiles = v
13307	return s
13308}
13309
13310// SetEssential sets the Essential field's value.
13311func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEssential(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13312	s.Essential = &v
13313	return s
13314}
13315
13316// SetExtraHosts sets the ExtraHosts field's value.
13317func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetExtraHosts(v []*AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13318	s.ExtraHosts = v
13319	return s
13320}
13321
13322// SetFirelensConfiguration sets the FirelensConfiguration field's value.
13323func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetFirelensConfiguration(v *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13324	s.FirelensConfiguration = v
13325	return s
13326}
13327
13328// SetHealthCheck sets the HealthCheck field's value.
13329func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetHealthCheck(v *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13330	s.HealthCheck = v
13331	return s
13332}
13333
13334// SetHostname sets the Hostname field's value.
13335func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetHostname(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13336	s.Hostname = &v
13337	return s
13338}
13339
13340// SetImage sets the Image field's value.
13341func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetImage(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13342	s.Image = &v
13343	return s
13344}
13345
13346// SetInteractive sets the Interactive field's value.
13347func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetInteractive(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13348	s.Interactive = &v
13349	return s
13350}
13351
13352// SetLinks sets the Links field's value.
13353func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetLinks(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13354	s.Links = v
13355	return s
13356}
13357
13358// SetLinuxParameters sets the LinuxParameters field's value.
13359func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetLinuxParameters(v *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13360	s.LinuxParameters = v
13361	return s
13362}
13363
13364// SetLogConfiguration sets the LogConfiguration field's value.
13365func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetLogConfiguration(v *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13366	s.LogConfiguration = v
13367	return s
13368}
13369
13370// SetMemory sets the Memory field's value.
13371func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetMemory(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13372	s.Memory = &v
13373	return s
13374}
13375
13376// SetMemoryReservation sets the MemoryReservation field's value.
13377func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetMemoryReservation(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13378	s.MemoryReservation = &v
13379	return s
13380}
13381
13382// SetMountPoints sets the MountPoints field's value.
13383func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetMountPoints(v []*AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13384	s.MountPoints = v
13385	return s
13386}
13387
13388// SetName sets the Name field's value.
13389func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13390	s.Name = &v
13391	return s
13392}
13393
13394// SetPortMappings sets the PortMappings field's value.
13395func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetPortMappings(v []*AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13396	s.PortMappings = v
13397	return s
13398}
13399
13400// SetPrivileged sets the Privileged field's value.
13401func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetPrivileged(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13402	s.Privileged = &v
13403	return s
13404}
13405
13406// SetPseudoTerminal sets the PseudoTerminal field's value.
13407func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetPseudoTerminal(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13408	s.PseudoTerminal = &v
13409	return s
13410}
13411
13412// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value.
13413func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetReadonlyRootFilesystem(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13414	s.ReadonlyRootFilesystem = &v
13415	return s
13416}
13417
13418// SetRepositoryCredentials sets the RepositoryCredentials field's value.
13419func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetRepositoryCredentials(v *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13420	s.RepositoryCredentials = v
13421	return s
13422}
13423
13424// SetResourceRequirements sets the ResourceRequirements field's value.
13425func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetResourceRequirements(v []*AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13426	s.ResourceRequirements = v
13427	return s
13428}
13429
13430// SetSecrets sets the Secrets field's value.
13431func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetSecrets(v []*AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13432	s.Secrets = v
13433	return s
13434}
13435
13436// SetStartTimeout sets the StartTimeout field's value.
13437func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetStartTimeout(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13438	s.StartTimeout = &v
13439	return s
13440}
13441
13442// SetStopTimeout sets the StopTimeout field's value.
13443func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetStopTimeout(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13444	s.StopTimeout = &v
13445	return s
13446}
13447
13448// SetSystemControls sets the SystemControls field's value.
13449func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetSystemControls(v []*AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13450	s.SystemControls = v
13451	return s
13452}
13453
13454// SetUlimits sets the Ulimits field's value.
13455func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetUlimits(v []*AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13456	s.Ulimits = v
13457	return s
13458}
13459
13460// SetUser sets the User field's value.
13461func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetUser(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13462	s.User = &v
13463	return s
13464}
13465
13466// SetVolumesFrom sets the VolumesFrom field's value.
13467func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetVolumesFrom(v []*AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13468	s.VolumesFrom = v
13469	return s
13470}
13471
13472// SetWorkingDirectory sets the WorkingDirectory field's value.
13473func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetWorkingDirectory(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
13474	s.WorkingDirectory = &v
13475	return s
13476}
13477
13478// An environment variable to pass to the container.
13479type AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails struct {
13480	_ struct{} `type:"structure"`
13481
13482	// The name of the environment variable.
13483	Name *string `type:"string"`
13484
13485	// The value of the environment variable.
13486	Value *string `type:"string"`
13487}
13488
13489// String returns the string representation
13490func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) String() string {
13491	return awsutil.Prettify(s)
13492}
13493
13494// GoString returns the string representation
13495func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) GoString() string {
13496	return s.String()
13497}
13498
13499// SetName sets the Name field's value.
13500func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails {
13501	s.Name = &v
13502	return s
13503}
13504
13505// SetValue sets the Value field's value.
13506func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails {
13507	s.Value = &v
13508	return s
13509}
13510
13511// A file that contain environment variables to pass to a container.
13512type AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails struct {
13513	_ struct{} `type:"structure"`
13514
13515	// The type of environment file.
13516	Type *string `type:"string"`
13517
13518	// The ARN of the S3 object that contains the environment variable file.
13519	Value *string `type:"string"`
13520}
13521
13522// String returns the string representation
13523func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) String() string {
13524	return awsutil.Prettify(s)
13525}
13526
13527// GoString returns the string representation
13528func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) GoString() string {
13529	return s.String()
13530}
13531
13532// SetType sets the Type field's value.
13533func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) SetType(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails {
13534	s.Type = &v
13535	return s
13536}
13537
13538// SetValue sets the Value field's value.
13539func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails {
13540	s.Value = &v
13541	return s
13542}
13543
13544// A hostname and IP address mapping to append to the /etc/hosts file on the
13545// container.
13546type AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails struct {
13547	_ struct{} `type:"structure"`
13548
13549	// The hostname to use in the /etc/hosts entry.
13550	Hostname *string `type:"string"`
13551
13552	// The IP address to use in the /etc/hosts entry.
13553	IpAddress *string `type:"string"`
13554}
13555
13556// String returns the string representation
13557func (s AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) String() string {
13558	return awsutil.Prettify(s)
13559}
13560
13561// GoString returns the string representation
13562func (s AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) GoString() string {
13563	return s.String()
13564}
13565
13566// SetHostname sets the Hostname field's value.
13567func (s *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) SetHostname(v string) *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails {
13568	s.Hostname = &v
13569	return s
13570}
13571
13572// SetIpAddress sets the IpAddress field's value.
13573func (s *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) SetIpAddress(v string) *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails {
13574	s.IpAddress = &v
13575	return s
13576}
13577
13578// The FireLens configuration for the container. The configuration specifies
13579// and configures a log router for container logs.
13580type AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails struct {
13581	_ struct{} `type:"structure"`
13582
13583	// The options to use to configure the log router.
13584	//
13585	// The valid option keys are as follows:
13586	//
13587	//    * enable-ecs-log-metadata. The value can be true or false.
13588	//
13589	//    * config-file-type. The value can be s3 or file.
13590	//
13591	//    * config-file-value. The value is either an S3 ARN or a file path.
13592	Options map[string]*string `type:"map"`
13593
13594	// The log router to use.
13595	Type *string `type:"string"`
13596}
13597
13598// String returns the string representation
13599func (s AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) String() string {
13600	return awsutil.Prettify(s)
13601}
13602
13603// GoString returns the string representation
13604func (s AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) GoString() string {
13605	return s.String()
13606}
13607
13608// SetOptions sets the Options field's value.
13609func (s *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) SetOptions(v map[string]*string) *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails {
13610	s.Options = v
13611	return s
13612}
13613
13614// SetType sets the Type field's value.
13615func (s *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) SetType(v string) *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails {
13616	s.Type = &v
13617	return s
13618}
13619
13620// The container health check command and associated configuration parameters
13621// for the container.
13622type AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails struct {
13623	_ struct{} `type:"structure"`
13624
13625	// The command that the container runs to determine whether it is healthy.
13626	Command []*string `type:"list"`
13627
13628	// The time period in seconds between each health check execution. The default
13629	// value is 30 seconds.
13630	Interval *int64 `type:"integer"`
13631
13632	// The number of times to retry a failed health check before the container is
13633	// considered unhealthy. The default value is 3.
13634	Retries *int64 `type:"integer"`
13635
13636	// The optional grace period in seconds that allows containers time to bootstrap
13637	// before failed health checks count towards the maximum number of retries.
13638	StartPeriod *int64 `type:"integer"`
13639
13640	// The time period in seconds to wait for a health check to succeed before it
13641	// is considered a failure. The default value is 5.
13642	Timeout *int64 `type:"integer"`
13643}
13644
13645// String returns the string representation
13646func (s AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) String() string {
13647	return awsutil.Prettify(s)
13648}
13649
13650// GoString returns the string representation
13651func (s AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) GoString() string {
13652	return s.String()
13653}
13654
13655// SetCommand sets the Command field's value.
13656func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetCommand(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
13657	s.Command = v
13658	return s
13659}
13660
13661// SetInterval sets the Interval field's value.
13662func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetInterval(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
13663	s.Interval = &v
13664	return s
13665}
13666
13667// SetRetries sets the Retries field's value.
13668func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetRetries(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
13669	s.Retries = &v
13670	return s
13671}
13672
13673// SetStartPeriod sets the StartPeriod field's value.
13674func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetStartPeriod(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
13675	s.StartPeriod = &v
13676	return s
13677}
13678
13679// SetTimeout sets the Timeout field's value.
13680func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetTimeout(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
13681	s.Timeout = &v
13682	return s
13683}
13684
13685// The Linux capabilities for the container that are added to or dropped from
13686// the default configuration provided by Docker.
13687type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails struct {
13688	_ struct{} `type:"structure"`
13689
13690	// The Linux capabilities for the container that are added to the default configuration
13691	// provided by Docker.
13692	Add []*string `type:"list"`
13693
13694	// The Linux capabilities for the container that are dropped from the default
13695	// configuration provided by Docker.
13696	Drop []*string `type:"list"`
13697}
13698
13699// String returns the string representation
13700func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) String() string {
13701	return awsutil.Prettify(s)
13702}
13703
13704// GoString returns the string representation
13705func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) GoString() string {
13706	return s.String()
13707}
13708
13709// SetAdd sets the Add field's value.
13710func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) SetAdd(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails {
13711	s.Add = v
13712	return s
13713}
13714
13715// SetDrop sets the Drop field's value.
13716func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) SetDrop(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails {
13717	s.Drop = v
13718	return s
13719}
13720
13721// >Linux-specific modifications that are applied to the container, such as
13722// Linux kernel capabilities.
13723type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails struct {
13724	_ struct{} `type:"structure"`
13725
13726	// The Linux capabilities for the container that are added to or dropped from
13727	// the default configuration provided by Docker.
13728	Capabilities *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails `type:"structure"`
13729
13730	// The host devices to expose to the container.
13731	Devices []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails `type:"list"`
13732
13733	// Whether to run an init process inside the container that forwards signals
13734	// and reaps processes.
13735	InitProcessEnabled *bool `type:"boolean"`
13736
13737	// The total amount of swap memory (in MiB) that a container can use.
13738	MaxSwap *int64 `type:"integer"`
13739
13740	// The value for the size (in MiB) of the /dev/shm volume.
13741	SharedMemorySize *int64 `type:"integer"`
13742
13743	// Configures the container's memory swappiness behavior. Determines how aggressively
13744	// pages are swapped. The higher the value, the more aggressive the swappiness.
13745	// The default is 60.
13746	Swappiness *int64 `type:"integer"`
13747
13748	// The container path, mount options, and size (in MiB) of the tmpfs mount.
13749	Tmpfs []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails `type:"list"`
13750}
13751
13752// String returns the string representation
13753func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) String() string {
13754	return awsutil.Prettify(s)
13755}
13756
13757// GoString returns the string representation
13758func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) GoString() string {
13759	return s.String()
13760}
13761
13762// SetCapabilities sets the Capabilities field's value.
13763func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetCapabilities(v *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
13764	s.Capabilities = v
13765	return s
13766}
13767
13768// SetDevices sets the Devices field's value.
13769func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetDevices(v []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
13770	s.Devices = v
13771	return s
13772}
13773
13774// SetInitProcessEnabled sets the InitProcessEnabled field's value.
13775func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetInitProcessEnabled(v bool) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
13776	s.InitProcessEnabled = &v
13777	return s
13778}
13779
13780// SetMaxSwap sets the MaxSwap field's value.
13781func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetMaxSwap(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
13782	s.MaxSwap = &v
13783	return s
13784}
13785
13786// SetSharedMemorySize sets the SharedMemorySize field's value.
13787func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetSharedMemorySize(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
13788	s.SharedMemorySize = &v
13789	return s
13790}
13791
13792// SetSwappiness sets the Swappiness field's value.
13793func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetSwappiness(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
13794	s.Swappiness = &v
13795	return s
13796}
13797
13798// SetTmpfs sets the Tmpfs field's value.
13799func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetTmpfs(v []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
13800	s.Tmpfs = v
13801	return s
13802}
13803
13804// A host device to expose to the container.
13805type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails struct {
13806	_ struct{} `type:"structure"`
13807
13808	// The path inside the container at which to expose the host device.
13809	ContainerPath *string `type:"string"`
13810
13811	// The path for the device on the host container instance.
13812	HostPath *string `type:"string"`
13813
13814	// The explicit permissions to provide to the container for the device. By default,
13815	// the container has permissions for read, write, and mknod for the device.
13816	Permissions []*string `type:"list"`
13817}
13818
13819// String returns the string representation
13820func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) String() string {
13821	return awsutil.Prettify(s)
13822}
13823
13824// GoString returns the string representation
13825func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) GoString() string {
13826	return s.String()
13827}
13828
13829// SetContainerPath sets the ContainerPath field's value.
13830func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) SetContainerPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails {
13831	s.ContainerPath = &v
13832	return s
13833}
13834
13835// SetHostPath sets the HostPath field's value.
13836func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) SetHostPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails {
13837	s.HostPath = &v
13838	return s
13839}
13840
13841// SetPermissions sets the Permissions field's value.
13842func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) SetPermissions(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails {
13843	s.Permissions = v
13844	return s
13845}
13846
13847// The container path, mount options, and size (in MiB) of a tmpfs mount.
13848type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails struct {
13849	_ struct{} `type:"structure"`
13850
13851	// The absolute file path where the tmpfs volume is to be mounted.
13852	ContainerPath *string `type:"string"`
13853
13854	// The list of tmpfs volume mount options.
13855	MountOptions []*string `type:"list"`
13856
13857	// The maximum size (in MiB) of the tmpfs volume.
13858	Size *int64 `type:"integer"`
13859}
13860
13861// String returns the string representation
13862func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) String() string {
13863	return awsutil.Prettify(s)
13864}
13865
13866// GoString returns the string representation
13867func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) GoString() string {
13868	return s.String()
13869}
13870
13871// SetContainerPath sets the ContainerPath field's value.
13872func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) SetContainerPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails {
13873	s.ContainerPath = &v
13874	return s
13875}
13876
13877// SetMountOptions sets the MountOptions field's value.
13878func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) SetMountOptions(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails {
13879	s.MountOptions = v
13880	return s
13881}
13882
13883// SetSize sets the Size field's value.
13884func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) SetSize(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails {
13885	s.Size = &v
13886	return s
13887}
13888
13889// The log configuration specification for the container.
13890type AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails struct {
13891	_ struct{} `type:"structure"`
13892
13893	// The log driver to use for the container.
13894	LogDriver *string `type:"string"`
13895
13896	// The configuration options to send to the log driver. Requires version 1.19
13897	// of the Docker Remote API or greater on your container instance.
13898	Options map[string]*string `type:"map"`
13899
13900	// The secrets to pass to the log configuration.
13901	SecretOptions []*AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails `type:"list"`
13902}
13903
13904// String returns the string representation
13905func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) String() string {
13906	return awsutil.Prettify(s)
13907}
13908
13909// GoString returns the string representation
13910func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) GoString() string {
13911	return s.String()
13912}
13913
13914// SetLogDriver sets the LogDriver field's value.
13915func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) SetLogDriver(v string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
13916	s.LogDriver = &v
13917	return s
13918}
13919
13920// SetOptions sets the Options field's value.
13921func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) SetOptions(v map[string]*string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
13922	s.Options = v
13923	return s
13924}
13925
13926// SetSecretOptions sets the SecretOptions field's value.
13927func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) SetSecretOptions(v []*AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
13928	s.SecretOptions = v
13929	return s
13930}
13931
13932// A secret to pass to the log configuration.
13933type AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails struct {
13934	_ struct{} `type:"structure"`
13935
13936	// The name of the secret.
13937	Name *string `type:"string"`
13938
13939	// The secret to expose to the container.
13940	//
13941	// The value is either the full ARN of the Secrets Manager secret or the full
13942	// ARN of the parameter in the Systems Manager Parameter Store.
13943	ValueFrom *string `type:"string"`
13944}
13945
13946// String returns the string representation
13947func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) String() string {
13948	return awsutil.Prettify(s)
13949}
13950
13951// GoString returns the string representation
13952func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) GoString() string {
13953	return s.String()
13954}
13955
13956// SetName sets the Name field's value.
13957func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails {
13958	s.Name = &v
13959	return s
13960}
13961
13962// SetValueFrom sets the ValueFrom field's value.
13963func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) SetValueFrom(v string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails {
13964	s.ValueFrom = &v
13965	return s
13966}
13967
13968// A mount point for the data volumes in the container.
13969type AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails struct {
13970	_ struct{} `type:"structure"`
13971
13972	// The path on the container to mount the host volume at.
13973	ContainerPath *string `type:"string"`
13974
13975	// Whether the container has read-only access to the volume.
13976	ReadOnly *bool `type:"boolean"`
13977
13978	// The name of the volume to mount. Must match the name of a volume listed in
13979	// VolumeDetails for the task definition.
13980	SourceVolume *string `type:"string"`
13981}
13982
13983// String returns the string representation
13984func (s AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) String() string {
13985	return awsutil.Prettify(s)
13986}
13987
13988// GoString returns the string representation
13989func (s AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) GoString() string {
13990	return s.String()
13991}
13992
13993// SetContainerPath sets the ContainerPath field's value.
13994func (s *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) SetContainerPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails {
13995	s.ContainerPath = &v
13996	return s
13997}
13998
13999// SetReadOnly sets the ReadOnly field's value.
14000func (s *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) SetReadOnly(v bool) *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails {
14001	s.ReadOnly = &v
14002	return s
14003}
14004
14005// SetSourceVolume sets the SourceVolume field's value.
14006func (s *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) SetSourceVolume(v string) *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails {
14007	s.SourceVolume = &v
14008	return s
14009}
14010
14011// A port mapping for the container.
14012type AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails struct {
14013	_ struct{} `type:"structure"`
14014
14015	// The port number on the container that is bound to the user-specified or automatically
14016	// assigned host port.
14017	ContainerPort *int64 `type:"integer"`
14018
14019	// The port number on the container instance to reserve for the container.
14020	HostPort *int64 `type:"integer"`
14021
14022	// The protocol used for the port mapping. The default is tcp.
14023	Protocol *string `type:"string"`
14024}
14025
14026// String returns the string representation
14027func (s AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) String() string {
14028	return awsutil.Prettify(s)
14029}
14030
14031// GoString returns the string representation
14032func (s AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) GoString() string {
14033	return s.String()
14034}
14035
14036// SetContainerPort sets the ContainerPort field's value.
14037func (s *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) SetContainerPort(v int64) *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails {
14038	s.ContainerPort = &v
14039	return s
14040}
14041
14042// SetHostPort sets the HostPort field's value.
14043func (s *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) SetHostPort(v int64) *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails {
14044	s.HostPort = &v
14045	return s
14046}
14047
14048// SetProtocol sets the Protocol field's value.
14049func (s *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) SetProtocol(v string) *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails {
14050	s.Protocol = &v
14051	return s
14052}
14053
14054// The private repository authentication credentials to use.
14055type AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails struct {
14056	_ struct{} `type:"structure"`
14057
14058	// The ARN of the secret that contains the private repository credentials.
14059	CredentialsParameter *string `type:"string"`
14060}
14061
14062// String returns the string representation
14063func (s AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) String() string {
14064	return awsutil.Prettify(s)
14065}
14066
14067// GoString returns the string representation
14068func (s AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) GoString() string {
14069	return s.String()
14070}
14071
14072// SetCredentialsParameter sets the CredentialsParameter field's value.
14073func (s *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) SetCredentialsParameter(v string) *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails {
14074	s.CredentialsParameter = &v
14075	return s
14076}
14077
14078// A resource to assign to a container.
14079type AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails struct {
14080	_ struct{} `type:"structure"`
14081
14082	// The type of resource to assign to a container.
14083	Type *string `type:"string"`
14084
14085	// The value for the specified resource type.
14086	//
14087	// For GPU, the value is the number of physical GPUs the Amazon ECS container
14088	// agent reserves for the container.
14089	//
14090	// For InferenceAccelerator, the value should match the DeviceName attribute
14091	// of an entry in InferenceAccelerators.
14092	Value *string `type:"string"`
14093}
14094
14095// String returns the string representation
14096func (s AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) String() string {
14097	return awsutil.Prettify(s)
14098}
14099
14100// GoString returns the string representation
14101func (s AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) GoString() string {
14102	return s.String()
14103}
14104
14105// SetType sets the Type field's value.
14106func (s *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) SetType(v string) *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails {
14107	s.Type = &v
14108	return s
14109}
14110
14111// SetValue sets the Value field's value.
14112func (s *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails {
14113	s.Value = &v
14114	return s
14115}
14116
14117// A secret to pass to the container.
14118type AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails struct {
14119	_ struct{} `type:"structure"`
14120
14121	// The name of the secret.
14122	Name *string `type:"string"`
14123
14124	// The secret to expose to the container. The value is either the full ARN of
14125	// the Secrets Manager secret or the full ARN of the parameter in the Systems
14126	// Manager Parameter Store.
14127	ValueFrom *string `type:"string"`
14128}
14129
14130// String returns the string representation
14131func (s AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) String() string {
14132	return awsutil.Prettify(s)
14133}
14134
14135// GoString returns the string representation
14136func (s AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) GoString() string {
14137	return s.String()
14138}
14139
14140// SetName sets the Name field's value.
14141func (s *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails {
14142	s.Name = &v
14143	return s
14144}
14145
14146// SetValueFrom sets the ValueFrom field's value.
14147func (s *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) SetValueFrom(v string) *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails {
14148	s.ValueFrom = &v
14149	return s
14150}
14151
14152// A namespaced kernel parameter to set in the container.
14153type AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails struct {
14154	_ struct{} `type:"structure"`
14155
14156	// The namespaced kernel parameter for which to set a value.
14157	Namespace *string `type:"string"`
14158
14159	// The value of the parameter.
14160	Value *string `type:"string"`
14161}
14162
14163// String returns the string representation
14164func (s AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) String() string {
14165	return awsutil.Prettify(s)
14166}
14167
14168// GoString returns the string representation
14169func (s AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) GoString() string {
14170	return s.String()
14171}
14172
14173// SetNamespace sets the Namespace field's value.
14174func (s *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) SetNamespace(v string) *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails {
14175	s.Namespace = &v
14176	return s
14177}
14178
14179// SetValue sets the Value field's value.
14180func (s *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails {
14181	s.Value = &v
14182	return s
14183}
14184
14185// A ulimit to set in the container.
14186type AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails struct {
14187	_ struct{} `type:"structure"`
14188
14189	// The hard limit for the ulimit type.
14190	HardLimit *int64 `type:"integer"`
14191
14192	// The type of the ulimit.
14193	Name *string `type:"string"`
14194
14195	// The soft limit for the ulimit type.
14196	SoftLimit *int64 `type:"integer"`
14197}
14198
14199// String returns the string representation
14200func (s AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) String() string {
14201	return awsutil.Prettify(s)
14202}
14203
14204// GoString returns the string representation
14205func (s AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) GoString() string {
14206	return s.String()
14207}
14208
14209// SetHardLimit sets the HardLimit field's value.
14210func (s *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) SetHardLimit(v int64) *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails {
14211	s.HardLimit = &v
14212	return s
14213}
14214
14215// SetName sets the Name field's value.
14216func (s *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails {
14217	s.Name = &v
14218	return s
14219}
14220
14221// SetSoftLimit sets the SoftLimit field's value.
14222func (s *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) SetSoftLimit(v int64) *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails {
14223	s.SoftLimit = &v
14224	return s
14225}
14226
14227// A data volume to mount from another container.
14228type AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails struct {
14229	_ struct{} `type:"structure"`
14230
14231	// Whether the container has read-only access to the volume.
14232	ReadOnly *bool `type:"boolean"`
14233
14234	// The name of another container within the same task definition from which
14235	// to mount volumes.
14236	SourceContainer *string `type:"string"`
14237}
14238
14239// String returns the string representation
14240func (s AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) String() string {
14241	return awsutil.Prettify(s)
14242}
14243
14244// GoString returns the string representation
14245func (s AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) GoString() string {
14246	return s.String()
14247}
14248
14249// SetReadOnly sets the ReadOnly field's value.
14250func (s *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) SetReadOnly(v bool) *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails {
14251	s.ReadOnly = &v
14252	return s
14253}
14254
14255// SetSourceContainer sets the SourceContainer field's value.
14256func (s *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) SetSourceContainer(v string) *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails {
14257	s.SourceContainer = &v
14258	return s
14259}
14260
14261// details about a task definition. A task definition describes the container
14262// and volume definitions of an Amazon Elastic Container Service task.
14263type AwsEcsTaskDefinitionDetails struct {
14264	_ struct{} `type:"structure"`
14265
14266	// The container definitions that describe the containers that make up the task.
14267	ContainerDefinitions []*AwsEcsTaskDefinitionContainerDefinitionsDetails `type:"list"`
14268
14269	// The number of CPU units used by the task.
14270	Cpu *string `type:"string"`
14271
14272	// The ARN of the task execution role that grants the container agent permission
14273	// to make API calls on behalf of the container user.
14274	ExecutionRoleArn *string `type:"string"`
14275
14276	// The name of a family that this task definition is registered to.
14277	Family *string `type:"string"`
14278
14279	// The Elastic Inference accelerators to use for the containers in the task.
14280	InferenceAccelerators []*AwsEcsTaskDefinitionInferenceAcceleratorsDetails `type:"list"`
14281
14282	// The IPC resource namespace to use for the containers in the task.
14283	IpcMode *string `type:"string"`
14284
14285	// The amount (in MiB) of memory used by the task.
14286	Memory *string `type:"string"`
14287
14288	// The Docker networking mode to use for the containers in the task.
14289	NetworkMode *string `type:"string"`
14290
14291	// The process namespace to use for the containers in the task.
14292	PidMode *string `type:"string"`
14293
14294	// The placement constraint objects to use for tasks.
14295	PlacementConstraints []*AwsEcsTaskDefinitionPlacementConstraintsDetails `type:"list"`
14296
14297	// The configuration details for the App Mesh proxy.
14298	ProxyConfiguration *AwsEcsTaskDefinitionProxyConfigurationDetails `type:"structure"`
14299
14300	// The task launch types that the task definition was validated against.
14301	RequiresCompatibilities []*string `type:"list"`
14302
14303	// The short name or ARN of the IAM role that grants containers in the task
14304	// permission to call Amazon Web Services API operations on your behalf.
14305	TaskRoleArn *string `type:"string"`
14306
14307	// The data volume definitions for the task.
14308	Volumes []*AwsEcsTaskDefinitionVolumesDetails `type:"list"`
14309}
14310
14311// String returns the string representation
14312func (s AwsEcsTaskDefinitionDetails) String() string {
14313	return awsutil.Prettify(s)
14314}
14315
14316// GoString returns the string representation
14317func (s AwsEcsTaskDefinitionDetails) GoString() string {
14318	return s.String()
14319}
14320
14321// SetContainerDefinitions sets the ContainerDefinitions field's value.
14322func (s *AwsEcsTaskDefinitionDetails) SetContainerDefinitions(v []*AwsEcsTaskDefinitionContainerDefinitionsDetails) *AwsEcsTaskDefinitionDetails {
14323	s.ContainerDefinitions = v
14324	return s
14325}
14326
14327// SetCpu sets the Cpu field's value.
14328func (s *AwsEcsTaskDefinitionDetails) SetCpu(v string) *AwsEcsTaskDefinitionDetails {
14329	s.Cpu = &v
14330	return s
14331}
14332
14333// SetExecutionRoleArn sets the ExecutionRoleArn field's value.
14334func (s *AwsEcsTaskDefinitionDetails) SetExecutionRoleArn(v string) *AwsEcsTaskDefinitionDetails {
14335	s.ExecutionRoleArn = &v
14336	return s
14337}
14338
14339// SetFamily sets the Family field's value.
14340func (s *AwsEcsTaskDefinitionDetails) SetFamily(v string) *AwsEcsTaskDefinitionDetails {
14341	s.Family = &v
14342	return s
14343}
14344
14345// SetInferenceAccelerators sets the InferenceAccelerators field's value.
14346func (s *AwsEcsTaskDefinitionDetails) SetInferenceAccelerators(v []*AwsEcsTaskDefinitionInferenceAcceleratorsDetails) *AwsEcsTaskDefinitionDetails {
14347	s.InferenceAccelerators = v
14348	return s
14349}
14350
14351// SetIpcMode sets the IpcMode field's value.
14352func (s *AwsEcsTaskDefinitionDetails) SetIpcMode(v string) *AwsEcsTaskDefinitionDetails {
14353	s.IpcMode = &v
14354	return s
14355}
14356
14357// SetMemory sets the Memory field's value.
14358func (s *AwsEcsTaskDefinitionDetails) SetMemory(v string) *AwsEcsTaskDefinitionDetails {
14359	s.Memory = &v
14360	return s
14361}
14362
14363// SetNetworkMode sets the NetworkMode field's value.
14364func (s *AwsEcsTaskDefinitionDetails) SetNetworkMode(v string) *AwsEcsTaskDefinitionDetails {
14365	s.NetworkMode = &v
14366	return s
14367}
14368
14369// SetPidMode sets the PidMode field's value.
14370func (s *AwsEcsTaskDefinitionDetails) SetPidMode(v string) *AwsEcsTaskDefinitionDetails {
14371	s.PidMode = &v
14372	return s
14373}
14374
14375// SetPlacementConstraints sets the PlacementConstraints field's value.
14376func (s *AwsEcsTaskDefinitionDetails) SetPlacementConstraints(v []*AwsEcsTaskDefinitionPlacementConstraintsDetails) *AwsEcsTaskDefinitionDetails {
14377	s.PlacementConstraints = v
14378	return s
14379}
14380
14381// SetProxyConfiguration sets the ProxyConfiguration field's value.
14382func (s *AwsEcsTaskDefinitionDetails) SetProxyConfiguration(v *AwsEcsTaskDefinitionProxyConfigurationDetails) *AwsEcsTaskDefinitionDetails {
14383	s.ProxyConfiguration = v
14384	return s
14385}
14386
14387// SetRequiresCompatibilities sets the RequiresCompatibilities field's value.
14388func (s *AwsEcsTaskDefinitionDetails) SetRequiresCompatibilities(v []*string) *AwsEcsTaskDefinitionDetails {
14389	s.RequiresCompatibilities = v
14390	return s
14391}
14392
14393// SetTaskRoleArn sets the TaskRoleArn field's value.
14394func (s *AwsEcsTaskDefinitionDetails) SetTaskRoleArn(v string) *AwsEcsTaskDefinitionDetails {
14395	s.TaskRoleArn = &v
14396	return s
14397}
14398
14399// SetVolumes sets the Volumes field's value.
14400func (s *AwsEcsTaskDefinitionDetails) SetVolumes(v []*AwsEcsTaskDefinitionVolumesDetails) *AwsEcsTaskDefinitionDetails {
14401	s.Volumes = v
14402	return s
14403}
14404
14405// An Elastic Inference accelerator to use for the containers in the task.
14406type AwsEcsTaskDefinitionInferenceAcceleratorsDetails struct {
14407	_ struct{} `type:"structure"`
14408
14409	// The Elastic Inference accelerator device name.
14410	DeviceName *string `type:"string"`
14411
14412	// The Elastic Inference accelerator type to use.
14413	DeviceType *string `type:"string"`
14414}
14415
14416// String returns the string representation
14417func (s AwsEcsTaskDefinitionInferenceAcceleratorsDetails) String() string {
14418	return awsutil.Prettify(s)
14419}
14420
14421// GoString returns the string representation
14422func (s AwsEcsTaskDefinitionInferenceAcceleratorsDetails) GoString() string {
14423	return s.String()
14424}
14425
14426// SetDeviceName sets the DeviceName field's value.
14427func (s *AwsEcsTaskDefinitionInferenceAcceleratorsDetails) SetDeviceName(v string) *AwsEcsTaskDefinitionInferenceAcceleratorsDetails {
14428	s.DeviceName = &v
14429	return s
14430}
14431
14432// SetDeviceType sets the DeviceType field's value.
14433func (s *AwsEcsTaskDefinitionInferenceAcceleratorsDetails) SetDeviceType(v string) *AwsEcsTaskDefinitionInferenceAcceleratorsDetails {
14434	s.DeviceType = &v
14435	return s
14436}
14437
14438// A placement constraint object to use for tasks.
14439type AwsEcsTaskDefinitionPlacementConstraintsDetails struct {
14440	_ struct{} `type:"structure"`
14441
14442	// A cluster query language expression to apply to the constraint.
14443	Expression *string `type:"string"`
14444
14445	// The type of constraint.
14446	Type *string `type:"string"`
14447}
14448
14449// String returns the string representation
14450func (s AwsEcsTaskDefinitionPlacementConstraintsDetails) String() string {
14451	return awsutil.Prettify(s)
14452}
14453
14454// GoString returns the string representation
14455func (s AwsEcsTaskDefinitionPlacementConstraintsDetails) GoString() string {
14456	return s.String()
14457}
14458
14459// SetExpression sets the Expression field's value.
14460func (s *AwsEcsTaskDefinitionPlacementConstraintsDetails) SetExpression(v string) *AwsEcsTaskDefinitionPlacementConstraintsDetails {
14461	s.Expression = &v
14462	return s
14463}
14464
14465// SetType sets the Type field's value.
14466func (s *AwsEcsTaskDefinitionPlacementConstraintsDetails) SetType(v string) *AwsEcsTaskDefinitionPlacementConstraintsDetails {
14467	s.Type = &v
14468	return s
14469}
14470
14471// The configuration details for the App Mesh proxy.
14472type AwsEcsTaskDefinitionProxyConfigurationDetails struct {
14473	_ struct{} `type:"structure"`
14474
14475	// The name of the container that will serve as the App Mesh proxy.
14476	ContainerName *string `type:"string"`
14477
14478	// The set of network configuration parameters to provide to the Container Network
14479	// Interface (CNI) plugin, specified as key-value pairs.
14480	ProxyConfigurationProperties []*AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails `type:"list"`
14481
14482	// The proxy type.
14483	Type *string `type:"string"`
14484}
14485
14486// String returns the string representation
14487func (s AwsEcsTaskDefinitionProxyConfigurationDetails) String() string {
14488	return awsutil.Prettify(s)
14489}
14490
14491// GoString returns the string representation
14492func (s AwsEcsTaskDefinitionProxyConfigurationDetails) GoString() string {
14493	return s.String()
14494}
14495
14496// SetContainerName sets the ContainerName field's value.
14497func (s *AwsEcsTaskDefinitionProxyConfigurationDetails) SetContainerName(v string) *AwsEcsTaskDefinitionProxyConfigurationDetails {
14498	s.ContainerName = &v
14499	return s
14500}
14501
14502// SetProxyConfigurationProperties sets the ProxyConfigurationProperties field's value.
14503func (s *AwsEcsTaskDefinitionProxyConfigurationDetails) SetProxyConfigurationProperties(v []*AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) *AwsEcsTaskDefinitionProxyConfigurationDetails {
14504	s.ProxyConfigurationProperties = v
14505	return s
14506}
14507
14508// SetType sets the Type field's value.
14509func (s *AwsEcsTaskDefinitionProxyConfigurationDetails) SetType(v string) *AwsEcsTaskDefinitionProxyConfigurationDetails {
14510	s.Type = &v
14511	return s
14512}
14513
14514// A network configuration parameter to provide to the Container Network Interface
14515// (CNI) plugin.
14516type AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails struct {
14517	_ struct{} `type:"structure"`
14518
14519	// The name of the property.
14520	Name *string `type:"string"`
14521
14522	// The value of the property.
14523	Value *string `type:"string"`
14524}
14525
14526// String returns the string representation
14527func (s AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) String() string {
14528	return awsutil.Prettify(s)
14529}
14530
14531// GoString returns the string representation
14532func (s AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) GoString() string {
14533	return s.String()
14534}
14535
14536// SetName sets the Name field's value.
14537func (s *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) SetName(v string) *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails {
14538	s.Name = &v
14539	return s
14540}
14541
14542// SetValue sets the Value field's value.
14543func (s *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) SetValue(v string) *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails {
14544	s.Value = &v
14545	return s
14546}
14547
14548// A data volume to mount from another container.
14549type AwsEcsTaskDefinitionVolumesDetails struct {
14550	_ struct{} `type:"structure"`
14551
14552	// Information about a Docker volume.
14553	DockerVolumeConfiguration *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails `type:"structure"`
14554
14555	// Information about the Amazon Elastic File System file system that is used
14556	// for task storage.
14557	EfsVolumeConfiguration *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails `type:"structure"`
14558
14559	// Information about a bind mount host volume.
14560	Host *AwsEcsTaskDefinitionVolumesHostDetails `type:"structure"`
14561
14562	// The name of the data volume.
14563	Name *string `type:"string"`
14564}
14565
14566// String returns the string representation
14567func (s AwsEcsTaskDefinitionVolumesDetails) String() string {
14568	return awsutil.Prettify(s)
14569}
14570
14571// GoString returns the string representation
14572func (s AwsEcsTaskDefinitionVolumesDetails) GoString() string {
14573	return s.String()
14574}
14575
14576// SetDockerVolumeConfiguration sets the DockerVolumeConfiguration field's value.
14577func (s *AwsEcsTaskDefinitionVolumesDetails) SetDockerVolumeConfiguration(v *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) *AwsEcsTaskDefinitionVolumesDetails {
14578	s.DockerVolumeConfiguration = v
14579	return s
14580}
14581
14582// SetEfsVolumeConfiguration sets the EfsVolumeConfiguration field's value.
14583func (s *AwsEcsTaskDefinitionVolumesDetails) SetEfsVolumeConfiguration(v *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) *AwsEcsTaskDefinitionVolumesDetails {
14584	s.EfsVolumeConfiguration = v
14585	return s
14586}
14587
14588// SetHost sets the Host field's value.
14589func (s *AwsEcsTaskDefinitionVolumesDetails) SetHost(v *AwsEcsTaskDefinitionVolumesHostDetails) *AwsEcsTaskDefinitionVolumesDetails {
14590	s.Host = v
14591	return s
14592}
14593
14594// SetName sets the Name field's value.
14595func (s *AwsEcsTaskDefinitionVolumesDetails) SetName(v string) *AwsEcsTaskDefinitionVolumesDetails {
14596	s.Name = &v
14597	return s
14598}
14599
14600// Information about a Docker volume.
14601type AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails struct {
14602	_ struct{} `type:"structure"`
14603
14604	// Whether to create the Docker volume automatically if it does not already
14605	// exist.
14606	Autoprovision *bool `type:"boolean"`
14607
14608	// The Docker volume driver to use.
14609	Driver *string `type:"string"`
14610
14611	// A map of Docker driver-specific options that are passed through.
14612	DriverOpts map[string]*string `type:"map"`
14613
14614	// Custom metadata to add to the Docker volume.
14615	Labels map[string]*string `type:"map"`
14616
14617	// The scope for the Docker volume that determines its lifecycle. Docker volumes
14618	// that are scoped to a task are provisioned automatically when the task starts
14619	// and destroyed when the task stops. Docker volumes that are shared persist
14620	// after the task stops.
14621	Scope *string `type:"string"`
14622}
14623
14624// String returns the string representation
14625func (s AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) String() string {
14626	return awsutil.Prettify(s)
14627}
14628
14629// GoString returns the string representation
14630func (s AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) GoString() string {
14631	return s.String()
14632}
14633
14634// SetAutoprovision sets the Autoprovision field's value.
14635func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetAutoprovision(v bool) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
14636	s.Autoprovision = &v
14637	return s
14638}
14639
14640// SetDriver sets the Driver field's value.
14641func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetDriver(v string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
14642	s.Driver = &v
14643	return s
14644}
14645
14646// SetDriverOpts sets the DriverOpts field's value.
14647func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetDriverOpts(v map[string]*string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
14648	s.DriverOpts = v
14649	return s
14650}
14651
14652// SetLabels sets the Labels field's value.
14653func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetLabels(v map[string]*string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
14654	s.Labels = v
14655	return s
14656}
14657
14658// SetScope sets the Scope field's value.
14659func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetScope(v string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
14660	s.Scope = &v
14661	return s
14662}
14663
14664type AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails struct {
14665	_ struct{} `type:"structure"`
14666
14667	// The Amazon EFS access point identifier to use.
14668	AccessPointId *string `type:"string"`
14669
14670	// Whether to use the Amazon ECS task IAM role defined in a task definition
14671	// when mounting the Amazon EFS file system.
14672	Iam *string `type:"string"`
14673}
14674
14675// String returns the string representation
14676func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) String() string {
14677	return awsutil.Prettify(s)
14678}
14679
14680// GoString returns the string representation
14681func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) GoString() string {
14682	return s.String()
14683}
14684
14685// SetAccessPointId sets the AccessPointId field's value.
14686func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) SetAccessPointId(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails {
14687	s.AccessPointId = &v
14688	return s
14689}
14690
14691// SetIam sets the Iam field's value.
14692func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) SetIam(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails {
14693	s.Iam = &v
14694	return s
14695}
14696
14697// Information about the Amazon Elastic File System file system that is used
14698// for task storage.
14699type AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails struct {
14700	_ struct{} `type:"structure"`
14701
14702	// The authorization configuration details for the Amazon EFS file system.
14703	AuthorizationConfig *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails `type:"structure"`
14704
14705	// The Amazon EFS file system identifier to use.
14706	FilesystemId *string `type:"string"`
14707
14708	// The directory within the Amazon EFS file system to mount as the root directory
14709	// inside the host.
14710	RootDirectory *string `type:"string"`
14711
14712	// Whether to enable encryption for Amazon EFS data in transit between the Amazon
14713	// ECS host and the Amazon EFS server.
14714	TransitEncryption *string `type:"string"`
14715
14716	// The port to use when sending encrypted data between the Amazon ECS host and
14717	// the Amazon EFS server.
14718	TransitEncryptionPort *int64 `type:"integer"`
14719}
14720
14721// String returns the string representation
14722func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) String() string {
14723	return awsutil.Prettify(s)
14724}
14725
14726// GoString returns the string representation
14727func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) GoString() string {
14728	return s.String()
14729}
14730
14731// SetAuthorizationConfig sets the AuthorizationConfig field's value.
14732func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetAuthorizationConfig(v *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
14733	s.AuthorizationConfig = v
14734	return s
14735}
14736
14737// SetFilesystemId sets the FilesystemId field's value.
14738func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetFilesystemId(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
14739	s.FilesystemId = &v
14740	return s
14741}
14742
14743// SetRootDirectory sets the RootDirectory field's value.
14744func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetRootDirectory(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
14745	s.RootDirectory = &v
14746	return s
14747}
14748
14749// SetTransitEncryption sets the TransitEncryption field's value.
14750func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetTransitEncryption(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
14751	s.TransitEncryption = &v
14752	return s
14753}
14754
14755// SetTransitEncryptionPort sets the TransitEncryptionPort field's value.
14756func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetTransitEncryptionPort(v int64) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
14757	s.TransitEncryptionPort = &v
14758	return s
14759}
14760
14761// Information about a bind mount host volume.
14762type AwsEcsTaskDefinitionVolumesHostDetails struct {
14763	_ struct{} `type:"structure"`
14764
14765	// The path on the host container instance that is presented to the container.
14766	SourcePath *string `type:"string"`
14767}
14768
14769// String returns the string representation
14770func (s AwsEcsTaskDefinitionVolumesHostDetails) String() string {
14771	return awsutil.Prettify(s)
14772}
14773
14774// GoString returns the string representation
14775func (s AwsEcsTaskDefinitionVolumesHostDetails) GoString() string {
14776	return s.String()
14777}
14778
14779// SetSourcePath sets the SourcePath field's value.
14780func (s *AwsEcsTaskDefinitionVolumesHostDetails) SetSourcePath(v string) *AwsEcsTaskDefinitionVolumesHostDetails {
14781	s.SourcePath = &v
14782	return s
14783}
14784
14785// Contains details about an Elastic Beanstalk environment.
14786type AwsElasticBeanstalkEnvironmentDetails struct {
14787	_ struct{} `type:"structure"`
14788
14789	// The name of the application that is associated with the environment.
14790	ApplicationName *string `type:"string"`
14791
14792	// The URL to the CNAME for this environment.
14793	Cname *string `type:"string"`
14794
14795	// The creation date for this environment.
14796	DateCreated *string `type:"string"`
14797
14798	// The date when this environment was last modified.
14799	DateUpdated *string `type:"string"`
14800
14801	// A description of the environment.
14802	Description *string `type:"string"`
14803
14804	// For load-balanced, autoscaling environments, the URL to the load balancer.
14805	// For single-instance environments, the IP address of the instance.
14806	EndpointUrl *string `type:"string"`
14807
14808	// The ARN of the environment.
14809	EnvironmentArn *string `type:"string"`
14810
14811	// The identifier of the environment.
14812	EnvironmentId *string `type:"string"`
14813
14814	// Links to other environments in the same group.
14815	EnvironmentLinks []*AwsElasticBeanstalkEnvironmentEnvironmentLink `type:"list"`
14816
14817	// The name of the environment.
14818	EnvironmentName *string `type:"string"`
14819
14820	// The configuration setting for the environment.
14821	OptionSettings []*AwsElasticBeanstalkEnvironmentOptionSetting `type:"list"`
14822
14823	// The ARN of the platform version for the environment.
14824	PlatformArn *string `type:"string"`
14825
14826	// The name of the solution stack that is deployed with the environment.
14827	SolutionStackName *string `type:"string"`
14828
14829	// The current operational status of the environment.
14830	Status *string `type:"string"`
14831
14832	// The tier of the environment.
14833	Tier *AwsElasticBeanstalkEnvironmentTier `type:"structure"`
14834
14835	// The application version of the environment.
14836	VersionLabel *string `type:"string"`
14837}
14838
14839// String returns the string representation
14840func (s AwsElasticBeanstalkEnvironmentDetails) String() string {
14841	return awsutil.Prettify(s)
14842}
14843
14844// GoString returns the string representation
14845func (s AwsElasticBeanstalkEnvironmentDetails) GoString() string {
14846	return s.String()
14847}
14848
14849// SetApplicationName sets the ApplicationName field's value.
14850func (s *AwsElasticBeanstalkEnvironmentDetails) SetApplicationName(v string) *AwsElasticBeanstalkEnvironmentDetails {
14851	s.ApplicationName = &v
14852	return s
14853}
14854
14855// SetCname sets the Cname field's value.
14856func (s *AwsElasticBeanstalkEnvironmentDetails) SetCname(v string) *AwsElasticBeanstalkEnvironmentDetails {
14857	s.Cname = &v
14858	return s
14859}
14860
14861// SetDateCreated sets the DateCreated field's value.
14862func (s *AwsElasticBeanstalkEnvironmentDetails) SetDateCreated(v string) *AwsElasticBeanstalkEnvironmentDetails {
14863	s.DateCreated = &v
14864	return s
14865}
14866
14867// SetDateUpdated sets the DateUpdated field's value.
14868func (s *AwsElasticBeanstalkEnvironmentDetails) SetDateUpdated(v string) *AwsElasticBeanstalkEnvironmentDetails {
14869	s.DateUpdated = &v
14870	return s
14871}
14872
14873// SetDescription sets the Description field's value.
14874func (s *AwsElasticBeanstalkEnvironmentDetails) SetDescription(v string) *AwsElasticBeanstalkEnvironmentDetails {
14875	s.Description = &v
14876	return s
14877}
14878
14879// SetEndpointUrl sets the EndpointUrl field's value.
14880func (s *AwsElasticBeanstalkEnvironmentDetails) SetEndpointUrl(v string) *AwsElasticBeanstalkEnvironmentDetails {
14881	s.EndpointUrl = &v
14882	return s
14883}
14884
14885// SetEnvironmentArn sets the EnvironmentArn field's value.
14886func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentArn(v string) *AwsElasticBeanstalkEnvironmentDetails {
14887	s.EnvironmentArn = &v
14888	return s
14889}
14890
14891// SetEnvironmentId sets the EnvironmentId field's value.
14892func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentId(v string) *AwsElasticBeanstalkEnvironmentDetails {
14893	s.EnvironmentId = &v
14894	return s
14895}
14896
14897// SetEnvironmentLinks sets the EnvironmentLinks field's value.
14898func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentLinks(v []*AwsElasticBeanstalkEnvironmentEnvironmentLink) *AwsElasticBeanstalkEnvironmentDetails {
14899	s.EnvironmentLinks = v
14900	return s
14901}
14902
14903// SetEnvironmentName sets the EnvironmentName field's value.
14904func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentName(v string) *AwsElasticBeanstalkEnvironmentDetails {
14905	s.EnvironmentName = &v
14906	return s
14907}
14908
14909// SetOptionSettings sets the OptionSettings field's value.
14910func (s *AwsElasticBeanstalkEnvironmentDetails) SetOptionSettings(v []*AwsElasticBeanstalkEnvironmentOptionSetting) *AwsElasticBeanstalkEnvironmentDetails {
14911	s.OptionSettings = v
14912	return s
14913}
14914
14915// SetPlatformArn sets the PlatformArn field's value.
14916func (s *AwsElasticBeanstalkEnvironmentDetails) SetPlatformArn(v string) *AwsElasticBeanstalkEnvironmentDetails {
14917	s.PlatformArn = &v
14918	return s
14919}
14920
14921// SetSolutionStackName sets the SolutionStackName field's value.
14922func (s *AwsElasticBeanstalkEnvironmentDetails) SetSolutionStackName(v string) *AwsElasticBeanstalkEnvironmentDetails {
14923	s.SolutionStackName = &v
14924	return s
14925}
14926
14927// SetStatus sets the Status field's value.
14928func (s *AwsElasticBeanstalkEnvironmentDetails) SetStatus(v string) *AwsElasticBeanstalkEnvironmentDetails {
14929	s.Status = &v
14930	return s
14931}
14932
14933// SetTier sets the Tier field's value.
14934func (s *AwsElasticBeanstalkEnvironmentDetails) SetTier(v *AwsElasticBeanstalkEnvironmentTier) *AwsElasticBeanstalkEnvironmentDetails {
14935	s.Tier = v
14936	return s
14937}
14938
14939// SetVersionLabel sets the VersionLabel field's value.
14940func (s *AwsElasticBeanstalkEnvironmentDetails) SetVersionLabel(v string) *AwsElasticBeanstalkEnvironmentDetails {
14941	s.VersionLabel = &v
14942	return s
14943}
14944
14945// Contains information about a link to another environment that is in the same
14946// group.
14947type AwsElasticBeanstalkEnvironmentEnvironmentLink struct {
14948	_ struct{} `type:"structure"`
14949
14950	// The name of the linked environment.
14951	EnvironmentName *string `type:"string"`
14952
14953	// The name of the environment link.
14954	LinkName *string `type:"string"`
14955}
14956
14957// String returns the string representation
14958func (s AwsElasticBeanstalkEnvironmentEnvironmentLink) String() string {
14959	return awsutil.Prettify(s)
14960}
14961
14962// GoString returns the string representation
14963func (s AwsElasticBeanstalkEnvironmentEnvironmentLink) GoString() string {
14964	return s.String()
14965}
14966
14967// SetEnvironmentName sets the EnvironmentName field's value.
14968func (s *AwsElasticBeanstalkEnvironmentEnvironmentLink) SetEnvironmentName(v string) *AwsElasticBeanstalkEnvironmentEnvironmentLink {
14969	s.EnvironmentName = &v
14970	return s
14971}
14972
14973// SetLinkName sets the LinkName field's value.
14974func (s *AwsElasticBeanstalkEnvironmentEnvironmentLink) SetLinkName(v string) *AwsElasticBeanstalkEnvironmentEnvironmentLink {
14975	s.LinkName = &v
14976	return s
14977}
14978
14979// A configuration option setting for the environment.
14980type AwsElasticBeanstalkEnvironmentOptionSetting struct {
14981	_ struct{} `type:"structure"`
14982
14983	// The type of resource that the configuration option is associated with.
14984	Namespace *string `type:"string"`
14985
14986	// The name of the option.
14987	OptionName *string `type:"string"`
14988
14989	// The name of the resource.
14990	ResourceName *string `type:"string"`
14991
14992	// The value of the configuration setting.
14993	Value *string `type:"string"`
14994}
14995
14996// String returns the string representation
14997func (s AwsElasticBeanstalkEnvironmentOptionSetting) String() string {
14998	return awsutil.Prettify(s)
14999}
15000
15001// GoString returns the string representation
15002func (s AwsElasticBeanstalkEnvironmentOptionSetting) GoString() string {
15003	return s.String()
15004}
15005
15006// SetNamespace sets the Namespace field's value.
15007func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetNamespace(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
15008	s.Namespace = &v
15009	return s
15010}
15011
15012// SetOptionName sets the OptionName field's value.
15013func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetOptionName(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
15014	s.OptionName = &v
15015	return s
15016}
15017
15018// SetResourceName sets the ResourceName field's value.
15019func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetResourceName(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
15020	s.ResourceName = &v
15021	return s
15022}
15023
15024// SetValue sets the Value field's value.
15025func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetValue(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
15026	s.Value = &v
15027	return s
15028}
15029
15030// Contains information about the tier of the environment.
15031type AwsElasticBeanstalkEnvironmentTier struct {
15032	_ struct{} `type:"structure"`
15033
15034	// The name of the environment tier.
15035	Name *string `type:"string"`
15036
15037	// The type of environment tier.
15038	Type *string `type:"string"`
15039
15040	// The version of the environment tier.
15041	Version *string `type:"string"`
15042}
15043
15044// String returns the string representation
15045func (s AwsElasticBeanstalkEnvironmentTier) String() string {
15046	return awsutil.Prettify(s)
15047}
15048
15049// GoString returns the string representation
15050func (s AwsElasticBeanstalkEnvironmentTier) GoString() string {
15051	return s.String()
15052}
15053
15054// SetName sets the Name field's value.
15055func (s *AwsElasticBeanstalkEnvironmentTier) SetName(v string) *AwsElasticBeanstalkEnvironmentTier {
15056	s.Name = &v
15057	return s
15058}
15059
15060// SetType sets the Type field's value.
15061func (s *AwsElasticBeanstalkEnvironmentTier) SetType(v string) *AwsElasticBeanstalkEnvironmentTier {
15062	s.Type = &v
15063	return s
15064}
15065
15066// SetVersion sets the Version field's value.
15067func (s *AwsElasticBeanstalkEnvironmentTier) SetVersion(v string) *AwsElasticBeanstalkEnvironmentTier {
15068	s.Version = &v
15069	return s
15070}
15071
15072// Information about an Amazon Elasticsearch Service domain.
15073type AwsElasticsearchDomainDetails struct {
15074	_ struct{} `type:"structure"`
15075
15076	// IAM policy document specifying the access policies for the new Elasticsearch
15077	// domain.
15078	AccessPolicies *string `type:"string"`
15079
15080	// Additional options for the domain endpoint.
15081	DomainEndpointOptions *AwsElasticsearchDomainDomainEndpointOptions `type:"structure"`
15082
15083	// Unique identifier for an Elasticsearch domain.
15084	DomainId *string `type:"string"`
15085
15086	// Name of an Elasticsearch domain.
15087	//
15088	// Domain names are unique across all domains owned by the same account within
15089	// an Amazon Web Services Region.
15090	//
15091	// Domain names must start with a lowercase letter and must be between 3 and
15092	// 28 characters.
15093	//
15094	// Valid characters are a-z (lowercase only), 0-9, and – (hyphen).
15095	DomainName *string `type:"string"`
15096
15097	// Information about an Elasticsearch cluster configuration.
15098	ElasticsearchClusterConfig *AwsElasticsearchDomainElasticsearchClusterConfigDetails `type:"structure"`
15099
15100	// Elasticsearch version.
15101	ElasticsearchVersion *string `type:"string"`
15102
15103	// Details about the configuration for encryption at rest.
15104	EncryptionAtRestOptions *AwsElasticsearchDomainEncryptionAtRestOptions `type:"structure"`
15105
15106	// Domain-specific endpoint used to submit index, search, and data upload requests
15107	// to an Elasticsearch domain.
15108	//
15109	// The endpoint is a service URL.
15110	Endpoint *string `type:"string"`
15111
15112	// The key-value pair that exists if the Elasticsearch domain uses VPC endpoints.
15113	Endpoints map[string]*string `type:"map"`
15114
15115	// Configures the CloudWatch Logs to publish for the Elasticsearch domain.
15116	LogPublishingOptions *AwsElasticsearchDomainLogPublishingOptions `type:"structure"`
15117
15118	// Details about the configuration for node-to-node encryption.
15119	NodeToNodeEncryptionOptions *AwsElasticsearchDomainNodeToNodeEncryptionOptions `type:"structure"`
15120
15121	// Information about the status of a domain relative to the latest service software.
15122	ServiceSoftwareOptions *AwsElasticsearchDomainServiceSoftwareOptions `type:"structure"`
15123
15124	// Information that Elasticsearch derives based on VPCOptions for the domain.
15125	VPCOptions *AwsElasticsearchDomainVPCOptions `type:"structure"`
15126}
15127
15128// String returns the string representation
15129func (s AwsElasticsearchDomainDetails) String() string {
15130	return awsutil.Prettify(s)
15131}
15132
15133// GoString returns the string representation
15134func (s AwsElasticsearchDomainDetails) GoString() string {
15135	return s.String()
15136}
15137
15138// SetAccessPolicies sets the AccessPolicies field's value.
15139func (s *AwsElasticsearchDomainDetails) SetAccessPolicies(v string) *AwsElasticsearchDomainDetails {
15140	s.AccessPolicies = &v
15141	return s
15142}
15143
15144// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
15145func (s *AwsElasticsearchDomainDetails) SetDomainEndpointOptions(v *AwsElasticsearchDomainDomainEndpointOptions) *AwsElasticsearchDomainDetails {
15146	s.DomainEndpointOptions = v
15147	return s
15148}
15149
15150// SetDomainId sets the DomainId field's value.
15151func (s *AwsElasticsearchDomainDetails) SetDomainId(v string) *AwsElasticsearchDomainDetails {
15152	s.DomainId = &v
15153	return s
15154}
15155
15156// SetDomainName sets the DomainName field's value.
15157func (s *AwsElasticsearchDomainDetails) SetDomainName(v string) *AwsElasticsearchDomainDetails {
15158	s.DomainName = &v
15159	return s
15160}
15161
15162// SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
15163func (s *AwsElasticsearchDomainDetails) SetElasticsearchClusterConfig(v *AwsElasticsearchDomainElasticsearchClusterConfigDetails) *AwsElasticsearchDomainDetails {
15164	s.ElasticsearchClusterConfig = v
15165	return s
15166}
15167
15168// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
15169func (s *AwsElasticsearchDomainDetails) SetElasticsearchVersion(v string) *AwsElasticsearchDomainDetails {
15170	s.ElasticsearchVersion = &v
15171	return s
15172}
15173
15174// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
15175func (s *AwsElasticsearchDomainDetails) SetEncryptionAtRestOptions(v *AwsElasticsearchDomainEncryptionAtRestOptions) *AwsElasticsearchDomainDetails {
15176	s.EncryptionAtRestOptions = v
15177	return s
15178}
15179
15180// SetEndpoint sets the Endpoint field's value.
15181func (s *AwsElasticsearchDomainDetails) SetEndpoint(v string) *AwsElasticsearchDomainDetails {
15182	s.Endpoint = &v
15183	return s
15184}
15185
15186// SetEndpoints sets the Endpoints field's value.
15187func (s *AwsElasticsearchDomainDetails) SetEndpoints(v map[string]*string) *AwsElasticsearchDomainDetails {
15188	s.Endpoints = v
15189	return s
15190}
15191
15192// SetLogPublishingOptions sets the LogPublishingOptions field's value.
15193func (s *AwsElasticsearchDomainDetails) SetLogPublishingOptions(v *AwsElasticsearchDomainLogPublishingOptions) *AwsElasticsearchDomainDetails {
15194	s.LogPublishingOptions = v
15195	return s
15196}
15197
15198// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
15199func (s *AwsElasticsearchDomainDetails) SetNodeToNodeEncryptionOptions(v *AwsElasticsearchDomainNodeToNodeEncryptionOptions) *AwsElasticsearchDomainDetails {
15200	s.NodeToNodeEncryptionOptions = v
15201	return s
15202}
15203
15204// SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
15205func (s *AwsElasticsearchDomainDetails) SetServiceSoftwareOptions(v *AwsElasticsearchDomainServiceSoftwareOptions) *AwsElasticsearchDomainDetails {
15206	s.ServiceSoftwareOptions = v
15207	return s
15208}
15209
15210// SetVPCOptions sets the VPCOptions field's value.
15211func (s *AwsElasticsearchDomainDetails) SetVPCOptions(v *AwsElasticsearchDomainVPCOptions) *AwsElasticsearchDomainDetails {
15212	s.VPCOptions = v
15213	return s
15214}
15215
15216// Additional options for the domain endpoint, such as whether to require HTTPS
15217// for all traffic.
15218type AwsElasticsearchDomainDomainEndpointOptions struct {
15219	_ struct{} `type:"structure"`
15220
15221	// Whether to require that all traffic to the domain arrive over HTTPS.
15222	EnforceHTTPS *bool `type:"boolean"`
15223
15224	// The TLS security policy to apply to the HTTPS endpoint of the Elasticsearch
15225	// domain.
15226	//
15227	// Valid values:
15228	//
15229	//    * Policy-Min-TLS-1-0-2019-07, which supports TLSv1.0 and higher
15230	//
15231	//    * Policy-Min-TLS-1-2-2019-07, which only supports TLSv1.2
15232	TLSSecurityPolicy *string `type:"string"`
15233}
15234
15235// String returns the string representation
15236func (s AwsElasticsearchDomainDomainEndpointOptions) String() string {
15237	return awsutil.Prettify(s)
15238}
15239
15240// GoString returns the string representation
15241func (s AwsElasticsearchDomainDomainEndpointOptions) GoString() string {
15242	return s.String()
15243}
15244
15245// SetEnforceHTTPS sets the EnforceHTTPS field's value.
15246func (s *AwsElasticsearchDomainDomainEndpointOptions) SetEnforceHTTPS(v bool) *AwsElasticsearchDomainDomainEndpointOptions {
15247	s.EnforceHTTPS = &v
15248	return s
15249}
15250
15251// SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value.
15252func (s *AwsElasticsearchDomainDomainEndpointOptions) SetTLSSecurityPolicy(v string) *AwsElasticsearchDomainDomainEndpointOptions {
15253	s.TLSSecurityPolicy = &v
15254	return s
15255}
15256
15257// details about the configuration of an Elasticsearch cluster.
15258type AwsElasticsearchDomainElasticsearchClusterConfigDetails struct {
15259	_ struct{} `type:"structure"`
15260
15261	// The number of instances to use for the master node. If this attribute is
15262	// specified, then DedicatedMasterEnabled must be true.
15263	DedicatedMasterCount *int64 `type:"integer"`
15264
15265	// Whether to use a dedicated master node for the Elasticsearch domain. A dedicated
15266	// master node performs cluster management tasks, but doesn't hold data or respond
15267	// to data upload requests.
15268	DedicatedMasterEnabled *bool `type:"boolean"`
15269
15270	// The hardware configuration of the computer that hosts the dedicated master
15271	// node. For example, m3.medium.elasticsearch. If this attribute is specified,
15272	// then DedicatedMasterEnabled must be true.
15273	DedicatedMasterType *string `type:"string"`
15274
15275	// The number of data nodes to use in the Elasticsearch domain.
15276	InstanceCount *int64 `type:"integer"`
15277
15278	// The instance type for your data nodes. For example, m3.medium.elasticsearch.
15279	InstanceType *string `type:"string"`
15280
15281	// Configuration options for zone awareness. Provided if ZoneAwarenessEnabled
15282	// is true.
15283	ZoneAwarenessConfig *AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails `type:"structure"`
15284
15285	// Whether to enable zone awareness for the Elasticsearch domain. When zone
15286	// awareness is enabled, Elasticsearch allocates the cluster's nodes and replica
15287	// index shards across Availability Zones in the same Region. This prevents
15288	// data loss and minimizes downtime if a node or data center fails.
15289	ZoneAwarenessEnabled *bool `type:"boolean"`
15290}
15291
15292// String returns the string representation
15293func (s AwsElasticsearchDomainElasticsearchClusterConfigDetails) String() string {
15294	return awsutil.Prettify(s)
15295}
15296
15297// GoString returns the string representation
15298func (s AwsElasticsearchDomainElasticsearchClusterConfigDetails) GoString() string {
15299	return s.String()
15300}
15301
15302// SetDedicatedMasterCount sets the DedicatedMasterCount field's value.
15303func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetDedicatedMasterCount(v int64) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
15304	s.DedicatedMasterCount = &v
15305	return s
15306}
15307
15308// SetDedicatedMasterEnabled sets the DedicatedMasterEnabled field's value.
15309func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetDedicatedMasterEnabled(v bool) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
15310	s.DedicatedMasterEnabled = &v
15311	return s
15312}
15313
15314// SetDedicatedMasterType sets the DedicatedMasterType field's value.
15315func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetDedicatedMasterType(v string) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
15316	s.DedicatedMasterType = &v
15317	return s
15318}
15319
15320// SetInstanceCount sets the InstanceCount field's value.
15321func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetInstanceCount(v int64) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
15322	s.InstanceCount = &v
15323	return s
15324}
15325
15326// SetInstanceType sets the InstanceType field's value.
15327func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetInstanceType(v string) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
15328	s.InstanceType = &v
15329	return s
15330}
15331
15332// SetZoneAwarenessConfig sets the ZoneAwarenessConfig field's value.
15333func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetZoneAwarenessConfig(v *AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
15334	s.ZoneAwarenessConfig = v
15335	return s
15336}
15337
15338// SetZoneAwarenessEnabled sets the ZoneAwarenessEnabled field's value.
15339func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetZoneAwarenessEnabled(v bool) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
15340	s.ZoneAwarenessEnabled = &v
15341	return s
15342}
15343
15344// Configuration options for zone awareness.
15345type AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails struct {
15346	_ struct{} `type:"structure"`
15347
15348	// he number of Availability Zones that the domain uses. Valid values are 2
15349	// and 3. The default is 2.
15350	AvailabilityZoneCount *int64 `type:"integer"`
15351}
15352
15353// String returns the string representation
15354func (s AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails) String() string {
15355	return awsutil.Prettify(s)
15356}
15357
15358// GoString returns the string representation
15359func (s AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails) GoString() string {
15360	return s.String()
15361}
15362
15363// SetAvailabilityZoneCount sets the AvailabilityZoneCount field's value.
15364func (s *AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails) SetAvailabilityZoneCount(v int64) *AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails {
15365	s.AvailabilityZoneCount = &v
15366	return s
15367}
15368
15369// Details about the configuration for encryption at rest.
15370type AwsElasticsearchDomainEncryptionAtRestOptions struct {
15371	_ struct{} `type:"structure"`
15372
15373	// Whether encryption at rest is enabled.
15374	Enabled *bool `type:"boolean"`
15375
15376	// The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a.
15377	KmsKeyId *string `type:"string"`
15378}
15379
15380// String returns the string representation
15381func (s AwsElasticsearchDomainEncryptionAtRestOptions) String() string {
15382	return awsutil.Prettify(s)
15383}
15384
15385// GoString returns the string representation
15386func (s AwsElasticsearchDomainEncryptionAtRestOptions) GoString() string {
15387	return s.String()
15388}
15389
15390// SetEnabled sets the Enabled field's value.
15391func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetEnabled(v bool) *AwsElasticsearchDomainEncryptionAtRestOptions {
15392	s.Enabled = &v
15393	return s
15394}
15395
15396// SetKmsKeyId sets the KmsKeyId field's value.
15397func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetKmsKeyId(v string) *AwsElasticsearchDomainEncryptionAtRestOptions {
15398	s.KmsKeyId = &v
15399	return s
15400}
15401
15402// configures the CloudWatch Logs to publish for the Elasticsearch domain.
15403type AwsElasticsearchDomainLogPublishingOptions struct {
15404	_ struct{} `type:"structure"`
15405
15406	// The log configuration.
15407	AuditLogs *AwsElasticsearchDomainLogPublishingOptionsLogConfig `type:"structure"`
15408
15409	// Configures the Elasticsearch index logs publishing.
15410	IndexSlowLogs *AwsElasticsearchDomainLogPublishingOptionsLogConfig `type:"structure"`
15411
15412	// Configures the Elasticsearch search slow log publishing.
15413	SearchSlowLogs *AwsElasticsearchDomainLogPublishingOptionsLogConfig `type:"structure"`
15414}
15415
15416// String returns the string representation
15417func (s AwsElasticsearchDomainLogPublishingOptions) String() string {
15418	return awsutil.Prettify(s)
15419}
15420
15421// GoString returns the string representation
15422func (s AwsElasticsearchDomainLogPublishingOptions) GoString() string {
15423	return s.String()
15424}
15425
15426// SetAuditLogs sets the AuditLogs field's value.
15427func (s *AwsElasticsearchDomainLogPublishingOptions) SetAuditLogs(v *AwsElasticsearchDomainLogPublishingOptionsLogConfig) *AwsElasticsearchDomainLogPublishingOptions {
15428	s.AuditLogs = v
15429	return s
15430}
15431
15432// SetIndexSlowLogs sets the IndexSlowLogs field's value.
15433func (s *AwsElasticsearchDomainLogPublishingOptions) SetIndexSlowLogs(v *AwsElasticsearchDomainLogPublishingOptionsLogConfig) *AwsElasticsearchDomainLogPublishingOptions {
15434	s.IndexSlowLogs = v
15435	return s
15436}
15437
15438// SetSearchSlowLogs sets the SearchSlowLogs field's value.
15439func (s *AwsElasticsearchDomainLogPublishingOptions) SetSearchSlowLogs(v *AwsElasticsearchDomainLogPublishingOptionsLogConfig) *AwsElasticsearchDomainLogPublishingOptions {
15440	s.SearchSlowLogs = v
15441	return s
15442}
15443
15444// The log configuration.
15445type AwsElasticsearchDomainLogPublishingOptionsLogConfig struct {
15446	_ struct{} `type:"structure"`
15447
15448	// The ARN of the CloudWatch Logs group to publish the logs to.
15449	CloudWatchLogsLogGroupArn *string `type:"string"`
15450
15451	// Whether the log publishing is enabled.
15452	Enabled *bool `type:"boolean"`
15453}
15454
15455// String returns the string representation
15456func (s AwsElasticsearchDomainLogPublishingOptionsLogConfig) String() string {
15457	return awsutil.Prettify(s)
15458}
15459
15460// GoString returns the string representation
15461func (s AwsElasticsearchDomainLogPublishingOptionsLogConfig) GoString() string {
15462	return s.String()
15463}
15464
15465// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
15466func (s *AwsElasticsearchDomainLogPublishingOptionsLogConfig) SetCloudWatchLogsLogGroupArn(v string) *AwsElasticsearchDomainLogPublishingOptionsLogConfig {
15467	s.CloudWatchLogsLogGroupArn = &v
15468	return s
15469}
15470
15471// SetEnabled sets the Enabled field's value.
15472func (s *AwsElasticsearchDomainLogPublishingOptionsLogConfig) SetEnabled(v bool) *AwsElasticsearchDomainLogPublishingOptionsLogConfig {
15473	s.Enabled = &v
15474	return s
15475}
15476
15477// Details about the configuration for node-to-node encryption.
15478type AwsElasticsearchDomainNodeToNodeEncryptionOptions struct {
15479	_ struct{} `type:"structure"`
15480
15481	// Whether node-to-node encryption is enabled.
15482	Enabled *bool `type:"boolean"`
15483}
15484
15485// String returns the string representation
15486func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) String() string {
15487	return awsutil.Prettify(s)
15488}
15489
15490// GoString returns the string representation
15491func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) GoString() string {
15492	return s.String()
15493}
15494
15495// SetEnabled sets the Enabled field's value.
15496func (s *AwsElasticsearchDomainNodeToNodeEncryptionOptions) SetEnabled(v bool) *AwsElasticsearchDomainNodeToNodeEncryptionOptions {
15497	s.Enabled = &v
15498	return s
15499}
15500
15501// Information about the state of the domain relative to the latest service
15502// software.
15503type AwsElasticsearchDomainServiceSoftwareOptions struct {
15504	_ struct{} `type:"structure"`
15505
15506	// The epoch time when the deployment window closes for required updates. After
15507	// this time, Amazon Elasticsearch Service schedules the software upgrade automatically.
15508	AutomatedUpdateDate *string `type:"string"`
15509
15510	// Whether a request to update the domain can be canceled.
15511	Cancellable *bool `type:"boolean"`
15512
15513	// The version of the service software that is currently installed on the domain.
15514	CurrentVersion *string `type:"string"`
15515
15516	// A more detailed description of the service software status.
15517	Description *string `type:"string"`
15518
15519	// The most recent version of the service software.
15520	NewVersion *string `type:"string"`
15521
15522	// Whether a service software update is available for the domain.
15523	UpdateAvailable *bool `type:"boolean"`
15524
15525	// The status of the service software update.
15526	UpdateStatus *string `type:"string"`
15527}
15528
15529// String returns the string representation
15530func (s AwsElasticsearchDomainServiceSoftwareOptions) String() string {
15531	return awsutil.Prettify(s)
15532}
15533
15534// GoString returns the string representation
15535func (s AwsElasticsearchDomainServiceSoftwareOptions) GoString() string {
15536	return s.String()
15537}
15538
15539// SetAutomatedUpdateDate sets the AutomatedUpdateDate field's value.
15540func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetAutomatedUpdateDate(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
15541	s.AutomatedUpdateDate = &v
15542	return s
15543}
15544
15545// SetCancellable sets the Cancellable field's value.
15546func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetCancellable(v bool) *AwsElasticsearchDomainServiceSoftwareOptions {
15547	s.Cancellable = &v
15548	return s
15549}
15550
15551// SetCurrentVersion sets the CurrentVersion field's value.
15552func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetCurrentVersion(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
15553	s.CurrentVersion = &v
15554	return s
15555}
15556
15557// SetDescription sets the Description field's value.
15558func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetDescription(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
15559	s.Description = &v
15560	return s
15561}
15562
15563// SetNewVersion sets the NewVersion field's value.
15564func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetNewVersion(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
15565	s.NewVersion = &v
15566	return s
15567}
15568
15569// SetUpdateAvailable sets the UpdateAvailable field's value.
15570func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetUpdateAvailable(v bool) *AwsElasticsearchDomainServiceSoftwareOptions {
15571	s.UpdateAvailable = &v
15572	return s
15573}
15574
15575// SetUpdateStatus sets the UpdateStatus field's value.
15576func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetUpdateStatus(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
15577	s.UpdateStatus = &v
15578	return s
15579}
15580
15581// Information that Elasticsearch derives based on VPCOptions for the domain.
15582type AwsElasticsearchDomainVPCOptions struct {
15583	_ struct{} `type:"structure"`
15584
15585	// The list of Availability Zones associated with the VPC subnets.
15586	AvailabilityZones []*string `type:"list"`
15587
15588	// The list of security group IDs associated with the VPC endpoints for the
15589	// domain.
15590	SecurityGroupIds []*string `type:"list"`
15591
15592	// A list of subnet IDs associated with the VPC endpoints for the domain.
15593	SubnetIds []*string `type:"list"`
15594
15595	// ID for the VPC.
15596	VPCId *string `type:"string"`
15597}
15598
15599// String returns the string representation
15600func (s AwsElasticsearchDomainVPCOptions) String() string {
15601	return awsutil.Prettify(s)
15602}
15603
15604// GoString returns the string representation
15605func (s AwsElasticsearchDomainVPCOptions) GoString() string {
15606	return s.String()
15607}
15608
15609// SetAvailabilityZones sets the AvailabilityZones field's value.
15610func (s *AwsElasticsearchDomainVPCOptions) SetAvailabilityZones(v []*string) *AwsElasticsearchDomainVPCOptions {
15611	s.AvailabilityZones = v
15612	return s
15613}
15614
15615// SetSecurityGroupIds sets the SecurityGroupIds field's value.
15616func (s *AwsElasticsearchDomainVPCOptions) SetSecurityGroupIds(v []*string) *AwsElasticsearchDomainVPCOptions {
15617	s.SecurityGroupIds = v
15618	return s
15619}
15620
15621// SetSubnetIds sets the SubnetIds field's value.
15622func (s *AwsElasticsearchDomainVPCOptions) SetSubnetIds(v []*string) *AwsElasticsearchDomainVPCOptions {
15623	s.SubnetIds = v
15624	return s
15625}
15626
15627// SetVPCId sets the VPCId field's value.
15628func (s *AwsElasticsearchDomainVPCOptions) SetVPCId(v string) *AwsElasticsearchDomainVPCOptions {
15629	s.VPCId = &v
15630	return s
15631}
15632
15633// Contains information about a stickiness policy that was created using CreateAppCookieStickinessPolicy.
15634type AwsElbAppCookieStickinessPolicy struct {
15635	_ struct{} `type:"structure"`
15636
15637	// The name of the application cookie used for stickiness.
15638	CookieName *string `type:"string"`
15639
15640	// The mnemonic name for the policy being created. The name must be unique within
15641	// the set of policies for the load balancer.
15642	PolicyName *string `type:"string"`
15643}
15644
15645// String returns the string representation
15646func (s AwsElbAppCookieStickinessPolicy) String() string {
15647	return awsutil.Prettify(s)
15648}
15649
15650// GoString returns the string representation
15651func (s AwsElbAppCookieStickinessPolicy) GoString() string {
15652	return s.String()
15653}
15654
15655// SetCookieName sets the CookieName field's value.
15656func (s *AwsElbAppCookieStickinessPolicy) SetCookieName(v string) *AwsElbAppCookieStickinessPolicy {
15657	s.CookieName = &v
15658	return s
15659}
15660
15661// SetPolicyName sets the PolicyName field's value.
15662func (s *AwsElbAppCookieStickinessPolicy) SetPolicyName(v string) *AwsElbAppCookieStickinessPolicy {
15663	s.PolicyName = &v
15664	return s
15665}
15666
15667// Contains information about a stickiness policy that was created using CreateLBCookieStickinessPolicy.
15668type AwsElbLbCookieStickinessPolicy struct {
15669	_ struct{} `type:"structure"`
15670
15671	// The amount of time, in seconds, after which the cookie is considered stale.
15672	// If an expiration period is not specified, the stickiness session lasts for
15673	// the duration of the browser session.
15674	CookieExpirationPeriod *int64 `type:"long"`
15675
15676	// The name of the policy. The name must be unique within the set of policies
15677	// for the load balancer.
15678	PolicyName *string `type:"string"`
15679}
15680
15681// String returns the string representation
15682func (s AwsElbLbCookieStickinessPolicy) String() string {
15683	return awsutil.Prettify(s)
15684}
15685
15686// GoString returns the string representation
15687func (s AwsElbLbCookieStickinessPolicy) GoString() string {
15688	return s.String()
15689}
15690
15691// SetCookieExpirationPeriod sets the CookieExpirationPeriod field's value.
15692func (s *AwsElbLbCookieStickinessPolicy) SetCookieExpirationPeriod(v int64) *AwsElbLbCookieStickinessPolicy {
15693	s.CookieExpirationPeriod = &v
15694	return s
15695}
15696
15697// SetPolicyName sets the PolicyName field's value.
15698func (s *AwsElbLbCookieStickinessPolicy) SetPolicyName(v string) *AwsElbLbCookieStickinessPolicy {
15699	s.PolicyName = &v
15700	return s
15701}
15702
15703// Contains information about the access log configuration for the load balancer.
15704type AwsElbLoadBalancerAccessLog struct {
15705	_ struct{} `type:"structure"`
15706
15707	// The interval in minutes for publishing the access logs.
15708	//
15709	// You can publish access logs either every 5 minutes or every 60 minutes.
15710	EmitInterval *int64 `type:"integer"`
15711
15712	// Indicates whether access logs are enabled for the load balancer.
15713	Enabled *bool `type:"boolean"`
15714
15715	// The name of the S3 bucket where the access logs are stored.
15716	S3BucketName *string `type:"string"`
15717
15718	// The logical hierarchy that was created for the S3 bucket.
15719	//
15720	// If a prefix is not provided, the log is placed at the root level of the bucket.
15721	S3BucketPrefix *string `type:"string"`
15722}
15723
15724// String returns the string representation
15725func (s AwsElbLoadBalancerAccessLog) String() string {
15726	return awsutil.Prettify(s)
15727}
15728
15729// GoString returns the string representation
15730func (s AwsElbLoadBalancerAccessLog) GoString() string {
15731	return s.String()
15732}
15733
15734// SetEmitInterval sets the EmitInterval field's value.
15735func (s *AwsElbLoadBalancerAccessLog) SetEmitInterval(v int64) *AwsElbLoadBalancerAccessLog {
15736	s.EmitInterval = &v
15737	return s
15738}
15739
15740// SetEnabled sets the Enabled field's value.
15741func (s *AwsElbLoadBalancerAccessLog) SetEnabled(v bool) *AwsElbLoadBalancerAccessLog {
15742	s.Enabled = &v
15743	return s
15744}
15745
15746// SetS3BucketName sets the S3BucketName field's value.
15747func (s *AwsElbLoadBalancerAccessLog) SetS3BucketName(v string) *AwsElbLoadBalancerAccessLog {
15748	s.S3BucketName = &v
15749	return s
15750}
15751
15752// SetS3BucketPrefix sets the S3BucketPrefix field's value.
15753func (s *AwsElbLoadBalancerAccessLog) SetS3BucketPrefix(v string) *AwsElbLoadBalancerAccessLog {
15754	s.S3BucketPrefix = &v
15755	return s
15756}
15757
15758// Contains attributes for the load balancer.
15759type AwsElbLoadBalancerAttributes struct {
15760	_ struct{} `type:"structure"`
15761
15762	// Information about the access log configuration for the load balancer.
15763	//
15764	// If the access log is enabled, the load balancer captures detailed information
15765	// about all requests. It delivers the information to a specified S3 bucket.
15766	AccessLog *AwsElbLoadBalancerAccessLog `type:"structure"`
15767
15768	// Information about the connection draining configuration for the load balancer.
15769	//
15770	// If connection draining is enabled, the load balancer allows existing requests
15771	// to complete before it shifts traffic away from a deregistered or unhealthy
15772	// instance.
15773	ConnectionDraining *AwsElbLoadBalancerConnectionDraining `type:"structure"`
15774
15775	// Connection settings for the load balancer.
15776	//
15777	// If an idle timeout is configured, the load balancer allows connections to
15778	// remain idle for the specified duration. When a connection is idle, no data
15779	// is sent over the connection.
15780	ConnectionSettings *AwsElbLoadBalancerConnectionSettings `type:"structure"`
15781
15782	// Cross-zone load balancing settings for the load balancer.
15783	//
15784	// If cross-zone load balancing is enabled, the load balancer routes the request
15785	// traffic evenly across all instances regardless of the Availability Zones.
15786	CrossZoneLoadBalancing *AwsElbLoadBalancerCrossZoneLoadBalancing `type:"structure"`
15787}
15788
15789// String returns the string representation
15790func (s AwsElbLoadBalancerAttributes) String() string {
15791	return awsutil.Prettify(s)
15792}
15793
15794// GoString returns the string representation
15795func (s AwsElbLoadBalancerAttributes) GoString() string {
15796	return s.String()
15797}
15798
15799// SetAccessLog sets the AccessLog field's value.
15800func (s *AwsElbLoadBalancerAttributes) SetAccessLog(v *AwsElbLoadBalancerAccessLog) *AwsElbLoadBalancerAttributes {
15801	s.AccessLog = v
15802	return s
15803}
15804
15805// SetConnectionDraining sets the ConnectionDraining field's value.
15806func (s *AwsElbLoadBalancerAttributes) SetConnectionDraining(v *AwsElbLoadBalancerConnectionDraining) *AwsElbLoadBalancerAttributes {
15807	s.ConnectionDraining = v
15808	return s
15809}
15810
15811// SetConnectionSettings sets the ConnectionSettings field's value.
15812func (s *AwsElbLoadBalancerAttributes) SetConnectionSettings(v *AwsElbLoadBalancerConnectionSettings) *AwsElbLoadBalancerAttributes {
15813	s.ConnectionSettings = v
15814	return s
15815}
15816
15817// SetCrossZoneLoadBalancing sets the CrossZoneLoadBalancing field's value.
15818func (s *AwsElbLoadBalancerAttributes) SetCrossZoneLoadBalancing(v *AwsElbLoadBalancerCrossZoneLoadBalancing) *AwsElbLoadBalancerAttributes {
15819	s.CrossZoneLoadBalancing = v
15820	return s
15821}
15822
15823// Provides information about the configuration of an EC2 instance for the load
15824// balancer.
15825type AwsElbLoadBalancerBackendServerDescription struct {
15826	_ struct{} `type:"structure"`
15827
15828	// The port on which the EC2 instance is listening.
15829	InstancePort *int64 `type:"integer"`
15830
15831	// The names of the policies that are enabled for the EC2 instance.
15832	PolicyNames []*string `type:"list"`
15833}
15834
15835// String returns the string representation
15836func (s AwsElbLoadBalancerBackendServerDescription) String() string {
15837	return awsutil.Prettify(s)
15838}
15839
15840// GoString returns the string representation
15841func (s AwsElbLoadBalancerBackendServerDescription) GoString() string {
15842	return s.String()
15843}
15844
15845// SetInstancePort sets the InstancePort field's value.
15846func (s *AwsElbLoadBalancerBackendServerDescription) SetInstancePort(v int64) *AwsElbLoadBalancerBackendServerDescription {
15847	s.InstancePort = &v
15848	return s
15849}
15850
15851// SetPolicyNames sets the PolicyNames field's value.
15852func (s *AwsElbLoadBalancerBackendServerDescription) SetPolicyNames(v []*string) *AwsElbLoadBalancerBackendServerDescription {
15853	s.PolicyNames = v
15854	return s
15855}
15856
15857// Contains information about the connection draining configuration for the
15858// load balancer.
15859type AwsElbLoadBalancerConnectionDraining struct {
15860	_ struct{} `type:"structure"`
15861
15862	// Indicates whether connection draining is enabled for the load balancer.
15863	Enabled *bool `type:"boolean"`
15864
15865	// The maximum time, in seconds, to keep the existing connections open before
15866	// deregistering the instances.
15867	Timeout *int64 `type:"integer"`
15868}
15869
15870// String returns the string representation
15871func (s AwsElbLoadBalancerConnectionDraining) String() string {
15872	return awsutil.Prettify(s)
15873}
15874
15875// GoString returns the string representation
15876func (s AwsElbLoadBalancerConnectionDraining) GoString() string {
15877	return s.String()
15878}
15879
15880// SetEnabled sets the Enabled field's value.
15881func (s *AwsElbLoadBalancerConnectionDraining) SetEnabled(v bool) *AwsElbLoadBalancerConnectionDraining {
15882	s.Enabled = &v
15883	return s
15884}
15885
15886// SetTimeout sets the Timeout field's value.
15887func (s *AwsElbLoadBalancerConnectionDraining) SetTimeout(v int64) *AwsElbLoadBalancerConnectionDraining {
15888	s.Timeout = &v
15889	return s
15890}
15891
15892// Contains connection settings for the load balancer.
15893type AwsElbLoadBalancerConnectionSettings struct {
15894	_ struct{} `type:"structure"`
15895
15896	// The time, in seconds, that the connection can be idle (no data is sent over
15897	// the connection) before it is closed by the load balancer.
15898	IdleTimeout *int64 `type:"integer"`
15899}
15900
15901// String returns the string representation
15902func (s AwsElbLoadBalancerConnectionSettings) String() string {
15903	return awsutil.Prettify(s)
15904}
15905
15906// GoString returns the string representation
15907func (s AwsElbLoadBalancerConnectionSettings) GoString() string {
15908	return s.String()
15909}
15910
15911// SetIdleTimeout sets the IdleTimeout field's value.
15912func (s *AwsElbLoadBalancerConnectionSettings) SetIdleTimeout(v int64) *AwsElbLoadBalancerConnectionSettings {
15913	s.IdleTimeout = &v
15914	return s
15915}
15916
15917// Contains cross-zone load balancing settings for the load balancer.
15918type AwsElbLoadBalancerCrossZoneLoadBalancing struct {
15919	_ struct{} `type:"structure"`
15920
15921	// Indicates whether cross-zone load balancing is enabled for the load balancer.
15922	Enabled *bool `type:"boolean"`
15923}
15924
15925// String returns the string representation
15926func (s AwsElbLoadBalancerCrossZoneLoadBalancing) String() string {
15927	return awsutil.Prettify(s)
15928}
15929
15930// GoString returns the string representation
15931func (s AwsElbLoadBalancerCrossZoneLoadBalancing) GoString() string {
15932	return s.String()
15933}
15934
15935// SetEnabled sets the Enabled field's value.
15936func (s *AwsElbLoadBalancerCrossZoneLoadBalancing) SetEnabled(v bool) *AwsElbLoadBalancerCrossZoneLoadBalancing {
15937	s.Enabled = &v
15938	return s
15939}
15940
15941// Contains details about a Classic Load Balancer.
15942type AwsElbLoadBalancerDetails struct {
15943	_ struct{} `type:"structure"`
15944
15945	// The list of Availability Zones for the load balancer.
15946	AvailabilityZones []*string `type:"list"`
15947
15948	// Information about the configuration of the EC2 instances.
15949	BackendServerDescriptions []*AwsElbLoadBalancerBackendServerDescription `type:"list"`
15950
15951	// The name of the Amazon Route 53 hosted zone for the load balancer.
15952	CanonicalHostedZoneName *string `type:"string"`
15953
15954	// The ID of the Amazon Route 53 hosted zone for the load balancer.
15955	CanonicalHostedZoneNameID *string `type:"string"`
15956
15957	// Indicates when the load balancer was created.
15958	//
15959	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15960	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15961	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15962	CreatedTime *string `type:"string"`
15963
15964	// The DNS name of the load balancer.
15965	DnsName *string `type:"string"`
15966
15967	// Information about the health checks that are conducted on the load balancer.
15968	HealthCheck *AwsElbLoadBalancerHealthCheck `type:"structure"`
15969
15970	// List of EC2 instances for the load balancer.
15971	Instances []*AwsElbLoadBalancerInstance `type:"list"`
15972
15973	// The policies that are enabled for the load balancer listeners.
15974	ListenerDescriptions []*AwsElbLoadBalancerListenerDescription `type:"list"`
15975
15976	// The attributes for a load balancer.
15977	LoadBalancerAttributes *AwsElbLoadBalancerAttributes `type:"structure"`
15978
15979	// The name of the load balancer.
15980	LoadBalancerName *string `type:"string"`
15981
15982	// The policies for a load balancer.
15983	Policies *AwsElbLoadBalancerPolicies `type:"structure"`
15984
15985	// The type of load balancer. Only provided if the load balancer is in a VPC.
15986	//
15987	// If Scheme is internet-facing, the load balancer has a public DNS name that
15988	// resolves to a public IP address.
15989	//
15990	// If Scheme is internal, the load balancer has a public DNS name that resolves
15991	// to a private IP address.
15992	Scheme *string `type:"string"`
15993
15994	// The security groups for the load balancer. Only provided if the load balancer
15995	// is in a VPC.
15996	SecurityGroups []*string `type:"list"`
15997
15998	// Information about the security group for the load balancer. This is the security
15999	// group that is used for inbound rules.
16000	SourceSecurityGroup *AwsElbLoadBalancerSourceSecurityGroup `type:"structure"`
16001
16002	// The list of subnet identifiers for the load balancer.
16003	Subnets []*string `type:"list"`
16004
16005	// The identifier of the VPC for the load balancer.
16006	VpcId *string `type:"string"`
16007}
16008
16009// String returns the string representation
16010func (s AwsElbLoadBalancerDetails) String() string {
16011	return awsutil.Prettify(s)
16012}
16013
16014// GoString returns the string representation
16015func (s AwsElbLoadBalancerDetails) GoString() string {
16016	return s.String()
16017}
16018
16019// SetAvailabilityZones sets the AvailabilityZones field's value.
16020func (s *AwsElbLoadBalancerDetails) SetAvailabilityZones(v []*string) *AwsElbLoadBalancerDetails {
16021	s.AvailabilityZones = v
16022	return s
16023}
16024
16025// SetBackendServerDescriptions sets the BackendServerDescriptions field's value.
16026func (s *AwsElbLoadBalancerDetails) SetBackendServerDescriptions(v []*AwsElbLoadBalancerBackendServerDescription) *AwsElbLoadBalancerDetails {
16027	s.BackendServerDescriptions = v
16028	return s
16029}
16030
16031// SetCanonicalHostedZoneName sets the CanonicalHostedZoneName field's value.
16032func (s *AwsElbLoadBalancerDetails) SetCanonicalHostedZoneName(v string) *AwsElbLoadBalancerDetails {
16033	s.CanonicalHostedZoneName = &v
16034	return s
16035}
16036
16037// SetCanonicalHostedZoneNameID sets the CanonicalHostedZoneNameID field's value.
16038func (s *AwsElbLoadBalancerDetails) SetCanonicalHostedZoneNameID(v string) *AwsElbLoadBalancerDetails {
16039	s.CanonicalHostedZoneNameID = &v
16040	return s
16041}
16042
16043// SetCreatedTime sets the CreatedTime field's value.
16044func (s *AwsElbLoadBalancerDetails) SetCreatedTime(v string) *AwsElbLoadBalancerDetails {
16045	s.CreatedTime = &v
16046	return s
16047}
16048
16049// SetDnsName sets the DnsName field's value.
16050func (s *AwsElbLoadBalancerDetails) SetDnsName(v string) *AwsElbLoadBalancerDetails {
16051	s.DnsName = &v
16052	return s
16053}
16054
16055// SetHealthCheck sets the HealthCheck field's value.
16056func (s *AwsElbLoadBalancerDetails) SetHealthCheck(v *AwsElbLoadBalancerHealthCheck) *AwsElbLoadBalancerDetails {
16057	s.HealthCheck = v
16058	return s
16059}
16060
16061// SetInstances sets the Instances field's value.
16062func (s *AwsElbLoadBalancerDetails) SetInstances(v []*AwsElbLoadBalancerInstance) *AwsElbLoadBalancerDetails {
16063	s.Instances = v
16064	return s
16065}
16066
16067// SetListenerDescriptions sets the ListenerDescriptions field's value.
16068func (s *AwsElbLoadBalancerDetails) SetListenerDescriptions(v []*AwsElbLoadBalancerListenerDescription) *AwsElbLoadBalancerDetails {
16069	s.ListenerDescriptions = v
16070	return s
16071}
16072
16073// SetLoadBalancerAttributes sets the LoadBalancerAttributes field's value.
16074func (s *AwsElbLoadBalancerDetails) SetLoadBalancerAttributes(v *AwsElbLoadBalancerAttributes) *AwsElbLoadBalancerDetails {
16075	s.LoadBalancerAttributes = v
16076	return s
16077}
16078
16079// SetLoadBalancerName sets the LoadBalancerName field's value.
16080func (s *AwsElbLoadBalancerDetails) SetLoadBalancerName(v string) *AwsElbLoadBalancerDetails {
16081	s.LoadBalancerName = &v
16082	return s
16083}
16084
16085// SetPolicies sets the Policies field's value.
16086func (s *AwsElbLoadBalancerDetails) SetPolicies(v *AwsElbLoadBalancerPolicies) *AwsElbLoadBalancerDetails {
16087	s.Policies = v
16088	return s
16089}
16090
16091// SetScheme sets the Scheme field's value.
16092func (s *AwsElbLoadBalancerDetails) SetScheme(v string) *AwsElbLoadBalancerDetails {
16093	s.Scheme = &v
16094	return s
16095}
16096
16097// SetSecurityGroups sets the SecurityGroups field's value.
16098func (s *AwsElbLoadBalancerDetails) SetSecurityGroups(v []*string) *AwsElbLoadBalancerDetails {
16099	s.SecurityGroups = v
16100	return s
16101}
16102
16103// SetSourceSecurityGroup sets the SourceSecurityGroup field's value.
16104func (s *AwsElbLoadBalancerDetails) SetSourceSecurityGroup(v *AwsElbLoadBalancerSourceSecurityGroup) *AwsElbLoadBalancerDetails {
16105	s.SourceSecurityGroup = v
16106	return s
16107}
16108
16109// SetSubnets sets the Subnets field's value.
16110func (s *AwsElbLoadBalancerDetails) SetSubnets(v []*string) *AwsElbLoadBalancerDetails {
16111	s.Subnets = v
16112	return s
16113}
16114
16115// SetVpcId sets the VpcId field's value.
16116func (s *AwsElbLoadBalancerDetails) SetVpcId(v string) *AwsElbLoadBalancerDetails {
16117	s.VpcId = &v
16118	return s
16119}
16120
16121// Contains information about the health checks that are conducted on the load
16122// balancer.
16123type AwsElbLoadBalancerHealthCheck struct {
16124	_ struct{} `type:"structure"`
16125
16126	// The number of consecutive health check successes required before the instance
16127	// is moved to the Healthy state.
16128	HealthyThreshold *int64 `type:"integer"`
16129
16130	// The approximate interval, in seconds, between health checks of an individual
16131	// instance.
16132	Interval *int64 `type:"integer"`
16133
16134	// The instance that is being checked. The target specifies the protocol and
16135	// port. The available protocols are TCP, SSL, HTTP, and HTTPS. The range of
16136	// valid ports is 1 through 65535.
16137	//
16138	// For the HTTP and HTTPS protocols, the target also specifies the ping path.
16139	//
16140	// For the TCP protocol, the target is specified as TCP: <port> .
16141	//
16142	// For the SSL protocol, the target is specified as SSL.<port> .
16143	//
16144	// For the HTTP and HTTPS protocols, the target is specified as <protocol>:<port>/<path
16145	// to ping> .
16146	Target *string `type:"string"`
16147
16148	// The amount of time, in seconds, during which no response means a failed health
16149	// check.
16150	Timeout *int64 `type:"integer"`
16151
16152	// The number of consecutive health check failures that must occur before the
16153	// instance is moved to the Unhealthy state.
16154	UnhealthyThreshold *int64 `type:"integer"`
16155}
16156
16157// String returns the string representation
16158func (s AwsElbLoadBalancerHealthCheck) String() string {
16159	return awsutil.Prettify(s)
16160}
16161
16162// GoString returns the string representation
16163func (s AwsElbLoadBalancerHealthCheck) GoString() string {
16164	return s.String()
16165}
16166
16167// SetHealthyThreshold sets the HealthyThreshold field's value.
16168func (s *AwsElbLoadBalancerHealthCheck) SetHealthyThreshold(v int64) *AwsElbLoadBalancerHealthCheck {
16169	s.HealthyThreshold = &v
16170	return s
16171}
16172
16173// SetInterval sets the Interval field's value.
16174func (s *AwsElbLoadBalancerHealthCheck) SetInterval(v int64) *AwsElbLoadBalancerHealthCheck {
16175	s.Interval = &v
16176	return s
16177}
16178
16179// SetTarget sets the Target field's value.
16180func (s *AwsElbLoadBalancerHealthCheck) SetTarget(v string) *AwsElbLoadBalancerHealthCheck {
16181	s.Target = &v
16182	return s
16183}
16184
16185// SetTimeout sets the Timeout field's value.
16186func (s *AwsElbLoadBalancerHealthCheck) SetTimeout(v int64) *AwsElbLoadBalancerHealthCheck {
16187	s.Timeout = &v
16188	return s
16189}
16190
16191// SetUnhealthyThreshold sets the UnhealthyThreshold field's value.
16192func (s *AwsElbLoadBalancerHealthCheck) SetUnhealthyThreshold(v int64) *AwsElbLoadBalancerHealthCheck {
16193	s.UnhealthyThreshold = &v
16194	return s
16195}
16196
16197// Provides information about an EC2 instance for a load balancer.
16198type AwsElbLoadBalancerInstance struct {
16199	_ struct{} `type:"structure"`
16200
16201	// The instance identifier.
16202	InstanceId *string `type:"string"`
16203}
16204
16205// String returns the string representation
16206func (s AwsElbLoadBalancerInstance) String() string {
16207	return awsutil.Prettify(s)
16208}
16209
16210// GoString returns the string representation
16211func (s AwsElbLoadBalancerInstance) GoString() string {
16212	return s.String()
16213}
16214
16215// SetInstanceId sets the InstanceId field's value.
16216func (s *AwsElbLoadBalancerInstance) SetInstanceId(v string) *AwsElbLoadBalancerInstance {
16217	s.InstanceId = &v
16218	return s
16219}
16220
16221// Information about a load balancer listener.
16222type AwsElbLoadBalancerListener struct {
16223	_ struct{} `type:"structure"`
16224
16225	// The port on which the instance is listening.
16226	InstancePort *int64 `type:"integer"`
16227
16228	// The protocol to use to route traffic to instances.
16229	//
16230	// Valid values: HTTP | HTTPS | TCP | SSL
16231	InstanceProtocol *string `type:"string"`
16232
16233	// The port on which the load balancer is listening.
16234	//
16235	// On EC2-VPC, you can specify any port from the range 1-65535.
16236	//
16237	// On EC2-Classic, you can specify any port from the following list: 25, 80,
16238	// 443, 465, 587, 1024-65535.
16239	LoadBalancerPort *int64 `type:"integer"`
16240
16241	// The load balancer transport protocol to use for routing.
16242	//
16243	// Valid values: HTTP | HTTPS | TCP | SSL
16244	Protocol *string `type:"string"`
16245
16246	// The ARN of the server certificate.
16247	SslCertificateId *string `type:"string"`
16248}
16249
16250// String returns the string representation
16251func (s AwsElbLoadBalancerListener) String() string {
16252	return awsutil.Prettify(s)
16253}
16254
16255// GoString returns the string representation
16256func (s AwsElbLoadBalancerListener) GoString() string {
16257	return s.String()
16258}
16259
16260// SetInstancePort sets the InstancePort field's value.
16261func (s *AwsElbLoadBalancerListener) SetInstancePort(v int64) *AwsElbLoadBalancerListener {
16262	s.InstancePort = &v
16263	return s
16264}
16265
16266// SetInstanceProtocol sets the InstanceProtocol field's value.
16267func (s *AwsElbLoadBalancerListener) SetInstanceProtocol(v string) *AwsElbLoadBalancerListener {
16268	s.InstanceProtocol = &v
16269	return s
16270}
16271
16272// SetLoadBalancerPort sets the LoadBalancerPort field's value.
16273func (s *AwsElbLoadBalancerListener) SetLoadBalancerPort(v int64) *AwsElbLoadBalancerListener {
16274	s.LoadBalancerPort = &v
16275	return s
16276}
16277
16278// SetProtocol sets the Protocol field's value.
16279func (s *AwsElbLoadBalancerListener) SetProtocol(v string) *AwsElbLoadBalancerListener {
16280	s.Protocol = &v
16281	return s
16282}
16283
16284// SetSslCertificateId sets the SslCertificateId field's value.
16285func (s *AwsElbLoadBalancerListener) SetSslCertificateId(v string) *AwsElbLoadBalancerListener {
16286	s.SslCertificateId = &v
16287	return s
16288}
16289
16290// Lists the policies that are enabled for a load balancer listener.
16291type AwsElbLoadBalancerListenerDescription struct {
16292	_ struct{} `type:"structure"`
16293
16294	// Information about the listener.
16295	Listener *AwsElbLoadBalancerListener `type:"structure"`
16296
16297	// The policies enabled for the listener.
16298	PolicyNames []*string `type:"list"`
16299}
16300
16301// String returns the string representation
16302func (s AwsElbLoadBalancerListenerDescription) String() string {
16303	return awsutil.Prettify(s)
16304}
16305
16306// GoString returns the string representation
16307func (s AwsElbLoadBalancerListenerDescription) GoString() string {
16308	return s.String()
16309}
16310
16311// SetListener sets the Listener field's value.
16312func (s *AwsElbLoadBalancerListenerDescription) SetListener(v *AwsElbLoadBalancerListener) *AwsElbLoadBalancerListenerDescription {
16313	s.Listener = v
16314	return s
16315}
16316
16317// SetPolicyNames sets the PolicyNames field's value.
16318func (s *AwsElbLoadBalancerListenerDescription) SetPolicyNames(v []*string) *AwsElbLoadBalancerListenerDescription {
16319	s.PolicyNames = v
16320	return s
16321}
16322
16323// Contains information about the policies for a load balancer.
16324type AwsElbLoadBalancerPolicies struct {
16325	_ struct{} `type:"structure"`
16326
16327	// The stickiness policies that are created using CreateAppCookieStickinessPolicy.
16328	AppCookieStickinessPolicies []*AwsElbAppCookieStickinessPolicy `type:"list"`
16329
16330	// The stickiness policies that are created using CreateLBCookieStickinessPolicy.
16331	LbCookieStickinessPolicies []*AwsElbLbCookieStickinessPolicy `type:"list"`
16332
16333	// The policies other than the stickiness policies.
16334	OtherPolicies []*string `type:"list"`
16335}
16336
16337// String returns the string representation
16338func (s AwsElbLoadBalancerPolicies) String() string {
16339	return awsutil.Prettify(s)
16340}
16341
16342// GoString returns the string representation
16343func (s AwsElbLoadBalancerPolicies) GoString() string {
16344	return s.String()
16345}
16346
16347// SetAppCookieStickinessPolicies sets the AppCookieStickinessPolicies field's value.
16348func (s *AwsElbLoadBalancerPolicies) SetAppCookieStickinessPolicies(v []*AwsElbAppCookieStickinessPolicy) *AwsElbLoadBalancerPolicies {
16349	s.AppCookieStickinessPolicies = v
16350	return s
16351}
16352
16353// SetLbCookieStickinessPolicies sets the LbCookieStickinessPolicies field's value.
16354func (s *AwsElbLoadBalancerPolicies) SetLbCookieStickinessPolicies(v []*AwsElbLbCookieStickinessPolicy) *AwsElbLoadBalancerPolicies {
16355	s.LbCookieStickinessPolicies = v
16356	return s
16357}
16358
16359// SetOtherPolicies sets the OtherPolicies field's value.
16360func (s *AwsElbLoadBalancerPolicies) SetOtherPolicies(v []*string) *AwsElbLoadBalancerPolicies {
16361	s.OtherPolicies = v
16362	return s
16363}
16364
16365// Contains information about the security group for the load balancer.
16366type AwsElbLoadBalancerSourceSecurityGroup struct {
16367	_ struct{} `type:"structure"`
16368
16369	// The name of the security group.
16370	GroupName *string `type:"string"`
16371
16372	// The owner of the security group.
16373	OwnerAlias *string `type:"string"`
16374}
16375
16376// String returns the string representation
16377func (s AwsElbLoadBalancerSourceSecurityGroup) String() string {
16378	return awsutil.Prettify(s)
16379}
16380
16381// GoString returns the string representation
16382func (s AwsElbLoadBalancerSourceSecurityGroup) GoString() string {
16383	return s.String()
16384}
16385
16386// SetGroupName sets the GroupName field's value.
16387func (s *AwsElbLoadBalancerSourceSecurityGroup) SetGroupName(v string) *AwsElbLoadBalancerSourceSecurityGroup {
16388	s.GroupName = &v
16389	return s
16390}
16391
16392// SetOwnerAlias sets the OwnerAlias field's value.
16393func (s *AwsElbLoadBalancerSourceSecurityGroup) SetOwnerAlias(v string) *AwsElbLoadBalancerSourceSecurityGroup {
16394	s.OwnerAlias = &v
16395	return s
16396}
16397
16398// Information about a load balancer.
16399type AwsElbv2LoadBalancerDetails struct {
16400	_ struct{} `type:"structure"`
16401
16402	// The Availability Zones for the load balancer.
16403	AvailabilityZones []*AvailabilityZone `type:"list"`
16404
16405	// The ID of the Amazon Route 53 hosted zone associated with the load balancer.
16406	CanonicalHostedZoneId *string `type:"string"`
16407
16408	// Indicates when the load balancer was created.
16409	//
16410	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16411	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16412	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16413	CreatedTime *string `type:"string"`
16414
16415	// The public DNS name of the load balancer.
16416	DNSName *string `type:"string"`
16417
16418	// The type of IP addresses used by the subnets for your load balancer. The
16419	// possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and
16420	// IPv6 addresses).
16421	IpAddressType *string `type:"string"`
16422
16423	// The nodes of an Internet-facing load balancer have public IP addresses.
16424	Scheme *string `type:"string"`
16425
16426	// The IDs of the security groups for the load balancer.
16427	SecurityGroups []*string `type:"list"`
16428
16429	// The state of the load balancer.
16430	State *LoadBalancerState `type:"structure"`
16431
16432	// The type of load balancer.
16433	Type *string `type:"string"`
16434
16435	// The ID of the VPC for the load balancer.
16436	VpcId *string `type:"string"`
16437}
16438
16439// String returns the string representation
16440func (s AwsElbv2LoadBalancerDetails) String() string {
16441	return awsutil.Prettify(s)
16442}
16443
16444// GoString returns the string representation
16445func (s AwsElbv2LoadBalancerDetails) GoString() string {
16446	return s.String()
16447}
16448
16449// SetAvailabilityZones sets the AvailabilityZones field's value.
16450func (s *AwsElbv2LoadBalancerDetails) SetAvailabilityZones(v []*AvailabilityZone) *AwsElbv2LoadBalancerDetails {
16451	s.AvailabilityZones = v
16452	return s
16453}
16454
16455// SetCanonicalHostedZoneId sets the CanonicalHostedZoneId field's value.
16456func (s *AwsElbv2LoadBalancerDetails) SetCanonicalHostedZoneId(v string) *AwsElbv2LoadBalancerDetails {
16457	s.CanonicalHostedZoneId = &v
16458	return s
16459}
16460
16461// SetCreatedTime sets the CreatedTime field's value.
16462func (s *AwsElbv2LoadBalancerDetails) SetCreatedTime(v string) *AwsElbv2LoadBalancerDetails {
16463	s.CreatedTime = &v
16464	return s
16465}
16466
16467// SetDNSName sets the DNSName field's value.
16468func (s *AwsElbv2LoadBalancerDetails) SetDNSName(v string) *AwsElbv2LoadBalancerDetails {
16469	s.DNSName = &v
16470	return s
16471}
16472
16473// SetIpAddressType sets the IpAddressType field's value.
16474func (s *AwsElbv2LoadBalancerDetails) SetIpAddressType(v string) *AwsElbv2LoadBalancerDetails {
16475	s.IpAddressType = &v
16476	return s
16477}
16478
16479// SetScheme sets the Scheme field's value.
16480func (s *AwsElbv2LoadBalancerDetails) SetScheme(v string) *AwsElbv2LoadBalancerDetails {
16481	s.Scheme = &v
16482	return s
16483}
16484
16485// SetSecurityGroups sets the SecurityGroups field's value.
16486func (s *AwsElbv2LoadBalancerDetails) SetSecurityGroups(v []*string) *AwsElbv2LoadBalancerDetails {
16487	s.SecurityGroups = v
16488	return s
16489}
16490
16491// SetState sets the State field's value.
16492func (s *AwsElbv2LoadBalancerDetails) SetState(v *LoadBalancerState) *AwsElbv2LoadBalancerDetails {
16493	s.State = v
16494	return s
16495}
16496
16497// SetType sets the Type field's value.
16498func (s *AwsElbv2LoadBalancerDetails) SetType(v string) *AwsElbv2LoadBalancerDetails {
16499	s.Type = &v
16500	return s
16501}
16502
16503// SetVpcId sets the VpcId field's value.
16504func (s *AwsElbv2LoadBalancerDetails) SetVpcId(v string) *AwsElbv2LoadBalancerDetails {
16505	s.VpcId = &v
16506	return s
16507}
16508
16509// IAM access key details related to a finding.
16510type AwsIamAccessKeyDetails struct {
16511	_ struct{} `type:"structure"`
16512
16513	// The identifier of the access key.
16514	AccessKeyId *string `type:"string"`
16515
16516	// The Amazon Web Services account ID of the account for the key.
16517	AccountId *string `type:"string"`
16518
16519	// Indicates when the IAM access key was created.
16520	//
16521	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16522	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16523	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16524	CreatedAt *string `type:"string"`
16525
16526	// The ID of the principal associated with an access key.
16527	PrincipalId *string `type:"string"`
16528
16529	// The name of the principal.
16530	PrincipalName *string `type:"string"`
16531
16532	// The type of principal associated with an access key.
16533	PrincipalType *string `type:"string"`
16534
16535	// Information about the session that the key was used for.
16536	SessionContext *AwsIamAccessKeySessionContext `type:"structure"`
16537
16538	// The status of the IAM access key related to a finding.
16539	Status *string `type:"string" enum:"AwsIamAccessKeyStatus"`
16540
16541	// The user associated with the IAM access key related to a finding.
16542	//
16543	// The UserName parameter has been replaced with the PrincipalName parameter
16544	// because access keys can also be assigned to principals that are not IAM users.
16545	//
16546	// Deprecated: This filter is deprecated. Instead, use PrincipalName.
16547	UserName *string `deprecated:"true" type:"string"`
16548}
16549
16550// String returns the string representation
16551func (s AwsIamAccessKeyDetails) String() string {
16552	return awsutil.Prettify(s)
16553}
16554
16555// GoString returns the string representation
16556func (s AwsIamAccessKeyDetails) GoString() string {
16557	return s.String()
16558}
16559
16560// SetAccessKeyId sets the AccessKeyId field's value.
16561func (s *AwsIamAccessKeyDetails) SetAccessKeyId(v string) *AwsIamAccessKeyDetails {
16562	s.AccessKeyId = &v
16563	return s
16564}
16565
16566// SetAccountId sets the AccountId field's value.
16567func (s *AwsIamAccessKeyDetails) SetAccountId(v string) *AwsIamAccessKeyDetails {
16568	s.AccountId = &v
16569	return s
16570}
16571
16572// SetCreatedAt sets the CreatedAt field's value.
16573func (s *AwsIamAccessKeyDetails) SetCreatedAt(v string) *AwsIamAccessKeyDetails {
16574	s.CreatedAt = &v
16575	return s
16576}
16577
16578// SetPrincipalId sets the PrincipalId field's value.
16579func (s *AwsIamAccessKeyDetails) SetPrincipalId(v string) *AwsIamAccessKeyDetails {
16580	s.PrincipalId = &v
16581	return s
16582}
16583
16584// SetPrincipalName sets the PrincipalName field's value.
16585func (s *AwsIamAccessKeyDetails) SetPrincipalName(v string) *AwsIamAccessKeyDetails {
16586	s.PrincipalName = &v
16587	return s
16588}
16589
16590// SetPrincipalType sets the PrincipalType field's value.
16591func (s *AwsIamAccessKeyDetails) SetPrincipalType(v string) *AwsIamAccessKeyDetails {
16592	s.PrincipalType = &v
16593	return s
16594}
16595
16596// SetSessionContext sets the SessionContext field's value.
16597func (s *AwsIamAccessKeyDetails) SetSessionContext(v *AwsIamAccessKeySessionContext) *AwsIamAccessKeyDetails {
16598	s.SessionContext = v
16599	return s
16600}
16601
16602// SetStatus sets the Status field's value.
16603func (s *AwsIamAccessKeyDetails) SetStatus(v string) *AwsIamAccessKeyDetails {
16604	s.Status = &v
16605	return s
16606}
16607
16608// SetUserName sets the UserName field's value.
16609func (s *AwsIamAccessKeyDetails) SetUserName(v string) *AwsIamAccessKeyDetails {
16610	s.UserName = &v
16611	return s
16612}
16613
16614// Provides information about the session that the key was used for.
16615type AwsIamAccessKeySessionContext struct {
16616	_ struct{} `type:"structure"`
16617
16618	// Attributes of the session that the key was used for.
16619	Attributes *AwsIamAccessKeySessionContextAttributes `type:"structure"`
16620
16621	// Information about the entity that created the session.
16622	SessionIssuer *AwsIamAccessKeySessionContextSessionIssuer `type:"structure"`
16623}
16624
16625// String returns the string representation
16626func (s AwsIamAccessKeySessionContext) String() string {
16627	return awsutil.Prettify(s)
16628}
16629
16630// GoString returns the string representation
16631func (s AwsIamAccessKeySessionContext) GoString() string {
16632	return s.String()
16633}
16634
16635// SetAttributes sets the Attributes field's value.
16636func (s *AwsIamAccessKeySessionContext) SetAttributes(v *AwsIamAccessKeySessionContextAttributes) *AwsIamAccessKeySessionContext {
16637	s.Attributes = v
16638	return s
16639}
16640
16641// SetSessionIssuer sets the SessionIssuer field's value.
16642func (s *AwsIamAccessKeySessionContext) SetSessionIssuer(v *AwsIamAccessKeySessionContextSessionIssuer) *AwsIamAccessKeySessionContext {
16643	s.SessionIssuer = v
16644	return s
16645}
16646
16647// Attributes of the session that the key was used for.
16648type AwsIamAccessKeySessionContextAttributes struct {
16649	_ struct{} `type:"structure"`
16650
16651	// Indicates when the session was created.
16652	//
16653	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16654	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16655	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16656	CreationDate *string `type:"string"`
16657
16658	// Indicates whether the session used multi-factor authentication (MFA).
16659	MfaAuthenticated *bool `type:"boolean"`
16660}
16661
16662// String returns the string representation
16663func (s AwsIamAccessKeySessionContextAttributes) String() string {
16664	return awsutil.Prettify(s)
16665}
16666
16667// GoString returns the string representation
16668func (s AwsIamAccessKeySessionContextAttributes) GoString() string {
16669	return s.String()
16670}
16671
16672// SetCreationDate sets the CreationDate field's value.
16673func (s *AwsIamAccessKeySessionContextAttributes) SetCreationDate(v string) *AwsIamAccessKeySessionContextAttributes {
16674	s.CreationDate = &v
16675	return s
16676}
16677
16678// SetMfaAuthenticated sets the MfaAuthenticated field's value.
16679func (s *AwsIamAccessKeySessionContextAttributes) SetMfaAuthenticated(v bool) *AwsIamAccessKeySessionContextAttributes {
16680	s.MfaAuthenticated = &v
16681	return s
16682}
16683
16684// Information about the entity that created the session.
16685type AwsIamAccessKeySessionContextSessionIssuer struct {
16686	_ struct{} `type:"structure"`
16687
16688	// The identifier of the Amazon Web Services account that created the session.
16689	AccountId *string `type:"string"`
16690
16691	// The ARN of the session.
16692	Arn *string `type:"string"`
16693
16694	// The principal ID of the principal (user, role, or group) that created the
16695	// session.
16696	PrincipalId *string `type:"string"`
16697
16698	// The type of principal (user, role, or group) that created the session.
16699	Type *string `type:"string"`
16700
16701	// The name of the principal that created the session.
16702	UserName *string `type:"string"`
16703}
16704
16705// String returns the string representation
16706func (s AwsIamAccessKeySessionContextSessionIssuer) String() string {
16707	return awsutil.Prettify(s)
16708}
16709
16710// GoString returns the string representation
16711func (s AwsIamAccessKeySessionContextSessionIssuer) GoString() string {
16712	return s.String()
16713}
16714
16715// SetAccountId sets the AccountId field's value.
16716func (s *AwsIamAccessKeySessionContextSessionIssuer) SetAccountId(v string) *AwsIamAccessKeySessionContextSessionIssuer {
16717	s.AccountId = &v
16718	return s
16719}
16720
16721// SetArn sets the Arn field's value.
16722func (s *AwsIamAccessKeySessionContextSessionIssuer) SetArn(v string) *AwsIamAccessKeySessionContextSessionIssuer {
16723	s.Arn = &v
16724	return s
16725}
16726
16727// SetPrincipalId sets the PrincipalId field's value.
16728func (s *AwsIamAccessKeySessionContextSessionIssuer) SetPrincipalId(v string) *AwsIamAccessKeySessionContextSessionIssuer {
16729	s.PrincipalId = &v
16730	return s
16731}
16732
16733// SetType sets the Type field's value.
16734func (s *AwsIamAccessKeySessionContextSessionIssuer) SetType(v string) *AwsIamAccessKeySessionContextSessionIssuer {
16735	s.Type = &v
16736	return s
16737}
16738
16739// SetUserName sets the UserName field's value.
16740func (s *AwsIamAccessKeySessionContextSessionIssuer) SetUserName(v string) *AwsIamAccessKeySessionContextSessionIssuer {
16741	s.UserName = &v
16742	return s
16743}
16744
16745// A managed policy that is attached to an IAM principal.
16746type AwsIamAttachedManagedPolicy struct {
16747	_ struct{} `type:"structure"`
16748
16749	// The ARN of the policy.
16750	PolicyArn *string `type:"string"`
16751
16752	// The name of the policy.
16753	PolicyName *string `type:"string"`
16754}
16755
16756// String returns the string representation
16757func (s AwsIamAttachedManagedPolicy) String() string {
16758	return awsutil.Prettify(s)
16759}
16760
16761// GoString returns the string representation
16762func (s AwsIamAttachedManagedPolicy) GoString() string {
16763	return s.String()
16764}
16765
16766// SetPolicyArn sets the PolicyArn field's value.
16767func (s *AwsIamAttachedManagedPolicy) SetPolicyArn(v string) *AwsIamAttachedManagedPolicy {
16768	s.PolicyArn = &v
16769	return s
16770}
16771
16772// SetPolicyName sets the PolicyName field's value.
16773func (s *AwsIamAttachedManagedPolicy) SetPolicyName(v string) *AwsIamAttachedManagedPolicy {
16774	s.PolicyName = &v
16775	return s
16776}
16777
16778// Contains details about an IAM group.
16779type AwsIamGroupDetails struct {
16780	_ struct{} `type:"structure"`
16781
16782	// A list of the managed policies that are attached to the IAM group.
16783	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
16784
16785	// Indicates when the IAM group was created.
16786	//
16787	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16788	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16789	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16790	CreateDate *string `type:"string"`
16791
16792	// The identifier of the IAM group.
16793	GroupId *string `type:"string"`
16794
16795	// The name of the IAM group.
16796	GroupName *string `type:"string"`
16797
16798	// The list of inline policies that are embedded in the group.
16799	GroupPolicyList []*AwsIamGroupPolicy `type:"list"`
16800
16801	// The path to the group.
16802	Path *string `type:"string"`
16803}
16804
16805// String returns the string representation
16806func (s AwsIamGroupDetails) String() string {
16807	return awsutil.Prettify(s)
16808}
16809
16810// GoString returns the string representation
16811func (s AwsIamGroupDetails) GoString() string {
16812	return s.String()
16813}
16814
16815// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
16816func (s *AwsIamGroupDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamGroupDetails {
16817	s.AttachedManagedPolicies = v
16818	return s
16819}
16820
16821// SetCreateDate sets the CreateDate field's value.
16822func (s *AwsIamGroupDetails) SetCreateDate(v string) *AwsIamGroupDetails {
16823	s.CreateDate = &v
16824	return s
16825}
16826
16827// SetGroupId sets the GroupId field's value.
16828func (s *AwsIamGroupDetails) SetGroupId(v string) *AwsIamGroupDetails {
16829	s.GroupId = &v
16830	return s
16831}
16832
16833// SetGroupName sets the GroupName field's value.
16834func (s *AwsIamGroupDetails) SetGroupName(v string) *AwsIamGroupDetails {
16835	s.GroupName = &v
16836	return s
16837}
16838
16839// SetGroupPolicyList sets the GroupPolicyList field's value.
16840func (s *AwsIamGroupDetails) SetGroupPolicyList(v []*AwsIamGroupPolicy) *AwsIamGroupDetails {
16841	s.GroupPolicyList = v
16842	return s
16843}
16844
16845// SetPath sets the Path field's value.
16846func (s *AwsIamGroupDetails) SetPath(v string) *AwsIamGroupDetails {
16847	s.Path = &v
16848	return s
16849}
16850
16851// A managed policy that is attached to the IAM group.
16852type AwsIamGroupPolicy struct {
16853	_ struct{} `type:"structure"`
16854
16855	// The name of the policy.
16856	PolicyName *string `type:"string"`
16857}
16858
16859// String returns the string representation
16860func (s AwsIamGroupPolicy) String() string {
16861	return awsutil.Prettify(s)
16862}
16863
16864// GoString returns the string representation
16865func (s AwsIamGroupPolicy) GoString() string {
16866	return s.String()
16867}
16868
16869// SetPolicyName sets the PolicyName field's value.
16870func (s *AwsIamGroupPolicy) SetPolicyName(v string) *AwsIamGroupPolicy {
16871	s.PolicyName = &v
16872	return s
16873}
16874
16875// Information about an instance profile.
16876type AwsIamInstanceProfile struct {
16877	_ struct{} `type:"structure"`
16878
16879	// The ARN of the instance profile.
16880	Arn *string `type:"string"`
16881
16882	// Indicates when the instance profile was created.
16883	//
16884	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16885	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16886	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16887	CreateDate *string `type:"string"`
16888
16889	// The identifier of the instance profile.
16890	InstanceProfileId *string `type:"string"`
16891
16892	// The name of the instance profile.
16893	InstanceProfileName *string `type:"string"`
16894
16895	// The path to the instance profile.
16896	Path *string `type:"string"`
16897
16898	// The roles associated with the instance profile.
16899	Roles []*AwsIamInstanceProfileRole `type:"list"`
16900}
16901
16902// String returns the string representation
16903func (s AwsIamInstanceProfile) String() string {
16904	return awsutil.Prettify(s)
16905}
16906
16907// GoString returns the string representation
16908func (s AwsIamInstanceProfile) GoString() string {
16909	return s.String()
16910}
16911
16912// Validate inspects the fields of the type to determine if they are valid.
16913func (s *AwsIamInstanceProfile) Validate() error {
16914	invalidParams := request.ErrInvalidParams{Context: "AwsIamInstanceProfile"}
16915	if s.Roles != nil {
16916		for i, v := range s.Roles {
16917			if v == nil {
16918				continue
16919			}
16920			if err := v.Validate(); err != nil {
16921				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Roles", i), err.(request.ErrInvalidParams))
16922			}
16923		}
16924	}
16925
16926	if invalidParams.Len() > 0 {
16927		return invalidParams
16928	}
16929	return nil
16930}
16931
16932// SetArn sets the Arn field's value.
16933func (s *AwsIamInstanceProfile) SetArn(v string) *AwsIamInstanceProfile {
16934	s.Arn = &v
16935	return s
16936}
16937
16938// SetCreateDate sets the CreateDate field's value.
16939func (s *AwsIamInstanceProfile) SetCreateDate(v string) *AwsIamInstanceProfile {
16940	s.CreateDate = &v
16941	return s
16942}
16943
16944// SetInstanceProfileId sets the InstanceProfileId field's value.
16945func (s *AwsIamInstanceProfile) SetInstanceProfileId(v string) *AwsIamInstanceProfile {
16946	s.InstanceProfileId = &v
16947	return s
16948}
16949
16950// SetInstanceProfileName sets the InstanceProfileName field's value.
16951func (s *AwsIamInstanceProfile) SetInstanceProfileName(v string) *AwsIamInstanceProfile {
16952	s.InstanceProfileName = &v
16953	return s
16954}
16955
16956// SetPath sets the Path field's value.
16957func (s *AwsIamInstanceProfile) SetPath(v string) *AwsIamInstanceProfile {
16958	s.Path = &v
16959	return s
16960}
16961
16962// SetRoles sets the Roles field's value.
16963func (s *AwsIamInstanceProfile) SetRoles(v []*AwsIamInstanceProfileRole) *AwsIamInstanceProfile {
16964	s.Roles = v
16965	return s
16966}
16967
16968// Information about a role associated with an instance profile.
16969type AwsIamInstanceProfileRole struct {
16970	_ struct{} `type:"structure"`
16971
16972	// The ARN of the role.
16973	Arn *string `type:"string"`
16974
16975	// The policy that grants an entity permission to assume the role.
16976	AssumeRolePolicyDocument *string `min:"1" type:"string"`
16977
16978	// Indicates when the role was created.
16979	//
16980	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16981	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16982	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16983	CreateDate *string `type:"string"`
16984
16985	// The path to the role.
16986	Path *string `type:"string"`
16987
16988	// The identifier of the role.
16989	RoleId *string `type:"string"`
16990
16991	// The name of the role.
16992	RoleName *string `type:"string"`
16993}
16994
16995// String returns the string representation
16996func (s AwsIamInstanceProfileRole) String() string {
16997	return awsutil.Prettify(s)
16998}
16999
17000// GoString returns the string representation
17001func (s AwsIamInstanceProfileRole) GoString() string {
17002	return s.String()
17003}
17004
17005// Validate inspects the fields of the type to determine if they are valid.
17006func (s *AwsIamInstanceProfileRole) Validate() error {
17007	invalidParams := request.ErrInvalidParams{Context: "AwsIamInstanceProfileRole"}
17008	if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 {
17009		invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1))
17010	}
17011
17012	if invalidParams.Len() > 0 {
17013		return invalidParams
17014	}
17015	return nil
17016}
17017
17018// SetArn sets the Arn field's value.
17019func (s *AwsIamInstanceProfileRole) SetArn(v string) *AwsIamInstanceProfileRole {
17020	s.Arn = &v
17021	return s
17022}
17023
17024// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value.
17025func (s *AwsIamInstanceProfileRole) SetAssumeRolePolicyDocument(v string) *AwsIamInstanceProfileRole {
17026	s.AssumeRolePolicyDocument = &v
17027	return s
17028}
17029
17030// SetCreateDate sets the CreateDate field's value.
17031func (s *AwsIamInstanceProfileRole) SetCreateDate(v string) *AwsIamInstanceProfileRole {
17032	s.CreateDate = &v
17033	return s
17034}
17035
17036// SetPath sets the Path field's value.
17037func (s *AwsIamInstanceProfileRole) SetPath(v string) *AwsIamInstanceProfileRole {
17038	s.Path = &v
17039	return s
17040}
17041
17042// SetRoleId sets the RoleId field's value.
17043func (s *AwsIamInstanceProfileRole) SetRoleId(v string) *AwsIamInstanceProfileRole {
17044	s.RoleId = &v
17045	return s
17046}
17047
17048// SetRoleName sets the RoleName field's value.
17049func (s *AwsIamInstanceProfileRole) SetRoleName(v string) *AwsIamInstanceProfileRole {
17050	s.RoleName = &v
17051	return s
17052}
17053
17054// Information about the policy used to set the permissions boundary for an
17055// IAM principal.
17056type AwsIamPermissionsBoundary struct {
17057	_ struct{} `type:"structure"`
17058
17059	// The ARN of the policy used to set the permissions boundary.
17060	PermissionsBoundaryArn *string `type:"string"`
17061
17062	// The usage type for the permissions boundary.
17063	PermissionsBoundaryType *string `type:"string"`
17064}
17065
17066// String returns the string representation
17067func (s AwsIamPermissionsBoundary) String() string {
17068	return awsutil.Prettify(s)
17069}
17070
17071// GoString returns the string representation
17072func (s AwsIamPermissionsBoundary) GoString() string {
17073	return s.String()
17074}
17075
17076// SetPermissionsBoundaryArn sets the PermissionsBoundaryArn field's value.
17077func (s *AwsIamPermissionsBoundary) SetPermissionsBoundaryArn(v string) *AwsIamPermissionsBoundary {
17078	s.PermissionsBoundaryArn = &v
17079	return s
17080}
17081
17082// SetPermissionsBoundaryType sets the PermissionsBoundaryType field's value.
17083func (s *AwsIamPermissionsBoundary) SetPermissionsBoundaryType(v string) *AwsIamPermissionsBoundary {
17084	s.PermissionsBoundaryType = &v
17085	return s
17086}
17087
17088// Represents an IAM permissions policy.
17089type AwsIamPolicyDetails struct {
17090	_ struct{} `type:"structure"`
17091
17092	// The number of users, groups, and roles that the policy is attached to.
17093	AttachmentCount *int64 `type:"integer"`
17094
17095	// When the policy was created.
17096	//
17097	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
17098	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
17099	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
17100	CreateDate *string `type:"string"`
17101
17102	// The identifier of the default version of the policy.
17103	DefaultVersionId *string `type:"string"`
17104
17105	// A description of the policy.
17106	Description *string `type:"string"`
17107
17108	// Whether the policy can be attached to a user, group, or role.
17109	IsAttachable *bool `type:"boolean"`
17110
17111	// The path to the policy.
17112	Path *string `type:"string"`
17113
17114	// The number of users and roles that use the policy to set the permissions
17115	// boundary.
17116	PermissionsBoundaryUsageCount *int64 `type:"integer"`
17117
17118	// The unique identifier of the policy.
17119	PolicyId *string `type:"string"`
17120
17121	// The name of the policy.
17122	PolicyName *string `type:"string"`
17123
17124	// List of versions of the policy.
17125	PolicyVersionList []*AwsIamPolicyVersion `type:"list"`
17126
17127	// When the policy was most recently updated.
17128	//
17129	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
17130	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
17131	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
17132	UpdateDate *string `type:"string"`
17133}
17134
17135// String returns the string representation
17136func (s AwsIamPolicyDetails) String() string {
17137	return awsutil.Prettify(s)
17138}
17139
17140// GoString returns the string representation
17141func (s AwsIamPolicyDetails) GoString() string {
17142	return s.String()
17143}
17144
17145// SetAttachmentCount sets the AttachmentCount field's value.
17146func (s *AwsIamPolicyDetails) SetAttachmentCount(v int64) *AwsIamPolicyDetails {
17147	s.AttachmentCount = &v
17148	return s
17149}
17150
17151// SetCreateDate sets the CreateDate field's value.
17152func (s *AwsIamPolicyDetails) SetCreateDate(v string) *AwsIamPolicyDetails {
17153	s.CreateDate = &v
17154	return s
17155}
17156
17157// SetDefaultVersionId sets the DefaultVersionId field's value.
17158func (s *AwsIamPolicyDetails) SetDefaultVersionId(v string) *AwsIamPolicyDetails {
17159	s.DefaultVersionId = &v
17160	return s
17161}
17162
17163// SetDescription sets the Description field's value.
17164func (s *AwsIamPolicyDetails) SetDescription(v string) *AwsIamPolicyDetails {
17165	s.Description = &v
17166	return s
17167}
17168
17169// SetIsAttachable sets the IsAttachable field's value.
17170func (s *AwsIamPolicyDetails) SetIsAttachable(v bool) *AwsIamPolicyDetails {
17171	s.IsAttachable = &v
17172	return s
17173}
17174
17175// SetPath sets the Path field's value.
17176func (s *AwsIamPolicyDetails) SetPath(v string) *AwsIamPolicyDetails {
17177	s.Path = &v
17178	return s
17179}
17180
17181// SetPermissionsBoundaryUsageCount sets the PermissionsBoundaryUsageCount field's value.
17182func (s *AwsIamPolicyDetails) SetPermissionsBoundaryUsageCount(v int64) *AwsIamPolicyDetails {
17183	s.PermissionsBoundaryUsageCount = &v
17184	return s
17185}
17186
17187// SetPolicyId sets the PolicyId field's value.
17188func (s *AwsIamPolicyDetails) SetPolicyId(v string) *AwsIamPolicyDetails {
17189	s.PolicyId = &v
17190	return s
17191}
17192
17193// SetPolicyName sets the PolicyName field's value.
17194func (s *AwsIamPolicyDetails) SetPolicyName(v string) *AwsIamPolicyDetails {
17195	s.PolicyName = &v
17196	return s
17197}
17198
17199// SetPolicyVersionList sets the PolicyVersionList field's value.
17200func (s *AwsIamPolicyDetails) SetPolicyVersionList(v []*AwsIamPolicyVersion) *AwsIamPolicyDetails {
17201	s.PolicyVersionList = v
17202	return s
17203}
17204
17205// SetUpdateDate sets the UpdateDate field's value.
17206func (s *AwsIamPolicyDetails) SetUpdateDate(v string) *AwsIamPolicyDetails {
17207	s.UpdateDate = &v
17208	return s
17209}
17210
17211// A version of an IAM policy.
17212type AwsIamPolicyVersion struct {
17213	_ struct{} `type:"structure"`
17214
17215	// Indicates when the version was created.
17216	//
17217	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
17218	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
17219	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
17220	CreateDate *string `type:"string"`
17221
17222	// Whether the version is the default version.
17223	IsDefaultVersion *bool `type:"boolean"`
17224
17225	// The identifier of the policy version.
17226	VersionId *string `type:"string"`
17227}
17228
17229// String returns the string representation
17230func (s AwsIamPolicyVersion) String() string {
17231	return awsutil.Prettify(s)
17232}
17233
17234// GoString returns the string representation
17235func (s AwsIamPolicyVersion) GoString() string {
17236	return s.String()
17237}
17238
17239// SetCreateDate sets the CreateDate field's value.
17240func (s *AwsIamPolicyVersion) SetCreateDate(v string) *AwsIamPolicyVersion {
17241	s.CreateDate = &v
17242	return s
17243}
17244
17245// SetIsDefaultVersion sets the IsDefaultVersion field's value.
17246func (s *AwsIamPolicyVersion) SetIsDefaultVersion(v bool) *AwsIamPolicyVersion {
17247	s.IsDefaultVersion = &v
17248	return s
17249}
17250
17251// SetVersionId sets the VersionId field's value.
17252func (s *AwsIamPolicyVersion) SetVersionId(v string) *AwsIamPolicyVersion {
17253	s.VersionId = &v
17254	return s
17255}
17256
17257// Contains information about an IAM role, including all of the role's policies.
17258type AwsIamRoleDetails struct {
17259	_ struct{} `type:"structure"`
17260
17261	// The trust policy that grants permission to assume the role.
17262	AssumeRolePolicyDocument *string `min:"1" type:"string"`
17263
17264	// The list of the managed policies that are attached to the role.
17265	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
17266
17267	// Indicates when the role was created.
17268	//
17269	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
17270	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
17271	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
17272	CreateDate *string `type:"string"`
17273
17274	// The list of instance profiles that contain this role.
17275	InstanceProfileList []*AwsIamInstanceProfile `type:"list"`
17276
17277	// The maximum session duration (in seconds) that you want to set for the specified
17278	// role.
17279	MaxSessionDuration *int64 `type:"integer"`
17280
17281	// The path to the role.
17282	Path *string `type:"string"`
17283
17284	// Information about the policy used to set the permissions boundary for an
17285	// IAM principal.
17286	PermissionsBoundary *AwsIamPermissionsBoundary `type:"structure"`
17287
17288	// The stable and unique string identifying the role.
17289	RoleId *string `type:"string"`
17290
17291	// The friendly name that identifies the role.
17292	RoleName *string `type:"string"`
17293
17294	// The list of inline policies that are embedded in the role.
17295	RolePolicyList []*AwsIamRolePolicy `type:"list"`
17296}
17297
17298// String returns the string representation
17299func (s AwsIamRoleDetails) String() string {
17300	return awsutil.Prettify(s)
17301}
17302
17303// GoString returns the string representation
17304func (s AwsIamRoleDetails) GoString() string {
17305	return s.String()
17306}
17307
17308// Validate inspects the fields of the type to determine if they are valid.
17309func (s *AwsIamRoleDetails) Validate() error {
17310	invalidParams := request.ErrInvalidParams{Context: "AwsIamRoleDetails"}
17311	if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 {
17312		invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1))
17313	}
17314	if s.InstanceProfileList != nil {
17315		for i, v := range s.InstanceProfileList {
17316			if v == nil {
17317				continue
17318			}
17319			if err := v.Validate(); err != nil {
17320				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceProfileList", i), err.(request.ErrInvalidParams))
17321			}
17322		}
17323	}
17324
17325	if invalidParams.Len() > 0 {
17326		return invalidParams
17327	}
17328	return nil
17329}
17330
17331// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value.
17332func (s *AwsIamRoleDetails) SetAssumeRolePolicyDocument(v string) *AwsIamRoleDetails {
17333	s.AssumeRolePolicyDocument = &v
17334	return s
17335}
17336
17337// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
17338func (s *AwsIamRoleDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamRoleDetails {
17339	s.AttachedManagedPolicies = v
17340	return s
17341}
17342
17343// SetCreateDate sets the CreateDate field's value.
17344func (s *AwsIamRoleDetails) SetCreateDate(v string) *AwsIamRoleDetails {
17345	s.CreateDate = &v
17346	return s
17347}
17348
17349// SetInstanceProfileList sets the InstanceProfileList field's value.
17350func (s *AwsIamRoleDetails) SetInstanceProfileList(v []*AwsIamInstanceProfile) *AwsIamRoleDetails {
17351	s.InstanceProfileList = v
17352	return s
17353}
17354
17355// SetMaxSessionDuration sets the MaxSessionDuration field's value.
17356func (s *AwsIamRoleDetails) SetMaxSessionDuration(v int64) *AwsIamRoleDetails {
17357	s.MaxSessionDuration = &v
17358	return s
17359}
17360
17361// SetPath sets the Path field's value.
17362func (s *AwsIamRoleDetails) SetPath(v string) *AwsIamRoleDetails {
17363	s.Path = &v
17364	return s
17365}
17366
17367// SetPermissionsBoundary sets the PermissionsBoundary field's value.
17368func (s *AwsIamRoleDetails) SetPermissionsBoundary(v *AwsIamPermissionsBoundary) *AwsIamRoleDetails {
17369	s.PermissionsBoundary = v
17370	return s
17371}
17372
17373// SetRoleId sets the RoleId field's value.
17374func (s *AwsIamRoleDetails) SetRoleId(v string) *AwsIamRoleDetails {
17375	s.RoleId = &v
17376	return s
17377}
17378
17379// SetRoleName sets the RoleName field's value.
17380func (s *AwsIamRoleDetails) SetRoleName(v string) *AwsIamRoleDetails {
17381	s.RoleName = &v
17382	return s
17383}
17384
17385// SetRolePolicyList sets the RolePolicyList field's value.
17386func (s *AwsIamRoleDetails) SetRolePolicyList(v []*AwsIamRolePolicy) *AwsIamRoleDetails {
17387	s.RolePolicyList = v
17388	return s
17389}
17390
17391// An inline policy that is embedded in the role.
17392type AwsIamRolePolicy struct {
17393	_ struct{} `type:"structure"`
17394
17395	// The name of the policy.
17396	PolicyName *string `type:"string"`
17397}
17398
17399// String returns the string representation
17400func (s AwsIamRolePolicy) String() string {
17401	return awsutil.Prettify(s)
17402}
17403
17404// GoString returns the string representation
17405func (s AwsIamRolePolicy) GoString() string {
17406	return s.String()
17407}
17408
17409// SetPolicyName sets the PolicyName field's value.
17410func (s *AwsIamRolePolicy) SetPolicyName(v string) *AwsIamRolePolicy {
17411	s.PolicyName = &v
17412	return s
17413}
17414
17415// Information about an IAM user.
17416type AwsIamUserDetails struct {
17417	_ struct{} `type:"structure"`
17418
17419	// A list of the managed policies that are attached to the user.
17420	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
17421
17422	// Indicates when the user was created.
17423	//
17424	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
17425	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
17426	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
17427	CreateDate *string `type:"string"`
17428
17429	// A list of IAM groups that the user belongs to.
17430	GroupList []*string `type:"list"`
17431
17432	// The path to the user.
17433	Path *string `type:"string"`
17434
17435	// The permissions boundary for the user.
17436	PermissionsBoundary *AwsIamPermissionsBoundary `type:"structure"`
17437
17438	// The unique identifier for the user.
17439	UserId *string `type:"string"`
17440
17441	// The name of the user.
17442	UserName *string `type:"string"`
17443
17444	// The list of inline policies that are embedded in the user.
17445	UserPolicyList []*AwsIamUserPolicy `type:"list"`
17446}
17447
17448// String returns the string representation
17449func (s AwsIamUserDetails) String() string {
17450	return awsutil.Prettify(s)
17451}
17452
17453// GoString returns the string representation
17454func (s AwsIamUserDetails) GoString() string {
17455	return s.String()
17456}
17457
17458// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
17459func (s *AwsIamUserDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamUserDetails {
17460	s.AttachedManagedPolicies = v
17461	return s
17462}
17463
17464// SetCreateDate sets the CreateDate field's value.
17465func (s *AwsIamUserDetails) SetCreateDate(v string) *AwsIamUserDetails {
17466	s.CreateDate = &v
17467	return s
17468}
17469
17470// SetGroupList sets the GroupList field's value.
17471func (s *AwsIamUserDetails) SetGroupList(v []*string) *AwsIamUserDetails {
17472	s.GroupList = v
17473	return s
17474}
17475
17476// SetPath sets the Path field's value.
17477func (s *AwsIamUserDetails) SetPath(v string) *AwsIamUserDetails {
17478	s.Path = &v
17479	return s
17480}
17481
17482// SetPermissionsBoundary sets the PermissionsBoundary field's value.
17483func (s *AwsIamUserDetails) SetPermissionsBoundary(v *AwsIamPermissionsBoundary) *AwsIamUserDetails {
17484	s.PermissionsBoundary = v
17485	return s
17486}
17487
17488// SetUserId sets the UserId field's value.
17489func (s *AwsIamUserDetails) SetUserId(v string) *AwsIamUserDetails {
17490	s.UserId = &v
17491	return s
17492}
17493
17494// SetUserName sets the UserName field's value.
17495func (s *AwsIamUserDetails) SetUserName(v string) *AwsIamUserDetails {
17496	s.UserName = &v
17497	return s
17498}
17499
17500// SetUserPolicyList sets the UserPolicyList field's value.
17501func (s *AwsIamUserDetails) SetUserPolicyList(v []*AwsIamUserPolicy) *AwsIamUserDetails {
17502	s.UserPolicyList = v
17503	return s
17504}
17505
17506// Information about an inline policy that is embedded in the user.
17507type AwsIamUserPolicy struct {
17508	_ struct{} `type:"structure"`
17509
17510	// The name of the policy.
17511	PolicyName *string `type:"string"`
17512}
17513
17514// String returns the string representation
17515func (s AwsIamUserPolicy) String() string {
17516	return awsutil.Prettify(s)
17517}
17518
17519// GoString returns the string representation
17520func (s AwsIamUserPolicy) GoString() string {
17521	return s.String()
17522}
17523
17524// SetPolicyName sets the PolicyName field's value.
17525func (s *AwsIamUserPolicy) SetPolicyName(v string) *AwsIamUserPolicy {
17526	s.PolicyName = &v
17527	return s
17528}
17529
17530// Contains metadata about an KMS key.
17531type AwsKmsKeyDetails struct {
17532	_ struct{} `type:"structure"`
17533
17534	// The twelve-digit account ID of the Amazon Web Services account that owns
17535	// the KMS key.
17536	AWSAccountId *string `type:"string"`
17537
17538	// Indicates when the KMS key was created.
17539	//
17540	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
17541	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
17542	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
17543	CreationDate *float64 `type:"double"`
17544
17545	// A description of the key.
17546	Description *string `type:"string"`
17547
17548	// The globally unique identifier for the KMS key.
17549	KeyId *string `type:"string"`
17550
17551	// The manager of the KMS key. KMS keys in your Amazon Web Services account
17552	// are either customer managed or Amazon Web Services managed.
17553	KeyManager *string `type:"string"`
17554
17555	// Whether the key has key rotation enabled.
17556	KeyRotationStatus *bool `type:"boolean"`
17557
17558	// The state of the KMS key.
17559	KeyState *string `type:"string"`
17560
17561	// The source of the KMS key material.
17562	//
17563	// When this value is AWS_KMS, KMS created the key material.
17564	//
17565	// When this value is EXTERNAL, the key material was imported from your existing
17566	// key management infrastructure or the KMS key lacks key material.
17567	//
17568	// When this value is AWS_CLOUDHSM, the key material was created in the CloudHSM
17569	// cluster associated with a custom key store.
17570	Origin *string `type:"string"`
17571}
17572
17573// String returns the string representation
17574func (s AwsKmsKeyDetails) String() string {
17575	return awsutil.Prettify(s)
17576}
17577
17578// GoString returns the string representation
17579func (s AwsKmsKeyDetails) GoString() string {
17580	return s.String()
17581}
17582
17583// SetAWSAccountId sets the AWSAccountId field's value.
17584func (s *AwsKmsKeyDetails) SetAWSAccountId(v string) *AwsKmsKeyDetails {
17585	s.AWSAccountId = &v
17586	return s
17587}
17588
17589// SetCreationDate sets the CreationDate field's value.
17590func (s *AwsKmsKeyDetails) SetCreationDate(v float64) *AwsKmsKeyDetails {
17591	s.CreationDate = &v
17592	return s
17593}
17594
17595// SetDescription sets the Description field's value.
17596func (s *AwsKmsKeyDetails) SetDescription(v string) *AwsKmsKeyDetails {
17597	s.Description = &v
17598	return s
17599}
17600
17601// SetKeyId sets the KeyId field's value.
17602func (s *AwsKmsKeyDetails) SetKeyId(v string) *AwsKmsKeyDetails {
17603	s.KeyId = &v
17604	return s
17605}
17606
17607// SetKeyManager sets the KeyManager field's value.
17608func (s *AwsKmsKeyDetails) SetKeyManager(v string) *AwsKmsKeyDetails {
17609	s.KeyManager = &v
17610	return s
17611}
17612
17613// SetKeyRotationStatus sets the KeyRotationStatus field's value.
17614func (s *AwsKmsKeyDetails) SetKeyRotationStatus(v bool) *AwsKmsKeyDetails {
17615	s.KeyRotationStatus = &v
17616	return s
17617}
17618
17619// SetKeyState sets the KeyState field's value.
17620func (s *AwsKmsKeyDetails) SetKeyState(v string) *AwsKmsKeyDetails {
17621	s.KeyState = &v
17622	return s
17623}
17624
17625// SetOrigin sets the Origin field's value.
17626func (s *AwsKmsKeyDetails) SetOrigin(v string) *AwsKmsKeyDetails {
17627	s.Origin = &v
17628	return s
17629}
17630
17631// The code for the Lambda function. You can specify either an object in Amazon
17632// S3, or upload a deployment package directly.
17633type AwsLambdaFunctionCode struct {
17634	_ struct{} `type:"structure"`
17635
17636	// An Amazon S3 bucket in the same Amazon Web Services Region as your function.
17637	// The bucket can be in a different Amazon Web Services account.
17638	S3Bucket *string `type:"string"`
17639
17640	// The Amazon S3 key of the deployment package.
17641	S3Key *string `type:"string"`
17642
17643	// For versioned objects, the version of the deployment package object to use.
17644	S3ObjectVersion *string `type:"string"`
17645
17646	// The base64-encoded contents of the deployment package. Amazon Web Services
17647	// SDK and Amazon Web Services CLI clients handle the encoding for you.
17648	ZipFile *string `type:"string"`
17649}
17650
17651// String returns the string representation
17652func (s AwsLambdaFunctionCode) String() string {
17653	return awsutil.Prettify(s)
17654}
17655
17656// GoString returns the string representation
17657func (s AwsLambdaFunctionCode) GoString() string {
17658	return s.String()
17659}
17660
17661// SetS3Bucket sets the S3Bucket field's value.
17662func (s *AwsLambdaFunctionCode) SetS3Bucket(v string) *AwsLambdaFunctionCode {
17663	s.S3Bucket = &v
17664	return s
17665}
17666
17667// SetS3Key sets the S3Key field's value.
17668func (s *AwsLambdaFunctionCode) SetS3Key(v string) *AwsLambdaFunctionCode {
17669	s.S3Key = &v
17670	return s
17671}
17672
17673// SetS3ObjectVersion sets the S3ObjectVersion field's value.
17674func (s *AwsLambdaFunctionCode) SetS3ObjectVersion(v string) *AwsLambdaFunctionCode {
17675	s.S3ObjectVersion = &v
17676	return s
17677}
17678
17679// SetZipFile sets the ZipFile field's value.
17680func (s *AwsLambdaFunctionCode) SetZipFile(v string) *AwsLambdaFunctionCode {
17681	s.ZipFile = &v
17682	return s
17683}
17684
17685// The dead-letter queue for failed asynchronous invocations.
17686type AwsLambdaFunctionDeadLetterConfig struct {
17687	_ struct{} `type:"structure"`
17688
17689	// The ARN of an SQS queue or SNS topic.
17690	TargetArn *string `type:"string"`
17691}
17692
17693// String returns the string representation
17694func (s AwsLambdaFunctionDeadLetterConfig) String() string {
17695	return awsutil.Prettify(s)
17696}
17697
17698// GoString returns the string representation
17699func (s AwsLambdaFunctionDeadLetterConfig) GoString() string {
17700	return s.String()
17701}
17702
17703// SetTargetArn sets the TargetArn field's value.
17704func (s *AwsLambdaFunctionDeadLetterConfig) SetTargetArn(v string) *AwsLambdaFunctionDeadLetterConfig {
17705	s.TargetArn = &v
17706	return s
17707}
17708
17709// Details about a function's configuration.
17710type AwsLambdaFunctionDetails struct {
17711	_ struct{} `type:"structure"`
17712
17713	// An AwsLambdaFunctionCode object.
17714	Code *AwsLambdaFunctionCode `type:"structure"`
17715
17716	// The SHA256 hash of the function's deployment package.
17717	CodeSha256 *string `type:"string"`
17718
17719	// The function's dead letter queue.
17720	DeadLetterConfig *AwsLambdaFunctionDeadLetterConfig `type:"structure"`
17721
17722	// The function's environment variables.
17723	Environment *AwsLambdaFunctionEnvironment `type:"structure"`
17724
17725	// The name of the function.
17726	FunctionName *string `type:"string"`
17727
17728	// The function that Lambda calls to begin executing your function.
17729	Handler *string `type:"string"`
17730
17731	// The KMS key that is used to encrypt the function's environment variables.
17732	// This key is only returned if you've configured a customer managed customer
17733	// managed key.
17734	KmsKeyArn *string `type:"string"`
17735
17736	// Indicates when the function was last updated.
17737	//
17738	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
17739	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
17740	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
17741	LastModified *string `type:"string"`
17742
17743	// The function's layers.
17744	Layers []*AwsLambdaFunctionLayer `type:"list"`
17745
17746	// For Lambda@Edge functions, the ARN of the master function.
17747	MasterArn *string `type:"string"`
17748
17749	// The memory that is allocated to the function.
17750	MemorySize *int64 `type:"integer"`
17751
17752	// The latest updated revision of the function or alias.
17753	RevisionId *string `type:"string"`
17754
17755	// The function's execution role.
17756	Role *string `type:"string"`
17757
17758	// The runtime environment for the Lambda function.
17759	Runtime *string `type:"string"`
17760
17761	// The amount of time that Lambda allows a function to run before stopping it.
17762	Timeout *int64 `type:"integer"`
17763
17764	// The function's X-Ray tracing configuration.
17765	TracingConfig *AwsLambdaFunctionTracingConfig `type:"structure"`
17766
17767	// The version of the Lambda function.
17768	Version *string `type:"string"`
17769
17770	// The function's networking configuration.
17771	VpcConfig *AwsLambdaFunctionVpcConfig `type:"structure"`
17772}
17773
17774// String returns the string representation
17775func (s AwsLambdaFunctionDetails) String() string {
17776	return awsutil.Prettify(s)
17777}
17778
17779// GoString returns the string representation
17780func (s AwsLambdaFunctionDetails) GoString() string {
17781	return s.String()
17782}
17783
17784// SetCode sets the Code field's value.
17785func (s *AwsLambdaFunctionDetails) SetCode(v *AwsLambdaFunctionCode) *AwsLambdaFunctionDetails {
17786	s.Code = v
17787	return s
17788}
17789
17790// SetCodeSha256 sets the CodeSha256 field's value.
17791func (s *AwsLambdaFunctionDetails) SetCodeSha256(v string) *AwsLambdaFunctionDetails {
17792	s.CodeSha256 = &v
17793	return s
17794}
17795
17796// SetDeadLetterConfig sets the DeadLetterConfig field's value.
17797func (s *AwsLambdaFunctionDetails) SetDeadLetterConfig(v *AwsLambdaFunctionDeadLetterConfig) *AwsLambdaFunctionDetails {
17798	s.DeadLetterConfig = v
17799	return s
17800}
17801
17802// SetEnvironment sets the Environment field's value.
17803func (s *AwsLambdaFunctionDetails) SetEnvironment(v *AwsLambdaFunctionEnvironment) *AwsLambdaFunctionDetails {
17804	s.Environment = v
17805	return s
17806}
17807
17808// SetFunctionName sets the FunctionName field's value.
17809func (s *AwsLambdaFunctionDetails) SetFunctionName(v string) *AwsLambdaFunctionDetails {
17810	s.FunctionName = &v
17811	return s
17812}
17813
17814// SetHandler sets the Handler field's value.
17815func (s *AwsLambdaFunctionDetails) SetHandler(v string) *AwsLambdaFunctionDetails {
17816	s.Handler = &v
17817	return s
17818}
17819
17820// SetKmsKeyArn sets the KmsKeyArn field's value.
17821func (s *AwsLambdaFunctionDetails) SetKmsKeyArn(v string) *AwsLambdaFunctionDetails {
17822	s.KmsKeyArn = &v
17823	return s
17824}
17825
17826// SetLastModified sets the LastModified field's value.
17827func (s *AwsLambdaFunctionDetails) SetLastModified(v string) *AwsLambdaFunctionDetails {
17828	s.LastModified = &v
17829	return s
17830}
17831
17832// SetLayers sets the Layers field's value.
17833func (s *AwsLambdaFunctionDetails) SetLayers(v []*AwsLambdaFunctionLayer) *AwsLambdaFunctionDetails {
17834	s.Layers = v
17835	return s
17836}
17837
17838// SetMasterArn sets the MasterArn field's value.
17839func (s *AwsLambdaFunctionDetails) SetMasterArn(v string) *AwsLambdaFunctionDetails {
17840	s.MasterArn = &v
17841	return s
17842}
17843
17844// SetMemorySize sets the MemorySize field's value.
17845func (s *AwsLambdaFunctionDetails) SetMemorySize(v int64) *AwsLambdaFunctionDetails {
17846	s.MemorySize = &v
17847	return s
17848}
17849
17850// SetRevisionId sets the RevisionId field's value.
17851func (s *AwsLambdaFunctionDetails) SetRevisionId(v string) *AwsLambdaFunctionDetails {
17852	s.RevisionId = &v
17853	return s
17854}
17855
17856// SetRole sets the Role field's value.
17857func (s *AwsLambdaFunctionDetails) SetRole(v string) *AwsLambdaFunctionDetails {
17858	s.Role = &v
17859	return s
17860}
17861
17862// SetRuntime sets the Runtime field's value.
17863func (s *AwsLambdaFunctionDetails) SetRuntime(v string) *AwsLambdaFunctionDetails {
17864	s.Runtime = &v
17865	return s
17866}
17867
17868// SetTimeout sets the Timeout field's value.
17869func (s *AwsLambdaFunctionDetails) SetTimeout(v int64) *AwsLambdaFunctionDetails {
17870	s.Timeout = &v
17871	return s
17872}
17873
17874// SetTracingConfig sets the TracingConfig field's value.
17875func (s *AwsLambdaFunctionDetails) SetTracingConfig(v *AwsLambdaFunctionTracingConfig) *AwsLambdaFunctionDetails {
17876	s.TracingConfig = v
17877	return s
17878}
17879
17880// SetVersion sets the Version field's value.
17881func (s *AwsLambdaFunctionDetails) SetVersion(v string) *AwsLambdaFunctionDetails {
17882	s.Version = &v
17883	return s
17884}
17885
17886// SetVpcConfig sets the VpcConfig field's value.
17887func (s *AwsLambdaFunctionDetails) SetVpcConfig(v *AwsLambdaFunctionVpcConfig) *AwsLambdaFunctionDetails {
17888	s.VpcConfig = v
17889	return s
17890}
17891
17892// A function's environment variable settings.
17893type AwsLambdaFunctionEnvironment struct {
17894	_ struct{} `type:"structure"`
17895
17896	// An AwsLambdaFunctionEnvironmentError object.
17897	Error *AwsLambdaFunctionEnvironmentError `type:"structure"`
17898
17899	// Environment variable key-value pairs.
17900	Variables map[string]*string `type:"map"`
17901}
17902
17903// String returns the string representation
17904func (s AwsLambdaFunctionEnvironment) String() string {
17905	return awsutil.Prettify(s)
17906}
17907
17908// GoString returns the string representation
17909func (s AwsLambdaFunctionEnvironment) GoString() string {
17910	return s.String()
17911}
17912
17913// SetError sets the Error field's value.
17914func (s *AwsLambdaFunctionEnvironment) SetError(v *AwsLambdaFunctionEnvironmentError) *AwsLambdaFunctionEnvironment {
17915	s.Error = v
17916	return s
17917}
17918
17919// SetVariables sets the Variables field's value.
17920func (s *AwsLambdaFunctionEnvironment) SetVariables(v map[string]*string) *AwsLambdaFunctionEnvironment {
17921	s.Variables = v
17922	return s
17923}
17924
17925// Error messages for environment variables that could not be applied.
17926type AwsLambdaFunctionEnvironmentError struct {
17927	_ struct{} `type:"structure"`
17928
17929	// The error code.
17930	ErrorCode *string `type:"string"`
17931
17932	// The error message.
17933	Message *string `type:"string"`
17934}
17935
17936// String returns the string representation
17937func (s AwsLambdaFunctionEnvironmentError) String() string {
17938	return awsutil.Prettify(s)
17939}
17940
17941// GoString returns the string representation
17942func (s AwsLambdaFunctionEnvironmentError) GoString() string {
17943	return s.String()
17944}
17945
17946// SetErrorCode sets the ErrorCode field's value.
17947func (s *AwsLambdaFunctionEnvironmentError) SetErrorCode(v string) *AwsLambdaFunctionEnvironmentError {
17948	s.ErrorCode = &v
17949	return s
17950}
17951
17952// SetMessage sets the Message field's value.
17953func (s *AwsLambdaFunctionEnvironmentError) SetMessage(v string) *AwsLambdaFunctionEnvironmentError {
17954	s.Message = &v
17955	return s
17956}
17957
17958// An Lambda layer.
17959type AwsLambdaFunctionLayer struct {
17960	_ struct{} `type:"structure"`
17961
17962	// The ARN of the function layer.
17963	Arn *string `type:"string"`
17964
17965	// The size of the layer archive in bytes.
17966	CodeSize *int64 `type:"integer"`
17967}
17968
17969// String returns the string representation
17970func (s AwsLambdaFunctionLayer) String() string {
17971	return awsutil.Prettify(s)
17972}
17973
17974// GoString returns the string representation
17975func (s AwsLambdaFunctionLayer) GoString() string {
17976	return s.String()
17977}
17978
17979// SetArn sets the Arn field's value.
17980func (s *AwsLambdaFunctionLayer) SetArn(v string) *AwsLambdaFunctionLayer {
17981	s.Arn = &v
17982	return s
17983}
17984
17985// SetCodeSize sets the CodeSize field's value.
17986func (s *AwsLambdaFunctionLayer) SetCodeSize(v int64) *AwsLambdaFunctionLayer {
17987	s.CodeSize = &v
17988	return s
17989}
17990
17991// The function's X-Ray tracing configuration.
17992type AwsLambdaFunctionTracingConfig struct {
17993	_ struct{} `type:"structure"`
17994
17995	// The tracing mode.
17996	Mode *string `type:"string"`
17997}
17998
17999// String returns the string representation
18000func (s AwsLambdaFunctionTracingConfig) String() string {
18001	return awsutil.Prettify(s)
18002}
18003
18004// GoString returns the string representation
18005func (s AwsLambdaFunctionTracingConfig) GoString() string {
18006	return s.String()
18007}
18008
18009// SetMode sets the Mode field's value.
18010func (s *AwsLambdaFunctionTracingConfig) SetMode(v string) *AwsLambdaFunctionTracingConfig {
18011	s.Mode = &v
18012	return s
18013}
18014
18015// The VPC security groups and subnets that are attached to a Lambda function.
18016type AwsLambdaFunctionVpcConfig struct {
18017	_ struct{} `type:"structure"`
18018
18019	// A list of VPC security groups IDs.
18020	SecurityGroupIds []*string `type:"list"`
18021
18022	// A list of VPC subnet IDs.
18023	SubnetIds []*string `type:"list"`
18024
18025	// The ID of the VPC.
18026	VpcId *string `type:"string"`
18027}
18028
18029// String returns the string representation
18030func (s AwsLambdaFunctionVpcConfig) String() string {
18031	return awsutil.Prettify(s)
18032}
18033
18034// GoString returns the string representation
18035func (s AwsLambdaFunctionVpcConfig) GoString() string {
18036	return s.String()
18037}
18038
18039// SetSecurityGroupIds sets the SecurityGroupIds field's value.
18040func (s *AwsLambdaFunctionVpcConfig) SetSecurityGroupIds(v []*string) *AwsLambdaFunctionVpcConfig {
18041	s.SecurityGroupIds = v
18042	return s
18043}
18044
18045// SetSubnetIds sets the SubnetIds field's value.
18046func (s *AwsLambdaFunctionVpcConfig) SetSubnetIds(v []*string) *AwsLambdaFunctionVpcConfig {
18047	s.SubnetIds = v
18048	return s
18049}
18050
18051// SetVpcId sets the VpcId field's value.
18052func (s *AwsLambdaFunctionVpcConfig) SetVpcId(v string) *AwsLambdaFunctionVpcConfig {
18053	s.VpcId = &v
18054	return s
18055}
18056
18057// Details about a Lambda layer version.
18058type AwsLambdaLayerVersionDetails struct {
18059	_ struct{} `type:"structure"`
18060
18061	// The layer's compatible runtimes. Maximum number of five items.
18062	//
18063	// Valid values: nodejs10.x | nodejs12.x | java8 | java11 | python2.7 | python3.6
18064	// | python3.7 | python3.8 | dotnetcore1.0 | dotnetcore2.1 | go1.x | ruby2.5
18065	// | provided
18066	CompatibleRuntimes []*string `type:"list"`
18067
18068	// Indicates when the version was created.
18069	//
18070	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
18071	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
18072	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
18073	CreatedDate *string `type:"string"`
18074
18075	// The version number.
18076	Version *int64 `type:"long"`
18077}
18078
18079// String returns the string representation
18080func (s AwsLambdaLayerVersionDetails) String() string {
18081	return awsutil.Prettify(s)
18082}
18083
18084// GoString returns the string representation
18085func (s AwsLambdaLayerVersionDetails) GoString() string {
18086	return s.String()
18087}
18088
18089// SetCompatibleRuntimes sets the CompatibleRuntimes field's value.
18090func (s *AwsLambdaLayerVersionDetails) SetCompatibleRuntimes(v []*string) *AwsLambdaLayerVersionDetails {
18091	s.CompatibleRuntimes = v
18092	return s
18093}
18094
18095// SetCreatedDate sets the CreatedDate field's value.
18096func (s *AwsLambdaLayerVersionDetails) SetCreatedDate(v string) *AwsLambdaLayerVersionDetails {
18097	s.CreatedDate = &v
18098	return s
18099}
18100
18101// SetVersion sets the Version field's value.
18102func (s *AwsLambdaLayerVersionDetails) SetVersion(v int64) *AwsLambdaLayerVersionDetails {
18103	s.Version = &v
18104	return s
18105}
18106
18107// An IAM role that is associated with the Amazon RDS DB cluster.
18108type AwsRdsDbClusterAssociatedRole struct {
18109	_ struct{} `type:"structure"`
18110
18111	// The ARN of the IAM role.
18112	RoleArn *string `type:"string"`
18113
18114	// The status of the association between the IAM role and the DB cluster.
18115	Status *string `type:"string"`
18116}
18117
18118// String returns the string representation
18119func (s AwsRdsDbClusterAssociatedRole) String() string {
18120	return awsutil.Prettify(s)
18121}
18122
18123// GoString returns the string representation
18124func (s AwsRdsDbClusterAssociatedRole) GoString() string {
18125	return s.String()
18126}
18127
18128// SetRoleArn sets the RoleArn field's value.
18129func (s *AwsRdsDbClusterAssociatedRole) SetRoleArn(v string) *AwsRdsDbClusterAssociatedRole {
18130	s.RoleArn = &v
18131	return s
18132}
18133
18134// SetStatus sets the Status field's value.
18135func (s *AwsRdsDbClusterAssociatedRole) SetStatus(v string) *AwsRdsDbClusterAssociatedRole {
18136	s.Status = &v
18137	return s
18138}
18139
18140// Information about an Amazon RDS DB cluster.
18141type AwsRdsDbClusterDetails struct {
18142	_ struct{} `type:"structure"`
18143
18144	// The status of the database activity stream.
18145	ActivityStreamStatus *string `type:"string"`
18146
18147	// For all database engines except Aurora, specifies the allocated storage size
18148	// in gibibytes (GiB).
18149	AllocatedStorage *int64 `type:"integer"`
18150
18151	// A list of the IAM roles that are associated with the DB cluster.
18152	AssociatedRoles []*AwsRdsDbClusterAssociatedRole `type:"list"`
18153
18154	// A list of Availability Zones (AZs) where instances in the DB cluster can
18155	// be created.
18156	AvailabilityZones []*string `type:"list"`
18157
18158	// The number of days for which automated backups are retained.
18159	BackupRetentionPeriod *int64 `type:"integer"`
18160
18161	// Indicates when the DB cluster was created, in Universal Coordinated Time
18162	// (UTC).
18163	//
18164	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
18165	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
18166	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
18167	ClusterCreateTime *string `type:"string"`
18168
18169	// Whether tags are copied from the DB cluster to snapshots of the DB cluster.
18170	CopyTagsToSnapshot *bool `type:"boolean"`
18171
18172	// Whether the DB cluster is a clone of a DB cluster owned by a different Amazon
18173	// Web Services account.
18174	CrossAccountClone *bool `type:"boolean"`
18175
18176	// A list of custom endpoints for the DB cluster.
18177	CustomEndpoints []*string `type:"list"`
18178
18179	// The name of the database.
18180	DatabaseName *string `type:"string"`
18181
18182	// The DB cluster identifier that the user assigned to the cluster. This identifier
18183	// is the unique key that identifies a DB cluster.
18184	DbClusterIdentifier *string `type:"string"`
18185
18186	// The list of instances that make up the DB cluster.
18187	DbClusterMembers []*AwsRdsDbClusterMember `type:"list"`
18188
18189	// The list of option group memberships for this DB cluster.
18190	DbClusterOptionGroupMemberships []*AwsRdsDbClusterOptionGroupMembership `type:"list"`
18191
18192	// The name of the DB cluster parameter group for the DB cluster.
18193	DbClusterParameterGroup *string `type:"string"`
18194
18195	// The identifier of the DB cluster. The identifier must be unique within each
18196	// Amazon Web Services Region and is immutable.
18197	DbClusterResourceId *string `type:"string"`
18198
18199	// The subnet group that is associated with the DB cluster, including the name,
18200	// description, and subnets in the subnet group.
18201	DbSubnetGroup *string `type:"string"`
18202
18203	// Whether the DB cluster has deletion protection enabled.
18204	DeletionProtection *bool `type:"boolean"`
18205
18206	// The Active Directory domain membership records that are associated with the
18207	// DB cluster.
18208	DomainMemberships []*AwsRdsDbDomainMembership `type:"list"`
18209
18210	// A list of log types that this DB cluster is configured to export to CloudWatch
18211	// Logs.
18212	EnabledCloudWatchLogsExports []*string `type:"list"`
18213
18214	// The connection endpoint for the primary instance of the DB cluster.
18215	Endpoint *string `type:"string"`
18216
18217	// The name of the database engine to use for this DB cluster.
18218	Engine *string `type:"string"`
18219
18220	// The database engine mode of the DB cluster.
18221	EngineMode *string `type:"string"`
18222
18223	// The version number of the database engine to use.
18224	EngineVersion *string `type:"string"`
18225
18226	// Specifies the identifier that Amazon Route 53 assigns when you create a hosted
18227	// zone.
18228	HostedZoneId *string `type:"string"`
18229
18230	// Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.
18231	HttpEndpointEnabled *bool `type:"boolean"`
18232
18233	// Whether the mapping of IAM accounts to database accounts is enabled.
18234	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
18235
18236	// The ARN of the KMS master key that is used to encrypt the database instances
18237	// in the DB cluster.
18238	KmsKeyId *string `type:"string"`
18239
18240	// The name of the master user for the DB cluster.
18241	MasterUsername *string `type:"string"`
18242
18243	// Whether the DB cluster has instances in multiple Availability Zones.
18244	MultiAz *bool `type:"boolean"`
18245
18246	// The port number on which the DB instances in the DB cluster accept connections.
18247	Port *int64 `type:"integer"`
18248
18249	// The range of time each day when automated backups are created, if automated
18250	// backups are enabled.
18251	//
18252	// Uses the format HH:MM-HH:MM. For example, 04:52-05:22.
18253	PreferredBackupWindow *string `type:"string"`
18254
18255	// The weekly time range during which system maintenance can occur, in Universal
18256	// Coordinated Time (UTC).
18257	//
18258	// Uses the format <day>:HH:MM-<day>:HH:MM.
18259	//
18260	// For the day values, use mon|tue|wed|thu|fri|sat|sun.
18261	//
18262	// For example, sun:09:32-sun:10:02.
18263	PreferredMaintenanceWindow *string `type:"string"`
18264
18265	// The identifiers of the read replicas that are associated with this DB cluster.
18266	ReadReplicaIdentifiers []*string `type:"list"`
18267
18268	// The reader endpoint for the DB cluster.
18269	ReaderEndpoint *string `type:"string"`
18270
18271	// The current status of this DB cluster.
18272	Status *string `type:"string"`
18273
18274	// Whether the DB cluster is encrypted.
18275	StorageEncrypted *bool `type:"boolean"`
18276
18277	// A list of VPC security groups that the DB cluster belongs to.
18278	VpcSecurityGroups []*AwsRdsDbInstanceVpcSecurityGroup `type:"list"`
18279}
18280
18281// String returns the string representation
18282func (s AwsRdsDbClusterDetails) String() string {
18283	return awsutil.Prettify(s)
18284}
18285
18286// GoString returns the string representation
18287func (s AwsRdsDbClusterDetails) GoString() string {
18288	return s.String()
18289}
18290
18291// SetActivityStreamStatus sets the ActivityStreamStatus field's value.
18292func (s *AwsRdsDbClusterDetails) SetActivityStreamStatus(v string) *AwsRdsDbClusterDetails {
18293	s.ActivityStreamStatus = &v
18294	return s
18295}
18296
18297// SetAllocatedStorage sets the AllocatedStorage field's value.
18298func (s *AwsRdsDbClusterDetails) SetAllocatedStorage(v int64) *AwsRdsDbClusterDetails {
18299	s.AllocatedStorage = &v
18300	return s
18301}
18302
18303// SetAssociatedRoles sets the AssociatedRoles field's value.
18304func (s *AwsRdsDbClusterDetails) SetAssociatedRoles(v []*AwsRdsDbClusterAssociatedRole) *AwsRdsDbClusterDetails {
18305	s.AssociatedRoles = v
18306	return s
18307}
18308
18309// SetAvailabilityZones sets the AvailabilityZones field's value.
18310func (s *AwsRdsDbClusterDetails) SetAvailabilityZones(v []*string) *AwsRdsDbClusterDetails {
18311	s.AvailabilityZones = v
18312	return s
18313}
18314
18315// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
18316func (s *AwsRdsDbClusterDetails) SetBackupRetentionPeriod(v int64) *AwsRdsDbClusterDetails {
18317	s.BackupRetentionPeriod = &v
18318	return s
18319}
18320
18321// SetClusterCreateTime sets the ClusterCreateTime field's value.
18322func (s *AwsRdsDbClusterDetails) SetClusterCreateTime(v string) *AwsRdsDbClusterDetails {
18323	s.ClusterCreateTime = &v
18324	return s
18325}
18326
18327// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
18328func (s *AwsRdsDbClusterDetails) SetCopyTagsToSnapshot(v bool) *AwsRdsDbClusterDetails {
18329	s.CopyTagsToSnapshot = &v
18330	return s
18331}
18332
18333// SetCrossAccountClone sets the CrossAccountClone field's value.
18334func (s *AwsRdsDbClusterDetails) SetCrossAccountClone(v bool) *AwsRdsDbClusterDetails {
18335	s.CrossAccountClone = &v
18336	return s
18337}
18338
18339// SetCustomEndpoints sets the CustomEndpoints field's value.
18340func (s *AwsRdsDbClusterDetails) SetCustomEndpoints(v []*string) *AwsRdsDbClusterDetails {
18341	s.CustomEndpoints = v
18342	return s
18343}
18344
18345// SetDatabaseName sets the DatabaseName field's value.
18346func (s *AwsRdsDbClusterDetails) SetDatabaseName(v string) *AwsRdsDbClusterDetails {
18347	s.DatabaseName = &v
18348	return s
18349}
18350
18351// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
18352func (s *AwsRdsDbClusterDetails) SetDbClusterIdentifier(v string) *AwsRdsDbClusterDetails {
18353	s.DbClusterIdentifier = &v
18354	return s
18355}
18356
18357// SetDbClusterMembers sets the DbClusterMembers field's value.
18358func (s *AwsRdsDbClusterDetails) SetDbClusterMembers(v []*AwsRdsDbClusterMember) *AwsRdsDbClusterDetails {
18359	s.DbClusterMembers = v
18360	return s
18361}
18362
18363// SetDbClusterOptionGroupMemberships sets the DbClusterOptionGroupMemberships field's value.
18364func (s *AwsRdsDbClusterDetails) SetDbClusterOptionGroupMemberships(v []*AwsRdsDbClusterOptionGroupMembership) *AwsRdsDbClusterDetails {
18365	s.DbClusterOptionGroupMemberships = v
18366	return s
18367}
18368
18369// SetDbClusterParameterGroup sets the DbClusterParameterGroup field's value.
18370func (s *AwsRdsDbClusterDetails) SetDbClusterParameterGroup(v string) *AwsRdsDbClusterDetails {
18371	s.DbClusterParameterGroup = &v
18372	return s
18373}
18374
18375// SetDbClusterResourceId sets the DbClusterResourceId field's value.
18376func (s *AwsRdsDbClusterDetails) SetDbClusterResourceId(v string) *AwsRdsDbClusterDetails {
18377	s.DbClusterResourceId = &v
18378	return s
18379}
18380
18381// SetDbSubnetGroup sets the DbSubnetGroup field's value.
18382func (s *AwsRdsDbClusterDetails) SetDbSubnetGroup(v string) *AwsRdsDbClusterDetails {
18383	s.DbSubnetGroup = &v
18384	return s
18385}
18386
18387// SetDeletionProtection sets the DeletionProtection field's value.
18388func (s *AwsRdsDbClusterDetails) SetDeletionProtection(v bool) *AwsRdsDbClusterDetails {
18389	s.DeletionProtection = &v
18390	return s
18391}
18392
18393// SetDomainMemberships sets the DomainMemberships field's value.
18394func (s *AwsRdsDbClusterDetails) SetDomainMemberships(v []*AwsRdsDbDomainMembership) *AwsRdsDbClusterDetails {
18395	s.DomainMemberships = v
18396	return s
18397}
18398
18399// SetEnabledCloudWatchLogsExports sets the EnabledCloudWatchLogsExports field's value.
18400func (s *AwsRdsDbClusterDetails) SetEnabledCloudWatchLogsExports(v []*string) *AwsRdsDbClusterDetails {
18401	s.EnabledCloudWatchLogsExports = v
18402	return s
18403}
18404
18405// SetEndpoint sets the Endpoint field's value.
18406func (s *AwsRdsDbClusterDetails) SetEndpoint(v string) *AwsRdsDbClusterDetails {
18407	s.Endpoint = &v
18408	return s
18409}
18410
18411// SetEngine sets the Engine field's value.
18412func (s *AwsRdsDbClusterDetails) SetEngine(v string) *AwsRdsDbClusterDetails {
18413	s.Engine = &v
18414	return s
18415}
18416
18417// SetEngineMode sets the EngineMode field's value.
18418func (s *AwsRdsDbClusterDetails) SetEngineMode(v string) *AwsRdsDbClusterDetails {
18419	s.EngineMode = &v
18420	return s
18421}
18422
18423// SetEngineVersion sets the EngineVersion field's value.
18424func (s *AwsRdsDbClusterDetails) SetEngineVersion(v string) *AwsRdsDbClusterDetails {
18425	s.EngineVersion = &v
18426	return s
18427}
18428
18429// SetHostedZoneId sets the HostedZoneId field's value.
18430func (s *AwsRdsDbClusterDetails) SetHostedZoneId(v string) *AwsRdsDbClusterDetails {
18431	s.HostedZoneId = &v
18432	return s
18433}
18434
18435// SetHttpEndpointEnabled sets the HttpEndpointEnabled field's value.
18436func (s *AwsRdsDbClusterDetails) SetHttpEndpointEnabled(v bool) *AwsRdsDbClusterDetails {
18437	s.HttpEndpointEnabled = &v
18438	return s
18439}
18440
18441// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
18442func (s *AwsRdsDbClusterDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbClusterDetails {
18443	s.IamDatabaseAuthenticationEnabled = &v
18444	return s
18445}
18446
18447// SetKmsKeyId sets the KmsKeyId field's value.
18448func (s *AwsRdsDbClusterDetails) SetKmsKeyId(v string) *AwsRdsDbClusterDetails {
18449	s.KmsKeyId = &v
18450	return s
18451}
18452
18453// SetMasterUsername sets the MasterUsername field's value.
18454func (s *AwsRdsDbClusterDetails) SetMasterUsername(v string) *AwsRdsDbClusterDetails {
18455	s.MasterUsername = &v
18456	return s
18457}
18458
18459// SetMultiAz sets the MultiAz field's value.
18460func (s *AwsRdsDbClusterDetails) SetMultiAz(v bool) *AwsRdsDbClusterDetails {
18461	s.MultiAz = &v
18462	return s
18463}
18464
18465// SetPort sets the Port field's value.
18466func (s *AwsRdsDbClusterDetails) SetPort(v int64) *AwsRdsDbClusterDetails {
18467	s.Port = &v
18468	return s
18469}
18470
18471// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
18472func (s *AwsRdsDbClusterDetails) SetPreferredBackupWindow(v string) *AwsRdsDbClusterDetails {
18473	s.PreferredBackupWindow = &v
18474	return s
18475}
18476
18477// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
18478func (s *AwsRdsDbClusterDetails) SetPreferredMaintenanceWindow(v string) *AwsRdsDbClusterDetails {
18479	s.PreferredMaintenanceWindow = &v
18480	return s
18481}
18482
18483// SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
18484func (s *AwsRdsDbClusterDetails) SetReadReplicaIdentifiers(v []*string) *AwsRdsDbClusterDetails {
18485	s.ReadReplicaIdentifiers = v
18486	return s
18487}
18488
18489// SetReaderEndpoint sets the ReaderEndpoint field's value.
18490func (s *AwsRdsDbClusterDetails) SetReaderEndpoint(v string) *AwsRdsDbClusterDetails {
18491	s.ReaderEndpoint = &v
18492	return s
18493}
18494
18495// SetStatus sets the Status field's value.
18496func (s *AwsRdsDbClusterDetails) SetStatus(v string) *AwsRdsDbClusterDetails {
18497	s.Status = &v
18498	return s
18499}
18500
18501// SetStorageEncrypted sets the StorageEncrypted field's value.
18502func (s *AwsRdsDbClusterDetails) SetStorageEncrypted(v bool) *AwsRdsDbClusterDetails {
18503	s.StorageEncrypted = &v
18504	return s
18505}
18506
18507// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
18508func (s *AwsRdsDbClusterDetails) SetVpcSecurityGroups(v []*AwsRdsDbInstanceVpcSecurityGroup) *AwsRdsDbClusterDetails {
18509	s.VpcSecurityGroups = v
18510	return s
18511}
18512
18513// Information about an instance in the DB cluster.
18514type AwsRdsDbClusterMember struct {
18515	_ struct{} `type:"structure"`
18516
18517	// The status of the DB cluster parameter group for this member of the DB cluster.
18518	DbClusterParameterGroupStatus *string `type:"string"`
18519
18520	// The instance identifier for this member of the DB cluster.
18521	DbInstanceIdentifier *string `type:"string"`
18522
18523	// Whether the cluster member is the primary instance for the DB cluster.
18524	IsClusterWriter *bool `type:"boolean"`
18525
18526	// Specifies the order in which an Aurora replica is promoted to the primary
18527	// instance when the existing primary instance fails.
18528	PromotionTier *int64 `type:"integer"`
18529}
18530
18531// String returns the string representation
18532func (s AwsRdsDbClusterMember) String() string {
18533	return awsutil.Prettify(s)
18534}
18535
18536// GoString returns the string representation
18537func (s AwsRdsDbClusterMember) GoString() string {
18538	return s.String()
18539}
18540
18541// SetDbClusterParameterGroupStatus sets the DbClusterParameterGroupStatus field's value.
18542func (s *AwsRdsDbClusterMember) SetDbClusterParameterGroupStatus(v string) *AwsRdsDbClusterMember {
18543	s.DbClusterParameterGroupStatus = &v
18544	return s
18545}
18546
18547// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
18548func (s *AwsRdsDbClusterMember) SetDbInstanceIdentifier(v string) *AwsRdsDbClusterMember {
18549	s.DbInstanceIdentifier = &v
18550	return s
18551}
18552
18553// SetIsClusterWriter sets the IsClusterWriter field's value.
18554func (s *AwsRdsDbClusterMember) SetIsClusterWriter(v bool) *AwsRdsDbClusterMember {
18555	s.IsClusterWriter = &v
18556	return s
18557}
18558
18559// SetPromotionTier sets the PromotionTier field's value.
18560func (s *AwsRdsDbClusterMember) SetPromotionTier(v int64) *AwsRdsDbClusterMember {
18561	s.PromotionTier = &v
18562	return s
18563}
18564
18565// Information about an option group membership for a DB cluster.
18566type AwsRdsDbClusterOptionGroupMembership struct {
18567	_ struct{} `type:"structure"`
18568
18569	// The name of the DB cluster option group.
18570	DbClusterOptionGroupName *string `type:"string"`
18571
18572	// The status of the DB cluster option group.
18573	Status *string `type:"string"`
18574}
18575
18576// String returns the string representation
18577func (s AwsRdsDbClusterOptionGroupMembership) String() string {
18578	return awsutil.Prettify(s)
18579}
18580
18581// GoString returns the string representation
18582func (s AwsRdsDbClusterOptionGroupMembership) GoString() string {
18583	return s.String()
18584}
18585
18586// SetDbClusterOptionGroupName sets the DbClusterOptionGroupName field's value.
18587func (s *AwsRdsDbClusterOptionGroupMembership) SetDbClusterOptionGroupName(v string) *AwsRdsDbClusterOptionGroupMembership {
18588	s.DbClusterOptionGroupName = &v
18589	return s
18590}
18591
18592// SetStatus sets the Status field's value.
18593func (s *AwsRdsDbClusterOptionGroupMembership) SetStatus(v string) *AwsRdsDbClusterOptionGroupMembership {
18594	s.Status = &v
18595	return s
18596}
18597
18598// Information about an Amazon RDS DB cluster snapshot.
18599type AwsRdsDbClusterSnapshotDetails struct {
18600	_ struct{} `type:"structure"`
18601
18602	// Specifies the allocated storage size in gibibytes (GiB).
18603	AllocatedStorage *int64 `type:"integer"`
18604
18605	// A list of Availability Zones where instances in the DB cluster can be created.
18606	AvailabilityZones []*string `type:"list"`
18607
18608	// Indicates when the DB cluster was created, in Universal Coordinated Time
18609	// (UTC).
18610	//
18611	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
18612	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
18613	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
18614	ClusterCreateTime *string `type:"string"`
18615
18616	// The DB cluster identifier.
18617	DbClusterIdentifier *string `type:"string"`
18618
18619	// The identifier of the DB cluster snapshot.
18620	DbClusterSnapshotIdentifier *string `type:"string"`
18621
18622	// The name of the database engine that you want to use for this DB instance.
18623	Engine *string `type:"string"`
18624
18625	// The version of the database engine to use.
18626	EngineVersion *string `type:"string"`
18627
18628	// Whether mapping of IAM accounts to database accounts is enabled.
18629	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
18630
18631	// The ARN of the KMS master key that is used to encrypt the database instances
18632	// in the DB cluster.
18633	KmsKeyId *string `type:"string"`
18634
18635	// The license model information for this DB cluster snapshot.
18636	LicenseModel *string `type:"string"`
18637
18638	// The name of the master user for the DB cluster.
18639	MasterUsername *string `type:"string"`
18640
18641	// Specifies the percentage of the estimated data that has been transferred.
18642	PercentProgress *int64 `type:"integer"`
18643
18644	// The port number on which the DB instances in the DB cluster accept connections.
18645	Port *int64 `type:"integer"`
18646
18647	// Indicates when the snapshot was taken.
18648	//
18649	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
18650	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
18651	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
18652	SnapshotCreateTime *string `type:"string"`
18653
18654	// The type of DB cluster snapshot.
18655	SnapshotType *string `type:"string"`
18656
18657	// The status of this DB cluster snapshot.
18658	Status *string `type:"string"`
18659
18660	// Whether the DB cluster is encrypted.
18661	StorageEncrypted *bool `type:"boolean"`
18662
18663	// The VPC ID that is associated with the DB cluster snapshot.
18664	VpcId *string `type:"string"`
18665}
18666
18667// String returns the string representation
18668func (s AwsRdsDbClusterSnapshotDetails) String() string {
18669	return awsutil.Prettify(s)
18670}
18671
18672// GoString returns the string representation
18673func (s AwsRdsDbClusterSnapshotDetails) GoString() string {
18674	return s.String()
18675}
18676
18677// SetAllocatedStorage sets the AllocatedStorage field's value.
18678func (s *AwsRdsDbClusterSnapshotDetails) SetAllocatedStorage(v int64) *AwsRdsDbClusterSnapshotDetails {
18679	s.AllocatedStorage = &v
18680	return s
18681}
18682
18683// SetAvailabilityZones sets the AvailabilityZones field's value.
18684func (s *AwsRdsDbClusterSnapshotDetails) SetAvailabilityZones(v []*string) *AwsRdsDbClusterSnapshotDetails {
18685	s.AvailabilityZones = v
18686	return s
18687}
18688
18689// SetClusterCreateTime sets the ClusterCreateTime field's value.
18690func (s *AwsRdsDbClusterSnapshotDetails) SetClusterCreateTime(v string) *AwsRdsDbClusterSnapshotDetails {
18691	s.ClusterCreateTime = &v
18692	return s
18693}
18694
18695// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
18696func (s *AwsRdsDbClusterSnapshotDetails) SetDbClusterIdentifier(v string) *AwsRdsDbClusterSnapshotDetails {
18697	s.DbClusterIdentifier = &v
18698	return s
18699}
18700
18701// SetDbClusterSnapshotIdentifier sets the DbClusterSnapshotIdentifier field's value.
18702func (s *AwsRdsDbClusterSnapshotDetails) SetDbClusterSnapshotIdentifier(v string) *AwsRdsDbClusterSnapshotDetails {
18703	s.DbClusterSnapshotIdentifier = &v
18704	return s
18705}
18706
18707// SetEngine sets the Engine field's value.
18708func (s *AwsRdsDbClusterSnapshotDetails) SetEngine(v string) *AwsRdsDbClusterSnapshotDetails {
18709	s.Engine = &v
18710	return s
18711}
18712
18713// SetEngineVersion sets the EngineVersion field's value.
18714func (s *AwsRdsDbClusterSnapshotDetails) SetEngineVersion(v string) *AwsRdsDbClusterSnapshotDetails {
18715	s.EngineVersion = &v
18716	return s
18717}
18718
18719// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
18720func (s *AwsRdsDbClusterSnapshotDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbClusterSnapshotDetails {
18721	s.IamDatabaseAuthenticationEnabled = &v
18722	return s
18723}
18724
18725// SetKmsKeyId sets the KmsKeyId field's value.
18726func (s *AwsRdsDbClusterSnapshotDetails) SetKmsKeyId(v string) *AwsRdsDbClusterSnapshotDetails {
18727	s.KmsKeyId = &v
18728	return s
18729}
18730
18731// SetLicenseModel sets the LicenseModel field's value.
18732func (s *AwsRdsDbClusterSnapshotDetails) SetLicenseModel(v string) *AwsRdsDbClusterSnapshotDetails {
18733	s.LicenseModel = &v
18734	return s
18735}
18736
18737// SetMasterUsername sets the MasterUsername field's value.
18738func (s *AwsRdsDbClusterSnapshotDetails) SetMasterUsername(v string) *AwsRdsDbClusterSnapshotDetails {
18739	s.MasterUsername = &v
18740	return s
18741}
18742
18743// SetPercentProgress sets the PercentProgress field's value.
18744func (s *AwsRdsDbClusterSnapshotDetails) SetPercentProgress(v int64) *AwsRdsDbClusterSnapshotDetails {
18745	s.PercentProgress = &v
18746	return s
18747}
18748
18749// SetPort sets the Port field's value.
18750func (s *AwsRdsDbClusterSnapshotDetails) SetPort(v int64) *AwsRdsDbClusterSnapshotDetails {
18751	s.Port = &v
18752	return s
18753}
18754
18755// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
18756func (s *AwsRdsDbClusterSnapshotDetails) SetSnapshotCreateTime(v string) *AwsRdsDbClusterSnapshotDetails {
18757	s.SnapshotCreateTime = &v
18758	return s
18759}
18760
18761// SetSnapshotType sets the SnapshotType field's value.
18762func (s *AwsRdsDbClusterSnapshotDetails) SetSnapshotType(v string) *AwsRdsDbClusterSnapshotDetails {
18763	s.SnapshotType = &v
18764	return s
18765}
18766
18767// SetStatus sets the Status field's value.
18768func (s *AwsRdsDbClusterSnapshotDetails) SetStatus(v string) *AwsRdsDbClusterSnapshotDetails {
18769	s.Status = &v
18770	return s
18771}
18772
18773// SetStorageEncrypted sets the StorageEncrypted field's value.
18774func (s *AwsRdsDbClusterSnapshotDetails) SetStorageEncrypted(v bool) *AwsRdsDbClusterSnapshotDetails {
18775	s.StorageEncrypted = &v
18776	return s
18777}
18778
18779// SetVpcId sets the VpcId field's value.
18780func (s *AwsRdsDbClusterSnapshotDetails) SetVpcId(v string) *AwsRdsDbClusterSnapshotDetails {
18781	s.VpcId = &v
18782	return s
18783}
18784
18785// Information about an Active Directory domain membership record associated
18786// with the DB instance.
18787type AwsRdsDbDomainMembership struct {
18788	_ struct{} `type:"structure"`
18789
18790	// The identifier of the Active Directory domain.
18791	Domain *string `type:"string"`
18792
18793	// The fully qualified domain name of the Active Directory domain.
18794	Fqdn *string `type:"string"`
18795
18796	// The name of the IAM role to use when making API calls to the Directory Service.
18797	IamRoleName *string `type:"string"`
18798
18799	// The status of the Active Directory Domain membership for the DB instance.
18800	Status *string `type:"string"`
18801}
18802
18803// String returns the string representation
18804func (s AwsRdsDbDomainMembership) String() string {
18805	return awsutil.Prettify(s)
18806}
18807
18808// GoString returns the string representation
18809func (s AwsRdsDbDomainMembership) GoString() string {
18810	return s.String()
18811}
18812
18813// SetDomain sets the Domain field's value.
18814func (s *AwsRdsDbDomainMembership) SetDomain(v string) *AwsRdsDbDomainMembership {
18815	s.Domain = &v
18816	return s
18817}
18818
18819// SetFqdn sets the Fqdn field's value.
18820func (s *AwsRdsDbDomainMembership) SetFqdn(v string) *AwsRdsDbDomainMembership {
18821	s.Fqdn = &v
18822	return s
18823}
18824
18825// SetIamRoleName sets the IamRoleName field's value.
18826func (s *AwsRdsDbDomainMembership) SetIamRoleName(v string) *AwsRdsDbDomainMembership {
18827	s.IamRoleName = &v
18828	return s
18829}
18830
18831// SetStatus sets the Status field's value.
18832func (s *AwsRdsDbDomainMembership) SetStatus(v string) *AwsRdsDbDomainMembership {
18833	s.Status = &v
18834	return s
18835}
18836
18837// An IAM role associated with the DB instance.
18838type AwsRdsDbInstanceAssociatedRole struct {
18839	_ struct{} `type:"structure"`
18840
18841	// The name of the feature associated with the IAM role.
18842	FeatureName *string `type:"string"`
18843
18844	// The ARN of the IAM role that is associated with the DB instance.
18845	RoleArn *string `type:"string"`
18846
18847	// Describes the state of the association between the IAM role and the DB instance.
18848	// The Status property returns one of the following values:
18849	//
18850	//    * ACTIVE - The IAM role ARN is associated with the DB instance and can
18851	//    be used to access other Amazon Web Services services on your behalf.
18852	//
18853	//    * PENDING - The IAM role ARN is being associated with the DB instance.
18854	//
18855	//    * INVALID - The IAM role ARN is associated with the DB instance. But the
18856	//    DB instance is unable to assume the IAM role in order to access other
18857	//    Amazon Web Services services on your behalf.
18858	Status *string `type:"string"`
18859}
18860
18861// String returns the string representation
18862func (s AwsRdsDbInstanceAssociatedRole) String() string {
18863	return awsutil.Prettify(s)
18864}
18865
18866// GoString returns the string representation
18867func (s AwsRdsDbInstanceAssociatedRole) GoString() string {
18868	return s.String()
18869}
18870
18871// SetFeatureName sets the FeatureName field's value.
18872func (s *AwsRdsDbInstanceAssociatedRole) SetFeatureName(v string) *AwsRdsDbInstanceAssociatedRole {
18873	s.FeatureName = &v
18874	return s
18875}
18876
18877// SetRoleArn sets the RoleArn field's value.
18878func (s *AwsRdsDbInstanceAssociatedRole) SetRoleArn(v string) *AwsRdsDbInstanceAssociatedRole {
18879	s.RoleArn = &v
18880	return s
18881}
18882
18883// SetStatus sets the Status field's value.
18884func (s *AwsRdsDbInstanceAssociatedRole) SetStatus(v string) *AwsRdsDbInstanceAssociatedRole {
18885	s.Status = &v
18886	return s
18887}
18888
18889// Contains the details of an Amazon RDS DB instance.
18890type AwsRdsDbInstanceDetails struct {
18891	_ struct{} `type:"structure"`
18892
18893	// The amount of storage (in gigabytes) to initially allocate for the DB instance.
18894	AllocatedStorage *int64 `type:"integer"`
18895
18896	// The IAM roles associated with the DB instance.
18897	AssociatedRoles []*AwsRdsDbInstanceAssociatedRole `type:"list"`
18898
18899	// Indicates whether minor version patches are applied automatically.
18900	AutoMinorVersionUpgrade *bool `type:"boolean"`
18901
18902	// The Availability Zone where the DB instance will be created.
18903	AvailabilityZone *string `type:"string"`
18904
18905	// The number of days for which to retain automated backups.
18906	BackupRetentionPeriod *int64 `type:"integer"`
18907
18908	// The identifier of the CA certificate for this DB instance.
18909	CACertificateIdentifier *string `type:"string"`
18910
18911	// The name of the character set that this DB instance is associated with.
18912	CharacterSetName *string `type:"string"`
18913
18914	// Whether to copy resource tags to snapshots of the DB instance.
18915	CopyTagsToSnapshot *bool `type:"boolean"`
18916
18917	// If the DB instance is a member of a DB cluster, contains the name of the
18918	// DB cluster that the DB instance is a member of.
18919	DBClusterIdentifier *string `type:"string"`
18920
18921	// Contains the name of the compute and memory capacity class of the DB instance.
18922	DBInstanceClass *string `type:"string"`
18923
18924	// Contains a user-supplied database identifier. This identifier is the unique
18925	// key that identifies a DB instance.
18926	DBInstanceIdentifier *string `type:"string"`
18927
18928	// The meaning of this parameter differs according to the database engine you
18929	// use.
18930	//
18931	// MySQL, MariaDB, SQL Server, PostgreSQL
18932	//
18933	// Contains the name of the initial database of this instance that was provided
18934	// at create time, if one was specified when the DB instance was created. This
18935	// same name is returned for the life of the DB instance.
18936	//
18937	// Oracle
18938	//
18939	// Contains the Oracle System ID (SID) of the created DB instance. Not shown
18940	// when the returned parameters do not apply to an Oracle DB instance.
18941	DBName *string `type:"string"`
18942
18943	// Specifies the port that the DB instance listens on. If the DB instance is
18944	// part of a DB cluster, this can be a different port than the DB cluster port.
18945	DbInstancePort *int64 `type:"integer"`
18946
18947	// The current status of the DB instance.
18948	DbInstanceStatus *string `type:"string"`
18949
18950	// A list of the DB parameter groups to assign to the DB instance.
18951	DbParameterGroups []*AwsRdsDbParameterGroup `type:"list"`
18952
18953	// A list of the DB security groups to assign to the DB instance.
18954	DbSecurityGroups []*string `type:"list"`
18955
18956	// Information about the subnet group that is associated with the DB instance.
18957	DbSubnetGroup *AwsRdsDbSubnetGroup `type:"structure"`
18958
18959	// The Amazon Web Services Region-unique, immutable identifier for the DB instance.
18960	// This identifier is found in CloudTrail log entries whenever the KMS key for
18961	// the DB instance is accessed.
18962	DbiResourceId *string `type:"string"`
18963
18964	// Indicates whether the DB instance has deletion protection enabled.
18965	//
18966	// When deletion protection is enabled, the database cannot be deleted.
18967	DeletionProtection *bool `type:"boolean"`
18968
18969	// The Active Directory domain membership records associated with the DB instance.
18970	DomainMemberships []*AwsRdsDbDomainMembership `type:"list"`
18971
18972	// A list of log types that this DB instance is configured to export to CloudWatch
18973	// Logs.
18974	EnabledCloudWatchLogsExports []*string `type:"list"`
18975
18976	// Specifies the connection endpoint.
18977	Endpoint *AwsRdsDbInstanceEndpoint `type:"structure"`
18978
18979	// Provides the name of the database engine to use for this DB instance.
18980	Engine *string `type:"string"`
18981
18982	// Indicates the database engine version.
18983	EngineVersion *string `type:"string"`
18984
18985	// The ARN of the CloudWatch Logs log stream that receives the enhanced monitoring
18986	// metrics data for the DB instance.
18987	EnhancedMonitoringResourceArn *string `type:"string"`
18988
18989	// True if mapping of IAM accounts to database accounts is enabled, and otherwise
18990	// false.
18991	//
18992	// IAM database authentication can be enabled for the following database engines.
18993	//
18994	//    * For MySQL 5.6, minor version 5.6.34 or higher
18995	//
18996	//    * For MySQL 5.7, minor version 5.7.16 or higher
18997	//
18998	//    * Aurora 5.6 or higher
18999	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
19000
19001	// Indicates when the DB instance was created.
19002	//
19003	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
19004	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
19005	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
19006	InstanceCreateTime *string `type:"string"`
19007
19008	// Specifies the provisioned IOPS (I/O operations per second) for this DB instance.
19009	Iops *int64 `type:"integer"`
19010
19011	// If StorageEncrypted is true, the KMS key identifier for the encrypted DB
19012	// instance.
19013	KmsKeyId *string `type:"string"`
19014
19015	// Specifies the latest time to which a database can be restored with point-in-time
19016	// restore.
19017	//
19018	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
19019	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
19020	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
19021	LatestRestorableTime *string `type:"string"`
19022
19023	// License model information for this DB instance.
19024	LicenseModel *string `type:"string"`
19025
19026	// Specifies the connection endpoint.
19027	ListenerEndpoint *AwsRdsDbInstanceEndpoint `type:"structure"`
19028
19029	// The master user name of the DB instance.
19030	MasterUsername *string `type:"string"`
19031
19032	// The upper limit to which Amazon RDS can automatically scale the storage of
19033	// the DB instance.
19034	MaxAllocatedStorage *int64 `type:"integer"`
19035
19036	// The interval, in seconds, between points when enhanced monitoring metrics
19037	// are collected for the DB instance.
19038	MonitoringInterval *int64 `type:"integer"`
19039
19040	// The ARN for the IAM role that permits Amazon RDS to send enhanced monitoring
19041	// metrics to CloudWatch Logs.
19042	MonitoringRoleArn *string `type:"string"`
19043
19044	// Whether the DB instance is a multiple Availability Zone deployment.
19045	MultiAz *bool `type:"boolean"`
19046
19047	// The list of option group memberships for this DB instance.
19048	OptionGroupMemberships []*AwsRdsDbOptionGroupMembership `type:"list"`
19049
19050	// Changes to the DB instance that are currently pending.
19051	PendingModifiedValues *AwsRdsDbPendingModifiedValues `type:"structure"`
19052
19053	// Indicates whether Performance Insights is enabled for the DB instance.
19054	PerformanceInsightsEnabled *bool `type:"boolean"`
19055
19056	// The identifier of the KMS key used to encrypt the Performance Insights data.
19057	PerformanceInsightsKmsKeyId *string `type:"string"`
19058
19059	// The number of days to retain Performance Insights data.
19060	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
19061
19062	// The range of time each day when automated backups are created, if automated
19063	// backups are enabled.
19064	//
19065	// Uses the format HH:MM-HH:MM. For example, 04:52-05:22.
19066	PreferredBackupWindow *string `type:"string"`
19067
19068	// The weekly time range during which system maintenance can occur, in Universal
19069	// Coordinated Time (UTC).
19070	//
19071	// Uses the format <day>:HH:MM-<day>:HH:MM.
19072	//
19073	// For the day values, use mon|tue|wed|thu|fri|sat|sun.
19074	//
19075	// For example, sun:09:32-sun:10:02.
19076	PreferredMaintenanceWindow *string `type:"string"`
19077
19078	// The number of CPU cores and the number of threads per core for the DB instance
19079	// class of the DB instance.
19080	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
19081
19082	// The order in which to promote an Aurora replica to the primary instance after
19083	// a failure of the existing primary instance.
19084	PromotionTier *int64 `type:"integer"`
19085
19086	// Specifies the accessibility options for the DB instance.
19087	//
19088	// A value of true specifies an Internet-facing instance with a publicly resolvable
19089	// DNS name, which resolves to a public IP address.
19090	//
19091	// A value of false specifies an internal instance with a DNS name that resolves
19092	// to a private IP address.
19093	PubliclyAccessible *bool `type:"boolean"`
19094
19095	// List of identifiers of Aurora DB clusters to which the RDS DB instance is
19096	// replicated as a read replica.
19097	ReadReplicaDBClusterIdentifiers []*string `type:"list"`
19098
19099	// List of identifiers of the read replicas associated with this DB instance.
19100	ReadReplicaDBInstanceIdentifiers []*string `type:"list"`
19101
19102	// If this DB instance is a read replica, contains the identifier of the source
19103	// DB instance.
19104	ReadReplicaSourceDBInstanceIdentifier *string `type:"string"`
19105
19106	// For a DB instance with multi-Availability Zone support, the name of the secondary
19107	// Availability Zone.
19108	SecondaryAvailabilityZone *string `type:"string"`
19109
19110	// The status of a read replica. If the instance isn't a read replica, this
19111	// is empty.
19112	StatusInfos []*AwsRdsDbStatusInfo `type:"list"`
19113
19114	// Specifies whether the DB instance is encrypted.
19115	StorageEncrypted *bool `type:"boolean"`
19116
19117	// The storage type for the DB instance.
19118	StorageType *string `type:"string"`
19119
19120	// The ARN from the key store with which the instance is associated for TDE
19121	// encryption.
19122	TdeCredentialArn *string `type:"string"`
19123
19124	// The time zone of the DB instance.
19125	Timezone *string `type:"string"`
19126
19127	// A list of VPC security groups that the DB instance belongs to.
19128	VpcSecurityGroups []*AwsRdsDbInstanceVpcSecurityGroup `type:"list"`
19129}
19130
19131// String returns the string representation
19132func (s AwsRdsDbInstanceDetails) String() string {
19133	return awsutil.Prettify(s)
19134}
19135
19136// GoString returns the string representation
19137func (s AwsRdsDbInstanceDetails) GoString() string {
19138	return s.String()
19139}
19140
19141// SetAllocatedStorage sets the AllocatedStorage field's value.
19142func (s *AwsRdsDbInstanceDetails) SetAllocatedStorage(v int64) *AwsRdsDbInstanceDetails {
19143	s.AllocatedStorage = &v
19144	return s
19145}
19146
19147// SetAssociatedRoles sets the AssociatedRoles field's value.
19148func (s *AwsRdsDbInstanceDetails) SetAssociatedRoles(v []*AwsRdsDbInstanceAssociatedRole) *AwsRdsDbInstanceDetails {
19149	s.AssociatedRoles = v
19150	return s
19151}
19152
19153// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
19154func (s *AwsRdsDbInstanceDetails) SetAutoMinorVersionUpgrade(v bool) *AwsRdsDbInstanceDetails {
19155	s.AutoMinorVersionUpgrade = &v
19156	return s
19157}
19158
19159// SetAvailabilityZone sets the AvailabilityZone field's value.
19160func (s *AwsRdsDbInstanceDetails) SetAvailabilityZone(v string) *AwsRdsDbInstanceDetails {
19161	s.AvailabilityZone = &v
19162	return s
19163}
19164
19165// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
19166func (s *AwsRdsDbInstanceDetails) SetBackupRetentionPeriod(v int64) *AwsRdsDbInstanceDetails {
19167	s.BackupRetentionPeriod = &v
19168	return s
19169}
19170
19171// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
19172func (s *AwsRdsDbInstanceDetails) SetCACertificateIdentifier(v string) *AwsRdsDbInstanceDetails {
19173	s.CACertificateIdentifier = &v
19174	return s
19175}
19176
19177// SetCharacterSetName sets the CharacterSetName field's value.
19178func (s *AwsRdsDbInstanceDetails) SetCharacterSetName(v string) *AwsRdsDbInstanceDetails {
19179	s.CharacterSetName = &v
19180	return s
19181}
19182
19183// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
19184func (s *AwsRdsDbInstanceDetails) SetCopyTagsToSnapshot(v bool) *AwsRdsDbInstanceDetails {
19185	s.CopyTagsToSnapshot = &v
19186	return s
19187}
19188
19189// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
19190func (s *AwsRdsDbInstanceDetails) SetDBClusterIdentifier(v string) *AwsRdsDbInstanceDetails {
19191	s.DBClusterIdentifier = &v
19192	return s
19193}
19194
19195// SetDBInstanceClass sets the DBInstanceClass field's value.
19196func (s *AwsRdsDbInstanceDetails) SetDBInstanceClass(v string) *AwsRdsDbInstanceDetails {
19197	s.DBInstanceClass = &v
19198	return s
19199}
19200
19201// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
19202func (s *AwsRdsDbInstanceDetails) SetDBInstanceIdentifier(v string) *AwsRdsDbInstanceDetails {
19203	s.DBInstanceIdentifier = &v
19204	return s
19205}
19206
19207// SetDBName sets the DBName field's value.
19208func (s *AwsRdsDbInstanceDetails) SetDBName(v string) *AwsRdsDbInstanceDetails {
19209	s.DBName = &v
19210	return s
19211}
19212
19213// SetDbInstancePort sets the DbInstancePort field's value.
19214func (s *AwsRdsDbInstanceDetails) SetDbInstancePort(v int64) *AwsRdsDbInstanceDetails {
19215	s.DbInstancePort = &v
19216	return s
19217}
19218
19219// SetDbInstanceStatus sets the DbInstanceStatus field's value.
19220func (s *AwsRdsDbInstanceDetails) SetDbInstanceStatus(v string) *AwsRdsDbInstanceDetails {
19221	s.DbInstanceStatus = &v
19222	return s
19223}
19224
19225// SetDbParameterGroups sets the DbParameterGroups field's value.
19226func (s *AwsRdsDbInstanceDetails) SetDbParameterGroups(v []*AwsRdsDbParameterGroup) *AwsRdsDbInstanceDetails {
19227	s.DbParameterGroups = v
19228	return s
19229}
19230
19231// SetDbSecurityGroups sets the DbSecurityGroups field's value.
19232func (s *AwsRdsDbInstanceDetails) SetDbSecurityGroups(v []*string) *AwsRdsDbInstanceDetails {
19233	s.DbSecurityGroups = v
19234	return s
19235}
19236
19237// SetDbSubnetGroup sets the DbSubnetGroup field's value.
19238func (s *AwsRdsDbInstanceDetails) SetDbSubnetGroup(v *AwsRdsDbSubnetGroup) *AwsRdsDbInstanceDetails {
19239	s.DbSubnetGroup = v
19240	return s
19241}
19242
19243// SetDbiResourceId sets the DbiResourceId field's value.
19244func (s *AwsRdsDbInstanceDetails) SetDbiResourceId(v string) *AwsRdsDbInstanceDetails {
19245	s.DbiResourceId = &v
19246	return s
19247}
19248
19249// SetDeletionProtection sets the DeletionProtection field's value.
19250func (s *AwsRdsDbInstanceDetails) SetDeletionProtection(v bool) *AwsRdsDbInstanceDetails {
19251	s.DeletionProtection = &v
19252	return s
19253}
19254
19255// SetDomainMemberships sets the DomainMemberships field's value.
19256func (s *AwsRdsDbInstanceDetails) SetDomainMemberships(v []*AwsRdsDbDomainMembership) *AwsRdsDbInstanceDetails {
19257	s.DomainMemberships = v
19258	return s
19259}
19260
19261// SetEnabledCloudWatchLogsExports sets the EnabledCloudWatchLogsExports field's value.
19262func (s *AwsRdsDbInstanceDetails) SetEnabledCloudWatchLogsExports(v []*string) *AwsRdsDbInstanceDetails {
19263	s.EnabledCloudWatchLogsExports = v
19264	return s
19265}
19266
19267// SetEndpoint sets the Endpoint field's value.
19268func (s *AwsRdsDbInstanceDetails) SetEndpoint(v *AwsRdsDbInstanceEndpoint) *AwsRdsDbInstanceDetails {
19269	s.Endpoint = v
19270	return s
19271}
19272
19273// SetEngine sets the Engine field's value.
19274func (s *AwsRdsDbInstanceDetails) SetEngine(v string) *AwsRdsDbInstanceDetails {
19275	s.Engine = &v
19276	return s
19277}
19278
19279// SetEngineVersion sets the EngineVersion field's value.
19280func (s *AwsRdsDbInstanceDetails) SetEngineVersion(v string) *AwsRdsDbInstanceDetails {
19281	s.EngineVersion = &v
19282	return s
19283}
19284
19285// SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value.
19286func (s *AwsRdsDbInstanceDetails) SetEnhancedMonitoringResourceArn(v string) *AwsRdsDbInstanceDetails {
19287	s.EnhancedMonitoringResourceArn = &v
19288	return s
19289}
19290
19291// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
19292func (s *AwsRdsDbInstanceDetails) SetIAMDatabaseAuthenticationEnabled(v bool) *AwsRdsDbInstanceDetails {
19293	s.IAMDatabaseAuthenticationEnabled = &v
19294	return s
19295}
19296
19297// SetInstanceCreateTime sets the InstanceCreateTime field's value.
19298func (s *AwsRdsDbInstanceDetails) SetInstanceCreateTime(v string) *AwsRdsDbInstanceDetails {
19299	s.InstanceCreateTime = &v
19300	return s
19301}
19302
19303// SetIops sets the Iops field's value.
19304func (s *AwsRdsDbInstanceDetails) SetIops(v int64) *AwsRdsDbInstanceDetails {
19305	s.Iops = &v
19306	return s
19307}
19308
19309// SetKmsKeyId sets the KmsKeyId field's value.
19310func (s *AwsRdsDbInstanceDetails) SetKmsKeyId(v string) *AwsRdsDbInstanceDetails {
19311	s.KmsKeyId = &v
19312	return s
19313}
19314
19315// SetLatestRestorableTime sets the LatestRestorableTime field's value.
19316func (s *AwsRdsDbInstanceDetails) SetLatestRestorableTime(v string) *AwsRdsDbInstanceDetails {
19317	s.LatestRestorableTime = &v
19318	return s
19319}
19320
19321// SetLicenseModel sets the LicenseModel field's value.
19322func (s *AwsRdsDbInstanceDetails) SetLicenseModel(v string) *AwsRdsDbInstanceDetails {
19323	s.LicenseModel = &v
19324	return s
19325}
19326
19327// SetListenerEndpoint sets the ListenerEndpoint field's value.
19328func (s *AwsRdsDbInstanceDetails) SetListenerEndpoint(v *AwsRdsDbInstanceEndpoint) *AwsRdsDbInstanceDetails {
19329	s.ListenerEndpoint = v
19330	return s
19331}
19332
19333// SetMasterUsername sets the MasterUsername field's value.
19334func (s *AwsRdsDbInstanceDetails) SetMasterUsername(v string) *AwsRdsDbInstanceDetails {
19335	s.MasterUsername = &v
19336	return s
19337}
19338
19339// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
19340func (s *AwsRdsDbInstanceDetails) SetMaxAllocatedStorage(v int64) *AwsRdsDbInstanceDetails {
19341	s.MaxAllocatedStorage = &v
19342	return s
19343}
19344
19345// SetMonitoringInterval sets the MonitoringInterval field's value.
19346func (s *AwsRdsDbInstanceDetails) SetMonitoringInterval(v int64) *AwsRdsDbInstanceDetails {
19347	s.MonitoringInterval = &v
19348	return s
19349}
19350
19351// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
19352func (s *AwsRdsDbInstanceDetails) SetMonitoringRoleArn(v string) *AwsRdsDbInstanceDetails {
19353	s.MonitoringRoleArn = &v
19354	return s
19355}
19356
19357// SetMultiAz sets the MultiAz field's value.
19358func (s *AwsRdsDbInstanceDetails) SetMultiAz(v bool) *AwsRdsDbInstanceDetails {
19359	s.MultiAz = &v
19360	return s
19361}
19362
19363// SetOptionGroupMemberships sets the OptionGroupMemberships field's value.
19364func (s *AwsRdsDbInstanceDetails) SetOptionGroupMemberships(v []*AwsRdsDbOptionGroupMembership) *AwsRdsDbInstanceDetails {
19365	s.OptionGroupMemberships = v
19366	return s
19367}
19368
19369// SetPendingModifiedValues sets the PendingModifiedValues field's value.
19370func (s *AwsRdsDbInstanceDetails) SetPendingModifiedValues(v *AwsRdsDbPendingModifiedValues) *AwsRdsDbInstanceDetails {
19371	s.PendingModifiedValues = v
19372	return s
19373}
19374
19375// SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value.
19376func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsEnabled(v bool) *AwsRdsDbInstanceDetails {
19377	s.PerformanceInsightsEnabled = &v
19378	return s
19379}
19380
19381// SetPerformanceInsightsKmsKeyId sets the PerformanceInsightsKmsKeyId field's value.
19382func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsKmsKeyId(v string) *AwsRdsDbInstanceDetails {
19383	s.PerformanceInsightsKmsKeyId = &v
19384	return s
19385}
19386
19387// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
19388func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsRetentionPeriod(v int64) *AwsRdsDbInstanceDetails {
19389	s.PerformanceInsightsRetentionPeriod = &v
19390	return s
19391}
19392
19393// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
19394func (s *AwsRdsDbInstanceDetails) SetPreferredBackupWindow(v string) *AwsRdsDbInstanceDetails {
19395	s.PreferredBackupWindow = &v
19396	return s
19397}
19398
19399// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
19400func (s *AwsRdsDbInstanceDetails) SetPreferredMaintenanceWindow(v string) *AwsRdsDbInstanceDetails {
19401	s.PreferredMaintenanceWindow = &v
19402	return s
19403}
19404
19405// SetProcessorFeatures sets the ProcessorFeatures field's value.
19406func (s *AwsRdsDbInstanceDetails) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbInstanceDetails {
19407	s.ProcessorFeatures = v
19408	return s
19409}
19410
19411// SetPromotionTier sets the PromotionTier field's value.
19412func (s *AwsRdsDbInstanceDetails) SetPromotionTier(v int64) *AwsRdsDbInstanceDetails {
19413	s.PromotionTier = &v
19414	return s
19415}
19416
19417// SetPubliclyAccessible sets the PubliclyAccessible field's value.
19418func (s *AwsRdsDbInstanceDetails) SetPubliclyAccessible(v bool) *AwsRdsDbInstanceDetails {
19419	s.PubliclyAccessible = &v
19420	return s
19421}
19422
19423// SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value.
19424func (s *AwsRdsDbInstanceDetails) SetReadReplicaDBClusterIdentifiers(v []*string) *AwsRdsDbInstanceDetails {
19425	s.ReadReplicaDBClusterIdentifiers = v
19426	return s
19427}
19428
19429// SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value.
19430func (s *AwsRdsDbInstanceDetails) SetReadReplicaDBInstanceIdentifiers(v []*string) *AwsRdsDbInstanceDetails {
19431	s.ReadReplicaDBInstanceIdentifiers = v
19432	return s
19433}
19434
19435// SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value.
19436func (s *AwsRdsDbInstanceDetails) SetReadReplicaSourceDBInstanceIdentifier(v string) *AwsRdsDbInstanceDetails {
19437	s.ReadReplicaSourceDBInstanceIdentifier = &v
19438	return s
19439}
19440
19441// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
19442func (s *AwsRdsDbInstanceDetails) SetSecondaryAvailabilityZone(v string) *AwsRdsDbInstanceDetails {
19443	s.SecondaryAvailabilityZone = &v
19444	return s
19445}
19446
19447// SetStatusInfos sets the StatusInfos field's value.
19448func (s *AwsRdsDbInstanceDetails) SetStatusInfos(v []*AwsRdsDbStatusInfo) *AwsRdsDbInstanceDetails {
19449	s.StatusInfos = v
19450	return s
19451}
19452
19453// SetStorageEncrypted sets the StorageEncrypted field's value.
19454func (s *AwsRdsDbInstanceDetails) SetStorageEncrypted(v bool) *AwsRdsDbInstanceDetails {
19455	s.StorageEncrypted = &v
19456	return s
19457}
19458
19459// SetStorageType sets the StorageType field's value.
19460func (s *AwsRdsDbInstanceDetails) SetStorageType(v string) *AwsRdsDbInstanceDetails {
19461	s.StorageType = &v
19462	return s
19463}
19464
19465// SetTdeCredentialArn sets the TdeCredentialArn field's value.
19466func (s *AwsRdsDbInstanceDetails) SetTdeCredentialArn(v string) *AwsRdsDbInstanceDetails {
19467	s.TdeCredentialArn = &v
19468	return s
19469}
19470
19471// SetTimezone sets the Timezone field's value.
19472func (s *AwsRdsDbInstanceDetails) SetTimezone(v string) *AwsRdsDbInstanceDetails {
19473	s.Timezone = &v
19474	return s
19475}
19476
19477// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
19478func (s *AwsRdsDbInstanceDetails) SetVpcSecurityGroups(v []*AwsRdsDbInstanceVpcSecurityGroup) *AwsRdsDbInstanceDetails {
19479	s.VpcSecurityGroups = v
19480	return s
19481}
19482
19483// Specifies the connection endpoint.
19484type AwsRdsDbInstanceEndpoint struct {
19485	_ struct{} `type:"structure"`
19486
19487	// Specifies the DNS address of the DB instance.
19488	Address *string `type:"string"`
19489
19490	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
19491	HostedZoneId *string `type:"string"`
19492
19493	// Specifies the port that the database engine is listening on.
19494	Port *int64 `type:"integer"`
19495}
19496
19497// String returns the string representation
19498func (s AwsRdsDbInstanceEndpoint) String() string {
19499	return awsutil.Prettify(s)
19500}
19501
19502// GoString returns the string representation
19503func (s AwsRdsDbInstanceEndpoint) GoString() string {
19504	return s.String()
19505}
19506
19507// SetAddress sets the Address field's value.
19508func (s *AwsRdsDbInstanceEndpoint) SetAddress(v string) *AwsRdsDbInstanceEndpoint {
19509	s.Address = &v
19510	return s
19511}
19512
19513// SetHostedZoneId sets the HostedZoneId field's value.
19514func (s *AwsRdsDbInstanceEndpoint) SetHostedZoneId(v string) *AwsRdsDbInstanceEndpoint {
19515	s.HostedZoneId = &v
19516	return s
19517}
19518
19519// SetPort sets the Port field's value.
19520func (s *AwsRdsDbInstanceEndpoint) SetPort(v int64) *AwsRdsDbInstanceEndpoint {
19521	s.Port = &v
19522	return s
19523}
19524
19525// A VPC security groups that the DB instance belongs to.
19526type AwsRdsDbInstanceVpcSecurityGroup struct {
19527	_ struct{} `type:"structure"`
19528
19529	// The status of the VPC security group.
19530	Status *string `type:"string"`
19531
19532	// The name of the VPC security group.
19533	VpcSecurityGroupId *string `type:"string"`
19534}
19535
19536// String returns the string representation
19537func (s AwsRdsDbInstanceVpcSecurityGroup) String() string {
19538	return awsutil.Prettify(s)
19539}
19540
19541// GoString returns the string representation
19542func (s AwsRdsDbInstanceVpcSecurityGroup) GoString() string {
19543	return s.String()
19544}
19545
19546// SetStatus sets the Status field's value.
19547func (s *AwsRdsDbInstanceVpcSecurityGroup) SetStatus(v string) *AwsRdsDbInstanceVpcSecurityGroup {
19548	s.Status = &v
19549	return s
19550}
19551
19552// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
19553func (s *AwsRdsDbInstanceVpcSecurityGroup) SetVpcSecurityGroupId(v string) *AwsRdsDbInstanceVpcSecurityGroup {
19554	s.VpcSecurityGroupId = &v
19555	return s
19556}
19557
19558// An option group membership.
19559type AwsRdsDbOptionGroupMembership struct {
19560	_ struct{} `type:"structure"`
19561
19562	// The name of the option group.
19563	OptionGroupName *string `type:"string"`
19564
19565	// The status of the option group membership.
19566	Status *string `type:"string"`
19567}
19568
19569// String returns the string representation
19570func (s AwsRdsDbOptionGroupMembership) String() string {
19571	return awsutil.Prettify(s)
19572}
19573
19574// GoString returns the string representation
19575func (s AwsRdsDbOptionGroupMembership) GoString() string {
19576	return s.String()
19577}
19578
19579// SetOptionGroupName sets the OptionGroupName field's value.
19580func (s *AwsRdsDbOptionGroupMembership) SetOptionGroupName(v string) *AwsRdsDbOptionGroupMembership {
19581	s.OptionGroupName = &v
19582	return s
19583}
19584
19585// SetStatus sets the Status field's value.
19586func (s *AwsRdsDbOptionGroupMembership) SetStatus(v string) *AwsRdsDbOptionGroupMembership {
19587	s.Status = &v
19588	return s
19589}
19590
19591// Provides information about a parameter group for a DB instance.
19592type AwsRdsDbParameterGroup struct {
19593	_ struct{} `type:"structure"`
19594
19595	// The name of the parameter group.
19596	DbParameterGroupName *string `type:"string"`
19597
19598	// The status of parameter updates.
19599	ParameterApplyStatus *string `type:"string"`
19600}
19601
19602// String returns the string representation
19603func (s AwsRdsDbParameterGroup) String() string {
19604	return awsutil.Prettify(s)
19605}
19606
19607// GoString returns the string representation
19608func (s AwsRdsDbParameterGroup) GoString() string {
19609	return s.String()
19610}
19611
19612// SetDbParameterGroupName sets the DbParameterGroupName field's value.
19613func (s *AwsRdsDbParameterGroup) SetDbParameterGroupName(v string) *AwsRdsDbParameterGroup {
19614	s.DbParameterGroupName = &v
19615	return s
19616}
19617
19618// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
19619func (s *AwsRdsDbParameterGroup) SetParameterApplyStatus(v string) *AwsRdsDbParameterGroup {
19620	s.ParameterApplyStatus = &v
19621	return s
19622}
19623
19624// Changes to a DB instance that are currently pending.
19625type AwsRdsDbPendingModifiedValues struct {
19626	_ struct{} `type:"structure"`
19627
19628	// The new value of the allocated storage for the DB instance.
19629	AllocatedStorage *int64 `type:"integer"`
19630
19631	// The new backup retention period for the DB instance.
19632	BackupRetentionPeriod *int64 `type:"integer"`
19633
19634	// The new CA certificate identifier for the DB instance.
19635	CaCertificateIdentifier *string `type:"string"`
19636
19637	// The new DB instance class for the DB instance.
19638	DbInstanceClass *string `type:"string"`
19639
19640	// The new DB instance identifier for the DB instance.
19641	DbInstanceIdentifier *string `type:"string"`
19642
19643	// The name of the new subnet group for the DB instance.
19644	DbSubnetGroupName *string `type:"string"`
19645
19646	// The new engine version for the DB instance.
19647	EngineVersion *string `type:"string"`
19648
19649	// The new provisioned IOPS value for the DB instance.
19650	Iops *int64 `type:"integer"`
19651
19652	// The new license model value for the DB instance.
19653	LicenseModel *string `type:"string"`
19654
19655	// The new master user password for the DB instance.
19656	MasterUserPassword *string `type:"string"`
19657
19658	// Indicates that a single Availability Zone DB instance is changing to a multiple
19659	// Availability Zone deployment.
19660	MultiAZ *bool `type:"boolean"`
19661
19662	// A list of log types that are being enabled or disabled.
19663	PendingCloudWatchLogsExports *AwsRdsPendingCloudWatchLogsExports `type:"structure"`
19664
19665	// The new port for the DB instance.
19666	Port *int64 `type:"integer"`
19667
19668	// Processor features that are being updated.
19669	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
19670
19671	// The new storage type for the DB instance.
19672	StorageType *string `type:"string"`
19673}
19674
19675// String returns the string representation
19676func (s AwsRdsDbPendingModifiedValues) String() string {
19677	return awsutil.Prettify(s)
19678}
19679
19680// GoString returns the string representation
19681func (s AwsRdsDbPendingModifiedValues) GoString() string {
19682	return s.String()
19683}
19684
19685// SetAllocatedStorage sets the AllocatedStorage field's value.
19686func (s *AwsRdsDbPendingModifiedValues) SetAllocatedStorage(v int64) *AwsRdsDbPendingModifiedValues {
19687	s.AllocatedStorage = &v
19688	return s
19689}
19690
19691// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
19692func (s *AwsRdsDbPendingModifiedValues) SetBackupRetentionPeriod(v int64) *AwsRdsDbPendingModifiedValues {
19693	s.BackupRetentionPeriod = &v
19694	return s
19695}
19696
19697// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
19698func (s *AwsRdsDbPendingModifiedValues) SetCaCertificateIdentifier(v string) *AwsRdsDbPendingModifiedValues {
19699	s.CaCertificateIdentifier = &v
19700	return s
19701}
19702
19703// SetDbInstanceClass sets the DbInstanceClass field's value.
19704func (s *AwsRdsDbPendingModifiedValues) SetDbInstanceClass(v string) *AwsRdsDbPendingModifiedValues {
19705	s.DbInstanceClass = &v
19706	return s
19707}
19708
19709// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
19710func (s *AwsRdsDbPendingModifiedValues) SetDbInstanceIdentifier(v string) *AwsRdsDbPendingModifiedValues {
19711	s.DbInstanceIdentifier = &v
19712	return s
19713}
19714
19715// SetDbSubnetGroupName sets the DbSubnetGroupName field's value.
19716func (s *AwsRdsDbPendingModifiedValues) SetDbSubnetGroupName(v string) *AwsRdsDbPendingModifiedValues {
19717	s.DbSubnetGroupName = &v
19718	return s
19719}
19720
19721// SetEngineVersion sets the EngineVersion field's value.
19722func (s *AwsRdsDbPendingModifiedValues) SetEngineVersion(v string) *AwsRdsDbPendingModifiedValues {
19723	s.EngineVersion = &v
19724	return s
19725}
19726
19727// SetIops sets the Iops field's value.
19728func (s *AwsRdsDbPendingModifiedValues) SetIops(v int64) *AwsRdsDbPendingModifiedValues {
19729	s.Iops = &v
19730	return s
19731}
19732
19733// SetLicenseModel sets the LicenseModel field's value.
19734func (s *AwsRdsDbPendingModifiedValues) SetLicenseModel(v string) *AwsRdsDbPendingModifiedValues {
19735	s.LicenseModel = &v
19736	return s
19737}
19738
19739// SetMasterUserPassword sets the MasterUserPassword field's value.
19740func (s *AwsRdsDbPendingModifiedValues) SetMasterUserPassword(v string) *AwsRdsDbPendingModifiedValues {
19741	s.MasterUserPassword = &v
19742	return s
19743}
19744
19745// SetMultiAZ sets the MultiAZ field's value.
19746func (s *AwsRdsDbPendingModifiedValues) SetMultiAZ(v bool) *AwsRdsDbPendingModifiedValues {
19747	s.MultiAZ = &v
19748	return s
19749}
19750
19751// SetPendingCloudWatchLogsExports sets the PendingCloudWatchLogsExports field's value.
19752func (s *AwsRdsDbPendingModifiedValues) SetPendingCloudWatchLogsExports(v *AwsRdsPendingCloudWatchLogsExports) *AwsRdsDbPendingModifiedValues {
19753	s.PendingCloudWatchLogsExports = v
19754	return s
19755}
19756
19757// SetPort sets the Port field's value.
19758func (s *AwsRdsDbPendingModifiedValues) SetPort(v int64) *AwsRdsDbPendingModifiedValues {
19759	s.Port = &v
19760	return s
19761}
19762
19763// SetProcessorFeatures sets the ProcessorFeatures field's value.
19764func (s *AwsRdsDbPendingModifiedValues) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbPendingModifiedValues {
19765	s.ProcessorFeatures = v
19766	return s
19767}
19768
19769// SetStorageType sets the StorageType field's value.
19770func (s *AwsRdsDbPendingModifiedValues) SetStorageType(v string) *AwsRdsDbPendingModifiedValues {
19771	s.StorageType = &v
19772	return s
19773}
19774
19775// A processor feature.
19776type AwsRdsDbProcessorFeature struct {
19777	_ struct{} `type:"structure"`
19778
19779	// The name of the processor feature.
19780	Name *string `type:"string"`
19781
19782	// The value of the processor feature.
19783	Value *string `type:"string"`
19784}
19785
19786// String returns the string representation
19787func (s AwsRdsDbProcessorFeature) String() string {
19788	return awsutil.Prettify(s)
19789}
19790
19791// GoString returns the string representation
19792func (s AwsRdsDbProcessorFeature) GoString() string {
19793	return s.String()
19794}
19795
19796// SetName sets the Name field's value.
19797func (s *AwsRdsDbProcessorFeature) SetName(v string) *AwsRdsDbProcessorFeature {
19798	s.Name = &v
19799	return s
19800}
19801
19802// SetValue sets the Value field's value.
19803func (s *AwsRdsDbProcessorFeature) SetValue(v string) *AwsRdsDbProcessorFeature {
19804	s.Value = &v
19805	return s
19806}
19807
19808// Provides details about an Amazon RDS DB cluster snapshot.
19809type AwsRdsDbSnapshotDetails struct {
19810	_ struct{} `type:"structure"`
19811
19812	// The amount of storage (in gigabytes) to be initially allocated for the database
19813	// instance.
19814	AllocatedStorage *int64 `type:"integer"`
19815
19816	// Specifies the name of the Availability Zone in which the DB instance was
19817	// located at the time of the DB snapshot.
19818	AvailabilityZone *string `type:"string"`
19819
19820	// A name for the DB instance.
19821	DbInstanceIdentifier *string `type:"string"`
19822
19823	// The name or ARN of the DB snapshot that is used to restore the DB instance.
19824	DbSnapshotIdentifier *string `type:"string"`
19825
19826	// The identifier for the source DB instance.
19827	DbiResourceId *string `type:"string"`
19828
19829	// Whether the DB snapshot is encrypted.
19830	Encrypted *bool `type:"boolean"`
19831
19832	// The name of the database engine to use for this DB instance.
19833	Engine *string `type:"string"`
19834
19835	// The version of the database engine.
19836	EngineVersion *string `type:"string"`
19837
19838	// Whether mapping of IAM accounts to database accounts is enabled.
19839	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
19840
19841	// Specifies the time in Coordinated Universal Time (UTC) when the DB instance,
19842	// from which the snapshot was taken, was created.
19843	InstanceCreateTime *string `type:"string"`
19844
19845	// The provisioned IOPS (I/O operations per second) value of the DB instance
19846	// at the time of the snapshot.
19847	Iops *int64 `type:"integer"`
19848
19849	// If Encrypted is true, the KMS key identifier for the encrypted DB snapshot.
19850	KmsKeyId *string `type:"string"`
19851
19852	// License model information for the restored DB instance.
19853	LicenseModel *string `type:"string"`
19854
19855	// The master user name for the DB snapshot.
19856	MasterUsername *string `type:"string"`
19857
19858	// The option group name for the DB snapshot.
19859	OptionGroupName *string `type:"string"`
19860
19861	// The percentage of the estimated data that has been transferred.
19862	PercentProgress *int64 `type:"integer"`
19863
19864	// The port that the database engine was listening on at the time of the snapshot.
19865	Port *int64 `type:"integer"`
19866
19867	// The number of CPU cores and the number of threads per core for the DB instance
19868	// class of the DB instance.
19869	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
19870
19871	// When the snapshot was taken in Coordinated Universal Time (UTC).
19872	SnapshotCreateTime *string `type:"string"`
19873
19874	// The type of the DB snapshot.
19875	SnapshotType *string `type:"string"`
19876
19877	// The DB snapshot ARN that the DB snapshot was copied from.
19878	SourceDbSnapshotIdentifier *string `type:"string"`
19879
19880	// The Amazon Web Services Region that the DB snapshot was created in or copied
19881	// from.
19882	SourceRegion *string `type:"string"`
19883
19884	// The status of this DB snapshot.
19885	Status *string `type:"string"`
19886
19887	// The storage type associated with the DB snapshot.
19888	StorageType *string `type:"string"`
19889
19890	// The ARN from the key store with which to associate the instance for TDE encryption.
19891	TdeCredentialArn *string `type:"string"`
19892
19893	// The time zone of the DB snapshot.
19894	Timezone *string `type:"string"`
19895
19896	// The VPC ID associated with the DB snapshot.
19897	VpcId *string `type:"string"`
19898}
19899
19900// String returns the string representation
19901func (s AwsRdsDbSnapshotDetails) String() string {
19902	return awsutil.Prettify(s)
19903}
19904
19905// GoString returns the string representation
19906func (s AwsRdsDbSnapshotDetails) GoString() string {
19907	return s.String()
19908}
19909
19910// SetAllocatedStorage sets the AllocatedStorage field's value.
19911func (s *AwsRdsDbSnapshotDetails) SetAllocatedStorage(v int64) *AwsRdsDbSnapshotDetails {
19912	s.AllocatedStorage = &v
19913	return s
19914}
19915
19916// SetAvailabilityZone sets the AvailabilityZone field's value.
19917func (s *AwsRdsDbSnapshotDetails) SetAvailabilityZone(v string) *AwsRdsDbSnapshotDetails {
19918	s.AvailabilityZone = &v
19919	return s
19920}
19921
19922// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
19923func (s *AwsRdsDbSnapshotDetails) SetDbInstanceIdentifier(v string) *AwsRdsDbSnapshotDetails {
19924	s.DbInstanceIdentifier = &v
19925	return s
19926}
19927
19928// SetDbSnapshotIdentifier sets the DbSnapshotIdentifier field's value.
19929func (s *AwsRdsDbSnapshotDetails) SetDbSnapshotIdentifier(v string) *AwsRdsDbSnapshotDetails {
19930	s.DbSnapshotIdentifier = &v
19931	return s
19932}
19933
19934// SetDbiResourceId sets the DbiResourceId field's value.
19935func (s *AwsRdsDbSnapshotDetails) SetDbiResourceId(v string) *AwsRdsDbSnapshotDetails {
19936	s.DbiResourceId = &v
19937	return s
19938}
19939
19940// SetEncrypted sets the Encrypted field's value.
19941func (s *AwsRdsDbSnapshotDetails) SetEncrypted(v bool) *AwsRdsDbSnapshotDetails {
19942	s.Encrypted = &v
19943	return s
19944}
19945
19946// SetEngine sets the Engine field's value.
19947func (s *AwsRdsDbSnapshotDetails) SetEngine(v string) *AwsRdsDbSnapshotDetails {
19948	s.Engine = &v
19949	return s
19950}
19951
19952// SetEngineVersion sets the EngineVersion field's value.
19953func (s *AwsRdsDbSnapshotDetails) SetEngineVersion(v string) *AwsRdsDbSnapshotDetails {
19954	s.EngineVersion = &v
19955	return s
19956}
19957
19958// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
19959func (s *AwsRdsDbSnapshotDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbSnapshotDetails {
19960	s.IamDatabaseAuthenticationEnabled = &v
19961	return s
19962}
19963
19964// SetInstanceCreateTime sets the InstanceCreateTime field's value.
19965func (s *AwsRdsDbSnapshotDetails) SetInstanceCreateTime(v string) *AwsRdsDbSnapshotDetails {
19966	s.InstanceCreateTime = &v
19967	return s
19968}
19969
19970// SetIops sets the Iops field's value.
19971func (s *AwsRdsDbSnapshotDetails) SetIops(v int64) *AwsRdsDbSnapshotDetails {
19972	s.Iops = &v
19973	return s
19974}
19975
19976// SetKmsKeyId sets the KmsKeyId field's value.
19977func (s *AwsRdsDbSnapshotDetails) SetKmsKeyId(v string) *AwsRdsDbSnapshotDetails {
19978	s.KmsKeyId = &v
19979	return s
19980}
19981
19982// SetLicenseModel sets the LicenseModel field's value.
19983func (s *AwsRdsDbSnapshotDetails) SetLicenseModel(v string) *AwsRdsDbSnapshotDetails {
19984	s.LicenseModel = &v
19985	return s
19986}
19987
19988// SetMasterUsername sets the MasterUsername field's value.
19989func (s *AwsRdsDbSnapshotDetails) SetMasterUsername(v string) *AwsRdsDbSnapshotDetails {
19990	s.MasterUsername = &v
19991	return s
19992}
19993
19994// SetOptionGroupName sets the OptionGroupName field's value.
19995func (s *AwsRdsDbSnapshotDetails) SetOptionGroupName(v string) *AwsRdsDbSnapshotDetails {
19996	s.OptionGroupName = &v
19997	return s
19998}
19999
20000// SetPercentProgress sets the PercentProgress field's value.
20001func (s *AwsRdsDbSnapshotDetails) SetPercentProgress(v int64) *AwsRdsDbSnapshotDetails {
20002	s.PercentProgress = &v
20003	return s
20004}
20005
20006// SetPort sets the Port field's value.
20007func (s *AwsRdsDbSnapshotDetails) SetPort(v int64) *AwsRdsDbSnapshotDetails {
20008	s.Port = &v
20009	return s
20010}
20011
20012// SetProcessorFeatures sets the ProcessorFeatures field's value.
20013func (s *AwsRdsDbSnapshotDetails) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbSnapshotDetails {
20014	s.ProcessorFeatures = v
20015	return s
20016}
20017
20018// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
20019func (s *AwsRdsDbSnapshotDetails) SetSnapshotCreateTime(v string) *AwsRdsDbSnapshotDetails {
20020	s.SnapshotCreateTime = &v
20021	return s
20022}
20023
20024// SetSnapshotType sets the SnapshotType field's value.
20025func (s *AwsRdsDbSnapshotDetails) SetSnapshotType(v string) *AwsRdsDbSnapshotDetails {
20026	s.SnapshotType = &v
20027	return s
20028}
20029
20030// SetSourceDbSnapshotIdentifier sets the SourceDbSnapshotIdentifier field's value.
20031func (s *AwsRdsDbSnapshotDetails) SetSourceDbSnapshotIdentifier(v string) *AwsRdsDbSnapshotDetails {
20032	s.SourceDbSnapshotIdentifier = &v
20033	return s
20034}
20035
20036// SetSourceRegion sets the SourceRegion field's value.
20037func (s *AwsRdsDbSnapshotDetails) SetSourceRegion(v string) *AwsRdsDbSnapshotDetails {
20038	s.SourceRegion = &v
20039	return s
20040}
20041
20042// SetStatus sets the Status field's value.
20043func (s *AwsRdsDbSnapshotDetails) SetStatus(v string) *AwsRdsDbSnapshotDetails {
20044	s.Status = &v
20045	return s
20046}
20047
20048// SetStorageType sets the StorageType field's value.
20049func (s *AwsRdsDbSnapshotDetails) SetStorageType(v string) *AwsRdsDbSnapshotDetails {
20050	s.StorageType = &v
20051	return s
20052}
20053
20054// SetTdeCredentialArn sets the TdeCredentialArn field's value.
20055func (s *AwsRdsDbSnapshotDetails) SetTdeCredentialArn(v string) *AwsRdsDbSnapshotDetails {
20056	s.TdeCredentialArn = &v
20057	return s
20058}
20059
20060// SetTimezone sets the Timezone field's value.
20061func (s *AwsRdsDbSnapshotDetails) SetTimezone(v string) *AwsRdsDbSnapshotDetails {
20062	s.Timezone = &v
20063	return s
20064}
20065
20066// SetVpcId sets the VpcId field's value.
20067func (s *AwsRdsDbSnapshotDetails) SetVpcId(v string) *AwsRdsDbSnapshotDetails {
20068	s.VpcId = &v
20069	return s
20070}
20071
20072// Information about the status of a read replica.
20073type AwsRdsDbStatusInfo struct {
20074	_ struct{} `type:"structure"`
20075
20076	// If the read replica is currently in an error state, provides the error details.
20077	Message *string `type:"string"`
20078
20079	// Whether the read replica instance is operating normally.
20080	Normal *bool `type:"boolean"`
20081
20082	// The status of the read replica instance.
20083	Status *string `type:"string"`
20084
20085	// The type of status. For a read replica, the status type is read replication.
20086	StatusType *string `type:"string"`
20087}
20088
20089// String returns the string representation
20090func (s AwsRdsDbStatusInfo) String() string {
20091	return awsutil.Prettify(s)
20092}
20093
20094// GoString returns the string representation
20095func (s AwsRdsDbStatusInfo) GoString() string {
20096	return s.String()
20097}
20098
20099// SetMessage sets the Message field's value.
20100func (s *AwsRdsDbStatusInfo) SetMessage(v string) *AwsRdsDbStatusInfo {
20101	s.Message = &v
20102	return s
20103}
20104
20105// SetNormal sets the Normal field's value.
20106func (s *AwsRdsDbStatusInfo) SetNormal(v bool) *AwsRdsDbStatusInfo {
20107	s.Normal = &v
20108	return s
20109}
20110
20111// SetStatus sets the Status field's value.
20112func (s *AwsRdsDbStatusInfo) SetStatus(v string) *AwsRdsDbStatusInfo {
20113	s.Status = &v
20114	return s
20115}
20116
20117// SetStatusType sets the StatusType field's value.
20118func (s *AwsRdsDbStatusInfo) SetStatusType(v string) *AwsRdsDbStatusInfo {
20119	s.StatusType = &v
20120	return s
20121}
20122
20123// Information about the subnet group for the database instance.
20124type AwsRdsDbSubnetGroup struct {
20125	_ struct{} `type:"structure"`
20126
20127	// The ARN of the subnet group.
20128	DbSubnetGroupArn *string `type:"string"`
20129
20130	// The description of the subnet group.
20131	DbSubnetGroupDescription *string `type:"string"`
20132
20133	// The name of the subnet group.
20134	DbSubnetGroupName *string `type:"string"`
20135
20136	// The status of the subnet group.
20137	SubnetGroupStatus *string `type:"string"`
20138
20139	// A list of subnets in the subnet group.
20140	Subnets []*AwsRdsDbSubnetGroupSubnet `type:"list"`
20141
20142	// The VPC ID of the subnet group.
20143	VpcId *string `type:"string"`
20144}
20145
20146// String returns the string representation
20147func (s AwsRdsDbSubnetGroup) String() string {
20148	return awsutil.Prettify(s)
20149}
20150
20151// GoString returns the string representation
20152func (s AwsRdsDbSubnetGroup) GoString() string {
20153	return s.String()
20154}
20155
20156// SetDbSubnetGroupArn sets the DbSubnetGroupArn field's value.
20157func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupArn(v string) *AwsRdsDbSubnetGroup {
20158	s.DbSubnetGroupArn = &v
20159	return s
20160}
20161
20162// SetDbSubnetGroupDescription sets the DbSubnetGroupDescription field's value.
20163func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupDescription(v string) *AwsRdsDbSubnetGroup {
20164	s.DbSubnetGroupDescription = &v
20165	return s
20166}
20167
20168// SetDbSubnetGroupName sets the DbSubnetGroupName field's value.
20169func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupName(v string) *AwsRdsDbSubnetGroup {
20170	s.DbSubnetGroupName = &v
20171	return s
20172}
20173
20174// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
20175func (s *AwsRdsDbSubnetGroup) SetSubnetGroupStatus(v string) *AwsRdsDbSubnetGroup {
20176	s.SubnetGroupStatus = &v
20177	return s
20178}
20179
20180// SetSubnets sets the Subnets field's value.
20181func (s *AwsRdsDbSubnetGroup) SetSubnets(v []*AwsRdsDbSubnetGroupSubnet) *AwsRdsDbSubnetGroup {
20182	s.Subnets = v
20183	return s
20184}
20185
20186// SetVpcId sets the VpcId field's value.
20187func (s *AwsRdsDbSubnetGroup) SetVpcId(v string) *AwsRdsDbSubnetGroup {
20188	s.VpcId = &v
20189	return s
20190}
20191
20192// Information about a subnet in a subnet group.
20193type AwsRdsDbSubnetGroupSubnet struct {
20194	_ struct{} `type:"structure"`
20195
20196	// Information about the Availability Zone for a subnet in the subnet group.
20197	SubnetAvailabilityZone *AwsRdsDbSubnetGroupSubnetAvailabilityZone `type:"structure"`
20198
20199	// The identifier of a subnet in the subnet group.
20200	SubnetIdentifier *string `type:"string"`
20201
20202	// The status of a subnet in the subnet group.
20203	SubnetStatus *string `type:"string"`
20204}
20205
20206// String returns the string representation
20207func (s AwsRdsDbSubnetGroupSubnet) String() string {
20208	return awsutil.Prettify(s)
20209}
20210
20211// GoString returns the string representation
20212func (s AwsRdsDbSubnetGroupSubnet) GoString() string {
20213	return s.String()
20214}
20215
20216// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
20217func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetAvailabilityZone(v *AwsRdsDbSubnetGroupSubnetAvailabilityZone) *AwsRdsDbSubnetGroupSubnet {
20218	s.SubnetAvailabilityZone = v
20219	return s
20220}
20221
20222// SetSubnetIdentifier sets the SubnetIdentifier field's value.
20223func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetIdentifier(v string) *AwsRdsDbSubnetGroupSubnet {
20224	s.SubnetIdentifier = &v
20225	return s
20226}
20227
20228// SetSubnetStatus sets the SubnetStatus field's value.
20229func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetStatus(v string) *AwsRdsDbSubnetGroupSubnet {
20230	s.SubnetStatus = &v
20231	return s
20232}
20233
20234// An Availability Zone for a subnet in a subnet group.
20235type AwsRdsDbSubnetGroupSubnetAvailabilityZone struct {
20236	_ struct{} `type:"structure"`
20237
20238	// The name of the Availability Zone for a subnet in the subnet group.
20239	Name *string `type:"string"`
20240}
20241
20242// String returns the string representation
20243func (s AwsRdsDbSubnetGroupSubnetAvailabilityZone) String() string {
20244	return awsutil.Prettify(s)
20245}
20246
20247// GoString returns the string representation
20248func (s AwsRdsDbSubnetGroupSubnetAvailabilityZone) GoString() string {
20249	return s.String()
20250}
20251
20252// SetName sets the Name field's value.
20253func (s *AwsRdsDbSubnetGroupSubnetAvailabilityZone) SetName(v string) *AwsRdsDbSubnetGroupSubnetAvailabilityZone {
20254	s.Name = &v
20255	return s
20256}
20257
20258// Details about an Amazon RDS event notification subscription. The subscription
20259// allows Amazon RDS to post events to an SNS topic.
20260type AwsRdsEventSubscriptionDetails struct {
20261	_ struct{} `type:"structure"`
20262
20263	// The identifier of the account that is associated with the event notification
20264	// subscription.
20265	CustSubscriptionId *string `type:"string"`
20266
20267	// The identifier of the event notification subscription.
20268	CustomerAwsId *string `type:"string"`
20269
20270	// Whether the event notification subscription is enabled.
20271	Enabled *bool `type:"boolean"`
20272
20273	// The list of event categories for the event notification subscription.
20274	EventCategoriesList []*string `type:"list"`
20275
20276	// The ARN of the event notification subscription.
20277	EventSubscriptionArn *string `type:"string"`
20278
20279	// The ARN of the SNS topic to post the event notifications to.
20280	SnsTopicArn *string `type:"string"`
20281
20282	// A list of source identifiers for the event notification subscription.
20283	SourceIdsList []*string `type:"list"`
20284
20285	// The source type for the event notification subscription.
20286	SourceType *string `type:"string"`
20287
20288	// The status of the event notification subscription.
20289	//
20290	// Valid values: creating | modifying | deleting | active | no-permission |
20291	// topic-not-exist
20292	Status *string `type:"string"`
20293
20294	// The datetime when the event notification subscription was created.
20295	//
20296	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20297	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20298	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20299	SubscriptionCreationTime *string `type:"string"`
20300}
20301
20302// String returns the string representation
20303func (s AwsRdsEventSubscriptionDetails) String() string {
20304	return awsutil.Prettify(s)
20305}
20306
20307// GoString returns the string representation
20308func (s AwsRdsEventSubscriptionDetails) GoString() string {
20309	return s.String()
20310}
20311
20312// SetCustSubscriptionId sets the CustSubscriptionId field's value.
20313func (s *AwsRdsEventSubscriptionDetails) SetCustSubscriptionId(v string) *AwsRdsEventSubscriptionDetails {
20314	s.CustSubscriptionId = &v
20315	return s
20316}
20317
20318// SetCustomerAwsId sets the CustomerAwsId field's value.
20319func (s *AwsRdsEventSubscriptionDetails) SetCustomerAwsId(v string) *AwsRdsEventSubscriptionDetails {
20320	s.CustomerAwsId = &v
20321	return s
20322}
20323
20324// SetEnabled sets the Enabled field's value.
20325func (s *AwsRdsEventSubscriptionDetails) SetEnabled(v bool) *AwsRdsEventSubscriptionDetails {
20326	s.Enabled = &v
20327	return s
20328}
20329
20330// SetEventCategoriesList sets the EventCategoriesList field's value.
20331func (s *AwsRdsEventSubscriptionDetails) SetEventCategoriesList(v []*string) *AwsRdsEventSubscriptionDetails {
20332	s.EventCategoriesList = v
20333	return s
20334}
20335
20336// SetEventSubscriptionArn sets the EventSubscriptionArn field's value.
20337func (s *AwsRdsEventSubscriptionDetails) SetEventSubscriptionArn(v string) *AwsRdsEventSubscriptionDetails {
20338	s.EventSubscriptionArn = &v
20339	return s
20340}
20341
20342// SetSnsTopicArn sets the SnsTopicArn field's value.
20343func (s *AwsRdsEventSubscriptionDetails) SetSnsTopicArn(v string) *AwsRdsEventSubscriptionDetails {
20344	s.SnsTopicArn = &v
20345	return s
20346}
20347
20348// SetSourceIdsList sets the SourceIdsList field's value.
20349func (s *AwsRdsEventSubscriptionDetails) SetSourceIdsList(v []*string) *AwsRdsEventSubscriptionDetails {
20350	s.SourceIdsList = v
20351	return s
20352}
20353
20354// SetSourceType sets the SourceType field's value.
20355func (s *AwsRdsEventSubscriptionDetails) SetSourceType(v string) *AwsRdsEventSubscriptionDetails {
20356	s.SourceType = &v
20357	return s
20358}
20359
20360// SetStatus sets the Status field's value.
20361func (s *AwsRdsEventSubscriptionDetails) SetStatus(v string) *AwsRdsEventSubscriptionDetails {
20362	s.Status = &v
20363	return s
20364}
20365
20366// SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
20367func (s *AwsRdsEventSubscriptionDetails) SetSubscriptionCreationTime(v string) *AwsRdsEventSubscriptionDetails {
20368	s.SubscriptionCreationTime = &v
20369	return s
20370}
20371
20372// Identifies the log types to enable and disable.
20373type AwsRdsPendingCloudWatchLogsExports struct {
20374	_ struct{} `type:"structure"`
20375
20376	// A list of log types that are being disabled.
20377	LogTypesToDisable []*string `type:"list"`
20378
20379	// A list of log types that are being enabled.
20380	LogTypesToEnable []*string `type:"list"`
20381}
20382
20383// String returns the string representation
20384func (s AwsRdsPendingCloudWatchLogsExports) String() string {
20385	return awsutil.Prettify(s)
20386}
20387
20388// GoString returns the string representation
20389func (s AwsRdsPendingCloudWatchLogsExports) GoString() string {
20390	return s.String()
20391}
20392
20393// SetLogTypesToDisable sets the LogTypesToDisable field's value.
20394func (s *AwsRdsPendingCloudWatchLogsExports) SetLogTypesToDisable(v []*string) *AwsRdsPendingCloudWatchLogsExports {
20395	s.LogTypesToDisable = v
20396	return s
20397}
20398
20399// SetLogTypesToEnable sets the LogTypesToEnable field's value.
20400func (s *AwsRdsPendingCloudWatchLogsExports) SetLogTypesToEnable(v []*string) *AwsRdsPendingCloudWatchLogsExports {
20401	s.LogTypesToEnable = v
20402	return s
20403}
20404
20405// A node in an Amazon Redshift cluster.
20406type AwsRedshiftClusterClusterNode struct {
20407	_ struct{} `type:"structure"`
20408
20409	// The role of the node. A node might be a leader node or a compute node.
20410	NodeRole *string `type:"string"`
20411
20412	// The private IP address of the node.
20413	PrivateIpAddress *string `type:"string"`
20414
20415	// The public IP address of the node.
20416	PublicIpAddress *string `type:"string"`
20417}
20418
20419// String returns the string representation
20420func (s AwsRedshiftClusterClusterNode) String() string {
20421	return awsutil.Prettify(s)
20422}
20423
20424// GoString returns the string representation
20425func (s AwsRedshiftClusterClusterNode) GoString() string {
20426	return s.String()
20427}
20428
20429// SetNodeRole sets the NodeRole field's value.
20430func (s *AwsRedshiftClusterClusterNode) SetNodeRole(v string) *AwsRedshiftClusterClusterNode {
20431	s.NodeRole = &v
20432	return s
20433}
20434
20435// SetPrivateIpAddress sets the PrivateIpAddress field's value.
20436func (s *AwsRedshiftClusterClusterNode) SetPrivateIpAddress(v string) *AwsRedshiftClusterClusterNode {
20437	s.PrivateIpAddress = &v
20438	return s
20439}
20440
20441// SetPublicIpAddress sets the PublicIpAddress field's value.
20442func (s *AwsRedshiftClusterClusterNode) SetPublicIpAddress(v string) *AwsRedshiftClusterClusterNode {
20443	s.PublicIpAddress = &v
20444	return s
20445}
20446
20447// A cluster parameter group that is associated with an Amazon Redshift cluster.
20448type AwsRedshiftClusterClusterParameterGroup struct {
20449	_ struct{} `type:"structure"`
20450
20451	// The list of parameter statuses.
20452	ClusterParameterStatusList []*AwsRedshiftClusterClusterParameterStatus `type:"list"`
20453
20454	// The status of updates to the parameters.
20455	ParameterApplyStatus *string `type:"string"`
20456
20457	// The name of the parameter group.
20458	ParameterGroupName *string `type:"string"`
20459}
20460
20461// String returns the string representation
20462func (s AwsRedshiftClusterClusterParameterGroup) String() string {
20463	return awsutil.Prettify(s)
20464}
20465
20466// GoString returns the string representation
20467func (s AwsRedshiftClusterClusterParameterGroup) GoString() string {
20468	return s.String()
20469}
20470
20471// SetClusterParameterStatusList sets the ClusterParameterStatusList field's value.
20472func (s *AwsRedshiftClusterClusterParameterGroup) SetClusterParameterStatusList(v []*AwsRedshiftClusterClusterParameterStatus) *AwsRedshiftClusterClusterParameterGroup {
20473	s.ClusterParameterStatusList = v
20474	return s
20475}
20476
20477// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
20478func (s *AwsRedshiftClusterClusterParameterGroup) SetParameterApplyStatus(v string) *AwsRedshiftClusterClusterParameterGroup {
20479	s.ParameterApplyStatus = &v
20480	return s
20481}
20482
20483// SetParameterGroupName sets the ParameterGroupName field's value.
20484func (s *AwsRedshiftClusterClusterParameterGroup) SetParameterGroupName(v string) *AwsRedshiftClusterClusterParameterGroup {
20485	s.ParameterGroupName = &v
20486	return s
20487}
20488
20489// The status of a parameter in a cluster parameter group for an Amazon Redshift
20490// cluster.
20491type AwsRedshiftClusterClusterParameterStatus struct {
20492	_ struct{} `type:"structure"`
20493
20494	// The error that prevented the parameter from being applied to the database.
20495	ParameterApplyErrorDescription *string `type:"string"`
20496
20497	// The status of the parameter. Indicates whether the parameter is in sync with
20498	// the database, waiting for a cluster reboot, or encountered an error when
20499	// it was applied.
20500	//
20501	// Valid values: in-sync | pending-reboot | applying | invalid-parameter | apply-deferred
20502	// | apply-error | unknown-error
20503	ParameterApplyStatus *string `type:"string"`
20504
20505	// The name of the parameter.
20506	ParameterName *string `type:"string"`
20507}
20508
20509// String returns the string representation
20510func (s AwsRedshiftClusterClusterParameterStatus) String() string {
20511	return awsutil.Prettify(s)
20512}
20513
20514// GoString returns the string representation
20515func (s AwsRedshiftClusterClusterParameterStatus) GoString() string {
20516	return s.String()
20517}
20518
20519// SetParameterApplyErrorDescription sets the ParameterApplyErrorDescription field's value.
20520func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterApplyErrorDescription(v string) *AwsRedshiftClusterClusterParameterStatus {
20521	s.ParameterApplyErrorDescription = &v
20522	return s
20523}
20524
20525// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
20526func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterApplyStatus(v string) *AwsRedshiftClusterClusterParameterStatus {
20527	s.ParameterApplyStatus = &v
20528	return s
20529}
20530
20531// SetParameterName sets the ParameterName field's value.
20532func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterName(v string) *AwsRedshiftClusterClusterParameterStatus {
20533	s.ParameterName = &v
20534	return s
20535}
20536
20537// A security group that is associated with the cluster.
20538type AwsRedshiftClusterClusterSecurityGroup struct {
20539	_ struct{} `type:"structure"`
20540
20541	// The name of the cluster security group.
20542	ClusterSecurityGroupName *string `type:"string"`
20543
20544	// The status of the cluster security group.
20545	Status *string `type:"string"`
20546}
20547
20548// String returns the string representation
20549func (s AwsRedshiftClusterClusterSecurityGroup) String() string {
20550	return awsutil.Prettify(s)
20551}
20552
20553// GoString returns the string representation
20554func (s AwsRedshiftClusterClusterSecurityGroup) GoString() string {
20555	return s.String()
20556}
20557
20558// SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value.
20559func (s *AwsRedshiftClusterClusterSecurityGroup) SetClusterSecurityGroupName(v string) *AwsRedshiftClusterClusterSecurityGroup {
20560	s.ClusterSecurityGroupName = &v
20561	return s
20562}
20563
20564// SetStatus sets the Status field's value.
20565func (s *AwsRedshiftClusterClusterSecurityGroup) SetStatus(v string) *AwsRedshiftClusterClusterSecurityGroup {
20566	s.Status = &v
20567	return s
20568}
20569
20570// Information about a cross-Region snapshot copy.
20571type AwsRedshiftClusterClusterSnapshotCopyStatus struct {
20572	_ struct{} `type:"structure"`
20573
20574	// The destination Region that snapshots are automatically copied to when cross-Region
20575	// snapshot copy is enabled.
20576	DestinationRegion *string `type:"string"`
20577
20578	// The number of days that manual snapshots are retained in the destination
20579	// region after they are copied from a source region.
20580	//
20581	// If the value is -1, then the manual snapshot is retained indefinitely.
20582	//
20583	// Valid values: Either -1 or an integer between 1 and 3,653
20584	ManualSnapshotRetentionPeriod *int64 `type:"integer"`
20585
20586	// The number of days to retain automated snapshots in the destination Region
20587	// after they are copied from a source Region.
20588	RetentionPeriod *int64 `type:"integer"`
20589
20590	// The name of the snapshot copy grant.
20591	SnapshotCopyGrantName *string `type:"string"`
20592}
20593
20594// String returns the string representation
20595func (s AwsRedshiftClusterClusterSnapshotCopyStatus) String() string {
20596	return awsutil.Prettify(s)
20597}
20598
20599// GoString returns the string representation
20600func (s AwsRedshiftClusterClusterSnapshotCopyStatus) GoString() string {
20601	return s.String()
20602}
20603
20604// SetDestinationRegion sets the DestinationRegion field's value.
20605func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetDestinationRegion(v string) *AwsRedshiftClusterClusterSnapshotCopyStatus {
20606	s.DestinationRegion = &v
20607	return s
20608}
20609
20610// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
20611func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetManualSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterClusterSnapshotCopyStatus {
20612	s.ManualSnapshotRetentionPeriod = &v
20613	return s
20614}
20615
20616// SetRetentionPeriod sets the RetentionPeriod field's value.
20617func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetRetentionPeriod(v int64) *AwsRedshiftClusterClusterSnapshotCopyStatus {
20618	s.RetentionPeriod = &v
20619	return s
20620}
20621
20622// SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value.
20623func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetSnapshotCopyGrantName(v string) *AwsRedshiftClusterClusterSnapshotCopyStatus {
20624	s.SnapshotCopyGrantName = &v
20625	return s
20626}
20627
20628// A time windows during which maintenance was deferred for an Amazon Redshift
20629// cluster.
20630type AwsRedshiftClusterDeferredMaintenanceWindow struct {
20631	_ struct{} `type:"structure"`
20632
20633	// The end of the time window for which maintenance was deferred.
20634	//
20635	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20636	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20637	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20638	DeferMaintenanceEndTime *string `type:"string"`
20639
20640	// The identifier of the maintenance window.
20641	DeferMaintenanceIdentifier *string `type:"string"`
20642
20643	// The start of the time window for which maintenance was deferred.
20644	//
20645	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20646	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20647	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20648	DeferMaintenanceStartTime *string `type:"string"`
20649}
20650
20651// String returns the string representation
20652func (s AwsRedshiftClusterDeferredMaintenanceWindow) String() string {
20653	return awsutil.Prettify(s)
20654}
20655
20656// GoString returns the string representation
20657func (s AwsRedshiftClusterDeferredMaintenanceWindow) GoString() string {
20658	return s.String()
20659}
20660
20661// SetDeferMaintenanceEndTime sets the DeferMaintenanceEndTime field's value.
20662func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceEndTime(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
20663	s.DeferMaintenanceEndTime = &v
20664	return s
20665}
20666
20667// SetDeferMaintenanceIdentifier sets the DeferMaintenanceIdentifier field's value.
20668func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceIdentifier(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
20669	s.DeferMaintenanceIdentifier = &v
20670	return s
20671}
20672
20673// SetDeferMaintenanceStartTime sets the DeferMaintenanceStartTime field's value.
20674func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceStartTime(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
20675	s.DeferMaintenanceStartTime = &v
20676	return s
20677}
20678
20679// Details about an Amazon Redshift cluster.
20680type AwsRedshiftClusterDetails struct {
20681	_ struct{} `type:"structure"`
20682
20683	// Indicates whether major version upgrades are applied automatically to the
20684	// cluster during the maintenance window.
20685	AllowVersionUpgrade *bool `type:"boolean"`
20686
20687	// The number of days that automatic cluster snapshots are retained.
20688	AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
20689
20690	// The name of the Availability Zone in which the cluster is located.
20691	AvailabilityZone *string `type:"string"`
20692
20693	// The availability status of the cluster for queries. Possible values are the
20694	// following:
20695	//
20696	//    * Available - The cluster is available for queries.
20697	//
20698	//    * Unavailable - The cluster is not available for queries.
20699	//
20700	//    * Maintenance - The cluster is intermittently available for queries due
20701	//    to maintenance activities.
20702	//
20703	//    * Modifying -The cluster is intermittently available for queries due to
20704	//    changes that modify the cluster.
20705	//
20706	//    * Failed - The cluster failed and is not available for queries.
20707	ClusterAvailabilityStatus *string `type:"string"`
20708
20709	// Indicates when the cluster was created.
20710	//
20711	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20712	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20713	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20714	ClusterCreateTime *string `type:"string"`
20715
20716	// The unique identifier of the cluster.
20717	ClusterIdentifier *string `type:"string"`
20718
20719	// The nodes in the cluster.
20720	ClusterNodes []*AwsRedshiftClusterClusterNode `type:"list"`
20721
20722	// The list of cluster parameter groups that are associated with this cluster.
20723	ClusterParameterGroups []*AwsRedshiftClusterClusterParameterGroup `type:"list"`
20724
20725	// The public key for the cluster.
20726	ClusterPublicKey *string `type:"string"`
20727
20728	// The specific revision number of the database in the cluster.
20729	ClusterRevisionNumber *string `type:"string"`
20730
20731	// A list of cluster security groups that are associated with the cluster.
20732	ClusterSecurityGroups []*AwsRedshiftClusterClusterSecurityGroup `type:"list"`
20733
20734	// Information about the destination Region and retention period for the cross-Region
20735	// snapshot copy.
20736	ClusterSnapshotCopyStatus *AwsRedshiftClusterClusterSnapshotCopyStatus `type:"structure"`
20737
20738	// The current status of the cluster.
20739	//
20740	// Valid values: available | available, prep-for-resize | available, resize-cleanup
20741	// |cancelling-resize | creating | deleting | final-snapshot | hardware-failure
20742	// | incompatible-hsm |incompatible-network | incompatible-parameters | incompatible-restore
20743	// | modifying | paused | rebooting | renaming | resizing | rotating-keys |
20744	// storage-full | updating-hsm
20745	ClusterStatus *string `type:"string"`
20746
20747	// The name of the subnet group that is associated with the cluster. This parameter
20748	// is valid only when the cluster is in a VPC.
20749	ClusterSubnetGroupName *string `type:"string"`
20750
20751	// The version ID of the Amazon Redshift engine that runs on the cluster.
20752	ClusterVersion *string `type:"string"`
20753
20754	// The name of the initial database that was created when the cluster was created.
20755	//
20756	// The same name is returned for the life of the cluster.
20757	//
20758	// If an initial database is not specified, a database named devdev is created
20759	// by default.
20760	DBName *string `type:"string"`
20761
20762	// List of time windows during which maintenance was deferred.
20763	DeferredMaintenanceWindows []*AwsRedshiftClusterDeferredMaintenanceWindow `type:"list"`
20764
20765	// Information about the status of the Elastic IP (EIP) address.
20766	ElasticIpStatus *AwsRedshiftClusterElasticIpStatus `type:"structure"`
20767
20768	// The number of nodes that you can use the elastic resize method to resize
20769	// the cluster to.
20770	ElasticResizeNumberOfNodeOptions *string `type:"string"`
20771
20772	// Indicates whether the data in the cluster is encrypted at rest.
20773	Encrypted *bool `type:"boolean"`
20774
20775	// The connection endpoint.
20776	Endpoint *AwsRedshiftClusterEndpoint `type:"structure"`
20777
20778	// Indicates whether to create the cluster with enhanced VPC routing enabled.
20779	EnhancedVpcRouting *bool `type:"boolean"`
20780
20781	// Indicates when the next snapshot is expected to be taken. The cluster must
20782	// have a valid snapshot schedule and have backups enabled.
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	ExpectedNextSnapshotScheduleTime *string `type:"string"`
20788
20789	// The status of the next expected snapshot.
20790	//
20791	// Valid values: OnTrack | Pending
20792	ExpectedNextSnapshotScheduleTimeStatus *string `type:"string"`
20793
20794	// Information about whether the Amazon Redshift cluster finished applying any
20795	// changes to hardware security module (HSM) settings that were specified in
20796	// a modify cluster command.
20797	HsmStatus *AwsRedshiftClusterHsmStatus `type:"structure"`
20798
20799	// A list of IAM roles that the cluster can use to access other Amazon Web Services
20800	// services.
20801	IamRoles []*AwsRedshiftClusterIamRole `type:"list"`
20802
20803	// The identifier of the KMS encryption key that is used to encrypt data in
20804	// the cluster.
20805	KmsKeyId *string `type:"string"`
20806
20807	// The name of the maintenance track for the cluster.
20808	MaintenanceTrackName *string `type:"string"`
20809
20810	// The default number of days to retain a manual snapshot.
20811	//
20812	// If the value is -1, the snapshot is retained indefinitely.
20813	//
20814	// This setting doesn't change the retention period of existing snapshots.
20815	//
20816	// Valid values: Either -1 or an integer between 1 and 3,653
20817	ManualSnapshotRetentionPeriod *int64 `type:"integer"`
20818
20819	// The master user name for the cluster. This name is used to connect to the
20820	// database that is specified in as the value of DBName.
20821	MasterUsername *string `type:"string"`
20822
20823	// Indicates the start of the next maintenance window.
20824	//
20825	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20826	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20827	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20828	NextMaintenanceWindowStartTime *string `type:"string"`
20829
20830	// The node type for the nodes in the cluster.
20831	NodeType *string `type:"string"`
20832
20833	// The number of compute nodes in the cluster.
20834	NumberOfNodes *int64 `type:"integer"`
20835
20836	// A list of cluster operations that are waiting to start.
20837	PendingActions []*string `type:"list"`
20838
20839	// A list of changes to the cluster that are currently pending.
20840	PendingModifiedValues *AwsRedshiftClusterPendingModifiedValues `type:"structure"`
20841
20842	// The weekly time range, in Universal Coordinated Time (UTC), during which
20843	// system maintenance can occur.
20844	//
20845	// Format: <day>:HH:MM-<day>:HH:MM
20846	//
20847	// For the day values, use mon | tue | wed | thu | fri | sat | sun
20848	//
20849	// For example, sun:09:32-sun:10:02
20850	PreferredMaintenanceWindow *string `type:"string"`
20851
20852	// Whether the cluster can be accessed from a public network.
20853	PubliclyAccessible *bool `type:"boolean"`
20854
20855	// Information about the resize operation for the cluster.
20856	ResizeInfo *AwsRedshiftClusterResizeInfo `type:"structure"`
20857
20858	// Information about the status of a cluster restore action. Only applies to
20859	// a cluster that was created by restoring a snapshot.
20860	RestoreStatus *AwsRedshiftClusterRestoreStatus `type:"structure"`
20861
20862	// A unique identifier for the cluster snapshot schedule.
20863	SnapshotScheduleIdentifier *string `type:"string"`
20864
20865	// The current state of the cluster snapshot schedule.
20866	//
20867	// Valid values: MODIFYING | ACTIVE | FAILED
20868	SnapshotScheduleState *string `type:"string"`
20869
20870	// The identifier of the VPC that the cluster is in, if the cluster is in a
20871	// VPC.
20872	VpcId *string `type:"string"`
20873
20874	// The list of VPC security groups that the cluster belongs to, if the cluster
20875	// is in a VPC.
20876	VpcSecurityGroups []*AwsRedshiftClusterVpcSecurityGroup `type:"list"`
20877}
20878
20879// String returns the string representation
20880func (s AwsRedshiftClusterDetails) String() string {
20881	return awsutil.Prettify(s)
20882}
20883
20884// GoString returns the string representation
20885func (s AwsRedshiftClusterDetails) GoString() string {
20886	return s.String()
20887}
20888
20889// SetAllowVersionUpgrade sets the AllowVersionUpgrade field's value.
20890func (s *AwsRedshiftClusterDetails) SetAllowVersionUpgrade(v bool) *AwsRedshiftClusterDetails {
20891	s.AllowVersionUpgrade = &v
20892	return s
20893}
20894
20895// SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
20896func (s *AwsRedshiftClusterDetails) SetAutomatedSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterDetails {
20897	s.AutomatedSnapshotRetentionPeriod = &v
20898	return s
20899}
20900
20901// SetAvailabilityZone sets the AvailabilityZone field's value.
20902func (s *AwsRedshiftClusterDetails) SetAvailabilityZone(v string) *AwsRedshiftClusterDetails {
20903	s.AvailabilityZone = &v
20904	return s
20905}
20906
20907// SetClusterAvailabilityStatus sets the ClusterAvailabilityStatus field's value.
20908func (s *AwsRedshiftClusterDetails) SetClusterAvailabilityStatus(v string) *AwsRedshiftClusterDetails {
20909	s.ClusterAvailabilityStatus = &v
20910	return s
20911}
20912
20913// SetClusterCreateTime sets the ClusterCreateTime field's value.
20914func (s *AwsRedshiftClusterDetails) SetClusterCreateTime(v string) *AwsRedshiftClusterDetails {
20915	s.ClusterCreateTime = &v
20916	return s
20917}
20918
20919// SetClusterIdentifier sets the ClusterIdentifier field's value.
20920func (s *AwsRedshiftClusterDetails) SetClusterIdentifier(v string) *AwsRedshiftClusterDetails {
20921	s.ClusterIdentifier = &v
20922	return s
20923}
20924
20925// SetClusterNodes sets the ClusterNodes field's value.
20926func (s *AwsRedshiftClusterDetails) SetClusterNodes(v []*AwsRedshiftClusterClusterNode) *AwsRedshiftClusterDetails {
20927	s.ClusterNodes = v
20928	return s
20929}
20930
20931// SetClusterParameterGroups sets the ClusterParameterGroups field's value.
20932func (s *AwsRedshiftClusterDetails) SetClusterParameterGroups(v []*AwsRedshiftClusterClusterParameterGroup) *AwsRedshiftClusterDetails {
20933	s.ClusterParameterGroups = v
20934	return s
20935}
20936
20937// SetClusterPublicKey sets the ClusterPublicKey field's value.
20938func (s *AwsRedshiftClusterDetails) SetClusterPublicKey(v string) *AwsRedshiftClusterDetails {
20939	s.ClusterPublicKey = &v
20940	return s
20941}
20942
20943// SetClusterRevisionNumber sets the ClusterRevisionNumber field's value.
20944func (s *AwsRedshiftClusterDetails) SetClusterRevisionNumber(v string) *AwsRedshiftClusterDetails {
20945	s.ClusterRevisionNumber = &v
20946	return s
20947}
20948
20949// SetClusterSecurityGroups sets the ClusterSecurityGroups field's value.
20950func (s *AwsRedshiftClusterDetails) SetClusterSecurityGroups(v []*AwsRedshiftClusterClusterSecurityGroup) *AwsRedshiftClusterDetails {
20951	s.ClusterSecurityGroups = v
20952	return s
20953}
20954
20955// SetClusterSnapshotCopyStatus sets the ClusterSnapshotCopyStatus field's value.
20956func (s *AwsRedshiftClusterDetails) SetClusterSnapshotCopyStatus(v *AwsRedshiftClusterClusterSnapshotCopyStatus) *AwsRedshiftClusterDetails {
20957	s.ClusterSnapshotCopyStatus = v
20958	return s
20959}
20960
20961// SetClusterStatus sets the ClusterStatus field's value.
20962func (s *AwsRedshiftClusterDetails) SetClusterStatus(v string) *AwsRedshiftClusterDetails {
20963	s.ClusterStatus = &v
20964	return s
20965}
20966
20967// SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value.
20968func (s *AwsRedshiftClusterDetails) SetClusterSubnetGroupName(v string) *AwsRedshiftClusterDetails {
20969	s.ClusterSubnetGroupName = &v
20970	return s
20971}
20972
20973// SetClusterVersion sets the ClusterVersion field's value.
20974func (s *AwsRedshiftClusterDetails) SetClusterVersion(v string) *AwsRedshiftClusterDetails {
20975	s.ClusterVersion = &v
20976	return s
20977}
20978
20979// SetDBName sets the DBName field's value.
20980func (s *AwsRedshiftClusterDetails) SetDBName(v string) *AwsRedshiftClusterDetails {
20981	s.DBName = &v
20982	return s
20983}
20984
20985// SetDeferredMaintenanceWindows sets the DeferredMaintenanceWindows field's value.
20986func (s *AwsRedshiftClusterDetails) SetDeferredMaintenanceWindows(v []*AwsRedshiftClusterDeferredMaintenanceWindow) *AwsRedshiftClusterDetails {
20987	s.DeferredMaintenanceWindows = v
20988	return s
20989}
20990
20991// SetElasticIpStatus sets the ElasticIpStatus field's value.
20992func (s *AwsRedshiftClusterDetails) SetElasticIpStatus(v *AwsRedshiftClusterElasticIpStatus) *AwsRedshiftClusterDetails {
20993	s.ElasticIpStatus = v
20994	return s
20995}
20996
20997// SetElasticResizeNumberOfNodeOptions sets the ElasticResizeNumberOfNodeOptions field's value.
20998func (s *AwsRedshiftClusterDetails) SetElasticResizeNumberOfNodeOptions(v string) *AwsRedshiftClusterDetails {
20999	s.ElasticResizeNumberOfNodeOptions = &v
21000	return s
21001}
21002
21003// SetEncrypted sets the Encrypted field's value.
21004func (s *AwsRedshiftClusterDetails) SetEncrypted(v bool) *AwsRedshiftClusterDetails {
21005	s.Encrypted = &v
21006	return s
21007}
21008
21009// SetEndpoint sets the Endpoint field's value.
21010func (s *AwsRedshiftClusterDetails) SetEndpoint(v *AwsRedshiftClusterEndpoint) *AwsRedshiftClusterDetails {
21011	s.Endpoint = v
21012	return s
21013}
21014
21015// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
21016func (s *AwsRedshiftClusterDetails) SetEnhancedVpcRouting(v bool) *AwsRedshiftClusterDetails {
21017	s.EnhancedVpcRouting = &v
21018	return s
21019}
21020
21021// SetExpectedNextSnapshotScheduleTime sets the ExpectedNextSnapshotScheduleTime field's value.
21022func (s *AwsRedshiftClusterDetails) SetExpectedNextSnapshotScheduleTime(v string) *AwsRedshiftClusterDetails {
21023	s.ExpectedNextSnapshotScheduleTime = &v
21024	return s
21025}
21026
21027// SetExpectedNextSnapshotScheduleTimeStatus sets the ExpectedNextSnapshotScheduleTimeStatus field's value.
21028func (s *AwsRedshiftClusterDetails) SetExpectedNextSnapshotScheduleTimeStatus(v string) *AwsRedshiftClusterDetails {
21029	s.ExpectedNextSnapshotScheduleTimeStatus = &v
21030	return s
21031}
21032
21033// SetHsmStatus sets the HsmStatus field's value.
21034func (s *AwsRedshiftClusterDetails) SetHsmStatus(v *AwsRedshiftClusterHsmStatus) *AwsRedshiftClusterDetails {
21035	s.HsmStatus = v
21036	return s
21037}
21038
21039// SetIamRoles sets the IamRoles field's value.
21040func (s *AwsRedshiftClusterDetails) SetIamRoles(v []*AwsRedshiftClusterIamRole) *AwsRedshiftClusterDetails {
21041	s.IamRoles = v
21042	return s
21043}
21044
21045// SetKmsKeyId sets the KmsKeyId field's value.
21046func (s *AwsRedshiftClusterDetails) SetKmsKeyId(v string) *AwsRedshiftClusterDetails {
21047	s.KmsKeyId = &v
21048	return s
21049}
21050
21051// SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
21052func (s *AwsRedshiftClusterDetails) SetMaintenanceTrackName(v string) *AwsRedshiftClusterDetails {
21053	s.MaintenanceTrackName = &v
21054	return s
21055}
21056
21057// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
21058func (s *AwsRedshiftClusterDetails) SetManualSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterDetails {
21059	s.ManualSnapshotRetentionPeriod = &v
21060	return s
21061}
21062
21063// SetMasterUsername sets the MasterUsername field's value.
21064func (s *AwsRedshiftClusterDetails) SetMasterUsername(v string) *AwsRedshiftClusterDetails {
21065	s.MasterUsername = &v
21066	return s
21067}
21068
21069// SetNextMaintenanceWindowStartTime sets the NextMaintenanceWindowStartTime field's value.
21070func (s *AwsRedshiftClusterDetails) SetNextMaintenanceWindowStartTime(v string) *AwsRedshiftClusterDetails {
21071	s.NextMaintenanceWindowStartTime = &v
21072	return s
21073}
21074
21075// SetNodeType sets the NodeType field's value.
21076func (s *AwsRedshiftClusterDetails) SetNodeType(v string) *AwsRedshiftClusterDetails {
21077	s.NodeType = &v
21078	return s
21079}
21080
21081// SetNumberOfNodes sets the NumberOfNodes field's value.
21082func (s *AwsRedshiftClusterDetails) SetNumberOfNodes(v int64) *AwsRedshiftClusterDetails {
21083	s.NumberOfNodes = &v
21084	return s
21085}
21086
21087// SetPendingActions sets the PendingActions field's value.
21088func (s *AwsRedshiftClusterDetails) SetPendingActions(v []*string) *AwsRedshiftClusterDetails {
21089	s.PendingActions = v
21090	return s
21091}
21092
21093// SetPendingModifiedValues sets the PendingModifiedValues field's value.
21094func (s *AwsRedshiftClusterDetails) SetPendingModifiedValues(v *AwsRedshiftClusterPendingModifiedValues) *AwsRedshiftClusterDetails {
21095	s.PendingModifiedValues = v
21096	return s
21097}
21098
21099// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
21100func (s *AwsRedshiftClusterDetails) SetPreferredMaintenanceWindow(v string) *AwsRedshiftClusterDetails {
21101	s.PreferredMaintenanceWindow = &v
21102	return s
21103}
21104
21105// SetPubliclyAccessible sets the PubliclyAccessible field's value.
21106func (s *AwsRedshiftClusterDetails) SetPubliclyAccessible(v bool) *AwsRedshiftClusterDetails {
21107	s.PubliclyAccessible = &v
21108	return s
21109}
21110
21111// SetResizeInfo sets the ResizeInfo field's value.
21112func (s *AwsRedshiftClusterDetails) SetResizeInfo(v *AwsRedshiftClusterResizeInfo) *AwsRedshiftClusterDetails {
21113	s.ResizeInfo = v
21114	return s
21115}
21116
21117// SetRestoreStatus sets the RestoreStatus field's value.
21118func (s *AwsRedshiftClusterDetails) SetRestoreStatus(v *AwsRedshiftClusterRestoreStatus) *AwsRedshiftClusterDetails {
21119	s.RestoreStatus = v
21120	return s
21121}
21122
21123// SetSnapshotScheduleIdentifier sets the SnapshotScheduleIdentifier field's value.
21124func (s *AwsRedshiftClusterDetails) SetSnapshotScheduleIdentifier(v string) *AwsRedshiftClusterDetails {
21125	s.SnapshotScheduleIdentifier = &v
21126	return s
21127}
21128
21129// SetSnapshotScheduleState sets the SnapshotScheduleState field's value.
21130func (s *AwsRedshiftClusterDetails) SetSnapshotScheduleState(v string) *AwsRedshiftClusterDetails {
21131	s.SnapshotScheduleState = &v
21132	return s
21133}
21134
21135// SetVpcId sets the VpcId field's value.
21136func (s *AwsRedshiftClusterDetails) SetVpcId(v string) *AwsRedshiftClusterDetails {
21137	s.VpcId = &v
21138	return s
21139}
21140
21141// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
21142func (s *AwsRedshiftClusterDetails) SetVpcSecurityGroups(v []*AwsRedshiftClusterVpcSecurityGroup) *AwsRedshiftClusterDetails {
21143	s.VpcSecurityGroups = v
21144	return s
21145}
21146
21147// The status of the elastic IP (EIP) address for an Amazon Redshift cluster.
21148type AwsRedshiftClusterElasticIpStatus struct {
21149	_ struct{} `type:"structure"`
21150
21151	// The elastic IP address for the cluster.
21152	ElasticIp *string `type:"string"`
21153
21154	// The status of the elastic IP address.
21155	Status *string `type:"string"`
21156}
21157
21158// String returns the string representation
21159func (s AwsRedshiftClusterElasticIpStatus) String() string {
21160	return awsutil.Prettify(s)
21161}
21162
21163// GoString returns the string representation
21164func (s AwsRedshiftClusterElasticIpStatus) GoString() string {
21165	return s.String()
21166}
21167
21168// SetElasticIp sets the ElasticIp field's value.
21169func (s *AwsRedshiftClusterElasticIpStatus) SetElasticIp(v string) *AwsRedshiftClusterElasticIpStatus {
21170	s.ElasticIp = &v
21171	return s
21172}
21173
21174// SetStatus sets the Status field's value.
21175func (s *AwsRedshiftClusterElasticIpStatus) SetStatus(v string) *AwsRedshiftClusterElasticIpStatus {
21176	s.Status = &v
21177	return s
21178}
21179
21180// The connection endpoint for an Amazon Redshift cluster.
21181type AwsRedshiftClusterEndpoint struct {
21182	_ struct{} `type:"structure"`
21183
21184	// The DNS address of the cluster.
21185	Address *string `type:"string"`
21186
21187	// The port that the database engine listens on.
21188	Port *int64 `type:"integer"`
21189}
21190
21191// String returns the string representation
21192func (s AwsRedshiftClusterEndpoint) String() string {
21193	return awsutil.Prettify(s)
21194}
21195
21196// GoString returns the string representation
21197func (s AwsRedshiftClusterEndpoint) GoString() string {
21198	return s.String()
21199}
21200
21201// SetAddress sets the Address field's value.
21202func (s *AwsRedshiftClusterEndpoint) SetAddress(v string) *AwsRedshiftClusterEndpoint {
21203	s.Address = &v
21204	return s
21205}
21206
21207// SetPort sets the Port field's value.
21208func (s *AwsRedshiftClusterEndpoint) SetPort(v int64) *AwsRedshiftClusterEndpoint {
21209	s.Port = &v
21210	return s
21211}
21212
21213// Information about whether an Amazon Redshift cluster finished applying any
21214// hardware changes to security module (HSM) settings that were specified in
21215// a modify cluster command.
21216type AwsRedshiftClusterHsmStatus struct {
21217	_ struct{} `type:"structure"`
21218
21219	// The name of the HSM client certificate that the Amazon Redshift cluster uses
21220	// to retrieve the data encryption keys that are stored in an HSM.
21221	HsmClientCertificateIdentifier *string `type:"string"`
21222
21223	// The name of the HSM configuration that contains the information that the
21224	// Amazon Redshift cluster can use to retrieve and store keys in an HSM.
21225	HsmConfigurationIdentifier *string `type:"string"`
21226
21227	// Indicates whether the Amazon Redshift cluster has finished applying any HSM
21228	// settings changes specified in a modify cluster command.
21229	//
21230	// Type: String
21231	//
21232	// Valid values: active | applying
21233	Status *string `type:"string"`
21234}
21235
21236// String returns the string representation
21237func (s AwsRedshiftClusterHsmStatus) String() string {
21238	return awsutil.Prettify(s)
21239}
21240
21241// GoString returns the string representation
21242func (s AwsRedshiftClusterHsmStatus) GoString() string {
21243	return s.String()
21244}
21245
21246// SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value.
21247func (s *AwsRedshiftClusterHsmStatus) SetHsmClientCertificateIdentifier(v string) *AwsRedshiftClusterHsmStatus {
21248	s.HsmClientCertificateIdentifier = &v
21249	return s
21250}
21251
21252// SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value.
21253func (s *AwsRedshiftClusterHsmStatus) SetHsmConfigurationIdentifier(v string) *AwsRedshiftClusterHsmStatus {
21254	s.HsmConfigurationIdentifier = &v
21255	return s
21256}
21257
21258// SetStatus sets the Status field's value.
21259func (s *AwsRedshiftClusterHsmStatus) SetStatus(v string) *AwsRedshiftClusterHsmStatus {
21260	s.Status = &v
21261	return s
21262}
21263
21264// An IAM role that the cluster can use to access other Amazon Web Services
21265// services.
21266type AwsRedshiftClusterIamRole struct {
21267	_ struct{} `type:"structure"`
21268
21269	// The status of the IAM role's association with the cluster.
21270	//
21271	// Valid values: in-sync | adding | removing
21272	ApplyStatus *string `type:"string"`
21273
21274	// The ARN of the IAM role.
21275	IamRoleArn *string `type:"string"`
21276}
21277
21278// String returns the string representation
21279func (s AwsRedshiftClusterIamRole) String() string {
21280	return awsutil.Prettify(s)
21281}
21282
21283// GoString returns the string representation
21284func (s AwsRedshiftClusterIamRole) GoString() string {
21285	return s.String()
21286}
21287
21288// SetApplyStatus sets the ApplyStatus field's value.
21289func (s *AwsRedshiftClusterIamRole) SetApplyStatus(v string) *AwsRedshiftClusterIamRole {
21290	s.ApplyStatus = &v
21291	return s
21292}
21293
21294// SetIamRoleArn sets the IamRoleArn field's value.
21295func (s *AwsRedshiftClusterIamRole) SetIamRoleArn(v string) *AwsRedshiftClusterIamRole {
21296	s.IamRoleArn = &v
21297	return s
21298}
21299
21300// Changes to the Amazon Redshift cluster that are currently pending.
21301type AwsRedshiftClusterPendingModifiedValues struct {
21302	_ struct{} `type:"structure"`
21303
21304	// The pending or in-progress change to the automated snapshot retention period.
21305	AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
21306
21307	// The pending or in-progress change to the identifier for the cluster.
21308	ClusterIdentifier *string `type:"string"`
21309
21310	// The pending or in-progress change to the cluster type.
21311	ClusterType *string `type:"string"`
21312
21313	// The pending or in-progress change to the service version.
21314	ClusterVersion *string `type:"string"`
21315
21316	// The encryption type for a cluster.
21317	EncryptionType *string `type:"string"`
21318
21319	// Indicates whether to create the cluster with enhanced VPC routing enabled.
21320	EnhancedVpcRouting *bool `type:"boolean"`
21321
21322	// The name of the maintenance track that the cluster changes to during the
21323	// next maintenance window.
21324	MaintenanceTrackName *string `type:"string"`
21325
21326	// The pending or in-progress change to the master user password for the cluster.
21327	MasterUserPassword *string `type:"string"`
21328
21329	// The pending or in-progress change to the cluster's node type.
21330	NodeType *string `type:"string"`
21331
21332	// The pending or in-progress change to the number of nodes in the cluster.
21333	NumberOfNodes *int64 `type:"integer"`
21334
21335	// The pending or in-progress change to whether the cluster can be connected
21336	// to from the public network.
21337	PubliclyAccessible *bool `type:"boolean"`
21338}
21339
21340// String returns the string representation
21341func (s AwsRedshiftClusterPendingModifiedValues) String() string {
21342	return awsutil.Prettify(s)
21343}
21344
21345// GoString returns the string representation
21346func (s AwsRedshiftClusterPendingModifiedValues) GoString() string {
21347	return s.String()
21348}
21349
21350// SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
21351func (s *AwsRedshiftClusterPendingModifiedValues) SetAutomatedSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterPendingModifiedValues {
21352	s.AutomatedSnapshotRetentionPeriod = &v
21353	return s
21354}
21355
21356// SetClusterIdentifier sets the ClusterIdentifier field's value.
21357func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterIdentifier(v string) *AwsRedshiftClusterPendingModifiedValues {
21358	s.ClusterIdentifier = &v
21359	return s
21360}
21361
21362// SetClusterType sets the ClusterType field's value.
21363func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterType(v string) *AwsRedshiftClusterPendingModifiedValues {
21364	s.ClusterType = &v
21365	return s
21366}
21367
21368// SetClusterVersion sets the ClusterVersion field's value.
21369func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterVersion(v string) *AwsRedshiftClusterPendingModifiedValues {
21370	s.ClusterVersion = &v
21371	return s
21372}
21373
21374// SetEncryptionType sets the EncryptionType field's value.
21375func (s *AwsRedshiftClusterPendingModifiedValues) SetEncryptionType(v string) *AwsRedshiftClusterPendingModifiedValues {
21376	s.EncryptionType = &v
21377	return s
21378}
21379
21380// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
21381func (s *AwsRedshiftClusterPendingModifiedValues) SetEnhancedVpcRouting(v bool) *AwsRedshiftClusterPendingModifiedValues {
21382	s.EnhancedVpcRouting = &v
21383	return s
21384}
21385
21386// SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
21387func (s *AwsRedshiftClusterPendingModifiedValues) SetMaintenanceTrackName(v string) *AwsRedshiftClusterPendingModifiedValues {
21388	s.MaintenanceTrackName = &v
21389	return s
21390}
21391
21392// SetMasterUserPassword sets the MasterUserPassword field's value.
21393func (s *AwsRedshiftClusterPendingModifiedValues) SetMasterUserPassword(v string) *AwsRedshiftClusterPendingModifiedValues {
21394	s.MasterUserPassword = &v
21395	return s
21396}
21397
21398// SetNodeType sets the NodeType field's value.
21399func (s *AwsRedshiftClusterPendingModifiedValues) SetNodeType(v string) *AwsRedshiftClusterPendingModifiedValues {
21400	s.NodeType = &v
21401	return s
21402}
21403
21404// SetNumberOfNodes sets the NumberOfNodes field's value.
21405func (s *AwsRedshiftClusterPendingModifiedValues) SetNumberOfNodes(v int64) *AwsRedshiftClusterPendingModifiedValues {
21406	s.NumberOfNodes = &v
21407	return s
21408}
21409
21410// SetPubliclyAccessible sets the PubliclyAccessible field's value.
21411func (s *AwsRedshiftClusterPendingModifiedValues) SetPubliclyAccessible(v bool) *AwsRedshiftClusterPendingModifiedValues {
21412	s.PubliclyAccessible = &v
21413	return s
21414}
21415
21416// Information about the resize operation for the cluster.
21417type AwsRedshiftClusterResizeInfo struct {
21418	_ struct{} `type:"structure"`
21419
21420	// Indicates whether the resize operation can be canceled.
21421	AllowCancelResize *bool `type:"boolean"`
21422
21423	// The type of resize operation.
21424	//
21425	// Valid values: ClassicResize
21426	ResizeType *string `type:"string"`
21427}
21428
21429// String returns the string representation
21430func (s AwsRedshiftClusterResizeInfo) String() string {
21431	return awsutil.Prettify(s)
21432}
21433
21434// GoString returns the string representation
21435func (s AwsRedshiftClusterResizeInfo) GoString() string {
21436	return s.String()
21437}
21438
21439// SetAllowCancelResize sets the AllowCancelResize field's value.
21440func (s *AwsRedshiftClusterResizeInfo) SetAllowCancelResize(v bool) *AwsRedshiftClusterResizeInfo {
21441	s.AllowCancelResize = &v
21442	return s
21443}
21444
21445// SetResizeType sets the ResizeType field's value.
21446func (s *AwsRedshiftClusterResizeInfo) SetResizeType(v string) *AwsRedshiftClusterResizeInfo {
21447	s.ResizeType = &v
21448	return s
21449}
21450
21451// Information about the status of a cluster restore action. It only applies
21452// if the cluster was created by restoring a snapshot.
21453type AwsRedshiftClusterRestoreStatus struct {
21454	_ struct{} `type:"structure"`
21455
21456	// The number of megabytes per second being transferred from the backup storage.
21457	// Returns the average rate for a completed backup.
21458	//
21459	// This field is only updated when you restore to DC2 and DS2 node types.
21460	CurrentRestoreRateInMegaBytesPerSecond *float64 `type:"double"`
21461
21462	// The amount of time an in-progress restore has been running, or the amount
21463	// of time it took a completed restore to finish.
21464	//
21465	// This field is only updated when you restore to DC2 and DS2 node types.
21466	ElapsedTimeInSeconds *int64 `type:"long"`
21467
21468	// The estimate of the time remaining before the restore is complete. Returns
21469	// 0 for a completed restore.
21470	//
21471	// This field is only updated when you restore to DC2 and DS2 node types.
21472	EstimatedTimeToCompletionInSeconds *int64 `type:"long"`
21473
21474	// The number of megabytes that were transferred from snapshot storage.
21475	//
21476	// This field is only updated when you restore to DC2 and DS2 node types.
21477	ProgressInMegaBytes *int64 `type:"long"`
21478
21479	// The size of the set of snapshot data that was used to restore the cluster.
21480	//
21481	// This field is only updated when you restore to DC2 and DS2 node types.
21482	SnapshotSizeInMegaBytes *int64 `type:"long"`
21483
21484	// The status of the restore action.
21485	//
21486	// Valid values: starting | restoring | completed | failed
21487	Status *string `type:"string"`
21488}
21489
21490// String returns the string representation
21491func (s AwsRedshiftClusterRestoreStatus) String() string {
21492	return awsutil.Prettify(s)
21493}
21494
21495// GoString returns the string representation
21496func (s AwsRedshiftClusterRestoreStatus) GoString() string {
21497	return s.String()
21498}
21499
21500// SetCurrentRestoreRateInMegaBytesPerSecond sets the CurrentRestoreRateInMegaBytesPerSecond field's value.
21501func (s *AwsRedshiftClusterRestoreStatus) SetCurrentRestoreRateInMegaBytesPerSecond(v float64) *AwsRedshiftClusterRestoreStatus {
21502	s.CurrentRestoreRateInMegaBytesPerSecond = &v
21503	return s
21504}
21505
21506// SetElapsedTimeInSeconds sets the ElapsedTimeInSeconds field's value.
21507func (s *AwsRedshiftClusterRestoreStatus) SetElapsedTimeInSeconds(v int64) *AwsRedshiftClusterRestoreStatus {
21508	s.ElapsedTimeInSeconds = &v
21509	return s
21510}
21511
21512// SetEstimatedTimeToCompletionInSeconds sets the EstimatedTimeToCompletionInSeconds field's value.
21513func (s *AwsRedshiftClusterRestoreStatus) SetEstimatedTimeToCompletionInSeconds(v int64) *AwsRedshiftClusterRestoreStatus {
21514	s.EstimatedTimeToCompletionInSeconds = &v
21515	return s
21516}
21517
21518// SetProgressInMegaBytes sets the ProgressInMegaBytes field's value.
21519func (s *AwsRedshiftClusterRestoreStatus) SetProgressInMegaBytes(v int64) *AwsRedshiftClusterRestoreStatus {
21520	s.ProgressInMegaBytes = &v
21521	return s
21522}
21523
21524// SetSnapshotSizeInMegaBytes sets the SnapshotSizeInMegaBytes field's value.
21525func (s *AwsRedshiftClusterRestoreStatus) SetSnapshotSizeInMegaBytes(v int64) *AwsRedshiftClusterRestoreStatus {
21526	s.SnapshotSizeInMegaBytes = &v
21527	return s
21528}
21529
21530// SetStatus sets the Status field's value.
21531func (s *AwsRedshiftClusterRestoreStatus) SetStatus(v string) *AwsRedshiftClusterRestoreStatus {
21532	s.Status = &v
21533	return s
21534}
21535
21536// A VPC security group that the cluster belongs to, if the cluster is in a
21537// VPC.
21538type AwsRedshiftClusterVpcSecurityGroup struct {
21539	_ struct{} `type:"structure"`
21540
21541	// The status of the VPC security group.
21542	Status *string `type:"string"`
21543
21544	// The identifier of the VPC security group.
21545	VpcSecurityGroupId *string `type:"string"`
21546}
21547
21548// String returns the string representation
21549func (s AwsRedshiftClusterVpcSecurityGroup) String() string {
21550	return awsutil.Prettify(s)
21551}
21552
21553// GoString returns the string representation
21554func (s AwsRedshiftClusterVpcSecurityGroup) GoString() string {
21555	return s.String()
21556}
21557
21558// SetStatus sets the Status field's value.
21559func (s *AwsRedshiftClusterVpcSecurityGroup) SetStatus(v string) *AwsRedshiftClusterVpcSecurityGroup {
21560	s.Status = &v
21561	return s
21562}
21563
21564// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
21565func (s *AwsRedshiftClusterVpcSecurityGroup) SetVpcSecurityGroupId(v string) *AwsRedshiftClusterVpcSecurityGroup {
21566	s.VpcSecurityGroupId = &v
21567	return s
21568}
21569
21570// provides information about the Amazon S3 Public Access Block configuration
21571// for accounts.
21572type AwsS3AccountPublicAccessBlockDetails struct {
21573	_ struct{} `type:"structure"`
21574
21575	// Indicates whether to reject calls to update an S3 bucket if the calls include
21576	// a public access control list (ACL).
21577	BlockPublicAcls *bool `type:"boolean"`
21578
21579	// Indicates whether to reject calls to update the access policy for an S3 bucket
21580	// or access point if the policy allows public access.
21581	BlockPublicPolicy *bool `type:"boolean"`
21582
21583	// Indicates whether Amazon S3 ignores public ACLs that are associated with
21584	// an S3 bucket.
21585	IgnorePublicAcls *bool `type:"boolean"`
21586
21587	// Indicates whether to restrict access to an access point or S3 bucket that
21588	// has a public policy to only Amazon Web Services service principals and authorized
21589	// users within the S3 bucket owner's account.
21590	RestrictPublicBuckets *bool `type:"boolean"`
21591}
21592
21593// String returns the string representation
21594func (s AwsS3AccountPublicAccessBlockDetails) String() string {
21595	return awsutil.Prettify(s)
21596}
21597
21598// GoString returns the string representation
21599func (s AwsS3AccountPublicAccessBlockDetails) GoString() string {
21600	return s.String()
21601}
21602
21603// SetBlockPublicAcls sets the BlockPublicAcls field's value.
21604func (s *AwsS3AccountPublicAccessBlockDetails) SetBlockPublicAcls(v bool) *AwsS3AccountPublicAccessBlockDetails {
21605	s.BlockPublicAcls = &v
21606	return s
21607}
21608
21609// SetBlockPublicPolicy sets the BlockPublicPolicy field's value.
21610func (s *AwsS3AccountPublicAccessBlockDetails) SetBlockPublicPolicy(v bool) *AwsS3AccountPublicAccessBlockDetails {
21611	s.BlockPublicPolicy = &v
21612	return s
21613}
21614
21615// SetIgnorePublicAcls sets the IgnorePublicAcls field's value.
21616func (s *AwsS3AccountPublicAccessBlockDetails) SetIgnorePublicAcls(v bool) *AwsS3AccountPublicAccessBlockDetails {
21617	s.IgnorePublicAcls = &v
21618	return s
21619}
21620
21621// SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value.
21622func (s *AwsS3AccountPublicAccessBlockDetails) SetRestrictPublicBuckets(v bool) *AwsS3AccountPublicAccessBlockDetails {
21623	s.RestrictPublicBuckets = &v
21624	return s
21625}
21626
21627// The lifecycle configuration for the objects in the S3 bucket.
21628type AwsS3BucketBucketLifecycleConfigurationDetails struct {
21629	_ struct{} `type:"structure"`
21630
21631	// The lifecycle rules.
21632	Rules []*AwsS3BucketBucketLifecycleConfigurationRulesDetails `type:"list"`
21633}
21634
21635// String returns the string representation
21636func (s AwsS3BucketBucketLifecycleConfigurationDetails) String() string {
21637	return awsutil.Prettify(s)
21638}
21639
21640// GoString returns the string representation
21641func (s AwsS3BucketBucketLifecycleConfigurationDetails) GoString() string {
21642	return s.String()
21643}
21644
21645// SetRules sets the Rules field's value.
21646func (s *AwsS3BucketBucketLifecycleConfigurationDetails) SetRules(v []*AwsS3BucketBucketLifecycleConfigurationRulesDetails) *AwsS3BucketBucketLifecycleConfigurationDetails {
21647	s.Rules = v
21648	return s
21649}
21650
21651// Information about what Amazon S3 does when a multipart upload is incomplete.
21652type AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails struct {
21653	_ struct{} `type:"structure"`
21654
21655	// The number of days after which Amazon S3 cancels an incomplete multipart
21656	// upload.
21657	DaysAfterInitiation *int64 `type:"integer"`
21658}
21659
21660// String returns the string representation
21661func (s AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) String() string {
21662	return awsutil.Prettify(s)
21663}
21664
21665// GoString returns the string representation
21666func (s AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) GoString() string {
21667	return s.String()
21668}
21669
21670// SetDaysAfterInitiation sets the DaysAfterInitiation field's value.
21671func (s *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) SetDaysAfterInitiation(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails {
21672	s.DaysAfterInitiation = &v
21673	return s
21674}
21675
21676// Configuration for a lifecycle rule.
21677type AwsS3BucketBucketLifecycleConfigurationRulesDetails struct {
21678	_ struct{} `type:"structure"`
21679
21680	// How Amazon S3 responds when a multipart upload is incomplete. Specifically,
21681	// provides a number of days before Amazon S3 cancels the entire upload.
21682	AbortIncompleteMultipartUpload *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails `type:"structure"`
21683
21684	// The date when objects are moved or deleted.
21685	//
21686	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
21687	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
21688	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
21689	ExpirationDate *string `type:"string"`
21690
21691	// The length in days of the lifetime for objects that are subject to the rule.
21692	ExpirationInDays *int64 `type:"integer"`
21693
21694	// Whether Amazon S3 removes a delete marker that has no noncurrent versions.
21695	// If set to true, the delete marker is expired. If set to false, the policy
21696	// takes no action.
21697	//
21698	// If you provide ExpiredObjectDeleteMarker, you cannot provide ExpirationInDays
21699	// or ExpirationDate.
21700	ExpiredObjectDeleteMarker *bool `type:"boolean"`
21701
21702	// Identifies the objects that a rule applies to.
21703	Filter *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails `type:"structure"`
21704
21705	// The unique identifier of the rule.
21706	ID *string `type:"string"`
21707
21708	// The number of days that an object is noncurrent before Amazon S3 can perform
21709	// the associated action.
21710	NoncurrentVersionExpirationInDays *int64 `type:"integer"`
21711
21712	// Transition rules that describe when noncurrent objects transition to a specified
21713	// storage class.
21714	NoncurrentVersionTransitions []*AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails `type:"list"`
21715
21716	// A prefix that identifies one or more objects that the rule applies to.
21717	Prefix *string `type:"string"`
21718
21719	// The current status of the rule. Indicates whether the rule is currently being
21720	// applied.
21721	Status *string `type:"string"`
21722
21723	// Transition rules that indicate when objects transition to a specified storage
21724	// class.
21725	Transitions []*AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails `type:"list"`
21726}
21727
21728// String returns the string representation
21729func (s AwsS3BucketBucketLifecycleConfigurationRulesDetails) String() string {
21730	return awsutil.Prettify(s)
21731}
21732
21733// GoString returns the string representation
21734func (s AwsS3BucketBucketLifecycleConfigurationRulesDetails) GoString() string {
21735	return s.String()
21736}
21737
21738// SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value.
21739func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetAbortIncompleteMultipartUpload(v *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
21740	s.AbortIncompleteMultipartUpload = v
21741	return s
21742}
21743
21744// SetExpirationDate sets the ExpirationDate field's value.
21745func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetExpirationDate(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
21746	s.ExpirationDate = &v
21747	return s
21748}
21749
21750// SetExpirationInDays sets the ExpirationInDays field's value.
21751func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetExpirationInDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
21752	s.ExpirationInDays = &v
21753	return s
21754}
21755
21756// SetExpiredObjectDeleteMarker sets the ExpiredObjectDeleteMarker field's value.
21757func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetExpiredObjectDeleteMarker(v bool) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
21758	s.ExpiredObjectDeleteMarker = &v
21759	return s
21760}
21761
21762// SetFilter sets the Filter field's value.
21763func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetFilter(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
21764	s.Filter = v
21765	return s
21766}
21767
21768// SetID sets the ID field's value.
21769func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetID(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
21770	s.ID = &v
21771	return s
21772}
21773
21774// SetNoncurrentVersionExpirationInDays sets the NoncurrentVersionExpirationInDays field's value.
21775func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetNoncurrentVersionExpirationInDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
21776	s.NoncurrentVersionExpirationInDays = &v
21777	return s
21778}
21779
21780// SetNoncurrentVersionTransitions sets the NoncurrentVersionTransitions field's value.
21781func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetNoncurrentVersionTransitions(v []*AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
21782	s.NoncurrentVersionTransitions = v
21783	return s
21784}
21785
21786// SetPrefix sets the Prefix field's value.
21787func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetPrefix(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
21788	s.Prefix = &v
21789	return s
21790}
21791
21792// SetStatus sets the Status field's value.
21793func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetStatus(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
21794	s.Status = &v
21795	return s
21796}
21797
21798// SetTransitions sets the Transitions field's value.
21799func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetTransitions(v []*AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
21800	s.Transitions = v
21801	return s
21802}
21803
21804// Identifies the objects that a rule applies to.
21805type AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails struct {
21806	_ struct{} `type:"structure"`
21807
21808	// The configuration for the filter.
21809	Predicate *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails `type:"structure"`
21810}
21811
21812// String returns the string representation
21813func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) String() string {
21814	return awsutil.Prettify(s)
21815}
21816
21817// GoString returns the string representation
21818func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) GoString() string {
21819	return s.String()
21820}
21821
21822// SetPredicate sets the Predicate field's value.
21823func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) SetPredicate(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails {
21824	s.Predicate = v
21825	return s
21826}
21827
21828// The configuration for the filter.
21829type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails struct {
21830	_ struct{} `type:"structure"`
21831
21832	// The values to use for the filter.
21833	Operands []*AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails `type:"list"`
21834
21835	// A prefix filter.
21836	Prefix *string `type:"string"`
21837
21838	// A tag filter.
21839	Tag *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails `type:"structure"`
21840
21841	// Whether to use AND or OR to join the operands.
21842	Type *string `type:"string"`
21843}
21844
21845// String returns the string representation
21846func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) String() string {
21847	return awsutil.Prettify(s)
21848}
21849
21850// GoString returns the string representation
21851func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) GoString() string {
21852	return s.String()
21853}
21854
21855// SetOperands sets the Operands field's value.
21856func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetOperands(v []*AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
21857	s.Operands = v
21858	return s
21859}
21860
21861// SetPrefix sets the Prefix field's value.
21862func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetPrefix(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
21863	s.Prefix = &v
21864	return s
21865}
21866
21867// SetTag sets the Tag field's value.
21868func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetTag(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
21869	s.Tag = v
21870	return s
21871}
21872
21873// SetType sets the Type field's value.
21874func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetType(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
21875	s.Type = &v
21876	return s
21877}
21878
21879// A value to use for the filter.
21880type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails struct {
21881	_ struct{} `type:"structure"`
21882
21883	// Prefix text for matching objects.
21884	Prefix *string `type:"string"`
21885
21886	// A tag that is assigned to matching objects.
21887	Tag *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails `type:"structure"`
21888
21889	// The type of filter value.
21890	Type *string `type:"string"`
21891}
21892
21893// String returns the string representation
21894func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) String() string {
21895	return awsutil.Prettify(s)
21896}
21897
21898// GoString returns the string representation
21899func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) GoString() string {
21900	return s.String()
21901}
21902
21903// SetPrefix sets the Prefix field's value.
21904func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) SetPrefix(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails {
21905	s.Prefix = &v
21906	return s
21907}
21908
21909// SetTag sets the Tag field's value.
21910func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) SetTag(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails {
21911	s.Tag = v
21912	return s
21913}
21914
21915// SetType sets the Type field's value.
21916func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) SetType(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails {
21917	s.Type = &v
21918	return s
21919}
21920
21921// A tag that is assigned to matching objects.
21922type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails struct {
21923	_ struct{} `type:"structure"`
21924
21925	// The tag key.
21926	Key *string `type:"string"`
21927
21928	// The tag value.
21929	Value *string `type:"string"`
21930}
21931
21932// String returns the string representation
21933func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) String() string {
21934	return awsutil.Prettify(s)
21935}
21936
21937// GoString returns the string representation
21938func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) GoString() string {
21939	return s.String()
21940}
21941
21942// SetKey sets the Key field's value.
21943func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) SetKey(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails {
21944	s.Key = &v
21945	return s
21946}
21947
21948// SetValue sets the Value field's value.
21949func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) SetValue(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails {
21950	s.Value = &v
21951	return s
21952}
21953
21954// A tag filter.
21955type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails struct {
21956	_ struct{} `type:"structure"`
21957
21958	// The tag key.
21959	Key *string `type:"string"`
21960
21961	// The tag value
21962	Value *string `type:"string"`
21963}
21964
21965// String returns the string representation
21966func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) String() string {
21967	return awsutil.Prettify(s)
21968}
21969
21970// GoString returns the string representation
21971func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) GoString() string {
21972	return s.String()
21973}
21974
21975// SetKey sets the Key field's value.
21976func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) SetKey(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails {
21977	s.Key = &v
21978	return s
21979}
21980
21981// SetValue sets the Value field's value.
21982func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) SetValue(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails {
21983	s.Value = &v
21984	return s
21985}
21986
21987// A transition rule that describes when noncurrent objects transition to a
21988// specified storage class.
21989type AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails struct {
21990	_ struct{} `type:"structure"`
21991
21992	// The number of days that an object is noncurrent before Amazon S3 can perform
21993	// the associated action.
21994	Days *int64 `type:"integer"`
21995
21996	// The class of storage to change the object to after the object is noncurrent
21997	// for the specified number of days.
21998	StorageClass *string `type:"string"`
21999}
22000
22001// String returns the string representation
22002func (s AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) String() string {
22003	return awsutil.Prettify(s)
22004}
22005
22006// GoString returns the string representation
22007func (s AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) GoString() string {
22008	return s.String()
22009}
22010
22011// SetDays sets the Days field's value.
22012func (s *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) SetDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails {
22013	s.Days = &v
22014	return s
22015}
22016
22017// SetStorageClass sets the StorageClass field's value.
22018func (s *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) SetStorageClass(v string) *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails {
22019	s.StorageClass = &v
22020	return s
22021}
22022
22023// A rule for when objects transition to specific storage classes.
22024type AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails struct {
22025	_ struct{} `type:"structure"`
22026
22027	// A date on which to transition objects to the specified storage class. If
22028	// you provide Date, you cannot provide Days.
22029	//
22030	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
22031	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
22032	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
22033	Date *string `type:"string"`
22034
22035	// The number of days after which to transition the object to the specified
22036	// storage class. If you provide Days, you cannot provide Date.
22037	Days *int64 `type:"integer"`
22038
22039	// The storage class to transition the object to.
22040	StorageClass *string `type:"string"`
22041}
22042
22043// String returns the string representation
22044func (s AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) String() string {
22045	return awsutil.Prettify(s)
22046}
22047
22048// GoString returns the string representation
22049func (s AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) GoString() string {
22050	return s.String()
22051}
22052
22053// SetDate sets the Date field's value.
22054func (s *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) SetDate(v string) *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails {
22055	s.Date = &v
22056	return s
22057}
22058
22059// SetDays sets the Days field's value.
22060func (s *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) SetDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails {
22061	s.Days = &v
22062	return s
22063}
22064
22065// SetStorageClass sets the StorageClass field's value.
22066func (s *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) SetStorageClass(v string) *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails {
22067	s.StorageClass = &v
22068	return s
22069}
22070
22071// The details of an Amazon S3 bucket.
22072type AwsS3BucketDetails struct {
22073	_ struct{} `type:"structure"`
22074
22075	// The access control list for the S3 bucket.
22076	AccessControlList *string `type:"string"`
22077
22078	// The lifecycle configuration for objects in the S3 bucket.
22079	BucketLifecycleConfiguration *AwsS3BucketBucketLifecycleConfigurationDetails `type:"structure"`
22080
22081	// The logging configuration for the S3 bucket.
22082	BucketLoggingConfiguration *AwsS3BucketLoggingConfiguration `type:"structure"`
22083
22084	// The notification configuration for the S3 bucket.
22085	BucketNotificationConfiguration *AwsS3BucketNotificationConfiguration `type:"structure"`
22086
22087	// The website configuration parameters for the S3 bucket.
22088	BucketWebsiteConfiguration *AwsS3BucketWebsiteConfiguration `type:"structure"`
22089
22090	// Indicates when the S3 bucket was created.
22091	//
22092	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
22093	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
22094	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
22095	CreatedAt *string `type:"string"`
22096
22097	// The canonical user ID of the owner of the S3 bucket.
22098	OwnerId *string `type:"string"`
22099
22100	// The display name of the owner of the S3 bucket.
22101	OwnerName *string `type:"string"`
22102
22103	// Provides information about the Amazon S3 Public Access Block configuration
22104	// for the S3 bucket.
22105	PublicAccessBlockConfiguration *AwsS3AccountPublicAccessBlockDetails `type:"structure"`
22106
22107	// The encryption rules that are applied to the S3 bucket.
22108	ServerSideEncryptionConfiguration *AwsS3BucketServerSideEncryptionConfiguration `type:"structure"`
22109}
22110
22111// String returns the string representation
22112func (s AwsS3BucketDetails) String() string {
22113	return awsutil.Prettify(s)
22114}
22115
22116// GoString returns the string representation
22117func (s AwsS3BucketDetails) GoString() string {
22118	return s.String()
22119}
22120
22121// SetAccessControlList sets the AccessControlList field's value.
22122func (s *AwsS3BucketDetails) SetAccessControlList(v string) *AwsS3BucketDetails {
22123	s.AccessControlList = &v
22124	return s
22125}
22126
22127// SetBucketLifecycleConfiguration sets the BucketLifecycleConfiguration field's value.
22128func (s *AwsS3BucketDetails) SetBucketLifecycleConfiguration(v *AwsS3BucketBucketLifecycleConfigurationDetails) *AwsS3BucketDetails {
22129	s.BucketLifecycleConfiguration = v
22130	return s
22131}
22132
22133// SetBucketLoggingConfiguration sets the BucketLoggingConfiguration field's value.
22134func (s *AwsS3BucketDetails) SetBucketLoggingConfiguration(v *AwsS3BucketLoggingConfiguration) *AwsS3BucketDetails {
22135	s.BucketLoggingConfiguration = v
22136	return s
22137}
22138
22139// SetBucketNotificationConfiguration sets the BucketNotificationConfiguration field's value.
22140func (s *AwsS3BucketDetails) SetBucketNotificationConfiguration(v *AwsS3BucketNotificationConfiguration) *AwsS3BucketDetails {
22141	s.BucketNotificationConfiguration = v
22142	return s
22143}
22144
22145// SetBucketWebsiteConfiguration sets the BucketWebsiteConfiguration field's value.
22146func (s *AwsS3BucketDetails) SetBucketWebsiteConfiguration(v *AwsS3BucketWebsiteConfiguration) *AwsS3BucketDetails {
22147	s.BucketWebsiteConfiguration = v
22148	return s
22149}
22150
22151// SetCreatedAt sets the CreatedAt field's value.
22152func (s *AwsS3BucketDetails) SetCreatedAt(v string) *AwsS3BucketDetails {
22153	s.CreatedAt = &v
22154	return s
22155}
22156
22157// SetOwnerId sets the OwnerId field's value.
22158func (s *AwsS3BucketDetails) SetOwnerId(v string) *AwsS3BucketDetails {
22159	s.OwnerId = &v
22160	return s
22161}
22162
22163// SetOwnerName sets the OwnerName field's value.
22164func (s *AwsS3BucketDetails) SetOwnerName(v string) *AwsS3BucketDetails {
22165	s.OwnerName = &v
22166	return s
22167}
22168
22169// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value.
22170func (s *AwsS3BucketDetails) SetPublicAccessBlockConfiguration(v *AwsS3AccountPublicAccessBlockDetails) *AwsS3BucketDetails {
22171	s.PublicAccessBlockConfiguration = v
22172	return s
22173}
22174
22175// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
22176func (s *AwsS3BucketDetails) SetServerSideEncryptionConfiguration(v *AwsS3BucketServerSideEncryptionConfiguration) *AwsS3BucketDetails {
22177	s.ServerSideEncryptionConfiguration = v
22178	return s
22179}
22180
22181// Information about logging for the S3 bucket
22182type AwsS3BucketLoggingConfiguration struct {
22183	_ struct{} `type:"structure"`
22184
22185	// The name of the S3 bucket where log files for the S3 bucket are stored.
22186	DestinationBucketName *string `type:"string"`
22187
22188	// The prefix added to log files for the S3 bucket.
22189	LogFilePrefix *string `type:"string"`
22190}
22191
22192// String returns the string representation
22193func (s AwsS3BucketLoggingConfiguration) String() string {
22194	return awsutil.Prettify(s)
22195}
22196
22197// GoString returns the string representation
22198func (s AwsS3BucketLoggingConfiguration) GoString() string {
22199	return s.String()
22200}
22201
22202// SetDestinationBucketName sets the DestinationBucketName field's value.
22203func (s *AwsS3BucketLoggingConfiguration) SetDestinationBucketName(v string) *AwsS3BucketLoggingConfiguration {
22204	s.DestinationBucketName = &v
22205	return s
22206}
22207
22208// SetLogFilePrefix sets the LogFilePrefix field's value.
22209func (s *AwsS3BucketLoggingConfiguration) SetLogFilePrefix(v string) *AwsS3BucketLoggingConfiguration {
22210	s.LogFilePrefix = &v
22211	return s
22212}
22213
22214// The notification configuration for the S3 bucket.
22215type AwsS3BucketNotificationConfiguration struct {
22216	_ struct{} `type:"structure"`
22217
22218	// Configurations for S3 bucket notifications.
22219	Configurations []*AwsS3BucketNotificationConfigurationDetail `type:"list"`
22220}
22221
22222// String returns the string representation
22223func (s AwsS3BucketNotificationConfiguration) String() string {
22224	return awsutil.Prettify(s)
22225}
22226
22227// GoString returns the string representation
22228func (s AwsS3BucketNotificationConfiguration) GoString() string {
22229	return s.String()
22230}
22231
22232// SetConfigurations sets the Configurations field's value.
22233func (s *AwsS3BucketNotificationConfiguration) SetConfigurations(v []*AwsS3BucketNotificationConfigurationDetail) *AwsS3BucketNotificationConfiguration {
22234	s.Configurations = v
22235	return s
22236}
22237
22238// Details for an S3 bucket notification configuration.
22239type AwsS3BucketNotificationConfigurationDetail struct {
22240	_ struct{} `type:"structure"`
22241
22242	// The ARN of the Lambda function, Amazon SQS queue, or Amazon SNS topic that
22243	// generates the notification.
22244	Destination *string `type:"string"`
22245
22246	// The list of events that trigger a notification.
22247	Events []*string `type:"list"`
22248
22249	// The filters that determine which S3 buckets generate notifications.
22250	Filter *AwsS3BucketNotificationConfigurationFilter `type:"structure"`
22251
22252	// Indicates the type of notification. Notifications can be generated using
22253	// Lambda functions, Amazon SQS queues or Amazon SNS topics.
22254	Type *string `type:"string"`
22255}
22256
22257// String returns the string representation
22258func (s AwsS3BucketNotificationConfigurationDetail) String() string {
22259	return awsutil.Prettify(s)
22260}
22261
22262// GoString returns the string representation
22263func (s AwsS3BucketNotificationConfigurationDetail) GoString() string {
22264	return s.String()
22265}
22266
22267// SetDestination sets the Destination field's value.
22268func (s *AwsS3BucketNotificationConfigurationDetail) SetDestination(v string) *AwsS3BucketNotificationConfigurationDetail {
22269	s.Destination = &v
22270	return s
22271}
22272
22273// SetEvents sets the Events field's value.
22274func (s *AwsS3BucketNotificationConfigurationDetail) SetEvents(v []*string) *AwsS3BucketNotificationConfigurationDetail {
22275	s.Events = v
22276	return s
22277}
22278
22279// SetFilter sets the Filter field's value.
22280func (s *AwsS3BucketNotificationConfigurationDetail) SetFilter(v *AwsS3BucketNotificationConfigurationFilter) *AwsS3BucketNotificationConfigurationDetail {
22281	s.Filter = v
22282	return s
22283}
22284
22285// SetType sets the Type field's value.
22286func (s *AwsS3BucketNotificationConfigurationDetail) SetType(v string) *AwsS3BucketNotificationConfigurationDetail {
22287	s.Type = &v
22288	return s
22289}
22290
22291// Filtering information for the notifications. The filtering is based on Amazon
22292// S3 key names.
22293type AwsS3BucketNotificationConfigurationFilter struct {
22294	_ struct{} `type:"structure"`
22295
22296	// Details for an Amazon S3 filter.
22297	S3KeyFilter *AwsS3BucketNotificationConfigurationS3KeyFilter `type:"structure"`
22298}
22299
22300// String returns the string representation
22301func (s AwsS3BucketNotificationConfigurationFilter) String() string {
22302	return awsutil.Prettify(s)
22303}
22304
22305// GoString returns the string representation
22306func (s AwsS3BucketNotificationConfigurationFilter) GoString() string {
22307	return s.String()
22308}
22309
22310// SetS3KeyFilter sets the S3KeyFilter field's value.
22311func (s *AwsS3BucketNotificationConfigurationFilter) SetS3KeyFilter(v *AwsS3BucketNotificationConfigurationS3KeyFilter) *AwsS3BucketNotificationConfigurationFilter {
22312	s.S3KeyFilter = v
22313	return s
22314}
22315
22316// Details for an Amazon S3 filter.
22317type AwsS3BucketNotificationConfigurationS3KeyFilter struct {
22318	_ struct{} `type:"structure"`
22319
22320	// The filter rules for the filter.
22321	FilterRules []*AwsS3BucketNotificationConfigurationS3KeyFilterRule `type:"list"`
22322}
22323
22324// String returns the string representation
22325func (s AwsS3BucketNotificationConfigurationS3KeyFilter) String() string {
22326	return awsutil.Prettify(s)
22327}
22328
22329// GoString returns the string representation
22330func (s AwsS3BucketNotificationConfigurationS3KeyFilter) GoString() string {
22331	return s.String()
22332}
22333
22334// SetFilterRules sets the FilterRules field's value.
22335func (s *AwsS3BucketNotificationConfigurationS3KeyFilter) SetFilterRules(v []*AwsS3BucketNotificationConfigurationS3KeyFilterRule) *AwsS3BucketNotificationConfigurationS3KeyFilter {
22336	s.FilterRules = v
22337	return s
22338}
22339
22340// Details for a filter rule.
22341type AwsS3BucketNotificationConfigurationS3KeyFilterRule struct {
22342	_ struct{} `type:"structure"`
22343
22344	// Indicates whether the filter is based on the prefix or suffix of the Amazon
22345	// S3 key.
22346	Name *string `type:"string" enum:"AwsS3BucketNotificationConfigurationS3KeyFilterRuleName"`
22347
22348	// The filter value.
22349	Value *string `type:"string"`
22350}
22351
22352// String returns the string representation
22353func (s AwsS3BucketNotificationConfigurationS3KeyFilterRule) String() string {
22354	return awsutil.Prettify(s)
22355}
22356
22357// GoString returns the string representation
22358func (s AwsS3BucketNotificationConfigurationS3KeyFilterRule) GoString() string {
22359	return s.String()
22360}
22361
22362// SetName sets the Name field's value.
22363func (s *AwsS3BucketNotificationConfigurationS3KeyFilterRule) SetName(v string) *AwsS3BucketNotificationConfigurationS3KeyFilterRule {
22364	s.Name = &v
22365	return s
22366}
22367
22368// SetValue sets the Value field's value.
22369func (s *AwsS3BucketNotificationConfigurationS3KeyFilterRule) SetValue(v string) *AwsS3BucketNotificationConfigurationS3KeyFilterRule {
22370	s.Value = &v
22371	return s
22372}
22373
22374// Specifies the default server-side encryption to apply to new objects in the
22375// bucket.
22376type AwsS3BucketServerSideEncryptionByDefault struct {
22377	_ struct{} `type:"structure"`
22378
22379	// KMS key ID to use for the default encryption.
22380	KMSMasterKeyID *string `type:"string"`
22381
22382	// Server-side encryption algorithm to use for the default encryption.
22383	SSEAlgorithm *string `type:"string"`
22384}
22385
22386// String returns the string representation
22387func (s AwsS3BucketServerSideEncryptionByDefault) String() string {
22388	return awsutil.Prettify(s)
22389}
22390
22391// GoString returns the string representation
22392func (s AwsS3BucketServerSideEncryptionByDefault) GoString() string {
22393	return s.String()
22394}
22395
22396// SetKMSMasterKeyID sets the KMSMasterKeyID field's value.
22397func (s *AwsS3BucketServerSideEncryptionByDefault) SetKMSMasterKeyID(v string) *AwsS3BucketServerSideEncryptionByDefault {
22398	s.KMSMasterKeyID = &v
22399	return s
22400}
22401
22402// SetSSEAlgorithm sets the SSEAlgorithm field's value.
22403func (s *AwsS3BucketServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *AwsS3BucketServerSideEncryptionByDefault {
22404	s.SSEAlgorithm = &v
22405	return s
22406}
22407
22408// The encryption configuration for the S3 bucket.
22409type AwsS3BucketServerSideEncryptionConfiguration struct {
22410	_ struct{} `type:"structure"`
22411
22412	// The encryption rules that are applied to the S3 bucket.
22413	Rules []*AwsS3BucketServerSideEncryptionRule `type:"list"`
22414}
22415
22416// String returns the string representation
22417func (s AwsS3BucketServerSideEncryptionConfiguration) String() string {
22418	return awsutil.Prettify(s)
22419}
22420
22421// GoString returns the string representation
22422func (s AwsS3BucketServerSideEncryptionConfiguration) GoString() string {
22423	return s.String()
22424}
22425
22426// SetRules sets the Rules field's value.
22427func (s *AwsS3BucketServerSideEncryptionConfiguration) SetRules(v []*AwsS3BucketServerSideEncryptionRule) *AwsS3BucketServerSideEncryptionConfiguration {
22428	s.Rules = v
22429	return s
22430}
22431
22432// An encryption rule to apply to the S3 bucket.
22433type AwsS3BucketServerSideEncryptionRule struct {
22434	_ struct{} `type:"structure"`
22435
22436	// Specifies the default server-side encryption to apply to new objects in the
22437	// bucket. If a PUT object request doesn't specify any server-side encryption,
22438	// this default encryption is applied.
22439	ApplyServerSideEncryptionByDefault *AwsS3BucketServerSideEncryptionByDefault `type:"structure"`
22440}
22441
22442// String returns the string representation
22443func (s AwsS3BucketServerSideEncryptionRule) String() string {
22444	return awsutil.Prettify(s)
22445}
22446
22447// GoString returns the string representation
22448func (s AwsS3BucketServerSideEncryptionRule) GoString() string {
22449	return s.String()
22450}
22451
22452// SetApplyServerSideEncryptionByDefault sets the ApplyServerSideEncryptionByDefault field's value.
22453func (s *AwsS3BucketServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *AwsS3BucketServerSideEncryptionByDefault) *AwsS3BucketServerSideEncryptionRule {
22454	s.ApplyServerSideEncryptionByDefault = v
22455	return s
22456}
22457
22458// Website parameters for the S3 bucket.
22459type AwsS3BucketWebsiteConfiguration struct {
22460	_ struct{} `type:"structure"`
22461
22462	// The name of the error document for the website.
22463	ErrorDocument *string `type:"string"`
22464
22465	// The name of the index document for the website.
22466	IndexDocumentSuffix *string `type:"string"`
22467
22468	// The redirect behavior for requests to the website.
22469	RedirectAllRequestsTo *AwsS3BucketWebsiteConfigurationRedirectTo `type:"structure"`
22470
22471	// The rules for applying redirects for requests to the website.
22472	RoutingRules []*AwsS3BucketWebsiteConfigurationRoutingRule `type:"list"`
22473}
22474
22475// String returns the string representation
22476func (s AwsS3BucketWebsiteConfiguration) String() string {
22477	return awsutil.Prettify(s)
22478}
22479
22480// GoString returns the string representation
22481func (s AwsS3BucketWebsiteConfiguration) GoString() string {
22482	return s.String()
22483}
22484
22485// SetErrorDocument sets the ErrorDocument field's value.
22486func (s *AwsS3BucketWebsiteConfiguration) SetErrorDocument(v string) *AwsS3BucketWebsiteConfiguration {
22487	s.ErrorDocument = &v
22488	return s
22489}
22490
22491// SetIndexDocumentSuffix sets the IndexDocumentSuffix field's value.
22492func (s *AwsS3BucketWebsiteConfiguration) SetIndexDocumentSuffix(v string) *AwsS3BucketWebsiteConfiguration {
22493	s.IndexDocumentSuffix = &v
22494	return s
22495}
22496
22497// SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value.
22498func (s *AwsS3BucketWebsiteConfiguration) SetRedirectAllRequestsTo(v *AwsS3BucketWebsiteConfigurationRedirectTo) *AwsS3BucketWebsiteConfiguration {
22499	s.RedirectAllRequestsTo = v
22500	return s
22501}
22502
22503// SetRoutingRules sets the RoutingRules field's value.
22504func (s *AwsS3BucketWebsiteConfiguration) SetRoutingRules(v []*AwsS3BucketWebsiteConfigurationRoutingRule) *AwsS3BucketWebsiteConfiguration {
22505	s.RoutingRules = v
22506	return s
22507}
22508
22509// The redirect behavior for requests to the website.
22510type AwsS3BucketWebsiteConfigurationRedirectTo struct {
22511	_ struct{} `type:"structure"`
22512
22513	// The name of the host to redirect requests to.
22514	Hostname *string `type:"string"`
22515
22516	// The protocol to use when redirecting requests. By default, uses the same
22517	// protocol as the original request.
22518	Protocol *string `type:"string"`
22519}
22520
22521// String returns the string representation
22522func (s AwsS3BucketWebsiteConfigurationRedirectTo) String() string {
22523	return awsutil.Prettify(s)
22524}
22525
22526// GoString returns the string representation
22527func (s AwsS3BucketWebsiteConfigurationRedirectTo) GoString() string {
22528	return s.String()
22529}
22530
22531// SetHostname sets the Hostname field's value.
22532func (s *AwsS3BucketWebsiteConfigurationRedirectTo) SetHostname(v string) *AwsS3BucketWebsiteConfigurationRedirectTo {
22533	s.Hostname = &v
22534	return s
22535}
22536
22537// SetProtocol sets the Protocol field's value.
22538func (s *AwsS3BucketWebsiteConfigurationRedirectTo) SetProtocol(v string) *AwsS3BucketWebsiteConfigurationRedirectTo {
22539	s.Protocol = &v
22540	return s
22541}
22542
22543// A rule for redirecting requests to the website.
22544type AwsS3BucketWebsiteConfigurationRoutingRule struct {
22545	_ struct{} `type:"structure"`
22546
22547	// Provides the condition that must be met in order to apply the routing rule.
22548	Condition *AwsS3BucketWebsiteConfigurationRoutingRuleCondition `type:"structure"`
22549
22550	// Provides the rules to redirect the request if the condition in Condition
22551	// is met.
22552	Redirect *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect `type:"structure"`
22553}
22554
22555// String returns the string representation
22556func (s AwsS3BucketWebsiteConfigurationRoutingRule) String() string {
22557	return awsutil.Prettify(s)
22558}
22559
22560// GoString returns the string representation
22561func (s AwsS3BucketWebsiteConfigurationRoutingRule) GoString() string {
22562	return s.String()
22563}
22564
22565// SetCondition sets the Condition field's value.
22566func (s *AwsS3BucketWebsiteConfigurationRoutingRule) SetCondition(v *AwsS3BucketWebsiteConfigurationRoutingRuleCondition) *AwsS3BucketWebsiteConfigurationRoutingRule {
22567	s.Condition = v
22568	return s
22569}
22570
22571// SetRedirect sets the Redirect field's value.
22572func (s *AwsS3BucketWebsiteConfigurationRoutingRule) SetRedirect(v *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) *AwsS3BucketWebsiteConfigurationRoutingRule {
22573	s.Redirect = v
22574	return s
22575}
22576
22577// The condition that must be met in order to apply the routing rule.
22578type AwsS3BucketWebsiteConfigurationRoutingRuleCondition struct {
22579	_ struct{} `type:"structure"`
22580
22581	// Indicates to redirect the request if the HTTP error code matches this value.
22582	HttpErrorCodeReturnedEquals *string `type:"string"`
22583
22584	// Indicates to redirect the request if the key prefix matches this value.
22585	KeyPrefixEquals *string `type:"string"`
22586}
22587
22588// String returns the string representation
22589func (s AwsS3BucketWebsiteConfigurationRoutingRuleCondition) String() string {
22590	return awsutil.Prettify(s)
22591}
22592
22593// GoString returns the string representation
22594func (s AwsS3BucketWebsiteConfigurationRoutingRuleCondition) GoString() string {
22595	return s.String()
22596}
22597
22598// SetHttpErrorCodeReturnedEquals sets the HttpErrorCodeReturnedEquals field's value.
22599func (s *AwsS3BucketWebsiteConfigurationRoutingRuleCondition) SetHttpErrorCodeReturnedEquals(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleCondition {
22600	s.HttpErrorCodeReturnedEquals = &v
22601	return s
22602}
22603
22604// SetKeyPrefixEquals sets the KeyPrefixEquals field's value.
22605func (s *AwsS3BucketWebsiteConfigurationRoutingRuleCondition) SetKeyPrefixEquals(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleCondition {
22606	s.KeyPrefixEquals = &v
22607	return s
22608}
22609
22610// The rules to redirect the request if the condition in Condition is met.
22611type AwsS3BucketWebsiteConfigurationRoutingRuleRedirect struct {
22612	_ struct{} `type:"structure"`
22613
22614	// The host name to use in the redirect request.
22615	Hostname *string `type:"string"`
22616
22617	// The HTTP redirect code to use in the response.
22618	HttpRedirectCode *string `type:"string"`
22619
22620	// The protocol to use to redirect the request. By default, uses the protocol
22621	// from the original request.
22622	Protocol *string `type:"string"`
22623
22624	// The object key prefix to use in the redirect request.
22625	//
22626	// Cannot be provided if ReplaceKeyWith is present.
22627	ReplaceKeyPrefixWith *string `type:"string"`
22628
22629	// The specific object key to use in the redirect request.
22630	//
22631	// Cannot be provided if ReplaceKeyPrefixWith is present.
22632	ReplaceKeyWith *string `type:"string"`
22633}
22634
22635// String returns the string representation
22636func (s AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) String() string {
22637	return awsutil.Prettify(s)
22638}
22639
22640// GoString returns the string representation
22641func (s AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) GoString() string {
22642	return s.String()
22643}
22644
22645// SetHostname sets the Hostname field's value.
22646func (s *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) SetHostname(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect {
22647	s.Hostname = &v
22648	return s
22649}
22650
22651// SetHttpRedirectCode sets the HttpRedirectCode field's value.
22652func (s *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) SetHttpRedirectCode(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect {
22653	s.HttpRedirectCode = &v
22654	return s
22655}
22656
22657// SetProtocol sets the Protocol field's value.
22658func (s *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) SetProtocol(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect {
22659	s.Protocol = &v
22660	return s
22661}
22662
22663// SetReplaceKeyPrefixWith sets the ReplaceKeyPrefixWith field's value.
22664func (s *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) SetReplaceKeyPrefixWith(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect {
22665	s.ReplaceKeyPrefixWith = &v
22666	return s
22667}
22668
22669// SetReplaceKeyWith sets the ReplaceKeyWith field's value.
22670func (s *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) SetReplaceKeyWith(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect {
22671	s.ReplaceKeyWith = &v
22672	return s
22673}
22674
22675// Details about an Amazon S3 object.
22676type AwsS3ObjectDetails struct {
22677	_ struct{} `type:"structure"`
22678
22679	// A standard MIME type describing the format of the object data.
22680	ContentType *string `type:"string"`
22681
22682	// The opaque identifier assigned by a web server to a specific version of a
22683	// resource found at a URL.
22684	ETag *string `type:"string"`
22685
22686	// Indicates when the object was last modified.
22687	//
22688	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
22689	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
22690	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
22691	LastModified *string `type:"string"`
22692
22693	// The identifier of the KMS symmetric customer managed key that was used for
22694	// the object.
22695	SSEKMSKeyId *string `type:"string"`
22696
22697	// If the object is stored using server-side encryption, the value of the server-side
22698	// encryption algorithm used when storing this object in Amazon S3.
22699	ServerSideEncryption *string `type:"string"`
22700
22701	// The version of the object.
22702	VersionId *string `type:"string"`
22703}
22704
22705// String returns the string representation
22706func (s AwsS3ObjectDetails) String() string {
22707	return awsutil.Prettify(s)
22708}
22709
22710// GoString returns the string representation
22711func (s AwsS3ObjectDetails) GoString() string {
22712	return s.String()
22713}
22714
22715// SetContentType sets the ContentType field's value.
22716func (s *AwsS3ObjectDetails) SetContentType(v string) *AwsS3ObjectDetails {
22717	s.ContentType = &v
22718	return s
22719}
22720
22721// SetETag sets the ETag field's value.
22722func (s *AwsS3ObjectDetails) SetETag(v string) *AwsS3ObjectDetails {
22723	s.ETag = &v
22724	return s
22725}
22726
22727// SetLastModified sets the LastModified field's value.
22728func (s *AwsS3ObjectDetails) SetLastModified(v string) *AwsS3ObjectDetails {
22729	s.LastModified = &v
22730	return s
22731}
22732
22733// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
22734func (s *AwsS3ObjectDetails) SetSSEKMSKeyId(v string) *AwsS3ObjectDetails {
22735	s.SSEKMSKeyId = &v
22736	return s
22737}
22738
22739// SetServerSideEncryption sets the ServerSideEncryption field's value.
22740func (s *AwsS3ObjectDetails) SetServerSideEncryption(v string) *AwsS3ObjectDetails {
22741	s.ServerSideEncryption = &v
22742	return s
22743}
22744
22745// SetVersionId sets the VersionId field's value.
22746func (s *AwsS3ObjectDetails) SetVersionId(v string) *AwsS3ObjectDetails {
22747	s.VersionId = &v
22748	return s
22749}
22750
22751// Details about an Secrets Manager secret.
22752type AwsSecretsManagerSecretDetails struct {
22753	_ struct{} `type:"structure"`
22754
22755	// Whether the secret is deleted.
22756	Deleted *bool `type:"boolean"`
22757
22758	// The user-provided description of the secret.
22759	Description *string `type:"string"`
22760
22761	// The ARN, Key ID, or alias of the KMS key used to encrypt the SecretString
22762	// or SecretBinary values for versions of this secret.
22763	KmsKeyId *string `type:"string"`
22764
22765	// The name of the secret.
22766	Name *string `type:"string"`
22767
22768	// Whether rotation is enabled.
22769	RotationEnabled *bool `type:"boolean"`
22770
22771	// The ARN of the Lambda function that rotates the secret.
22772	RotationLambdaArn *string `type:"string"`
22773
22774	// Whether the rotation occurred within the specified rotation frequency.
22775	RotationOccurredWithinFrequency *bool `type:"boolean"`
22776
22777	// Defines the rotation schedule for the secret.
22778	RotationRules *AwsSecretsManagerSecretRotationRules `type:"structure"`
22779}
22780
22781// String returns the string representation
22782func (s AwsSecretsManagerSecretDetails) String() string {
22783	return awsutil.Prettify(s)
22784}
22785
22786// GoString returns the string representation
22787func (s AwsSecretsManagerSecretDetails) GoString() string {
22788	return s.String()
22789}
22790
22791// SetDeleted sets the Deleted field's value.
22792func (s *AwsSecretsManagerSecretDetails) SetDeleted(v bool) *AwsSecretsManagerSecretDetails {
22793	s.Deleted = &v
22794	return s
22795}
22796
22797// SetDescription sets the Description field's value.
22798func (s *AwsSecretsManagerSecretDetails) SetDescription(v string) *AwsSecretsManagerSecretDetails {
22799	s.Description = &v
22800	return s
22801}
22802
22803// SetKmsKeyId sets the KmsKeyId field's value.
22804func (s *AwsSecretsManagerSecretDetails) SetKmsKeyId(v string) *AwsSecretsManagerSecretDetails {
22805	s.KmsKeyId = &v
22806	return s
22807}
22808
22809// SetName sets the Name field's value.
22810func (s *AwsSecretsManagerSecretDetails) SetName(v string) *AwsSecretsManagerSecretDetails {
22811	s.Name = &v
22812	return s
22813}
22814
22815// SetRotationEnabled sets the RotationEnabled field's value.
22816func (s *AwsSecretsManagerSecretDetails) SetRotationEnabled(v bool) *AwsSecretsManagerSecretDetails {
22817	s.RotationEnabled = &v
22818	return s
22819}
22820
22821// SetRotationLambdaArn sets the RotationLambdaArn field's value.
22822func (s *AwsSecretsManagerSecretDetails) SetRotationLambdaArn(v string) *AwsSecretsManagerSecretDetails {
22823	s.RotationLambdaArn = &v
22824	return s
22825}
22826
22827// SetRotationOccurredWithinFrequency sets the RotationOccurredWithinFrequency field's value.
22828func (s *AwsSecretsManagerSecretDetails) SetRotationOccurredWithinFrequency(v bool) *AwsSecretsManagerSecretDetails {
22829	s.RotationOccurredWithinFrequency = &v
22830	return s
22831}
22832
22833// SetRotationRules sets the RotationRules field's value.
22834func (s *AwsSecretsManagerSecretDetails) SetRotationRules(v *AwsSecretsManagerSecretRotationRules) *AwsSecretsManagerSecretDetails {
22835	s.RotationRules = v
22836	return s
22837}
22838
22839// Defines the rotation schedule for the secret.
22840type AwsSecretsManagerSecretRotationRules struct {
22841	_ struct{} `type:"structure"`
22842
22843	// The number of days after the previous rotation to rotate the secret.
22844	AutomaticallyAfterDays *int64 `type:"integer"`
22845}
22846
22847// String returns the string representation
22848func (s AwsSecretsManagerSecretRotationRules) String() string {
22849	return awsutil.Prettify(s)
22850}
22851
22852// GoString returns the string representation
22853func (s AwsSecretsManagerSecretRotationRules) GoString() string {
22854	return s.String()
22855}
22856
22857// SetAutomaticallyAfterDays sets the AutomaticallyAfterDays field's value.
22858func (s *AwsSecretsManagerSecretRotationRules) SetAutomaticallyAfterDays(v int64) *AwsSecretsManagerSecretRotationRules {
22859	s.AutomaticallyAfterDays = &v
22860	return s
22861}
22862
22863// Provides consistent format for the contents of the Security Hub-aggregated
22864// findings. AwsSecurityFinding format enables you to share findings between
22865// Amazon Web Services security services and third-party solutions, and security
22866// standards checks.
22867//
22868// A finding is a potential security issue generated either by Amazon Web Services
22869// services or by the integrated third-party solutions and standards checks.
22870type AwsSecurityFinding struct {
22871	_ struct{} `type:"structure"`
22872
22873	// Provides details about an action that affects or that was taken on a resource.
22874	Action *Action `type:"structure"`
22875
22876	// The Amazon Web Services account ID that a finding is generated in.
22877	//
22878	// AwsAccountId is a required field
22879	AwsAccountId *string `type:"string" required:"true"`
22880
22881	// The name of the company for the product that generated the finding.
22882	//
22883	// Security Hub populates this attribute automatically for each finding. You
22884	// cannot be updated using BatchImportFindings or BatchUpdateFindings. The exception
22885	// to this is when you use a custom integration.
22886	//
22887	// When you use the Security Hub console to filter findings by company name,
22888	// you use this attribute.
22889	//
22890	// When you use the Security Hub API to filter findings by company name, you
22891	// use the aws/securityhub/CompanyName attribute under ProductFields.
22892	//
22893	// Security Hub does not synchronize those two attributes.
22894	CompanyName *string `type:"string"`
22895
22896	// This data type is exclusive to findings that are generated as the result
22897	// of a check run against a specific rule in a supported security standard,
22898	// such as CIS Amazon Web Services Foundations. Contains security standard-related
22899	// finding details.
22900	Compliance *Compliance `type:"structure"`
22901
22902	// A finding's confidence. Confidence is defined as the likelihood that a finding
22903	// accurately identifies the behavior or issue that it was intended to identify.
22904	//
22905	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
22906	// zero percent confidence and 100 means 100 percent confidence.
22907	Confidence *int64 `type:"integer"`
22908
22909	// Indicates when the security-findings provider created the potential security
22910	// issue that a finding captured.
22911	//
22912	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
22913	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
22914	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
22915	//
22916	// CreatedAt is a required field
22917	CreatedAt *string `type:"string" required:"true"`
22918
22919	// The level of importance assigned to the resources associated with the finding.
22920	//
22921	// A score of 0 means that the underlying resources have no criticality, and
22922	// a score of 100 is reserved for the most critical resources.
22923	Criticality *int64 `type:"integer"`
22924
22925	// A finding's description.
22926	//
22927	// In this release, Description is a required property.
22928	//
22929	// Description is a required field
22930	Description *string `type:"string" required:"true"`
22931
22932	// In a BatchImportFindings request, finding providers use FindingProviderFields
22933	// to provide and update their own values for confidence, criticality, related
22934	// findings, severity, and types.
22935	FindingProviderFields *FindingProviderFields `type:"structure"`
22936
22937	// Indicates when the security-findings provider first observed the potential
22938	// security issue that a finding captured.
22939	//
22940	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
22941	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
22942	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
22943	FirstObservedAt *string `type:"string"`
22944
22945	// The identifier for the solution-specific component (a discrete unit of logic)
22946	// that generated a finding. In various security-findings providers' solutions,
22947	// this generator can be called a rule, a check, a detector, a plugin, etc.
22948	//
22949	// GeneratorId is a required field
22950	GeneratorId *string `type:"string" required:"true"`
22951
22952	// The security findings provider-specific identifier for a finding.
22953	//
22954	// Id is a required field
22955	Id *string `type:"string" required:"true"`
22956
22957	// Indicates when the security-findings provider most recently observed the
22958	// potential security issue that a finding captured.
22959	//
22960	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
22961	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
22962	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
22963	LastObservedAt *string `type:"string"`
22964
22965	// A list of malware related to a finding.
22966	Malware []*Malware `type:"list"`
22967
22968	// The details of network-related information about a finding.
22969	Network *Network `type:"structure"`
22970
22971	// Provides information about a network path that is relevant to a finding.
22972	// Each entry under NetworkPath represents a component of that path.
22973	NetworkPath []*NetworkPathComponent `type:"list"`
22974
22975	// A user-defined note added to a finding.
22976	Note *Note `type:"structure"`
22977
22978	// Provides an overview of the patch compliance status for an instance against
22979	// a selected compliance standard.
22980	PatchSummary *PatchSummary `type:"structure"`
22981
22982	// The details of process-related information about a finding.
22983	Process *ProcessDetails `type:"structure"`
22984
22985	// The ARN generated by Security Hub that uniquely identifies a product that
22986	// generates findings. This can be the ARN for a third-party product that is
22987	// integrated with Security Hub, or the ARN for a custom integration.
22988	//
22989	// ProductArn is a required field
22990	ProductArn *string `type:"string" required:"true"`
22991
22992	// A data type where security-findings providers can include additional solution-specific
22993	// details that aren't part of the defined AwsSecurityFinding format.
22994	//
22995	// Can contain up to 50 key-value pairs. For each key-value pair, the key can
22996	// contain up to 128 characters, and the value can contain up to 2048 characters.
22997	ProductFields map[string]*string `type:"map"`
22998
22999	// The name of the product that generated the finding.
23000	//
23001	// Security Hub populates this attribute automatically for each finding. You
23002	// cannot update it using BatchImportFindings or BatchUpdateFindings. The exception
23003	// to this is when you use a custom integration.
23004	//
23005	// When you use the Security Hub console to filter findings by product name,
23006	// you use this attribute.
23007	//
23008	// When you use the Security Hub API to filter findings by product name, you
23009	// use the aws/securityhub/ProductName attribute under ProductFields.
23010	//
23011	// Security Hub does not synchronize those two attributes.
23012	ProductName *string `type:"string"`
23013
23014	// The record state of a finding.
23015	RecordState *string `type:"string" enum:"RecordState"`
23016
23017	// The Region from which the finding was generated.
23018	//
23019	// Security Hub populates this attribute automatically for each finding. You
23020	// cannot update it using BatchImportFindings or BatchUpdateFindings.
23021	Region *string `type:"string"`
23022
23023	// A list of related findings.
23024	RelatedFindings []*RelatedFinding `type:"list"`
23025
23026	// A data type that describes the remediation options for a finding.
23027	Remediation *Remediation `type:"structure"`
23028
23029	// A set of resource data types that describe the resources that the finding
23030	// refers to.
23031	//
23032	// Resources is a required field
23033	Resources []*Resource `type:"list" required:"true"`
23034
23035	// The schema version that a finding is formatted for.
23036	//
23037	// SchemaVersion is a required field
23038	SchemaVersion *string `type:"string" required:"true"`
23039
23040	// A finding's severity.
23041	Severity *Severity `type:"structure"`
23042
23043	// A URL that links to a page about the current finding in the security-findings
23044	// provider's solution.
23045	SourceUrl *string `type:"string"`
23046
23047	// Threat intelligence details related to a finding.
23048	ThreatIntelIndicators []*ThreatIntelIndicator `type:"list"`
23049
23050	// A finding's title.
23051	//
23052	// In this release, Title is a required property.
23053	//
23054	// Title is a required field
23055	Title *string `type:"string" required:"true"`
23056
23057	// One or more finding types in the format of namespace/category/classifier
23058	// that classify a finding.
23059	//
23060	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
23061	// | Unusual Behaviors | Sensitive Data Identifications
23062	Types []*string `type:"list"`
23063
23064	// Indicates when the security-findings provider last updated the finding record.
23065	//
23066	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
23067	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
23068	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
23069	//
23070	// UpdatedAt is a required field
23071	UpdatedAt *string `type:"string" required:"true"`
23072
23073	// A list of name/value string pairs associated with the finding. These are
23074	// custom, user-defined fields added to a finding.
23075	UserDefinedFields map[string]*string `type:"map"`
23076
23077	// Indicates the veracity of a finding.
23078	VerificationState *string `type:"string" enum:"VerificationState"`
23079
23080	// Provides a list of vulnerabilities associated with the findings.
23081	Vulnerabilities []*Vulnerability `type:"list"`
23082
23083	// Provides information about the status of the investigation into a finding.
23084	Workflow *Workflow `type:"structure"`
23085
23086	// The workflow state of a finding.
23087	WorkflowState *string `deprecated:"true" type:"string" enum:"WorkflowState"`
23088}
23089
23090// String returns the string representation
23091func (s AwsSecurityFinding) String() string {
23092	return awsutil.Prettify(s)
23093}
23094
23095// GoString returns the string representation
23096func (s AwsSecurityFinding) GoString() string {
23097	return s.String()
23098}
23099
23100// Validate inspects the fields of the type to determine if they are valid.
23101func (s *AwsSecurityFinding) Validate() error {
23102	invalidParams := request.ErrInvalidParams{Context: "AwsSecurityFinding"}
23103	if s.AwsAccountId == nil {
23104		invalidParams.Add(request.NewErrParamRequired("AwsAccountId"))
23105	}
23106	if s.CreatedAt == nil {
23107		invalidParams.Add(request.NewErrParamRequired("CreatedAt"))
23108	}
23109	if s.Description == nil {
23110		invalidParams.Add(request.NewErrParamRequired("Description"))
23111	}
23112	if s.GeneratorId == nil {
23113		invalidParams.Add(request.NewErrParamRequired("GeneratorId"))
23114	}
23115	if s.Id == nil {
23116		invalidParams.Add(request.NewErrParamRequired("Id"))
23117	}
23118	if s.ProductArn == nil {
23119		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
23120	}
23121	if s.Resources == nil {
23122		invalidParams.Add(request.NewErrParamRequired("Resources"))
23123	}
23124	if s.SchemaVersion == nil {
23125		invalidParams.Add(request.NewErrParamRequired("SchemaVersion"))
23126	}
23127	if s.Title == nil {
23128		invalidParams.Add(request.NewErrParamRequired("Title"))
23129	}
23130	if s.UpdatedAt == nil {
23131		invalidParams.Add(request.NewErrParamRequired("UpdatedAt"))
23132	}
23133	if s.Compliance != nil {
23134		if err := s.Compliance.Validate(); err != nil {
23135			invalidParams.AddNested("Compliance", err.(request.ErrInvalidParams))
23136		}
23137	}
23138	if s.FindingProviderFields != nil {
23139		if err := s.FindingProviderFields.Validate(); err != nil {
23140			invalidParams.AddNested("FindingProviderFields", err.(request.ErrInvalidParams))
23141		}
23142	}
23143	if s.Malware != nil {
23144		for i, v := range s.Malware {
23145			if v == nil {
23146				continue
23147			}
23148			if err := v.Validate(); err != nil {
23149				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Malware", i), err.(request.ErrInvalidParams))
23150			}
23151		}
23152	}
23153	if s.Note != nil {
23154		if err := s.Note.Validate(); err != nil {
23155			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
23156		}
23157	}
23158	if s.PatchSummary != nil {
23159		if err := s.PatchSummary.Validate(); err != nil {
23160			invalidParams.AddNested("PatchSummary", err.(request.ErrInvalidParams))
23161		}
23162	}
23163	if s.RelatedFindings != nil {
23164		for i, v := range s.RelatedFindings {
23165			if v == nil {
23166				continue
23167			}
23168			if err := v.Validate(); err != nil {
23169				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
23170			}
23171		}
23172	}
23173	if s.Resources != nil {
23174		for i, v := range s.Resources {
23175			if v == nil {
23176				continue
23177			}
23178			if err := v.Validate(); err != nil {
23179				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Resources", i), err.(request.ErrInvalidParams))
23180			}
23181		}
23182	}
23183	if s.Vulnerabilities != nil {
23184		for i, v := range s.Vulnerabilities {
23185			if v == nil {
23186				continue
23187			}
23188			if err := v.Validate(); err != nil {
23189				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Vulnerabilities", i), err.(request.ErrInvalidParams))
23190			}
23191		}
23192	}
23193
23194	if invalidParams.Len() > 0 {
23195		return invalidParams
23196	}
23197	return nil
23198}
23199
23200// SetAction sets the Action field's value.
23201func (s *AwsSecurityFinding) SetAction(v *Action) *AwsSecurityFinding {
23202	s.Action = v
23203	return s
23204}
23205
23206// SetAwsAccountId sets the AwsAccountId field's value.
23207func (s *AwsSecurityFinding) SetAwsAccountId(v string) *AwsSecurityFinding {
23208	s.AwsAccountId = &v
23209	return s
23210}
23211
23212// SetCompanyName sets the CompanyName field's value.
23213func (s *AwsSecurityFinding) SetCompanyName(v string) *AwsSecurityFinding {
23214	s.CompanyName = &v
23215	return s
23216}
23217
23218// SetCompliance sets the Compliance field's value.
23219func (s *AwsSecurityFinding) SetCompliance(v *Compliance) *AwsSecurityFinding {
23220	s.Compliance = v
23221	return s
23222}
23223
23224// SetConfidence sets the Confidence field's value.
23225func (s *AwsSecurityFinding) SetConfidence(v int64) *AwsSecurityFinding {
23226	s.Confidence = &v
23227	return s
23228}
23229
23230// SetCreatedAt sets the CreatedAt field's value.
23231func (s *AwsSecurityFinding) SetCreatedAt(v string) *AwsSecurityFinding {
23232	s.CreatedAt = &v
23233	return s
23234}
23235
23236// SetCriticality sets the Criticality field's value.
23237func (s *AwsSecurityFinding) SetCriticality(v int64) *AwsSecurityFinding {
23238	s.Criticality = &v
23239	return s
23240}
23241
23242// SetDescription sets the Description field's value.
23243func (s *AwsSecurityFinding) SetDescription(v string) *AwsSecurityFinding {
23244	s.Description = &v
23245	return s
23246}
23247
23248// SetFindingProviderFields sets the FindingProviderFields field's value.
23249func (s *AwsSecurityFinding) SetFindingProviderFields(v *FindingProviderFields) *AwsSecurityFinding {
23250	s.FindingProviderFields = v
23251	return s
23252}
23253
23254// SetFirstObservedAt sets the FirstObservedAt field's value.
23255func (s *AwsSecurityFinding) SetFirstObservedAt(v string) *AwsSecurityFinding {
23256	s.FirstObservedAt = &v
23257	return s
23258}
23259
23260// SetGeneratorId sets the GeneratorId field's value.
23261func (s *AwsSecurityFinding) SetGeneratorId(v string) *AwsSecurityFinding {
23262	s.GeneratorId = &v
23263	return s
23264}
23265
23266// SetId sets the Id field's value.
23267func (s *AwsSecurityFinding) SetId(v string) *AwsSecurityFinding {
23268	s.Id = &v
23269	return s
23270}
23271
23272// SetLastObservedAt sets the LastObservedAt field's value.
23273func (s *AwsSecurityFinding) SetLastObservedAt(v string) *AwsSecurityFinding {
23274	s.LastObservedAt = &v
23275	return s
23276}
23277
23278// SetMalware sets the Malware field's value.
23279func (s *AwsSecurityFinding) SetMalware(v []*Malware) *AwsSecurityFinding {
23280	s.Malware = v
23281	return s
23282}
23283
23284// SetNetwork sets the Network field's value.
23285func (s *AwsSecurityFinding) SetNetwork(v *Network) *AwsSecurityFinding {
23286	s.Network = v
23287	return s
23288}
23289
23290// SetNetworkPath sets the NetworkPath field's value.
23291func (s *AwsSecurityFinding) SetNetworkPath(v []*NetworkPathComponent) *AwsSecurityFinding {
23292	s.NetworkPath = v
23293	return s
23294}
23295
23296// SetNote sets the Note field's value.
23297func (s *AwsSecurityFinding) SetNote(v *Note) *AwsSecurityFinding {
23298	s.Note = v
23299	return s
23300}
23301
23302// SetPatchSummary sets the PatchSummary field's value.
23303func (s *AwsSecurityFinding) SetPatchSummary(v *PatchSummary) *AwsSecurityFinding {
23304	s.PatchSummary = v
23305	return s
23306}
23307
23308// SetProcess sets the Process field's value.
23309func (s *AwsSecurityFinding) SetProcess(v *ProcessDetails) *AwsSecurityFinding {
23310	s.Process = v
23311	return s
23312}
23313
23314// SetProductArn sets the ProductArn field's value.
23315func (s *AwsSecurityFinding) SetProductArn(v string) *AwsSecurityFinding {
23316	s.ProductArn = &v
23317	return s
23318}
23319
23320// SetProductFields sets the ProductFields field's value.
23321func (s *AwsSecurityFinding) SetProductFields(v map[string]*string) *AwsSecurityFinding {
23322	s.ProductFields = v
23323	return s
23324}
23325
23326// SetProductName sets the ProductName field's value.
23327func (s *AwsSecurityFinding) SetProductName(v string) *AwsSecurityFinding {
23328	s.ProductName = &v
23329	return s
23330}
23331
23332// SetRecordState sets the RecordState field's value.
23333func (s *AwsSecurityFinding) SetRecordState(v string) *AwsSecurityFinding {
23334	s.RecordState = &v
23335	return s
23336}
23337
23338// SetRegion sets the Region field's value.
23339func (s *AwsSecurityFinding) SetRegion(v string) *AwsSecurityFinding {
23340	s.Region = &v
23341	return s
23342}
23343
23344// SetRelatedFindings sets the RelatedFindings field's value.
23345func (s *AwsSecurityFinding) SetRelatedFindings(v []*RelatedFinding) *AwsSecurityFinding {
23346	s.RelatedFindings = v
23347	return s
23348}
23349
23350// SetRemediation sets the Remediation field's value.
23351func (s *AwsSecurityFinding) SetRemediation(v *Remediation) *AwsSecurityFinding {
23352	s.Remediation = v
23353	return s
23354}
23355
23356// SetResources sets the Resources field's value.
23357func (s *AwsSecurityFinding) SetResources(v []*Resource) *AwsSecurityFinding {
23358	s.Resources = v
23359	return s
23360}
23361
23362// SetSchemaVersion sets the SchemaVersion field's value.
23363func (s *AwsSecurityFinding) SetSchemaVersion(v string) *AwsSecurityFinding {
23364	s.SchemaVersion = &v
23365	return s
23366}
23367
23368// SetSeverity sets the Severity field's value.
23369func (s *AwsSecurityFinding) SetSeverity(v *Severity) *AwsSecurityFinding {
23370	s.Severity = v
23371	return s
23372}
23373
23374// SetSourceUrl sets the SourceUrl field's value.
23375func (s *AwsSecurityFinding) SetSourceUrl(v string) *AwsSecurityFinding {
23376	s.SourceUrl = &v
23377	return s
23378}
23379
23380// SetThreatIntelIndicators sets the ThreatIntelIndicators field's value.
23381func (s *AwsSecurityFinding) SetThreatIntelIndicators(v []*ThreatIntelIndicator) *AwsSecurityFinding {
23382	s.ThreatIntelIndicators = v
23383	return s
23384}
23385
23386// SetTitle sets the Title field's value.
23387func (s *AwsSecurityFinding) SetTitle(v string) *AwsSecurityFinding {
23388	s.Title = &v
23389	return s
23390}
23391
23392// SetTypes sets the Types field's value.
23393func (s *AwsSecurityFinding) SetTypes(v []*string) *AwsSecurityFinding {
23394	s.Types = v
23395	return s
23396}
23397
23398// SetUpdatedAt sets the UpdatedAt field's value.
23399func (s *AwsSecurityFinding) SetUpdatedAt(v string) *AwsSecurityFinding {
23400	s.UpdatedAt = &v
23401	return s
23402}
23403
23404// SetUserDefinedFields sets the UserDefinedFields field's value.
23405func (s *AwsSecurityFinding) SetUserDefinedFields(v map[string]*string) *AwsSecurityFinding {
23406	s.UserDefinedFields = v
23407	return s
23408}
23409
23410// SetVerificationState sets the VerificationState field's value.
23411func (s *AwsSecurityFinding) SetVerificationState(v string) *AwsSecurityFinding {
23412	s.VerificationState = &v
23413	return s
23414}
23415
23416// SetVulnerabilities sets the Vulnerabilities field's value.
23417func (s *AwsSecurityFinding) SetVulnerabilities(v []*Vulnerability) *AwsSecurityFinding {
23418	s.Vulnerabilities = v
23419	return s
23420}
23421
23422// SetWorkflow sets the Workflow field's value.
23423func (s *AwsSecurityFinding) SetWorkflow(v *Workflow) *AwsSecurityFinding {
23424	s.Workflow = v
23425	return s
23426}
23427
23428// SetWorkflowState sets the WorkflowState field's value.
23429func (s *AwsSecurityFinding) SetWorkflowState(v string) *AwsSecurityFinding {
23430	s.WorkflowState = &v
23431	return s
23432}
23433
23434// A collection of attributes that are applied to all active Security Hub-aggregated
23435// findings and that result in a subset of findings that are included in this
23436// insight.
23437//
23438// You can filter by up to 10 finding attributes. For each attribute, you can
23439// provide up to 20 filter values.
23440type AwsSecurityFindingFilters struct {
23441	_ struct{} `type:"structure"`
23442
23443	// The Amazon Web Services account ID that a finding is generated in.
23444	AwsAccountId []*StringFilter `type:"list"`
23445
23446	// The name of the findings provider (company) that owns the solution (product)
23447	// that generates findings.
23448	//
23449	// Note that this is a filter against the aws/securityhub/CompanyName field
23450	// in ProductFields. It is not a filter for the top-level CompanyName field.
23451	CompanyName []*StringFilter `type:"list"`
23452
23453	// Exclusive to findings that are generated as the result of a check run against
23454	// a specific rule in a supported standard, such as CIS Amazon Web Services
23455	// Foundations. Contains security standard-related finding details.
23456	ComplianceStatus []*StringFilter `type:"list"`
23457
23458	// A finding's confidence. Confidence is defined as the likelihood that a finding
23459	// accurately identifies the behavior or issue that it was intended to identify.
23460	//
23461	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
23462	// zero percent confidence and 100 means 100 percent confidence.
23463	Confidence []*NumberFilter `type:"list"`
23464
23465	// An ISO8601-formatted timestamp that indicates when the security-findings
23466	// provider captured the potential security issue that a finding captured.
23467	CreatedAt []*DateFilter `type:"list"`
23468
23469	// The level of importance assigned to the resources associated with the finding.
23470	//
23471	// A score of 0 means that the underlying resources have no criticality, and
23472	// a score of 100 is reserved for the most critical resources.
23473	Criticality []*NumberFilter `type:"list"`
23474
23475	// A finding's description.
23476	Description []*StringFilter `type:"list"`
23477
23478	// The finding provider value for the finding confidence. Confidence is defined
23479	// as the likelihood that a finding accurately identifies the behavior or issue
23480	// that it was intended to identify.
23481	//
23482	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
23483	// zero percent confidence and 100 means 100 percent confidence.
23484	FindingProviderFieldsConfidence []*NumberFilter `type:"list"`
23485
23486	// The finding provider value for the level of importance assigned to the resources
23487	// associated with the findings.
23488	//
23489	// A score of 0 means that the underlying resources have no criticality, and
23490	// a score of 100 is reserved for the most critical resources.
23491	FindingProviderFieldsCriticality []*NumberFilter `type:"list"`
23492
23493	// The finding identifier of a related finding that is identified by the finding
23494	// provider.
23495	FindingProviderFieldsRelatedFindingsId []*StringFilter `type:"list"`
23496
23497	// The ARN of the solution that generated a related finding that is identified
23498	// by the finding provider.
23499	FindingProviderFieldsRelatedFindingsProductArn []*StringFilter `type:"list"`
23500
23501	// The finding provider value for the severity label.
23502	FindingProviderFieldsSeverityLabel []*StringFilter `type:"list"`
23503
23504	// The finding provider's original value for the severity.
23505	FindingProviderFieldsSeverityOriginal []*StringFilter `type:"list"`
23506
23507	// One or more finding types that the finding provider assigned to the finding.
23508	// Uses the format of namespace/category/classifier that classify a finding.
23509	//
23510	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
23511	// | Unusual Behaviors | Sensitive Data Identifications
23512	FindingProviderFieldsTypes []*StringFilter `type:"list"`
23513
23514	// An ISO8601-formatted timestamp that indicates when the security-findings
23515	// provider first observed the potential security issue that a finding captured.
23516	FirstObservedAt []*DateFilter `type:"list"`
23517
23518	// The identifier for the solution-specific component (a discrete unit of logic)
23519	// that generated a finding. In various security-findings providers' solutions,
23520	// this generator can be called a rule, a check, a detector, a plugin, etc.
23521	GeneratorId []*StringFilter `type:"list"`
23522
23523	// The security findings provider-specific identifier for a finding.
23524	Id []*StringFilter `type:"list"`
23525
23526	// A keyword for a finding.
23527	//
23528	// Deprecated: The Keyword property is deprecated.
23529	Keyword []*KeywordFilter `deprecated:"true" type:"list"`
23530
23531	// An ISO8601-formatted timestamp that indicates when the security-findings
23532	// provider most recently observed the potential security issue that a finding
23533	// captured.
23534	LastObservedAt []*DateFilter `type:"list"`
23535
23536	// The name of the malware that was observed.
23537	MalwareName []*StringFilter `type:"list"`
23538
23539	// The filesystem path of the malware that was observed.
23540	MalwarePath []*StringFilter `type:"list"`
23541
23542	// The state of the malware that was observed.
23543	MalwareState []*StringFilter `type:"list"`
23544
23545	// The type of the malware that was observed.
23546	MalwareType []*StringFilter `type:"list"`
23547
23548	// The destination domain of network-related information about a finding.
23549	NetworkDestinationDomain []*StringFilter `type:"list"`
23550
23551	// The destination IPv4 address of network-related information about a finding.
23552	NetworkDestinationIpV4 []*IpFilter `type:"list"`
23553
23554	// The destination IPv6 address of network-related information about a finding.
23555	NetworkDestinationIpV6 []*IpFilter `type:"list"`
23556
23557	// The destination port of network-related information about a finding.
23558	NetworkDestinationPort []*NumberFilter `type:"list"`
23559
23560	// Indicates the direction of network traffic associated with a finding.
23561	NetworkDirection []*StringFilter `type:"list"`
23562
23563	// The protocol of network-related information about a finding.
23564	NetworkProtocol []*StringFilter `type:"list"`
23565
23566	// The source domain of network-related information about a finding.
23567	NetworkSourceDomain []*StringFilter `type:"list"`
23568
23569	// The source IPv4 address of network-related information about a finding.
23570	NetworkSourceIpV4 []*IpFilter `type:"list"`
23571
23572	// The source IPv6 address of network-related information about a finding.
23573	NetworkSourceIpV6 []*IpFilter `type:"list"`
23574
23575	// The source media access control (MAC) address of network-related information
23576	// about a finding.
23577	NetworkSourceMac []*StringFilter `type:"list"`
23578
23579	// The source port of network-related information about a finding.
23580	NetworkSourcePort []*NumberFilter `type:"list"`
23581
23582	// The text of a note.
23583	NoteText []*StringFilter `type:"list"`
23584
23585	// The timestamp of when the note was updated.
23586	NoteUpdatedAt []*DateFilter `type:"list"`
23587
23588	// The principal that created a note.
23589	NoteUpdatedBy []*StringFilter `type:"list"`
23590
23591	// The date/time that the process was launched.
23592	ProcessLaunchedAt []*DateFilter `type:"list"`
23593
23594	// The name of the process.
23595	ProcessName []*StringFilter `type:"list"`
23596
23597	// The parent process ID.
23598	ProcessParentPid []*NumberFilter `type:"list"`
23599
23600	// The path to the process executable.
23601	ProcessPath []*StringFilter `type:"list"`
23602
23603	// The process ID.
23604	ProcessPid []*NumberFilter `type:"list"`
23605
23606	// The date/time that the process was terminated.
23607	ProcessTerminatedAt []*DateFilter `type:"list"`
23608
23609	// The ARN generated by Security Hub that uniquely identifies a third-party
23610	// company (security findings provider) after this provider's product (solution
23611	// that generates findings) is registered with Security Hub.
23612	ProductArn []*StringFilter `type:"list"`
23613
23614	// A data type where security-findings providers can include additional solution-specific
23615	// details that aren't part of the defined AwsSecurityFinding format.
23616	ProductFields []*MapFilter `type:"list"`
23617
23618	// The name of the solution (product) that generates findings.
23619	//
23620	// Note that this is a filter against the aws/securityhub/ProductName field
23621	// in ProductFields. It is not a filter for the top-level ProductName field.
23622	ProductName []*StringFilter `type:"list"`
23623
23624	// The recommendation of what to do about the issue described in a finding.
23625	RecommendationText []*StringFilter `type:"list"`
23626
23627	// The updated record state for the finding.
23628	RecordState []*StringFilter `type:"list"`
23629
23630	// The Region from which the finding was generated.
23631	Region []*StringFilter `type:"list"`
23632
23633	// The solution-generated identifier for a related finding.
23634	RelatedFindingsId []*StringFilter `type:"list"`
23635
23636	// The ARN of the solution that generated a related finding.
23637	RelatedFindingsProductArn []*StringFilter `type:"list"`
23638
23639	// The IAM profile ARN of the instance.
23640	ResourceAwsEc2InstanceIamInstanceProfileArn []*StringFilter `type:"list"`
23641
23642	// The Amazon Machine Image (AMI) ID of the instance.
23643	ResourceAwsEc2InstanceImageId []*StringFilter `type:"list"`
23644
23645	// The IPv4 addresses associated with the instance.
23646	ResourceAwsEc2InstanceIpV4Addresses []*IpFilter `type:"list"`
23647
23648	// The IPv6 addresses associated with the instance.
23649	ResourceAwsEc2InstanceIpV6Addresses []*IpFilter `type:"list"`
23650
23651	// The key name associated with the instance.
23652	ResourceAwsEc2InstanceKeyName []*StringFilter `type:"list"`
23653
23654	// The date and time the instance was launched.
23655	ResourceAwsEc2InstanceLaunchedAt []*DateFilter `type:"list"`
23656
23657	// The identifier of the subnet that the instance was launched in.
23658	ResourceAwsEc2InstanceSubnetId []*StringFilter `type:"list"`
23659
23660	// The instance type of the instance.
23661	ResourceAwsEc2InstanceType []*StringFilter `type:"list"`
23662
23663	// The identifier of the VPC that the instance was launched in.
23664	ResourceAwsEc2InstanceVpcId []*StringFilter `type:"list"`
23665
23666	// The creation date/time of the IAM access key related to a finding.
23667	ResourceAwsIamAccessKeyCreatedAt []*DateFilter `type:"list"`
23668
23669	// The name of the principal that is associated with an IAM access key.
23670	ResourceAwsIamAccessKeyPrincipalName []*StringFilter `type:"list"`
23671
23672	// The status of the IAM access key related to a finding.
23673	ResourceAwsIamAccessKeyStatus []*StringFilter `type:"list"`
23674
23675	// The user associated with the IAM access key related to a finding.
23676	//
23677	// Deprecated: This filter is deprecated. Instead, use ResourceAwsIamAccessKeyPrincipalName.
23678	ResourceAwsIamAccessKeyUserName []*StringFilter `deprecated:"true" type:"list"`
23679
23680	// The name of an IAM user.
23681	ResourceAwsIamUserUserName []*StringFilter `type:"list"`
23682
23683	// The canonical user ID of the owner of the S3 bucket.
23684	ResourceAwsS3BucketOwnerId []*StringFilter `type:"list"`
23685
23686	// The display name of the owner of the S3 bucket.
23687	ResourceAwsS3BucketOwnerName []*StringFilter `type:"list"`
23688
23689	// The identifier of the image related to a finding.
23690	ResourceContainerImageId []*StringFilter `type:"list"`
23691
23692	// The name of the image related to a finding.
23693	ResourceContainerImageName []*StringFilter `type:"list"`
23694
23695	// The date/time that the container was started.
23696	ResourceContainerLaunchedAt []*DateFilter `type:"list"`
23697
23698	// The name of the container related to a finding.
23699	ResourceContainerName []*StringFilter `type:"list"`
23700
23701	// The details of a resource that doesn't have a specific subfield for the resource
23702	// type defined.
23703	ResourceDetailsOther []*MapFilter `type:"list"`
23704
23705	// The canonical identifier for the given resource type.
23706	ResourceId []*StringFilter `type:"list"`
23707
23708	// The canonical Amazon Web Services partition name that the Region is assigned
23709	// to.
23710	ResourcePartition []*StringFilter `type:"list"`
23711
23712	// The canonical Amazon Web Services external Region name where this resource
23713	// is located.
23714	ResourceRegion []*StringFilter `type:"list"`
23715
23716	// A list of Amazon Web Services tags associated with a resource at the time
23717	// the finding was processed.
23718	ResourceTags []*MapFilter `type:"list"`
23719
23720	// Specifies the type of the resource that details are provided for.
23721	ResourceType []*StringFilter `type:"list"`
23722
23723	// The label of a finding's severity.
23724	SeverityLabel []*StringFilter `type:"list"`
23725
23726	// The normalized severity of a finding.
23727	//
23728	// Deprecated: This filter is deprecated. Instead, use SeverityLabel or FindingProviderFieldsSeverityLabel.
23729	SeverityNormalized []*NumberFilter `deprecated:"true" type:"list"`
23730
23731	// The native severity as defined by the security-findings provider's solution
23732	// that generated the finding.
23733	//
23734	// Deprecated: This filter is deprecated. Instead, use FindingProviderSeverityOriginal.
23735	SeverityProduct []*NumberFilter `deprecated:"true" type:"list"`
23736
23737	// A URL that links to a page about the current finding in the security-findings
23738	// provider's solution.
23739	SourceUrl []*StringFilter `type:"list"`
23740
23741	// The category of a threat intelligence indicator.
23742	ThreatIntelIndicatorCategory []*StringFilter `type:"list"`
23743
23744	// The date/time of the last observation of a threat intelligence indicator.
23745	ThreatIntelIndicatorLastObservedAt []*DateFilter `type:"list"`
23746
23747	// The source of the threat intelligence.
23748	ThreatIntelIndicatorSource []*StringFilter `type:"list"`
23749
23750	// The URL for more details from the source of the threat intelligence.
23751	ThreatIntelIndicatorSourceUrl []*StringFilter `type:"list"`
23752
23753	// The type of a threat intelligence indicator.
23754	ThreatIntelIndicatorType []*StringFilter `type:"list"`
23755
23756	// The value of a threat intelligence indicator.
23757	ThreatIntelIndicatorValue []*StringFilter `type:"list"`
23758
23759	// A finding's title.
23760	Title []*StringFilter `type:"list"`
23761
23762	// A finding type in the format of namespace/category/classifier that classifies
23763	// a finding.
23764	Type []*StringFilter `type:"list"`
23765
23766	// An ISO8601-formatted timestamp that indicates when the security-findings
23767	// provider last updated the finding record.
23768	UpdatedAt []*DateFilter `type:"list"`
23769
23770	// A list of name/value string pairs associated with the finding. These are
23771	// custom, user-defined fields added to a finding.
23772	UserDefinedFields []*MapFilter `type:"list"`
23773
23774	// The veracity of a finding.
23775	VerificationState []*StringFilter `type:"list"`
23776
23777	// The workflow state of a finding.
23778	//
23779	// Note that this field is deprecated. To search for a finding based on its
23780	// workflow status, use WorkflowStatus.
23781	WorkflowState []*StringFilter `type:"list"`
23782
23783	// The status of the investigation into a finding. Allowed values are the following.
23784	//
23785	//    * NEW - The initial state of a finding, before it is reviewed. Security
23786	//    Hub also resets the workflow status from NOTIFIED or RESOLVED to NEW in
23787	//    the following cases: The record state changes from ARCHIVED to ACTIVE.
23788	//    The compliance status changes from PASSED to either WARNING, FAILED, or
23789	//    NOT_AVAILABLE.
23790	//
23791	//    * NOTIFIED - Indicates that the resource owner has been notified about
23792	//    the security issue. Used when the initial reviewer is not the resource
23793	//    owner, and needs intervention from the resource owner.
23794	//
23795	//    * SUPPRESSED - The finding will not be reviewed again and will not be
23796	//    acted upon.
23797	//
23798	//    * RESOLVED - The finding was reviewed and remediated and is now considered
23799	//    resolved.
23800	WorkflowStatus []*StringFilter `type:"list"`
23801}
23802
23803// String returns the string representation
23804func (s AwsSecurityFindingFilters) String() string {
23805	return awsutil.Prettify(s)
23806}
23807
23808// GoString returns the string representation
23809func (s AwsSecurityFindingFilters) GoString() string {
23810	return s.String()
23811}
23812
23813// SetAwsAccountId sets the AwsAccountId field's value.
23814func (s *AwsSecurityFindingFilters) SetAwsAccountId(v []*StringFilter) *AwsSecurityFindingFilters {
23815	s.AwsAccountId = v
23816	return s
23817}
23818
23819// SetCompanyName sets the CompanyName field's value.
23820func (s *AwsSecurityFindingFilters) SetCompanyName(v []*StringFilter) *AwsSecurityFindingFilters {
23821	s.CompanyName = v
23822	return s
23823}
23824
23825// SetComplianceStatus sets the ComplianceStatus field's value.
23826func (s *AwsSecurityFindingFilters) SetComplianceStatus(v []*StringFilter) *AwsSecurityFindingFilters {
23827	s.ComplianceStatus = v
23828	return s
23829}
23830
23831// SetConfidence sets the Confidence field's value.
23832func (s *AwsSecurityFindingFilters) SetConfidence(v []*NumberFilter) *AwsSecurityFindingFilters {
23833	s.Confidence = v
23834	return s
23835}
23836
23837// SetCreatedAt sets the CreatedAt field's value.
23838func (s *AwsSecurityFindingFilters) SetCreatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
23839	s.CreatedAt = v
23840	return s
23841}
23842
23843// SetCriticality sets the Criticality field's value.
23844func (s *AwsSecurityFindingFilters) SetCriticality(v []*NumberFilter) *AwsSecurityFindingFilters {
23845	s.Criticality = v
23846	return s
23847}
23848
23849// SetDescription sets the Description field's value.
23850func (s *AwsSecurityFindingFilters) SetDescription(v []*StringFilter) *AwsSecurityFindingFilters {
23851	s.Description = v
23852	return s
23853}
23854
23855// SetFindingProviderFieldsConfidence sets the FindingProviderFieldsConfidence field's value.
23856func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsConfidence(v []*NumberFilter) *AwsSecurityFindingFilters {
23857	s.FindingProviderFieldsConfidence = v
23858	return s
23859}
23860
23861// SetFindingProviderFieldsCriticality sets the FindingProviderFieldsCriticality field's value.
23862func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsCriticality(v []*NumberFilter) *AwsSecurityFindingFilters {
23863	s.FindingProviderFieldsCriticality = v
23864	return s
23865}
23866
23867// SetFindingProviderFieldsRelatedFindingsId sets the FindingProviderFieldsRelatedFindingsId field's value.
23868func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsRelatedFindingsId(v []*StringFilter) *AwsSecurityFindingFilters {
23869	s.FindingProviderFieldsRelatedFindingsId = v
23870	return s
23871}
23872
23873// SetFindingProviderFieldsRelatedFindingsProductArn sets the FindingProviderFieldsRelatedFindingsProductArn field's value.
23874func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsRelatedFindingsProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
23875	s.FindingProviderFieldsRelatedFindingsProductArn = v
23876	return s
23877}
23878
23879// SetFindingProviderFieldsSeverityLabel sets the FindingProviderFieldsSeverityLabel field's value.
23880func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsSeverityLabel(v []*StringFilter) *AwsSecurityFindingFilters {
23881	s.FindingProviderFieldsSeverityLabel = v
23882	return s
23883}
23884
23885// SetFindingProviderFieldsSeverityOriginal sets the FindingProviderFieldsSeverityOriginal field's value.
23886func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsSeverityOriginal(v []*StringFilter) *AwsSecurityFindingFilters {
23887	s.FindingProviderFieldsSeverityOriginal = v
23888	return s
23889}
23890
23891// SetFindingProviderFieldsTypes sets the FindingProviderFieldsTypes field's value.
23892func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsTypes(v []*StringFilter) *AwsSecurityFindingFilters {
23893	s.FindingProviderFieldsTypes = v
23894	return s
23895}
23896
23897// SetFirstObservedAt sets the FirstObservedAt field's value.
23898func (s *AwsSecurityFindingFilters) SetFirstObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
23899	s.FirstObservedAt = v
23900	return s
23901}
23902
23903// SetGeneratorId sets the GeneratorId field's value.
23904func (s *AwsSecurityFindingFilters) SetGeneratorId(v []*StringFilter) *AwsSecurityFindingFilters {
23905	s.GeneratorId = v
23906	return s
23907}
23908
23909// SetId sets the Id field's value.
23910func (s *AwsSecurityFindingFilters) SetId(v []*StringFilter) *AwsSecurityFindingFilters {
23911	s.Id = v
23912	return s
23913}
23914
23915// SetKeyword sets the Keyword field's value.
23916func (s *AwsSecurityFindingFilters) SetKeyword(v []*KeywordFilter) *AwsSecurityFindingFilters {
23917	s.Keyword = v
23918	return s
23919}
23920
23921// SetLastObservedAt sets the LastObservedAt field's value.
23922func (s *AwsSecurityFindingFilters) SetLastObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
23923	s.LastObservedAt = v
23924	return s
23925}
23926
23927// SetMalwareName sets the MalwareName field's value.
23928func (s *AwsSecurityFindingFilters) SetMalwareName(v []*StringFilter) *AwsSecurityFindingFilters {
23929	s.MalwareName = v
23930	return s
23931}
23932
23933// SetMalwarePath sets the MalwarePath field's value.
23934func (s *AwsSecurityFindingFilters) SetMalwarePath(v []*StringFilter) *AwsSecurityFindingFilters {
23935	s.MalwarePath = v
23936	return s
23937}
23938
23939// SetMalwareState sets the MalwareState field's value.
23940func (s *AwsSecurityFindingFilters) SetMalwareState(v []*StringFilter) *AwsSecurityFindingFilters {
23941	s.MalwareState = v
23942	return s
23943}
23944
23945// SetMalwareType sets the MalwareType field's value.
23946func (s *AwsSecurityFindingFilters) SetMalwareType(v []*StringFilter) *AwsSecurityFindingFilters {
23947	s.MalwareType = v
23948	return s
23949}
23950
23951// SetNetworkDestinationDomain sets the NetworkDestinationDomain field's value.
23952func (s *AwsSecurityFindingFilters) SetNetworkDestinationDomain(v []*StringFilter) *AwsSecurityFindingFilters {
23953	s.NetworkDestinationDomain = v
23954	return s
23955}
23956
23957// SetNetworkDestinationIpV4 sets the NetworkDestinationIpV4 field's value.
23958func (s *AwsSecurityFindingFilters) SetNetworkDestinationIpV4(v []*IpFilter) *AwsSecurityFindingFilters {
23959	s.NetworkDestinationIpV4 = v
23960	return s
23961}
23962
23963// SetNetworkDestinationIpV6 sets the NetworkDestinationIpV6 field's value.
23964func (s *AwsSecurityFindingFilters) SetNetworkDestinationIpV6(v []*IpFilter) *AwsSecurityFindingFilters {
23965	s.NetworkDestinationIpV6 = v
23966	return s
23967}
23968
23969// SetNetworkDestinationPort sets the NetworkDestinationPort field's value.
23970func (s *AwsSecurityFindingFilters) SetNetworkDestinationPort(v []*NumberFilter) *AwsSecurityFindingFilters {
23971	s.NetworkDestinationPort = v
23972	return s
23973}
23974
23975// SetNetworkDirection sets the NetworkDirection field's value.
23976func (s *AwsSecurityFindingFilters) SetNetworkDirection(v []*StringFilter) *AwsSecurityFindingFilters {
23977	s.NetworkDirection = v
23978	return s
23979}
23980
23981// SetNetworkProtocol sets the NetworkProtocol field's value.
23982func (s *AwsSecurityFindingFilters) SetNetworkProtocol(v []*StringFilter) *AwsSecurityFindingFilters {
23983	s.NetworkProtocol = v
23984	return s
23985}
23986
23987// SetNetworkSourceDomain sets the NetworkSourceDomain field's value.
23988func (s *AwsSecurityFindingFilters) SetNetworkSourceDomain(v []*StringFilter) *AwsSecurityFindingFilters {
23989	s.NetworkSourceDomain = v
23990	return s
23991}
23992
23993// SetNetworkSourceIpV4 sets the NetworkSourceIpV4 field's value.
23994func (s *AwsSecurityFindingFilters) SetNetworkSourceIpV4(v []*IpFilter) *AwsSecurityFindingFilters {
23995	s.NetworkSourceIpV4 = v
23996	return s
23997}
23998
23999// SetNetworkSourceIpV6 sets the NetworkSourceIpV6 field's value.
24000func (s *AwsSecurityFindingFilters) SetNetworkSourceIpV6(v []*IpFilter) *AwsSecurityFindingFilters {
24001	s.NetworkSourceIpV6 = v
24002	return s
24003}
24004
24005// SetNetworkSourceMac sets the NetworkSourceMac field's value.
24006func (s *AwsSecurityFindingFilters) SetNetworkSourceMac(v []*StringFilter) *AwsSecurityFindingFilters {
24007	s.NetworkSourceMac = v
24008	return s
24009}
24010
24011// SetNetworkSourcePort sets the NetworkSourcePort field's value.
24012func (s *AwsSecurityFindingFilters) SetNetworkSourcePort(v []*NumberFilter) *AwsSecurityFindingFilters {
24013	s.NetworkSourcePort = v
24014	return s
24015}
24016
24017// SetNoteText sets the NoteText field's value.
24018func (s *AwsSecurityFindingFilters) SetNoteText(v []*StringFilter) *AwsSecurityFindingFilters {
24019	s.NoteText = v
24020	return s
24021}
24022
24023// SetNoteUpdatedAt sets the NoteUpdatedAt field's value.
24024func (s *AwsSecurityFindingFilters) SetNoteUpdatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
24025	s.NoteUpdatedAt = v
24026	return s
24027}
24028
24029// SetNoteUpdatedBy sets the NoteUpdatedBy field's value.
24030func (s *AwsSecurityFindingFilters) SetNoteUpdatedBy(v []*StringFilter) *AwsSecurityFindingFilters {
24031	s.NoteUpdatedBy = v
24032	return s
24033}
24034
24035// SetProcessLaunchedAt sets the ProcessLaunchedAt field's value.
24036func (s *AwsSecurityFindingFilters) SetProcessLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
24037	s.ProcessLaunchedAt = v
24038	return s
24039}
24040
24041// SetProcessName sets the ProcessName field's value.
24042func (s *AwsSecurityFindingFilters) SetProcessName(v []*StringFilter) *AwsSecurityFindingFilters {
24043	s.ProcessName = v
24044	return s
24045}
24046
24047// SetProcessParentPid sets the ProcessParentPid field's value.
24048func (s *AwsSecurityFindingFilters) SetProcessParentPid(v []*NumberFilter) *AwsSecurityFindingFilters {
24049	s.ProcessParentPid = v
24050	return s
24051}
24052
24053// SetProcessPath sets the ProcessPath field's value.
24054func (s *AwsSecurityFindingFilters) SetProcessPath(v []*StringFilter) *AwsSecurityFindingFilters {
24055	s.ProcessPath = v
24056	return s
24057}
24058
24059// SetProcessPid sets the ProcessPid field's value.
24060func (s *AwsSecurityFindingFilters) SetProcessPid(v []*NumberFilter) *AwsSecurityFindingFilters {
24061	s.ProcessPid = v
24062	return s
24063}
24064
24065// SetProcessTerminatedAt sets the ProcessTerminatedAt field's value.
24066func (s *AwsSecurityFindingFilters) SetProcessTerminatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
24067	s.ProcessTerminatedAt = v
24068	return s
24069}
24070
24071// SetProductArn sets the ProductArn field's value.
24072func (s *AwsSecurityFindingFilters) SetProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
24073	s.ProductArn = v
24074	return s
24075}
24076
24077// SetProductFields sets the ProductFields field's value.
24078func (s *AwsSecurityFindingFilters) SetProductFields(v []*MapFilter) *AwsSecurityFindingFilters {
24079	s.ProductFields = v
24080	return s
24081}
24082
24083// SetProductName sets the ProductName field's value.
24084func (s *AwsSecurityFindingFilters) SetProductName(v []*StringFilter) *AwsSecurityFindingFilters {
24085	s.ProductName = v
24086	return s
24087}
24088
24089// SetRecommendationText sets the RecommendationText field's value.
24090func (s *AwsSecurityFindingFilters) SetRecommendationText(v []*StringFilter) *AwsSecurityFindingFilters {
24091	s.RecommendationText = v
24092	return s
24093}
24094
24095// SetRecordState sets the RecordState field's value.
24096func (s *AwsSecurityFindingFilters) SetRecordState(v []*StringFilter) *AwsSecurityFindingFilters {
24097	s.RecordState = v
24098	return s
24099}
24100
24101// SetRegion sets the Region field's value.
24102func (s *AwsSecurityFindingFilters) SetRegion(v []*StringFilter) *AwsSecurityFindingFilters {
24103	s.Region = v
24104	return s
24105}
24106
24107// SetRelatedFindingsId sets the RelatedFindingsId field's value.
24108func (s *AwsSecurityFindingFilters) SetRelatedFindingsId(v []*StringFilter) *AwsSecurityFindingFilters {
24109	s.RelatedFindingsId = v
24110	return s
24111}
24112
24113// SetRelatedFindingsProductArn sets the RelatedFindingsProductArn field's value.
24114func (s *AwsSecurityFindingFilters) SetRelatedFindingsProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
24115	s.RelatedFindingsProductArn = v
24116	return s
24117}
24118
24119// SetResourceAwsEc2InstanceIamInstanceProfileArn sets the ResourceAwsEc2InstanceIamInstanceProfileArn field's value.
24120func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIamInstanceProfileArn(v []*StringFilter) *AwsSecurityFindingFilters {
24121	s.ResourceAwsEc2InstanceIamInstanceProfileArn = v
24122	return s
24123}
24124
24125// SetResourceAwsEc2InstanceImageId sets the ResourceAwsEc2InstanceImageId field's value.
24126func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceImageId(v []*StringFilter) *AwsSecurityFindingFilters {
24127	s.ResourceAwsEc2InstanceImageId = v
24128	return s
24129}
24130
24131// SetResourceAwsEc2InstanceIpV4Addresses sets the ResourceAwsEc2InstanceIpV4Addresses field's value.
24132func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIpV4Addresses(v []*IpFilter) *AwsSecurityFindingFilters {
24133	s.ResourceAwsEc2InstanceIpV4Addresses = v
24134	return s
24135}
24136
24137// SetResourceAwsEc2InstanceIpV6Addresses sets the ResourceAwsEc2InstanceIpV6Addresses field's value.
24138func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIpV6Addresses(v []*IpFilter) *AwsSecurityFindingFilters {
24139	s.ResourceAwsEc2InstanceIpV6Addresses = v
24140	return s
24141}
24142
24143// SetResourceAwsEc2InstanceKeyName sets the ResourceAwsEc2InstanceKeyName field's value.
24144func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceKeyName(v []*StringFilter) *AwsSecurityFindingFilters {
24145	s.ResourceAwsEc2InstanceKeyName = v
24146	return s
24147}
24148
24149// SetResourceAwsEc2InstanceLaunchedAt sets the ResourceAwsEc2InstanceLaunchedAt field's value.
24150func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
24151	s.ResourceAwsEc2InstanceLaunchedAt = v
24152	return s
24153}
24154
24155// SetResourceAwsEc2InstanceSubnetId sets the ResourceAwsEc2InstanceSubnetId field's value.
24156func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceSubnetId(v []*StringFilter) *AwsSecurityFindingFilters {
24157	s.ResourceAwsEc2InstanceSubnetId = v
24158	return s
24159}
24160
24161// SetResourceAwsEc2InstanceType sets the ResourceAwsEc2InstanceType field's value.
24162func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceType(v []*StringFilter) *AwsSecurityFindingFilters {
24163	s.ResourceAwsEc2InstanceType = v
24164	return s
24165}
24166
24167// SetResourceAwsEc2InstanceVpcId sets the ResourceAwsEc2InstanceVpcId field's value.
24168func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceVpcId(v []*StringFilter) *AwsSecurityFindingFilters {
24169	s.ResourceAwsEc2InstanceVpcId = v
24170	return s
24171}
24172
24173// SetResourceAwsIamAccessKeyCreatedAt sets the ResourceAwsIamAccessKeyCreatedAt field's value.
24174func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyCreatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
24175	s.ResourceAwsIamAccessKeyCreatedAt = v
24176	return s
24177}
24178
24179// SetResourceAwsIamAccessKeyPrincipalName sets the ResourceAwsIamAccessKeyPrincipalName field's value.
24180func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyPrincipalName(v []*StringFilter) *AwsSecurityFindingFilters {
24181	s.ResourceAwsIamAccessKeyPrincipalName = v
24182	return s
24183}
24184
24185// SetResourceAwsIamAccessKeyStatus sets the ResourceAwsIamAccessKeyStatus field's value.
24186func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyStatus(v []*StringFilter) *AwsSecurityFindingFilters {
24187	s.ResourceAwsIamAccessKeyStatus = v
24188	return s
24189}
24190
24191// SetResourceAwsIamAccessKeyUserName sets the ResourceAwsIamAccessKeyUserName field's value.
24192func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyUserName(v []*StringFilter) *AwsSecurityFindingFilters {
24193	s.ResourceAwsIamAccessKeyUserName = v
24194	return s
24195}
24196
24197// SetResourceAwsIamUserUserName sets the ResourceAwsIamUserUserName field's value.
24198func (s *AwsSecurityFindingFilters) SetResourceAwsIamUserUserName(v []*StringFilter) *AwsSecurityFindingFilters {
24199	s.ResourceAwsIamUserUserName = v
24200	return s
24201}
24202
24203// SetResourceAwsS3BucketOwnerId sets the ResourceAwsS3BucketOwnerId field's value.
24204func (s *AwsSecurityFindingFilters) SetResourceAwsS3BucketOwnerId(v []*StringFilter) *AwsSecurityFindingFilters {
24205	s.ResourceAwsS3BucketOwnerId = v
24206	return s
24207}
24208
24209// SetResourceAwsS3BucketOwnerName sets the ResourceAwsS3BucketOwnerName field's value.
24210func (s *AwsSecurityFindingFilters) SetResourceAwsS3BucketOwnerName(v []*StringFilter) *AwsSecurityFindingFilters {
24211	s.ResourceAwsS3BucketOwnerName = v
24212	return s
24213}
24214
24215// SetResourceContainerImageId sets the ResourceContainerImageId field's value.
24216func (s *AwsSecurityFindingFilters) SetResourceContainerImageId(v []*StringFilter) *AwsSecurityFindingFilters {
24217	s.ResourceContainerImageId = v
24218	return s
24219}
24220
24221// SetResourceContainerImageName sets the ResourceContainerImageName field's value.
24222func (s *AwsSecurityFindingFilters) SetResourceContainerImageName(v []*StringFilter) *AwsSecurityFindingFilters {
24223	s.ResourceContainerImageName = v
24224	return s
24225}
24226
24227// SetResourceContainerLaunchedAt sets the ResourceContainerLaunchedAt field's value.
24228func (s *AwsSecurityFindingFilters) SetResourceContainerLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
24229	s.ResourceContainerLaunchedAt = v
24230	return s
24231}
24232
24233// SetResourceContainerName sets the ResourceContainerName field's value.
24234func (s *AwsSecurityFindingFilters) SetResourceContainerName(v []*StringFilter) *AwsSecurityFindingFilters {
24235	s.ResourceContainerName = v
24236	return s
24237}
24238
24239// SetResourceDetailsOther sets the ResourceDetailsOther field's value.
24240func (s *AwsSecurityFindingFilters) SetResourceDetailsOther(v []*MapFilter) *AwsSecurityFindingFilters {
24241	s.ResourceDetailsOther = v
24242	return s
24243}
24244
24245// SetResourceId sets the ResourceId field's value.
24246func (s *AwsSecurityFindingFilters) SetResourceId(v []*StringFilter) *AwsSecurityFindingFilters {
24247	s.ResourceId = v
24248	return s
24249}
24250
24251// SetResourcePartition sets the ResourcePartition field's value.
24252func (s *AwsSecurityFindingFilters) SetResourcePartition(v []*StringFilter) *AwsSecurityFindingFilters {
24253	s.ResourcePartition = v
24254	return s
24255}
24256
24257// SetResourceRegion sets the ResourceRegion field's value.
24258func (s *AwsSecurityFindingFilters) SetResourceRegion(v []*StringFilter) *AwsSecurityFindingFilters {
24259	s.ResourceRegion = v
24260	return s
24261}
24262
24263// SetResourceTags sets the ResourceTags field's value.
24264func (s *AwsSecurityFindingFilters) SetResourceTags(v []*MapFilter) *AwsSecurityFindingFilters {
24265	s.ResourceTags = v
24266	return s
24267}
24268
24269// SetResourceType sets the ResourceType field's value.
24270func (s *AwsSecurityFindingFilters) SetResourceType(v []*StringFilter) *AwsSecurityFindingFilters {
24271	s.ResourceType = v
24272	return s
24273}
24274
24275// SetSeverityLabel sets the SeverityLabel field's value.
24276func (s *AwsSecurityFindingFilters) SetSeverityLabel(v []*StringFilter) *AwsSecurityFindingFilters {
24277	s.SeverityLabel = v
24278	return s
24279}
24280
24281// SetSeverityNormalized sets the SeverityNormalized field's value.
24282func (s *AwsSecurityFindingFilters) SetSeverityNormalized(v []*NumberFilter) *AwsSecurityFindingFilters {
24283	s.SeverityNormalized = v
24284	return s
24285}
24286
24287// SetSeverityProduct sets the SeverityProduct field's value.
24288func (s *AwsSecurityFindingFilters) SetSeverityProduct(v []*NumberFilter) *AwsSecurityFindingFilters {
24289	s.SeverityProduct = v
24290	return s
24291}
24292
24293// SetSourceUrl sets the SourceUrl field's value.
24294func (s *AwsSecurityFindingFilters) SetSourceUrl(v []*StringFilter) *AwsSecurityFindingFilters {
24295	s.SourceUrl = v
24296	return s
24297}
24298
24299// SetThreatIntelIndicatorCategory sets the ThreatIntelIndicatorCategory field's value.
24300func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorCategory(v []*StringFilter) *AwsSecurityFindingFilters {
24301	s.ThreatIntelIndicatorCategory = v
24302	return s
24303}
24304
24305// SetThreatIntelIndicatorLastObservedAt sets the ThreatIntelIndicatorLastObservedAt field's value.
24306func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorLastObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
24307	s.ThreatIntelIndicatorLastObservedAt = v
24308	return s
24309}
24310
24311// SetThreatIntelIndicatorSource sets the ThreatIntelIndicatorSource field's value.
24312func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorSource(v []*StringFilter) *AwsSecurityFindingFilters {
24313	s.ThreatIntelIndicatorSource = v
24314	return s
24315}
24316
24317// SetThreatIntelIndicatorSourceUrl sets the ThreatIntelIndicatorSourceUrl field's value.
24318func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorSourceUrl(v []*StringFilter) *AwsSecurityFindingFilters {
24319	s.ThreatIntelIndicatorSourceUrl = v
24320	return s
24321}
24322
24323// SetThreatIntelIndicatorType sets the ThreatIntelIndicatorType field's value.
24324func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorType(v []*StringFilter) *AwsSecurityFindingFilters {
24325	s.ThreatIntelIndicatorType = v
24326	return s
24327}
24328
24329// SetThreatIntelIndicatorValue sets the ThreatIntelIndicatorValue field's value.
24330func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorValue(v []*StringFilter) *AwsSecurityFindingFilters {
24331	s.ThreatIntelIndicatorValue = v
24332	return s
24333}
24334
24335// SetTitle sets the Title field's value.
24336func (s *AwsSecurityFindingFilters) SetTitle(v []*StringFilter) *AwsSecurityFindingFilters {
24337	s.Title = v
24338	return s
24339}
24340
24341// SetType sets the Type field's value.
24342func (s *AwsSecurityFindingFilters) SetType(v []*StringFilter) *AwsSecurityFindingFilters {
24343	s.Type = v
24344	return s
24345}
24346
24347// SetUpdatedAt sets the UpdatedAt field's value.
24348func (s *AwsSecurityFindingFilters) SetUpdatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
24349	s.UpdatedAt = v
24350	return s
24351}
24352
24353// SetUserDefinedFields sets the UserDefinedFields field's value.
24354func (s *AwsSecurityFindingFilters) SetUserDefinedFields(v []*MapFilter) *AwsSecurityFindingFilters {
24355	s.UserDefinedFields = v
24356	return s
24357}
24358
24359// SetVerificationState sets the VerificationState field's value.
24360func (s *AwsSecurityFindingFilters) SetVerificationState(v []*StringFilter) *AwsSecurityFindingFilters {
24361	s.VerificationState = v
24362	return s
24363}
24364
24365// SetWorkflowState sets the WorkflowState field's value.
24366func (s *AwsSecurityFindingFilters) SetWorkflowState(v []*StringFilter) *AwsSecurityFindingFilters {
24367	s.WorkflowState = v
24368	return s
24369}
24370
24371// SetWorkflowStatus sets the WorkflowStatus field's value.
24372func (s *AwsSecurityFindingFilters) SetWorkflowStatus(v []*StringFilter) *AwsSecurityFindingFilters {
24373	s.WorkflowStatus = v
24374	return s
24375}
24376
24377// Identifies a finding to update using BatchUpdateFindings.
24378type AwsSecurityFindingIdentifier struct {
24379	_ struct{} `type:"structure"`
24380
24381	// The identifier of the finding that was specified by the finding provider.
24382	//
24383	// Id is a required field
24384	Id *string `type:"string" required:"true"`
24385
24386	// The ARN generated by Security Hub that uniquely identifies a product that
24387	// generates findings. This can be the ARN for a third-party product that is
24388	// integrated with Security Hub, or the ARN for a custom integration.
24389	//
24390	// ProductArn is a required field
24391	ProductArn *string `type:"string" required:"true"`
24392}
24393
24394// String returns the string representation
24395func (s AwsSecurityFindingIdentifier) String() string {
24396	return awsutil.Prettify(s)
24397}
24398
24399// GoString returns the string representation
24400func (s AwsSecurityFindingIdentifier) GoString() string {
24401	return s.String()
24402}
24403
24404// Validate inspects the fields of the type to determine if they are valid.
24405func (s *AwsSecurityFindingIdentifier) Validate() error {
24406	invalidParams := request.ErrInvalidParams{Context: "AwsSecurityFindingIdentifier"}
24407	if s.Id == nil {
24408		invalidParams.Add(request.NewErrParamRequired("Id"))
24409	}
24410	if s.ProductArn == nil {
24411		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
24412	}
24413
24414	if invalidParams.Len() > 0 {
24415		return invalidParams
24416	}
24417	return nil
24418}
24419
24420// SetId sets the Id field's value.
24421func (s *AwsSecurityFindingIdentifier) SetId(v string) *AwsSecurityFindingIdentifier {
24422	s.Id = &v
24423	return s
24424}
24425
24426// SetProductArn sets the ProductArn field's value.
24427func (s *AwsSecurityFindingIdentifier) SetProductArn(v string) *AwsSecurityFindingIdentifier {
24428	s.ProductArn = &v
24429	return s
24430}
24431
24432// A wrapper type for the topic's ARN.
24433type AwsSnsTopicDetails struct {
24434	_ struct{} `type:"structure"`
24435
24436	// The ID of an Amazon Web Services managed key for Amazon SNS or a customer
24437	// managed key.
24438	KmsMasterKeyId *string `type:"string"`
24439
24440	// The subscription's owner.
24441	Owner *string `type:"string"`
24442
24443	// Subscription is an embedded property that describes the subscription endpoints
24444	// of an SNS topic.
24445	Subscription []*AwsSnsTopicSubscription `type:"list"`
24446
24447	// The name of the topic.
24448	TopicName *string `type:"string"`
24449}
24450
24451// String returns the string representation
24452func (s AwsSnsTopicDetails) String() string {
24453	return awsutil.Prettify(s)
24454}
24455
24456// GoString returns the string representation
24457func (s AwsSnsTopicDetails) GoString() string {
24458	return s.String()
24459}
24460
24461// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
24462func (s *AwsSnsTopicDetails) SetKmsMasterKeyId(v string) *AwsSnsTopicDetails {
24463	s.KmsMasterKeyId = &v
24464	return s
24465}
24466
24467// SetOwner sets the Owner field's value.
24468func (s *AwsSnsTopicDetails) SetOwner(v string) *AwsSnsTopicDetails {
24469	s.Owner = &v
24470	return s
24471}
24472
24473// SetSubscription sets the Subscription field's value.
24474func (s *AwsSnsTopicDetails) SetSubscription(v []*AwsSnsTopicSubscription) *AwsSnsTopicDetails {
24475	s.Subscription = v
24476	return s
24477}
24478
24479// SetTopicName sets the TopicName field's value.
24480func (s *AwsSnsTopicDetails) SetTopicName(v string) *AwsSnsTopicDetails {
24481	s.TopicName = &v
24482	return s
24483}
24484
24485// A wrapper type for the attributes of an Amazon SNS subscription.
24486type AwsSnsTopicSubscription struct {
24487	_ struct{} `type:"structure"`
24488
24489	// The subscription's endpoint (format depends on the protocol).
24490	Endpoint *string `type:"string"`
24491
24492	// The subscription's protocol.
24493	Protocol *string `type:"string"`
24494}
24495
24496// String returns the string representation
24497func (s AwsSnsTopicSubscription) String() string {
24498	return awsutil.Prettify(s)
24499}
24500
24501// GoString returns the string representation
24502func (s AwsSnsTopicSubscription) GoString() string {
24503	return s.String()
24504}
24505
24506// SetEndpoint sets the Endpoint field's value.
24507func (s *AwsSnsTopicSubscription) SetEndpoint(v string) *AwsSnsTopicSubscription {
24508	s.Endpoint = &v
24509	return s
24510}
24511
24512// SetProtocol sets the Protocol field's value.
24513func (s *AwsSnsTopicSubscription) SetProtocol(v string) *AwsSnsTopicSubscription {
24514	s.Protocol = &v
24515	return s
24516}
24517
24518// Data about a queue.
24519type AwsSqsQueueDetails struct {
24520	_ struct{} `type:"structure"`
24521
24522	// The ARN of the dead-letter queue to which Amazon SQS moves messages after
24523	// the value of maxReceiveCount is exceeded.
24524	DeadLetterTargetArn *string `type:"string"`
24525
24526	// The length of time, in seconds, for which Amazon SQS can reuse a data key
24527	// to encrypt or decrypt messages before calling KMS again.
24528	KmsDataKeyReusePeriodSeconds *int64 `type:"integer"`
24529
24530	// The ID of an Amazon Web Services managed key for Amazon SQS or a custom KMS
24531	// key.
24532	KmsMasterKeyId *string `type:"string"`
24533
24534	// The name of the new queue.
24535	QueueName *string `type:"string"`
24536}
24537
24538// String returns the string representation
24539func (s AwsSqsQueueDetails) String() string {
24540	return awsutil.Prettify(s)
24541}
24542
24543// GoString returns the string representation
24544func (s AwsSqsQueueDetails) GoString() string {
24545	return s.String()
24546}
24547
24548// SetDeadLetterTargetArn sets the DeadLetterTargetArn field's value.
24549func (s *AwsSqsQueueDetails) SetDeadLetterTargetArn(v string) *AwsSqsQueueDetails {
24550	s.DeadLetterTargetArn = &v
24551	return s
24552}
24553
24554// SetKmsDataKeyReusePeriodSeconds sets the KmsDataKeyReusePeriodSeconds field's value.
24555func (s *AwsSqsQueueDetails) SetKmsDataKeyReusePeriodSeconds(v int64) *AwsSqsQueueDetails {
24556	s.KmsDataKeyReusePeriodSeconds = &v
24557	return s
24558}
24559
24560// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
24561func (s *AwsSqsQueueDetails) SetKmsMasterKeyId(v string) *AwsSqsQueueDetails {
24562	s.KmsMasterKeyId = &v
24563	return s
24564}
24565
24566// SetQueueName sets the QueueName field's value.
24567func (s *AwsSqsQueueDetails) SetQueueName(v string) *AwsSqsQueueDetails {
24568	s.QueueName = &v
24569	return s
24570}
24571
24572// Provides the details about the compliance status for a patch.
24573type AwsSsmComplianceSummary struct {
24574	_ struct{} `type:"structure"`
24575
24576	// The type of resource for which the compliance was determined. For AwsSsmPatchCompliance,
24577	// ComplianceType is Patch.
24578	ComplianceType *string `type:"string"`
24579
24580	// For the patches that are compliant, the number that have a severity of CRITICAL.
24581	CompliantCriticalCount *int64 `type:"integer"`
24582
24583	// For the patches that are compliant, the number that have a severity of HIGH.
24584	CompliantHighCount *int64 `type:"integer"`
24585
24586	// For the patches that are compliant, the number that have a severity of INFORMATIONAL.
24587	CompliantInformationalCount *int64 `type:"integer"`
24588
24589	// For the patches that are compliant, the number that have a severity of LOW.
24590	CompliantLowCount *int64 `type:"integer"`
24591
24592	// For the patches that are compliant, the number that have a severity of MEDIUM.
24593	CompliantMediumCount *int64 `type:"integer"`
24594
24595	// For the patches that are compliant, the number that have a severity of UNSPECIFIED.
24596	CompliantUnspecifiedCount *int64 `type:"integer"`
24597
24598	// The type of execution that was used determine compliance.
24599	ExecutionType *string `type:"string"`
24600
24601	// For the patch items that are noncompliant, the number of items that have
24602	// a severity of CRITICAL.
24603	NonCompliantCriticalCount *int64 `type:"integer"`
24604
24605	// For the patches that are noncompliant, the number that have a severity of
24606	// HIGH.
24607	NonCompliantHighCount *int64 `type:"integer"`
24608
24609	// For the patches that are noncompliant, the number that have a severity of
24610	// INFORMATIONAL.
24611	NonCompliantInformationalCount *int64 `type:"integer"`
24612
24613	// For the patches that are noncompliant, the number that have a severity of
24614	// LOW.
24615	NonCompliantLowCount *int64 `type:"integer"`
24616
24617	// For the patches that are noncompliant, the number that have a severity of
24618	// MEDIUM.
24619	NonCompliantMediumCount *int64 `type:"integer"`
24620
24621	// For the patches that are noncompliant, the number that have a severity of
24622	// UNSPECIFIED.
24623	NonCompliantUnspecifiedCount *int64 `type:"integer"`
24624
24625	// The highest severity for the patches.
24626	OverallSeverity *string `type:"string"`
24627
24628	// The identifier of the patch baseline. The patch baseline lists the patches
24629	// that are approved for installation.
24630	PatchBaselineId *string `type:"string"`
24631
24632	// The identifier of the patch group for which compliance was determined. A
24633	// patch group uses tags to group EC2 instances that should have the same patch
24634	// compliance.
24635	PatchGroup *string `type:"string"`
24636
24637	// The current patch compliance status.
24638	//
24639	// The possible status values are:
24640	//
24641	//    * COMPLIANT
24642	//
24643	//    * NON_COMPLIANT
24644	//
24645	//    * UNSPECIFIED_DATA
24646	Status *string `type:"string"`
24647}
24648
24649// String returns the string representation
24650func (s AwsSsmComplianceSummary) String() string {
24651	return awsutil.Prettify(s)
24652}
24653
24654// GoString returns the string representation
24655func (s AwsSsmComplianceSummary) GoString() string {
24656	return s.String()
24657}
24658
24659// SetComplianceType sets the ComplianceType field's value.
24660func (s *AwsSsmComplianceSummary) SetComplianceType(v string) *AwsSsmComplianceSummary {
24661	s.ComplianceType = &v
24662	return s
24663}
24664
24665// SetCompliantCriticalCount sets the CompliantCriticalCount field's value.
24666func (s *AwsSsmComplianceSummary) SetCompliantCriticalCount(v int64) *AwsSsmComplianceSummary {
24667	s.CompliantCriticalCount = &v
24668	return s
24669}
24670
24671// SetCompliantHighCount sets the CompliantHighCount field's value.
24672func (s *AwsSsmComplianceSummary) SetCompliantHighCount(v int64) *AwsSsmComplianceSummary {
24673	s.CompliantHighCount = &v
24674	return s
24675}
24676
24677// SetCompliantInformationalCount sets the CompliantInformationalCount field's value.
24678func (s *AwsSsmComplianceSummary) SetCompliantInformationalCount(v int64) *AwsSsmComplianceSummary {
24679	s.CompliantInformationalCount = &v
24680	return s
24681}
24682
24683// SetCompliantLowCount sets the CompliantLowCount field's value.
24684func (s *AwsSsmComplianceSummary) SetCompliantLowCount(v int64) *AwsSsmComplianceSummary {
24685	s.CompliantLowCount = &v
24686	return s
24687}
24688
24689// SetCompliantMediumCount sets the CompliantMediumCount field's value.
24690func (s *AwsSsmComplianceSummary) SetCompliantMediumCount(v int64) *AwsSsmComplianceSummary {
24691	s.CompliantMediumCount = &v
24692	return s
24693}
24694
24695// SetCompliantUnspecifiedCount sets the CompliantUnspecifiedCount field's value.
24696func (s *AwsSsmComplianceSummary) SetCompliantUnspecifiedCount(v int64) *AwsSsmComplianceSummary {
24697	s.CompliantUnspecifiedCount = &v
24698	return s
24699}
24700
24701// SetExecutionType sets the ExecutionType field's value.
24702func (s *AwsSsmComplianceSummary) SetExecutionType(v string) *AwsSsmComplianceSummary {
24703	s.ExecutionType = &v
24704	return s
24705}
24706
24707// SetNonCompliantCriticalCount sets the NonCompliantCriticalCount field's value.
24708func (s *AwsSsmComplianceSummary) SetNonCompliantCriticalCount(v int64) *AwsSsmComplianceSummary {
24709	s.NonCompliantCriticalCount = &v
24710	return s
24711}
24712
24713// SetNonCompliantHighCount sets the NonCompliantHighCount field's value.
24714func (s *AwsSsmComplianceSummary) SetNonCompliantHighCount(v int64) *AwsSsmComplianceSummary {
24715	s.NonCompliantHighCount = &v
24716	return s
24717}
24718
24719// SetNonCompliantInformationalCount sets the NonCompliantInformationalCount field's value.
24720func (s *AwsSsmComplianceSummary) SetNonCompliantInformationalCount(v int64) *AwsSsmComplianceSummary {
24721	s.NonCompliantInformationalCount = &v
24722	return s
24723}
24724
24725// SetNonCompliantLowCount sets the NonCompliantLowCount field's value.
24726func (s *AwsSsmComplianceSummary) SetNonCompliantLowCount(v int64) *AwsSsmComplianceSummary {
24727	s.NonCompliantLowCount = &v
24728	return s
24729}
24730
24731// SetNonCompliantMediumCount sets the NonCompliantMediumCount field's value.
24732func (s *AwsSsmComplianceSummary) SetNonCompliantMediumCount(v int64) *AwsSsmComplianceSummary {
24733	s.NonCompliantMediumCount = &v
24734	return s
24735}
24736
24737// SetNonCompliantUnspecifiedCount sets the NonCompliantUnspecifiedCount field's value.
24738func (s *AwsSsmComplianceSummary) SetNonCompliantUnspecifiedCount(v int64) *AwsSsmComplianceSummary {
24739	s.NonCompliantUnspecifiedCount = &v
24740	return s
24741}
24742
24743// SetOverallSeverity sets the OverallSeverity field's value.
24744func (s *AwsSsmComplianceSummary) SetOverallSeverity(v string) *AwsSsmComplianceSummary {
24745	s.OverallSeverity = &v
24746	return s
24747}
24748
24749// SetPatchBaselineId sets the PatchBaselineId field's value.
24750func (s *AwsSsmComplianceSummary) SetPatchBaselineId(v string) *AwsSsmComplianceSummary {
24751	s.PatchBaselineId = &v
24752	return s
24753}
24754
24755// SetPatchGroup sets the PatchGroup field's value.
24756func (s *AwsSsmComplianceSummary) SetPatchGroup(v string) *AwsSsmComplianceSummary {
24757	s.PatchGroup = &v
24758	return s
24759}
24760
24761// SetStatus sets the Status field's value.
24762func (s *AwsSsmComplianceSummary) SetStatus(v string) *AwsSsmComplianceSummary {
24763	s.Status = &v
24764	return s
24765}
24766
24767// Provides details about the compliance for a patch.
24768type AwsSsmPatch struct {
24769	_ struct{} `type:"structure"`
24770
24771	// The compliance status details for the patch.
24772	ComplianceSummary *AwsSsmComplianceSummary `type:"structure"`
24773}
24774
24775// String returns the string representation
24776func (s AwsSsmPatch) String() string {
24777	return awsutil.Prettify(s)
24778}
24779
24780// GoString returns the string representation
24781func (s AwsSsmPatch) GoString() string {
24782	return s.String()
24783}
24784
24785// SetComplianceSummary sets the ComplianceSummary field's value.
24786func (s *AwsSsmPatch) SetComplianceSummary(v *AwsSsmComplianceSummary) *AwsSsmPatch {
24787	s.ComplianceSummary = v
24788	return s
24789}
24790
24791// Provides information about the state of a patch on an instance based on the
24792// patch baseline that was used to patch the instance.
24793type AwsSsmPatchComplianceDetails struct {
24794	_ struct{} `type:"structure"`
24795
24796	// Information about the status of a patch.
24797	Patch *AwsSsmPatch `type:"structure"`
24798}
24799
24800// String returns the string representation
24801func (s AwsSsmPatchComplianceDetails) String() string {
24802	return awsutil.Prettify(s)
24803}
24804
24805// GoString returns the string representation
24806func (s AwsSsmPatchComplianceDetails) GoString() string {
24807	return s.String()
24808}
24809
24810// SetPatch sets the Patch field's value.
24811func (s *AwsSsmPatchComplianceDetails) SetPatch(v *AwsSsmPatch) *AwsSsmPatchComplianceDetails {
24812	s.Patch = v
24813	return s
24814}
24815
24816// Details about an WAF WebACL.
24817type AwsWafWebAclDetails struct {
24818	_ struct{} `type:"structure"`
24819
24820	// The action to perform if none of the rules contained in the WebACL match.
24821	DefaultAction *string `type:"string"`
24822
24823	// A friendly name or description of the WebACL. You can't change the name of
24824	// a WebACL after you create it.
24825	Name *string `type:"string"`
24826
24827	// An array that contains the action for each rule in a WebACL, the priority
24828	// of the rule, and the ID of the rule.
24829	Rules []*AwsWafWebAclRule `type:"list"`
24830
24831	// A unique identifier for a WebACL.
24832	WebAclId *string `type:"string"`
24833}
24834
24835// String returns the string representation
24836func (s AwsWafWebAclDetails) String() string {
24837	return awsutil.Prettify(s)
24838}
24839
24840// GoString returns the string representation
24841func (s AwsWafWebAclDetails) GoString() string {
24842	return s.String()
24843}
24844
24845// SetDefaultAction sets the DefaultAction field's value.
24846func (s *AwsWafWebAclDetails) SetDefaultAction(v string) *AwsWafWebAclDetails {
24847	s.DefaultAction = &v
24848	return s
24849}
24850
24851// SetName sets the Name field's value.
24852func (s *AwsWafWebAclDetails) SetName(v string) *AwsWafWebAclDetails {
24853	s.Name = &v
24854	return s
24855}
24856
24857// SetRules sets the Rules field's value.
24858func (s *AwsWafWebAclDetails) SetRules(v []*AwsWafWebAclRule) *AwsWafWebAclDetails {
24859	s.Rules = v
24860	return s
24861}
24862
24863// SetWebAclId sets the WebAclId field's value.
24864func (s *AwsWafWebAclDetails) SetWebAclId(v string) *AwsWafWebAclDetails {
24865	s.WebAclId = &v
24866	return s
24867}
24868
24869// Details for a rule in an WAF WebACL.
24870type AwsWafWebAclRule struct {
24871	_ struct{} `type:"structure"`
24872
24873	// Specifies the action that CloudFront or WAF takes when a web request matches
24874	// the conditions in the rule.
24875	Action *WafAction `type:"structure"`
24876
24877	// Rules to exclude from a rule group.
24878	ExcludedRules []*WafExcludedRule `type:"list"`
24879
24880	// Use the OverrideAction to test your RuleGroup.
24881	//
24882	// Any rule in a RuleGroup can potentially block a request. If you set the OverrideAction
24883	// to None, the RuleGroup blocks a request if any individual rule in the RuleGroup
24884	// matches the request and is configured to block that request.
24885	//
24886	// However, if you first want to test the RuleGroup, set the OverrideAction
24887	// to Count. The RuleGroup then overrides any block action specified by individual
24888	// rules contained within the group. Instead of blocking matching requests,
24889	// those requests are counted.
24890	//
24891	// ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup
24892	// to a WebACL. In this case you do not use ActivatedRule|Action. For all other
24893	// update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.
24894	OverrideAction *WafOverrideAction `type:"structure"`
24895
24896	// Specifies the order in which the rules in a WebACL are evaluated. Rules with
24897	// a lower value for Priority are evaluated before rules with a higher value.
24898	// The value must be a unique integer. If you add multiple rules to a WebACL,
24899	// the values do not need to be consecutive.
24900	Priority *int64 `type:"integer"`
24901
24902	// The identifier for a rule.
24903	RuleId *string `type:"string"`
24904
24905	// The rule type.
24906	//
24907	// Valid values: REGULAR | RATE_BASED | GROUP
24908	//
24909	// The default is REGULAR.
24910	Type *string `type:"string"`
24911}
24912
24913// String returns the string representation
24914func (s AwsWafWebAclRule) String() string {
24915	return awsutil.Prettify(s)
24916}
24917
24918// GoString returns the string representation
24919func (s AwsWafWebAclRule) GoString() string {
24920	return s.String()
24921}
24922
24923// SetAction sets the Action field's value.
24924func (s *AwsWafWebAclRule) SetAction(v *WafAction) *AwsWafWebAclRule {
24925	s.Action = v
24926	return s
24927}
24928
24929// SetExcludedRules sets the ExcludedRules field's value.
24930func (s *AwsWafWebAclRule) SetExcludedRules(v []*WafExcludedRule) *AwsWafWebAclRule {
24931	s.ExcludedRules = v
24932	return s
24933}
24934
24935// SetOverrideAction sets the OverrideAction field's value.
24936func (s *AwsWafWebAclRule) SetOverrideAction(v *WafOverrideAction) *AwsWafWebAclRule {
24937	s.OverrideAction = v
24938	return s
24939}
24940
24941// SetPriority sets the Priority field's value.
24942func (s *AwsWafWebAclRule) SetPriority(v int64) *AwsWafWebAclRule {
24943	s.Priority = &v
24944	return s
24945}
24946
24947// SetRuleId sets the RuleId field's value.
24948func (s *AwsWafWebAclRule) SetRuleId(v string) *AwsWafWebAclRule {
24949	s.RuleId = &v
24950	return s
24951}
24952
24953// SetType sets the Type field's value.
24954func (s *AwsWafWebAclRule) SetType(v string) *AwsWafWebAclRule {
24955	s.Type = &v
24956	return s
24957}
24958
24959type BatchDisableStandardsInput struct {
24960	_ struct{} `type:"structure"`
24961
24962	// The ARNs of the standards subscriptions to disable.
24963	//
24964	// StandardsSubscriptionArns is a required field
24965	StandardsSubscriptionArns []*string `min:"1" type:"list" required:"true"`
24966}
24967
24968// String returns the string representation
24969func (s BatchDisableStandardsInput) String() string {
24970	return awsutil.Prettify(s)
24971}
24972
24973// GoString returns the string representation
24974func (s BatchDisableStandardsInput) GoString() string {
24975	return s.String()
24976}
24977
24978// Validate inspects the fields of the type to determine if they are valid.
24979func (s *BatchDisableStandardsInput) Validate() error {
24980	invalidParams := request.ErrInvalidParams{Context: "BatchDisableStandardsInput"}
24981	if s.StandardsSubscriptionArns == nil {
24982		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionArns"))
24983	}
24984	if s.StandardsSubscriptionArns != nil && len(s.StandardsSubscriptionArns) < 1 {
24985		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArns", 1))
24986	}
24987
24988	if invalidParams.Len() > 0 {
24989		return invalidParams
24990	}
24991	return nil
24992}
24993
24994// SetStandardsSubscriptionArns sets the StandardsSubscriptionArns field's value.
24995func (s *BatchDisableStandardsInput) SetStandardsSubscriptionArns(v []*string) *BatchDisableStandardsInput {
24996	s.StandardsSubscriptionArns = v
24997	return s
24998}
24999
25000type BatchDisableStandardsOutput struct {
25001	_ struct{} `type:"structure"`
25002
25003	// The details of the standards subscriptions that were disabled.
25004	StandardsSubscriptions []*StandardsSubscription `type:"list"`
25005}
25006
25007// String returns the string representation
25008func (s BatchDisableStandardsOutput) String() string {
25009	return awsutil.Prettify(s)
25010}
25011
25012// GoString returns the string representation
25013func (s BatchDisableStandardsOutput) GoString() string {
25014	return s.String()
25015}
25016
25017// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
25018func (s *BatchDisableStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *BatchDisableStandardsOutput {
25019	s.StandardsSubscriptions = v
25020	return s
25021}
25022
25023type BatchEnableStandardsInput struct {
25024	_ struct{} `type:"structure"`
25025
25026	// The list of standards checks to enable.
25027	//
25028	// StandardsSubscriptionRequests is a required field
25029	StandardsSubscriptionRequests []*StandardsSubscriptionRequest `min:"1" type:"list" required:"true"`
25030}
25031
25032// String returns the string representation
25033func (s BatchEnableStandardsInput) String() string {
25034	return awsutil.Prettify(s)
25035}
25036
25037// GoString returns the string representation
25038func (s BatchEnableStandardsInput) GoString() string {
25039	return s.String()
25040}
25041
25042// Validate inspects the fields of the type to determine if they are valid.
25043func (s *BatchEnableStandardsInput) Validate() error {
25044	invalidParams := request.ErrInvalidParams{Context: "BatchEnableStandardsInput"}
25045	if s.StandardsSubscriptionRequests == nil {
25046		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionRequests"))
25047	}
25048	if s.StandardsSubscriptionRequests != nil && len(s.StandardsSubscriptionRequests) < 1 {
25049		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionRequests", 1))
25050	}
25051	if s.StandardsSubscriptionRequests != nil {
25052		for i, v := range s.StandardsSubscriptionRequests {
25053			if v == nil {
25054				continue
25055			}
25056			if err := v.Validate(); err != nil {
25057				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StandardsSubscriptionRequests", i), err.(request.ErrInvalidParams))
25058			}
25059		}
25060	}
25061
25062	if invalidParams.Len() > 0 {
25063		return invalidParams
25064	}
25065	return nil
25066}
25067
25068// SetStandardsSubscriptionRequests sets the StandardsSubscriptionRequests field's value.
25069func (s *BatchEnableStandardsInput) SetStandardsSubscriptionRequests(v []*StandardsSubscriptionRequest) *BatchEnableStandardsInput {
25070	s.StandardsSubscriptionRequests = v
25071	return s
25072}
25073
25074type BatchEnableStandardsOutput struct {
25075	_ struct{} `type:"structure"`
25076
25077	// The details of the standards subscriptions that were enabled.
25078	StandardsSubscriptions []*StandardsSubscription `type:"list"`
25079}
25080
25081// String returns the string representation
25082func (s BatchEnableStandardsOutput) String() string {
25083	return awsutil.Prettify(s)
25084}
25085
25086// GoString returns the string representation
25087func (s BatchEnableStandardsOutput) GoString() string {
25088	return s.String()
25089}
25090
25091// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
25092func (s *BatchEnableStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *BatchEnableStandardsOutput {
25093	s.StandardsSubscriptions = v
25094	return s
25095}
25096
25097type BatchImportFindingsInput struct {
25098	_ struct{} `type:"structure"`
25099
25100	// A list of findings to import. To successfully import a finding, it must follow
25101	// the Amazon Web Services Security Finding Format (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format.html).
25102	// Maximum of 100 findings per request.
25103	//
25104	// Findings is a required field
25105	Findings []*AwsSecurityFinding `min:"1" type:"list" required:"true"`
25106}
25107
25108// String returns the string representation
25109func (s BatchImportFindingsInput) String() string {
25110	return awsutil.Prettify(s)
25111}
25112
25113// GoString returns the string representation
25114func (s BatchImportFindingsInput) GoString() string {
25115	return s.String()
25116}
25117
25118// Validate inspects the fields of the type to determine if they are valid.
25119func (s *BatchImportFindingsInput) Validate() error {
25120	invalidParams := request.ErrInvalidParams{Context: "BatchImportFindingsInput"}
25121	if s.Findings == nil {
25122		invalidParams.Add(request.NewErrParamRequired("Findings"))
25123	}
25124	if s.Findings != nil && len(s.Findings) < 1 {
25125		invalidParams.Add(request.NewErrParamMinLen("Findings", 1))
25126	}
25127	if s.Findings != nil {
25128		for i, v := range s.Findings {
25129			if v == nil {
25130				continue
25131			}
25132			if err := v.Validate(); err != nil {
25133				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Findings", i), err.(request.ErrInvalidParams))
25134			}
25135		}
25136	}
25137
25138	if invalidParams.Len() > 0 {
25139		return invalidParams
25140	}
25141	return nil
25142}
25143
25144// SetFindings sets the Findings field's value.
25145func (s *BatchImportFindingsInput) SetFindings(v []*AwsSecurityFinding) *BatchImportFindingsInput {
25146	s.Findings = v
25147	return s
25148}
25149
25150type BatchImportFindingsOutput struct {
25151	_ struct{} `type:"structure"`
25152
25153	// The number of findings that failed to import.
25154	//
25155	// FailedCount is a required field
25156	FailedCount *int64 `type:"integer" required:"true"`
25157
25158	// The list of findings that failed to import.
25159	FailedFindings []*ImportFindingsError `type:"list"`
25160
25161	// The number of findings that were successfully imported.
25162	//
25163	// SuccessCount is a required field
25164	SuccessCount *int64 `type:"integer" required:"true"`
25165}
25166
25167// String returns the string representation
25168func (s BatchImportFindingsOutput) String() string {
25169	return awsutil.Prettify(s)
25170}
25171
25172// GoString returns the string representation
25173func (s BatchImportFindingsOutput) GoString() string {
25174	return s.String()
25175}
25176
25177// SetFailedCount sets the FailedCount field's value.
25178func (s *BatchImportFindingsOutput) SetFailedCount(v int64) *BatchImportFindingsOutput {
25179	s.FailedCount = &v
25180	return s
25181}
25182
25183// SetFailedFindings sets the FailedFindings field's value.
25184func (s *BatchImportFindingsOutput) SetFailedFindings(v []*ImportFindingsError) *BatchImportFindingsOutput {
25185	s.FailedFindings = v
25186	return s
25187}
25188
25189// SetSuccessCount sets the SuccessCount field's value.
25190func (s *BatchImportFindingsOutput) SetSuccessCount(v int64) *BatchImportFindingsOutput {
25191	s.SuccessCount = &v
25192	return s
25193}
25194
25195type BatchUpdateFindingsInput struct {
25196	_ struct{} `type:"structure"`
25197
25198	// The updated value for the finding confidence. Confidence is defined as the
25199	// likelihood that a finding accurately identifies the behavior or issue that
25200	// it was intended to identify.
25201	//
25202	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
25203	// zero percent confidence and 100 means 100 percent confidence.
25204	Confidence *int64 `type:"integer"`
25205
25206	// The updated value for the level of importance assigned to the resources associated
25207	// with the findings.
25208	//
25209	// A score of 0 means that the underlying resources have no criticality, and
25210	// a score of 100 is reserved for the most critical resources.
25211	Criticality *int64 `type:"integer"`
25212
25213	// The list of findings to update. BatchUpdateFindings can be used to update
25214	// up to 100 findings at a time.
25215	//
25216	// For each finding, the list provides the finding identifier and the ARN of
25217	// the finding provider.
25218	//
25219	// FindingIdentifiers is a required field
25220	FindingIdentifiers []*AwsSecurityFindingIdentifier `type:"list" required:"true"`
25221
25222	// The updated note.
25223	Note *NoteUpdate `type:"structure"`
25224
25225	// A list of findings that are related to the updated findings.
25226	RelatedFindings []*RelatedFinding `type:"list"`
25227
25228	// Used to update the finding severity.
25229	Severity *SeverityUpdate `type:"structure"`
25230
25231	// One or more finding types in the format of namespace/category/classifier
25232	// that classify a finding.
25233	//
25234	// Valid namespace values are as follows.
25235	//
25236	//    * Software and Configuration Checks
25237	//
25238	//    * TTPs
25239	//
25240	//    * Effects
25241	//
25242	//    * Unusual Behaviors
25243	//
25244	//    * Sensitive Data Identifications
25245	Types []*string `type:"list"`
25246
25247	// A list of name/value string pairs associated with the finding. These are
25248	// custom, user-defined fields added to a finding.
25249	UserDefinedFields map[string]*string `type:"map"`
25250
25251	// Indicates the veracity of a finding.
25252	//
25253	// The available values for VerificationState are as follows.
25254	//
25255	//    * UNKNOWN – The default disposition of a security finding
25256	//
25257	//    * TRUE_POSITIVE – The security finding is confirmed
25258	//
25259	//    * FALSE_POSITIVE – The security finding was determined to be a false
25260	//    alarm
25261	//
25262	//    * BENIGN_POSITIVE – A special case of TRUE_POSITIVE where the finding
25263	//    doesn't pose any threat, is expected, or both
25264	VerificationState *string `type:"string" enum:"VerificationState"`
25265
25266	// Used to update the workflow status of a finding.
25267	//
25268	// The workflow status indicates the progress of the investigation into the
25269	// finding.
25270	Workflow *WorkflowUpdate `type:"structure"`
25271}
25272
25273// String returns the string representation
25274func (s BatchUpdateFindingsInput) String() string {
25275	return awsutil.Prettify(s)
25276}
25277
25278// GoString returns the string representation
25279func (s BatchUpdateFindingsInput) GoString() string {
25280	return s.String()
25281}
25282
25283// Validate inspects the fields of the type to determine if they are valid.
25284func (s *BatchUpdateFindingsInput) Validate() error {
25285	invalidParams := request.ErrInvalidParams{Context: "BatchUpdateFindingsInput"}
25286	if s.FindingIdentifiers == nil {
25287		invalidParams.Add(request.NewErrParamRequired("FindingIdentifiers"))
25288	}
25289	if s.FindingIdentifiers != nil {
25290		for i, v := range s.FindingIdentifiers {
25291			if v == nil {
25292				continue
25293			}
25294			if err := v.Validate(); err != nil {
25295				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FindingIdentifiers", i), err.(request.ErrInvalidParams))
25296			}
25297		}
25298	}
25299	if s.Note != nil {
25300		if err := s.Note.Validate(); err != nil {
25301			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
25302		}
25303	}
25304	if s.RelatedFindings != nil {
25305		for i, v := range s.RelatedFindings {
25306			if v == nil {
25307				continue
25308			}
25309			if err := v.Validate(); err != nil {
25310				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
25311			}
25312		}
25313	}
25314
25315	if invalidParams.Len() > 0 {
25316		return invalidParams
25317	}
25318	return nil
25319}
25320
25321// SetConfidence sets the Confidence field's value.
25322func (s *BatchUpdateFindingsInput) SetConfidence(v int64) *BatchUpdateFindingsInput {
25323	s.Confidence = &v
25324	return s
25325}
25326
25327// SetCriticality sets the Criticality field's value.
25328func (s *BatchUpdateFindingsInput) SetCriticality(v int64) *BatchUpdateFindingsInput {
25329	s.Criticality = &v
25330	return s
25331}
25332
25333// SetFindingIdentifiers sets the FindingIdentifiers field's value.
25334func (s *BatchUpdateFindingsInput) SetFindingIdentifiers(v []*AwsSecurityFindingIdentifier) *BatchUpdateFindingsInput {
25335	s.FindingIdentifiers = v
25336	return s
25337}
25338
25339// SetNote sets the Note field's value.
25340func (s *BatchUpdateFindingsInput) SetNote(v *NoteUpdate) *BatchUpdateFindingsInput {
25341	s.Note = v
25342	return s
25343}
25344
25345// SetRelatedFindings sets the RelatedFindings field's value.
25346func (s *BatchUpdateFindingsInput) SetRelatedFindings(v []*RelatedFinding) *BatchUpdateFindingsInput {
25347	s.RelatedFindings = v
25348	return s
25349}
25350
25351// SetSeverity sets the Severity field's value.
25352func (s *BatchUpdateFindingsInput) SetSeverity(v *SeverityUpdate) *BatchUpdateFindingsInput {
25353	s.Severity = v
25354	return s
25355}
25356
25357// SetTypes sets the Types field's value.
25358func (s *BatchUpdateFindingsInput) SetTypes(v []*string) *BatchUpdateFindingsInput {
25359	s.Types = v
25360	return s
25361}
25362
25363// SetUserDefinedFields sets the UserDefinedFields field's value.
25364func (s *BatchUpdateFindingsInput) SetUserDefinedFields(v map[string]*string) *BatchUpdateFindingsInput {
25365	s.UserDefinedFields = v
25366	return s
25367}
25368
25369// SetVerificationState sets the VerificationState field's value.
25370func (s *BatchUpdateFindingsInput) SetVerificationState(v string) *BatchUpdateFindingsInput {
25371	s.VerificationState = &v
25372	return s
25373}
25374
25375// SetWorkflow sets the Workflow field's value.
25376func (s *BatchUpdateFindingsInput) SetWorkflow(v *WorkflowUpdate) *BatchUpdateFindingsInput {
25377	s.Workflow = v
25378	return s
25379}
25380
25381type BatchUpdateFindingsOutput struct {
25382	_ struct{} `type:"structure"`
25383
25384	// The list of findings that were updated successfully.
25385	//
25386	// ProcessedFindings is a required field
25387	ProcessedFindings []*AwsSecurityFindingIdentifier `type:"list" required:"true"`
25388
25389	// The list of findings that were not updated.
25390	//
25391	// UnprocessedFindings is a required field
25392	UnprocessedFindings []*BatchUpdateFindingsUnprocessedFinding `type:"list" required:"true"`
25393}
25394
25395// String returns the string representation
25396func (s BatchUpdateFindingsOutput) String() string {
25397	return awsutil.Prettify(s)
25398}
25399
25400// GoString returns the string representation
25401func (s BatchUpdateFindingsOutput) GoString() string {
25402	return s.String()
25403}
25404
25405// SetProcessedFindings sets the ProcessedFindings field's value.
25406func (s *BatchUpdateFindingsOutput) SetProcessedFindings(v []*AwsSecurityFindingIdentifier) *BatchUpdateFindingsOutput {
25407	s.ProcessedFindings = v
25408	return s
25409}
25410
25411// SetUnprocessedFindings sets the UnprocessedFindings field's value.
25412func (s *BatchUpdateFindingsOutput) SetUnprocessedFindings(v []*BatchUpdateFindingsUnprocessedFinding) *BatchUpdateFindingsOutput {
25413	s.UnprocessedFindings = v
25414	return s
25415}
25416
25417// A finding from a BatchUpdateFindings request that Security Hub was unable
25418// to update.
25419type BatchUpdateFindingsUnprocessedFinding struct {
25420	_ struct{} `type:"structure"`
25421
25422	// The code associated with the error.
25423	//
25424	// ErrorCode is a required field
25425	ErrorCode *string `type:"string" required:"true"`
25426
25427	// The message associated with the error.
25428	//
25429	// ErrorMessage is a required field
25430	ErrorMessage *string `type:"string" required:"true"`
25431
25432	// The identifier of the finding that was not updated.
25433	//
25434	// FindingIdentifier is a required field
25435	FindingIdentifier *AwsSecurityFindingIdentifier `type:"structure" required:"true"`
25436}
25437
25438// String returns the string representation
25439func (s BatchUpdateFindingsUnprocessedFinding) String() string {
25440	return awsutil.Prettify(s)
25441}
25442
25443// GoString returns the string representation
25444func (s BatchUpdateFindingsUnprocessedFinding) GoString() string {
25445	return s.String()
25446}
25447
25448// SetErrorCode sets the ErrorCode field's value.
25449func (s *BatchUpdateFindingsUnprocessedFinding) SetErrorCode(v string) *BatchUpdateFindingsUnprocessedFinding {
25450	s.ErrorCode = &v
25451	return s
25452}
25453
25454// SetErrorMessage sets the ErrorMessage field's value.
25455func (s *BatchUpdateFindingsUnprocessedFinding) SetErrorMessage(v string) *BatchUpdateFindingsUnprocessedFinding {
25456	s.ErrorMessage = &v
25457	return s
25458}
25459
25460// SetFindingIdentifier sets the FindingIdentifier field's value.
25461func (s *BatchUpdateFindingsUnprocessedFinding) SetFindingIdentifier(v *AwsSecurityFindingIdentifier) *BatchUpdateFindingsUnprocessedFinding {
25462	s.FindingIdentifier = v
25463	return s
25464}
25465
25466// An occurrence of sensitive data detected in a Microsoft Excel workbook, comma-separated
25467// value (CSV) file, or tab-separated value (TSV) file.
25468type Cell struct {
25469	_ struct{} `type:"structure"`
25470
25471	// For a Microsoft Excel workbook, provides the location of the cell, as an
25472	// absolute cell reference, that contains the data. For example, Sheet2!C5 for
25473	// cell C5 on Sheet2.
25474	CellReference *string `type:"string"`
25475
25476	// The column number of the column that contains the data. For a Microsoft Excel
25477	// workbook, the column number corresponds to the alphabetical column identifiers.
25478	// For example, a value of 1 for Column corresponds to the A column in the workbook.
25479	Column *int64 `type:"long"`
25480
25481	// The name of the column that contains the data.
25482	ColumnName *string `type:"string"`
25483
25484	// The row number of the row that contains the data.
25485	Row *int64 `type:"long"`
25486}
25487
25488// String returns the string representation
25489func (s Cell) String() string {
25490	return awsutil.Prettify(s)
25491}
25492
25493// GoString returns the string representation
25494func (s Cell) GoString() string {
25495	return s.String()
25496}
25497
25498// SetCellReference sets the CellReference field's value.
25499func (s *Cell) SetCellReference(v string) *Cell {
25500	s.CellReference = &v
25501	return s
25502}
25503
25504// SetColumn sets the Column field's value.
25505func (s *Cell) SetColumn(v int64) *Cell {
25506	s.Column = &v
25507	return s
25508}
25509
25510// SetColumnName sets the ColumnName field's value.
25511func (s *Cell) SetColumnName(v string) *Cell {
25512	s.ColumnName = &v
25513	return s
25514}
25515
25516// SetRow sets the Row field's value.
25517func (s *Cell) SetRow(v int64) *Cell {
25518	s.Row = &v
25519	return s
25520}
25521
25522// An IPv4 CIDR block association.
25523type CidrBlockAssociation struct {
25524	_ struct{} `type:"structure"`
25525
25526	// The association ID for the IPv4 CIDR block.
25527	AssociationId *string `type:"string"`
25528
25529	// The IPv4 CIDR block.
25530	CidrBlock *string `type:"string"`
25531
25532	// Information about the state of the IPv4 CIDR block.
25533	CidrBlockState *string `type:"string"`
25534}
25535
25536// String returns the string representation
25537func (s CidrBlockAssociation) String() string {
25538	return awsutil.Prettify(s)
25539}
25540
25541// GoString returns the string representation
25542func (s CidrBlockAssociation) GoString() string {
25543	return s.String()
25544}
25545
25546// SetAssociationId sets the AssociationId field's value.
25547func (s *CidrBlockAssociation) SetAssociationId(v string) *CidrBlockAssociation {
25548	s.AssociationId = &v
25549	return s
25550}
25551
25552// SetCidrBlock sets the CidrBlock field's value.
25553func (s *CidrBlockAssociation) SetCidrBlock(v string) *CidrBlockAssociation {
25554	s.CidrBlock = &v
25555	return s
25556}
25557
25558// SetCidrBlockState sets the CidrBlockState field's value.
25559func (s *CidrBlockAssociation) SetCidrBlockState(v string) *CidrBlockAssociation {
25560	s.CidrBlockState = &v
25561	return s
25562}
25563
25564// Information about a city.
25565type City struct {
25566	_ struct{} `type:"structure"`
25567
25568	// The name of the city.
25569	CityName *string `type:"string"`
25570}
25571
25572// String returns the string representation
25573func (s City) String() string {
25574	return awsutil.Prettify(s)
25575}
25576
25577// GoString returns the string representation
25578func (s City) GoString() string {
25579	return s.String()
25580}
25581
25582// SetCityName sets the CityName field's value.
25583func (s *City) SetCityName(v string) *City {
25584	s.CityName = &v
25585	return s
25586}
25587
25588// Details about the sensitive data that was detected on the resource.
25589type ClassificationResult struct {
25590	_ struct{} `type:"structure"`
25591
25592	// Indicates whether there are additional occurrences of sensitive data that
25593	// are not included in the finding. This occurs when the number of occurrences
25594	// exceeds the maximum that can be included.
25595	AdditionalOccurrences *bool `type:"boolean"`
25596
25597	// Provides details about sensitive data that was identified based on customer-defined
25598	// configuration.
25599	CustomDataIdentifiers *CustomDataIdentifiersResult `type:"structure"`
25600
25601	// The type of content that the finding applies to.
25602	MimeType *string `type:"string"`
25603
25604	// Provides details about sensitive data that was identified based on built-in
25605	// configuration.
25606	SensitiveData []*SensitiveDataResult `type:"list"`
25607
25608	// The total size in bytes of the affected data.
25609	SizeClassified *int64 `type:"long"`
25610
25611	// The current status of the sensitive data detection.
25612	Status *ClassificationStatus `type:"structure"`
25613}
25614
25615// String returns the string representation
25616func (s ClassificationResult) String() string {
25617	return awsutil.Prettify(s)
25618}
25619
25620// GoString returns the string representation
25621func (s ClassificationResult) GoString() string {
25622	return s.String()
25623}
25624
25625// SetAdditionalOccurrences sets the AdditionalOccurrences field's value.
25626func (s *ClassificationResult) SetAdditionalOccurrences(v bool) *ClassificationResult {
25627	s.AdditionalOccurrences = &v
25628	return s
25629}
25630
25631// SetCustomDataIdentifiers sets the CustomDataIdentifiers field's value.
25632func (s *ClassificationResult) SetCustomDataIdentifiers(v *CustomDataIdentifiersResult) *ClassificationResult {
25633	s.CustomDataIdentifiers = v
25634	return s
25635}
25636
25637// SetMimeType sets the MimeType field's value.
25638func (s *ClassificationResult) SetMimeType(v string) *ClassificationResult {
25639	s.MimeType = &v
25640	return s
25641}
25642
25643// SetSensitiveData sets the SensitiveData field's value.
25644func (s *ClassificationResult) SetSensitiveData(v []*SensitiveDataResult) *ClassificationResult {
25645	s.SensitiveData = v
25646	return s
25647}
25648
25649// SetSizeClassified sets the SizeClassified field's value.
25650func (s *ClassificationResult) SetSizeClassified(v int64) *ClassificationResult {
25651	s.SizeClassified = &v
25652	return s
25653}
25654
25655// SetStatus sets the Status field's value.
25656func (s *ClassificationResult) SetStatus(v *ClassificationStatus) *ClassificationResult {
25657	s.Status = v
25658	return s
25659}
25660
25661// Provides details about the current status of the sensitive data detection.
25662type ClassificationStatus struct {
25663	_ struct{} `type:"structure"`
25664
25665	// The code that represents the status of the sensitive data detection.
25666	Code *string `type:"string"`
25667
25668	// A longer description of the current status of the sensitive data detection.
25669	Reason *string `type:"string"`
25670}
25671
25672// String returns the string representation
25673func (s ClassificationStatus) String() string {
25674	return awsutil.Prettify(s)
25675}
25676
25677// GoString returns the string representation
25678func (s ClassificationStatus) GoString() string {
25679	return s.String()
25680}
25681
25682// SetCode sets the Code field's value.
25683func (s *ClassificationStatus) SetCode(v string) *ClassificationStatus {
25684	s.Code = &v
25685	return s
25686}
25687
25688// SetReason sets the Reason field's value.
25689func (s *ClassificationStatus) SetReason(v string) *ClassificationStatus {
25690	s.Reason = &v
25691	return s
25692}
25693
25694// Contains finding details that are specific to control-based findings. Only
25695// returned for findings generated from controls.
25696type Compliance struct {
25697	_ struct{} `type:"structure"`
25698
25699	// For a control, the industry or regulatory framework requirements that are
25700	// related to the control. The check for that control is aligned with these
25701	// requirements.
25702	RelatedRequirements []*string `type:"list"`
25703
25704	// The result of a standards check.
25705	//
25706	// The valid values for Status are as follows.
25707	//
25708	//    * PASSED - Standards check passed for all evaluated resources. WARNING
25709	//    - Some information is missing or this check is not supported for your
25710	//    configuration. FAILED - Standards check failed for at least one evaluated
25711	//    resource. NOT_AVAILABLE - Check could not be performed due to a service
25712	//    outage, API error, or because the result of the Config evaluation was
25713	//    NOT_APPLICABLE. If the Config evaluation result was NOT_APPLICABLE, then
25714	//    after 3 days, Security Hub automatically archives the finding.
25715	Status *string `type:"string" enum:"ComplianceStatus"`
25716
25717	// For findings generated from controls, a list of reasons behind the value
25718	// of Status. For the list of status reason codes and their meanings, see Standards-related
25719	// information in the ASFF (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-results.html#securityhub-standards-results-asff)
25720	// in the Security Hub User Guide.
25721	StatusReasons []*StatusReason `type:"list"`
25722}
25723
25724// String returns the string representation
25725func (s Compliance) String() string {
25726	return awsutil.Prettify(s)
25727}
25728
25729// GoString returns the string representation
25730func (s Compliance) GoString() string {
25731	return s.String()
25732}
25733
25734// Validate inspects the fields of the type to determine if they are valid.
25735func (s *Compliance) Validate() error {
25736	invalidParams := request.ErrInvalidParams{Context: "Compliance"}
25737	if s.StatusReasons != nil {
25738		for i, v := range s.StatusReasons {
25739			if v == nil {
25740				continue
25741			}
25742			if err := v.Validate(); err != nil {
25743				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StatusReasons", i), err.(request.ErrInvalidParams))
25744			}
25745		}
25746	}
25747
25748	if invalidParams.Len() > 0 {
25749		return invalidParams
25750	}
25751	return nil
25752}
25753
25754// SetRelatedRequirements sets the RelatedRequirements field's value.
25755func (s *Compliance) SetRelatedRequirements(v []*string) *Compliance {
25756	s.RelatedRequirements = v
25757	return s
25758}
25759
25760// SetStatus sets the Status field's value.
25761func (s *Compliance) SetStatus(v string) *Compliance {
25762	s.Status = &v
25763	return s
25764}
25765
25766// SetStatusReasons sets the StatusReasons field's value.
25767func (s *Compliance) SetStatusReasons(v []*StatusReason) *Compliance {
25768	s.StatusReasons = v
25769	return s
25770}
25771
25772// Container details related to a finding.
25773type ContainerDetails struct {
25774	_ struct{} `type:"structure"`
25775
25776	// The identifier of the image related to a finding.
25777	ImageId *string `type:"string"`
25778
25779	// The name of the image related to a finding.
25780	ImageName *string `type:"string"`
25781
25782	// Indicates when the container started.
25783	//
25784	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
25785	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
25786	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
25787	LaunchedAt *string `type:"string"`
25788
25789	// The name of the container related to a finding.
25790	Name *string `type:"string"`
25791}
25792
25793// String returns the string representation
25794func (s ContainerDetails) String() string {
25795	return awsutil.Prettify(s)
25796}
25797
25798// GoString returns the string representation
25799func (s ContainerDetails) GoString() string {
25800	return s.String()
25801}
25802
25803// SetImageId sets the ImageId field's value.
25804func (s *ContainerDetails) SetImageId(v string) *ContainerDetails {
25805	s.ImageId = &v
25806	return s
25807}
25808
25809// SetImageName sets the ImageName field's value.
25810func (s *ContainerDetails) SetImageName(v string) *ContainerDetails {
25811	s.ImageName = &v
25812	return s
25813}
25814
25815// SetLaunchedAt sets the LaunchedAt field's value.
25816func (s *ContainerDetails) SetLaunchedAt(v string) *ContainerDetails {
25817	s.LaunchedAt = &v
25818	return s
25819}
25820
25821// SetName sets the Name field's value.
25822func (s *ContainerDetails) SetName(v string) *ContainerDetails {
25823	s.Name = &v
25824	return s
25825}
25826
25827// Information about a country.
25828type Country struct {
25829	_ struct{} `type:"structure"`
25830
25831	// The 2-letter ISO 3166 country code for the country.
25832	CountryCode *string `type:"string"`
25833
25834	// The name of the country.
25835	CountryName *string `type:"string"`
25836}
25837
25838// String returns the string representation
25839func (s Country) String() string {
25840	return awsutil.Prettify(s)
25841}
25842
25843// GoString returns the string representation
25844func (s Country) GoString() string {
25845	return s.String()
25846}
25847
25848// SetCountryCode sets the CountryCode field's value.
25849func (s *Country) SetCountryCode(v string) *Country {
25850	s.CountryCode = &v
25851	return s
25852}
25853
25854// SetCountryName sets the CountryName field's value.
25855func (s *Country) SetCountryName(v string) *Country {
25856	s.CountryName = &v
25857	return s
25858}
25859
25860type CreateActionTargetInput struct {
25861	_ struct{} `type:"structure"`
25862
25863	// The description for the custom action target.
25864	//
25865	// Description is a required field
25866	Description *string `type:"string" required:"true"`
25867
25868	// The ID for the custom action target. Can contain up to 20 alphanumeric characters.
25869	//
25870	// Id is a required field
25871	Id *string `type:"string" required:"true"`
25872
25873	// The name of the custom action target. Can contain up to 20 characters.
25874	//
25875	// Name is a required field
25876	Name *string `type:"string" required:"true"`
25877}
25878
25879// String returns the string representation
25880func (s CreateActionTargetInput) String() string {
25881	return awsutil.Prettify(s)
25882}
25883
25884// GoString returns the string representation
25885func (s CreateActionTargetInput) GoString() string {
25886	return s.String()
25887}
25888
25889// Validate inspects the fields of the type to determine if they are valid.
25890func (s *CreateActionTargetInput) Validate() error {
25891	invalidParams := request.ErrInvalidParams{Context: "CreateActionTargetInput"}
25892	if s.Description == nil {
25893		invalidParams.Add(request.NewErrParamRequired("Description"))
25894	}
25895	if s.Id == nil {
25896		invalidParams.Add(request.NewErrParamRequired("Id"))
25897	}
25898	if s.Name == nil {
25899		invalidParams.Add(request.NewErrParamRequired("Name"))
25900	}
25901
25902	if invalidParams.Len() > 0 {
25903		return invalidParams
25904	}
25905	return nil
25906}
25907
25908// SetDescription sets the Description field's value.
25909func (s *CreateActionTargetInput) SetDescription(v string) *CreateActionTargetInput {
25910	s.Description = &v
25911	return s
25912}
25913
25914// SetId sets the Id field's value.
25915func (s *CreateActionTargetInput) SetId(v string) *CreateActionTargetInput {
25916	s.Id = &v
25917	return s
25918}
25919
25920// SetName sets the Name field's value.
25921func (s *CreateActionTargetInput) SetName(v string) *CreateActionTargetInput {
25922	s.Name = &v
25923	return s
25924}
25925
25926type CreateActionTargetOutput struct {
25927	_ struct{} `type:"structure"`
25928
25929	// The ARN for the custom action target.
25930	//
25931	// ActionTargetArn is a required field
25932	ActionTargetArn *string `type:"string" required:"true"`
25933}
25934
25935// String returns the string representation
25936func (s CreateActionTargetOutput) String() string {
25937	return awsutil.Prettify(s)
25938}
25939
25940// GoString returns the string representation
25941func (s CreateActionTargetOutput) GoString() string {
25942	return s.String()
25943}
25944
25945// SetActionTargetArn sets the ActionTargetArn field's value.
25946func (s *CreateActionTargetOutput) SetActionTargetArn(v string) *CreateActionTargetOutput {
25947	s.ActionTargetArn = &v
25948	return s
25949}
25950
25951type CreateInsightInput struct {
25952	_ struct{} `type:"structure"`
25953
25954	// One or more attributes used to filter the findings included in the insight.
25955	// The insight only includes findings that match the criteria defined in the
25956	// filters.
25957	//
25958	// Filters is a required field
25959	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
25960
25961	// The attribute used to group the findings for the insight. The grouping attribute
25962	// identifies the type of item that the insight applies to. For example, if
25963	// an insight is grouped by resource identifier, then the insight produces a
25964	// list of resource identifiers.
25965	//
25966	// GroupByAttribute is a required field
25967	GroupByAttribute *string `type:"string" required:"true"`
25968
25969	// The name of the custom insight to create.
25970	//
25971	// Name is a required field
25972	Name *string `type:"string" required:"true"`
25973}
25974
25975// String returns the string representation
25976func (s CreateInsightInput) String() string {
25977	return awsutil.Prettify(s)
25978}
25979
25980// GoString returns the string representation
25981func (s CreateInsightInput) GoString() string {
25982	return s.String()
25983}
25984
25985// Validate inspects the fields of the type to determine if they are valid.
25986func (s *CreateInsightInput) Validate() error {
25987	invalidParams := request.ErrInvalidParams{Context: "CreateInsightInput"}
25988	if s.Filters == nil {
25989		invalidParams.Add(request.NewErrParamRequired("Filters"))
25990	}
25991	if s.GroupByAttribute == nil {
25992		invalidParams.Add(request.NewErrParamRequired("GroupByAttribute"))
25993	}
25994	if s.Name == nil {
25995		invalidParams.Add(request.NewErrParamRequired("Name"))
25996	}
25997
25998	if invalidParams.Len() > 0 {
25999		return invalidParams
26000	}
26001	return nil
26002}
26003
26004// SetFilters sets the Filters field's value.
26005func (s *CreateInsightInput) SetFilters(v *AwsSecurityFindingFilters) *CreateInsightInput {
26006	s.Filters = v
26007	return s
26008}
26009
26010// SetGroupByAttribute sets the GroupByAttribute field's value.
26011func (s *CreateInsightInput) SetGroupByAttribute(v string) *CreateInsightInput {
26012	s.GroupByAttribute = &v
26013	return s
26014}
26015
26016// SetName sets the Name field's value.
26017func (s *CreateInsightInput) SetName(v string) *CreateInsightInput {
26018	s.Name = &v
26019	return s
26020}
26021
26022type CreateInsightOutput struct {
26023	_ struct{} `type:"structure"`
26024
26025	// The ARN of the insight created.
26026	//
26027	// InsightArn is a required field
26028	InsightArn *string `type:"string" required:"true"`
26029}
26030
26031// String returns the string representation
26032func (s CreateInsightOutput) String() string {
26033	return awsutil.Prettify(s)
26034}
26035
26036// GoString returns the string representation
26037func (s CreateInsightOutput) GoString() string {
26038	return s.String()
26039}
26040
26041// SetInsightArn sets the InsightArn field's value.
26042func (s *CreateInsightOutput) SetInsightArn(v string) *CreateInsightOutput {
26043	s.InsightArn = &v
26044	return s
26045}
26046
26047type CreateMembersInput struct {
26048	_ struct{} `type:"structure"`
26049
26050	// The list of accounts to associate with the Security Hub administrator account.
26051	// For each account, the list includes the account ID and optionally the email
26052	// address.
26053	//
26054	// AccountDetails is a required field
26055	AccountDetails []*AccountDetails `type:"list" required:"true"`
26056}
26057
26058// String returns the string representation
26059func (s CreateMembersInput) String() string {
26060	return awsutil.Prettify(s)
26061}
26062
26063// GoString returns the string representation
26064func (s CreateMembersInput) GoString() string {
26065	return s.String()
26066}
26067
26068// Validate inspects the fields of the type to determine if they are valid.
26069func (s *CreateMembersInput) Validate() error {
26070	invalidParams := request.ErrInvalidParams{Context: "CreateMembersInput"}
26071	if s.AccountDetails == nil {
26072		invalidParams.Add(request.NewErrParamRequired("AccountDetails"))
26073	}
26074	if s.AccountDetails != nil {
26075		for i, v := range s.AccountDetails {
26076			if v == nil {
26077				continue
26078			}
26079			if err := v.Validate(); err != nil {
26080				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountDetails", i), err.(request.ErrInvalidParams))
26081			}
26082		}
26083	}
26084
26085	if invalidParams.Len() > 0 {
26086		return invalidParams
26087	}
26088	return nil
26089}
26090
26091// SetAccountDetails sets the AccountDetails field's value.
26092func (s *CreateMembersInput) SetAccountDetails(v []*AccountDetails) *CreateMembersInput {
26093	s.AccountDetails = v
26094	return s
26095}
26096
26097type CreateMembersOutput struct {
26098	_ struct{} `type:"structure"`
26099
26100	// The list of Amazon Web Services accounts that were not processed. For each
26101	// account, the list includes the account ID and the email address.
26102	UnprocessedAccounts []*Result `type:"list"`
26103}
26104
26105// String returns the string representation
26106func (s CreateMembersOutput) String() string {
26107	return awsutil.Prettify(s)
26108}
26109
26110// GoString returns the string representation
26111func (s CreateMembersOutput) GoString() string {
26112	return s.String()
26113}
26114
26115// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
26116func (s *CreateMembersOutput) SetUnprocessedAccounts(v []*Result) *CreateMembersOutput {
26117	s.UnprocessedAccounts = v
26118	return s
26119}
26120
26121// The list of detected instances of sensitive data.
26122type CustomDataIdentifiersDetections struct {
26123	_ struct{} `type:"structure"`
26124
26125	// The ARN of the custom identifier that was used to detect the sensitive data.
26126	Arn *string `type:"string"`
26127
26128	// The total number of occurrences of sensitive data that were detected.
26129	Count *int64 `type:"long"`
26130
26131	// he name of the custom identifier that detected the sensitive data.
26132	Name *string `type:"string"`
26133
26134	// Details about the sensitive data that was detected.
26135	Occurrences *Occurrences `type:"structure"`
26136}
26137
26138// String returns the string representation
26139func (s CustomDataIdentifiersDetections) String() string {
26140	return awsutil.Prettify(s)
26141}
26142
26143// GoString returns the string representation
26144func (s CustomDataIdentifiersDetections) GoString() string {
26145	return s.String()
26146}
26147
26148// SetArn sets the Arn field's value.
26149func (s *CustomDataIdentifiersDetections) SetArn(v string) *CustomDataIdentifiersDetections {
26150	s.Arn = &v
26151	return s
26152}
26153
26154// SetCount sets the Count field's value.
26155func (s *CustomDataIdentifiersDetections) SetCount(v int64) *CustomDataIdentifiersDetections {
26156	s.Count = &v
26157	return s
26158}
26159
26160// SetName sets the Name field's value.
26161func (s *CustomDataIdentifiersDetections) SetName(v string) *CustomDataIdentifiersDetections {
26162	s.Name = &v
26163	return s
26164}
26165
26166// SetOccurrences sets the Occurrences field's value.
26167func (s *CustomDataIdentifiersDetections) SetOccurrences(v *Occurrences) *CustomDataIdentifiersDetections {
26168	s.Occurrences = v
26169	return s
26170}
26171
26172// Contains an instance of sensitive data that was detected by a customer-defined
26173// identifier.
26174type CustomDataIdentifiersResult struct {
26175	_ struct{} `type:"structure"`
26176
26177	// The list of detected instances of sensitive data.
26178	Detections []*CustomDataIdentifiersDetections `type:"list"`
26179
26180	// The total number of occurrences of sensitive data.
26181	TotalCount *int64 `type:"long"`
26182}
26183
26184// String returns the string representation
26185func (s CustomDataIdentifiersResult) String() string {
26186	return awsutil.Prettify(s)
26187}
26188
26189// GoString returns the string representation
26190func (s CustomDataIdentifiersResult) GoString() string {
26191	return s.String()
26192}
26193
26194// SetDetections sets the Detections field's value.
26195func (s *CustomDataIdentifiersResult) SetDetections(v []*CustomDataIdentifiersDetections) *CustomDataIdentifiersResult {
26196	s.Detections = v
26197	return s
26198}
26199
26200// SetTotalCount sets the TotalCount field's value.
26201func (s *CustomDataIdentifiersResult) SetTotalCount(v int64) *CustomDataIdentifiersResult {
26202	s.TotalCount = &v
26203	return s
26204}
26205
26206// CVSS scores from the advisory related to the vulnerability.
26207type Cvss struct {
26208	_ struct{} `type:"structure"`
26209
26210	// Adjustments to the CVSS metrics.
26211	Adjustments []*Adjustment `type:"list"`
26212
26213	// The base CVSS score.
26214	BaseScore *float64 `type:"double"`
26215
26216	// The base scoring vector for the CVSS score.
26217	BaseVector *string `type:"string"`
26218
26219	// The origin of the original CVSS score and vector.
26220	Source *string `type:"string"`
26221
26222	// The version of CVSS for the CVSS score.
26223	Version *string `type:"string"`
26224}
26225
26226// String returns the string representation
26227func (s Cvss) String() string {
26228	return awsutil.Prettify(s)
26229}
26230
26231// GoString returns the string representation
26232func (s Cvss) GoString() string {
26233	return s.String()
26234}
26235
26236// SetAdjustments sets the Adjustments field's value.
26237func (s *Cvss) SetAdjustments(v []*Adjustment) *Cvss {
26238	s.Adjustments = v
26239	return s
26240}
26241
26242// SetBaseScore sets the BaseScore field's value.
26243func (s *Cvss) SetBaseScore(v float64) *Cvss {
26244	s.BaseScore = &v
26245	return s
26246}
26247
26248// SetBaseVector sets the BaseVector field's value.
26249func (s *Cvss) SetBaseVector(v string) *Cvss {
26250	s.BaseVector = &v
26251	return s
26252}
26253
26254// SetSource sets the Source field's value.
26255func (s *Cvss) SetSource(v string) *Cvss {
26256	s.Source = &v
26257	return s
26258}
26259
26260// SetVersion sets the Version field's value.
26261func (s *Cvss) SetVersion(v string) *Cvss {
26262	s.Version = &v
26263	return s
26264}
26265
26266// Provides details about sensitive data that was detected on a resource.
26267type DataClassificationDetails struct {
26268	_ struct{} `type:"structure"`
26269
26270	// The path to the folder or file that contains the sensitive data.
26271	DetailedResultsLocation *string `type:"string"`
26272
26273	// The details about the sensitive data that was detected on the resource.
26274	Result *ClassificationResult `type:"structure"`
26275}
26276
26277// String returns the string representation
26278func (s DataClassificationDetails) String() string {
26279	return awsutil.Prettify(s)
26280}
26281
26282// GoString returns the string representation
26283func (s DataClassificationDetails) GoString() string {
26284	return s.String()
26285}
26286
26287// SetDetailedResultsLocation sets the DetailedResultsLocation field's value.
26288func (s *DataClassificationDetails) SetDetailedResultsLocation(v string) *DataClassificationDetails {
26289	s.DetailedResultsLocation = &v
26290	return s
26291}
26292
26293// SetResult sets the Result field's value.
26294func (s *DataClassificationDetails) SetResult(v *ClassificationResult) *DataClassificationDetails {
26295	s.Result = v
26296	return s
26297}
26298
26299// A date filter for querying findings.
26300type DateFilter struct {
26301	_ struct{} `type:"structure"`
26302
26303	// A date range for the date filter.
26304	DateRange *DateRange `type:"structure"`
26305
26306	// An end date for the date filter.
26307	End *string `type:"string"`
26308
26309	// A start date for the date filter.
26310	Start *string `type:"string"`
26311}
26312
26313// String returns the string representation
26314func (s DateFilter) String() string {
26315	return awsutil.Prettify(s)
26316}
26317
26318// GoString returns the string representation
26319func (s DateFilter) GoString() string {
26320	return s.String()
26321}
26322
26323// SetDateRange sets the DateRange field's value.
26324func (s *DateFilter) SetDateRange(v *DateRange) *DateFilter {
26325	s.DateRange = v
26326	return s
26327}
26328
26329// SetEnd sets the End field's value.
26330func (s *DateFilter) SetEnd(v string) *DateFilter {
26331	s.End = &v
26332	return s
26333}
26334
26335// SetStart sets the Start field's value.
26336func (s *DateFilter) SetStart(v string) *DateFilter {
26337	s.Start = &v
26338	return s
26339}
26340
26341// A date range for the date filter.
26342type DateRange struct {
26343	_ struct{} `type:"structure"`
26344
26345	// A date range unit for the date filter.
26346	Unit *string `type:"string" enum:"DateRangeUnit"`
26347
26348	// A date range value for the date filter.
26349	Value *int64 `type:"integer"`
26350}
26351
26352// String returns the string representation
26353func (s DateRange) String() string {
26354	return awsutil.Prettify(s)
26355}
26356
26357// GoString returns the string representation
26358func (s DateRange) GoString() string {
26359	return s.String()
26360}
26361
26362// SetUnit sets the Unit field's value.
26363func (s *DateRange) SetUnit(v string) *DateRange {
26364	s.Unit = &v
26365	return s
26366}
26367
26368// SetValue sets the Value field's value.
26369func (s *DateRange) SetValue(v int64) *DateRange {
26370	s.Value = &v
26371	return s
26372}
26373
26374type DeclineInvitationsInput struct {
26375	_ struct{} `type:"structure"`
26376
26377	// The list of account IDs for the accounts from which to decline the invitations
26378	// to Security Hub.
26379	//
26380	// AccountIds is a required field
26381	AccountIds []*string `type:"list" required:"true"`
26382}
26383
26384// String returns the string representation
26385func (s DeclineInvitationsInput) String() string {
26386	return awsutil.Prettify(s)
26387}
26388
26389// GoString returns the string representation
26390func (s DeclineInvitationsInput) GoString() string {
26391	return s.String()
26392}
26393
26394// Validate inspects the fields of the type to determine if they are valid.
26395func (s *DeclineInvitationsInput) Validate() error {
26396	invalidParams := request.ErrInvalidParams{Context: "DeclineInvitationsInput"}
26397	if s.AccountIds == nil {
26398		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
26399	}
26400
26401	if invalidParams.Len() > 0 {
26402		return invalidParams
26403	}
26404	return nil
26405}
26406
26407// SetAccountIds sets the AccountIds field's value.
26408func (s *DeclineInvitationsInput) SetAccountIds(v []*string) *DeclineInvitationsInput {
26409	s.AccountIds = v
26410	return s
26411}
26412
26413type DeclineInvitationsOutput struct {
26414	_ struct{} `type:"structure"`
26415
26416	// The list of Amazon Web Services accounts that were not processed. For each
26417	// account, the list includes the account ID and the email address.
26418	UnprocessedAccounts []*Result `type:"list"`
26419}
26420
26421// String returns the string representation
26422func (s DeclineInvitationsOutput) String() string {
26423	return awsutil.Prettify(s)
26424}
26425
26426// GoString returns the string representation
26427func (s DeclineInvitationsOutput) GoString() string {
26428	return s.String()
26429}
26430
26431// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
26432func (s *DeclineInvitationsOutput) SetUnprocessedAccounts(v []*Result) *DeclineInvitationsOutput {
26433	s.UnprocessedAccounts = v
26434	return s
26435}
26436
26437type DeleteActionTargetInput struct {
26438	_ struct{} `type:"structure"`
26439
26440	// The ARN of the custom action target to delete.
26441	//
26442	// ActionTargetArn is a required field
26443	ActionTargetArn *string `location:"uri" locationName:"ActionTargetArn" type:"string" required:"true"`
26444}
26445
26446// String returns the string representation
26447func (s DeleteActionTargetInput) String() string {
26448	return awsutil.Prettify(s)
26449}
26450
26451// GoString returns the string representation
26452func (s DeleteActionTargetInput) GoString() string {
26453	return s.String()
26454}
26455
26456// Validate inspects the fields of the type to determine if they are valid.
26457func (s *DeleteActionTargetInput) Validate() error {
26458	invalidParams := request.ErrInvalidParams{Context: "DeleteActionTargetInput"}
26459	if s.ActionTargetArn == nil {
26460		invalidParams.Add(request.NewErrParamRequired("ActionTargetArn"))
26461	}
26462	if s.ActionTargetArn != nil && len(*s.ActionTargetArn) < 1 {
26463		invalidParams.Add(request.NewErrParamMinLen("ActionTargetArn", 1))
26464	}
26465
26466	if invalidParams.Len() > 0 {
26467		return invalidParams
26468	}
26469	return nil
26470}
26471
26472// SetActionTargetArn sets the ActionTargetArn field's value.
26473func (s *DeleteActionTargetInput) SetActionTargetArn(v string) *DeleteActionTargetInput {
26474	s.ActionTargetArn = &v
26475	return s
26476}
26477
26478type DeleteActionTargetOutput struct {
26479	_ struct{} `type:"structure"`
26480
26481	// The ARN of the custom action target that was deleted.
26482	//
26483	// ActionTargetArn is a required field
26484	ActionTargetArn *string `type:"string" required:"true"`
26485}
26486
26487// String returns the string representation
26488func (s DeleteActionTargetOutput) String() string {
26489	return awsutil.Prettify(s)
26490}
26491
26492// GoString returns the string representation
26493func (s DeleteActionTargetOutput) GoString() string {
26494	return s.String()
26495}
26496
26497// SetActionTargetArn sets the ActionTargetArn field's value.
26498func (s *DeleteActionTargetOutput) SetActionTargetArn(v string) *DeleteActionTargetOutput {
26499	s.ActionTargetArn = &v
26500	return s
26501}
26502
26503type DeleteInsightInput struct {
26504	_ struct{} `type:"structure"`
26505
26506	// The ARN of the insight to delete.
26507	//
26508	// InsightArn is a required field
26509	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
26510}
26511
26512// String returns the string representation
26513func (s DeleteInsightInput) String() string {
26514	return awsutil.Prettify(s)
26515}
26516
26517// GoString returns the string representation
26518func (s DeleteInsightInput) GoString() string {
26519	return s.String()
26520}
26521
26522// Validate inspects the fields of the type to determine if they are valid.
26523func (s *DeleteInsightInput) Validate() error {
26524	invalidParams := request.ErrInvalidParams{Context: "DeleteInsightInput"}
26525	if s.InsightArn == nil {
26526		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
26527	}
26528	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
26529		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
26530	}
26531
26532	if invalidParams.Len() > 0 {
26533		return invalidParams
26534	}
26535	return nil
26536}
26537
26538// SetInsightArn sets the InsightArn field's value.
26539func (s *DeleteInsightInput) SetInsightArn(v string) *DeleteInsightInput {
26540	s.InsightArn = &v
26541	return s
26542}
26543
26544type DeleteInsightOutput struct {
26545	_ struct{} `type:"structure"`
26546
26547	// The ARN of the insight that was deleted.
26548	//
26549	// InsightArn is a required field
26550	InsightArn *string `type:"string" required:"true"`
26551}
26552
26553// String returns the string representation
26554func (s DeleteInsightOutput) String() string {
26555	return awsutil.Prettify(s)
26556}
26557
26558// GoString returns the string representation
26559func (s DeleteInsightOutput) GoString() string {
26560	return s.String()
26561}
26562
26563// SetInsightArn sets the InsightArn field's value.
26564func (s *DeleteInsightOutput) SetInsightArn(v string) *DeleteInsightOutput {
26565	s.InsightArn = &v
26566	return s
26567}
26568
26569type DeleteInvitationsInput struct {
26570	_ struct{} `type:"structure"`
26571
26572	// The list of the account IDs that sent the invitations to delete.
26573	//
26574	// AccountIds is a required field
26575	AccountIds []*string `type:"list" required:"true"`
26576}
26577
26578// String returns the string representation
26579func (s DeleteInvitationsInput) String() string {
26580	return awsutil.Prettify(s)
26581}
26582
26583// GoString returns the string representation
26584func (s DeleteInvitationsInput) GoString() string {
26585	return s.String()
26586}
26587
26588// Validate inspects the fields of the type to determine if they are valid.
26589func (s *DeleteInvitationsInput) Validate() error {
26590	invalidParams := request.ErrInvalidParams{Context: "DeleteInvitationsInput"}
26591	if s.AccountIds == nil {
26592		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
26593	}
26594
26595	if invalidParams.Len() > 0 {
26596		return invalidParams
26597	}
26598	return nil
26599}
26600
26601// SetAccountIds sets the AccountIds field's value.
26602func (s *DeleteInvitationsInput) SetAccountIds(v []*string) *DeleteInvitationsInput {
26603	s.AccountIds = v
26604	return s
26605}
26606
26607type DeleteInvitationsOutput struct {
26608	_ struct{} `type:"structure"`
26609
26610	// The list of Amazon Web Services accounts for which the invitations were not
26611	// deleted. For each account, the list includes the account ID and the email
26612	// address.
26613	UnprocessedAccounts []*Result `type:"list"`
26614}
26615
26616// String returns the string representation
26617func (s DeleteInvitationsOutput) String() string {
26618	return awsutil.Prettify(s)
26619}
26620
26621// GoString returns the string representation
26622func (s DeleteInvitationsOutput) GoString() string {
26623	return s.String()
26624}
26625
26626// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
26627func (s *DeleteInvitationsOutput) SetUnprocessedAccounts(v []*Result) *DeleteInvitationsOutput {
26628	s.UnprocessedAccounts = v
26629	return s
26630}
26631
26632type DeleteMembersInput struct {
26633	_ struct{} `type:"structure"`
26634
26635	// The list of account IDs for the member accounts to delete.
26636	//
26637	// AccountIds is a required field
26638	AccountIds []*string `type:"list" required:"true"`
26639}
26640
26641// String returns the string representation
26642func (s DeleteMembersInput) String() string {
26643	return awsutil.Prettify(s)
26644}
26645
26646// GoString returns the string representation
26647func (s DeleteMembersInput) GoString() string {
26648	return s.String()
26649}
26650
26651// Validate inspects the fields of the type to determine if they are valid.
26652func (s *DeleteMembersInput) Validate() error {
26653	invalidParams := request.ErrInvalidParams{Context: "DeleteMembersInput"}
26654	if s.AccountIds == nil {
26655		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
26656	}
26657
26658	if invalidParams.Len() > 0 {
26659		return invalidParams
26660	}
26661	return nil
26662}
26663
26664// SetAccountIds sets the AccountIds field's value.
26665func (s *DeleteMembersInput) SetAccountIds(v []*string) *DeleteMembersInput {
26666	s.AccountIds = v
26667	return s
26668}
26669
26670type DeleteMembersOutput struct {
26671	_ struct{} `type:"structure"`
26672
26673	// The list of Amazon Web Services accounts that were not deleted. For each
26674	// account, the list includes the account ID and the email address.
26675	UnprocessedAccounts []*Result `type:"list"`
26676}
26677
26678// String returns the string representation
26679func (s DeleteMembersOutput) String() string {
26680	return awsutil.Prettify(s)
26681}
26682
26683// GoString returns the string representation
26684func (s DeleteMembersOutput) GoString() string {
26685	return s.String()
26686}
26687
26688// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
26689func (s *DeleteMembersOutput) SetUnprocessedAccounts(v []*Result) *DeleteMembersOutput {
26690	s.UnprocessedAccounts = v
26691	return s
26692}
26693
26694type DescribeActionTargetsInput struct {
26695	_ struct{} `type:"structure"`
26696
26697	// A list of custom action target ARNs for the custom action targets to retrieve.
26698	ActionTargetArns []*string `type:"list"`
26699
26700	// The maximum number of results to return.
26701	MaxResults *int64 `min:"1" type:"integer"`
26702
26703	// The token that is required for pagination. On your first call to the DescribeActionTargets
26704	// operation, set the value of this parameter to NULL.
26705	//
26706	// For subsequent calls to the operation, to continue listing data, set the
26707	// value of this parameter to the value returned from the previous response.
26708	NextToken *string `type:"string"`
26709}
26710
26711// String returns the string representation
26712func (s DescribeActionTargetsInput) String() string {
26713	return awsutil.Prettify(s)
26714}
26715
26716// GoString returns the string representation
26717func (s DescribeActionTargetsInput) GoString() string {
26718	return s.String()
26719}
26720
26721// Validate inspects the fields of the type to determine if they are valid.
26722func (s *DescribeActionTargetsInput) Validate() error {
26723	invalidParams := request.ErrInvalidParams{Context: "DescribeActionTargetsInput"}
26724	if s.MaxResults != nil && *s.MaxResults < 1 {
26725		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
26726	}
26727
26728	if invalidParams.Len() > 0 {
26729		return invalidParams
26730	}
26731	return nil
26732}
26733
26734// SetActionTargetArns sets the ActionTargetArns field's value.
26735func (s *DescribeActionTargetsInput) SetActionTargetArns(v []*string) *DescribeActionTargetsInput {
26736	s.ActionTargetArns = v
26737	return s
26738}
26739
26740// SetMaxResults sets the MaxResults field's value.
26741func (s *DescribeActionTargetsInput) SetMaxResults(v int64) *DescribeActionTargetsInput {
26742	s.MaxResults = &v
26743	return s
26744}
26745
26746// SetNextToken sets the NextToken field's value.
26747func (s *DescribeActionTargetsInput) SetNextToken(v string) *DescribeActionTargetsInput {
26748	s.NextToken = &v
26749	return s
26750}
26751
26752type DescribeActionTargetsOutput struct {
26753	_ struct{} `type:"structure"`
26754
26755	// A list of ActionTarget objects. Each object includes the ActionTargetArn,
26756	// Description, and Name of a custom action target available in Security Hub.
26757	//
26758	// ActionTargets is a required field
26759	ActionTargets []*ActionTarget `type:"list" required:"true"`
26760
26761	// The pagination token to use to request the next page of results.
26762	NextToken *string `type:"string"`
26763}
26764
26765// String returns the string representation
26766func (s DescribeActionTargetsOutput) String() string {
26767	return awsutil.Prettify(s)
26768}
26769
26770// GoString returns the string representation
26771func (s DescribeActionTargetsOutput) GoString() string {
26772	return s.String()
26773}
26774
26775// SetActionTargets sets the ActionTargets field's value.
26776func (s *DescribeActionTargetsOutput) SetActionTargets(v []*ActionTarget) *DescribeActionTargetsOutput {
26777	s.ActionTargets = v
26778	return s
26779}
26780
26781// SetNextToken sets the NextToken field's value.
26782func (s *DescribeActionTargetsOutput) SetNextToken(v string) *DescribeActionTargetsOutput {
26783	s.NextToken = &v
26784	return s
26785}
26786
26787type DescribeHubInput struct {
26788	_ struct{} `type:"structure"`
26789
26790	// The ARN of the Hub resource to retrieve.
26791	HubArn *string `location:"querystring" locationName:"HubArn" type:"string"`
26792}
26793
26794// String returns the string representation
26795func (s DescribeHubInput) String() string {
26796	return awsutil.Prettify(s)
26797}
26798
26799// GoString returns the string representation
26800func (s DescribeHubInput) GoString() string {
26801	return s.String()
26802}
26803
26804// SetHubArn sets the HubArn field's value.
26805func (s *DescribeHubInput) SetHubArn(v string) *DescribeHubInput {
26806	s.HubArn = &v
26807	return s
26808}
26809
26810type DescribeHubOutput struct {
26811	_ struct{} `type:"structure"`
26812
26813	// Whether to automatically enable new controls when they are added to standards
26814	// that are enabled.
26815	//
26816	// If set to true, then new controls for enabled standards are enabled automatically.
26817	// If set to false, then new controls are not enabled.
26818	AutoEnableControls *bool `type:"boolean"`
26819
26820	// The ARN of the Hub resource that was retrieved.
26821	HubArn *string `type:"string"`
26822
26823	// The date and time when Security Hub was enabled in the account.
26824	SubscribedAt *string `type:"string"`
26825}
26826
26827// String returns the string representation
26828func (s DescribeHubOutput) String() string {
26829	return awsutil.Prettify(s)
26830}
26831
26832// GoString returns the string representation
26833func (s DescribeHubOutput) GoString() string {
26834	return s.String()
26835}
26836
26837// SetAutoEnableControls sets the AutoEnableControls field's value.
26838func (s *DescribeHubOutput) SetAutoEnableControls(v bool) *DescribeHubOutput {
26839	s.AutoEnableControls = &v
26840	return s
26841}
26842
26843// SetHubArn sets the HubArn field's value.
26844func (s *DescribeHubOutput) SetHubArn(v string) *DescribeHubOutput {
26845	s.HubArn = &v
26846	return s
26847}
26848
26849// SetSubscribedAt sets the SubscribedAt field's value.
26850func (s *DescribeHubOutput) SetSubscribedAt(v string) *DescribeHubOutput {
26851	s.SubscribedAt = &v
26852	return s
26853}
26854
26855type DescribeOrganizationConfigurationInput struct {
26856	_ struct{} `type:"structure"`
26857}
26858
26859// String returns the string representation
26860func (s DescribeOrganizationConfigurationInput) String() string {
26861	return awsutil.Prettify(s)
26862}
26863
26864// GoString returns the string representation
26865func (s DescribeOrganizationConfigurationInput) GoString() string {
26866	return s.String()
26867}
26868
26869type DescribeOrganizationConfigurationOutput struct {
26870	_ struct{} `type:"structure"`
26871
26872	// Whether to automatically enable Security Hub for new accounts in the organization.
26873	//
26874	// If set to true, then Security Hub is enabled for new accounts. If set to
26875	// false, then new accounts are not added automatically.
26876	AutoEnable *bool `type:"boolean"`
26877
26878	// Whether the maximum number of allowed member accounts are already associated
26879	// with the Security Hub administrator account.
26880	MemberAccountLimitReached *bool `type:"boolean"`
26881}
26882
26883// String returns the string representation
26884func (s DescribeOrganizationConfigurationOutput) String() string {
26885	return awsutil.Prettify(s)
26886}
26887
26888// GoString returns the string representation
26889func (s DescribeOrganizationConfigurationOutput) GoString() string {
26890	return s.String()
26891}
26892
26893// SetAutoEnable sets the AutoEnable field's value.
26894func (s *DescribeOrganizationConfigurationOutput) SetAutoEnable(v bool) *DescribeOrganizationConfigurationOutput {
26895	s.AutoEnable = &v
26896	return s
26897}
26898
26899// SetMemberAccountLimitReached sets the MemberAccountLimitReached field's value.
26900func (s *DescribeOrganizationConfigurationOutput) SetMemberAccountLimitReached(v bool) *DescribeOrganizationConfigurationOutput {
26901	s.MemberAccountLimitReached = &v
26902	return s
26903}
26904
26905type DescribeProductsInput struct {
26906	_ struct{} `type:"structure"`
26907
26908	// The maximum number of results to return.
26909	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
26910
26911	// The token that is required for pagination. On your first call to the DescribeProducts
26912	// operation, set the value of this parameter to NULL.
26913	//
26914	// For subsequent calls to the operation, to continue listing data, set the
26915	// value of this parameter to the value returned from the previous response.
26916	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
26917
26918	// The ARN of the integration to return.
26919	ProductArn *string `location:"querystring" locationName:"ProductArn" type:"string"`
26920}
26921
26922// String returns the string representation
26923func (s DescribeProductsInput) String() string {
26924	return awsutil.Prettify(s)
26925}
26926
26927// GoString returns the string representation
26928func (s DescribeProductsInput) GoString() string {
26929	return s.String()
26930}
26931
26932// Validate inspects the fields of the type to determine if they are valid.
26933func (s *DescribeProductsInput) Validate() error {
26934	invalidParams := request.ErrInvalidParams{Context: "DescribeProductsInput"}
26935	if s.MaxResults != nil && *s.MaxResults < 1 {
26936		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
26937	}
26938
26939	if invalidParams.Len() > 0 {
26940		return invalidParams
26941	}
26942	return nil
26943}
26944
26945// SetMaxResults sets the MaxResults field's value.
26946func (s *DescribeProductsInput) SetMaxResults(v int64) *DescribeProductsInput {
26947	s.MaxResults = &v
26948	return s
26949}
26950
26951// SetNextToken sets the NextToken field's value.
26952func (s *DescribeProductsInput) SetNextToken(v string) *DescribeProductsInput {
26953	s.NextToken = &v
26954	return s
26955}
26956
26957// SetProductArn sets the ProductArn field's value.
26958func (s *DescribeProductsInput) SetProductArn(v string) *DescribeProductsInput {
26959	s.ProductArn = &v
26960	return s
26961}
26962
26963type DescribeProductsOutput struct {
26964	_ struct{} `type:"structure"`
26965
26966	// The pagination token to use to request the next page of results.
26967	NextToken *string `type:"string"`
26968
26969	// A list of products, including details for each product.
26970	//
26971	// Products is a required field
26972	Products []*Product `type:"list" required:"true"`
26973}
26974
26975// String returns the string representation
26976func (s DescribeProductsOutput) String() string {
26977	return awsutil.Prettify(s)
26978}
26979
26980// GoString returns the string representation
26981func (s DescribeProductsOutput) GoString() string {
26982	return s.String()
26983}
26984
26985// SetNextToken sets the NextToken field's value.
26986func (s *DescribeProductsOutput) SetNextToken(v string) *DescribeProductsOutput {
26987	s.NextToken = &v
26988	return s
26989}
26990
26991// SetProducts sets the Products field's value.
26992func (s *DescribeProductsOutput) SetProducts(v []*Product) *DescribeProductsOutput {
26993	s.Products = v
26994	return s
26995}
26996
26997type DescribeStandardsControlsInput struct {
26998	_ struct{} `type:"structure"`
26999
27000	// The maximum number of security standard controls to return.
27001	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
27002
27003	// The token that is required for pagination. On your first call to the DescribeStandardsControls
27004	// operation, set the value of this parameter to NULL.
27005	//
27006	// For subsequent calls to the operation, to continue listing data, set the
27007	// value of this parameter to the value returned from the previous response.
27008	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
27009
27010	// The ARN of a resource that represents your subscription to a supported standard.
27011	// To get the subscription ARNs of the standards you have enabled, use the GetEnabledStandards
27012	// operation.
27013	//
27014	// StandardsSubscriptionArn is a required field
27015	StandardsSubscriptionArn *string `location:"uri" locationName:"StandardsSubscriptionArn" type:"string" required:"true"`
27016}
27017
27018// String returns the string representation
27019func (s DescribeStandardsControlsInput) String() string {
27020	return awsutil.Prettify(s)
27021}
27022
27023// GoString returns the string representation
27024func (s DescribeStandardsControlsInput) GoString() string {
27025	return s.String()
27026}
27027
27028// Validate inspects the fields of the type to determine if they are valid.
27029func (s *DescribeStandardsControlsInput) Validate() error {
27030	invalidParams := request.ErrInvalidParams{Context: "DescribeStandardsControlsInput"}
27031	if s.MaxResults != nil && *s.MaxResults < 1 {
27032		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27033	}
27034	if s.StandardsSubscriptionArn == nil {
27035		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionArn"))
27036	}
27037	if s.StandardsSubscriptionArn != nil && len(*s.StandardsSubscriptionArn) < 1 {
27038		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArn", 1))
27039	}
27040
27041	if invalidParams.Len() > 0 {
27042		return invalidParams
27043	}
27044	return nil
27045}
27046
27047// SetMaxResults sets the MaxResults field's value.
27048func (s *DescribeStandardsControlsInput) SetMaxResults(v int64) *DescribeStandardsControlsInput {
27049	s.MaxResults = &v
27050	return s
27051}
27052
27053// SetNextToken sets the NextToken field's value.
27054func (s *DescribeStandardsControlsInput) SetNextToken(v string) *DescribeStandardsControlsInput {
27055	s.NextToken = &v
27056	return s
27057}
27058
27059// SetStandardsSubscriptionArn sets the StandardsSubscriptionArn field's value.
27060func (s *DescribeStandardsControlsInput) SetStandardsSubscriptionArn(v string) *DescribeStandardsControlsInput {
27061	s.StandardsSubscriptionArn = &v
27062	return s
27063}
27064
27065type DescribeStandardsControlsOutput struct {
27066	_ struct{} `type:"structure"`
27067
27068	// A list of security standards controls.
27069	Controls []*StandardsControl `type:"list"`
27070
27071	// The pagination token to use to request the next page of results.
27072	NextToken *string `type:"string"`
27073}
27074
27075// String returns the string representation
27076func (s DescribeStandardsControlsOutput) String() string {
27077	return awsutil.Prettify(s)
27078}
27079
27080// GoString returns the string representation
27081func (s DescribeStandardsControlsOutput) GoString() string {
27082	return s.String()
27083}
27084
27085// SetControls sets the Controls field's value.
27086func (s *DescribeStandardsControlsOutput) SetControls(v []*StandardsControl) *DescribeStandardsControlsOutput {
27087	s.Controls = v
27088	return s
27089}
27090
27091// SetNextToken sets the NextToken field's value.
27092func (s *DescribeStandardsControlsOutput) SetNextToken(v string) *DescribeStandardsControlsOutput {
27093	s.NextToken = &v
27094	return s
27095}
27096
27097type DescribeStandardsInput struct {
27098	_ struct{} `type:"structure"`
27099
27100	// The maximum number of standards to return.
27101	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
27102
27103	// The token that is required for pagination. On your first call to the DescribeStandards
27104	// operation, set the value of this parameter to NULL.
27105	//
27106	// For subsequent calls to the operation, to continue listing data, set the
27107	// value of this parameter to the value returned from the previous response.
27108	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
27109}
27110
27111// String returns the string representation
27112func (s DescribeStandardsInput) String() string {
27113	return awsutil.Prettify(s)
27114}
27115
27116// GoString returns the string representation
27117func (s DescribeStandardsInput) GoString() string {
27118	return s.String()
27119}
27120
27121// Validate inspects the fields of the type to determine if they are valid.
27122func (s *DescribeStandardsInput) Validate() error {
27123	invalidParams := request.ErrInvalidParams{Context: "DescribeStandardsInput"}
27124	if s.MaxResults != nil && *s.MaxResults < 1 {
27125		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27126	}
27127
27128	if invalidParams.Len() > 0 {
27129		return invalidParams
27130	}
27131	return nil
27132}
27133
27134// SetMaxResults sets the MaxResults field's value.
27135func (s *DescribeStandardsInput) SetMaxResults(v int64) *DescribeStandardsInput {
27136	s.MaxResults = &v
27137	return s
27138}
27139
27140// SetNextToken sets the NextToken field's value.
27141func (s *DescribeStandardsInput) SetNextToken(v string) *DescribeStandardsInput {
27142	s.NextToken = &v
27143	return s
27144}
27145
27146type DescribeStandardsOutput struct {
27147	_ struct{} `type:"structure"`
27148
27149	// The pagination token to use to request the next page of results.
27150	NextToken *string `type:"string"`
27151
27152	// A list of available standards.
27153	Standards []*Standard `type:"list"`
27154}
27155
27156// String returns the string representation
27157func (s DescribeStandardsOutput) String() string {
27158	return awsutil.Prettify(s)
27159}
27160
27161// GoString returns the string representation
27162func (s DescribeStandardsOutput) GoString() string {
27163	return s.String()
27164}
27165
27166// SetNextToken sets the NextToken field's value.
27167func (s *DescribeStandardsOutput) SetNextToken(v string) *DescribeStandardsOutput {
27168	s.NextToken = &v
27169	return s
27170}
27171
27172// SetStandards sets the Standards field's value.
27173func (s *DescribeStandardsOutput) SetStandards(v []*Standard) *DescribeStandardsOutput {
27174	s.Standards = v
27175	return s
27176}
27177
27178type DisableImportFindingsForProductInput struct {
27179	_ struct{} `type:"structure"`
27180
27181	// The ARN of the integrated product to disable the integration for.
27182	//
27183	// ProductSubscriptionArn is a required field
27184	ProductSubscriptionArn *string `location:"uri" locationName:"ProductSubscriptionArn" type:"string" required:"true"`
27185}
27186
27187// String returns the string representation
27188func (s DisableImportFindingsForProductInput) String() string {
27189	return awsutil.Prettify(s)
27190}
27191
27192// GoString returns the string representation
27193func (s DisableImportFindingsForProductInput) GoString() string {
27194	return s.String()
27195}
27196
27197// Validate inspects the fields of the type to determine if they are valid.
27198func (s *DisableImportFindingsForProductInput) Validate() error {
27199	invalidParams := request.ErrInvalidParams{Context: "DisableImportFindingsForProductInput"}
27200	if s.ProductSubscriptionArn == nil {
27201		invalidParams.Add(request.NewErrParamRequired("ProductSubscriptionArn"))
27202	}
27203	if s.ProductSubscriptionArn != nil && len(*s.ProductSubscriptionArn) < 1 {
27204		invalidParams.Add(request.NewErrParamMinLen("ProductSubscriptionArn", 1))
27205	}
27206
27207	if invalidParams.Len() > 0 {
27208		return invalidParams
27209	}
27210	return nil
27211}
27212
27213// SetProductSubscriptionArn sets the ProductSubscriptionArn field's value.
27214func (s *DisableImportFindingsForProductInput) SetProductSubscriptionArn(v string) *DisableImportFindingsForProductInput {
27215	s.ProductSubscriptionArn = &v
27216	return s
27217}
27218
27219type DisableImportFindingsForProductOutput struct {
27220	_ struct{} `type:"structure"`
27221}
27222
27223// String returns the string representation
27224func (s DisableImportFindingsForProductOutput) String() string {
27225	return awsutil.Prettify(s)
27226}
27227
27228// GoString returns the string representation
27229func (s DisableImportFindingsForProductOutput) GoString() string {
27230	return s.String()
27231}
27232
27233type DisableOrganizationAdminAccountInput struct {
27234	_ struct{} `type:"structure"`
27235
27236	// The Amazon Web Services account identifier of the Security Hub administrator
27237	// account.
27238	//
27239	// AdminAccountId is a required field
27240	AdminAccountId *string `type:"string" required:"true"`
27241}
27242
27243// String returns the string representation
27244func (s DisableOrganizationAdminAccountInput) String() string {
27245	return awsutil.Prettify(s)
27246}
27247
27248// GoString returns the string representation
27249func (s DisableOrganizationAdminAccountInput) GoString() string {
27250	return s.String()
27251}
27252
27253// Validate inspects the fields of the type to determine if they are valid.
27254func (s *DisableOrganizationAdminAccountInput) Validate() error {
27255	invalidParams := request.ErrInvalidParams{Context: "DisableOrganizationAdminAccountInput"}
27256	if s.AdminAccountId == nil {
27257		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
27258	}
27259
27260	if invalidParams.Len() > 0 {
27261		return invalidParams
27262	}
27263	return nil
27264}
27265
27266// SetAdminAccountId sets the AdminAccountId field's value.
27267func (s *DisableOrganizationAdminAccountInput) SetAdminAccountId(v string) *DisableOrganizationAdminAccountInput {
27268	s.AdminAccountId = &v
27269	return s
27270}
27271
27272type DisableOrganizationAdminAccountOutput struct {
27273	_ struct{} `type:"structure"`
27274}
27275
27276// String returns the string representation
27277func (s DisableOrganizationAdminAccountOutput) String() string {
27278	return awsutil.Prettify(s)
27279}
27280
27281// GoString returns the string representation
27282func (s DisableOrganizationAdminAccountOutput) GoString() string {
27283	return s.String()
27284}
27285
27286type DisableSecurityHubInput struct {
27287	_ struct{} `type:"structure"`
27288}
27289
27290// String returns the string representation
27291func (s DisableSecurityHubInput) String() string {
27292	return awsutil.Prettify(s)
27293}
27294
27295// GoString returns the string representation
27296func (s DisableSecurityHubInput) GoString() string {
27297	return s.String()
27298}
27299
27300type DisableSecurityHubOutput struct {
27301	_ struct{} `type:"structure"`
27302}
27303
27304// String returns the string representation
27305func (s DisableSecurityHubOutput) String() string {
27306	return awsutil.Prettify(s)
27307}
27308
27309// GoString returns the string representation
27310func (s DisableSecurityHubOutput) GoString() string {
27311	return s.String()
27312}
27313
27314type DisassociateFromAdministratorAccountInput struct {
27315	_ struct{} `type:"structure"`
27316}
27317
27318// String returns the string representation
27319func (s DisassociateFromAdministratorAccountInput) String() string {
27320	return awsutil.Prettify(s)
27321}
27322
27323// GoString returns the string representation
27324func (s DisassociateFromAdministratorAccountInput) GoString() string {
27325	return s.String()
27326}
27327
27328type DisassociateFromAdministratorAccountOutput struct {
27329	_ struct{} `type:"structure"`
27330}
27331
27332// String returns the string representation
27333func (s DisassociateFromAdministratorAccountOutput) String() string {
27334	return awsutil.Prettify(s)
27335}
27336
27337// GoString returns the string representation
27338func (s DisassociateFromAdministratorAccountOutput) GoString() string {
27339	return s.String()
27340}
27341
27342type DisassociateFromMasterAccountInput struct {
27343	_ struct{} `type:"structure"`
27344}
27345
27346// String returns the string representation
27347func (s DisassociateFromMasterAccountInput) String() string {
27348	return awsutil.Prettify(s)
27349}
27350
27351// GoString returns the string representation
27352func (s DisassociateFromMasterAccountInput) GoString() string {
27353	return s.String()
27354}
27355
27356type DisassociateFromMasterAccountOutput struct {
27357	_ struct{} `type:"structure"`
27358}
27359
27360// String returns the string representation
27361func (s DisassociateFromMasterAccountOutput) String() string {
27362	return awsutil.Prettify(s)
27363}
27364
27365// GoString returns the string representation
27366func (s DisassociateFromMasterAccountOutput) GoString() string {
27367	return s.String()
27368}
27369
27370type DisassociateMembersInput struct {
27371	_ struct{} `type:"structure"`
27372
27373	// The account IDs of the member accounts to disassociate from the administrator
27374	// account.
27375	//
27376	// AccountIds is a required field
27377	AccountIds []*string `type:"list" required:"true"`
27378}
27379
27380// String returns the string representation
27381func (s DisassociateMembersInput) String() string {
27382	return awsutil.Prettify(s)
27383}
27384
27385// GoString returns the string representation
27386func (s DisassociateMembersInput) GoString() string {
27387	return s.String()
27388}
27389
27390// Validate inspects the fields of the type to determine if they are valid.
27391func (s *DisassociateMembersInput) Validate() error {
27392	invalidParams := request.ErrInvalidParams{Context: "DisassociateMembersInput"}
27393	if s.AccountIds == nil {
27394		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
27395	}
27396
27397	if invalidParams.Len() > 0 {
27398		return invalidParams
27399	}
27400	return nil
27401}
27402
27403// SetAccountIds sets the AccountIds field's value.
27404func (s *DisassociateMembersInput) SetAccountIds(v []*string) *DisassociateMembersInput {
27405	s.AccountIds = v
27406	return s
27407}
27408
27409type DisassociateMembersOutput struct {
27410	_ struct{} `type:"structure"`
27411}
27412
27413// String returns the string representation
27414func (s DisassociateMembersOutput) String() string {
27415	return awsutil.Prettify(s)
27416}
27417
27418// GoString returns the string representation
27419func (s DisassociateMembersOutput) GoString() string {
27420	return s.String()
27421}
27422
27423// Provided if ActionType is DNS_REQUEST. It provides details about the DNS
27424// request that was detected.
27425type DnsRequestAction struct {
27426	_ struct{} `type:"structure"`
27427
27428	// Indicates whether the DNS request was blocked.
27429	Blocked *bool `type:"boolean"`
27430
27431	// The DNS domain that is associated with the DNS request.
27432	Domain *string `type:"string"`
27433
27434	// The protocol that was used for the DNS request.
27435	Protocol *string `type:"string"`
27436}
27437
27438// String returns the string representation
27439func (s DnsRequestAction) String() string {
27440	return awsutil.Prettify(s)
27441}
27442
27443// GoString returns the string representation
27444func (s DnsRequestAction) GoString() string {
27445	return s.String()
27446}
27447
27448// SetBlocked sets the Blocked field's value.
27449func (s *DnsRequestAction) SetBlocked(v bool) *DnsRequestAction {
27450	s.Blocked = &v
27451	return s
27452}
27453
27454// SetDomain sets the Domain field's value.
27455func (s *DnsRequestAction) SetDomain(v string) *DnsRequestAction {
27456	s.Domain = &v
27457	return s
27458}
27459
27460// SetProtocol sets the Protocol field's value.
27461func (s *DnsRequestAction) SetProtocol(v string) *DnsRequestAction {
27462	s.Protocol = &v
27463	return s
27464}
27465
27466type EnableImportFindingsForProductInput struct {
27467	_ struct{} `type:"structure"`
27468
27469	// The ARN of the product to enable the integration for.
27470	//
27471	// ProductArn is a required field
27472	ProductArn *string `type:"string" required:"true"`
27473}
27474
27475// String returns the string representation
27476func (s EnableImportFindingsForProductInput) String() string {
27477	return awsutil.Prettify(s)
27478}
27479
27480// GoString returns the string representation
27481func (s EnableImportFindingsForProductInput) GoString() string {
27482	return s.String()
27483}
27484
27485// Validate inspects the fields of the type to determine if they are valid.
27486func (s *EnableImportFindingsForProductInput) Validate() error {
27487	invalidParams := request.ErrInvalidParams{Context: "EnableImportFindingsForProductInput"}
27488	if s.ProductArn == nil {
27489		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
27490	}
27491
27492	if invalidParams.Len() > 0 {
27493		return invalidParams
27494	}
27495	return nil
27496}
27497
27498// SetProductArn sets the ProductArn field's value.
27499func (s *EnableImportFindingsForProductInput) SetProductArn(v string) *EnableImportFindingsForProductInput {
27500	s.ProductArn = &v
27501	return s
27502}
27503
27504type EnableImportFindingsForProductOutput struct {
27505	_ struct{} `type:"structure"`
27506
27507	// The ARN of your subscription to the product to enable integrations for.
27508	ProductSubscriptionArn *string `type:"string"`
27509}
27510
27511// String returns the string representation
27512func (s EnableImportFindingsForProductOutput) String() string {
27513	return awsutil.Prettify(s)
27514}
27515
27516// GoString returns the string representation
27517func (s EnableImportFindingsForProductOutput) GoString() string {
27518	return s.String()
27519}
27520
27521// SetProductSubscriptionArn sets the ProductSubscriptionArn field's value.
27522func (s *EnableImportFindingsForProductOutput) SetProductSubscriptionArn(v string) *EnableImportFindingsForProductOutput {
27523	s.ProductSubscriptionArn = &v
27524	return s
27525}
27526
27527type EnableOrganizationAdminAccountInput struct {
27528	_ struct{} `type:"structure"`
27529
27530	// The Amazon Web Services account identifier of the account to designate as
27531	// the Security Hub administrator account.
27532	//
27533	// AdminAccountId is a required field
27534	AdminAccountId *string `type:"string" required:"true"`
27535}
27536
27537// String returns the string representation
27538func (s EnableOrganizationAdminAccountInput) String() string {
27539	return awsutil.Prettify(s)
27540}
27541
27542// GoString returns the string representation
27543func (s EnableOrganizationAdminAccountInput) GoString() string {
27544	return s.String()
27545}
27546
27547// Validate inspects the fields of the type to determine if they are valid.
27548func (s *EnableOrganizationAdminAccountInput) Validate() error {
27549	invalidParams := request.ErrInvalidParams{Context: "EnableOrganizationAdminAccountInput"}
27550	if s.AdminAccountId == nil {
27551		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
27552	}
27553
27554	if invalidParams.Len() > 0 {
27555		return invalidParams
27556	}
27557	return nil
27558}
27559
27560// SetAdminAccountId sets the AdminAccountId field's value.
27561func (s *EnableOrganizationAdminAccountInput) SetAdminAccountId(v string) *EnableOrganizationAdminAccountInput {
27562	s.AdminAccountId = &v
27563	return s
27564}
27565
27566type EnableOrganizationAdminAccountOutput struct {
27567	_ struct{} `type:"structure"`
27568}
27569
27570// String returns the string representation
27571func (s EnableOrganizationAdminAccountOutput) String() string {
27572	return awsutil.Prettify(s)
27573}
27574
27575// GoString returns the string representation
27576func (s EnableOrganizationAdminAccountOutput) GoString() string {
27577	return s.String()
27578}
27579
27580type EnableSecurityHubInput struct {
27581	_ struct{} `type:"structure"`
27582
27583	// Whether to enable the security standards that Security Hub has designated
27584	// as automatically enabled. If you do not provide a value for EnableDefaultStandards,
27585	// it is set to true. To not enable the automatically enabled standards, set
27586	// EnableDefaultStandards to false.
27587	EnableDefaultStandards *bool `type:"boolean"`
27588
27589	// The tags to add to the hub resource when you enable Security Hub.
27590	Tags map[string]*string `min:"1" type:"map"`
27591}
27592
27593// String returns the string representation
27594func (s EnableSecurityHubInput) String() string {
27595	return awsutil.Prettify(s)
27596}
27597
27598// GoString returns the string representation
27599func (s EnableSecurityHubInput) GoString() string {
27600	return s.String()
27601}
27602
27603// Validate inspects the fields of the type to determine if they are valid.
27604func (s *EnableSecurityHubInput) Validate() error {
27605	invalidParams := request.ErrInvalidParams{Context: "EnableSecurityHubInput"}
27606	if s.Tags != nil && len(s.Tags) < 1 {
27607		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
27608	}
27609
27610	if invalidParams.Len() > 0 {
27611		return invalidParams
27612	}
27613	return nil
27614}
27615
27616// SetEnableDefaultStandards sets the EnableDefaultStandards field's value.
27617func (s *EnableSecurityHubInput) SetEnableDefaultStandards(v bool) *EnableSecurityHubInput {
27618	s.EnableDefaultStandards = &v
27619	return s
27620}
27621
27622// SetTags sets the Tags field's value.
27623func (s *EnableSecurityHubInput) SetTags(v map[string]*string) *EnableSecurityHubInput {
27624	s.Tags = v
27625	return s
27626}
27627
27628type EnableSecurityHubOutput struct {
27629	_ struct{} `type:"structure"`
27630}
27631
27632// String returns the string representation
27633func (s EnableSecurityHubOutput) String() string {
27634	return awsutil.Prettify(s)
27635}
27636
27637// GoString returns the string representation
27638func (s EnableSecurityHubOutput) GoString() string {
27639	return s.String()
27640}
27641
27642// In a BatchImportFindings request, finding providers use FindingProviderFields
27643// to provide and update values for confidence, criticality, related findings,
27644// severity, and types.
27645type FindingProviderFields struct {
27646	_ struct{} `type:"structure"`
27647
27648	// A finding's confidence. Confidence is defined as the likelihood that a finding
27649	// accurately identifies the behavior or issue that it was intended to identify.
27650	//
27651	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
27652	// zero percent confidence and 100 means 100 percent confidence.
27653	Confidence *int64 `type:"integer"`
27654
27655	// The level of importance assigned to the resources associated with the finding.
27656	//
27657	// A score of 0 means that the underlying resources have no criticality, and
27658	// a score of 100 is reserved for the most critical resources.
27659	Criticality *int64 `type:"integer"`
27660
27661	// A list of findings that are related to the current finding.
27662	RelatedFindings []*RelatedFinding `type:"list"`
27663
27664	// The severity of a finding.
27665	Severity *FindingProviderSeverity `type:"structure"`
27666
27667	// One or more finding types in the format of namespace/category/classifier
27668	// that classify a finding.
27669	//
27670	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
27671	// | Unusual Behaviors | Sensitive Data Identifications
27672	Types []*string `type:"list"`
27673}
27674
27675// String returns the string representation
27676func (s FindingProviderFields) String() string {
27677	return awsutil.Prettify(s)
27678}
27679
27680// GoString returns the string representation
27681func (s FindingProviderFields) GoString() string {
27682	return s.String()
27683}
27684
27685// Validate inspects the fields of the type to determine if they are valid.
27686func (s *FindingProviderFields) Validate() error {
27687	invalidParams := request.ErrInvalidParams{Context: "FindingProviderFields"}
27688	if s.RelatedFindings != nil {
27689		for i, v := range s.RelatedFindings {
27690			if v == nil {
27691				continue
27692			}
27693			if err := v.Validate(); err != nil {
27694				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
27695			}
27696		}
27697	}
27698
27699	if invalidParams.Len() > 0 {
27700		return invalidParams
27701	}
27702	return nil
27703}
27704
27705// SetConfidence sets the Confidence field's value.
27706func (s *FindingProviderFields) SetConfidence(v int64) *FindingProviderFields {
27707	s.Confidence = &v
27708	return s
27709}
27710
27711// SetCriticality sets the Criticality field's value.
27712func (s *FindingProviderFields) SetCriticality(v int64) *FindingProviderFields {
27713	s.Criticality = &v
27714	return s
27715}
27716
27717// SetRelatedFindings sets the RelatedFindings field's value.
27718func (s *FindingProviderFields) SetRelatedFindings(v []*RelatedFinding) *FindingProviderFields {
27719	s.RelatedFindings = v
27720	return s
27721}
27722
27723// SetSeverity sets the Severity field's value.
27724func (s *FindingProviderFields) SetSeverity(v *FindingProviderSeverity) *FindingProviderFields {
27725	s.Severity = v
27726	return s
27727}
27728
27729// SetTypes sets the Types field's value.
27730func (s *FindingProviderFields) SetTypes(v []*string) *FindingProviderFields {
27731	s.Types = v
27732	return s
27733}
27734
27735// The severity assigned to the finding by the finding provider.
27736type FindingProviderSeverity struct {
27737	_ struct{} `type:"structure"`
27738
27739	// The severity label assigned to the finding by the finding provider.
27740	Label *string `type:"string" enum:"SeverityLabel"`
27741
27742	// The finding provider's original value for the severity.
27743	Original *string `type:"string"`
27744}
27745
27746// String returns the string representation
27747func (s FindingProviderSeverity) String() string {
27748	return awsutil.Prettify(s)
27749}
27750
27751// GoString returns the string representation
27752func (s FindingProviderSeverity) GoString() string {
27753	return s.String()
27754}
27755
27756// SetLabel sets the Label field's value.
27757func (s *FindingProviderSeverity) SetLabel(v string) *FindingProviderSeverity {
27758	s.Label = &v
27759	return s
27760}
27761
27762// SetOriginal sets the Original field's value.
27763func (s *FindingProviderSeverity) SetOriginal(v string) *FindingProviderSeverity {
27764	s.Original = &v
27765	return s
27766}
27767
27768// Provides the latitude and longitude coordinates of a location.
27769type GeoLocation struct {
27770	_ struct{} `type:"structure"`
27771
27772	// The latitude of the location.
27773	Lat *float64 `type:"double"`
27774
27775	// The longitude of the location.
27776	Lon *float64 `type:"double"`
27777}
27778
27779// String returns the string representation
27780func (s GeoLocation) String() string {
27781	return awsutil.Prettify(s)
27782}
27783
27784// GoString returns the string representation
27785func (s GeoLocation) GoString() string {
27786	return s.String()
27787}
27788
27789// SetLat sets the Lat field's value.
27790func (s *GeoLocation) SetLat(v float64) *GeoLocation {
27791	s.Lat = &v
27792	return s
27793}
27794
27795// SetLon sets the Lon field's value.
27796func (s *GeoLocation) SetLon(v float64) *GeoLocation {
27797	s.Lon = &v
27798	return s
27799}
27800
27801type GetAdministratorAccountInput struct {
27802	_ struct{} `type:"structure"`
27803}
27804
27805// String returns the string representation
27806func (s GetAdministratorAccountInput) String() string {
27807	return awsutil.Prettify(s)
27808}
27809
27810// GoString returns the string representation
27811func (s GetAdministratorAccountInput) GoString() string {
27812	return s.String()
27813}
27814
27815type GetAdministratorAccountOutput struct {
27816	_ struct{} `type:"structure"`
27817
27818	// Details about an invitation.
27819	Administrator *Invitation `type:"structure"`
27820}
27821
27822// String returns the string representation
27823func (s GetAdministratorAccountOutput) String() string {
27824	return awsutil.Prettify(s)
27825}
27826
27827// GoString returns the string representation
27828func (s GetAdministratorAccountOutput) GoString() string {
27829	return s.String()
27830}
27831
27832// SetAdministrator sets the Administrator field's value.
27833func (s *GetAdministratorAccountOutput) SetAdministrator(v *Invitation) *GetAdministratorAccountOutput {
27834	s.Administrator = v
27835	return s
27836}
27837
27838type GetEnabledStandardsInput struct {
27839	_ struct{} `type:"structure"`
27840
27841	// The maximum number of results to return in the response.
27842	MaxResults *int64 `min:"1" type:"integer"`
27843
27844	// The token that is required for pagination. On your first call to the GetEnabledStandards
27845	// operation, set the value of this parameter to NULL.
27846	//
27847	// For subsequent calls to the operation, to continue listing data, set the
27848	// value of this parameter to the value returned from the previous response.
27849	NextToken *string `type:"string"`
27850
27851	// The list of the standards subscription ARNs for the standards to retrieve.
27852	StandardsSubscriptionArns []*string `min:"1" type:"list"`
27853}
27854
27855// String returns the string representation
27856func (s GetEnabledStandardsInput) String() string {
27857	return awsutil.Prettify(s)
27858}
27859
27860// GoString returns the string representation
27861func (s GetEnabledStandardsInput) GoString() string {
27862	return s.String()
27863}
27864
27865// Validate inspects the fields of the type to determine if they are valid.
27866func (s *GetEnabledStandardsInput) Validate() error {
27867	invalidParams := request.ErrInvalidParams{Context: "GetEnabledStandardsInput"}
27868	if s.MaxResults != nil && *s.MaxResults < 1 {
27869		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27870	}
27871	if s.StandardsSubscriptionArns != nil && len(s.StandardsSubscriptionArns) < 1 {
27872		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArns", 1))
27873	}
27874
27875	if invalidParams.Len() > 0 {
27876		return invalidParams
27877	}
27878	return nil
27879}
27880
27881// SetMaxResults sets the MaxResults field's value.
27882func (s *GetEnabledStandardsInput) SetMaxResults(v int64) *GetEnabledStandardsInput {
27883	s.MaxResults = &v
27884	return s
27885}
27886
27887// SetNextToken sets the NextToken field's value.
27888func (s *GetEnabledStandardsInput) SetNextToken(v string) *GetEnabledStandardsInput {
27889	s.NextToken = &v
27890	return s
27891}
27892
27893// SetStandardsSubscriptionArns sets the StandardsSubscriptionArns field's value.
27894func (s *GetEnabledStandardsInput) SetStandardsSubscriptionArns(v []*string) *GetEnabledStandardsInput {
27895	s.StandardsSubscriptionArns = v
27896	return s
27897}
27898
27899type GetEnabledStandardsOutput struct {
27900	_ struct{} `type:"structure"`
27901
27902	// The pagination token to use to request the next page of results.
27903	NextToken *string `type:"string"`
27904
27905	// The list of StandardsSubscriptions objects that include information about
27906	// the enabled standards.
27907	StandardsSubscriptions []*StandardsSubscription `type:"list"`
27908}
27909
27910// String returns the string representation
27911func (s GetEnabledStandardsOutput) String() string {
27912	return awsutil.Prettify(s)
27913}
27914
27915// GoString returns the string representation
27916func (s GetEnabledStandardsOutput) GoString() string {
27917	return s.String()
27918}
27919
27920// SetNextToken sets the NextToken field's value.
27921func (s *GetEnabledStandardsOutput) SetNextToken(v string) *GetEnabledStandardsOutput {
27922	s.NextToken = &v
27923	return s
27924}
27925
27926// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
27927func (s *GetEnabledStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *GetEnabledStandardsOutput {
27928	s.StandardsSubscriptions = v
27929	return s
27930}
27931
27932type GetFindingsInput struct {
27933	_ struct{} `type:"structure"`
27934
27935	// The finding attributes used to define a condition to filter the returned
27936	// findings.
27937	//
27938	// You can filter by up to 10 finding attributes. For each attribute, you can
27939	// provide up to 20 filter values.
27940	//
27941	// Note that in the available filter fields, WorkflowState is deprecated. To
27942	// search for a finding based on its workflow status, use WorkflowStatus.
27943	Filters *AwsSecurityFindingFilters `type:"structure"`
27944
27945	// The maximum number of findings to return.
27946	MaxResults *int64 `min:"1" type:"integer"`
27947
27948	// The token that is required for pagination. On your first call to the GetFindings
27949	// operation, set the value of this parameter to NULL.
27950	//
27951	// For subsequent calls to the operation, to continue listing data, set the
27952	// value of this parameter to the value returned from the previous response.
27953	NextToken *string `type:"string"`
27954
27955	// The finding attributes used to sort the list of returned findings.
27956	SortCriteria []*SortCriterion `type:"list"`
27957}
27958
27959// String returns the string representation
27960func (s GetFindingsInput) String() string {
27961	return awsutil.Prettify(s)
27962}
27963
27964// GoString returns the string representation
27965func (s GetFindingsInput) GoString() string {
27966	return s.String()
27967}
27968
27969// Validate inspects the fields of the type to determine if they are valid.
27970func (s *GetFindingsInput) Validate() error {
27971	invalidParams := request.ErrInvalidParams{Context: "GetFindingsInput"}
27972	if s.MaxResults != nil && *s.MaxResults < 1 {
27973		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
27974	}
27975
27976	if invalidParams.Len() > 0 {
27977		return invalidParams
27978	}
27979	return nil
27980}
27981
27982// SetFilters sets the Filters field's value.
27983func (s *GetFindingsInput) SetFilters(v *AwsSecurityFindingFilters) *GetFindingsInput {
27984	s.Filters = v
27985	return s
27986}
27987
27988// SetMaxResults sets the MaxResults field's value.
27989func (s *GetFindingsInput) SetMaxResults(v int64) *GetFindingsInput {
27990	s.MaxResults = &v
27991	return s
27992}
27993
27994// SetNextToken sets the NextToken field's value.
27995func (s *GetFindingsInput) SetNextToken(v string) *GetFindingsInput {
27996	s.NextToken = &v
27997	return s
27998}
27999
28000// SetSortCriteria sets the SortCriteria field's value.
28001func (s *GetFindingsInput) SetSortCriteria(v []*SortCriterion) *GetFindingsInput {
28002	s.SortCriteria = v
28003	return s
28004}
28005
28006type GetFindingsOutput struct {
28007	_ struct{} `type:"structure"`
28008
28009	// The findings that matched the filters specified in the request.
28010	//
28011	// Findings is a required field
28012	Findings []*AwsSecurityFinding `type:"list" required:"true"`
28013
28014	// The pagination token to use to request the next page of results.
28015	NextToken *string `type:"string"`
28016}
28017
28018// String returns the string representation
28019func (s GetFindingsOutput) String() string {
28020	return awsutil.Prettify(s)
28021}
28022
28023// GoString returns the string representation
28024func (s GetFindingsOutput) GoString() string {
28025	return s.String()
28026}
28027
28028// SetFindings sets the Findings field's value.
28029func (s *GetFindingsOutput) SetFindings(v []*AwsSecurityFinding) *GetFindingsOutput {
28030	s.Findings = v
28031	return s
28032}
28033
28034// SetNextToken sets the NextToken field's value.
28035func (s *GetFindingsOutput) SetNextToken(v string) *GetFindingsOutput {
28036	s.NextToken = &v
28037	return s
28038}
28039
28040type GetInsightResultsInput struct {
28041	_ struct{} `type:"structure"`
28042
28043	// The ARN of the insight for which to return results.
28044	//
28045	// InsightArn is a required field
28046	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
28047}
28048
28049// String returns the string representation
28050func (s GetInsightResultsInput) String() string {
28051	return awsutil.Prettify(s)
28052}
28053
28054// GoString returns the string representation
28055func (s GetInsightResultsInput) GoString() string {
28056	return s.String()
28057}
28058
28059// Validate inspects the fields of the type to determine if they are valid.
28060func (s *GetInsightResultsInput) Validate() error {
28061	invalidParams := request.ErrInvalidParams{Context: "GetInsightResultsInput"}
28062	if s.InsightArn == nil {
28063		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
28064	}
28065	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
28066		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
28067	}
28068
28069	if invalidParams.Len() > 0 {
28070		return invalidParams
28071	}
28072	return nil
28073}
28074
28075// SetInsightArn sets the InsightArn field's value.
28076func (s *GetInsightResultsInput) SetInsightArn(v string) *GetInsightResultsInput {
28077	s.InsightArn = &v
28078	return s
28079}
28080
28081type GetInsightResultsOutput struct {
28082	_ struct{} `type:"structure"`
28083
28084	// The insight results returned by the operation.
28085	//
28086	// InsightResults is a required field
28087	InsightResults *InsightResults `type:"structure" required:"true"`
28088}
28089
28090// String returns the string representation
28091func (s GetInsightResultsOutput) String() string {
28092	return awsutil.Prettify(s)
28093}
28094
28095// GoString returns the string representation
28096func (s GetInsightResultsOutput) GoString() string {
28097	return s.String()
28098}
28099
28100// SetInsightResults sets the InsightResults field's value.
28101func (s *GetInsightResultsOutput) SetInsightResults(v *InsightResults) *GetInsightResultsOutput {
28102	s.InsightResults = v
28103	return s
28104}
28105
28106type GetInsightsInput struct {
28107	_ struct{} `type:"structure"`
28108
28109	// The ARNs of the insights to describe. If you do not provide any insight ARNs,
28110	// then GetInsights returns all of your custom insights. It does not return
28111	// any managed insights.
28112	InsightArns []*string `type:"list"`
28113
28114	// The maximum number of items to return in the response.
28115	MaxResults *int64 `min:"1" type:"integer"`
28116
28117	// The token that is required for pagination. On your first call to the GetInsights
28118	// operation, set the value of this parameter to NULL.
28119	//
28120	// For subsequent calls to the operation, to continue listing data, set the
28121	// value of this parameter to the value returned from the previous response.
28122	NextToken *string `type:"string"`
28123}
28124
28125// String returns the string representation
28126func (s GetInsightsInput) String() string {
28127	return awsutil.Prettify(s)
28128}
28129
28130// GoString returns the string representation
28131func (s GetInsightsInput) GoString() string {
28132	return s.String()
28133}
28134
28135// Validate inspects the fields of the type to determine if they are valid.
28136func (s *GetInsightsInput) Validate() error {
28137	invalidParams := request.ErrInvalidParams{Context: "GetInsightsInput"}
28138	if s.MaxResults != nil && *s.MaxResults < 1 {
28139		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
28140	}
28141
28142	if invalidParams.Len() > 0 {
28143		return invalidParams
28144	}
28145	return nil
28146}
28147
28148// SetInsightArns sets the InsightArns field's value.
28149func (s *GetInsightsInput) SetInsightArns(v []*string) *GetInsightsInput {
28150	s.InsightArns = v
28151	return s
28152}
28153
28154// SetMaxResults sets the MaxResults field's value.
28155func (s *GetInsightsInput) SetMaxResults(v int64) *GetInsightsInput {
28156	s.MaxResults = &v
28157	return s
28158}
28159
28160// SetNextToken sets the NextToken field's value.
28161func (s *GetInsightsInput) SetNextToken(v string) *GetInsightsInput {
28162	s.NextToken = &v
28163	return s
28164}
28165
28166type GetInsightsOutput struct {
28167	_ struct{} `type:"structure"`
28168
28169	// The insights returned by the operation.
28170	//
28171	// Insights is a required field
28172	Insights []*Insight `type:"list" required:"true"`
28173
28174	// The pagination token to use to request the next page of results.
28175	NextToken *string `type:"string"`
28176}
28177
28178// String returns the string representation
28179func (s GetInsightsOutput) String() string {
28180	return awsutil.Prettify(s)
28181}
28182
28183// GoString returns the string representation
28184func (s GetInsightsOutput) GoString() string {
28185	return s.String()
28186}
28187
28188// SetInsights sets the Insights field's value.
28189func (s *GetInsightsOutput) SetInsights(v []*Insight) *GetInsightsOutput {
28190	s.Insights = v
28191	return s
28192}
28193
28194// SetNextToken sets the NextToken field's value.
28195func (s *GetInsightsOutput) SetNextToken(v string) *GetInsightsOutput {
28196	s.NextToken = &v
28197	return s
28198}
28199
28200type GetInvitationsCountInput struct {
28201	_ struct{} `type:"structure"`
28202}
28203
28204// String returns the string representation
28205func (s GetInvitationsCountInput) String() string {
28206	return awsutil.Prettify(s)
28207}
28208
28209// GoString returns the string representation
28210func (s GetInvitationsCountInput) GoString() string {
28211	return s.String()
28212}
28213
28214type GetInvitationsCountOutput struct {
28215	_ struct{} `type:"structure"`
28216
28217	// The number of all membership invitations sent to this Security Hub member
28218	// account, not including the currently accepted invitation.
28219	InvitationsCount *int64 `type:"integer"`
28220}
28221
28222// String returns the string representation
28223func (s GetInvitationsCountOutput) String() string {
28224	return awsutil.Prettify(s)
28225}
28226
28227// GoString returns the string representation
28228func (s GetInvitationsCountOutput) GoString() string {
28229	return s.String()
28230}
28231
28232// SetInvitationsCount sets the InvitationsCount field's value.
28233func (s *GetInvitationsCountOutput) SetInvitationsCount(v int64) *GetInvitationsCountOutput {
28234	s.InvitationsCount = &v
28235	return s
28236}
28237
28238type GetMasterAccountInput struct {
28239	_ struct{} `type:"structure"`
28240}
28241
28242// String returns the string representation
28243func (s GetMasterAccountInput) String() string {
28244	return awsutil.Prettify(s)
28245}
28246
28247// GoString returns the string representation
28248func (s GetMasterAccountInput) GoString() string {
28249	return s.String()
28250}
28251
28252type GetMasterAccountOutput struct {
28253	_ struct{} `type:"structure"`
28254
28255	// A list of details about the Security Hub administrator account for the current
28256	// member account.
28257	Master *Invitation `type:"structure"`
28258}
28259
28260// String returns the string representation
28261func (s GetMasterAccountOutput) String() string {
28262	return awsutil.Prettify(s)
28263}
28264
28265// GoString returns the string representation
28266func (s GetMasterAccountOutput) GoString() string {
28267	return s.String()
28268}
28269
28270// SetMaster sets the Master field's value.
28271func (s *GetMasterAccountOutput) SetMaster(v *Invitation) *GetMasterAccountOutput {
28272	s.Master = v
28273	return s
28274}
28275
28276type GetMembersInput struct {
28277	_ struct{} `type:"structure"`
28278
28279	// The list of account IDs for the Security Hub member accounts to return the
28280	// details for.
28281	//
28282	// AccountIds is a required field
28283	AccountIds []*string `type:"list" required:"true"`
28284}
28285
28286// String returns the string representation
28287func (s GetMembersInput) String() string {
28288	return awsutil.Prettify(s)
28289}
28290
28291// GoString returns the string representation
28292func (s GetMembersInput) GoString() string {
28293	return s.String()
28294}
28295
28296// Validate inspects the fields of the type to determine if they are valid.
28297func (s *GetMembersInput) Validate() error {
28298	invalidParams := request.ErrInvalidParams{Context: "GetMembersInput"}
28299	if s.AccountIds == nil {
28300		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
28301	}
28302
28303	if invalidParams.Len() > 0 {
28304		return invalidParams
28305	}
28306	return nil
28307}
28308
28309// SetAccountIds sets the AccountIds field's value.
28310func (s *GetMembersInput) SetAccountIds(v []*string) *GetMembersInput {
28311	s.AccountIds = v
28312	return s
28313}
28314
28315type GetMembersOutput struct {
28316	_ struct{} `type:"structure"`
28317
28318	// The list of details about the Security Hub member accounts.
28319	Members []*Member `type:"list"`
28320
28321	// The list of Amazon Web Services accounts that could not be processed. For
28322	// each account, the list includes the account ID and the email address.
28323	UnprocessedAccounts []*Result `type:"list"`
28324}
28325
28326// String returns the string representation
28327func (s GetMembersOutput) String() string {
28328	return awsutil.Prettify(s)
28329}
28330
28331// GoString returns the string representation
28332func (s GetMembersOutput) GoString() string {
28333	return s.String()
28334}
28335
28336// SetMembers sets the Members field's value.
28337func (s *GetMembersOutput) SetMembers(v []*Member) *GetMembersOutput {
28338	s.Members = v
28339	return s
28340}
28341
28342// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
28343func (s *GetMembersOutput) SetUnprocessedAccounts(v []*Result) *GetMembersOutput {
28344	s.UnprocessedAccounts = v
28345	return s
28346}
28347
28348// An Internet Control Message Protocol (ICMP) type and code.
28349type IcmpTypeCode struct {
28350	_ struct{} `type:"structure"`
28351
28352	// The ICMP code for which to deny or allow access. To deny or allow all codes,
28353	// use the value -1.
28354	Code *int64 `type:"integer"`
28355
28356	// The ICMP type for which to deny or allow access. To deny or allow all types,
28357	// use the value -1.
28358	Type *int64 `type:"integer"`
28359}
28360
28361// String returns the string representation
28362func (s IcmpTypeCode) String() string {
28363	return awsutil.Prettify(s)
28364}
28365
28366// GoString returns the string representation
28367func (s IcmpTypeCode) GoString() string {
28368	return s.String()
28369}
28370
28371// SetCode sets the Code field's value.
28372func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
28373	s.Code = &v
28374	return s
28375}
28376
28377// SetType sets the Type field's value.
28378func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
28379	s.Type = &v
28380	return s
28381}
28382
28383// The list of the findings that cannot be imported. For each finding, the list
28384// provides the error.
28385type ImportFindingsError struct {
28386	_ struct{} `type:"structure"`
28387
28388	// The code of the error returned by the BatchImportFindings operation.
28389	//
28390	// ErrorCode is a required field
28391	ErrorCode *string `type:"string" required:"true"`
28392
28393	// The message of the error returned by the BatchImportFindings operation.
28394	//
28395	// ErrorMessage is a required field
28396	ErrorMessage *string `type:"string" required:"true"`
28397
28398	// The identifier of the finding that could not be updated.
28399	//
28400	// Id is a required field
28401	Id *string `type:"string" required:"true"`
28402}
28403
28404// String returns the string representation
28405func (s ImportFindingsError) String() string {
28406	return awsutil.Prettify(s)
28407}
28408
28409// GoString returns the string representation
28410func (s ImportFindingsError) GoString() string {
28411	return s.String()
28412}
28413
28414// SetErrorCode sets the ErrorCode field's value.
28415func (s *ImportFindingsError) SetErrorCode(v string) *ImportFindingsError {
28416	s.ErrorCode = &v
28417	return s
28418}
28419
28420// SetErrorMessage sets the ErrorMessage field's value.
28421func (s *ImportFindingsError) SetErrorMessage(v string) *ImportFindingsError {
28422	s.ErrorMessage = &v
28423	return s
28424}
28425
28426// SetId sets the Id field's value.
28427func (s *ImportFindingsError) SetId(v string) *ImportFindingsError {
28428	s.Id = &v
28429	return s
28430}
28431
28432// Contains information about a Security Hub insight.
28433type Insight struct {
28434	_ struct{} `type:"structure"`
28435
28436	// One or more attributes used to filter the findings included in the insight.
28437	// The insight only includes findings that match the criteria defined in the
28438	// filters.
28439	//
28440	// Filters is a required field
28441	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
28442
28443	// The grouping attribute for the insight's findings. Indicates how to group
28444	// the matching findings, and identifies the type of item that the insight applies
28445	// to. For example, if an insight is grouped by resource identifier, then the
28446	// insight produces a list of resource identifiers.
28447	//
28448	// GroupByAttribute is a required field
28449	GroupByAttribute *string `type:"string" required:"true"`
28450
28451	// The ARN of a Security Hub insight.
28452	//
28453	// InsightArn is a required field
28454	InsightArn *string `type:"string" required:"true"`
28455
28456	// The name of a Security Hub insight.
28457	//
28458	// Name is a required field
28459	Name *string `type:"string" required:"true"`
28460}
28461
28462// String returns the string representation
28463func (s Insight) String() string {
28464	return awsutil.Prettify(s)
28465}
28466
28467// GoString returns the string representation
28468func (s Insight) GoString() string {
28469	return s.String()
28470}
28471
28472// SetFilters sets the Filters field's value.
28473func (s *Insight) SetFilters(v *AwsSecurityFindingFilters) *Insight {
28474	s.Filters = v
28475	return s
28476}
28477
28478// SetGroupByAttribute sets the GroupByAttribute field's value.
28479func (s *Insight) SetGroupByAttribute(v string) *Insight {
28480	s.GroupByAttribute = &v
28481	return s
28482}
28483
28484// SetInsightArn sets the InsightArn field's value.
28485func (s *Insight) SetInsightArn(v string) *Insight {
28486	s.InsightArn = &v
28487	return s
28488}
28489
28490// SetName sets the Name field's value.
28491func (s *Insight) SetName(v string) *Insight {
28492	s.Name = &v
28493	return s
28494}
28495
28496// The insight result values returned by the GetInsightResults operation.
28497type InsightResultValue struct {
28498	_ struct{} `type:"structure"`
28499
28500	// The number of findings returned for each GroupByAttributeValue.
28501	//
28502	// Count is a required field
28503	Count *int64 `type:"integer" required:"true"`
28504
28505	// The value of the attribute that the findings are grouped by for the insight
28506	// whose results are returned by the GetInsightResults operation.
28507	//
28508	// GroupByAttributeValue is a required field
28509	GroupByAttributeValue *string `type:"string" required:"true"`
28510}
28511
28512// String returns the string representation
28513func (s InsightResultValue) String() string {
28514	return awsutil.Prettify(s)
28515}
28516
28517// GoString returns the string representation
28518func (s InsightResultValue) GoString() string {
28519	return s.String()
28520}
28521
28522// SetCount sets the Count field's value.
28523func (s *InsightResultValue) SetCount(v int64) *InsightResultValue {
28524	s.Count = &v
28525	return s
28526}
28527
28528// SetGroupByAttributeValue sets the GroupByAttributeValue field's value.
28529func (s *InsightResultValue) SetGroupByAttributeValue(v string) *InsightResultValue {
28530	s.GroupByAttributeValue = &v
28531	return s
28532}
28533
28534// The insight results returned by the GetInsightResults operation.
28535type InsightResults struct {
28536	_ struct{} `type:"structure"`
28537
28538	// The attribute that the findings are grouped by for the insight whose results
28539	// are returned by the GetInsightResults operation.
28540	//
28541	// GroupByAttribute is a required field
28542	GroupByAttribute *string `type:"string" required:"true"`
28543
28544	// The ARN of the insight whose results are returned by the GetInsightResults
28545	// operation.
28546	//
28547	// InsightArn is a required field
28548	InsightArn *string `type:"string" required:"true"`
28549
28550	// The list of insight result values returned by the GetInsightResults operation.
28551	//
28552	// ResultValues is a required field
28553	ResultValues []*InsightResultValue `type:"list" required:"true"`
28554}
28555
28556// String returns the string representation
28557func (s InsightResults) String() string {
28558	return awsutil.Prettify(s)
28559}
28560
28561// GoString returns the string representation
28562func (s InsightResults) GoString() string {
28563	return s.String()
28564}
28565
28566// SetGroupByAttribute sets the GroupByAttribute field's value.
28567func (s *InsightResults) SetGroupByAttribute(v string) *InsightResults {
28568	s.GroupByAttribute = &v
28569	return s
28570}
28571
28572// SetInsightArn sets the InsightArn field's value.
28573func (s *InsightResults) SetInsightArn(v string) *InsightResults {
28574	s.InsightArn = &v
28575	return s
28576}
28577
28578// SetResultValues sets the ResultValues field's value.
28579func (s *InsightResults) SetResultValues(v []*InsightResultValue) *InsightResults {
28580	s.ResultValues = v
28581	return s
28582}
28583
28584// Internal server error.
28585type InternalException struct {
28586	_            struct{}                  `type:"structure"`
28587	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
28588
28589	Code_ *string `locationName:"Code" type:"string"`
28590
28591	Message_ *string `locationName:"Message" type:"string"`
28592}
28593
28594// String returns the string representation
28595func (s InternalException) String() string {
28596	return awsutil.Prettify(s)
28597}
28598
28599// GoString returns the string representation
28600func (s InternalException) GoString() string {
28601	return s.String()
28602}
28603
28604func newErrorInternalException(v protocol.ResponseMetadata) error {
28605	return &InternalException{
28606		RespMetadata: v,
28607	}
28608}
28609
28610// Code returns the exception type name.
28611func (s *InternalException) Code() string {
28612	return "InternalException"
28613}
28614
28615// Message returns the exception's message.
28616func (s *InternalException) Message() string {
28617	if s.Message_ != nil {
28618		return *s.Message_
28619	}
28620	return ""
28621}
28622
28623// OrigErr always returns nil, satisfies awserr.Error interface.
28624func (s *InternalException) OrigErr() error {
28625	return nil
28626}
28627
28628func (s *InternalException) Error() string {
28629	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
28630}
28631
28632// Status code returns the HTTP status code for the request's response error.
28633func (s *InternalException) StatusCode() int {
28634	return s.RespMetadata.StatusCode
28635}
28636
28637// RequestID returns the service's response RequestID for request.
28638func (s *InternalException) RequestID() string {
28639	return s.RespMetadata.RequestID
28640}
28641
28642// There is an issue with the account used to make the request. Either Security
28643// Hub is not enabled for the account, or the account does not have permission
28644// to perform this action.
28645type InvalidAccessException struct {
28646	_            struct{}                  `type:"structure"`
28647	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
28648
28649	Code_ *string `locationName:"Code" type:"string"`
28650
28651	Message_ *string `locationName:"Message" type:"string"`
28652}
28653
28654// String returns the string representation
28655func (s InvalidAccessException) String() string {
28656	return awsutil.Prettify(s)
28657}
28658
28659// GoString returns the string representation
28660func (s InvalidAccessException) GoString() string {
28661	return s.String()
28662}
28663
28664func newErrorInvalidAccessException(v protocol.ResponseMetadata) error {
28665	return &InvalidAccessException{
28666		RespMetadata: v,
28667	}
28668}
28669
28670// Code returns the exception type name.
28671func (s *InvalidAccessException) Code() string {
28672	return "InvalidAccessException"
28673}
28674
28675// Message returns the exception's message.
28676func (s *InvalidAccessException) Message() string {
28677	if s.Message_ != nil {
28678		return *s.Message_
28679	}
28680	return ""
28681}
28682
28683// OrigErr always returns nil, satisfies awserr.Error interface.
28684func (s *InvalidAccessException) OrigErr() error {
28685	return nil
28686}
28687
28688func (s *InvalidAccessException) Error() string {
28689	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
28690}
28691
28692// Status code returns the HTTP status code for the request's response error.
28693func (s *InvalidAccessException) StatusCode() int {
28694	return s.RespMetadata.StatusCode
28695}
28696
28697// RequestID returns the service's response RequestID for request.
28698func (s *InvalidAccessException) RequestID() string {
28699	return s.RespMetadata.RequestID
28700}
28701
28702// The request was rejected because you supplied an invalid or out-of-range
28703// value for an input parameter.
28704type InvalidInputException struct {
28705	_            struct{}                  `type:"structure"`
28706	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
28707
28708	Code_ *string `locationName:"Code" type:"string"`
28709
28710	Message_ *string `locationName:"Message" type:"string"`
28711}
28712
28713// String returns the string representation
28714func (s InvalidInputException) String() string {
28715	return awsutil.Prettify(s)
28716}
28717
28718// GoString returns the string representation
28719func (s InvalidInputException) GoString() string {
28720	return s.String()
28721}
28722
28723func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
28724	return &InvalidInputException{
28725		RespMetadata: v,
28726	}
28727}
28728
28729// Code returns the exception type name.
28730func (s *InvalidInputException) Code() string {
28731	return "InvalidInputException"
28732}
28733
28734// Message returns the exception's message.
28735func (s *InvalidInputException) Message() string {
28736	if s.Message_ != nil {
28737		return *s.Message_
28738	}
28739	return ""
28740}
28741
28742// OrigErr always returns nil, satisfies awserr.Error interface.
28743func (s *InvalidInputException) OrigErr() error {
28744	return nil
28745}
28746
28747func (s *InvalidInputException) Error() string {
28748	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
28749}
28750
28751// Status code returns the HTTP status code for the request's response error.
28752func (s *InvalidInputException) StatusCode() int {
28753	return s.RespMetadata.StatusCode
28754}
28755
28756// RequestID returns the service's response RequestID for request.
28757func (s *InvalidInputException) RequestID() string {
28758	return s.RespMetadata.RequestID
28759}
28760
28761// Details about an invitation.
28762type Invitation struct {
28763	_ struct{} `type:"structure"`
28764
28765	// The account ID of the Security Hub administrator account that the invitation
28766	// was sent from.
28767	AccountId *string `type:"string"`
28768
28769	// The ID of the invitation sent to the member account.
28770	InvitationId *string `type:"string"`
28771
28772	// The timestamp of when the invitation was sent.
28773	InvitedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
28774
28775	// The current status of the association between the member and administrator
28776	// accounts.
28777	MemberStatus *string `type:"string"`
28778}
28779
28780// String returns the string representation
28781func (s Invitation) String() string {
28782	return awsutil.Prettify(s)
28783}
28784
28785// GoString returns the string representation
28786func (s Invitation) GoString() string {
28787	return s.String()
28788}
28789
28790// SetAccountId sets the AccountId field's value.
28791func (s *Invitation) SetAccountId(v string) *Invitation {
28792	s.AccountId = &v
28793	return s
28794}
28795
28796// SetInvitationId sets the InvitationId field's value.
28797func (s *Invitation) SetInvitationId(v string) *Invitation {
28798	s.InvitationId = &v
28799	return s
28800}
28801
28802// SetInvitedAt sets the InvitedAt field's value.
28803func (s *Invitation) SetInvitedAt(v time.Time) *Invitation {
28804	s.InvitedAt = &v
28805	return s
28806}
28807
28808// SetMemberStatus sets the MemberStatus field's value.
28809func (s *Invitation) SetMemberStatus(v string) *Invitation {
28810	s.MemberStatus = &v
28811	return s
28812}
28813
28814type InviteMembersInput struct {
28815	_ struct{} `type:"structure"`
28816
28817	// The list of account IDs of the Amazon Web Services accounts to invite to
28818	// Security Hub as members.
28819	//
28820	// AccountIds is a required field
28821	AccountIds []*string `type:"list" required:"true"`
28822}
28823
28824// String returns the string representation
28825func (s InviteMembersInput) String() string {
28826	return awsutil.Prettify(s)
28827}
28828
28829// GoString returns the string representation
28830func (s InviteMembersInput) GoString() string {
28831	return s.String()
28832}
28833
28834// Validate inspects the fields of the type to determine if they are valid.
28835func (s *InviteMembersInput) Validate() error {
28836	invalidParams := request.ErrInvalidParams{Context: "InviteMembersInput"}
28837	if s.AccountIds == nil {
28838		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
28839	}
28840
28841	if invalidParams.Len() > 0 {
28842		return invalidParams
28843	}
28844	return nil
28845}
28846
28847// SetAccountIds sets the AccountIds field's value.
28848func (s *InviteMembersInput) SetAccountIds(v []*string) *InviteMembersInput {
28849	s.AccountIds = v
28850	return s
28851}
28852
28853type InviteMembersOutput struct {
28854	_ struct{} `type:"structure"`
28855
28856	// The list of Amazon Web Services accounts that could not be processed. For
28857	// each account, the list includes the account ID and the email address.
28858	UnprocessedAccounts []*Result `type:"list"`
28859}
28860
28861// String returns the string representation
28862func (s InviteMembersOutput) String() string {
28863	return awsutil.Prettify(s)
28864}
28865
28866// GoString returns the string representation
28867func (s InviteMembersOutput) GoString() string {
28868	return s.String()
28869}
28870
28871// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
28872func (s *InviteMembersOutput) SetUnprocessedAccounts(v []*Result) *InviteMembersOutput {
28873	s.UnprocessedAccounts = v
28874	return s
28875}
28876
28877// The IP filter for querying findings.
28878type IpFilter struct {
28879	_ struct{} `type:"structure"`
28880
28881	// A finding's CIDR value.
28882	Cidr *string `type:"string"`
28883}
28884
28885// String returns the string representation
28886func (s IpFilter) String() string {
28887	return awsutil.Prettify(s)
28888}
28889
28890// GoString returns the string representation
28891func (s IpFilter) GoString() string {
28892	return s.String()
28893}
28894
28895// SetCidr sets the Cidr field's value.
28896func (s *IpFilter) SetCidr(v string) *IpFilter {
28897	s.Cidr = &v
28898	return s
28899}
28900
28901// Provides information about an internet provider.
28902type IpOrganizationDetails struct {
28903	_ struct{} `type:"structure"`
28904
28905	// The Autonomous System Number (ASN) of the internet provider
28906	Asn *int64 `type:"integer"`
28907
28908	// The name of the organization that registered the ASN.
28909	AsnOrg *string `type:"string"`
28910
28911	// The ISP information for the internet provider.
28912	Isp *string `type:"string"`
28913
28914	// The name of the internet provider.
28915	Org *string `type:"string"`
28916}
28917
28918// String returns the string representation
28919func (s IpOrganizationDetails) String() string {
28920	return awsutil.Prettify(s)
28921}
28922
28923// GoString returns the string representation
28924func (s IpOrganizationDetails) GoString() string {
28925	return s.String()
28926}
28927
28928// SetAsn sets the Asn field's value.
28929func (s *IpOrganizationDetails) SetAsn(v int64) *IpOrganizationDetails {
28930	s.Asn = &v
28931	return s
28932}
28933
28934// SetAsnOrg sets the AsnOrg field's value.
28935func (s *IpOrganizationDetails) SetAsnOrg(v string) *IpOrganizationDetails {
28936	s.AsnOrg = &v
28937	return s
28938}
28939
28940// SetIsp sets the Isp field's value.
28941func (s *IpOrganizationDetails) SetIsp(v string) *IpOrganizationDetails {
28942	s.Isp = &v
28943	return s
28944}
28945
28946// SetOrg sets the Org field's value.
28947func (s *IpOrganizationDetails) SetOrg(v string) *IpOrganizationDetails {
28948	s.Org = &v
28949	return s
28950}
28951
28952// An IPV6 CIDR block association.
28953type Ipv6CidrBlockAssociation struct {
28954	_ struct{} `type:"structure"`
28955
28956	// The association ID for the IPv6 CIDR block.
28957	AssociationId *string `type:"string"`
28958
28959	// Information about the state of the CIDR block.
28960	CidrBlockState *string `type:"string"`
28961
28962	// The IPv6 CIDR block.
28963	Ipv6CidrBlock *string `type:"string"`
28964}
28965
28966// String returns the string representation
28967func (s Ipv6CidrBlockAssociation) String() string {
28968	return awsutil.Prettify(s)
28969}
28970
28971// GoString returns the string representation
28972func (s Ipv6CidrBlockAssociation) GoString() string {
28973	return s.String()
28974}
28975
28976// SetAssociationId sets the AssociationId field's value.
28977func (s *Ipv6CidrBlockAssociation) SetAssociationId(v string) *Ipv6CidrBlockAssociation {
28978	s.AssociationId = &v
28979	return s
28980}
28981
28982// SetCidrBlockState sets the CidrBlockState field's value.
28983func (s *Ipv6CidrBlockAssociation) SetCidrBlockState(v string) *Ipv6CidrBlockAssociation {
28984	s.CidrBlockState = &v
28985	return s
28986}
28987
28988// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
28989func (s *Ipv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *Ipv6CidrBlockAssociation {
28990	s.Ipv6CidrBlock = &v
28991	return s
28992}
28993
28994// A keyword filter for querying findings.
28995type KeywordFilter struct {
28996	_ struct{} `type:"structure"`
28997
28998	// A value for the keyword.
28999	Value *string `type:"string"`
29000}
29001
29002// String returns the string representation
29003func (s KeywordFilter) String() string {
29004	return awsutil.Prettify(s)
29005}
29006
29007// GoString returns the string representation
29008func (s KeywordFilter) GoString() string {
29009	return s.String()
29010}
29011
29012// SetValue sets the Value field's value.
29013func (s *KeywordFilter) SetValue(v string) *KeywordFilter {
29014	s.Value = &v
29015	return s
29016}
29017
29018// The request was rejected because it attempted to create resources beyond
29019// the current Amazon Web Services account or throttling limits. The error code
29020// describes the limit exceeded.
29021type LimitExceededException struct {
29022	_            struct{}                  `type:"structure"`
29023	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
29024
29025	Code_ *string `locationName:"Code" type:"string"`
29026
29027	Message_ *string `locationName:"Message" type:"string"`
29028}
29029
29030// String returns the string representation
29031func (s LimitExceededException) String() string {
29032	return awsutil.Prettify(s)
29033}
29034
29035// GoString returns the string representation
29036func (s LimitExceededException) GoString() string {
29037	return s.String()
29038}
29039
29040func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
29041	return &LimitExceededException{
29042		RespMetadata: v,
29043	}
29044}
29045
29046// Code returns the exception type name.
29047func (s *LimitExceededException) Code() string {
29048	return "LimitExceededException"
29049}
29050
29051// Message returns the exception's message.
29052func (s *LimitExceededException) Message() string {
29053	if s.Message_ != nil {
29054		return *s.Message_
29055	}
29056	return ""
29057}
29058
29059// OrigErr always returns nil, satisfies awserr.Error interface.
29060func (s *LimitExceededException) OrigErr() error {
29061	return nil
29062}
29063
29064func (s *LimitExceededException) Error() string {
29065	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
29066}
29067
29068// Status code returns the HTTP status code for the request's response error.
29069func (s *LimitExceededException) StatusCode() int {
29070	return s.RespMetadata.StatusCode
29071}
29072
29073// RequestID returns the service's response RequestID for request.
29074func (s *LimitExceededException) RequestID() string {
29075	return s.RespMetadata.RequestID
29076}
29077
29078type ListEnabledProductsForImportInput struct {
29079	_ struct{} `type:"structure"`
29080
29081	// The maximum number of items to return in the response.
29082	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
29083
29084	// The token that is required for pagination. On your first call to the ListEnabledProductsForImport
29085	// operation, set the value of this parameter to NULL.
29086	//
29087	// For subsequent calls to the operation, to continue listing data, set the
29088	// value of this parameter to the value returned from the previous response.
29089	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
29090}
29091
29092// String returns the string representation
29093func (s ListEnabledProductsForImportInput) String() string {
29094	return awsutil.Prettify(s)
29095}
29096
29097// GoString returns the string representation
29098func (s ListEnabledProductsForImportInput) GoString() string {
29099	return s.String()
29100}
29101
29102// Validate inspects the fields of the type to determine if they are valid.
29103func (s *ListEnabledProductsForImportInput) Validate() error {
29104	invalidParams := request.ErrInvalidParams{Context: "ListEnabledProductsForImportInput"}
29105	if s.MaxResults != nil && *s.MaxResults < 1 {
29106		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
29107	}
29108
29109	if invalidParams.Len() > 0 {
29110		return invalidParams
29111	}
29112	return nil
29113}
29114
29115// SetMaxResults sets the MaxResults field's value.
29116func (s *ListEnabledProductsForImportInput) SetMaxResults(v int64) *ListEnabledProductsForImportInput {
29117	s.MaxResults = &v
29118	return s
29119}
29120
29121// SetNextToken sets the NextToken field's value.
29122func (s *ListEnabledProductsForImportInput) SetNextToken(v string) *ListEnabledProductsForImportInput {
29123	s.NextToken = &v
29124	return s
29125}
29126
29127type ListEnabledProductsForImportOutput struct {
29128	_ struct{} `type:"structure"`
29129
29130	// The pagination token to use to request the next page of results.
29131	NextToken *string `type:"string"`
29132
29133	// The list of ARNs for the resources that represent your subscriptions to products.
29134	ProductSubscriptions []*string `type:"list"`
29135}
29136
29137// String returns the string representation
29138func (s ListEnabledProductsForImportOutput) String() string {
29139	return awsutil.Prettify(s)
29140}
29141
29142// GoString returns the string representation
29143func (s ListEnabledProductsForImportOutput) GoString() string {
29144	return s.String()
29145}
29146
29147// SetNextToken sets the NextToken field's value.
29148func (s *ListEnabledProductsForImportOutput) SetNextToken(v string) *ListEnabledProductsForImportOutput {
29149	s.NextToken = &v
29150	return s
29151}
29152
29153// SetProductSubscriptions sets the ProductSubscriptions field's value.
29154func (s *ListEnabledProductsForImportOutput) SetProductSubscriptions(v []*string) *ListEnabledProductsForImportOutput {
29155	s.ProductSubscriptions = v
29156	return s
29157}
29158
29159type ListInvitationsInput struct {
29160	_ struct{} `type:"structure"`
29161
29162	// The maximum number of items to return in the response.
29163	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
29164
29165	// The token that is required for pagination. On your first call to the ListInvitations
29166	// operation, set the value of this parameter to NULL.
29167	//
29168	// For subsequent calls to the operation, to continue listing data, set the
29169	// value of this parameter to the value returned from the previous response.
29170	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
29171}
29172
29173// String returns the string representation
29174func (s ListInvitationsInput) String() string {
29175	return awsutil.Prettify(s)
29176}
29177
29178// GoString returns the string representation
29179func (s ListInvitationsInput) GoString() string {
29180	return s.String()
29181}
29182
29183// Validate inspects the fields of the type to determine if they are valid.
29184func (s *ListInvitationsInput) Validate() error {
29185	invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"}
29186	if s.MaxResults != nil && *s.MaxResults < 1 {
29187		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
29188	}
29189
29190	if invalidParams.Len() > 0 {
29191		return invalidParams
29192	}
29193	return nil
29194}
29195
29196// SetMaxResults sets the MaxResults field's value.
29197func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput {
29198	s.MaxResults = &v
29199	return s
29200}
29201
29202// SetNextToken sets the NextToken field's value.
29203func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput {
29204	s.NextToken = &v
29205	return s
29206}
29207
29208type ListInvitationsOutput struct {
29209	_ struct{} `type:"structure"`
29210
29211	// The details of the invitations returned by the operation.
29212	Invitations []*Invitation `type:"list"`
29213
29214	// The pagination token to use to request the next page of results.
29215	NextToken *string `type:"string"`
29216}
29217
29218// String returns the string representation
29219func (s ListInvitationsOutput) String() string {
29220	return awsutil.Prettify(s)
29221}
29222
29223// GoString returns the string representation
29224func (s ListInvitationsOutput) GoString() string {
29225	return s.String()
29226}
29227
29228// SetInvitations sets the Invitations field's value.
29229func (s *ListInvitationsOutput) SetInvitations(v []*Invitation) *ListInvitationsOutput {
29230	s.Invitations = v
29231	return s
29232}
29233
29234// SetNextToken sets the NextToken field's value.
29235func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput {
29236	s.NextToken = &v
29237	return s
29238}
29239
29240type ListMembersInput struct {
29241	_ struct{} `type:"structure"`
29242
29243	// The maximum number of items to return in the response.
29244	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
29245
29246	// The token that is required for pagination. On your first call to the ListMembers
29247	// operation, set the value of this parameter to NULL.
29248	//
29249	// For subsequent calls to the operation, to continue listing data, set the
29250	// value of this parameter to the value returned from the previous response.
29251	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
29252
29253	// Specifies which member accounts to include in the response based on their
29254	// relationship status with the administrator account. The default value is
29255	// TRUE.
29256	//
29257	// If OnlyAssociated is set to TRUE, the response includes member accounts whose
29258	// relationship status with the administrator account is set to ENABLED.
29259	//
29260	// If OnlyAssociated is set to FALSE, the response includes all existing member
29261	// accounts.
29262	OnlyAssociated *bool `location:"querystring" locationName:"OnlyAssociated" type:"boolean"`
29263}
29264
29265// String returns the string representation
29266func (s ListMembersInput) String() string {
29267	return awsutil.Prettify(s)
29268}
29269
29270// GoString returns the string representation
29271func (s ListMembersInput) GoString() string {
29272	return s.String()
29273}
29274
29275// Validate inspects the fields of the type to determine if they are valid.
29276func (s *ListMembersInput) Validate() error {
29277	invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"}
29278	if s.MaxResults != nil && *s.MaxResults < 1 {
29279		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
29280	}
29281
29282	if invalidParams.Len() > 0 {
29283		return invalidParams
29284	}
29285	return nil
29286}
29287
29288// SetMaxResults sets the MaxResults field's value.
29289func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput {
29290	s.MaxResults = &v
29291	return s
29292}
29293
29294// SetNextToken sets the NextToken field's value.
29295func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput {
29296	s.NextToken = &v
29297	return s
29298}
29299
29300// SetOnlyAssociated sets the OnlyAssociated field's value.
29301func (s *ListMembersInput) SetOnlyAssociated(v bool) *ListMembersInput {
29302	s.OnlyAssociated = &v
29303	return s
29304}
29305
29306type ListMembersOutput struct {
29307	_ struct{} `type:"structure"`
29308
29309	// Member details returned by the operation.
29310	Members []*Member `type:"list"`
29311
29312	// The pagination token to use to request the next page of results.
29313	NextToken *string `type:"string"`
29314}
29315
29316// String returns the string representation
29317func (s ListMembersOutput) String() string {
29318	return awsutil.Prettify(s)
29319}
29320
29321// GoString returns the string representation
29322func (s ListMembersOutput) GoString() string {
29323	return s.String()
29324}
29325
29326// SetMembers sets the Members field's value.
29327func (s *ListMembersOutput) SetMembers(v []*Member) *ListMembersOutput {
29328	s.Members = v
29329	return s
29330}
29331
29332// SetNextToken sets the NextToken field's value.
29333func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput {
29334	s.NextToken = &v
29335	return s
29336}
29337
29338type ListOrganizationAdminAccountsInput struct {
29339	_ struct{} `type:"structure"`
29340
29341	// The maximum number of items to return in the response.
29342	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
29343
29344	// The token that is required for pagination. On your first call to the ListOrganizationAdminAccounts
29345	// operation, set the value of this parameter to NULL. For subsequent calls
29346	// to the operation, to continue listing data, set the value of this parameter
29347	// to the value returned from the previous response.
29348	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
29349}
29350
29351// String returns the string representation
29352func (s ListOrganizationAdminAccountsInput) String() string {
29353	return awsutil.Prettify(s)
29354}
29355
29356// GoString returns the string representation
29357func (s ListOrganizationAdminAccountsInput) GoString() string {
29358	return s.String()
29359}
29360
29361// Validate inspects the fields of the type to determine if they are valid.
29362func (s *ListOrganizationAdminAccountsInput) Validate() error {
29363	invalidParams := request.ErrInvalidParams{Context: "ListOrganizationAdminAccountsInput"}
29364	if s.MaxResults != nil && *s.MaxResults < 1 {
29365		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
29366	}
29367
29368	if invalidParams.Len() > 0 {
29369		return invalidParams
29370	}
29371	return nil
29372}
29373
29374// SetMaxResults sets the MaxResults field's value.
29375func (s *ListOrganizationAdminAccountsInput) SetMaxResults(v int64) *ListOrganizationAdminAccountsInput {
29376	s.MaxResults = &v
29377	return s
29378}
29379
29380// SetNextToken sets the NextToken field's value.
29381func (s *ListOrganizationAdminAccountsInput) SetNextToken(v string) *ListOrganizationAdminAccountsInput {
29382	s.NextToken = &v
29383	return s
29384}
29385
29386type ListOrganizationAdminAccountsOutput struct {
29387	_ struct{} `type:"structure"`
29388
29389	// The list of Security Hub administrator accounts.
29390	AdminAccounts []*AdminAccount `type:"list"`
29391
29392	// The pagination token to use to request the next page of results.
29393	NextToken *string `type:"string"`
29394}
29395
29396// String returns the string representation
29397func (s ListOrganizationAdminAccountsOutput) String() string {
29398	return awsutil.Prettify(s)
29399}
29400
29401// GoString returns the string representation
29402func (s ListOrganizationAdminAccountsOutput) GoString() string {
29403	return s.String()
29404}
29405
29406// SetAdminAccounts sets the AdminAccounts field's value.
29407func (s *ListOrganizationAdminAccountsOutput) SetAdminAccounts(v []*AdminAccount) *ListOrganizationAdminAccountsOutput {
29408	s.AdminAccounts = v
29409	return s
29410}
29411
29412// SetNextToken sets the NextToken field's value.
29413func (s *ListOrganizationAdminAccountsOutput) SetNextToken(v string) *ListOrganizationAdminAccountsOutput {
29414	s.NextToken = &v
29415	return s
29416}
29417
29418type ListTagsForResourceInput struct {
29419	_ struct{} `type:"structure"`
29420
29421	// The ARN of the resource to retrieve tags for.
29422	//
29423	// ResourceArn is a required field
29424	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
29425}
29426
29427// String returns the string representation
29428func (s ListTagsForResourceInput) String() string {
29429	return awsutil.Prettify(s)
29430}
29431
29432// GoString returns the string representation
29433func (s ListTagsForResourceInput) GoString() string {
29434	return s.String()
29435}
29436
29437// Validate inspects the fields of the type to determine if they are valid.
29438func (s *ListTagsForResourceInput) Validate() error {
29439	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
29440	if s.ResourceArn == nil {
29441		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
29442	}
29443	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
29444		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
29445	}
29446
29447	if invalidParams.Len() > 0 {
29448		return invalidParams
29449	}
29450	return nil
29451}
29452
29453// SetResourceArn sets the ResourceArn field's value.
29454func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
29455	s.ResourceArn = &v
29456	return s
29457}
29458
29459type ListTagsForResourceOutput struct {
29460	_ struct{} `type:"structure"`
29461
29462	// The tags associated with a resource.
29463	Tags map[string]*string `min:"1" type:"map"`
29464}
29465
29466// String returns the string representation
29467func (s ListTagsForResourceOutput) String() string {
29468	return awsutil.Prettify(s)
29469}
29470
29471// GoString returns the string representation
29472func (s ListTagsForResourceOutput) GoString() string {
29473	return s.String()
29474}
29475
29476// SetTags sets the Tags field's value.
29477func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
29478	s.Tags = v
29479	return s
29480}
29481
29482// Information about the state of the load balancer.
29483type LoadBalancerState struct {
29484	_ struct{} `type:"structure"`
29485
29486	// The state code. The initial state of the load balancer is provisioning.
29487	//
29488	// After the load balancer is fully set up and ready to route traffic, its state
29489	// is active.
29490	//
29491	// If the load balancer could not be set up, its state is failed.
29492	Code *string `type:"string"`
29493
29494	// A description of the state.
29495	Reason *string `type:"string"`
29496}
29497
29498// String returns the string representation
29499func (s LoadBalancerState) String() string {
29500	return awsutil.Prettify(s)
29501}
29502
29503// GoString returns the string representation
29504func (s LoadBalancerState) GoString() string {
29505	return s.String()
29506}
29507
29508// SetCode sets the Code field's value.
29509func (s *LoadBalancerState) SetCode(v string) *LoadBalancerState {
29510	s.Code = &v
29511	return s
29512}
29513
29514// SetReason sets the Reason field's value.
29515func (s *LoadBalancerState) SetReason(v string) *LoadBalancerState {
29516	s.Reason = &v
29517	return s
29518}
29519
29520// A list of malware related to a finding.
29521type Malware struct {
29522	_ struct{} `type:"structure"`
29523
29524	// The name of the malware that was observed.
29525	//
29526	// Name is a required field
29527	Name *string `type:"string" required:"true"`
29528
29529	// The file system path of the malware that was observed.
29530	Path *string `type:"string"`
29531
29532	// The state of the malware that was observed.
29533	State *string `type:"string" enum:"MalwareState"`
29534
29535	// The type of the malware that was observed.
29536	Type *string `type:"string" enum:"MalwareType"`
29537}
29538
29539// String returns the string representation
29540func (s Malware) String() string {
29541	return awsutil.Prettify(s)
29542}
29543
29544// GoString returns the string representation
29545func (s Malware) GoString() string {
29546	return s.String()
29547}
29548
29549// Validate inspects the fields of the type to determine if they are valid.
29550func (s *Malware) Validate() error {
29551	invalidParams := request.ErrInvalidParams{Context: "Malware"}
29552	if s.Name == nil {
29553		invalidParams.Add(request.NewErrParamRequired("Name"))
29554	}
29555
29556	if invalidParams.Len() > 0 {
29557		return invalidParams
29558	}
29559	return nil
29560}
29561
29562// SetName sets the Name field's value.
29563func (s *Malware) SetName(v string) *Malware {
29564	s.Name = &v
29565	return s
29566}
29567
29568// SetPath sets the Path field's value.
29569func (s *Malware) SetPath(v string) *Malware {
29570	s.Path = &v
29571	return s
29572}
29573
29574// SetState sets the State field's value.
29575func (s *Malware) SetState(v string) *Malware {
29576	s.State = &v
29577	return s
29578}
29579
29580// SetType sets the Type field's value.
29581func (s *Malware) SetType(v string) *Malware {
29582	s.Type = &v
29583	return s
29584}
29585
29586// A map filter for querying findings. Each map filter provides the field to
29587// check, the value to look for, and the comparison operator.
29588type MapFilter struct {
29589	_ struct{} `type:"structure"`
29590
29591	// The condition to apply to the key value when querying for findings with a
29592	// map filter.
29593	//
29594	// To search for values that exactly match the filter value, use EQUALS. For
29595	// example, for the ResourceTags field, the filter Department EQUALS Security
29596	// matches findings that have the value Security for the tag Department.
29597	//
29598	// To search for values other than the filter value, use NOT_EQUALS. For example,
29599	// for the ResourceTags field, the filter Department NOT_EQUALS Finance matches
29600	// findings that do not have the value Finance for the tag Department.
29601	//
29602	// EQUALS filters on the same field are joined by OR. A finding matches if it
29603	// matches any one of those filters.
29604	//
29605	// NOT_EQUALS filters on the same field are joined by AND. A finding matches
29606	// only if it matches all of those filters.
29607	//
29608	// You cannot have both an EQUALS filter and a NOT_EQUALS filter on the same
29609	// field.
29610	Comparison *string `type:"string" enum:"MapFilterComparison"`
29611
29612	// The key of the map filter. For example, for ResourceTags, Key identifies
29613	// the name of the tag. For UserDefinedFields, Key is the name of the field.
29614	Key *string `type:"string"`
29615
29616	// The value for the key in the map filter. Filter values are case sensitive.
29617	// For example, one of the values for a tag called Department might be Security.
29618	// If you provide security as the filter value, then there is no match.
29619	Value *string `type:"string"`
29620}
29621
29622// String returns the string representation
29623func (s MapFilter) String() string {
29624	return awsutil.Prettify(s)
29625}
29626
29627// GoString returns the string representation
29628func (s MapFilter) GoString() string {
29629	return s.String()
29630}
29631
29632// SetComparison sets the Comparison field's value.
29633func (s *MapFilter) SetComparison(v string) *MapFilter {
29634	s.Comparison = &v
29635	return s
29636}
29637
29638// SetKey sets the Key field's value.
29639func (s *MapFilter) SetKey(v string) *MapFilter {
29640	s.Key = &v
29641	return s
29642}
29643
29644// SetValue sets the Value field's value.
29645func (s *MapFilter) SetValue(v string) *MapFilter {
29646	s.Value = &v
29647	return s
29648}
29649
29650// The details about a member account.
29651type Member struct {
29652	_ struct{} `type:"structure"`
29653
29654	// The Amazon Web Services account ID of the member account.
29655	AccountId *string `type:"string"`
29656
29657	// The Amazon Web Services account ID of the Security Hub administrator account
29658	// associated with this member account.
29659	AdministratorId *string `type:"string"`
29660
29661	// The email address of the member account.
29662	Email *string `type:"string"`
29663
29664	// A timestamp for the date and time when the invitation was sent to the member
29665	// account.
29666	InvitedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
29667
29668	// This is replaced by AdministratorID.
29669	//
29670	// The Amazon Web Services account ID of the Security Hub administrator account
29671	// associated with this member account.
29672	//
29673	// Deprecated: This field is deprecated, use AdministratorId instead.
29674	MasterId *string `deprecated:"true" type:"string"`
29675
29676	// The status of the relationship between the member account and its administrator
29677	// account.
29678	//
29679	// The status can have one of the following values:
29680	//
29681	//    * CREATED - Indicates that the administrator account added the member
29682	//    account, but has not yet invited the member account.
29683	//
29684	//    * INVITED - Indicates that the administrator account invited the member
29685	//    account. The member account has not yet responded to the invitation.
29686	//
29687	//    * ENABLED - Indicates that the member account is currently active. For
29688	//    manually invited member accounts, indicates that the member account accepted
29689	//    the invitation.
29690	//
29691	//    * REMOVED - Indicates that the administrator account disassociated the
29692	//    member account.
29693	//
29694	//    * RESIGNED - Indicates that the member account disassociated themselves
29695	//    from the administrator account.
29696	//
29697	//    * DELETED - Indicates that the administrator account deleted the member
29698	//    account.
29699	//
29700	//    * ACCOUNT_SUSPENDED - Indicates that an organization account was suspended
29701	//    from Amazon Web Services at the same time that the administrator account
29702	//    tried to enable the organization account as a member account.
29703	MemberStatus *string `type:"string"`
29704
29705	// The timestamp for the date and time when the member account was updated.
29706	UpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
29707}
29708
29709// String returns the string representation
29710func (s Member) String() string {
29711	return awsutil.Prettify(s)
29712}
29713
29714// GoString returns the string representation
29715func (s Member) GoString() string {
29716	return s.String()
29717}
29718
29719// SetAccountId sets the AccountId field's value.
29720func (s *Member) SetAccountId(v string) *Member {
29721	s.AccountId = &v
29722	return s
29723}
29724
29725// SetAdministratorId sets the AdministratorId field's value.
29726func (s *Member) SetAdministratorId(v string) *Member {
29727	s.AdministratorId = &v
29728	return s
29729}
29730
29731// SetEmail sets the Email field's value.
29732func (s *Member) SetEmail(v string) *Member {
29733	s.Email = &v
29734	return s
29735}
29736
29737// SetInvitedAt sets the InvitedAt field's value.
29738func (s *Member) SetInvitedAt(v time.Time) *Member {
29739	s.InvitedAt = &v
29740	return s
29741}
29742
29743// SetMasterId sets the MasterId field's value.
29744func (s *Member) SetMasterId(v string) *Member {
29745	s.MasterId = &v
29746	return s
29747}
29748
29749// SetMemberStatus sets the MemberStatus field's value.
29750func (s *Member) SetMemberStatus(v string) *Member {
29751	s.MemberStatus = &v
29752	return s
29753}
29754
29755// SetUpdatedAt sets the UpdatedAt field's value.
29756func (s *Member) SetUpdatedAt(v time.Time) *Member {
29757	s.UpdatedAt = &v
29758	return s
29759}
29760
29761// The details of network-related information about a finding.
29762type Network struct {
29763	_ struct{} `type:"structure"`
29764
29765	// The destination domain of network-related information about a finding.
29766	DestinationDomain *string `type:"string"`
29767
29768	// The destination IPv4 address of network-related information about a finding.
29769	DestinationIpV4 *string `type:"string"`
29770
29771	// The destination IPv6 address of network-related information about a finding.
29772	DestinationIpV6 *string `type:"string"`
29773
29774	// The destination port of network-related information about a finding.
29775	DestinationPort *int64 `type:"integer"`
29776
29777	// The direction of network traffic associated with a finding.
29778	Direction *string `type:"string" enum:"NetworkDirection"`
29779
29780	// The range of open ports that is present on the network.
29781	OpenPortRange *PortRange `type:"structure"`
29782
29783	// The protocol of network-related information about a finding.
29784	Protocol *string `type:"string"`
29785
29786	// The source domain of network-related information about a finding.
29787	SourceDomain *string `type:"string"`
29788
29789	// The source IPv4 address of network-related information about a finding.
29790	SourceIpV4 *string `type:"string"`
29791
29792	// The source IPv6 address of network-related information about a finding.
29793	SourceIpV6 *string `type:"string"`
29794
29795	// The source media access control (MAC) address of network-related information
29796	// about a finding.
29797	SourceMac *string `type:"string"`
29798
29799	// The source port of network-related information about a finding.
29800	SourcePort *int64 `type:"integer"`
29801}
29802
29803// String returns the string representation
29804func (s Network) String() string {
29805	return awsutil.Prettify(s)
29806}
29807
29808// GoString returns the string representation
29809func (s Network) GoString() string {
29810	return s.String()
29811}
29812
29813// SetDestinationDomain sets the DestinationDomain field's value.
29814func (s *Network) SetDestinationDomain(v string) *Network {
29815	s.DestinationDomain = &v
29816	return s
29817}
29818
29819// SetDestinationIpV4 sets the DestinationIpV4 field's value.
29820func (s *Network) SetDestinationIpV4(v string) *Network {
29821	s.DestinationIpV4 = &v
29822	return s
29823}
29824
29825// SetDestinationIpV6 sets the DestinationIpV6 field's value.
29826func (s *Network) SetDestinationIpV6(v string) *Network {
29827	s.DestinationIpV6 = &v
29828	return s
29829}
29830
29831// SetDestinationPort sets the DestinationPort field's value.
29832func (s *Network) SetDestinationPort(v int64) *Network {
29833	s.DestinationPort = &v
29834	return s
29835}
29836
29837// SetDirection sets the Direction field's value.
29838func (s *Network) SetDirection(v string) *Network {
29839	s.Direction = &v
29840	return s
29841}
29842
29843// SetOpenPortRange sets the OpenPortRange field's value.
29844func (s *Network) SetOpenPortRange(v *PortRange) *Network {
29845	s.OpenPortRange = v
29846	return s
29847}
29848
29849// SetProtocol sets the Protocol field's value.
29850func (s *Network) SetProtocol(v string) *Network {
29851	s.Protocol = &v
29852	return s
29853}
29854
29855// SetSourceDomain sets the SourceDomain field's value.
29856func (s *Network) SetSourceDomain(v string) *Network {
29857	s.SourceDomain = &v
29858	return s
29859}
29860
29861// SetSourceIpV4 sets the SourceIpV4 field's value.
29862func (s *Network) SetSourceIpV4(v string) *Network {
29863	s.SourceIpV4 = &v
29864	return s
29865}
29866
29867// SetSourceIpV6 sets the SourceIpV6 field's value.
29868func (s *Network) SetSourceIpV6(v string) *Network {
29869	s.SourceIpV6 = &v
29870	return s
29871}
29872
29873// SetSourceMac sets the SourceMac field's value.
29874func (s *Network) SetSourceMac(v string) *Network {
29875	s.SourceMac = &v
29876	return s
29877}
29878
29879// SetSourcePort sets the SourcePort field's value.
29880func (s *Network) SetSourcePort(v int64) *Network {
29881	s.SourcePort = &v
29882	return s
29883}
29884
29885// Provided if ActionType is NETWORK_CONNECTION. It provides details about the
29886// attempted network connection that was detected.
29887type NetworkConnectionAction struct {
29888	_ struct{} `type:"structure"`
29889
29890	// Indicates whether the network connection attempt was blocked.
29891	Blocked *bool `type:"boolean"`
29892
29893	// The direction of the network connection request (IN or OUT).
29894	ConnectionDirection *string `type:"string"`
29895
29896	// Information about the port on the EC2 instance.
29897	LocalPortDetails *ActionLocalPortDetails `type:"structure"`
29898
29899	// The protocol used to make the network connection request.
29900	Protocol *string `type:"string"`
29901
29902	// Information about the remote IP address that issued the network connection
29903	// request.
29904	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
29905
29906	// Information about the port on the remote IP address.
29907	RemotePortDetails *ActionRemotePortDetails `type:"structure"`
29908}
29909
29910// String returns the string representation
29911func (s NetworkConnectionAction) String() string {
29912	return awsutil.Prettify(s)
29913}
29914
29915// GoString returns the string representation
29916func (s NetworkConnectionAction) GoString() string {
29917	return s.String()
29918}
29919
29920// SetBlocked sets the Blocked field's value.
29921func (s *NetworkConnectionAction) SetBlocked(v bool) *NetworkConnectionAction {
29922	s.Blocked = &v
29923	return s
29924}
29925
29926// SetConnectionDirection sets the ConnectionDirection field's value.
29927func (s *NetworkConnectionAction) SetConnectionDirection(v string) *NetworkConnectionAction {
29928	s.ConnectionDirection = &v
29929	return s
29930}
29931
29932// SetLocalPortDetails sets the LocalPortDetails field's value.
29933func (s *NetworkConnectionAction) SetLocalPortDetails(v *ActionLocalPortDetails) *NetworkConnectionAction {
29934	s.LocalPortDetails = v
29935	return s
29936}
29937
29938// SetProtocol sets the Protocol field's value.
29939func (s *NetworkConnectionAction) SetProtocol(v string) *NetworkConnectionAction {
29940	s.Protocol = &v
29941	return s
29942}
29943
29944// SetRemoteIpDetails sets the RemoteIpDetails field's value.
29945func (s *NetworkConnectionAction) SetRemoteIpDetails(v *ActionRemoteIpDetails) *NetworkConnectionAction {
29946	s.RemoteIpDetails = v
29947	return s
29948}
29949
29950// SetRemotePortDetails sets the RemotePortDetails field's value.
29951func (s *NetworkConnectionAction) SetRemotePortDetails(v *ActionRemotePortDetails) *NetworkConnectionAction {
29952	s.RemotePortDetails = v
29953	return s
29954}
29955
29956// Details about a network path component that occurs before or after the current
29957// component.
29958type NetworkHeader struct {
29959	_ struct{} `type:"structure"`
29960
29961	// Information about the destination of the component.
29962	Destination *NetworkPathComponentDetails `type:"structure"`
29963
29964	// The protocol used for the component.
29965	Protocol *string `type:"string"`
29966
29967	// Information about the origin of the component.
29968	Source *NetworkPathComponentDetails `type:"structure"`
29969}
29970
29971// String returns the string representation
29972func (s NetworkHeader) String() string {
29973	return awsutil.Prettify(s)
29974}
29975
29976// GoString returns the string representation
29977func (s NetworkHeader) GoString() string {
29978	return s.String()
29979}
29980
29981// SetDestination sets the Destination field's value.
29982func (s *NetworkHeader) SetDestination(v *NetworkPathComponentDetails) *NetworkHeader {
29983	s.Destination = v
29984	return s
29985}
29986
29987// SetProtocol sets the Protocol field's value.
29988func (s *NetworkHeader) SetProtocol(v string) *NetworkHeader {
29989	s.Protocol = &v
29990	return s
29991}
29992
29993// SetSource sets the Source field's value.
29994func (s *NetworkHeader) SetSource(v *NetworkPathComponentDetails) *NetworkHeader {
29995	s.Source = v
29996	return s
29997}
29998
29999// Information about a network path component.
30000type NetworkPathComponent struct {
30001	_ struct{} `type:"structure"`
30002
30003	// The identifier of a component in the network path.
30004	ComponentId *string `type:"string"`
30005
30006	// The type of component.
30007	ComponentType *string `type:"string"`
30008
30009	// Information about the component that comes after the current component in
30010	// the network path.
30011	Egress *NetworkHeader `type:"structure"`
30012
30013	// Information about the component that comes before the current node in the
30014	// network path.
30015	Ingress *NetworkHeader `type:"structure"`
30016}
30017
30018// String returns the string representation
30019func (s NetworkPathComponent) String() string {
30020	return awsutil.Prettify(s)
30021}
30022
30023// GoString returns the string representation
30024func (s NetworkPathComponent) GoString() string {
30025	return s.String()
30026}
30027
30028// SetComponentId sets the ComponentId field's value.
30029func (s *NetworkPathComponent) SetComponentId(v string) *NetworkPathComponent {
30030	s.ComponentId = &v
30031	return s
30032}
30033
30034// SetComponentType sets the ComponentType field's value.
30035func (s *NetworkPathComponent) SetComponentType(v string) *NetworkPathComponent {
30036	s.ComponentType = &v
30037	return s
30038}
30039
30040// SetEgress sets the Egress field's value.
30041func (s *NetworkPathComponent) SetEgress(v *NetworkHeader) *NetworkPathComponent {
30042	s.Egress = v
30043	return s
30044}
30045
30046// SetIngress sets the Ingress field's value.
30047func (s *NetworkPathComponent) SetIngress(v *NetworkHeader) *NetworkPathComponent {
30048	s.Ingress = v
30049	return s
30050}
30051
30052// Information about the destination of the next component in the network path.
30053type NetworkPathComponentDetails struct {
30054	_ struct{} `type:"structure"`
30055
30056	// The IP addresses of the destination.
30057	Address []*string `type:"list"`
30058
30059	// A list of port ranges for the destination.
30060	PortRanges []*PortRange `type:"list"`
30061}
30062
30063// String returns the string representation
30064func (s NetworkPathComponentDetails) String() string {
30065	return awsutil.Prettify(s)
30066}
30067
30068// GoString returns the string representation
30069func (s NetworkPathComponentDetails) GoString() string {
30070	return s.String()
30071}
30072
30073// SetAddress sets the Address field's value.
30074func (s *NetworkPathComponentDetails) SetAddress(v []*string) *NetworkPathComponentDetails {
30075	s.Address = v
30076	return s
30077}
30078
30079// SetPortRanges sets the PortRanges field's value.
30080func (s *NetworkPathComponentDetails) SetPortRanges(v []*PortRange) *NetworkPathComponentDetails {
30081	s.PortRanges = v
30082	return s
30083}
30084
30085// A user-defined note added to a finding.
30086type Note struct {
30087	_ struct{} `type:"structure"`
30088
30089	// The text of a note.
30090	//
30091	// Text is a required field
30092	Text *string `type:"string" required:"true"`
30093
30094	// The timestamp of when the note was updated.
30095	//
30096	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
30097	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
30098	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
30099	//
30100	// UpdatedAt is a required field
30101	UpdatedAt *string `type:"string" required:"true"`
30102
30103	// The principal that created a note.
30104	//
30105	// UpdatedBy is a required field
30106	UpdatedBy *string `type:"string" required:"true"`
30107}
30108
30109// String returns the string representation
30110func (s Note) String() string {
30111	return awsutil.Prettify(s)
30112}
30113
30114// GoString returns the string representation
30115func (s Note) GoString() string {
30116	return s.String()
30117}
30118
30119// Validate inspects the fields of the type to determine if they are valid.
30120func (s *Note) Validate() error {
30121	invalidParams := request.ErrInvalidParams{Context: "Note"}
30122	if s.Text == nil {
30123		invalidParams.Add(request.NewErrParamRequired("Text"))
30124	}
30125	if s.UpdatedAt == nil {
30126		invalidParams.Add(request.NewErrParamRequired("UpdatedAt"))
30127	}
30128	if s.UpdatedBy == nil {
30129		invalidParams.Add(request.NewErrParamRequired("UpdatedBy"))
30130	}
30131
30132	if invalidParams.Len() > 0 {
30133		return invalidParams
30134	}
30135	return nil
30136}
30137
30138// SetText sets the Text field's value.
30139func (s *Note) SetText(v string) *Note {
30140	s.Text = &v
30141	return s
30142}
30143
30144// SetUpdatedAt sets the UpdatedAt field's value.
30145func (s *Note) SetUpdatedAt(v string) *Note {
30146	s.UpdatedAt = &v
30147	return s
30148}
30149
30150// SetUpdatedBy sets the UpdatedBy field's value.
30151func (s *Note) SetUpdatedBy(v string) *Note {
30152	s.UpdatedBy = &v
30153	return s
30154}
30155
30156// The updated note.
30157type NoteUpdate struct {
30158	_ struct{} `type:"structure"`
30159
30160	// The updated note text.
30161	//
30162	// Text is a required field
30163	Text *string `type:"string" required:"true"`
30164
30165	// The principal that updated the note.
30166	//
30167	// UpdatedBy is a required field
30168	UpdatedBy *string `type:"string" required:"true"`
30169}
30170
30171// String returns the string representation
30172func (s NoteUpdate) String() string {
30173	return awsutil.Prettify(s)
30174}
30175
30176// GoString returns the string representation
30177func (s NoteUpdate) GoString() string {
30178	return s.String()
30179}
30180
30181// Validate inspects the fields of the type to determine if they are valid.
30182func (s *NoteUpdate) Validate() error {
30183	invalidParams := request.ErrInvalidParams{Context: "NoteUpdate"}
30184	if s.Text == nil {
30185		invalidParams.Add(request.NewErrParamRequired("Text"))
30186	}
30187	if s.UpdatedBy == nil {
30188		invalidParams.Add(request.NewErrParamRequired("UpdatedBy"))
30189	}
30190
30191	if invalidParams.Len() > 0 {
30192		return invalidParams
30193	}
30194	return nil
30195}
30196
30197// SetText sets the Text field's value.
30198func (s *NoteUpdate) SetText(v string) *NoteUpdate {
30199	s.Text = &v
30200	return s
30201}
30202
30203// SetUpdatedBy sets the UpdatedBy field's value.
30204func (s *NoteUpdate) SetUpdatedBy(v string) *NoteUpdate {
30205	s.UpdatedBy = &v
30206	return s
30207}
30208
30209// A number filter for querying findings.
30210type NumberFilter struct {
30211	_ struct{} `type:"structure"`
30212
30213	// The equal-to condition to be applied to a single field when querying for
30214	// findings.
30215	Eq *float64 `type:"double"`
30216
30217	// The greater-than-equal condition to be applied to a single field when querying
30218	// for findings.
30219	Gte *float64 `type:"double"`
30220
30221	// The less-than-equal condition to be applied to a single field when querying
30222	// for findings.
30223	Lte *float64 `type:"double"`
30224}
30225
30226// String returns the string representation
30227func (s NumberFilter) String() string {
30228	return awsutil.Prettify(s)
30229}
30230
30231// GoString returns the string representation
30232func (s NumberFilter) GoString() string {
30233	return s.String()
30234}
30235
30236// SetEq sets the Eq field's value.
30237func (s *NumberFilter) SetEq(v float64) *NumberFilter {
30238	s.Eq = &v
30239	return s
30240}
30241
30242// SetGte sets the Gte field's value.
30243func (s *NumberFilter) SetGte(v float64) *NumberFilter {
30244	s.Gte = &v
30245	return s
30246}
30247
30248// SetLte sets the Lte field's value.
30249func (s *NumberFilter) SetLte(v float64) *NumberFilter {
30250	s.Lte = &v
30251	return s
30252}
30253
30254// The detected occurrences of sensitive data.
30255type Occurrences struct {
30256	_ struct{} `type:"structure"`
30257
30258	// Occurrences of sensitive data detected in Microsoft Excel workbooks, comma-separated
30259	// value (CSV) files, or tab-separated value (TSV) files.
30260	Cells []*Cell `type:"list"`
30261
30262	// Occurrences of sensitive data detected in a non-binary text file or a Microsoft
30263	// Word file. Non-binary text files include files such as HTML, XML, JSON, and
30264	// TXT files.
30265	LineRanges []*Range `type:"list"`
30266
30267	// Occurrences of sensitive data detected in a binary text file.
30268	OffsetRanges []*Range `type:"list"`
30269
30270	// Occurrences of sensitive data in an Adobe Portable Document Format (PDF)
30271	// file.
30272	Pages []*Page `type:"list"`
30273
30274	// Occurrences of sensitive data in an Apache Avro object container or an Apache
30275	// Parquet file.
30276	Records []*Record `type:"list"`
30277}
30278
30279// String returns the string representation
30280func (s Occurrences) String() string {
30281	return awsutil.Prettify(s)
30282}
30283
30284// GoString returns the string representation
30285func (s Occurrences) GoString() string {
30286	return s.String()
30287}
30288
30289// SetCells sets the Cells field's value.
30290func (s *Occurrences) SetCells(v []*Cell) *Occurrences {
30291	s.Cells = v
30292	return s
30293}
30294
30295// SetLineRanges sets the LineRanges field's value.
30296func (s *Occurrences) SetLineRanges(v []*Range) *Occurrences {
30297	s.LineRanges = v
30298	return s
30299}
30300
30301// SetOffsetRanges sets the OffsetRanges field's value.
30302func (s *Occurrences) SetOffsetRanges(v []*Range) *Occurrences {
30303	s.OffsetRanges = v
30304	return s
30305}
30306
30307// SetPages sets the Pages field's value.
30308func (s *Occurrences) SetPages(v []*Page) *Occurrences {
30309	s.Pages = v
30310	return s
30311}
30312
30313// SetRecords sets the Records field's value.
30314func (s *Occurrences) SetRecords(v []*Record) *Occurrences {
30315	s.Records = v
30316	return s
30317}
30318
30319// An occurrence of sensitive data in an Adobe Portable Document Format (PDF)
30320// file.
30321type Page struct {
30322	_ struct{} `type:"structure"`
30323
30324	// An occurrence of sensitive data detected in a non-binary text file or a Microsoft
30325	// Word file. Non-binary text files include files such as HTML, XML, JSON, and
30326	// TXT files.
30327	LineRange *Range `type:"structure"`
30328
30329	// An occurrence of sensitive data detected in a binary text file.
30330	OffsetRange *Range `type:"structure"`
30331
30332	// The page number of the page that contains the sensitive data.
30333	PageNumber *int64 `type:"long"`
30334}
30335
30336// String returns the string representation
30337func (s Page) String() string {
30338	return awsutil.Prettify(s)
30339}
30340
30341// GoString returns the string representation
30342func (s Page) GoString() string {
30343	return s.String()
30344}
30345
30346// SetLineRange sets the LineRange field's value.
30347func (s *Page) SetLineRange(v *Range) *Page {
30348	s.LineRange = v
30349	return s
30350}
30351
30352// SetOffsetRange sets the OffsetRange field's value.
30353func (s *Page) SetOffsetRange(v *Range) *Page {
30354	s.OffsetRange = v
30355	return s
30356}
30357
30358// SetPageNumber sets the PageNumber field's value.
30359func (s *Page) SetPageNumber(v int64) *Page {
30360	s.PageNumber = &v
30361	return s
30362}
30363
30364// Provides an overview of the patch compliance status for an instance against
30365// a selected compliance standard.
30366type PatchSummary struct {
30367	_ struct{} `type:"structure"`
30368
30369	// The number of patches from the compliance standard that failed to install.
30370	FailedCount *int64 `type:"integer"`
30371
30372	// The identifier of the compliance standard that was used to determine the
30373	// patch compliance status.
30374	//
30375	// Id is a required field
30376	Id *string `type:"string" required:"true"`
30377
30378	// The number of patches from the compliance standard that were installed successfully.
30379	InstalledCount *int64 `type:"integer"`
30380
30381	// The number of installed patches that are not part of the compliance standard.
30382	InstalledOtherCount *int64 `type:"integer"`
30383
30384	// The number of patches that were applied, but that require the instance to
30385	// be rebooted in order to be marked as installed.
30386	InstalledPendingReboot *int64 `type:"integer"`
30387
30388	// The number of patches that are installed but are also on a list of patches
30389	// that the customer rejected.
30390	InstalledRejectedCount *int64 `type:"integer"`
30391
30392	// The number of patches that are part of the compliance standard but are not
30393	// installed. The count includes patches that failed to install.
30394	MissingCount *int64 `type:"integer"`
30395
30396	// The type of patch operation performed. For Patch Manager, the values are
30397	// SCAN and INSTALL.
30398	Operation *string `type:"string"`
30399
30400	// Indicates when the operation completed.
30401	//
30402	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
30403	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
30404	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
30405	OperationEndTime *string `type:"string"`
30406
30407	// Indicates when the operation started.
30408	//
30409	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
30410	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
30411	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
30412	OperationStartTime *string `type:"string"`
30413
30414	// The reboot option specified for the instance.
30415	RebootOption *string `type:"string"`
30416}
30417
30418// String returns the string representation
30419func (s PatchSummary) String() string {
30420	return awsutil.Prettify(s)
30421}
30422
30423// GoString returns the string representation
30424func (s PatchSummary) GoString() string {
30425	return s.String()
30426}
30427
30428// Validate inspects the fields of the type to determine if they are valid.
30429func (s *PatchSummary) Validate() error {
30430	invalidParams := request.ErrInvalidParams{Context: "PatchSummary"}
30431	if s.Id == nil {
30432		invalidParams.Add(request.NewErrParamRequired("Id"))
30433	}
30434
30435	if invalidParams.Len() > 0 {
30436		return invalidParams
30437	}
30438	return nil
30439}
30440
30441// SetFailedCount sets the FailedCount field's value.
30442func (s *PatchSummary) SetFailedCount(v int64) *PatchSummary {
30443	s.FailedCount = &v
30444	return s
30445}
30446
30447// SetId sets the Id field's value.
30448func (s *PatchSummary) SetId(v string) *PatchSummary {
30449	s.Id = &v
30450	return s
30451}
30452
30453// SetInstalledCount sets the InstalledCount field's value.
30454func (s *PatchSummary) SetInstalledCount(v int64) *PatchSummary {
30455	s.InstalledCount = &v
30456	return s
30457}
30458
30459// SetInstalledOtherCount sets the InstalledOtherCount field's value.
30460func (s *PatchSummary) SetInstalledOtherCount(v int64) *PatchSummary {
30461	s.InstalledOtherCount = &v
30462	return s
30463}
30464
30465// SetInstalledPendingReboot sets the InstalledPendingReboot field's value.
30466func (s *PatchSummary) SetInstalledPendingReboot(v int64) *PatchSummary {
30467	s.InstalledPendingReboot = &v
30468	return s
30469}
30470
30471// SetInstalledRejectedCount sets the InstalledRejectedCount field's value.
30472func (s *PatchSummary) SetInstalledRejectedCount(v int64) *PatchSummary {
30473	s.InstalledRejectedCount = &v
30474	return s
30475}
30476
30477// SetMissingCount sets the MissingCount field's value.
30478func (s *PatchSummary) SetMissingCount(v int64) *PatchSummary {
30479	s.MissingCount = &v
30480	return s
30481}
30482
30483// SetOperation sets the Operation field's value.
30484func (s *PatchSummary) SetOperation(v string) *PatchSummary {
30485	s.Operation = &v
30486	return s
30487}
30488
30489// SetOperationEndTime sets the OperationEndTime field's value.
30490func (s *PatchSummary) SetOperationEndTime(v string) *PatchSummary {
30491	s.OperationEndTime = &v
30492	return s
30493}
30494
30495// SetOperationStartTime sets the OperationStartTime field's value.
30496func (s *PatchSummary) SetOperationStartTime(v string) *PatchSummary {
30497	s.OperationStartTime = &v
30498	return s
30499}
30500
30501// SetRebootOption sets the RebootOption field's value.
30502func (s *PatchSummary) SetRebootOption(v string) *PatchSummary {
30503	s.RebootOption = &v
30504	return s
30505}
30506
30507// Provided if ActionType is PORT_PROBE. It provides details about the attempted
30508// port probe that was detected.
30509type PortProbeAction struct {
30510	_ struct{} `type:"structure"`
30511
30512	// Indicates whether the port probe was blocked.
30513	Blocked *bool `type:"boolean"`
30514
30515	// Information about the ports affected by the port probe.
30516	PortProbeDetails []*PortProbeDetail `type:"list"`
30517}
30518
30519// String returns the string representation
30520func (s PortProbeAction) String() string {
30521	return awsutil.Prettify(s)
30522}
30523
30524// GoString returns the string representation
30525func (s PortProbeAction) GoString() string {
30526	return s.String()
30527}
30528
30529// SetBlocked sets the Blocked field's value.
30530func (s *PortProbeAction) SetBlocked(v bool) *PortProbeAction {
30531	s.Blocked = &v
30532	return s
30533}
30534
30535// SetPortProbeDetails sets the PortProbeDetails field's value.
30536func (s *PortProbeAction) SetPortProbeDetails(v []*PortProbeDetail) *PortProbeAction {
30537	s.PortProbeDetails = v
30538	return s
30539}
30540
30541// A port scan that was part of the port probe. For each scan, PortProbeDetails
30542// provides information about the local IP address and port that were scanned,
30543// and the remote IP address that the scan originated from.
30544type PortProbeDetail struct {
30545	_ struct{} `type:"structure"`
30546
30547	// Provides information about the IP address where the scanned port is located.
30548	LocalIpDetails *ActionLocalIpDetails `type:"structure"`
30549
30550	// Provides information about the port that was scanned.
30551	LocalPortDetails *ActionLocalPortDetails `type:"structure"`
30552
30553	// Provides information about the remote IP address that performed the scan.
30554	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
30555}
30556
30557// String returns the string representation
30558func (s PortProbeDetail) String() string {
30559	return awsutil.Prettify(s)
30560}
30561
30562// GoString returns the string representation
30563func (s PortProbeDetail) GoString() string {
30564	return s.String()
30565}
30566
30567// SetLocalIpDetails sets the LocalIpDetails field's value.
30568func (s *PortProbeDetail) SetLocalIpDetails(v *ActionLocalIpDetails) *PortProbeDetail {
30569	s.LocalIpDetails = v
30570	return s
30571}
30572
30573// SetLocalPortDetails sets the LocalPortDetails field's value.
30574func (s *PortProbeDetail) SetLocalPortDetails(v *ActionLocalPortDetails) *PortProbeDetail {
30575	s.LocalPortDetails = v
30576	return s
30577}
30578
30579// SetRemoteIpDetails sets the RemoteIpDetails field's value.
30580func (s *PortProbeDetail) SetRemoteIpDetails(v *ActionRemoteIpDetails) *PortProbeDetail {
30581	s.RemoteIpDetails = v
30582	return s
30583}
30584
30585// A range of ports.
30586type PortRange struct {
30587	_ struct{} `type:"structure"`
30588
30589	// The first port in the port range.
30590	Begin *int64 `type:"integer"`
30591
30592	// The last port in the port range.
30593	End *int64 `type:"integer"`
30594}
30595
30596// String returns the string representation
30597func (s PortRange) String() string {
30598	return awsutil.Prettify(s)
30599}
30600
30601// GoString returns the string representation
30602func (s PortRange) GoString() string {
30603	return s.String()
30604}
30605
30606// SetBegin sets the Begin field's value.
30607func (s *PortRange) SetBegin(v int64) *PortRange {
30608	s.Begin = &v
30609	return s
30610}
30611
30612// SetEnd sets the End field's value.
30613func (s *PortRange) SetEnd(v int64) *PortRange {
30614	s.End = &v
30615	return s
30616}
30617
30618// A range of ports.
30619type PortRangeFromTo struct {
30620	_ struct{} `type:"structure"`
30621
30622	// The first port in the port range.
30623	From *int64 `type:"integer"`
30624
30625	// The last port in the port range.
30626	To *int64 `type:"integer"`
30627}
30628
30629// String returns the string representation
30630func (s PortRangeFromTo) String() string {
30631	return awsutil.Prettify(s)
30632}
30633
30634// GoString returns the string representation
30635func (s PortRangeFromTo) GoString() string {
30636	return s.String()
30637}
30638
30639// SetFrom sets the From field's value.
30640func (s *PortRangeFromTo) SetFrom(v int64) *PortRangeFromTo {
30641	s.From = &v
30642	return s
30643}
30644
30645// SetTo sets the To field's value.
30646func (s *PortRangeFromTo) SetTo(v int64) *PortRangeFromTo {
30647	s.To = &v
30648	return s
30649}
30650
30651// The details of process-related information about a finding.
30652type ProcessDetails struct {
30653	_ struct{} `type:"structure"`
30654
30655	// Indicates when the process was launched.
30656	//
30657	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
30658	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
30659	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
30660	LaunchedAt *string `type:"string"`
30661
30662	// The name of the process.
30663	Name *string `type:"string"`
30664
30665	// The parent process ID.
30666	ParentPid *int64 `type:"integer"`
30667
30668	// The path to the process executable.
30669	Path *string `type:"string"`
30670
30671	// The process ID.
30672	Pid *int64 `type:"integer"`
30673
30674	// Indicates when the process was terminated.
30675	//
30676	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
30677	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
30678	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
30679	TerminatedAt *string `type:"string"`
30680}
30681
30682// String returns the string representation
30683func (s ProcessDetails) String() string {
30684	return awsutil.Prettify(s)
30685}
30686
30687// GoString returns the string representation
30688func (s ProcessDetails) GoString() string {
30689	return s.String()
30690}
30691
30692// SetLaunchedAt sets the LaunchedAt field's value.
30693func (s *ProcessDetails) SetLaunchedAt(v string) *ProcessDetails {
30694	s.LaunchedAt = &v
30695	return s
30696}
30697
30698// SetName sets the Name field's value.
30699func (s *ProcessDetails) SetName(v string) *ProcessDetails {
30700	s.Name = &v
30701	return s
30702}
30703
30704// SetParentPid sets the ParentPid field's value.
30705func (s *ProcessDetails) SetParentPid(v int64) *ProcessDetails {
30706	s.ParentPid = &v
30707	return s
30708}
30709
30710// SetPath sets the Path field's value.
30711func (s *ProcessDetails) SetPath(v string) *ProcessDetails {
30712	s.Path = &v
30713	return s
30714}
30715
30716// SetPid sets the Pid field's value.
30717func (s *ProcessDetails) SetPid(v int64) *ProcessDetails {
30718	s.Pid = &v
30719	return s
30720}
30721
30722// SetTerminatedAt sets the TerminatedAt field's value.
30723func (s *ProcessDetails) SetTerminatedAt(v string) *ProcessDetails {
30724	s.TerminatedAt = &v
30725	return s
30726}
30727
30728// Contains details about a product.
30729type Product struct {
30730	_ struct{} `type:"structure"`
30731
30732	// The URL to the service or product documentation about the integration with
30733	// Security Hub, including how to activate the integration.
30734	ActivationUrl *string `type:"string"`
30735
30736	// The categories assigned to the product.
30737	Categories []*string `type:"list"`
30738
30739	// The name of the company that provides the product.
30740	CompanyName *string `type:"string"`
30741
30742	// A description of the product.
30743	Description *string `type:"string"`
30744
30745	// The types of integration that the product supports. Available values are
30746	// the following.
30747	//
30748	//    * SEND_FINDINGS_TO_SECURITY_HUB - The integration sends findings to Security
30749	//    Hub.
30750	//
30751	//    * RECEIVE_FINDINGS_FROM_SECURITY_HUB - The integration receives findings
30752	//    from Security Hub.
30753	//
30754	//    * UPDATE_FINDINGS_IN_SECURITY_HUB - The integration does not send new
30755	//    findings to Security Hub, but does make updates to the findings that it
30756	//    receives from Security Hub.
30757	IntegrationTypes []*string `type:"list"`
30758
30759	// For integrations with Amazon Web Services services, the Amazon Web Services
30760	// Console URL from which to activate the service.
30761	//
30762	// For integrations with third-party products, the Amazon Web Services Marketplace
30763	// URL from which to subscribe to or purchase the product.
30764	MarketplaceUrl *string `type:"string"`
30765
30766	// The ARN assigned to the product.
30767	//
30768	// ProductArn is a required field
30769	ProductArn *string `type:"string" required:"true"`
30770
30771	// The name of the product.
30772	ProductName *string `type:"string"`
30773
30774	// The resource policy associated with the product.
30775	ProductSubscriptionResourcePolicy *string `type:"string"`
30776}
30777
30778// String returns the string representation
30779func (s Product) String() string {
30780	return awsutil.Prettify(s)
30781}
30782
30783// GoString returns the string representation
30784func (s Product) GoString() string {
30785	return s.String()
30786}
30787
30788// SetActivationUrl sets the ActivationUrl field's value.
30789func (s *Product) SetActivationUrl(v string) *Product {
30790	s.ActivationUrl = &v
30791	return s
30792}
30793
30794// SetCategories sets the Categories field's value.
30795func (s *Product) SetCategories(v []*string) *Product {
30796	s.Categories = v
30797	return s
30798}
30799
30800// SetCompanyName sets the CompanyName field's value.
30801func (s *Product) SetCompanyName(v string) *Product {
30802	s.CompanyName = &v
30803	return s
30804}
30805
30806// SetDescription sets the Description field's value.
30807func (s *Product) SetDescription(v string) *Product {
30808	s.Description = &v
30809	return s
30810}
30811
30812// SetIntegrationTypes sets the IntegrationTypes field's value.
30813func (s *Product) SetIntegrationTypes(v []*string) *Product {
30814	s.IntegrationTypes = v
30815	return s
30816}
30817
30818// SetMarketplaceUrl sets the MarketplaceUrl field's value.
30819func (s *Product) SetMarketplaceUrl(v string) *Product {
30820	s.MarketplaceUrl = &v
30821	return s
30822}
30823
30824// SetProductArn sets the ProductArn field's value.
30825func (s *Product) SetProductArn(v string) *Product {
30826	s.ProductArn = &v
30827	return s
30828}
30829
30830// SetProductName sets the ProductName field's value.
30831func (s *Product) SetProductName(v string) *Product {
30832	s.ProductName = &v
30833	return s
30834}
30835
30836// SetProductSubscriptionResourcePolicy sets the ProductSubscriptionResourcePolicy field's value.
30837func (s *Product) SetProductSubscriptionResourcePolicy(v string) *Product {
30838	s.ProductSubscriptionResourcePolicy = &v
30839	return s
30840}
30841
30842// Identifies where the sensitive data begins and ends.
30843type Range struct {
30844	_ struct{} `type:"structure"`
30845
30846	// The number of lines (for a line range) or characters (for an offset range)
30847	// from the beginning of the file to the end of the sensitive data.
30848	End *int64 `type:"long"`
30849
30850	// The number of lines (for a line range) or characters (for an offset range)
30851	// from the beginning of the file to the end of the sensitive data.
30852	Start *int64 `type:"long"`
30853
30854	// In the line where the sensitive data starts, the column within the line where
30855	// the sensitive data starts.
30856	StartColumn *int64 `type:"long"`
30857}
30858
30859// String returns the string representation
30860func (s Range) String() string {
30861	return awsutil.Prettify(s)
30862}
30863
30864// GoString returns the string representation
30865func (s Range) GoString() string {
30866	return s.String()
30867}
30868
30869// SetEnd sets the End field's value.
30870func (s *Range) SetEnd(v int64) *Range {
30871	s.End = &v
30872	return s
30873}
30874
30875// SetStart sets the Start field's value.
30876func (s *Range) SetStart(v int64) *Range {
30877	s.Start = &v
30878	return s
30879}
30880
30881// SetStartColumn sets the StartColumn field's value.
30882func (s *Range) SetStartColumn(v int64) *Range {
30883	s.StartColumn = &v
30884	return s
30885}
30886
30887// A recommendation on how to remediate the issue identified in a finding.
30888type Recommendation struct {
30889	_ struct{} `type:"structure"`
30890
30891	// Describes the recommended steps to take to remediate an issue identified
30892	// in a finding.
30893	Text *string `type:"string"`
30894
30895	// A URL to a page or site that contains information about how to remediate
30896	// a finding.
30897	Url *string `type:"string"`
30898}
30899
30900// String returns the string representation
30901func (s Recommendation) String() string {
30902	return awsutil.Prettify(s)
30903}
30904
30905// GoString returns the string representation
30906func (s Recommendation) GoString() string {
30907	return s.String()
30908}
30909
30910// SetText sets the Text field's value.
30911func (s *Recommendation) SetText(v string) *Recommendation {
30912	s.Text = &v
30913	return s
30914}
30915
30916// SetUrl sets the Url field's value.
30917func (s *Recommendation) SetUrl(v string) *Recommendation {
30918	s.Url = &v
30919	return s
30920}
30921
30922// An occurrence of sensitive data in an Apache Avro object container or an
30923// Apache Parquet file.
30924type Record struct {
30925	_ struct{} `type:"structure"`
30926
30927	// The path, as a JSONPath expression, to the field in the record that contains
30928	// the data. If the field name is longer than 20 characters, it is truncated.
30929	// If the path is longer than 250 characters, it is truncated.
30930	JsonPath *string `type:"string"`
30931
30932	// The record index, starting from 0, for the record that contains the data.
30933	RecordIndex *int64 `type:"long"`
30934}
30935
30936// String returns the string representation
30937func (s Record) String() string {
30938	return awsutil.Prettify(s)
30939}
30940
30941// GoString returns the string representation
30942func (s Record) GoString() string {
30943	return s.String()
30944}
30945
30946// SetJsonPath sets the JsonPath field's value.
30947func (s *Record) SetJsonPath(v string) *Record {
30948	s.JsonPath = &v
30949	return s
30950}
30951
30952// SetRecordIndex sets the RecordIndex field's value.
30953func (s *Record) SetRecordIndex(v int64) *Record {
30954	s.RecordIndex = &v
30955	return s
30956}
30957
30958// Details about a related finding.
30959type RelatedFinding struct {
30960	_ struct{} `type:"structure"`
30961
30962	// The product-generated identifier for a related finding.
30963	//
30964	// Id is a required field
30965	Id *string `type:"string" required:"true"`
30966
30967	// The ARN of the product that generated a related finding.
30968	//
30969	// ProductArn is a required field
30970	ProductArn *string `type:"string" required:"true"`
30971}
30972
30973// String returns the string representation
30974func (s RelatedFinding) String() string {
30975	return awsutil.Prettify(s)
30976}
30977
30978// GoString returns the string representation
30979func (s RelatedFinding) GoString() string {
30980	return s.String()
30981}
30982
30983// Validate inspects the fields of the type to determine if they are valid.
30984func (s *RelatedFinding) Validate() error {
30985	invalidParams := request.ErrInvalidParams{Context: "RelatedFinding"}
30986	if s.Id == nil {
30987		invalidParams.Add(request.NewErrParamRequired("Id"))
30988	}
30989	if s.ProductArn == nil {
30990		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
30991	}
30992
30993	if invalidParams.Len() > 0 {
30994		return invalidParams
30995	}
30996	return nil
30997}
30998
30999// SetId sets the Id field's value.
31000func (s *RelatedFinding) SetId(v string) *RelatedFinding {
31001	s.Id = &v
31002	return s
31003}
31004
31005// SetProductArn sets the ProductArn field's value.
31006func (s *RelatedFinding) SetProductArn(v string) *RelatedFinding {
31007	s.ProductArn = &v
31008	return s
31009}
31010
31011// Details about the remediation steps for a finding.
31012type Remediation struct {
31013	_ struct{} `type:"structure"`
31014
31015	// A recommendation on the steps to take to remediate the issue identified by
31016	// a finding.
31017	Recommendation *Recommendation `type:"structure"`
31018}
31019
31020// String returns the string representation
31021func (s Remediation) String() string {
31022	return awsutil.Prettify(s)
31023}
31024
31025// GoString returns the string representation
31026func (s Remediation) GoString() string {
31027	return s.String()
31028}
31029
31030// SetRecommendation sets the Recommendation field's value.
31031func (s *Remediation) SetRecommendation(v *Recommendation) *Remediation {
31032	s.Recommendation = v
31033	return s
31034}
31035
31036// A resource related to a finding.
31037type Resource struct {
31038	_ struct{} `type:"structure"`
31039
31040	// Contains information about sensitive data that was detected on the resource.
31041	DataClassification *DataClassificationDetails `type:"structure"`
31042
31043	// Additional details about the resource related to a finding.
31044	Details *ResourceDetails `type:"structure"`
31045
31046	// The canonical identifier for the given resource type.
31047	//
31048	// Id is a required field
31049	Id *string `type:"string" required:"true"`
31050
31051	// The canonical Amazon Web Services partition name that the Region is assigned
31052	// to.
31053	Partition *string `type:"string" enum:"Partition"`
31054
31055	// The canonical Amazon Web Services external Region name where this resource
31056	// is located.
31057	Region *string `type:"string"`
31058
31059	// Identifies the role of the resource in the finding. A resource is either
31060	// the actor or target of the finding activity,
31061	ResourceRole *string `type:"string"`
31062
31063	// A list of Amazon Web Services tags associated with a resource at the time
31064	// the finding was processed.
31065	Tags map[string]*string `type:"map"`
31066
31067	// The type of the resource that details are provided for. If possible, set
31068	// Type to one of the supported resource types. For example, if the resource
31069	// is an EC2 instance, then set Type to AwsEc2Instance.
31070	//
31071	// If the resource does not match any of the provided types, then set Type to
31072	// Other.
31073	//
31074	// Type is a required field
31075	Type *string `type:"string" required:"true"`
31076}
31077
31078// String returns the string representation
31079func (s Resource) String() string {
31080	return awsutil.Prettify(s)
31081}
31082
31083// GoString returns the string representation
31084func (s Resource) GoString() string {
31085	return s.String()
31086}
31087
31088// Validate inspects the fields of the type to determine if they are valid.
31089func (s *Resource) Validate() error {
31090	invalidParams := request.ErrInvalidParams{Context: "Resource"}
31091	if s.Id == nil {
31092		invalidParams.Add(request.NewErrParamRequired("Id"))
31093	}
31094	if s.Type == nil {
31095		invalidParams.Add(request.NewErrParamRequired("Type"))
31096	}
31097	if s.Details != nil {
31098		if err := s.Details.Validate(); err != nil {
31099			invalidParams.AddNested("Details", err.(request.ErrInvalidParams))
31100		}
31101	}
31102
31103	if invalidParams.Len() > 0 {
31104		return invalidParams
31105	}
31106	return nil
31107}
31108
31109// SetDataClassification sets the DataClassification field's value.
31110func (s *Resource) SetDataClassification(v *DataClassificationDetails) *Resource {
31111	s.DataClassification = v
31112	return s
31113}
31114
31115// SetDetails sets the Details field's value.
31116func (s *Resource) SetDetails(v *ResourceDetails) *Resource {
31117	s.Details = v
31118	return s
31119}
31120
31121// SetId sets the Id field's value.
31122func (s *Resource) SetId(v string) *Resource {
31123	s.Id = &v
31124	return s
31125}
31126
31127// SetPartition sets the Partition field's value.
31128func (s *Resource) SetPartition(v string) *Resource {
31129	s.Partition = &v
31130	return s
31131}
31132
31133// SetRegion sets the Region field's value.
31134func (s *Resource) SetRegion(v string) *Resource {
31135	s.Region = &v
31136	return s
31137}
31138
31139// SetResourceRole sets the ResourceRole field's value.
31140func (s *Resource) SetResourceRole(v string) *Resource {
31141	s.ResourceRole = &v
31142	return s
31143}
31144
31145// SetTags sets the Tags field's value.
31146func (s *Resource) SetTags(v map[string]*string) *Resource {
31147	s.Tags = v
31148	return s
31149}
31150
31151// SetType sets the Type field's value.
31152func (s *Resource) SetType(v string) *Resource {
31153	s.Type = &v
31154	return s
31155}
31156
31157// The resource specified in the request conflicts with an existing resource.
31158type ResourceConflictException struct {
31159	_            struct{}                  `type:"structure"`
31160	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
31161
31162	Code_ *string `locationName:"Code" type:"string"`
31163
31164	Message_ *string `locationName:"Message" type:"string"`
31165}
31166
31167// String returns the string representation
31168func (s ResourceConflictException) String() string {
31169	return awsutil.Prettify(s)
31170}
31171
31172// GoString returns the string representation
31173func (s ResourceConflictException) GoString() string {
31174	return s.String()
31175}
31176
31177func newErrorResourceConflictException(v protocol.ResponseMetadata) error {
31178	return &ResourceConflictException{
31179		RespMetadata: v,
31180	}
31181}
31182
31183// Code returns the exception type name.
31184func (s *ResourceConflictException) Code() string {
31185	return "ResourceConflictException"
31186}
31187
31188// Message returns the exception's message.
31189func (s *ResourceConflictException) Message() string {
31190	if s.Message_ != nil {
31191		return *s.Message_
31192	}
31193	return ""
31194}
31195
31196// OrigErr always returns nil, satisfies awserr.Error interface.
31197func (s *ResourceConflictException) OrigErr() error {
31198	return nil
31199}
31200
31201func (s *ResourceConflictException) Error() string {
31202	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
31203}
31204
31205// Status code returns the HTTP status code for the request's response error.
31206func (s *ResourceConflictException) StatusCode() int {
31207	return s.RespMetadata.StatusCode
31208}
31209
31210// RequestID returns the service's response RequestID for request.
31211func (s *ResourceConflictException) RequestID() string {
31212	return s.RespMetadata.RequestID
31213}
31214
31215// Additional details about a resource related to a finding.
31216//
31217// To provide the details, use the object that corresponds to the resource type.
31218// For example, if the resource type is AwsEc2Instance, then you use the AwsEc2Instance
31219// object to provide the details.
31220//
31221// If the type-specific object does not contain all of the fields you want to
31222// populate, then you use the Other object to populate those additional fields.
31223//
31224// You also use the Other object to populate the details when the selected type
31225// does not have a corresponding object.
31226type ResourceDetails struct {
31227	_ struct{} `type:"structure"`
31228
31229	// Provides information about a REST API in version 1 of Amazon API Gateway.
31230	AwsApiGatewayRestApi *AwsApiGatewayRestApiDetails `type:"structure"`
31231
31232	// Provides information about a version 1 Amazon API Gateway stage.
31233	AwsApiGatewayStage *AwsApiGatewayStageDetails `type:"structure"`
31234
31235	// Provides information about a version 2 API in Amazon API Gateway.
31236	AwsApiGatewayV2Api *AwsApiGatewayV2ApiDetails `type:"structure"`
31237
31238	// Provides information about a version 2 stage for Amazon API Gateway.
31239	AwsApiGatewayV2Stage *AwsApiGatewayV2StageDetails `type:"structure"`
31240
31241	// Details for an autoscaling group.
31242	AwsAutoScalingAutoScalingGroup *AwsAutoScalingAutoScalingGroupDetails `type:"structure"`
31243
31244	// Provides details about a launch configuration.
31245	AwsAutoScalingLaunchConfiguration *AwsAutoScalingLaunchConfigurationDetails `type:"structure"`
31246
31247	// Provides details about an Certificate Manager certificate.
31248	AwsCertificateManagerCertificate *AwsCertificateManagerCertificateDetails `type:"structure"`
31249
31250	// Details about a CloudFront distribution.
31251	AwsCloudFrontDistribution *AwsCloudFrontDistributionDetails `type:"structure"`
31252
31253	// Provides details about a CloudTrail trail.
31254	AwsCloudTrailTrail *AwsCloudTrailTrailDetails `type:"structure"`
31255
31256	// Details for an CodeBuild project.
31257	AwsCodeBuildProject *AwsCodeBuildProjectDetails `type:"structure"`
31258
31259	// Details about a DynamoDB table.
31260	AwsDynamoDbTable *AwsDynamoDbTableDetails `type:"structure"`
31261
31262	// Details about an Elastic IP address.
31263	AwsEc2Eip *AwsEc2EipDetails `type:"structure"`
31264
31265	// Details about an EC2 instance related to a finding.
31266	AwsEc2Instance *AwsEc2InstanceDetails `type:"structure"`
31267
31268	// Details about an EC2 network access control list (ACL).
31269	AwsEc2NetworkAcl *AwsEc2NetworkAclDetails `type:"structure"`
31270
31271	// Details for an EC2 network interface.
31272	AwsEc2NetworkInterface *AwsEc2NetworkInterfaceDetails `type:"structure"`
31273
31274	// Details for an EC2 security group.
31275	AwsEc2SecurityGroup *AwsEc2SecurityGroupDetails `type:"structure"`
31276
31277	// Details about a subnet in Amazon EC2.
31278	AwsEc2Subnet *AwsEc2SubnetDetails `type:"structure"`
31279
31280	// Details for an EC2 volume.
31281	AwsEc2Volume *AwsEc2VolumeDetails `type:"structure"`
31282
31283	// Details for an EC2 VPC.
31284	AwsEc2Vpc *AwsEc2VpcDetails `type:"structure"`
31285
31286	// Details about an EC2 VPN connection.
31287	AwsEc2VpnConnection *AwsEc2VpnConnectionDetails `type:"structure"`
31288
31289	// information about an Amazon ECR image.
31290	AwsEcrContainerImage *AwsEcrContainerImageDetails `type:"structure"`
31291
31292	// Details about an ECS cluster.
31293	AwsEcsCluster *AwsEcsClusterDetails `type:"structure"`
31294
31295	// Details about a service within an ECS cluster.
31296	AwsEcsService *AwsEcsServiceDetails `type:"structure"`
31297
31298	// Details about a task definition. A task definition describes the container
31299	// and volume definitions of an Amazon Elastic Container Service task.
31300	AwsEcsTaskDefinition *AwsEcsTaskDefinitionDetails `type:"structure"`
31301
31302	// Details about an Elastic Beanstalk environment.
31303	AwsElasticBeanstalkEnvironment *AwsElasticBeanstalkEnvironmentDetails `type:"structure"`
31304
31305	// Details for an Elasticsearch domain.
31306	AwsElasticsearchDomain *AwsElasticsearchDomainDetails `type:"structure"`
31307
31308	// Contains details about a Classic Load Balancer.
31309	AwsElbLoadBalancer *AwsElbLoadBalancerDetails `type:"structure"`
31310
31311	// Details about a load balancer.
31312	AwsElbv2LoadBalancer *AwsElbv2LoadBalancerDetails `type:"structure"`
31313
31314	// Details about an IAM access key related to a finding.
31315	AwsIamAccessKey *AwsIamAccessKeyDetails `type:"structure"`
31316
31317	// Contains details about an IAM group.
31318	AwsIamGroup *AwsIamGroupDetails `type:"structure"`
31319
31320	// Details about an IAM permissions policy.
31321	AwsIamPolicy *AwsIamPolicyDetails `type:"structure"`
31322
31323	// Details about an IAM role.
31324	AwsIamRole *AwsIamRoleDetails `type:"structure"`
31325
31326	// Details about an IAM user.
31327	AwsIamUser *AwsIamUserDetails `type:"structure"`
31328
31329	// Details about an KMS key.
31330	AwsKmsKey *AwsKmsKeyDetails `type:"structure"`
31331
31332	// Details about a Lambda function.
31333	AwsLambdaFunction *AwsLambdaFunctionDetails `type:"structure"`
31334
31335	// Details for a Lambda layer version.
31336	AwsLambdaLayerVersion *AwsLambdaLayerVersionDetails `type:"structure"`
31337
31338	// Details about an Amazon RDS database cluster.
31339	AwsRdsDbCluster *AwsRdsDbClusterDetails `type:"structure"`
31340
31341	// Details about an Amazon RDS database cluster snapshot.
31342	AwsRdsDbClusterSnapshot *AwsRdsDbClusterSnapshotDetails `type:"structure"`
31343
31344	// Details about an Amazon RDS database instance.
31345	AwsRdsDbInstance *AwsRdsDbInstanceDetails `type:"structure"`
31346
31347	// Details about an Amazon RDS database snapshot.
31348	AwsRdsDbSnapshot *AwsRdsDbSnapshotDetails `type:"structure"`
31349
31350	// Details about an RDS event notification subscription.
31351	AwsRdsEventSubscription *AwsRdsEventSubscriptionDetails `type:"structure"`
31352
31353	// Contains details about an Amazon Redshift cluster.
31354	AwsRedshiftCluster *AwsRedshiftClusterDetails `type:"structure"`
31355
31356	// Details about the Amazon S3 Public Access Block configuration for an account.
31357	AwsS3AccountPublicAccessBlock *AwsS3AccountPublicAccessBlockDetails `type:"structure"`
31358
31359	// Details about an S3 bucket related to a finding.
31360	AwsS3Bucket *AwsS3BucketDetails `type:"structure"`
31361
31362	// Details about an S3 object related to a finding.
31363	AwsS3Object *AwsS3ObjectDetails `type:"structure"`
31364
31365	// Details about a Secrets Manager secret.
31366	AwsSecretsManagerSecret *AwsSecretsManagerSecretDetails `type:"structure"`
31367
31368	// Details about an SNS topic.
31369	AwsSnsTopic *AwsSnsTopicDetails `type:"structure"`
31370
31371	// Details about an SQS queue.
31372	AwsSqsQueue *AwsSqsQueueDetails `type:"structure"`
31373
31374	// Provides information about the state of a patch on an instance based on the
31375	// patch baseline that was used to patch the instance.
31376	AwsSsmPatchCompliance *AwsSsmPatchComplianceDetails `type:"structure"`
31377
31378	// Details for an WAF WebACL.
31379	AwsWafWebAcl *AwsWafWebAclDetails `type:"structure"`
31380
31381	// Details about a container resource related to a finding.
31382	Container *ContainerDetails `type:"structure"`
31383
31384	// Details about a resource that are not available in a type-specific details
31385	// object. Use the Other object in the following cases.
31386	//
31387	//    * The type-specific object does not contain all of the fields that you
31388	//    want to populate. In this case, first use the type-specific object to
31389	//    populate those fields. Use the Other object to populate the fields that
31390	//    are missing from the type-specific object.
31391	//
31392	//    * The resource type does not have a corresponding object. This includes
31393	//    resources for which the type is Other.
31394	Other map[string]*string `type:"map"`
31395}
31396
31397// String returns the string representation
31398func (s ResourceDetails) String() string {
31399	return awsutil.Prettify(s)
31400}
31401
31402// GoString returns the string representation
31403func (s ResourceDetails) GoString() string {
31404	return s.String()
31405}
31406
31407// Validate inspects the fields of the type to determine if they are valid.
31408func (s *ResourceDetails) Validate() error {
31409	invalidParams := request.ErrInvalidParams{Context: "ResourceDetails"}
31410	if s.AwsIamRole != nil {
31411		if err := s.AwsIamRole.Validate(); err != nil {
31412			invalidParams.AddNested("AwsIamRole", err.(request.ErrInvalidParams))
31413		}
31414	}
31415
31416	if invalidParams.Len() > 0 {
31417		return invalidParams
31418	}
31419	return nil
31420}
31421
31422// SetAwsApiGatewayRestApi sets the AwsApiGatewayRestApi field's value.
31423func (s *ResourceDetails) SetAwsApiGatewayRestApi(v *AwsApiGatewayRestApiDetails) *ResourceDetails {
31424	s.AwsApiGatewayRestApi = v
31425	return s
31426}
31427
31428// SetAwsApiGatewayStage sets the AwsApiGatewayStage field's value.
31429func (s *ResourceDetails) SetAwsApiGatewayStage(v *AwsApiGatewayStageDetails) *ResourceDetails {
31430	s.AwsApiGatewayStage = v
31431	return s
31432}
31433
31434// SetAwsApiGatewayV2Api sets the AwsApiGatewayV2Api field's value.
31435func (s *ResourceDetails) SetAwsApiGatewayV2Api(v *AwsApiGatewayV2ApiDetails) *ResourceDetails {
31436	s.AwsApiGatewayV2Api = v
31437	return s
31438}
31439
31440// SetAwsApiGatewayV2Stage sets the AwsApiGatewayV2Stage field's value.
31441func (s *ResourceDetails) SetAwsApiGatewayV2Stage(v *AwsApiGatewayV2StageDetails) *ResourceDetails {
31442	s.AwsApiGatewayV2Stage = v
31443	return s
31444}
31445
31446// SetAwsAutoScalingAutoScalingGroup sets the AwsAutoScalingAutoScalingGroup field's value.
31447func (s *ResourceDetails) SetAwsAutoScalingAutoScalingGroup(v *AwsAutoScalingAutoScalingGroupDetails) *ResourceDetails {
31448	s.AwsAutoScalingAutoScalingGroup = v
31449	return s
31450}
31451
31452// SetAwsAutoScalingLaunchConfiguration sets the AwsAutoScalingLaunchConfiguration field's value.
31453func (s *ResourceDetails) SetAwsAutoScalingLaunchConfiguration(v *AwsAutoScalingLaunchConfigurationDetails) *ResourceDetails {
31454	s.AwsAutoScalingLaunchConfiguration = v
31455	return s
31456}
31457
31458// SetAwsCertificateManagerCertificate sets the AwsCertificateManagerCertificate field's value.
31459func (s *ResourceDetails) SetAwsCertificateManagerCertificate(v *AwsCertificateManagerCertificateDetails) *ResourceDetails {
31460	s.AwsCertificateManagerCertificate = v
31461	return s
31462}
31463
31464// SetAwsCloudFrontDistribution sets the AwsCloudFrontDistribution field's value.
31465func (s *ResourceDetails) SetAwsCloudFrontDistribution(v *AwsCloudFrontDistributionDetails) *ResourceDetails {
31466	s.AwsCloudFrontDistribution = v
31467	return s
31468}
31469
31470// SetAwsCloudTrailTrail sets the AwsCloudTrailTrail field's value.
31471func (s *ResourceDetails) SetAwsCloudTrailTrail(v *AwsCloudTrailTrailDetails) *ResourceDetails {
31472	s.AwsCloudTrailTrail = v
31473	return s
31474}
31475
31476// SetAwsCodeBuildProject sets the AwsCodeBuildProject field's value.
31477func (s *ResourceDetails) SetAwsCodeBuildProject(v *AwsCodeBuildProjectDetails) *ResourceDetails {
31478	s.AwsCodeBuildProject = v
31479	return s
31480}
31481
31482// SetAwsDynamoDbTable sets the AwsDynamoDbTable field's value.
31483func (s *ResourceDetails) SetAwsDynamoDbTable(v *AwsDynamoDbTableDetails) *ResourceDetails {
31484	s.AwsDynamoDbTable = v
31485	return s
31486}
31487
31488// SetAwsEc2Eip sets the AwsEc2Eip field's value.
31489func (s *ResourceDetails) SetAwsEc2Eip(v *AwsEc2EipDetails) *ResourceDetails {
31490	s.AwsEc2Eip = v
31491	return s
31492}
31493
31494// SetAwsEc2Instance sets the AwsEc2Instance field's value.
31495func (s *ResourceDetails) SetAwsEc2Instance(v *AwsEc2InstanceDetails) *ResourceDetails {
31496	s.AwsEc2Instance = v
31497	return s
31498}
31499
31500// SetAwsEc2NetworkAcl sets the AwsEc2NetworkAcl field's value.
31501func (s *ResourceDetails) SetAwsEc2NetworkAcl(v *AwsEc2NetworkAclDetails) *ResourceDetails {
31502	s.AwsEc2NetworkAcl = v
31503	return s
31504}
31505
31506// SetAwsEc2NetworkInterface sets the AwsEc2NetworkInterface field's value.
31507func (s *ResourceDetails) SetAwsEc2NetworkInterface(v *AwsEc2NetworkInterfaceDetails) *ResourceDetails {
31508	s.AwsEc2NetworkInterface = v
31509	return s
31510}
31511
31512// SetAwsEc2SecurityGroup sets the AwsEc2SecurityGroup field's value.
31513func (s *ResourceDetails) SetAwsEc2SecurityGroup(v *AwsEc2SecurityGroupDetails) *ResourceDetails {
31514	s.AwsEc2SecurityGroup = v
31515	return s
31516}
31517
31518// SetAwsEc2Subnet sets the AwsEc2Subnet field's value.
31519func (s *ResourceDetails) SetAwsEc2Subnet(v *AwsEc2SubnetDetails) *ResourceDetails {
31520	s.AwsEc2Subnet = v
31521	return s
31522}
31523
31524// SetAwsEc2Volume sets the AwsEc2Volume field's value.
31525func (s *ResourceDetails) SetAwsEc2Volume(v *AwsEc2VolumeDetails) *ResourceDetails {
31526	s.AwsEc2Volume = v
31527	return s
31528}
31529
31530// SetAwsEc2Vpc sets the AwsEc2Vpc field's value.
31531func (s *ResourceDetails) SetAwsEc2Vpc(v *AwsEc2VpcDetails) *ResourceDetails {
31532	s.AwsEc2Vpc = v
31533	return s
31534}
31535
31536// SetAwsEc2VpnConnection sets the AwsEc2VpnConnection field's value.
31537func (s *ResourceDetails) SetAwsEc2VpnConnection(v *AwsEc2VpnConnectionDetails) *ResourceDetails {
31538	s.AwsEc2VpnConnection = v
31539	return s
31540}
31541
31542// SetAwsEcrContainerImage sets the AwsEcrContainerImage field's value.
31543func (s *ResourceDetails) SetAwsEcrContainerImage(v *AwsEcrContainerImageDetails) *ResourceDetails {
31544	s.AwsEcrContainerImage = v
31545	return s
31546}
31547
31548// SetAwsEcsCluster sets the AwsEcsCluster field's value.
31549func (s *ResourceDetails) SetAwsEcsCluster(v *AwsEcsClusterDetails) *ResourceDetails {
31550	s.AwsEcsCluster = v
31551	return s
31552}
31553
31554// SetAwsEcsService sets the AwsEcsService field's value.
31555func (s *ResourceDetails) SetAwsEcsService(v *AwsEcsServiceDetails) *ResourceDetails {
31556	s.AwsEcsService = v
31557	return s
31558}
31559
31560// SetAwsEcsTaskDefinition sets the AwsEcsTaskDefinition field's value.
31561func (s *ResourceDetails) SetAwsEcsTaskDefinition(v *AwsEcsTaskDefinitionDetails) *ResourceDetails {
31562	s.AwsEcsTaskDefinition = v
31563	return s
31564}
31565
31566// SetAwsElasticBeanstalkEnvironment sets the AwsElasticBeanstalkEnvironment field's value.
31567func (s *ResourceDetails) SetAwsElasticBeanstalkEnvironment(v *AwsElasticBeanstalkEnvironmentDetails) *ResourceDetails {
31568	s.AwsElasticBeanstalkEnvironment = v
31569	return s
31570}
31571
31572// SetAwsElasticsearchDomain sets the AwsElasticsearchDomain field's value.
31573func (s *ResourceDetails) SetAwsElasticsearchDomain(v *AwsElasticsearchDomainDetails) *ResourceDetails {
31574	s.AwsElasticsearchDomain = v
31575	return s
31576}
31577
31578// SetAwsElbLoadBalancer sets the AwsElbLoadBalancer field's value.
31579func (s *ResourceDetails) SetAwsElbLoadBalancer(v *AwsElbLoadBalancerDetails) *ResourceDetails {
31580	s.AwsElbLoadBalancer = v
31581	return s
31582}
31583
31584// SetAwsElbv2LoadBalancer sets the AwsElbv2LoadBalancer field's value.
31585func (s *ResourceDetails) SetAwsElbv2LoadBalancer(v *AwsElbv2LoadBalancerDetails) *ResourceDetails {
31586	s.AwsElbv2LoadBalancer = v
31587	return s
31588}
31589
31590// SetAwsIamAccessKey sets the AwsIamAccessKey field's value.
31591func (s *ResourceDetails) SetAwsIamAccessKey(v *AwsIamAccessKeyDetails) *ResourceDetails {
31592	s.AwsIamAccessKey = v
31593	return s
31594}
31595
31596// SetAwsIamGroup sets the AwsIamGroup field's value.
31597func (s *ResourceDetails) SetAwsIamGroup(v *AwsIamGroupDetails) *ResourceDetails {
31598	s.AwsIamGroup = v
31599	return s
31600}
31601
31602// SetAwsIamPolicy sets the AwsIamPolicy field's value.
31603func (s *ResourceDetails) SetAwsIamPolicy(v *AwsIamPolicyDetails) *ResourceDetails {
31604	s.AwsIamPolicy = v
31605	return s
31606}
31607
31608// SetAwsIamRole sets the AwsIamRole field's value.
31609func (s *ResourceDetails) SetAwsIamRole(v *AwsIamRoleDetails) *ResourceDetails {
31610	s.AwsIamRole = v
31611	return s
31612}
31613
31614// SetAwsIamUser sets the AwsIamUser field's value.
31615func (s *ResourceDetails) SetAwsIamUser(v *AwsIamUserDetails) *ResourceDetails {
31616	s.AwsIamUser = v
31617	return s
31618}
31619
31620// SetAwsKmsKey sets the AwsKmsKey field's value.
31621func (s *ResourceDetails) SetAwsKmsKey(v *AwsKmsKeyDetails) *ResourceDetails {
31622	s.AwsKmsKey = v
31623	return s
31624}
31625
31626// SetAwsLambdaFunction sets the AwsLambdaFunction field's value.
31627func (s *ResourceDetails) SetAwsLambdaFunction(v *AwsLambdaFunctionDetails) *ResourceDetails {
31628	s.AwsLambdaFunction = v
31629	return s
31630}
31631
31632// SetAwsLambdaLayerVersion sets the AwsLambdaLayerVersion field's value.
31633func (s *ResourceDetails) SetAwsLambdaLayerVersion(v *AwsLambdaLayerVersionDetails) *ResourceDetails {
31634	s.AwsLambdaLayerVersion = v
31635	return s
31636}
31637
31638// SetAwsRdsDbCluster sets the AwsRdsDbCluster field's value.
31639func (s *ResourceDetails) SetAwsRdsDbCluster(v *AwsRdsDbClusterDetails) *ResourceDetails {
31640	s.AwsRdsDbCluster = v
31641	return s
31642}
31643
31644// SetAwsRdsDbClusterSnapshot sets the AwsRdsDbClusterSnapshot field's value.
31645func (s *ResourceDetails) SetAwsRdsDbClusterSnapshot(v *AwsRdsDbClusterSnapshotDetails) *ResourceDetails {
31646	s.AwsRdsDbClusterSnapshot = v
31647	return s
31648}
31649
31650// SetAwsRdsDbInstance sets the AwsRdsDbInstance field's value.
31651func (s *ResourceDetails) SetAwsRdsDbInstance(v *AwsRdsDbInstanceDetails) *ResourceDetails {
31652	s.AwsRdsDbInstance = v
31653	return s
31654}
31655
31656// SetAwsRdsDbSnapshot sets the AwsRdsDbSnapshot field's value.
31657func (s *ResourceDetails) SetAwsRdsDbSnapshot(v *AwsRdsDbSnapshotDetails) *ResourceDetails {
31658	s.AwsRdsDbSnapshot = v
31659	return s
31660}
31661
31662// SetAwsRdsEventSubscription sets the AwsRdsEventSubscription field's value.
31663func (s *ResourceDetails) SetAwsRdsEventSubscription(v *AwsRdsEventSubscriptionDetails) *ResourceDetails {
31664	s.AwsRdsEventSubscription = v
31665	return s
31666}
31667
31668// SetAwsRedshiftCluster sets the AwsRedshiftCluster field's value.
31669func (s *ResourceDetails) SetAwsRedshiftCluster(v *AwsRedshiftClusterDetails) *ResourceDetails {
31670	s.AwsRedshiftCluster = v
31671	return s
31672}
31673
31674// SetAwsS3AccountPublicAccessBlock sets the AwsS3AccountPublicAccessBlock field's value.
31675func (s *ResourceDetails) SetAwsS3AccountPublicAccessBlock(v *AwsS3AccountPublicAccessBlockDetails) *ResourceDetails {
31676	s.AwsS3AccountPublicAccessBlock = v
31677	return s
31678}
31679
31680// SetAwsS3Bucket sets the AwsS3Bucket field's value.
31681func (s *ResourceDetails) SetAwsS3Bucket(v *AwsS3BucketDetails) *ResourceDetails {
31682	s.AwsS3Bucket = v
31683	return s
31684}
31685
31686// SetAwsS3Object sets the AwsS3Object field's value.
31687func (s *ResourceDetails) SetAwsS3Object(v *AwsS3ObjectDetails) *ResourceDetails {
31688	s.AwsS3Object = v
31689	return s
31690}
31691
31692// SetAwsSecretsManagerSecret sets the AwsSecretsManagerSecret field's value.
31693func (s *ResourceDetails) SetAwsSecretsManagerSecret(v *AwsSecretsManagerSecretDetails) *ResourceDetails {
31694	s.AwsSecretsManagerSecret = v
31695	return s
31696}
31697
31698// SetAwsSnsTopic sets the AwsSnsTopic field's value.
31699func (s *ResourceDetails) SetAwsSnsTopic(v *AwsSnsTopicDetails) *ResourceDetails {
31700	s.AwsSnsTopic = v
31701	return s
31702}
31703
31704// SetAwsSqsQueue sets the AwsSqsQueue field's value.
31705func (s *ResourceDetails) SetAwsSqsQueue(v *AwsSqsQueueDetails) *ResourceDetails {
31706	s.AwsSqsQueue = v
31707	return s
31708}
31709
31710// SetAwsSsmPatchCompliance sets the AwsSsmPatchCompliance field's value.
31711func (s *ResourceDetails) SetAwsSsmPatchCompliance(v *AwsSsmPatchComplianceDetails) *ResourceDetails {
31712	s.AwsSsmPatchCompliance = v
31713	return s
31714}
31715
31716// SetAwsWafWebAcl sets the AwsWafWebAcl field's value.
31717func (s *ResourceDetails) SetAwsWafWebAcl(v *AwsWafWebAclDetails) *ResourceDetails {
31718	s.AwsWafWebAcl = v
31719	return s
31720}
31721
31722// SetContainer sets the Container field's value.
31723func (s *ResourceDetails) SetContainer(v *ContainerDetails) *ResourceDetails {
31724	s.Container = v
31725	return s
31726}
31727
31728// SetOther sets the Other field's value.
31729func (s *ResourceDetails) SetOther(v map[string]*string) *ResourceDetails {
31730	s.Other = v
31731	return s
31732}
31733
31734// The request was rejected because we can't find the specified resource.
31735type ResourceNotFoundException struct {
31736	_            struct{}                  `type:"structure"`
31737	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
31738
31739	Code_ *string `locationName:"Code" type:"string"`
31740
31741	Message_ *string `locationName:"Message" type:"string"`
31742}
31743
31744// String returns the string representation
31745func (s ResourceNotFoundException) String() string {
31746	return awsutil.Prettify(s)
31747}
31748
31749// GoString returns the string representation
31750func (s ResourceNotFoundException) GoString() string {
31751	return s.String()
31752}
31753
31754func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
31755	return &ResourceNotFoundException{
31756		RespMetadata: v,
31757	}
31758}
31759
31760// Code returns the exception type name.
31761func (s *ResourceNotFoundException) Code() string {
31762	return "ResourceNotFoundException"
31763}
31764
31765// Message returns the exception's message.
31766func (s *ResourceNotFoundException) Message() string {
31767	if s.Message_ != nil {
31768		return *s.Message_
31769	}
31770	return ""
31771}
31772
31773// OrigErr always returns nil, satisfies awserr.Error interface.
31774func (s *ResourceNotFoundException) OrigErr() error {
31775	return nil
31776}
31777
31778func (s *ResourceNotFoundException) Error() string {
31779	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
31780}
31781
31782// Status code returns the HTTP status code for the request's response error.
31783func (s *ResourceNotFoundException) StatusCode() int {
31784	return s.RespMetadata.StatusCode
31785}
31786
31787// RequestID returns the service's response RequestID for request.
31788func (s *ResourceNotFoundException) RequestID() string {
31789	return s.RespMetadata.RequestID
31790}
31791
31792// Details about the account that was not processed.
31793type Result struct {
31794	_ struct{} `type:"structure"`
31795
31796	// An Amazon Web Services account ID of the account that was not processed.
31797	AccountId *string `type:"string"`
31798
31799	// The reason that the account was not processed.
31800	ProcessingResult *string `type:"string"`
31801}
31802
31803// String returns the string representation
31804func (s Result) String() string {
31805	return awsutil.Prettify(s)
31806}
31807
31808// GoString returns the string representation
31809func (s Result) GoString() string {
31810	return s.String()
31811}
31812
31813// SetAccountId sets the AccountId field's value.
31814func (s *Result) SetAccountId(v string) *Result {
31815	s.AccountId = &v
31816	return s
31817}
31818
31819// SetProcessingResult sets the ProcessingResult field's value.
31820func (s *Result) SetProcessingResult(v string) *Result {
31821	s.ProcessingResult = &v
31822	return s
31823}
31824
31825// The list of detected instances of sensitive data.
31826type SensitiveDataDetections struct {
31827	_ struct{} `type:"structure"`
31828
31829	// The total number of occurrences of sensitive data that were detected.
31830	Count *int64 `type:"long"`
31831
31832	// Details about the sensitive data that was detected.
31833	Occurrences *Occurrences `type:"structure"`
31834
31835	// The type of sensitive data that was detected. For example, the type might
31836	// indicate that the data is an email address.
31837	Type *string `type:"string"`
31838}
31839
31840// String returns the string representation
31841func (s SensitiveDataDetections) String() string {
31842	return awsutil.Prettify(s)
31843}
31844
31845// GoString returns the string representation
31846func (s SensitiveDataDetections) GoString() string {
31847	return s.String()
31848}
31849
31850// SetCount sets the Count field's value.
31851func (s *SensitiveDataDetections) SetCount(v int64) *SensitiveDataDetections {
31852	s.Count = &v
31853	return s
31854}
31855
31856// SetOccurrences sets the Occurrences field's value.
31857func (s *SensitiveDataDetections) SetOccurrences(v *Occurrences) *SensitiveDataDetections {
31858	s.Occurrences = v
31859	return s
31860}
31861
31862// SetType sets the Type field's value.
31863func (s *SensitiveDataDetections) SetType(v string) *SensitiveDataDetections {
31864	s.Type = &v
31865	return s
31866}
31867
31868// Contains a detected instance of sensitive data that are based on built-in
31869// identifiers.
31870type SensitiveDataResult struct {
31871	_ struct{} `type:"structure"`
31872
31873	// The category of sensitive data that was detected. For example, the category
31874	// can indicate that the sensitive data involved credentials, financial information,
31875	// or personal information.
31876	Category *string `type:"string"`
31877
31878	// The list of detected instances of sensitive data.
31879	Detections []*SensitiveDataDetections `type:"list"`
31880
31881	// The total number of occurrences of sensitive data.
31882	TotalCount *int64 `type:"long"`
31883}
31884
31885// String returns the string representation
31886func (s SensitiveDataResult) String() string {
31887	return awsutil.Prettify(s)
31888}
31889
31890// GoString returns the string representation
31891func (s SensitiveDataResult) GoString() string {
31892	return s.String()
31893}
31894
31895// SetCategory sets the Category field's value.
31896func (s *SensitiveDataResult) SetCategory(v string) *SensitiveDataResult {
31897	s.Category = &v
31898	return s
31899}
31900
31901// SetDetections sets the Detections field's value.
31902func (s *SensitiveDataResult) SetDetections(v []*SensitiveDataDetections) *SensitiveDataResult {
31903	s.Detections = v
31904	return s
31905}
31906
31907// SetTotalCount sets the TotalCount field's value.
31908func (s *SensitiveDataResult) SetTotalCount(v int64) *SensitiveDataResult {
31909	s.TotalCount = &v
31910	return s
31911}
31912
31913// The severity of the finding.
31914//
31915// The finding provider can provide the initial severity. The finding provider
31916// can only update the severity if it has not been updated using BatchUpdateFindings.
31917//
31918// The finding must have either Label or Normalized populated. If only one of
31919// these attributes is populated, then Security Hub automatically populates
31920// the other one. If neither attribute is populated, then the finding is invalid.
31921// Label is the preferred attribute.
31922type Severity struct {
31923	_ struct{} `type:"structure"`
31924
31925	// The severity value of the finding. The allowed values are the following.
31926	//
31927	//    * INFORMATIONAL - No issue was found.
31928	//
31929	//    * LOW - The issue does not require action on its own.
31930	//
31931	//    * MEDIUM - The issue must be addressed but not urgently.
31932	//
31933	//    * HIGH - The issue must be addressed as a priority.
31934	//
31935	//    * CRITICAL - The issue must be remediated immediately to avoid it escalating.
31936	//
31937	// If you provide Normalized and do not provide Label, then Label is set automatically
31938	// as follows.
31939	//
31940	//    * 0 - INFORMATIONAL
31941	//
31942	//    * 1–39 - LOW
31943	//
31944	//    * 40–69 - MEDIUM
31945	//
31946	//    * 70–89 - HIGH
31947	//
31948	//    * 90–100 - CRITICAL
31949	Label *string `type:"string" enum:"SeverityLabel"`
31950
31951	// Deprecated. The normalized severity of a finding. This attribute is being
31952	// deprecated. Instead of providing Normalized, provide Label.
31953	//
31954	// If you provide Label and do not provide Normalized, then Normalized is set
31955	// automatically as follows.
31956	//
31957	//    * INFORMATIONAL - 0
31958	//
31959	//    * LOW - 1
31960	//
31961	//    * MEDIUM - 40
31962	//
31963	//    * HIGH - 70
31964	//
31965	//    * CRITICAL - 90
31966	Normalized *int64 `type:"integer"`
31967
31968	// The native severity from the finding product that generated the finding.
31969	Original *string `type:"string"`
31970
31971	// Deprecated. This attribute is being deprecated. Instead of providing Product,
31972	// provide Original.
31973	//
31974	// The native severity as defined by the Amazon Web Services service or integrated
31975	// partner product that generated the finding.
31976	Product *float64 `type:"double"`
31977}
31978
31979// String returns the string representation
31980func (s Severity) String() string {
31981	return awsutil.Prettify(s)
31982}
31983
31984// GoString returns the string representation
31985func (s Severity) GoString() string {
31986	return s.String()
31987}
31988
31989// SetLabel sets the Label field's value.
31990func (s *Severity) SetLabel(v string) *Severity {
31991	s.Label = &v
31992	return s
31993}
31994
31995// SetNormalized sets the Normalized field's value.
31996func (s *Severity) SetNormalized(v int64) *Severity {
31997	s.Normalized = &v
31998	return s
31999}
32000
32001// SetOriginal sets the Original field's value.
32002func (s *Severity) SetOriginal(v string) *Severity {
32003	s.Original = &v
32004	return s
32005}
32006
32007// SetProduct sets the Product field's value.
32008func (s *Severity) SetProduct(v float64) *Severity {
32009	s.Product = &v
32010	return s
32011}
32012
32013// Updates to the severity information for a finding.
32014type SeverityUpdate struct {
32015	_ struct{} `type:"structure"`
32016
32017	// The severity value of the finding. The allowed values are the following.
32018	//
32019	//    * INFORMATIONAL - No issue was found.
32020	//
32021	//    * LOW - The issue does not require action on its own.
32022	//
32023	//    * MEDIUM - The issue must be addressed but not urgently.
32024	//
32025	//    * HIGH - The issue must be addressed as a priority.
32026	//
32027	//    * CRITICAL - The issue must be remediated immediately to avoid it escalating.
32028	Label *string `type:"string" enum:"SeverityLabel"`
32029
32030	// The normalized severity for the finding. This attribute is to be deprecated
32031	// in favor of Label.
32032	//
32033	// If you provide Normalized and do not provide Label, Label is set automatically
32034	// as follows.
32035	//
32036	//    * 0 - INFORMATIONAL
32037	//
32038	//    * 1–39 - LOW
32039	//
32040	//    * 40–69 - MEDIUM
32041	//
32042	//    * 70–89 - HIGH
32043	//
32044	//    * 90–100 - CRITICAL
32045	Normalized *int64 `type:"integer"`
32046
32047	// The native severity as defined by the Amazon Web Services service or integrated
32048	// partner product that generated the finding.
32049	Product *float64 `type:"double"`
32050}
32051
32052// String returns the string representation
32053func (s SeverityUpdate) String() string {
32054	return awsutil.Prettify(s)
32055}
32056
32057// GoString returns the string representation
32058func (s SeverityUpdate) GoString() string {
32059	return s.String()
32060}
32061
32062// SetLabel sets the Label field's value.
32063func (s *SeverityUpdate) SetLabel(v string) *SeverityUpdate {
32064	s.Label = &v
32065	return s
32066}
32067
32068// SetNormalized sets the Normalized field's value.
32069func (s *SeverityUpdate) SetNormalized(v int64) *SeverityUpdate {
32070	s.Normalized = &v
32071	return s
32072}
32073
32074// SetProduct sets the Product field's value.
32075func (s *SeverityUpdate) SetProduct(v float64) *SeverityUpdate {
32076	s.Product = &v
32077	return s
32078}
32079
32080// Information about a software package.
32081type SoftwarePackage struct {
32082	_ struct{} `type:"structure"`
32083
32084	// The architecture used for the software package.
32085	Architecture *string `type:"string"`
32086
32087	// The epoch of the software package.
32088	Epoch *string `type:"string"`
32089
32090	// The file system path to the package manager inventory file.
32091	FilePath *string `type:"string"`
32092
32093	// The name of the software package.
32094	Name *string `type:"string"`
32095
32096	// The source of the package.
32097	PackageManager *string `type:"string"`
32098
32099	// The release of the software package.
32100	Release *string `type:"string"`
32101
32102	// The version of the software package.
32103	Version *string `type:"string"`
32104}
32105
32106// String returns the string representation
32107func (s SoftwarePackage) String() string {
32108	return awsutil.Prettify(s)
32109}
32110
32111// GoString returns the string representation
32112func (s SoftwarePackage) GoString() string {
32113	return s.String()
32114}
32115
32116// SetArchitecture sets the Architecture field's value.
32117func (s *SoftwarePackage) SetArchitecture(v string) *SoftwarePackage {
32118	s.Architecture = &v
32119	return s
32120}
32121
32122// SetEpoch sets the Epoch field's value.
32123func (s *SoftwarePackage) SetEpoch(v string) *SoftwarePackage {
32124	s.Epoch = &v
32125	return s
32126}
32127
32128// SetFilePath sets the FilePath field's value.
32129func (s *SoftwarePackage) SetFilePath(v string) *SoftwarePackage {
32130	s.FilePath = &v
32131	return s
32132}
32133
32134// SetName sets the Name field's value.
32135func (s *SoftwarePackage) SetName(v string) *SoftwarePackage {
32136	s.Name = &v
32137	return s
32138}
32139
32140// SetPackageManager sets the PackageManager field's value.
32141func (s *SoftwarePackage) SetPackageManager(v string) *SoftwarePackage {
32142	s.PackageManager = &v
32143	return s
32144}
32145
32146// SetRelease sets the Release field's value.
32147func (s *SoftwarePackage) SetRelease(v string) *SoftwarePackage {
32148	s.Release = &v
32149	return s
32150}
32151
32152// SetVersion sets the Version field's value.
32153func (s *SoftwarePackage) SetVersion(v string) *SoftwarePackage {
32154	s.Version = &v
32155	return s
32156}
32157
32158// A collection of finding attributes used to sort findings.
32159type SortCriterion struct {
32160	_ struct{} `type:"structure"`
32161
32162	// The finding attribute used to sort findings.
32163	Field *string `type:"string"`
32164
32165	// The order used to sort findings.
32166	SortOrder *string `type:"string" enum:"SortOrder"`
32167}
32168
32169// String returns the string representation
32170func (s SortCriterion) String() string {
32171	return awsutil.Prettify(s)
32172}
32173
32174// GoString returns the string representation
32175func (s SortCriterion) GoString() string {
32176	return s.String()
32177}
32178
32179// SetField sets the Field field's value.
32180func (s *SortCriterion) SetField(v string) *SortCriterion {
32181	s.Field = &v
32182	return s
32183}
32184
32185// SetSortOrder sets the SortOrder field's value.
32186func (s *SortCriterion) SetSortOrder(v string) *SortCriterion {
32187	s.SortOrder = &v
32188	return s
32189}
32190
32191// Provides information about a specific standard.
32192type Standard struct {
32193	_ struct{} `type:"structure"`
32194
32195	// A description of the standard.
32196	Description *string `type:"string"`
32197
32198	// Whether the standard is enabled by default. When Security Hub is enabled
32199	// from the console, if a standard is enabled by default, the check box for
32200	// that standard is selected by default.
32201	//
32202	// When Security Hub is enabled using the EnableSecurityHub API operation, the
32203	// standard is enabled by default unless EnableDefaultStandards is set to false.
32204	EnabledByDefault *bool `type:"boolean"`
32205
32206	// The name of the standard.
32207	Name *string `type:"string"`
32208
32209	// The ARN of a standard.
32210	StandardsArn *string `type:"string"`
32211}
32212
32213// String returns the string representation
32214func (s Standard) String() string {
32215	return awsutil.Prettify(s)
32216}
32217
32218// GoString returns the string representation
32219func (s Standard) GoString() string {
32220	return s.String()
32221}
32222
32223// SetDescription sets the Description field's value.
32224func (s *Standard) SetDescription(v string) *Standard {
32225	s.Description = &v
32226	return s
32227}
32228
32229// SetEnabledByDefault sets the EnabledByDefault field's value.
32230func (s *Standard) SetEnabledByDefault(v bool) *Standard {
32231	s.EnabledByDefault = &v
32232	return s
32233}
32234
32235// SetName sets the Name field's value.
32236func (s *Standard) SetName(v string) *Standard {
32237	s.Name = &v
32238	return s
32239}
32240
32241// SetStandardsArn sets the StandardsArn field's value.
32242func (s *Standard) SetStandardsArn(v string) *Standard {
32243	s.StandardsArn = &v
32244	return s
32245}
32246
32247// Details for an individual security standard control.
32248type StandardsControl struct {
32249	_ struct{} `type:"structure"`
32250
32251	// The identifier of the security standard control.
32252	ControlId *string `type:"string"`
32253
32254	// The current status of the security standard control. Indicates whether the
32255	// control is enabled or disabled. Security Hub does not check against disabled
32256	// controls.
32257	ControlStatus *string `type:"string" enum:"ControlStatus"`
32258
32259	// The date and time that the status of the security standard control was most
32260	// recently updated.
32261	ControlStatusUpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
32262
32263	// The longer description of the security standard control. Provides information
32264	// about what the control is checking for.
32265	Description *string `type:"string"`
32266
32267	// The reason provided for the most recent change in status for the control.
32268	DisabledReason *string `type:"string"`
32269
32270	// The list of requirements that are related to this control.
32271	RelatedRequirements []*string `type:"list"`
32272
32273	// A link to remediation information for the control in the Security Hub user
32274	// documentation.
32275	RemediationUrl *string `type:"string"`
32276
32277	// The severity of findings generated from this security standard control.
32278	//
32279	// The finding severity is based on an assessment of how easy it would be to
32280	// compromise Amazon Web Services resources if the issue is detected.
32281	SeverityRating *string `type:"string" enum:"SeverityRating"`
32282
32283	// The ARN of the security standard control.
32284	StandardsControlArn *string `type:"string"`
32285
32286	// The title of the security standard control.
32287	Title *string `type:"string"`
32288}
32289
32290// String returns the string representation
32291func (s StandardsControl) String() string {
32292	return awsutil.Prettify(s)
32293}
32294
32295// GoString returns the string representation
32296func (s StandardsControl) GoString() string {
32297	return s.String()
32298}
32299
32300// SetControlId sets the ControlId field's value.
32301func (s *StandardsControl) SetControlId(v string) *StandardsControl {
32302	s.ControlId = &v
32303	return s
32304}
32305
32306// SetControlStatus sets the ControlStatus field's value.
32307func (s *StandardsControl) SetControlStatus(v string) *StandardsControl {
32308	s.ControlStatus = &v
32309	return s
32310}
32311
32312// SetControlStatusUpdatedAt sets the ControlStatusUpdatedAt field's value.
32313func (s *StandardsControl) SetControlStatusUpdatedAt(v time.Time) *StandardsControl {
32314	s.ControlStatusUpdatedAt = &v
32315	return s
32316}
32317
32318// SetDescription sets the Description field's value.
32319func (s *StandardsControl) SetDescription(v string) *StandardsControl {
32320	s.Description = &v
32321	return s
32322}
32323
32324// SetDisabledReason sets the DisabledReason field's value.
32325func (s *StandardsControl) SetDisabledReason(v string) *StandardsControl {
32326	s.DisabledReason = &v
32327	return s
32328}
32329
32330// SetRelatedRequirements sets the RelatedRequirements field's value.
32331func (s *StandardsControl) SetRelatedRequirements(v []*string) *StandardsControl {
32332	s.RelatedRequirements = v
32333	return s
32334}
32335
32336// SetRemediationUrl sets the RemediationUrl field's value.
32337func (s *StandardsControl) SetRemediationUrl(v string) *StandardsControl {
32338	s.RemediationUrl = &v
32339	return s
32340}
32341
32342// SetSeverityRating sets the SeverityRating field's value.
32343func (s *StandardsControl) SetSeverityRating(v string) *StandardsControl {
32344	s.SeverityRating = &v
32345	return s
32346}
32347
32348// SetStandardsControlArn sets the StandardsControlArn field's value.
32349func (s *StandardsControl) SetStandardsControlArn(v string) *StandardsControl {
32350	s.StandardsControlArn = &v
32351	return s
32352}
32353
32354// SetTitle sets the Title field's value.
32355func (s *StandardsControl) SetTitle(v string) *StandardsControl {
32356	s.Title = &v
32357	return s
32358}
32359
32360// A resource that represents your subscription to a supported standard.
32361type StandardsSubscription struct {
32362	_ struct{} `type:"structure"`
32363
32364	// The ARN of a standard.
32365	//
32366	// StandardsArn is a required field
32367	StandardsArn *string `type:"string" required:"true"`
32368
32369	// A key-value pair of input for the standard.
32370	//
32371	// StandardsInput is a required field
32372	StandardsInput map[string]*string `type:"map" required:"true"`
32373
32374	// The status of the standard subscription.
32375	//
32376	// The status values are as follows:
32377	//
32378	//    * PENDING - Standard is in the process of being enabled.
32379	//
32380	//    * READY - Standard is enabled.
32381	//
32382	//    * INCOMPLETE - Standard could not be enabled completely. Some controls
32383	//    may not be available.
32384	//
32385	//    * DELETING - Standard is in the process of being disabled.
32386	//
32387	//    * FAILED - Standard could not be disabled.
32388	//
32389	// StandardsStatus is a required field
32390	StandardsStatus *string `type:"string" required:"true" enum:"StandardsStatus"`
32391
32392	// The ARN of a resource that represents your subscription to a supported standard.
32393	//
32394	// StandardsSubscriptionArn is a required field
32395	StandardsSubscriptionArn *string `type:"string" required:"true"`
32396}
32397
32398// String returns the string representation
32399func (s StandardsSubscription) String() string {
32400	return awsutil.Prettify(s)
32401}
32402
32403// GoString returns the string representation
32404func (s StandardsSubscription) GoString() string {
32405	return s.String()
32406}
32407
32408// SetStandardsArn sets the StandardsArn field's value.
32409func (s *StandardsSubscription) SetStandardsArn(v string) *StandardsSubscription {
32410	s.StandardsArn = &v
32411	return s
32412}
32413
32414// SetStandardsInput sets the StandardsInput field's value.
32415func (s *StandardsSubscription) SetStandardsInput(v map[string]*string) *StandardsSubscription {
32416	s.StandardsInput = v
32417	return s
32418}
32419
32420// SetStandardsStatus sets the StandardsStatus field's value.
32421func (s *StandardsSubscription) SetStandardsStatus(v string) *StandardsSubscription {
32422	s.StandardsStatus = &v
32423	return s
32424}
32425
32426// SetStandardsSubscriptionArn sets the StandardsSubscriptionArn field's value.
32427func (s *StandardsSubscription) SetStandardsSubscriptionArn(v string) *StandardsSubscription {
32428	s.StandardsSubscriptionArn = &v
32429	return s
32430}
32431
32432// The standard that you want to enable.
32433type StandardsSubscriptionRequest struct {
32434	_ struct{} `type:"structure"`
32435
32436	// The ARN of the standard that you want to enable. To view the list of available
32437	// standards and their ARNs, use the DescribeStandards operation.
32438	//
32439	// StandardsArn is a required field
32440	StandardsArn *string `type:"string" required:"true"`
32441
32442	// A key-value pair of input for the standard.
32443	StandardsInput map[string]*string `type:"map"`
32444}
32445
32446// String returns the string representation
32447func (s StandardsSubscriptionRequest) String() string {
32448	return awsutil.Prettify(s)
32449}
32450
32451// GoString returns the string representation
32452func (s StandardsSubscriptionRequest) GoString() string {
32453	return s.String()
32454}
32455
32456// Validate inspects the fields of the type to determine if they are valid.
32457func (s *StandardsSubscriptionRequest) Validate() error {
32458	invalidParams := request.ErrInvalidParams{Context: "StandardsSubscriptionRequest"}
32459	if s.StandardsArn == nil {
32460		invalidParams.Add(request.NewErrParamRequired("StandardsArn"))
32461	}
32462
32463	if invalidParams.Len() > 0 {
32464		return invalidParams
32465	}
32466	return nil
32467}
32468
32469// SetStandardsArn sets the StandardsArn field's value.
32470func (s *StandardsSubscriptionRequest) SetStandardsArn(v string) *StandardsSubscriptionRequest {
32471	s.StandardsArn = &v
32472	return s
32473}
32474
32475// SetStandardsInput sets the StandardsInput field's value.
32476func (s *StandardsSubscriptionRequest) SetStandardsInput(v map[string]*string) *StandardsSubscriptionRequest {
32477	s.StandardsInput = v
32478	return s
32479}
32480
32481// Provides additional context for the value of Compliance.Status.
32482type StatusReason struct {
32483	_ struct{} `type:"structure"`
32484
32485	// The corresponding description for the status reason code.
32486	Description *string `type:"string"`
32487
32488	// A code that represents a reason for the control status. For the list of status
32489	// reason codes and their meanings, see Standards-related information in the
32490	// ASFF (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-results.html#securityhub-standards-results-asff)
32491	// in the Security Hub User Guide.
32492	//
32493	// ReasonCode is a required field
32494	ReasonCode *string `type:"string" required:"true"`
32495}
32496
32497// String returns the string representation
32498func (s StatusReason) String() string {
32499	return awsutil.Prettify(s)
32500}
32501
32502// GoString returns the string representation
32503func (s StatusReason) GoString() string {
32504	return s.String()
32505}
32506
32507// Validate inspects the fields of the type to determine if they are valid.
32508func (s *StatusReason) Validate() error {
32509	invalidParams := request.ErrInvalidParams{Context: "StatusReason"}
32510	if s.ReasonCode == nil {
32511		invalidParams.Add(request.NewErrParamRequired("ReasonCode"))
32512	}
32513
32514	if invalidParams.Len() > 0 {
32515		return invalidParams
32516	}
32517	return nil
32518}
32519
32520// SetDescription sets the Description field's value.
32521func (s *StatusReason) SetDescription(v string) *StatusReason {
32522	s.Description = &v
32523	return s
32524}
32525
32526// SetReasonCode sets the ReasonCode field's value.
32527func (s *StatusReason) SetReasonCode(v string) *StatusReason {
32528	s.ReasonCode = &v
32529	return s
32530}
32531
32532// A string filter for querying findings.
32533type StringFilter struct {
32534	_ struct{} `type:"structure"`
32535
32536	// The condition to apply to a string value when querying for findings. To search
32537	// for values that contain the filter criteria value, use one of the following
32538	// comparison operators:
32539	//
32540	//    * To search for values that exactly match the filter value, use EQUALS.
32541	//    For example, the filter ResourceType EQUALS AwsEc2SecurityGroup only matches
32542	//    findings that have a resource type of AwsEc2SecurityGroup.
32543	//
32544	//    * To search for values that start with the filter value, use PREFIX. For
32545	//    example, the filter ResourceType PREFIX AwsIam matches findings that have
32546	//    a resource type that starts with AwsIam. Findings with a resource type
32547	//    of AwsIamPolicy, AwsIamRole, or AwsIamUser would all match.
32548	//
32549	// EQUALS and PREFIX filters on the same field are joined by OR. A finding matches
32550	// if it matches any one of those filters.
32551	//
32552	// To search for values that do not contain the filter criteria value, use one
32553	// of the following comparison operators:
32554	//
32555	//    * To search for values that do not exactly match the filter value, use
32556	//    NOT_EQUALS. For example, the filter ResourceType NOT_EQUALS AwsIamPolicy
32557	//    matches findings that have a resource type other than AwsIamPolicy.
32558	//
32559	//    * To search for values that do not start with the filter value, use PREFIX_NOT_EQUALS.
32560	//    For example, the filter ResourceType PREFIX_NOT_EQUALS AwsIam matches
32561	//    findings that have a resource type that does not start with AwsIam. Findings
32562	//    with a resource type of AwsIamPolicy, AwsIamRole, or AwsIamUser would
32563	//    all be excluded from the results.
32564	//
32565	// NOT_EQUALS and PREFIX_NOT_EQUALS filters on the same field are joined by
32566	// AND. A finding matches only if it matches all of those filters.
32567	//
32568	// For filters on the same field, you cannot provide both an EQUALS filter and
32569	// a NOT_EQUALS or PREFIX_NOT_EQUALS filter. Combining filters in this way always
32570	// returns an error, even if the provided filter values would return valid results.
32571	//
32572	// You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters
32573	// for the same field. Security Hub first processes the PREFIX filters, then
32574	// the NOT_EQUALS or PREFIX_NOT_EQUALS filters.
32575	//
32576	// For example, for the following filter, Security Hub first identifies findings
32577	// that have resource types that start with either AwsIAM or AwsEc2. It then
32578	// excludes findings that have a resource type of AwsIamPolicy and findings
32579	// that have a resource type of AwsEc2NetworkInterface.
32580	//
32581	//    * ResourceType PREFIX AwsIam
32582	//
32583	//    * ResourceType PREFIX AwsEc2
32584	//
32585	//    * ResourceType NOT_EQUALS AwsIamPolicy
32586	//
32587	//    * ResourceType NOT_EQUALS AwsEc2NetworkInterface
32588	Comparison *string `type:"string" enum:"StringFilterComparison"`
32589
32590	// The string filter value. Filter values are case sensitive. For example, the
32591	// product name for control-based findings is Security Hub. If you provide security
32592	// hub as the filter text, then there is no match.
32593	Value *string `type:"string"`
32594}
32595
32596// String returns the string representation
32597func (s StringFilter) String() string {
32598	return awsutil.Prettify(s)
32599}
32600
32601// GoString returns the string representation
32602func (s StringFilter) GoString() string {
32603	return s.String()
32604}
32605
32606// SetComparison sets the Comparison field's value.
32607func (s *StringFilter) SetComparison(v string) *StringFilter {
32608	s.Comparison = &v
32609	return s
32610}
32611
32612// SetValue sets the Value field's value.
32613func (s *StringFilter) SetValue(v string) *StringFilter {
32614	s.Value = &v
32615	return s
32616}
32617
32618type TagResourceInput struct {
32619	_ struct{} `type:"structure"`
32620
32621	// The ARN of the resource to apply the tags to.
32622	//
32623	// ResourceArn is a required field
32624	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
32625
32626	// The tags to add to the resource. You can add up to 50 tags at a time. The
32627	// tag keys can be no longer than 128 characters. The tag values can be no longer
32628	// than 256 characters.
32629	//
32630	// Tags is a required field
32631	Tags map[string]*string `min:"1" type:"map" required:"true"`
32632}
32633
32634// String returns the string representation
32635func (s TagResourceInput) String() string {
32636	return awsutil.Prettify(s)
32637}
32638
32639// GoString returns the string representation
32640func (s TagResourceInput) GoString() string {
32641	return s.String()
32642}
32643
32644// Validate inspects the fields of the type to determine if they are valid.
32645func (s *TagResourceInput) Validate() error {
32646	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
32647	if s.ResourceArn == nil {
32648		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
32649	}
32650	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
32651		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
32652	}
32653	if s.Tags == nil {
32654		invalidParams.Add(request.NewErrParamRequired("Tags"))
32655	}
32656	if s.Tags != nil && len(s.Tags) < 1 {
32657		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
32658	}
32659
32660	if invalidParams.Len() > 0 {
32661		return invalidParams
32662	}
32663	return nil
32664}
32665
32666// SetResourceArn sets the ResourceArn field's value.
32667func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
32668	s.ResourceArn = &v
32669	return s
32670}
32671
32672// SetTags sets the Tags field's value.
32673func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
32674	s.Tags = v
32675	return s
32676}
32677
32678type TagResourceOutput struct {
32679	_ struct{} `type:"structure"`
32680}
32681
32682// String returns the string representation
32683func (s TagResourceOutput) String() string {
32684	return awsutil.Prettify(s)
32685}
32686
32687// GoString returns the string representation
32688func (s TagResourceOutput) GoString() string {
32689	return s.String()
32690}
32691
32692// Details about the threat intelligence related to a finding.
32693type ThreatIntelIndicator struct {
32694	_ struct{} `type:"structure"`
32695
32696	// The category of a threat intelligence indicator.
32697	Category *string `type:"string" enum:"ThreatIntelIndicatorCategory"`
32698
32699	// Indicates when the most recent instance of a threat intelligence indicator
32700	// was observed.
32701	//
32702	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
32703	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
32704	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
32705	LastObservedAt *string `type:"string"`
32706
32707	// The source of the threat intelligence indicator.
32708	Source *string `type:"string"`
32709
32710	// The URL to the page or site where you can get more information about the
32711	// threat intelligence indicator.
32712	SourceUrl *string `type:"string"`
32713
32714	// The type of threat intelligence indicator.
32715	Type *string `type:"string" enum:"ThreatIntelIndicatorType"`
32716
32717	// The value of a threat intelligence indicator.
32718	Value *string `type:"string"`
32719}
32720
32721// String returns the string representation
32722func (s ThreatIntelIndicator) String() string {
32723	return awsutil.Prettify(s)
32724}
32725
32726// GoString returns the string representation
32727func (s ThreatIntelIndicator) GoString() string {
32728	return s.String()
32729}
32730
32731// SetCategory sets the Category field's value.
32732func (s *ThreatIntelIndicator) SetCategory(v string) *ThreatIntelIndicator {
32733	s.Category = &v
32734	return s
32735}
32736
32737// SetLastObservedAt sets the LastObservedAt field's value.
32738func (s *ThreatIntelIndicator) SetLastObservedAt(v string) *ThreatIntelIndicator {
32739	s.LastObservedAt = &v
32740	return s
32741}
32742
32743// SetSource sets the Source field's value.
32744func (s *ThreatIntelIndicator) SetSource(v string) *ThreatIntelIndicator {
32745	s.Source = &v
32746	return s
32747}
32748
32749// SetSourceUrl sets the SourceUrl field's value.
32750func (s *ThreatIntelIndicator) SetSourceUrl(v string) *ThreatIntelIndicator {
32751	s.SourceUrl = &v
32752	return s
32753}
32754
32755// SetType sets the Type field's value.
32756func (s *ThreatIntelIndicator) SetType(v string) *ThreatIntelIndicator {
32757	s.Type = &v
32758	return s
32759}
32760
32761// SetValue sets the Value field's value.
32762func (s *ThreatIntelIndicator) SetValue(v string) *ThreatIntelIndicator {
32763	s.Value = &v
32764	return s
32765}
32766
32767type UntagResourceInput struct {
32768	_ struct{} `type:"structure"`
32769
32770	// The ARN of the resource to remove the tags from.
32771	//
32772	// ResourceArn is a required field
32773	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
32774
32775	// The tag keys associated with the tags to remove from the resource. You can
32776	// remove up to 50 tags at a time.
32777	//
32778	// TagKeys is a required field
32779	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
32780}
32781
32782// String returns the string representation
32783func (s UntagResourceInput) String() string {
32784	return awsutil.Prettify(s)
32785}
32786
32787// GoString returns the string representation
32788func (s UntagResourceInput) GoString() string {
32789	return s.String()
32790}
32791
32792// Validate inspects the fields of the type to determine if they are valid.
32793func (s *UntagResourceInput) Validate() error {
32794	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
32795	if s.ResourceArn == nil {
32796		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
32797	}
32798	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
32799		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
32800	}
32801	if s.TagKeys == nil {
32802		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
32803	}
32804	if s.TagKeys != nil && len(s.TagKeys) < 1 {
32805		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
32806	}
32807
32808	if invalidParams.Len() > 0 {
32809		return invalidParams
32810	}
32811	return nil
32812}
32813
32814// SetResourceArn sets the ResourceArn field's value.
32815func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
32816	s.ResourceArn = &v
32817	return s
32818}
32819
32820// SetTagKeys sets the TagKeys field's value.
32821func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
32822	s.TagKeys = v
32823	return s
32824}
32825
32826type UntagResourceOutput struct {
32827	_ struct{} `type:"structure"`
32828}
32829
32830// String returns the string representation
32831func (s UntagResourceOutput) String() string {
32832	return awsutil.Prettify(s)
32833}
32834
32835// GoString returns the string representation
32836func (s UntagResourceOutput) GoString() string {
32837	return s.String()
32838}
32839
32840type UpdateActionTargetInput struct {
32841	_ struct{} `type:"structure"`
32842
32843	// The ARN of the custom action target to update.
32844	//
32845	// ActionTargetArn is a required field
32846	ActionTargetArn *string `location:"uri" locationName:"ActionTargetArn" type:"string" required:"true"`
32847
32848	// The updated description for the custom action target.
32849	Description *string `type:"string"`
32850
32851	// The updated name of the custom action target.
32852	Name *string `type:"string"`
32853}
32854
32855// String returns the string representation
32856func (s UpdateActionTargetInput) String() string {
32857	return awsutil.Prettify(s)
32858}
32859
32860// GoString returns the string representation
32861func (s UpdateActionTargetInput) GoString() string {
32862	return s.String()
32863}
32864
32865// Validate inspects the fields of the type to determine if they are valid.
32866func (s *UpdateActionTargetInput) Validate() error {
32867	invalidParams := request.ErrInvalidParams{Context: "UpdateActionTargetInput"}
32868	if s.ActionTargetArn == nil {
32869		invalidParams.Add(request.NewErrParamRequired("ActionTargetArn"))
32870	}
32871	if s.ActionTargetArn != nil && len(*s.ActionTargetArn) < 1 {
32872		invalidParams.Add(request.NewErrParamMinLen("ActionTargetArn", 1))
32873	}
32874
32875	if invalidParams.Len() > 0 {
32876		return invalidParams
32877	}
32878	return nil
32879}
32880
32881// SetActionTargetArn sets the ActionTargetArn field's value.
32882func (s *UpdateActionTargetInput) SetActionTargetArn(v string) *UpdateActionTargetInput {
32883	s.ActionTargetArn = &v
32884	return s
32885}
32886
32887// SetDescription sets the Description field's value.
32888func (s *UpdateActionTargetInput) SetDescription(v string) *UpdateActionTargetInput {
32889	s.Description = &v
32890	return s
32891}
32892
32893// SetName sets the Name field's value.
32894func (s *UpdateActionTargetInput) SetName(v string) *UpdateActionTargetInput {
32895	s.Name = &v
32896	return s
32897}
32898
32899type UpdateActionTargetOutput struct {
32900	_ struct{} `type:"structure"`
32901}
32902
32903// String returns the string representation
32904func (s UpdateActionTargetOutput) String() string {
32905	return awsutil.Prettify(s)
32906}
32907
32908// GoString returns the string representation
32909func (s UpdateActionTargetOutput) GoString() string {
32910	return s.String()
32911}
32912
32913type UpdateFindingsInput struct {
32914	_ struct{} `type:"structure"`
32915
32916	// A collection of attributes that specify which findings you want to update.
32917	//
32918	// Filters is a required field
32919	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
32920
32921	// The updated note for the finding.
32922	Note *NoteUpdate `type:"structure"`
32923
32924	// The updated record state for the finding.
32925	RecordState *string `type:"string" enum:"RecordState"`
32926}
32927
32928// String returns the string representation
32929func (s UpdateFindingsInput) String() string {
32930	return awsutil.Prettify(s)
32931}
32932
32933// GoString returns the string representation
32934func (s UpdateFindingsInput) GoString() string {
32935	return s.String()
32936}
32937
32938// Validate inspects the fields of the type to determine if they are valid.
32939func (s *UpdateFindingsInput) Validate() error {
32940	invalidParams := request.ErrInvalidParams{Context: "UpdateFindingsInput"}
32941	if s.Filters == nil {
32942		invalidParams.Add(request.NewErrParamRequired("Filters"))
32943	}
32944	if s.Note != nil {
32945		if err := s.Note.Validate(); err != nil {
32946			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
32947		}
32948	}
32949
32950	if invalidParams.Len() > 0 {
32951		return invalidParams
32952	}
32953	return nil
32954}
32955
32956// SetFilters sets the Filters field's value.
32957func (s *UpdateFindingsInput) SetFilters(v *AwsSecurityFindingFilters) *UpdateFindingsInput {
32958	s.Filters = v
32959	return s
32960}
32961
32962// SetNote sets the Note field's value.
32963func (s *UpdateFindingsInput) SetNote(v *NoteUpdate) *UpdateFindingsInput {
32964	s.Note = v
32965	return s
32966}
32967
32968// SetRecordState sets the RecordState field's value.
32969func (s *UpdateFindingsInput) SetRecordState(v string) *UpdateFindingsInput {
32970	s.RecordState = &v
32971	return s
32972}
32973
32974type UpdateFindingsOutput struct {
32975	_ struct{} `type:"structure"`
32976}
32977
32978// String returns the string representation
32979func (s UpdateFindingsOutput) String() string {
32980	return awsutil.Prettify(s)
32981}
32982
32983// GoString returns the string representation
32984func (s UpdateFindingsOutput) GoString() string {
32985	return s.String()
32986}
32987
32988type UpdateInsightInput struct {
32989	_ struct{} `type:"structure"`
32990
32991	// The updated filters that define this insight.
32992	Filters *AwsSecurityFindingFilters `type:"structure"`
32993
32994	// The updated GroupBy attribute that defines this insight.
32995	GroupByAttribute *string `type:"string"`
32996
32997	// The ARN of the insight that you want to update.
32998	//
32999	// InsightArn is a required field
33000	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
33001
33002	// The updated name for the insight.
33003	Name *string `type:"string"`
33004}
33005
33006// String returns the string representation
33007func (s UpdateInsightInput) String() string {
33008	return awsutil.Prettify(s)
33009}
33010
33011// GoString returns the string representation
33012func (s UpdateInsightInput) GoString() string {
33013	return s.String()
33014}
33015
33016// Validate inspects the fields of the type to determine if they are valid.
33017func (s *UpdateInsightInput) Validate() error {
33018	invalidParams := request.ErrInvalidParams{Context: "UpdateInsightInput"}
33019	if s.InsightArn == nil {
33020		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
33021	}
33022	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
33023		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
33024	}
33025
33026	if invalidParams.Len() > 0 {
33027		return invalidParams
33028	}
33029	return nil
33030}
33031
33032// SetFilters sets the Filters field's value.
33033func (s *UpdateInsightInput) SetFilters(v *AwsSecurityFindingFilters) *UpdateInsightInput {
33034	s.Filters = v
33035	return s
33036}
33037
33038// SetGroupByAttribute sets the GroupByAttribute field's value.
33039func (s *UpdateInsightInput) SetGroupByAttribute(v string) *UpdateInsightInput {
33040	s.GroupByAttribute = &v
33041	return s
33042}
33043
33044// SetInsightArn sets the InsightArn field's value.
33045func (s *UpdateInsightInput) SetInsightArn(v string) *UpdateInsightInput {
33046	s.InsightArn = &v
33047	return s
33048}
33049
33050// SetName sets the Name field's value.
33051func (s *UpdateInsightInput) SetName(v string) *UpdateInsightInput {
33052	s.Name = &v
33053	return s
33054}
33055
33056type UpdateInsightOutput struct {
33057	_ struct{} `type:"structure"`
33058}
33059
33060// String returns the string representation
33061func (s UpdateInsightOutput) String() string {
33062	return awsutil.Prettify(s)
33063}
33064
33065// GoString returns the string representation
33066func (s UpdateInsightOutput) GoString() string {
33067	return s.String()
33068}
33069
33070type UpdateOrganizationConfigurationInput struct {
33071	_ struct{} `type:"structure"`
33072
33073	// Whether to automatically enable Security Hub for new accounts in the organization.
33074	//
33075	// By default, this is false, and new accounts are not added automatically.
33076	//
33077	// To automatically enable Security Hub for new accounts, set this to true.
33078	//
33079	// AutoEnable is a required field
33080	AutoEnable *bool `type:"boolean" required:"true"`
33081}
33082
33083// String returns the string representation
33084func (s UpdateOrganizationConfigurationInput) String() string {
33085	return awsutil.Prettify(s)
33086}
33087
33088// GoString returns the string representation
33089func (s UpdateOrganizationConfigurationInput) GoString() string {
33090	return s.String()
33091}
33092
33093// Validate inspects the fields of the type to determine if they are valid.
33094func (s *UpdateOrganizationConfigurationInput) Validate() error {
33095	invalidParams := request.ErrInvalidParams{Context: "UpdateOrganizationConfigurationInput"}
33096	if s.AutoEnable == nil {
33097		invalidParams.Add(request.NewErrParamRequired("AutoEnable"))
33098	}
33099
33100	if invalidParams.Len() > 0 {
33101		return invalidParams
33102	}
33103	return nil
33104}
33105
33106// SetAutoEnable sets the AutoEnable field's value.
33107func (s *UpdateOrganizationConfigurationInput) SetAutoEnable(v bool) *UpdateOrganizationConfigurationInput {
33108	s.AutoEnable = &v
33109	return s
33110}
33111
33112type UpdateOrganizationConfigurationOutput struct {
33113	_ struct{} `type:"structure"`
33114}
33115
33116// String returns the string representation
33117func (s UpdateOrganizationConfigurationOutput) String() string {
33118	return awsutil.Prettify(s)
33119}
33120
33121// GoString returns the string representation
33122func (s UpdateOrganizationConfigurationOutput) GoString() string {
33123	return s.String()
33124}
33125
33126type UpdateSecurityHubConfigurationInput struct {
33127	_ struct{} `type:"structure"`
33128
33129	// Whether to automatically enable new controls when they are added to standards
33130	// that are enabled.
33131	//
33132	// By default, this is set to true, and new controls are enabled automatically.
33133	// To not automatically enable new controls, set this to false.
33134	AutoEnableControls *bool `type:"boolean"`
33135}
33136
33137// String returns the string representation
33138func (s UpdateSecurityHubConfigurationInput) String() string {
33139	return awsutil.Prettify(s)
33140}
33141
33142// GoString returns the string representation
33143func (s UpdateSecurityHubConfigurationInput) GoString() string {
33144	return s.String()
33145}
33146
33147// SetAutoEnableControls sets the AutoEnableControls field's value.
33148func (s *UpdateSecurityHubConfigurationInput) SetAutoEnableControls(v bool) *UpdateSecurityHubConfigurationInput {
33149	s.AutoEnableControls = &v
33150	return s
33151}
33152
33153type UpdateSecurityHubConfigurationOutput struct {
33154	_ struct{} `type:"structure"`
33155}
33156
33157// String returns the string representation
33158func (s UpdateSecurityHubConfigurationOutput) String() string {
33159	return awsutil.Prettify(s)
33160}
33161
33162// GoString returns the string representation
33163func (s UpdateSecurityHubConfigurationOutput) GoString() string {
33164	return s.String()
33165}
33166
33167type UpdateStandardsControlInput struct {
33168	_ struct{} `type:"structure"`
33169
33170	// The updated status of the security standard control.
33171	ControlStatus *string `type:"string" enum:"ControlStatus"`
33172
33173	// A description of the reason why you are disabling a security standard control.
33174	// If you are disabling a control, then this is required.
33175	DisabledReason *string `type:"string"`
33176
33177	// The ARN of the security standard control to enable or disable.
33178	//
33179	// StandardsControlArn is a required field
33180	StandardsControlArn *string `location:"uri" locationName:"StandardsControlArn" type:"string" required:"true"`
33181}
33182
33183// String returns the string representation
33184func (s UpdateStandardsControlInput) String() string {
33185	return awsutil.Prettify(s)
33186}
33187
33188// GoString returns the string representation
33189func (s UpdateStandardsControlInput) GoString() string {
33190	return s.String()
33191}
33192
33193// Validate inspects the fields of the type to determine if they are valid.
33194func (s *UpdateStandardsControlInput) Validate() error {
33195	invalidParams := request.ErrInvalidParams{Context: "UpdateStandardsControlInput"}
33196	if s.StandardsControlArn == nil {
33197		invalidParams.Add(request.NewErrParamRequired("StandardsControlArn"))
33198	}
33199	if s.StandardsControlArn != nil && len(*s.StandardsControlArn) < 1 {
33200		invalidParams.Add(request.NewErrParamMinLen("StandardsControlArn", 1))
33201	}
33202
33203	if invalidParams.Len() > 0 {
33204		return invalidParams
33205	}
33206	return nil
33207}
33208
33209// SetControlStatus sets the ControlStatus field's value.
33210func (s *UpdateStandardsControlInput) SetControlStatus(v string) *UpdateStandardsControlInput {
33211	s.ControlStatus = &v
33212	return s
33213}
33214
33215// SetDisabledReason sets the DisabledReason field's value.
33216func (s *UpdateStandardsControlInput) SetDisabledReason(v string) *UpdateStandardsControlInput {
33217	s.DisabledReason = &v
33218	return s
33219}
33220
33221// SetStandardsControlArn sets the StandardsControlArn field's value.
33222func (s *UpdateStandardsControlInput) SetStandardsControlArn(v string) *UpdateStandardsControlInput {
33223	s.StandardsControlArn = &v
33224	return s
33225}
33226
33227type UpdateStandardsControlOutput struct {
33228	_ struct{} `type:"structure"`
33229}
33230
33231// String returns the string representation
33232func (s UpdateStandardsControlOutput) String() string {
33233	return awsutil.Prettify(s)
33234}
33235
33236// GoString returns the string representation
33237func (s UpdateStandardsControlOutput) GoString() string {
33238	return s.String()
33239}
33240
33241// A vulnerability associated with a finding.
33242type Vulnerability struct {
33243	_ struct{} `type:"structure"`
33244
33245	// CVSS scores from the advisory related to the vulnerability.
33246	Cvss []*Cvss `type:"list"`
33247
33248	// The identifier of the vulnerability.
33249	//
33250	// Id is a required field
33251	Id *string `type:"string" required:"true"`
33252
33253	// A list of URLs that provide additional information about the vulnerability.
33254	ReferenceUrls []*string `type:"list"`
33255
33256	// List of vulnerabilities that are related to this vulnerability.
33257	RelatedVulnerabilities []*string `type:"list"`
33258
33259	// Information about the vendor that generates the vulnerability report.
33260	Vendor *VulnerabilityVendor `type:"structure"`
33261
33262	// List of software packages that have the vulnerability.
33263	VulnerablePackages []*SoftwarePackage `type:"list"`
33264}
33265
33266// String returns the string representation
33267func (s Vulnerability) String() string {
33268	return awsutil.Prettify(s)
33269}
33270
33271// GoString returns the string representation
33272func (s Vulnerability) GoString() string {
33273	return s.String()
33274}
33275
33276// Validate inspects the fields of the type to determine if they are valid.
33277func (s *Vulnerability) Validate() error {
33278	invalidParams := request.ErrInvalidParams{Context: "Vulnerability"}
33279	if s.Id == nil {
33280		invalidParams.Add(request.NewErrParamRequired("Id"))
33281	}
33282	if s.Vendor != nil {
33283		if err := s.Vendor.Validate(); err != nil {
33284			invalidParams.AddNested("Vendor", err.(request.ErrInvalidParams))
33285		}
33286	}
33287
33288	if invalidParams.Len() > 0 {
33289		return invalidParams
33290	}
33291	return nil
33292}
33293
33294// SetCvss sets the Cvss field's value.
33295func (s *Vulnerability) SetCvss(v []*Cvss) *Vulnerability {
33296	s.Cvss = v
33297	return s
33298}
33299
33300// SetId sets the Id field's value.
33301func (s *Vulnerability) SetId(v string) *Vulnerability {
33302	s.Id = &v
33303	return s
33304}
33305
33306// SetReferenceUrls sets the ReferenceUrls field's value.
33307func (s *Vulnerability) SetReferenceUrls(v []*string) *Vulnerability {
33308	s.ReferenceUrls = v
33309	return s
33310}
33311
33312// SetRelatedVulnerabilities sets the RelatedVulnerabilities field's value.
33313func (s *Vulnerability) SetRelatedVulnerabilities(v []*string) *Vulnerability {
33314	s.RelatedVulnerabilities = v
33315	return s
33316}
33317
33318// SetVendor sets the Vendor field's value.
33319func (s *Vulnerability) SetVendor(v *VulnerabilityVendor) *Vulnerability {
33320	s.Vendor = v
33321	return s
33322}
33323
33324// SetVulnerablePackages sets the VulnerablePackages field's value.
33325func (s *Vulnerability) SetVulnerablePackages(v []*SoftwarePackage) *Vulnerability {
33326	s.VulnerablePackages = v
33327	return s
33328}
33329
33330// A vendor that generates a vulnerability report.
33331type VulnerabilityVendor struct {
33332	_ struct{} `type:"structure"`
33333
33334	// The name of the vendor.
33335	//
33336	// Name is a required field
33337	Name *string `type:"string" required:"true"`
33338
33339	// The URL of the vulnerability advisory.
33340	Url *string `type:"string"`
33341
33342	// Indicates when the vulnerability advisory was created.
33343	//
33344	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
33345	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
33346	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
33347	VendorCreatedAt *string `type:"string"`
33348
33349	// The severity that the vendor assigned to the vulnerability.
33350	VendorSeverity *string `type:"string"`
33351
33352	// Indicates when the vulnerability advisory was last updated.
33353	//
33354	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
33355	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
33356	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
33357	VendorUpdatedAt *string `type:"string"`
33358}
33359
33360// String returns the string representation
33361func (s VulnerabilityVendor) String() string {
33362	return awsutil.Prettify(s)
33363}
33364
33365// GoString returns the string representation
33366func (s VulnerabilityVendor) GoString() string {
33367	return s.String()
33368}
33369
33370// Validate inspects the fields of the type to determine if they are valid.
33371func (s *VulnerabilityVendor) Validate() error {
33372	invalidParams := request.ErrInvalidParams{Context: "VulnerabilityVendor"}
33373	if s.Name == nil {
33374		invalidParams.Add(request.NewErrParamRequired("Name"))
33375	}
33376
33377	if invalidParams.Len() > 0 {
33378		return invalidParams
33379	}
33380	return nil
33381}
33382
33383// SetName sets the Name field's value.
33384func (s *VulnerabilityVendor) SetName(v string) *VulnerabilityVendor {
33385	s.Name = &v
33386	return s
33387}
33388
33389// SetUrl sets the Url field's value.
33390func (s *VulnerabilityVendor) SetUrl(v string) *VulnerabilityVendor {
33391	s.Url = &v
33392	return s
33393}
33394
33395// SetVendorCreatedAt sets the VendorCreatedAt field's value.
33396func (s *VulnerabilityVendor) SetVendorCreatedAt(v string) *VulnerabilityVendor {
33397	s.VendorCreatedAt = &v
33398	return s
33399}
33400
33401// SetVendorSeverity sets the VendorSeverity field's value.
33402func (s *VulnerabilityVendor) SetVendorSeverity(v string) *VulnerabilityVendor {
33403	s.VendorSeverity = &v
33404	return s
33405}
33406
33407// SetVendorUpdatedAt sets the VendorUpdatedAt field's value.
33408func (s *VulnerabilityVendor) SetVendorUpdatedAt(v string) *VulnerabilityVendor {
33409	s.VendorUpdatedAt = &v
33410	return s
33411}
33412
33413// Details about the action that CloudFront or WAF takes when a web request
33414// matches the conditions in the rule.
33415type WafAction struct {
33416	_ struct{} `type:"structure"`
33417
33418	// Specifies how you want WAF to respond to requests that match the settings
33419	// in a rule.
33420	//
33421	// Valid settings include the following:
33422	//
33423	//    * ALLOW - WAF allows requests
33424	//
33425	//    * BLOCK - WAF blocks requests
33426	//
33427	//    * COUNT - WAF increments a counter of the requests that match all of the
33428	//    conditions in the rule. WAF then continues to inspect the web request
33429	//    based on the remaining rules in the web ACL. You can't specify COUNT for
33430	//    the default action for a WebACL.
33431	Type *string `type:"string"`
33432}
33433
33434// String returns the string representation
33435func (s WafAction) String() string {
33436	return awsutil.Prettify(s)
33437}
33438
33439// GoString returns the string representation
33440func (s WafAction) GoString() string {
33441	return s.String()
33442}
33443
33444// SetType sets the Type field's value.
33445func (s *WafAction) SetType(v string) *WafAction {
33446	s.Type = &v
33447	return s
33448}
33449
33450// Details about a rule to exclude from a rule group.
33451type WafExcludedRule struct {
33452	_ struct{} `type:"structure"`
33453
33454	// The unique identifier for the rule to exclude from the rule group.
33455	RuleId *string `type:"string"`
33456}
33457
33458// String returns the string representation
33459func (s WafExcludedRule) String() string {
33460	return awsutil.Prettify(s)
33461}
33462
33463// GoString returns the string representation
33464func (s WafExcludedRule) GoString() string {
33465	return s.String()
33466}
33467
33468// SetRuleId sets the RuleId field's value.
33469func (s *WafExcludedRule) SetRuleId(v string) *WafExcludedRule {
33470	s.RuleId = &v
33471	return s
33472}
33473
33474// Details about an override action for a rule.
33475type WafOverrideAction struct {
33476	_ struct{} `type:"structure"`
33477
33478	// COUNT overrides the action specified by the individual rule within a RuleGroup .
33479	//
33480	// If set to NONE, the rule's action takes place.
33481	Type *string `type:"string"`
33482}
33483
33484// String returns the string representation
33485func (s WafOverrideAction) String() string {
33486	return awsutil.Prettify(s)
33487}
33488
33489// GoString returns the string representation
33490func (s WafOverrideAction) GoString() string {
33491	return s.String()
33492}
33493
33494// SetType sets the Type field's value.
33495func (s *WafOverrideAction) SetType(v string) *WafOverrideAction {
33496	s.Type = &v
33497	return s
33498}
33499
33500// Provides information about the status of the investigation into a finding.
33501type Workflow struct {
33502	_ struct{} `type:"structure"`
33503
33504	// The status of the investigation into the finding. The workflow status is
33505	// specific to an individual finding. It does not affect the generation of new
33506	// findings. For example, setting the workflow status to SUPPRESSED or RESOLVED
33507	// does not prevent a new finding for the same issue.
33508	//
33509	// The allowed values are the following.
33510	//
33511	//    * NEW - The initial state of a finding, before it is reviewed. Security
33512	//    Hub also resets the workflow status from NOTIFIED or RESOLVED to NEW in
33513	//    the following cases: RecordState changes from ARCHIVED to ACTIVE. ComplianceStatus
33514	//    changes from PASSED to either WARNING, FAILED, or NOT_AVAILABLE.
33515	//
33516	//    * NOTIFIED - Indicates that you notified the resource owner about the
33517	//    security issue. Used when the initial reviewer is not the resource owner,
33518	//    and needs intervention from the resource owner.
33519	//
33520	//    * SUPPRESSED - Indicates that you reviewed the finding and do not believe
33521	//    that any action is needed. The finding is no longer updated.
33522	//
33523	//    * RESOLVED - The finding was reviewed and remediated and is now considered
33524	//    resolved.
33525	Status *string `type:"string" enum:"WorkflowStatus"`
33526}
33527
33528// String returns the string representation
33529func (s Workflow) String() string {
33530	return awsutil.Prettify(s)
33531}
33532
33533// GoString returns the string representation
33534func (s Workflow) GoString() string {
33535	return s.String()
33536}
33537
33538// SetStatus sets the Status field's value.
33539func (s *Workflow) SetStatus(v string) *Workflow {
33540	s.Status = &v
33541	return s
33542}
33543
33544// Used to update information about the investigation into the finding.
33545type WorkflowUpdate struct {
33546	_ struct{} `type:"structure"`
33547
33548	// The status of the investigation into the finding. The workflow status is
33549	// specific to an individual finding. It does not affect the generation of new
33550	// findings. For example, setting the workflow status to SUPPRESSED or RESOLVED
33551	// does not prevent a new finding for the same issue.
33552	//
33553	// The allowed values are the following.
33554	//
33555	//    * NEW - The initial state of a finding, before it is reviewed. Security
33556	//    Hub also resets WorkFlowStatus from NOTIFIED or RESOLVED to NEW in the
33557	//    following cases: The record state changes from ARCHIVED to ACTIVE. The
33558	//    compliance status changes from PASSED to either WARNING, FAILED, or NOT_AVAILABLE.
33559	//
33560	//    * NOTIFIED - Indicates that you notified the resource owner about the
33561	//    security issue. Used when the initial reviewer is not the resource owner,
33562	//    and needs intervention from the resource owner.
33563	//
33564	//    * RESOLVED - The finding was reviewed and remediated and is now considered
33565	//    resolved.
33566	//
33567	//    * SUPPRESSED - Indicates that you reviewed the finding and do not believe
33568	//    that any action is needed. The finding is no longer updated.
33569	Status *string `type:"string" enum:"WorkflowStatus"`
33570}
33571
33572// String returns the string representation
33573func (s WorkflowUpdate) String() string {
33574	return awsutil.Prettify(s)
33575}
33576
33577// GoString returns the string representation
33578func (s WorkflowUpdate) GoString() string {
33579	return s.String()
33580}
33581
33582// SetStatus sets the Status field's value.
33583func (s *WorkflowUpdate) SetStatus(v string) *WorkflowUpdate {
33584	s.Status = &v
33585	return s
33586}
33587
33588const (
33589	// AdminStatusEnabled is a AdminStatus enum value
33590	AdminStatusEnabled = "ENABLED"
33591
33592	// AdminStatusDisableInProgress is a AdminStatus enum value
33593	AdminStatusDisableInProgress = "DISABLE_IN_PROGRESS"
33594)
33595
33596// AdminStatus_Values returns all elements of the AdminStatus enum
33597func AdminStatus_Values() []string {
33598	return []string{
33599		AdminStatusEnabled,
33600		AdminStatusDisableInProgress,
33601	}
33602}
33603
33604const (
33605	// AwsIamAccessKeyStatusActive is a AwsIamAccessKeyStatus enum value
33606	AwsIamAccessKeyStatusActive = "Active"
33607
33608	// AwsIamAccessKeyStatusInactive is a AwsIamAccessKeyStatus enum value
33609	AwsIamAccessKeyStatusInactive = "Inactive"
33610)
33611
33612// AwsIamAccessKeyStatus_Values returns all elements of the AwsIamAccessKeyStatus enum
33613func AwsIamAccessKeyStatus_Values() []string {
33614	return []string{
33615		AwsIamAccessKeyStatusActive,
33616		AwsIamAccessKeyStatusInactive,
33617	}
33618}
33619
33620const (
33621	// AwsS3BucketNotificationConfigurationS3KeyFilterRuleNamePrefix is a AwsS3BucketNotificationConfigurationS3KeyFilterRuleName enum value
33622	AwsS3BucketNotificationConfigurationS3KeyFilterRuleNamePrefix = "Prefix"
33623
33624	// AwsS3BucketNotificationConfigurationS3KeyFilterRuleNameSuffix is a AwsS3BucketNotificationConfigurationS3KeyFilterRuleName enum value
33625	AwsS3BucketNotificationConfigurationS3KeyFilterRuleNameSuffix = "Suffix"
33626)
33627
33628// AwsS3BucketNotificationConfigurationS3KeyFilterRuleName_Values returns all elements of the AwsS3BucketNotificationConfigurationS3KeyFilterRuleName enum
33629func AwsS3BucketNotificationConfigurationS3KeyFilterRuleName_Values() []string {
33630	return []string{
33631		AwsS3BucketNotificationConfigurationS3KeyFilterRuleNamePrefix,
33632		AwsS3BucketNotificationConfigurationS3KeyFilterRuleNameSuffix,
33633	}
33634}
33635
33636const (
33637	// ComplianceStatusPassed is a ComplianceStatus enum value
33638	ComplianceStatusPassed = "PASSED"
33639
33640	// ComplianceStatusWarning is a ComplianceStatus enum value
33641	ComplianceStatusWarning = "WARNING"
33642
33643	// ComplianceStatusFailed is a ComplianceStatus enum value
33644	ComplianceStatusFailed = "FAILED"
33645
33646	// ComplianceStatusNotAvailable is a ComplianceStatus enum value
33647	ComplianceStatusNotAvailable = "NOT_AVAILABLE"
33648)
33649
33650// ComplianceStatus_Values returns all elements of the ComplianceStatus enum
33651func ComplianceStatus_Values() []string {
33652	return []string{
33653		ComplianceStatusPassed,
33654		ComplianceStatusWarning,
33655		ComplianceStatusFailed,
33656		ComplianceStatusNotAvailable,
33657	}
33658}
33659
33660const (
33661	// ControlStatusEnabled is a ControlStatus enum value
33662	ControlStatusEnabled = "ENABLED"
33663
33664	// ControlStatusDisabled is a ControlStatus enum value
33665	ControlStatusDisabled = "DISABLED"
33666)
33667
33668// ControlStatus_Values returns all elements of the ControlStatus enum
33669func ControlStatus_Values() []string {
33670	return []string{
33671		ControlStatusEnabled,
33672		ControlStatusDisabled,
33673	}
33674}
33675
33676const (
33677	// DateRangeUnitDays is a DateRangeUnit enum value
33678	DateRangeUnitDays = "DAYS"
33679)
33680
33681// DateRangeUnit_Values returns all elements of the DateRangeUnit enum
33682func DateRangeUnit_Values() []string {
33683	return []string{
33684		DateRangeUnitDays,
33685	}
33686}
33687
33688const (
33689	// IntegrationTypeSendFindingsToSecurityHub is a IntegrationType enum value
33690	IntegrationTypeSendFindingsToSecurityHub = "SEND_FINDINGS_TO_SECURITY_HUB"
33691
33692	// IntegrationTypeReceiveFindingsFromSecurityHub is a IntegrationType enum value
33693	IntegrationTypeReceiveFindingsFromSecurityHub = "RECEIVE_FINDINGS_FROM_SECURITY_HUB"
33694
33695	// IntegrationTypeUpdateFindingsInSecurityHub is a IntegrationType enum value
33696	IntegrationTypeUpdateFindingsInSecurityHub = "UPDATE_FINDINGS_IN_SECURITY_HUB"
33697)
33698
33699// IntegrationType_Values returns all elements of the IntegrationType enum
33700func IntegrationType_Values() []string {
33701	return []string{
33702		IntegrationTypeSendFindingsToSecurityHub,
33703		IntegrationTypeReceiveFindingsFromSecurityHub,
33704		IntegrationTypeUpdateFindingsInSecurityHub,
33705	}
33706}
33707
33708const (
33709	// MalwareStateObserved is a MalwareState enum value
33710	MalwareStateObserved = "OBSERVED"
33711
33712	// MalwareStateRemovalFailed is a MalwareState enum value
33713	MalwareStateRemovalFailed = "REMOVAL_FAILED"
33714
33715	// MalwareStateRemoved is a MalwareState enum value
33716	MalwareStateRemoved = "REMOVED"
33717)
33718
33719// MalwareState_Values returns all elements of the MalwareState enum
33720func MalwareState_Values() []string {
33721	return []string{
33722		MalwareStateObserved,
33723		MalwareStateRemovalFailed,
33724		MalwareStateRemoved,
33725	}
33726}
33727
33728const (
33729	// MalwareTypeAdware is a MalwareType enum value
33730	MalwareTypeAdware = "ADWARE"
33731
33732	// MalwareTypeBlendedThreat is a MalwareType enum value
33733	MalwareTypeBlendedThreat = "BLENDED_THREAT"
33734
33735	// MalwareTypeBotnetAgent is a MalwareType enum value
33736	MalwareTypeBotnetAgent = "BOTNET_AGENT"
33737
33738	// MalwareTypeCoinMiner is a MalwareType enum value
33739	MalwareTypeCoinMiner = "COIN_MINER"
33740
33741	// MalwareTypeExploitKit is a MalwareType enum value
33742	MalwareTypeExploitKit = "EXPLOIT_KIT"
33743
33744	// MalwareTypeKeylogger is a MalwareType enum value
33745	MalwareTypeKeylogger = "KEYLOGGER"
33746
33747	// MalwareTypeMacro is a MalwareType enum value
33748	MalwareTypeMacro = "MACRO"
33749
33750	// MalwareTypePotentiallyUnwanted is a MalwareType enum value
33751	MalwareTypePotentiallyUnwanted = "POTENTIALLY_UNWANTED"
33752
33753	// MalwareTypeSpyware is a MalwareType enum value
33754	MalwareTypeSpyware = "SPYWARE"
33755
33756	// MalwareTypeRansomware is a MalwareType enum value
33757	MalwareTypeRansomware = "RANSOMWARE"
33758
33759	// MalwareTypeRemoteAccess is a MalwareType enum value
33760	MalwareTypeRemoteAccess = "REMOTE_ACCESS"
33761
33762	// MalwareTypeRootkit is a MalwareType enum value
33763	MalwareTypeRootkit = "ROOTKIT"
33764
33765	// MalwareTypeTrojan is a MalwareType enum value
33766	MalwareTypeTrojan = "TROJAN"
33767
33768	// MalwareTypeVirus is a MalwareType enum value
33769	MalwareTypeVirus = "VIRUS"
33770
33771	// MalwareTypeWorm is a MalwareType enum value
33772	MalwareTypeWorm = "WORM"
33773)
33774
33775// MalwareType_Values returns all elements of the MalwareType enum
33776func MalwareType_Values() []string {
33777	return []string{
33778		MalwareTypeAdware,
33779		MalwareTypeBlendedThreat,
33780		MalwareTypeBotnetAgent,
33781		MalwareTypeCoinMiner,
33782		MalwareTypeExploitKit,
33783		MalwareTypeKeylogger,
33784		MalwareTypeMacro,
33785		MalwareTypePotentiallyUnwanted,
33786		MalwareTypeSpyware,
33787		MalwareTypeRansomware,
33788		MalwareTypeRemoteAccess,
33789		MalwareTypeRootkit,
33790		MalwareTypeTrojan,
33791		MalwareTypeVirus,
33792		MalwareTypeWorm,
33793	}
33794}
33795
33796const (
33797	// MapFilterComparisonEquals is a MapFilterComparison enum value
33798	MapFilterComparisonEquals = "EQUALS"
33799
33800	// MapFilterComparisonNotEquals is a MapFilterComparison enum value
33801	MapFilterComparisonNotEquals = "NOT_EQUALS"
33802)
33803
33804// MapFilterComparison_Values returns all elements of the MapFilterComparison enum
33805func MapFilterComparison_Values() []string {
33806	return []string{
33807		MapFilterComparisonEquals,
33808		MapFilterComparisonNotEquals,
33809	}
33810}
33811
33812const (
33813	// NetworkDirectionIn is a NetworkDirection enum value
33814	NetworkDirectionIn = "IN"
33815
33816	// NetworkDirectionOut is a NetworkDirection enum value
33817	NetworkDirectionOut = "OUT"
33818)
33819
33820// NetworkDirection_Values returns all elements of the NetworkDirection enum
33821func NetworkDirection_Values() []string {
33822	return []string{
33823		NetworkDirectionIn,
33824		NetworkDirectionOut,
33825	}
33826}
33827
33828const (
33829	// PartitionAws is a Partition enum value
33830	PartitionAws = "aws"
33831
33832	// PartitionAwsCn is a Partition enum value
33833	PartitionAwsCn = "aws-cn"
33834
33835	// PartitionAwsUsGov is a Partition enum value
33836	PartitionAwsUsGov = "aws-us-gov"
33837)
33838
33839// Partition_Values returns all elements of the Partition enum
33840func Partition_Values() []string {
33841	return []string{
33842		PartitionAws,
33843		PartitionAwsCn,
33844		PartitionAwsUsGov,
33845	}
33846}
33847
33848const (
33849	// RecordStateActive is a RecordState enum value
33850	RecordStateActive = "ACTIVE"
33851
33852	// RecordStateArchived is a RecordState enum value
33853	RecordStateArchived = "ARCHIVED"
33854)
33855
33856// RecordState_Values returns all elements of the RecordState enum
33857func RecordState_Values() []string {
33858	return []string{
33859		RecordStateActive,
33860		RecordStateArchived,
33861	}
33862}
33863
33864const (
33865	// SeverityLabelInformational is a SeverityLabel enum value
33866	SeverityLabelInformational = "INFORMATIONAL"
33867
33868	// SeverityLabelLow is a SeverityLabel enum value
33869	SeverityLabelLow = "LOW"
33870
33871	// SeverityLabelMedium is a SeverityLabel enum value
33872	SeverityLabelMedium = "MEDIUM"
33873
33874	// SeverityLabelHigh is a SeverityLabel enum value
33875	SeverityLabelHigh = "HIGH"
33876
33877	// SeverityLabelCritical is a SeverityLabel enum value
33878	SeverityLabelCritical = "CRITICAL"
33879)
33880
33881// SeverityLabel_Values returns all elements of the SeverityLabel enum
33882func SeverityLabel_Values() []string {
33883	return []string{
33884		SeverityLabelInformational,
33885		SeverityLabelLow,
33886		SeverityLabelMedium,
33887		SeverityLabelHigh,
33888		SeverityLabelCritical,
33889	}
33890}
33891
33892const (
33893	// SeverityRatingLow is a SeverityRating enum value
33894	SeverityRatingLow = "LOW"
33895
33896	// SeverityRatingMedium is a SeverityRating enum value
33897	SeverityRatingMedium = "MEDIUM"
33898
33899	// SeverityRatingHigh is a SeverityRating enum value
33900	SeverityRatingHigh = "HIGH"
33901
33902	// SeverityRatingCritical is a SeverityRating enum value
33903	SeverityRatingCritical = "CRITICAL"
33904)
33905
33906// SeverityRating_Values returns all elements of the SeverityRating enum
33907func SeverityRating_Values() []string {
33908	return []string{
33909		SeverityRatingLow,
33910		SeverityRatingMedium,
33911		SeverityRatingHigh,
33912		SeverityRatingCritical,
33913	}
33914}
33915
33916const (
33917	// SortOrderAsc is a SortOrder enum value
33918	SortOrderAsc = "asc"
33919
33920	// SortOrderDesc is a SortOrder enum value
33921	SortOrderDesc = "desc"
33922)
33923
33924// SortOrder_Values returns all elements of the SortOrder enum
33925func SortOrder_Values() []string {
33926	return []string{
33927		SortOrderAsc,
33928		SortOrderDesc,
33929	}
33930}
33931
33932const (
33933	// StandardsStatusPending is a StandardsStatus enum value
33934	StandardsStatusPending = "PENDING"
33935
33936	// StandardsStatusReady is a StandardsStatus enum value
33937	StandardsStatusReady = "READY"
33938
33939	// StandardsStatusFailed is a StandardsStatus enum value
33940	StandardsStatusFailed = "FAILED"
33941
33942	// StandardsStatusDeleting is a StandardsStatus enum value
33943	StandardsStatusDeleting = "DELETING"
33944
33945	// StandardsStatusIncomplete is a StandardsStatus enum value
33946	StandardsStatusIncomplete = "INCOMPLETE"
33947)
33948
33949// StandardsStatus_Values returns all elements of the StandardsStatus enum
33950func StandardsStatus_Values() []string {
33951	return []string{
33952		StandardsStatusPending,
33953		StandardsStatusReady,
33954		StandardsStatusFailed,
33955		StandardsStatusDeleting,
33956		StandardsStatusIncomplete,
33957	}
33958}
33959
33960const (
33961	// StringFilterComparisonEquals is a StringFilterComparison enum value
33962	StringFilterComparisonEquals = "EQUALS"
33963
33964	// StringFilterComparisonPrefix is a StringFilterComparison enum value
33965	StringFilterComparisonPrefix = "PREFIX"
33966
33967	// StringFilterComparisonNotEquals is a StringFilterComparison enum value
33968	StringFilterComparisonNotEquals = "NOT_EQUALS"
33969
33970	// StringFilterComparisonPrefixNotEquals is a StringFilterComparison enum value
33971	StringFilterComparisonPrefixNotEquals = "PREFIX_NOT_EQUALS"
33972)
33973
33974// StringFilterComparison_Values returns all elements of the StringFilterComparison enum
33975func StringFilterComparison_Values() []string {
33976	return []string{
33977		StringFilterComparisonEquals,
33978		StringFilterComparisonPrefix,
33979		StringFilterComparisonNotEquals,
33980		StringFilterComparisonPrefixNotEquals,
33981	}
33982}
33983
33984const (
33985	// ThreatIntelIndicatorCategoryBackdoor is a ThreatIntelIndicatorCategory enum value
33986	ThreatIntelIndicatorCategoryBackdoor = "BACKDOOR"
33987
33988	// ThreatIntelIndicatorCategoryCardStealer is a ThreatIntelIndicatorCategory enum value
33989	ThreatIntelIndicatorCategoryCardStealer = "CARD_STEALER"
33990
33991	// ThreatIntelIndicatorCategoryCommandAndControl is a ThreatIntelIndicatorCategory enum value
33992	ThreatIntelIndicatorCategoryCommandAndControl = "COMMAND_AND_CONTROL"
33993
33994	// ThreatIntelIndicatorCategoryDropSite is a ThreatIntelIndicatorCategory enum value
33995	ThreatIntelIndicatorCategoryDropSite = "DROP_SITE"
33996
33997	// ThreatIntelIndicatorCategoryExploitSite is a ThreatIntelIndicatorCategory enum value
33998	ThreatIntelIndicatorCategoryExploitSite = "EXPLOIT_SITE"
33999
34000	// ThreatIntelIndicatorCategoryKeylogger is a ThreatIntelIndicatorCategory enum value
34001	ThreatIntelIndicatorCategoryKeylogger = "KEYLOGGER"
34002)
34003
34004// ThreatIntelIndicatorCategory_Values returns all elements of the ThreatIntelIndicatorCategory enum
34005func ThreatIntelIndicatorCategory_Values() []string {
34006	return []string{
34007		ThreatIntelIndicatorCategoryBackdoor,
34008		ThreatIntelIndicatorCategoryCardStealer,
34009		ThreatIntelIndicatorCategoryCommandAndControl,
34010		ThreatIntelIndicatorCategoryDropSite,
34011		ThreatIntelIndicatorCategoryExploitSite,
34012		ThreatIntelIndicatorCategoryKeylogger,
34013	}
34014}
34015
34016const (
34017	// ThreatIntelIndicatorTypeDomain is a ThreatIntelIndicatorType enum value
34018	ThreatIntelIndicatorTypeDomain = "DOMAIN"
34019
34020	// ThreatIntelIndicatorTypeEmailAddress is a ThreatIntelIndicatorType enum value
34021	ThreatIntelIndicatorTypeEmailAddress = "EMAIL_ADDRESS"
34022
34023	// ThreatIntelIndicatorTypeHashMd5 is a ThreatIntelIndicatorType enum value
34024	ThreatIntelIndicatorTypeHashMd5 = "HASH_MD5"
34025
34026	// ThreatIntelIndicatorTypeHashSha1 is a ThreatIntelIndicatorType enum value
34027	ThreatIntelIndicatorTypeHashSha1 = "HASH_SHA1"
34028
34029	// ThreatIntelIndicatorTypeHashSha256 is a ThreatIntelIndicatorType enum value
34030	ThreatIntelIndicatorTypeHashSha256 = "HASH_SHA256"
34031
34032	// ThreatIntelIndicatorTypeHashSha512 is a ThreatIntelIndicatorType enum value
34033	ThreatIntelIndicatorTypeHashSha512 = "HASH_SHA512"
34034
34035	// ThreatIntelIndicatorTypeIpv4Address is a ThreatIntelIndicatorType enum value
34036	ThreatIntelIndicatorTypeIpv4Address = "IPV4_ADDRESS"
34037
34038	// ThreatIntelIndicatorTypeIpv6Address is a ThreatIntelIndicatorType enum value
34039	ThreatIntelIndicatorTypeIpv6Address = "IPV6_ADDRESS"
34040
34041	// ThreatIntelIndicatorTypeMutex is a ThreatIntelIndicatorType enum value
34042	ThreatIntelIndicatorTypeMutex = "MUTEX"
34043
34044	// ThreatIntelIndicatorTypeProcess is a ThreatIntelIndicatorType enum value
34045	ThreatIntelIndicatorTypeProcess = "PROCESS"
34046
34047	// ThreatIntelIndicatorTypeUrl is a ThreatIntelIndicatorType enum value
34048	ThreatIntelIndicatorTypeUrl = "URL"
34049)
34050
34051// ThreatIntelIndicatorType_Values returns all elements of the ThreatIntelIndicatorType enum
34052func ThreatIntelIndicatorType_Values() []string {
34053	return []string{
34054		ThreatIntelIndicatorTypeDomain,
34055		ThreatIntelIndicatorTypeEmailAddress,
34056		ThreatIntelIndicatorTypeHashMd5,
34057		ThreatIntelIndicatorTypeHashSha1,
34058		ThreatIntelIndicatorTypeHashSha256,
34059		ThreatIntelIndicatorTypeHashSha512,
34060		ThreatIntelIndicatorTypeIpv4Address,
34061		ThreatIntelIndicatorTypeIpv6Address,
34062		ThreatIntelIndicatorTypeMutex,
34063		ThreatIntelIndicatorTypeProcess,
34064		ThreatIntelIndicatorTypeUrl,
34065	}
34066}
34067
34068const (
34069	// VerificationStateUnknown is a VerificationState enum value
34070	VerificationStateUnknown = "UNKNOWN"
34071
34072	// VerificationStateTruePositive is a VerificationState enum value
34073	VerificationStateTruePositive = "TRUE_POSITIVE"
34074
34075	// VerificationStateFalsePositive is a VerificationState enum value
34076	VerificationStateFalsePositive = "FALSE_POSITIVE"
34077
34078	// VerificationStateBenignPositive is a VerificationState enum value
34079	VerificationStateBenignPositive = "BENIGN_POSITIVE"
34080)
34081
34082// VerificationState_Values returns all elements of the VerificationState enum
34083func VerificationState_Values() []string {
34084	return []string{
34085		VerificationStateUnknown,
34086		VerificationStateTruePositive,
34087		VerificationStateFalsePositive,
34088		VerificationStateBenignPositive,
34089	}
34090}
34091
34092const (
34093	// WorkflowStateNew is a WorkflowState enum value
34094	WorkflowStateNew = "NEW"
34095
34096	// WorkflowStateAssigned is a WorkflowState enum value
34097	WorkflowStateAssigned = "ASSIGNED"
34098
34099	// WorkflowStateInProgress is a WorkflowState enum value
34100	WorkflowStateInProgress = "IN_PROGRESS"
34101
34102	// WorkflowStateDeferred is a WorkflowState enum value
34103	WorkflowStateDeferred = "DEFERRED"
34104
34105	// WorkflowStateResolved is a WorkflowState enum value
34106	WorkflowStateResolved = "RESOLVED"
34107)
34108
34109// WorkflowState_Values returns all elements of the WorkflowState enum
34110func WorkflowState_Values() []string {
34111	return []string{
34112		WorkflowStateNew,
34113		WorkflowStateAssigned,
34114		WorkflowStateInProgress,
34115		WorkflowStateDeferred,
34116		WorkflowStateResolved,
34117	}
34118}
34119
34120const (
34121	// WorkflowStatusNew is a WorkflowStatus enum value
34122	WorkflowStatusNew = "NEW"
34123
34124	// WorkflowStatusNotified is a WorkflowStatus enum value
34125	WorkflowStatusNotified = "NOTIFIED"
34126
34127	// WorkflowStatusResolved is a WorkflowStatus enum value
34128	WorkflowStatusResolved = "RESOLVED"
34129
34130	// WorkflowStatusSuppressed is a WorkflowStatus enum value
34131	WorkflowStatusSuppressed = "SUPPRESSED"
34132)
34133
34134// WorkflowStatus_Values returns all elements of the WorkflowStatus enum
34135func WorkflowStatus_Values() []string {
34136	return []string{
34137		WorkflowStatusNew,
34138		WorkflowStatusNotified,
34139		WorkflowStatusResolved,
34140		WorkflowStatusSuppressed,
34141	}
34142}
34143