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 opCreateFindingAggregator = "CreateFindingAggregator"
787
788// CreateFindingAggregatorRequest generates a "aws/request.Request" representing the
789// client's request for the CreateFindingAggregator 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 CreateFindingAggregator for more information on using the CreateFindingAggregator
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 CreateFindingAggregatorRequest method.
804//    req, resp := client.CreateFindingAggregatorRequest(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/CreateFindingAggregator
812func (c *SecurityHub) CreateFindingAggregatorRequest(input *CreateFindingAggregatorInput) (req *request.Request, output *CreateFindingAggregatorOutput) {
813	op := &request.Operation{
814		Name:       opCreateFindingAggregator,
815		HTTPMethod: "POST",
816		HTTPPath:   "/findingAggregator/create",
817	}
818
819	if input == nil {
820		input = &CreateFindingAggregatorInput{}
821	}
822
823	output = &CreateFindingAggregatorOutput{}
824	req = c.newRequest(op, input, output)
825	return
826}
827
828// CreateFindingAggregator API operation for AWS SecurityHub.
829//
830// Used to enable finding aggregation. Must be called from the aggregation Region.
831//
832// For more details about cross-Region replication, see Configuring finding
833// aggregation (securityhub/latest/userguide/finding-aggregation.html) in the
834// Security Hub User Guide.
835//
836// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
837// with awserr.Error's Code and Message methods to get detailed information about
838// the error.
839//
840// See the AWS API reference guide for AWS SecurityHub's
841// API operation CreateFindingAggregator for usage and error information.
842//
843// Returned Error Types:
844//   * InternalException
845//   Internal server error.
846//
847//   * LimitExceededException
848//   The request was rejected because it attempted to create resources beyond
849//   the current Amazon Web Services account or throttling limits. The error code
850//   describes the limit exceeded.
851//
852//   * InvalidAccessException
853//   There is an issue with the account used to make the request. Either Security
854//   Hub is not enabled for the account, or the account does not have permission
855//   to perform this action.
856//
857//   * AccessDeniedException
858//   You don't have permission to perform the action specified in the request.
859//
860//   * InvalidInputException
861//   The request was rejected because you supplied an invalid or out-of-range
862//   value for an input parameter.
863//
864// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateFindingAggregator
865func (c *SecurityHub) CreateFindingAggregator(input *CreateFindingAggregatorInput) (*CreateFindingAggregatorOutput, error) {
866	req, out := c.CreateFindingAggregatorRequest(input)
867	return out, req.Send()
868}
869
870// CreateFindingAggregatorWithContext is the same as CreateFindingAggregator with the addition of
871// the ability to pass a context and additional request options.
872//
873// See CreateFindingAggregator for details on how to use this API operation.
874//
875// The context must be non-nil and will be used for request cancellation. If
876// the context is nil a panic will occur. In the future the SDK may create
877// sub-contexts for http.Requests. See https://golang.org/pkg/context/
878// for more information on using Contexts.
879func (c *SecurityHub) CreateFindingAggregatorWithContext(ctx aws.Context, input *CreateFindingAggregatorInput, opts ...request.Option) (*CreateFindingAggregatorOutput, error) {
880	req, out := c.CreateFindingAggregatorRequest(input)
881	req.SetContext(ctx)
882	req.ApplyOptions(opts...)
883	return out, req.Send()
884}
885
886const opCreateInsight = "CreateInsight"
887
888// CreateInsightRequest generates a "aws/request.Request" representing the
889// client's request for the CreateInsight operation. The "output" return
890// value will be populated with the request's response once the request completes
891// successfully.
892//
893// Use "Send" method on the returned Request to send the API call to the service.
894// the "output" return value is not valid until after Send returns without error.
895//
896// See CreateInsight for more information on using the CreateInsight
897// API call, and error handling.
898//
899// This method is useful when you want to inject custom logic or configuration
900// into the SDK's request lifecycle. Such as custom headers, or retry logic.
901//
902//
903//    // Example sending a request using the CreateInsightRequest method.
904//    req, resp := client.CreateInsightRequest(params)
905//
906//    err := req.Send()
907//    if err == nil { // resp is now filled
908//        fmt.Println(resp)
909//    }
910//
911// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateInsight
912func (c *SecurityHub) CreateInsightRequest(input *CreateInsightInput) (req *request.Request, output *CreateInsightOutput) {
913	op := &request.Operation{
914		Name:       opCreateInsight,
915		HTTPMethod: "POST",
916		HTTPPath:   "/insights",
917	}
918
919	if input == nil {
920		input = &CreateInsightInput{}
921	}
922
923	output = &CreateInsightOutput{}
924	req = c.newRequest(op, input, output)
925	return
926}
927
928// CreateInsight API operation for AWS SecurityHub.
929//
930// Creates a custom insight in Security Hub. An insight is a consolidation of
931// findings that relate to a security issue that requires attention or remediation.
932//
933// To group the related findings in the insight, use the GroupByAttribute.
934//
935// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
936// with awserr.Error's Code and Message methods to get detailed information about
937// the error.
938//
939// See the AWS API reference guide for AWS SecurityHub's
940// API operation CreateInsight for usage and error information.
941//
942// Returned Error Types:
943//   * InternalException
944//   Internal server error.
945//
946//   * InvalidInputException
947//   The request was rejected because you supplied an invalid or out-of-range
948//   value for an input parameter.
949//
950//   * LimitExceededException
951//   The request was rejected because it attempted to create resources beyond
952//   the current Amazon Web Services account or throttling limits. The error code
953//   describes the limit exceeded.
954//
955//   * InvalidAccessException
956//   There is an issue with the account used to make the request. Either Security
957//   Hub is not enabled for the account, or the account does not have permission
958//   to perform this action.
959//
960//   * ResourceConflictException
961//   The resource specified in the request conflicts with an existing resource.
962//
963// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateInsight
964func (c *SecurityHub) CreateInsight(input *CreateInsightInput) (*CreateInsightOutput, error) {
965	req, out := c.CreateInsightRequest(input)
966	return out, req.Send()
967}
968
969// CreateInsightWithContext is the same as CreateInsight with the addition of
970// the ability to pass a context and additional request options.
971//
972// See CreateInsight for details on how to use this API operation.
973//
974// The context must be non-nil and will be used for request cancellation. If
975// the context is nil a panic will occur. In the future the SDK may create
976// sub-contexts for http.Requests. See https://golang.org/pkg/context/
977// for more information on using Contexts.
978func (c *SecurityHub) CreateInsightWithContext(ctx aws.Context, input *CreateInsightInput, opts ...request.Option) (*CreateInsightOutput, error) {
979	req, out := c.CreateInsightRequest(input)
980	req.SetContext(ctx)
981	req.ApplyOptions(opts...)
982	return out, req.Send()
983}
984
985const opCreateMembers = "CreateMembers"
986
987// CreateMembersRequest generates a "aws/request.Request" representing the
988// client's request for the CreateMembers operation. The "output" return
989// value will be populated with the request's response once the request completes
990// successfully.
991//
992// Use "Send" method on the returned Request to send the API call to the service.
993// the "output" return value is not valid until after Send returns without error.
994//
995// See CreateMembers for more information on using the CreateMembers
996// API call, and error handling.
997//
998// This method is useful when you want to inject custom logic or configuration
999// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1000//
1001//
1002//    // Example sending a request using the CreateMembersRequest method.
1003//    req, resp := client.CreateMembersRequest(params)
1004//
1005//    err := req.Send()
1006//    if err == nil { // resp is now filled
1007//        fmt.Println(resp)
1008//    }
1009//
1010// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateMembers
1011func (c *SecurityHub) CreateMembersRequest(input *CreateMembersInput) (req *request.Request, output *CreateMembersOutput) {
1012	op := &request.Operation{
1013		Name:       opCreateMembers,
1014		HTTPMethod: "POST",
1015		HTTPPath:   "/members",
1016	}
1017
1018	if input == nil {
1019		input = &CreateMembersInput{}
1020	}
1021
1022	output = &CreateMembersOutput{}
1023	req = c.newRequest(op, input, output)
1024	return
1025}
1026
1027// CreateMembers API operation for AWS SecurityHub.
1028//
1029// Creates a member association in Security Hub between the specified accounts
1030// and the account used to make the request, which is the administrator account.
1031// If you are integrated with Organizations, then the administrator account
1032// is designated by the organization management account.
1033//
1034// CreateMembers is always used to add accounts that are not organization members.
1035//
1036// For accounts that are managed using Organizations, CreateMembers is only
1037// used in the following cases:
1038//
1039//    * Security Hub is not configured to automatically add new organization
1040//    accounts.
1041//
1042//    * The account was disassociated or deleted in Security Hub.
1043//
1044// This action can only be used by an account that has Security Hub enabled.
1045// To enable Security Hub, you can use the EnableSecurityHub operation.
1046//
1047// For accounts that are not organization members, you create the account association
1048// and then send an invitation to the member account. To send the invitation,
1049// you use the InviteMembers operation. If the account owner accepts the invitation,
1050// the account becomes a member account in Security Hub.
1051//
1052// Accounts that are managed using Organizations do not receive an invitation.
1053// They automatically become a member account in Security Hub.
1054//
1055//    * If the organization account does not have Security Hub enabled, then
1056//    Security Hub and the default standards are automatically enabled. Note
1057//    that Security Hub cannot be enabled automatically for the organization
1058//    management account. The organization management account must enable Security
1059//    Hub before the administrator account enables it as a member account.
1060//
1061//    * For organization accounts that already have Security Hub enabled, Security
1062//    Hub does not make any other changes to those accounts. It does not change
1063//    their enabled standards or controls.
1064//
1065// A permissions policy is added that permits the administrator account to view
1066// the findings generated in the member account.
1067//
1068// To remove the association between the administrator and member accounts,
1069// use the DisassociateFromMasterAccount or DisassociateMembers operation.
1070//
1071// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1072// with awserr.Error's Code and Message methods to get detailed information about
1073// the error.
1074//
1075// See the AWS API reference guide for AWS SecurityHub's
1076// API operation CreateMembers for usage and error information.
1077//
1078// Returned Error Types:
1079//   * InternalException
1080//   Internal server error.
1081//
1082//   * InvalidInputException
1083//   The request was rejected because you supplied an invalid or out-of-range
1084//   value for an input parameter.
1085//
1086//   * LimitExceededException
1087//   The request was rejected because it attempted to create resources beyond
1088//   the current Amazon Web Services account or throttling limits. The error code
1089//   describes the limit exceeded.
1090//
1091//   * InvalidAccessException
1092//   There is an issue with the account used to make the request. Either Security
1093//   Hub is not enabled for the account, or the account does not have permission
1094//   to perform this action.
1095//
1096//   * ResourceConflictException
1097//   The resource specified in the request conflicts with an existing resource.
1098//
1099// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateMembers
1100func (c *SecurityHub) CreateMembers(input *CreateMembersInput) (*CreateMembersOutput, error) {
1101	req, out := c.CreateMembersRequest(input)
1102	return out, req.Send()
1103}
1104
1105// CreateMembersWithContext is the same as CreateMembers with the addition of
1106// the ability to pass a context and additional request options.
1107//
1108// See CreateMembers for details on how to use this API operation.
1109//
1110// The context must be non-nil and will be used for request cancellation. If
1111// the context is nil a panic will occur. In the future the SDK may create
1112// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1113// for more information on using Contexts.
1114func (c *SecurityHub) CreateMembersWithContext(ctx aws.Context, input *CreateMembersInput, opts ...request.Option) (*CreateMembersOutput, error) {
1115	req, out := c.CreateMembersRequest(input)
1116	req.SetContext(ctx)
1117	req.ApplyOptions(opts...)
1118	return out, req.Send()
1119}
1120
1121const opDeclineInvitations = "DeclineInvitations"
1122
1123// DeclineInvitationsRequest generates a "aws/request.Request" representing the
1124// client's request for the DeclineInvitations operation. The "output" return
1125// value will be populated with the request's response once the request completes
1126// successfully.
1127//
1128// Use "Send" method on the returned Request to send the API call to the service.
1129// the "output" return value is not valid until after Send returns without error.
1130//
1131// See DeclineInvitations for more information on using the DeclineInvitations
1132// API call, and error handling.
1133//
1134// This method is useful when you want to inject custom logic or configuration
1135// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1136//
1137//
1138//    // Example sending a request using the DeclineInvitationsRequest method.
1139//    req, resp := client.DeclineInvitationsRequest(params)
1140//
1141//    err := req.Send()
1142//    if err == nil { // resp is now filled
1143//        fmt.Println(resp)
1144//    }
1145//
1146// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeclineInvitations
1147func (c *SecurityHub) DeclineInvitationsRequest(input *DeclineInvitationsInput) (req *request.Request, output *DeclineInvitationsOutput) {
1148	op := &request.Operation{
1149		Name:       opDeclineInvitations,
1150		HTTPMethod: "POST",
1151		HTTPPath:   "/invitations/decline",
1152	}
1153
1154	if input == nil {
1155		input = &DeclineInvitationsInput{}
1156	}
1157
1158	output = &DeclineInvitationsOutput{}
1159	req = c.newRequest(op, input, output)
1160	return
1161}
1162
1163// DeclineInvitations API operation for AWS SecurityHub.
1164//
1165// Declines invitations to become a member account.
1166//
1167// This operation is only used by accounts that are not part of an organization.
1168// Organization accounts do not receive invitations.
1169//
1170// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1171// with awserr.Error's Code and Message methods to get detailed information about
1172// the error.
1173//
1174// See the AWS API reference guide for AWS SecurityHub's
1175// API operation DeclineInvitations for usage and error information.
1176//
1177// Returned Error Types:
1178//   * InternalException
1179//   Internal server error.
1180//
1181//   * InvalidInputException
1182//   The request was rejected because you supplied an invalid or out-of-range
1183//   value for an input parameter.
1184//
1185//   * InvalidAccessException
1186//   There is an issue with the account used to make the request. Either Security
1187//   Hub is not enabled for the account, or the account does not have permission
1188//   to perform this action.
1189//
1190//   * ResourceNotFoundException
1191//   The request was rejected because we can't find the specified resource.
1192//
1193// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeclineInvitations
1194func (c *SecurityHub) DeclineInvitations(input *DeclineInvitationsInput) (*DeclineInvitationsOutput, error) {
1195	req, out := c.DeclineInvitationsRequest(input)
1196	return out, req.Send()
1197}
1198
1199// DeclineInvitationsWithContext is the same as DeclineInvitations with the addition of
1200// the ability to pass a context and additional request options.
1201//
1202// See DeclineInvitations for details on how to use this API operation.
1203//
1204// The context must be non-nil and will be used for request cancellation. If
1205// the context is nil a panic will occur. In the future the SDK may create
1206// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1207// for more information on using Contexts.
1208func (c *SecurityHub) DeclineInvitationsWithContext(ctx aws.Context, input *DeclineInvitationsInput, opts ...request.Option) (*DeclineInvitationsOutput, error) {
1209	req, out := c.DeclineInvitationsRequest(input)
1210	req.SetContext(ctx)
1211	req.ApplyOptions(opts...)
1212	return out, req.Send()
1213}
1214
1215const opDeleteActionTarget = "DeleteActionTarget"
1216
1217// DeleteActionTargetRequest generates a "aws/request.Request" representing the
1218// client's request for the DeleteActionTarget operation. The "output" return
1219// value will be populated with the request's response once the request completes
1220// successfully.
1221//
1222// Use "Send" method on the returned Request to send the API call to the service.
1223// the "output" return value is not valid until after Send returns without error.
1224//
1225// See DeleteActionTarget for more information on using the DeleteActionTarget
1226// API call, and error handling.
1227//
1228// This method is useful when you want to inject custom logic or configuration
1229// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1230//
1231//
1232//    // Example sending a request using the DeleteActionTargetRequest method.
1233//    req, resp := client.DeleteActionTargetRequest(params)
1234//
1235//    err := req.Send()
1236//    if err == nil { // resp is now filled
1237//        fmt.Println(resp)
1238//    }
1239//
1240// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteActionTarget
1241func (c *SecurityHub) DeleteActionTargetRequest(input *DeleteActionTargetInput) (req *request.Request, output *DeleteActionTargetOutput) {
1242	op := &request.Operation{
1243		Name:       opDeleteActionTarget,
1244		HTTPMethod: "DELETE",
1245		HTTPPath:   "/actionTargets/{ActionTargetArn+}",
1246	}
1247
1248	if input == nil {
1249		input = &DeleteActionTargetInput{}
1250	}
1251
1252	output = &DeleteActionTargetOutput{}
1253	req = c.newRequest(op, input, output)
1254	return
1255}
1256
1257// DeleteActionTarget API operation for AWS SecurityHub.
1258//
1259// Deletes a custom action target from Security Hub.
1260//
1261// Deleting a custom action target does not affect any findings or insights
1262// that were already sent to Amazon CloudWatch Events using the custom action.
1263//
1264// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1265// with awserr.Error's Code and Message methods to get detailed information about
1266// the error.
1267//
1268// See the AWS API reference guide for AWS SecurityHub's
1269// API operation DeleteActionTarget for usage and error information.
1270//
1271// Returned Error Types:
1272//   * InternalException
1273//   Internal server error.
1274//
1275//   * InvalidInputException
1276//   The request was rejected because you supplied an invalid or out-of-range
1277//   value for an input parameter.
1278//
1279//   * InvalidAccessException
1280//   There is an issue with the account used to make the request. Either Security
1281//   Hub is not enabled for the account, or the account does not have permission
1282//   to perform this action.
1283//
1284//   * ResourceNotFoundException
1285//   The request was rejected because we can't find the specified resource.
1286//
1287// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteActionTarget
1288func (c *SecurityHub) DeleteActionTarget(input *DeleteActionTargetInput) (*DeleteActionTargetOutput, error) {
1289	req, out := c.DeleteActionTargetRequest(input)
1290	return out, req.Send()
1291}
1292
1293// DeleteActionTargetWithContext is the same as DeleteActionTarget with the addition of
1294// the ability to pass a context and additional request options.
1295//
1296// See DeleteActionTarget for details on how to use this API operation.
1297//
1298// The context must be non-nil and will be used for request cancellation. If
1299// the context is nil a panic will occur. In the future the SDK may create
1300// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1301// for more information on using Contexts.
1302func (c *SecurityHub) DeleteActionTargetWithContext(ctx aws.Context, input *DeleteActionTargetInput, opts ...request.Option) (*DeleteActionTargetOutput, error) {
1303	req, out := c.DeleteActionTargetRequest(input)
1304	req.SetContext(ctx)
1305	req.ApplyOptions(opts...)
1306	return out, req.Send()
1307}
1308
1309const opDeleteFindingAggregator = "DeleteFindingAggregator"
1310
1311// DeleteFindingAggregatorRequest generates a "aws/request.Request" representing the
1312// client's request for the DeleteFindingAggregator operation. The "output" return
1313// value will be populated with the request's response once the request completes
1314// successfully.
1315//
1316// Use "Send" method on the returned Request to send the API call to the service.
1317// the "output" return value is not valid until after Send returns without error.
1318//
1319// See DeleteFindingAggregator for more information on using the DeleteFindingAggregator
1320// API call, and error handling.
1321//
1322// This method is useful when you want to inject custom logic or configuration
1323// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1324//
1325//
1326//    // Example sending a request using the DeleteFindingAggregatorRequest method.
1327//    req, resp := client.DeleteFindingAggregatorRequest(params)
1328//
1329//    err := req.Send()
1330//    if err == nil { // resp is now filled
1331//        fmt.Println(resp)
1332//    }
1333//
1334// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteFindingAggregator
1335func (c *SecurityHub) DeleteFindingAggregatorRequest(input *DeleteFindingAggregatorInput) (req *request.Request, output *DeleteFindingAggregatorOutput) {
1336	op := &request.Operation{
1337		Name:       opDeleteFindingAggregator,
1338		HTTPMethod: "DELETE",
1339		HTTPPath:   "/findingAggregator/delete/{FindingAggregatorArn+}",
1340	}
1341
1342	if input == nil {
1343		input = &DeleteFindingAggregatorInput{}
1344	}
1345
1346	output = &DeleteFindingAggregatorOutput{}
1347	req = c.newRequest(op, input, output)
1348	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1349	return
1350}
1351
1352// DeleteFindingAggregator API operation for AWS SecurityHub.
1353//
1354// Deletes a finding aggregator. When you delete the finding aggregator, you
1355// stop finding aggregation.
1356//
1357// When you stop finding aggregation, findings that were already aggregated
1358// to the aggregation Region are still visible from the aggregation Region.
1359// New findings and finding updates are not aggregated.
1360//
1361// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1362// with awserr.Error's Code and Message methods to get detailed information about
1363// the error.
1364//
1365// See the AWS API reference guide for AWS SecurityHub's
1366// API operation DeleteFindingAggregator for usage and error information.
1367//
1368// Returned Error Types:
1369//   * InternalException
1370//   Internal server error.
1371//
1372//   * LimitExceededException
1373//   The request was rejected because it attempted to create resources beyond
1374//   the current Amazon Web Services account or throttling limits. The error code
1375//   describes the limit exceeded.
1376//
1377//   * InvalidAccessException
1378//   There is an issue with the account used to make the request. Either Security
1379//   Hub is not enabled for the account, or the account does not have permission
1380//   to perform this action.
1381//
1382//   * AccessDeniedException
1383//   You don't have permission to perform the action specified in the request.
1384//
1385//   * InvalidInputException
1386//   The request was rejected because you supplied an invalid or out-of-range
1387//   value for an input parameter.
1388//
1389//   * ResourceNotFoundException
1390//   The request was rejected because we can't find the specified resource.
1391//
1392// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteFindingAggregator
1393func (c *SecurityHub) DeleteFindingAggregator(input *DeleteFindingAggregatorInput) (*DeleteFindingAggregatorOutput, error) {
1394	req, out := c.DeleteFindingAggregatorRequest(input)
1395	return out, req.Send()
1396}
1397
1398// DeleteFindingAggregatorWithContext is the same as DeleteFindingAggregator with the addition of
1399// the ability to pass a context and additional request options.
1400//
1401// See DeleteFindingAggregator for details on how to use this API operation.
1402//
1403// The context must be non-nil and will be used for request cancellation. If
1404// the context is nil a panic will occur. In the future the SDK may create
1405// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1406// for more information on using Contexts.
1407func (c *SecurityHub) DeleteFindingAggregatorWithContext(ctx aws.Context, input *DeleteFindingAggregatorInput, opts ...request.Option) (*DeleteFindingAggregatorOutput, error) {
1408	req, out := c.DeleteFindingAggregatorRequest(input)
1409	req.SetContext(ctx)
1410	req.ApplyOptions(opts...)
1411	return out, req.Send()
1412}
1413
1414const opDeleteInsight = "DeleteInsight"
1415
1416// DeleteInsightRequest generates a "aws/request.Request" representing the
1417// client's request for the DeleteInsight operation. The "output" return
1418// value will be populated with the request's response once the request completes
1419// successfully.
1420//
1421// Use "Send" method on the returned Request to send the API call to the service.
1422// the "output" return value is not valid until after Send returns without error.
1423//
1424// See DeleteInsight for more information on using the DeleteInsight
1425// API call, and error handling.
1426//
1427// This method is useful when you want to inject custom logic or configuration
1428// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1429//
1430//
1431//    // Example sending a request using the DeleteInsightRequest method.
1432//    req, resp := client.DeleteInsightRequest(params)
1433//
1434//    err := req.Send()
1435//    if err == nil { // resp is now filled
1436//        fmt.Println(resp)
1437//    }
1438//
1439// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInsight
1440func (c *SecurityHub) DeleteInsightRequest(input *DeleteInsightInput) (req *request.Request, output *DeleteInsightOutput) {
1441	op := &request.Operation{
1442		Name:       opDeleteInsight,
1443		HTTPMethod: "DELETE",
1444		HTTPPath:   "/insights/{InsightArn+}",
1445	}
1446
1447	if input == nil {
1448		input = &DeleteInsightInput{}
1449	}
1450
1451	output = &DeleteInsightOutput{}
1452	req = c.newRequest(op, input, output)
1453	return
1454}
1455
1456// DeleteInsight API operation for AWS SecurityHub.
1457//
1458// Deletes the insight specified by the InsightArn.
1459//
1460// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1461// with awserr.Error's Code and Message methods to get detailed information about
1462// the error.
1463//
1464// See the AWS API reference guide for AWS SecurityHub's
1465// API operation DeleteInsight for usage and error information.
1466//
1467// Returned Error Types:
1468//   * InternalException
1469//   Internal server error.
1470//
1471//   * InvalidInputException
1472//   The request was rejected because you supplied an invalid or out-of-range
1473//   value for an input parameter.
1474//
1475//   * InvalidAccessException
1476//   There is an issue with the account used to make the request. Either Security
1477//   Hub is not enabled for the account, or the account does not have permission
1478//   to perform this action.
1479//
1480//   * LimitExceededException
1481//   The request was rejected because it attempted to create resources beyond
1482//   the current Amazon Web Services account or throttling limits. The error code
1483//   describes the limit exceeded.
1484//
1485//   * ResourceNotFoundException
1486//   The request was rejected because we can't find the specified resource.
1487//
1488// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInsight
1489func (c *SecurityHub) DeleteInsight(input *DeleteInsightInput) (*DeleteInsightOutput, error) {
1490	req, out := c.DeleteInsightRequest(input)
1491	return out, req.Send()
1492}
1493
1494// DeleteInsightWithContext is the same as DeleteInsight with the addition of
1495// the ability to pass a context and additional request options.
1496//
1497// See DeleteInsight for details on how to use this API operation.
1498//
1499// The context must be non-nil and will be used for request cancellation. If
1500// the context is nil a panic will occur. In the future the SDK may create
1501// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1502// for more information on using Contexts.
1503func (c *SecurityHub) DeleteInsightWithContext(ctx aws.Context, input *DeleteInsightInput, opts ...request.Option) (*DeleteInsightOutput, error) {
1504	req, out := c.DeleteInsightRequest(input)
1505	req.SetContext(ctx)
1506	req.ApplyOptions(opts...)
1507	return out, req.Send()
1508}
1509
1510const opDeleteInvitations = "DeleteInvitations"
1511
1512// DeleteInvitationsRequest generates a "aws/request.Request" representing the
1513// client's request for the DeleteInvitations operation. The "output" return
1514// value will be populated with the request's response once the request completes
1515// successfully.
1516//
1517// Use "Send" method on the returned Request to send the API call to the service.
1518// the "output" return value is not valid until after Send returns without error.
1519//
1520// See DeleteInvitations for more information on using the DeleteInvitations
1521// API call, and error handling.
1522//
1523// This method is useful when you want to inject custom logic or configuration
1524// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1525//
1526//
1527//    // Example sending a request using the DeleteInvitationsRequest method.
1528//    req, resp := client.DeleteInvitationsRequest(params)
1529//
1530//    err := req.Send()
1531//    if err == nil { // resp is now filled
1532//        fmt.Println(resp)
1533//    }
1534//
1535// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInvitations
1536func (c *SecurityHub) DeleteInvitationsRequest(input *DeleteInvitationsInput) (req *request.Request, output *DeleteInvitationsOutput) {
1537	op := &request.Operation{
1538		Name:       opDeleteInvitations,
1539		HTTPMethod: "POST",
1540		HTTPPath:   "/invitations/delete",
1541	}
1542
1543	if input == nil {
1544		input = &DeleteInvitationsInput{}
1545	}
1546
1547	output = &DeleteInvitationsOutput{}
1548	req = c.newRequest(op, input, output)
1549	return
1550}
1551
1552// DeleteInvitations API operation for AWS SecurityHub.
1553//
1554// Deletes invitations received by the Amazon Web Services account to become
1555// a member account.
1556//
1557// This operation is only used by accounts that are not part of an organization.
1558// Organization accounts do not receive invitations.
1559//
1560// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1561// with awserr.Error's Code and Message methods to get detailed information about
1562// the error.
1563//
1564// See the AWS API reference guide for AWS SecurityHub's
1565// API operation DeleteInvitations for usage and error information.
1566//
1567// Returned Error Types:
1568//   * InternalException
1569//   Internal server error.
1570//
1571//   * InvalidInputException
1572//   The request was rejected because you supplied an invalid or out-of-range
1573//   value for an input parameter.
1574//
1575//   * LimitExceededException
1576//   The request was rejected because it attempted to create resources beyond
1577//   the current Amazon Web Services account or throttling limits. The error code
1578//   describes the limit exceeded.
1579//
1580//   * ResourceNotFoundException
1581//   The request was rejected because we can't find the specified resource.
1582//
1583//   * InvalidAccessException
1584//   There is an issue with the account used to make the request. Either Security
1585//   Hub is not enabled for the account, or the account does not have permission
1586//   to perform this action.
1587//
1588// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInvitations
1589func (c *SecurityHub) DeleteInvitations(input *DeleteInvitationsInput) (*DeleteInvitationsOutput, error) {
1590	req, out := c.DeleteInvitationsRequest(input)
1591	return out, req.Send()
1592}
1593
1594// DeleteInvitationsWithContext is the same as DeleteInvitations with the addition of
1595// the ability to pass a context and additional request options.
1596//
1597// See DeleteInvitations for details on how to use this API operation.
1598//
1599// The context must be non-nil and will be used for request cancellation. If
1600// the context is nil a panic will occur. In the future the SDK may create
1601// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1602// for more information on using Contexts.
1603func (c *SecurityHub) DeleteInvitationsWithContext(ctx aws.Context, input *DeleteInvitationsInput, opts ...request.Option) (*DeleteInvitationsOutput, error) {
1604	req, out := c.DeleteInvitationsRequest(input)
1605	req.SetContext(ctx)
1606	req.ApplyOptions(opts...)
1607	return out, req.Send()
1608}
1609
1610const opDeleteMembers = "DeleteMembers"
1611
1612// DeleteMembersRequest generates a "aws/request.Request" representing the
1613// client's request for the DeleteMembers operation. The "output" return
1614// value will be populated with the request's response once the request completes
1615// successfully.
1616//
1617// Use "Send" method on the returned Request to send the API call to the service.
1618// the "output" return value is not valid until after Send returns without error.
1619//
1620// See DeleteMembers for more information on using the DeleteMembers
1621// API call, and error handling.
1622//
1623// This method is useful when you want to inject custom logic or configuration
1624// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1625//
1626//
1627//    // Example sending a request using the DeleteMembersRequest method.
1628//    req, resp := client.DeleteMembersRequest(params)
1629//
1630//    err := req.Send()
1631//    if err == nil { // resp is now filled
1632//        fmt.Println(resp)
1633//    }
1634//
1635// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteMembers
1636func (c *SecurityHub) DeleteMembersRequest(input *DeleteMembersInput) (req *request.Request, output *DeleteMembersOutput) {
1637	op := &request.Operation{
1638		Name:       opDeleteMembers,
1639		HTTPMethod: "POST",
1640		HTTPPath:   "/members/delete",
1641	}
1642
1643	if input == nil {
1644		input = &DeleteMembersInput{}
1645	}
1646
1647	output = &DeleteMembersOutput{}
1648	req = c.newRequest(op, input, output)
1649	return
1650}
1651
1652// DeleteMembers API operation for AWS SecurityHub.
1653//
1654// Deletes the specified member accounts from Security Hub.
1655//
1656// Can be used to delete member accounts that belong to an organization as well
1657// as member accounts that were invited manually.
1658//
1659// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1660// with awserr.Error's Code and Message methods to get detailed information about
1661// the error.
1662//
1663// See the AWS API reference guide for AWS SecurityHub's
1664// API operation DeleteMembers for usage and error information.
1665//
1666// Returned Error Types:
1667//   * InternalException
1668//   Internal server error.
1669//
1670//   * InvalidInputException
1671//   The request was rejected because you supplied an invalid or out-of-range
1672//   value for an input parameter.
1673//
1674//   * InvalidAccessException
1675//   There is an issue with the account used to make the request. Either Security
1676//   Hub is not enabled for the account, or the account does not have permission
1677//   to perform this action.
1678//
1679//   * LimitExceededException
1680//   The request was rejected because it attempted to create resources beyond
1681//   the current Amazon Web Services account or throttling limits. The error code
1682//   describes the limit exceeded.
1683//
1684//   * ResourceNotFoundException
1685//   The request was rejected because we can't find the specified resource.
1686//
1687// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteMembers
1688func (c *SecurityHub) DeleteMembers(input *DeleteMembersInput) (*DeleteMembersOutput, error) {
1689	req, out := c.DeleteMembersRequest(input)
1690	return out, req.Send()
1691}
1692
1693// DeleteMembersWithContext is the same as DeleteMembers with the addition of
1694// the ability to pass a context and additional request options.
1695//
1696// See DeleteMembers for details on how to use this API operation.
1697//
1698// The context must be non-nil and will be used for request cancellation. If
1699// the context is nil a panic will occur. In the future the SDK may create
1700// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1701// for more information on using Contexts.
1702func (c *SecurityHub) DeleteMembersWithContext(ctx aws.Context, input *DeleteMembersInput, opts ...request.Option) (*DeleteMembersOutput, error) {
1703	req, out := c.DeleteMembersRequest(input)
1704	req.SetContext(ctx)
1705	req.ApplyOptions(opts...)
1706	return out, req.Send()
1707}
1708
1709const opDescribeActionTargets = "DescribeActionTargets"
1710
1711// DescribeActionTargetsRequest generates a "aws/request.Request" representing the
1712// client's request for the DescribeActionTargets operation. The "output" return
1713// value will be populated with the request's response once the request completes
1714// successfully.
1715//
1716// Use "Send" method on the returned Request to send the API call to the service.
1717// the "output" return value is not valid until after Send returns without error.
1718//
1719// See DescribeActionTargets for more information on using the DescribeActionTargets
1720// API call, and error handling.
1721//
1722// This method is useful when you want to inject custom logic or configuration
1723// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1724//
1725//
1726//    // Example sending a request using the DescribeActionTargetsRequest method.
1727//    req, resp := client.DescribeActionTargetsRequest(params)
1728//
1729//    err := req.Send()
1730//    if err == nil { // resp is now filled
1731//        fmt.Println(resp)
1732//    }
1733//
1734// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeActionTargets
1735func (c *SecurityHub) DescribeActionTargetsRequest(input *DescribeActionTargetsInput) (req *request.Request, output *DescribeActionTargetsOutput) {
1736	op := &request.Operation{
1737		Name:       opDescribeActionTargets,
1738		HTTPMethod: "POST",
1739		HTTPPath:   "/actionTargets/get",
1740		Paginator: &request.Paginator{
1741			InputTokens:     []string{"NextToken"},
1742			OutputTokens:    []string{"NextToken"},
1743			LimitToken:      "MaxResults",
1744			TruncationToken: "",
1745		},
1746	}
1747
1748	if input == nil {
1749		input = &DescribeActionTargetsInput{}
1750	}
1751
1752	output = &DescribeActionTargetsOutput{}
1753	req = c.newRequest(op, input, output)
1754	return
1755}
1756
1757// DescribeActionTargets API operation for AWS SecurityHub.
1758//
1759// Returns a list of the custom action targets in Security Hub in your account.
1760//
1761// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1762// with awserr.Error's Code and Message methods to get detailed information about
1763// the error.
1764//
1765// See the AWS API reference guide for AWS SecurityHub's
1766// API operation DescribeActionTargets for usage and error information.
1767//
1768// Returned Error Types:
1769//   * InternalException
1770//   Internal server error.
1771//
1772//   * InvalidInputException
1773//   The request was rejected because you supplied an invalid or out-of-range
1774//   value for an input parameter.
1775//
1776//   * InvalidAccessException
1777//   There is an issue with the account used to make the request. Either Security
1778//   Hub is not enabled for the account, or the account does not have permission
1779//   to perform this action.
1780//
1781//   * ResourceNotFoundException
1782//   The request was rejected because we can't find the specified resource.
1783//
1784// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeActionTargets
1785func (c *SecurityHub) DescribeActionTargets(input *DescribeActionTargetsInput) (*DescribeActionTargetsOutput, error) {
1786	req, out := c.DescribeActionTargetsRequest(input)
1787	return out, req.Send()
1788}
1789
1790// DescribeActionTargetsWithContext is the same as DescribeActionTargets with the addition of
1791// the ability to pass a context and additional request options.
1792//
1793// See DescribeActionTargets for details on how to use this API operation.
1794//
1795// The context must be non-nil and will be used for request cancellation. If
1796// the context is nil a panic will occur. In the future the SDK may create
1797// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1798// for more information on using Contexts.
1799func (c *SecurityHub) DescribeActionTargetsWithContext(ctx aws.Context, input *DescribeActionTargetsInput, opts ...request.Option) (*DescribeActionTargetsOutput, error) {
1800	req, out := c.DescribeActionTargetsRequest(input)
1801	req.SetContext(ctx)
1802	req.ApplyOptions(opts...)
1803	return out, req.Send()
1804}
1805
1806// DescribeActionTargetsPages iterates over the pages of a DescribeActionTargets operation,
1807// calling the "fn" function with the response data for each page. To stop
1808// iterating, return false from the fn function.
1809//
1810// See DescribeActionTargets method for more information on how to use this operation.
1811//
1812// Note: This operation can generate multiple requests to a service.
1813//
1814//    // Example iterating over at most 3 pages of a DescribeActionTargets operation.
1815//    pageNum := 0
1816//    err := client.DescribeActionTargetsPages(params,
1817//        func(page *securityhub.DescribeActionTargetsOutput, lastPage bool) bool {
1818//            pageNum++
1819//            fmt.Println(page)
1820//            return pageNum <= 3
1821//        })
1822//
1823func (c *SecurityHub) DescribeActionTargetsPages(input *DescribeActionTargetsInput, fn func(*DescribeActionTargetsOutput, bool) bool) error {
1824	return c.DescribeActionTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
1825}
1826
1827// DescribeActionTargetsPagesWithContext same as DescribeActionTargetsPages except
1828// it takes a Context and allows setting request options on the pages.
1829//
1830// The context must be non-nil and will be used for request cancellation. If
1831// the context is nil a panic will occur. In the future the SDK may create
1832// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1833// for more information on using Contexts.
1834func (c *SecurityHub) DescribeActionTargetsPagesWithContext(ctx aws.Context, input *DescribeActionTargetsInput, fn func(*DescribeActionTargetsOutput, bool) bool, opts ...request.Option) error {
1835	p := request.Pagination{
1836		NewRequest: func() (*request.Request, error) {
1837			var inCpy *DescribeActionTargetsInput
1838			if input != nil {
1839				tmp := *input
1840				inCpy = &tmp
1841			}
1842			req, _ := c.DescribeActionTargetsRequest(inCpy)
1843			req.SetContext(ctx)
1844			req.ApplyOptions(opts...)
1845			return req, nil
1846		},
1847	}
1848
1849	for p.Next() {
1850		if !fn(p.Page().(*DescribeActionTargetsOutput), !p.HasNextPage()) {
1851			break
1852		}
1853	}
1854
1855	return p.Err()
1856}
1857
1858const opDescribeHub = "DescribeHub"
1859
1860// DescribeHubRequest generates a "aws/request.Request" representing the
1861// client's request for the DescribeHub operation. The "output" return
1862// value will be populated with the request's response once the request completes
1863// successfully.
1864//
1865// Use "Send" method on the returned Request to send the API call to the service.
1866// the "output" return value is not valid until after Send returns without error.
1867//
1868// See DescribeHub for more information on using the DescribeHub
1869// API call, and error handling.
1870//
1871// This method is useful when you want to inject custom logic or configuration
1872// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1873//
1874//
1875//    // Example sending a request using the DescribeHubRequest method.
1876//    req, resp := client.DescribeHubRequest(params)
1877//
1878//    err := req.Send()
1879//    if err == nil { // resp is now filled
1880//        fmt.Println(resp)
1881//    }
1882//
1883// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeHub
1884func (c *SecurityHub) DescribeHubRequest(input *DescribeHubInput) (req *request.Request, output *DescribeHubOutput) {
1885	op := &request.Operation{
1886		Name:       opDescribeHub,
1887		HTTPMethod: "GET",
1888		HTTPPath:   "/accounts",
1889	}
1890
1891	if input == nil {
1892		input = &DescribeHubInput{}
1893	}
1894
1895	output = &DescribeHubOutput{}
1896	req = c.newRequest(op, input, output)
1897	return
1898}
1899
1900// DescribeHub API operation for AWS SecurityHub.
1901//
1902// Returns details about the Hub resource in your account, including the HubArn
1903// and the time when you enabled Security Hub.
1904//
1905// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1906// with awserr.Error's Code and Message methods to get detailed information about
1907// the error.
1908//
1909// See the AWS API reference guide for AWS SecurityHub's
1910// API operation DescribeHub for usage and error information.
1911//
1912// Returned Error Types:
1913//   * InternalException
1914//   Internal server error.
1915//
1916//   * LimitExceededException
1917//   The request was rejected because it attempted to create resources beyond
1918//   the current Amazon Web Services account or throttling limits. The error code
1919//   describes the limit exceeded.
1920//
1921//   * InvalidAccessException
1922//   There is an issue with the account used to make the request. Either Security
1923//   Hub is not enabled for the account, or the account does not have permission
1924//   to perform this action.
1925//
1926//   * InvalidInputException
1927//   The request was rejected because you supplied an invalid or out-of-range
1928//   value for an input parameter.
1929//
1930//   * ResourceNotFoundException
1931//   The request was rejected because we can't find the specified resource.
1932//
1933// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeHub
1934func (c *SecurityHub) DescribeHub(input *DescribeHubInput) (*DescribeHubOutput, error) {
1935	req, out := c.DescribeHubRequest(input)
1936	return out, req.Send()
1937}
1938
1939// DescribeHubWithContext is the same as DescribeHub with the addition of
1940// the ability to pass a context and additional request options.
1941//
1942// See DescribeHub for details on how to use this API operation.
1943//
1944// The context must be non-nil and will be used for request cancellation. If
1945// the context is nil a panic will occur. In the future the SDK may create
1946// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1947// for more information on using Contexts.
1948func (c *SecurityHub) DescribeHubWithContext(ctx aws.Context, input *DescribeHubInput, opts ...request.Option) (*DescribeHubOutput, error) {
1949	req, out := c.DescribeHubRequest(input)
1950	req.SetContext(ctx)
1951	req.ApplyOptions(opts...)
1952	return out, req.Send()
1953}
1954
1955const opDescribeOrganizationConfiguration = "DescribeOrganizationConfiguration"
1956
1957// DescribeOrganizationConfigurationRequest generates a "aws/request.Request" representing the
1958// client's request for the DescribeOrganizationConfiguration operation. The "output" return
1959// value will be populated with the request's response once the request completes
1960// successfully.
1961//
1962// Use "Send" method on the returned Request to send the API call to the service.
1963// the "output" return value is not valid until after Send returns without error.
1964//
1965// See DescribeOrganizationConfiguration for more information on using the DescribeOrganizationConfiguration
1966// API call, and error handling.
1967//
1968// This method is useful when you want to inject custom logic or configuration
1969// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1970//
1971//
1972//    // Example sending a request using the DescribeOrganizationConfigurationRequest method.
1973//    req, resp := client.DescribeOrganizationConfigurationRequest(params)
1974//
1975//    err := req.Send()
1976//    if err == nil { // resp is now filled
1977//        fmt.Println(resp)
1978//    }
1979//
1980// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeOrganizationConfiguration
1981func (c *SecurityHub) DescribeOrganizationConfigurationRequest(input *DescribeOrganizationConfigurationInput) (req *request.Request, output *DescribeOrganizationConfigurationOutput) {
1982	op := &request.Operation{
1983		Name:       opDescribeOrganizationConfiguration,
1984		HTTPMethod: "GET",
1985		HTTPPath:   "/organization/configuration",
1986	}
1987
1988	if input == nil {
1989		input = &DescribeOrganizationConfigurationInput{}
1990	}
1991
1992	output = &DescribeOrganizationConfigurationOutput{}
1993	req = c.newRequest(op, input, output)
1994	return
1995}
1996
1997// DescribeOrganizationConfiguration API operation for AWS SecurityHub.
1998//
1999// Returns information about the Organizations configuration for Security Hub.
2000// Can only be called from a Security Hub administrator account.
2001//
2002// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2003// with awserr.Error's Code and Message methods to get detailed information about
2004// the error.
2005//
2006// See the AWS API reference guide for AWS SecurityHub's
2007// API operation DescribeOrganizationConfiguration for usage and error information.
2008//
2009// Returned Error Types:
2010//   * InternalException
2011//   Internal server error.
2012//
2013//   * InvalidInputException
2014//   The request was rejected because you supplied an invalid or out-of-range
2015//   value for an input parameter.
2016//
2017//   * InvalidAccessException
2018//   There is an issue with the account used to make the request. Either Security
2019//   Hub is not enabled for the account, or the account does not have permission
2020//   to perform this action.
2021//
2022//   * LimitExceededException
2023//   The request was rejected because it attempted to create resources beyond
2024//   the current Amazon Web Services account or throttling limits. The error code
2025//   describes the limit exceeded.
2026//
2027// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeOrganizationConfiguration
2028func (c *SecurityHub) DescribeOrganizationConfiguration(input *DescribeOrganizationConfigurationInput) (*DescribeOrganizationConfigurationOutput, error) {
2029	req, out := c.DescribeOrganizationConfigurationRequest(input)
2030	return out, req.Send()
2031}
2032
2033// DescribeOrganizationConfigurationWithContext is the same as DescribeOrganizationConfiguration with the addition of
2034// the ability to pass a context and additional request options.
2035//
2036// See DescribeOrganizationConfiguration for details on how to use this API operation.
2037//
2038// The context must be non-nil and will be used for request cancellation. If
2039// the context is nil a panic will occur. In the future the SDK may create
2040// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2041// for more information on using Contexts.
2042func (c *SecurityHub) DescribeOrganizationConfigurationWithContext(ctx aws.Context, input *DescribeOrganizationConfigurationInput, opts ...request.Option) (*DescribeOrganizationConfigurationOutput, error) {
2043	req, out := c.DescribeOrganizationConfigurationRequest(input)
2044	req.SetContext(ctx)
2045	req.ApplyOptions(opts...)
2046	return out, req.Send()
2047}
2048
2049const opDescribeProducts = "DescribeProducts"
2050
2051// DescribeProductsRequest generates a "aws/request.Request" representing the
2052// client's request for the DescribeProducts operation. The "output" return
2053// value will be populated with the request's response once the request completes
2054// successfully.
2055//
2056// Use "Send" method on the returned Request to send the API call to the service.
2057// the "output" return value is not valid until after Send returns without error.
2058//
2059// See DescribeProducts for more information on using the DescribeProducts
2060// API call, and error handling.
2061//
2062// This method is useful when you want to inject custom logic or configuration
2063// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2064//
2065//
2066//    // Example sending a request using the DescribeProductsRequest method.
2067//    req, resp := client.DescribeProductsRequest(params)
2068//
2069//    err := req.Send()
2070//    if err == nil { // resp is now filled
2071//        fmt.Println(resp)
2072//    }
2073//
2074// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeProducts
2075func (c *SecurityHub) DescribeProductsRequest(input *DescribeProductsInput) (req *request.Request, output *DescribeProductsOutput) {
2076	op := &request.Operation{
2077		Name:       opDescribeProducts,
2078		HTTPMethod: "GET",
2079		HTTPPath:   "/products",
2080		Paginator: &request.Paginator{
2081			InputTokens:     []string{"NextToken"},
2082			OutputTokens:    []string{"NextToken"},
2083			LimitToken:      "MaxResults",
2084			TruncationToken: "",
2085		},
2086	}
2087
2088	if input == nil {
2089		input = &DescribeProductsInput{}
2090	}
2091
2092	output = &DescribeProductsOutput{}
2093	req = c.newRequest(op, input, output)
2094	return
2095}
2096
2097// DescribeProducts API operation for AWS SecurityHub.
2098//
2099// Returns information about product integrations in Security Hub.
2100//
2101// You can optionally provide an integration ARN. If you provide an integration
2102// ARN, then the results only include that integration.
2103//
2104// If you do not provide an integration ARN, then the results include all of
2105// the available product integrations.
2106//
2107// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2108// with awserr.Error's Code and Message methods to get detailed information about
2109// the error.
2110//
2111// See the AWS API reference guide for AWS SecurityHub's
2112// API operation DescribeProducts for usage and error information.
2113//
2114// Returned Error Types:
2115//   * InternalException
2116//   Internal server error.
2117//
2118//   * LimitExceededException
2119//   The request was rejected because it attempted to create resources beyond
2120//   the current Amazon Web Services account or throttling limits. The error code
2121//   describes the limit exceeded.
2122//
2123//   * InvalidAccessException
2124//   There is an issue with the account used to make the request. Either Security
2125//   Hub is not enabled for the account, or the account does not have permission
2126//   to perform this action.
2127//
2128//   * InvalidInputException
2129//   The request was rejected because you supplied an invalid or out-of-range
2130//   value for an input parameter.
2131//
2132// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeProducts
2133func (c *SecurityHub) DescribeProducts(input *DescribeProductsInput) (*DescribeProductsOutput, error) {
2134	req, out := c.DescribeProductsRequest(input)
2135	return out, req.Send()
2136}
2137
2138// DescribeProductsWithContext is the same as DescribeProducts with the addition of
2139// the ability to pass a context and additional request options.
2140//
2141// See DescribeProducts for details on how to use this API operation.
2142//
2143// The context must be non-nil and will be used for request cancellation. If
2144// the context is nil a panic will occur. In the future the SDK may create
2145// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2146// for more information on using Contexts.
2147func (c *SecurityHub) DescribeProductsWithContext(ctx aws.Context, input *DescribeProductsInput, opts ...request.Option) (*DescribeProductsOutput, error) {
2148	req, out := c.DescribeProductsRequest(input)
2149	req.SetContext(ctx)
2150	req.ApplyOptions(opts...)
2151	return out, req.Send()
2152}
2153
2154// DescribeProductsPages iterates over the pages of a DescribeProducts operation,
2155// calling the "fn" function with the response data for each page. To stop
2156// iterating, return false from the fn function.
2157//
2158// See DescribeProducts method for more information on how to use this operation.
2159//
2160// Note: This operation can generate multiple requests to a service.
2161//
2162//    // Example iterating over at most 3 pages of a DescribeProducts operation.
2163//    pageNum := 0
2164//    err := client.DescribeProductsPages(params,
2165//        func(page *securityhub.DescribeProductsOutput, lastPage bool) bool {
2166//            pageNum++
2167//            fmt.Println(page)
2168//            return pageNum <= 3
2169//        })
2170//
2171func (c *SecurityHub) DescribeProductsPages(input *DescribeProductsInput, fn func(*DescribeProductsOutput, bool) bool) error {
2172	return c.DescribeProductsPagesWithContext(aws.BackgroundContext(), input, fn)
2173}
2174
2175// DescribeProductsPagesWithContext same as DescribeProductsPages except
2176// it takes a Context and allows setting request options on the pages.
2177//
2178// The context must be non-nil and will be used for request cancellation. If
2179// the context is nil a panic will occur. In the future the SDK may create
2180// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2181// for more information on using Contexts.
2182func (c *SecurityHub) DescribeProductsPagesWithContext(ctx aws.Context, input *DescribeProductsInput, fn func(*DescribeProductsOutput, bool) bool, opts ...request.Option) error {
2183	p := request.Pagination{
2184		NewRequest: func() (*request.Request, error) {
2185			var inCpy *DescribeProductsInput
2186			if input != nil {
2187				tmp := *input
2188				inCpy = &tmp
2189			}
2190			req, _ := c.DescribeProductsRequest(inCpy)
2191			req.SetContext(ctx)
2192			req.ApplyOptions(opts...)
2193			return req, nil
2194		},
2195	}
2196
2197	for p.Next() {
2198		if !fn(p.Page().(*DescribeProductsOutput), !p.HasNextPage()) {
2199			break
2200		}
2201	}
2202
2203	return p.Err()
2204}
2205
2206const opDescribeStandards = "DescribeStandards"
2207
2208// DescribeStandardsRequest generates a "aws/request.Request" representing the
2209// client's request for the DescribeStandards operation. The "output" return
2210// value will be populated with the request's response once the request completes
2211// successfully.
2212//
2213// Use "Send" method on the returned Request to send the API call to the service.
2214// the "output" return value is not valid until after Send returns without error.
2215//
2216// See DescribeStandards for more information on using the DescribeStandards
2217// API call, and error handling.
2218//
2219// This method is useful when you want to inject custom logic or configuration
2220// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2221//
2222//
2223//    // Example sending a request using the DescribeStandardsRequest method.
2224//    req, resp := client.DescribeStandardsRequest(params)
2225//
2226//    err := req.Send()
2227//    if err == nil { // resp is now filled
2228//        fmt.Println(resp)
2229//    }
2230//
2231// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandards
2232func (c *SecurityHub) DescribeStandardsRequest(input *DescribeStandardsInput) (req *request.Request, output *DescribeStandardsOutput) {
2233	op := &request.Operation{
2234		Name:       opDescribeStandards,
2235		HTTPMethod: "GET",
2236		HTTPPath:   "/standards",
2237		Paginator: &request.Paginator{
2238			InputTokens:     []string{"NextToken"},
2239			OutputTokens:    []string{"NextToken"},
2240			LimitToken:      "MaxResults",
2241			TruncationToken: "",
2242		},
2243	}
2244
2245	if input == nil {
2246		input = &DescribeStandardsInput{}
2247	}
2248
2249	output = &DescribeStandardsOutput{}
2250	req = c.newRequest(op, input, output)
2251	return
2252}
2253
2254// DescribeStandards API operation for AWS SecurityHub.
2255//
2256// Returns a list of the available standards in Security Hub.
2257//
2258// For each standard, the results include the standard ARN, the name, and a
2259// description.
2260//
2261// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2262// with awserr.Error's Code and Message methods to get detailed information about
2263// the error.
2264//
2265// See the AWS API reference guide for AWS SecurityHub's
2266// API operation DescribeStandards for usage and error information.
2267//
2268// Returned Error Types:
2269//   * InternalException
2270//   Internal server error.
2271//
2272//   * InvalidInputException
2273//   The request was rejected because you supplied an invalid or out-of-range
2274//   value for an input parameter.
2275//
2276//   * InvalidAccessException
2277//   There is an issue with the account used to make the request. Either Security
2278//   Hub is not enabled for the account, or the account does not have permission
2279//   to perform this action.
2280//
2281// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandards
2282func (c *SecurityHub) DescribeStandards(input *DescribeStandardsInput) (*DescribeStandardsOutput, error) {
2283	req, out := c.DescribeStandardsRequest(input)
2284	return out, req.Send()
2285}
2286
2287// DescribeStandardsWithContext is the same as DescribeStandards with the addition of
2288// the ability to pass a context and additional request options.
2289//
2290// See DescribeStandards for details on how to use this API operation.
2291//
2292// The context must be non-nil and will be used for request cancellation. If
2293// the context is nil a panic will occur. In the future the SDK may create
2294// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2295// for more information on using Contexts.
2296func (c *SecurityHub) DescribeStandardsWithContext(ctx aws.Context, input *DescribeStandardsInput, opts ...request.Option) (*DescribeStandardsOutput, error) {
2297	req, out := c.DescribeStandardsRequest(input)
2298	req.SetContext(ctx)
2299	req.ApplyOptions(opts...)
2300	return out, req.Send()
2301}
2302
2303// DescribeStandardsPages iterates over the pages of a DescribeStandards operation,
2304// calling the "fn" function with the response data for each page. To stop
2305// iterating, return false from the fn function.
2306//
2307// See DescribeStandards method for more information on how to use this operation.
2308//
2309// Note: This operation can generate multiple requests to a service.
2310//
2311//    // Example iterating over at most 3 pages of a DescribeStandards operation.
2312//    pageNum := 0
2313//    err := client.DescribeStandardsPages(params,
2314//        func(page *securityhub.DescribeStandardsOutput, lastPage bool) bool {
2315//            pageNum++
2316//            fmt.Println(page)
2317//            return pageNum <= 3
2318//        })
2319//
2320func (c *SecurityHub) DescribeStandardsPages(input *DescribeStandardsInput, fn func(*DescribeStandardsOutput, bool) bool) error {
2321	return c.DescribeStandardsPagesWithContext(aws.BackgroundContext(), input, fn)
2322}
2323
2324// DescribeStandardsPagesWithContext same as DescribeStandardsPages except
2325// it takes a Context and allows setting request options on the pages.
2326//
2327// The context must be non-nil and will be used for request cancellation. If
2328// the context is nil a panic will occur. In the future the SDK may create
2329// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2330// for more information on using Contexts.
2331func (c *SecurityHub) DescribeStandardsPagesWithContext(ctx aws.Context, input *DescribeStandardsInput, fn func(*DescribeStandardsOutput, bool) bool, opts ...request.Option) error {
2332	p := request.Pagination{
2333		NewRequest: func() (*request.Request, error) {
2334			var inCpy *DescribeStandardsInput
2335			if input != nil {
2336				tmp := *input
2337				inCpy = &tmp
2338			}
2339			req, _ := c.DescribeStandardsRequest(inCpy)
2340			req.SetContext(ctx)
2341			req.ApplyOptions(opts...)
2342			return req, nil
2343		},
2344	}
2345
2346	for p.Next() {
2347		if !fn(p.Page().(*DescribeStandardsOutput), !p.HasNextPage()) {
2348			break
2349		}
2350	}
2351
2352	return p.Err()
2353}
2354
2355const opDescribeStandardsControls = "DescribeStandardsControls"
2356
2357// DescribeStandardsControlsRequest generates a "aws/request.Request" representing the
2358// client's request for the DescribeStandardsControls operation. The "output" return
2359// value will be populated with the request's response once the request completes
2360// successfully.
2361//
2362// Use "Send" method on the returned Request to send the API call to the service.
2363// the "output" return value is not valid until after Send returns without error.
2364//
2365// See DescribeStandardsControls for more information on using the DescribeStandardsControls
2366// API call, and error handling.
2367//
2368// This method is useful when you want to inject custom logic or configuration
2369// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2370//
2371//
2372//    // Example sending a request using the DescribeStandardsControlsRequest method.
2373//    req, resp := client.DescribeStandardsControlsRequest(params)
2374//
2375//    err := req.Send()
2376//    if err == nil { // resp is now filled
2377//        fmt.Println(resp)
2378//    }
2379//
2380// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandardsControls
2381func (c *SecurityHub) DescribeStandardsControlsRequest(input *DescribeStandardsControlsInput) (req *request.Request, output *DescribeStandardsControlsOutput) {
2382	op := &request.Operation{
2383		Name:       opDescribeStandardsControls,
2384		HTTPMethod: "GET",
2385		HTTPPath:   "/standards/controls/{StandardsSubscriptionArn+}",
2386		Paginator: &request.Paginator{
2387			InputTokens:     []string{"NextToken"},
2388			OutputTokens:    []string{"NextToken"},
2389			LimitToken:      "MaxResults",
2390			TruncationToken: "",
2391		},
2392	}
2393
2394	if input == nil {
2395		input = &DescribeStandardsControlsInput{}
2396	}
2397
2398	output = &DescribeStandardsControlsOutput{}
2399	req = c.newRequest(op, input, output)
2400	return
2401}
2402
2403// DescribeStandardsControls API operation for AWS SecurityHub.
2404//
2405// Returns a list of security standards controls.
2406//
2407// For each control, the results include information about whether it is currently
2408// enabled, the severity, and a link to remediation information.
2409//
2410// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2411// with awserr.Error's Code and Message methods to get detailed information about
2412// the error.
2413//
2414// See the AWS API reference guide for AWS SecurityHub's
2415// API operation DescribeStandardsControls for usage and error information.
2416//
2417// Returned Error Types:
2418//   * InternalException
2419//   Internal server error.
2420//
2421//   * InvalidInputException
2422//   The request was rejected because you supplied an invalid or out-of-range
2423//   value for an input parameter.
2424//
2425//   * InvalidAccessException
2426//   There is an issue with the account used to make the request. Either Security
2427//   Hub is not enabled for the account, or the account does not have permission
2428//   to perform this action.
2429//
2430//   * ResourceNotFoundException
2431//   The request was rejected because we can't find the specified resource.
2432//
2433// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandardsControls
2434func (c *SecurityHub) DescribeStandardsControls(input *DescribeStandardsControlsInput) (*DescribeStandardsControlsOutput, error) {
2435	req, out := c.DescribeStandardsControlsRequest(input)
2436	return out, req.Send()
2437}
2438
2439// DescribeStandardsControlsWithContext is the same as DescribeStandardsControls with the addition of
2440// the ability to pass a context and additional request options.
2441//
2442// See DescribeStandardsControls for details on how to use this API operation.
2443//
2444// The context must be non-nil and will be used for request cancellation. If
2445// the context is nil a panic will occur. In the future the SDK may create
2446// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2447// for more information on using Contexts.
2448func (c *SecurityHub) DescribeStandardsControlsWithContext(ctx aws.Context, input *DescribeStandardsControlsInput, opts ...request.Option) (*DescribeStandardsControlsOutput, error) {
2449	req, out := c.DescribeStandardsControlsRequest(input)
2450	req.SetContext(ctx)
2451	req.ApplyOptions(opts...)
2452	return out, req.Send()
2453}
2454
2455// DescribeStandardsControlsPages iterates over the pages of a DescribeStandardsControls operation,
2456// calling the "fn" function with the response data for each page. To stop
2457// iterating, return false from the fn function.
2458//
2459// See DescribeStandardsControls method for more information on how to use this operation.
2460//
2461// Note: This operation can generate multiple requests to a service.
2462//
2463//    // Example iterating over at most 3 pages of a DescribeStandardsControls operation.
2464//    pageNum := 0
2465//    err := client.DescribeStandardsControlsPages(params,
2466//        func(page *securityhub.DescribeStandardsControlsOutput, lastPage bool) bool {
2467//            pageNum++
2468//            fmt.Println(page)
2469//            return pageNum <= 3
2470//        })
2471//
2472func (c *SecurityHub) DescribeStandardsControlsPages(input *DescribeStandardsControlsInput, fn func(*DescribeStandardsControlsOutput, bool) bool) error {
2473	return c.DescribeStandardsControlsPagesWithContext(aws.BackgroundContext(), input, fn)
2474}
2475
2476// DescribeStandardsControlsPagesWithContext same as DescribeStandardsControlsPages except
2477// it takes a Context and allows setting request options on the pages.
2478//
2479// The context must be non-nil and will be used for request cancellation. If
2480// the context is nil a panic will occur. In the future the SDK may create
2481// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2482// for more information on using Contexts.
2483func (c *SecurityHub) DescribeStandardsControlsPagesWithContext(ctx aws.Context, input *DescribeStandardsControlsInput, fn func(*DescribeStandardsControlsOutput, bool) bool, opts ...request.Option) error {
2484	p := request.Pagination{
2485		NewRequest: func() (*request.Request, error) {
2486			var inCpy *DescribeStandardsControlsInput
2487			if input != nil {
2488				tmp := *input
2489				inCpy = &tmp
2490			}
2491			req, _ := c.DescribeStandardsControlsRequest(inCpy)
2492			req.SetContext(ctx)
2493			req.ApplyOptions(opts...)
2494			return req, nil
2495		},
2496	}
2497
2498	for p.Next() {
2499		if !fn(p.Page().(*DescribeStandardsControlsOutput), !p.HasNextPage()) {
2500			break
2501		}
2502	}
2503
2504	return p.Err()
2505}
2506
2507const opDisableImportFindingsForProduct = "DisableImportFindingsForProduct"
2508
2509// DisableImportFindingsForProductRequest generates a "aws/request.Request" representing the
2510// client's request for the DisableImportFindingsForProduct operation. The "output" return
2511// value will be populated with the request's response once the request completes
2512// successfully.
2513//
2514// Use "Send" method on the returned Request to send the API call to the service.
2515// the "output" return value is not valid until after Send returns without error.
2516//
2517// See DisableImportFindingsForProduct for more information on using the DisableImportFindingsForProduct
2518// API call, and error handling.
2519//
2520// This method is useful when you want to inject custom logic or configuration
2521// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2522//
2523//
2524//    // Example sending a request using the DisableImportFindingsForProductRequest method.
2525//    req, resp := client.DisableImportFindingsForProductRequest(params)
2526//
2527//    err := req.Send()
2528//    if err == nil { // resp is now filled
2529//        fmt.Println(resp)
2530//    }
2531//
2532// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableImportFindingsForProduct
2533func (c *SecurityHub) DisableImportFindingsForProductRequest(input *DisableImportFindingsForProductInput) (req *request.Request, output *DisableImportFindingsForProductOutput) {
2534	op := &request.Operation{
2535		Name:       opDisableImportFindingsForProduct,
2536		HTTPMethod: "DELETE",
2537		HTTPPath:   "/productSubscriptions/{ProductSubscriptionArn+}",
2538	}
2539
2540	if input == nil {
2541		input = &DisableImportFindingsForProductInput{}
2542	}
2543
2544	output = &DisableImportFindingsForProductOutput{}
2545	req = c.newRequest(op, input, output)
2546	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2547	return
2548}
2549
2550// DisableImportFindingsForProduct API operation for AWS SecurityHub.
2551//
2552// Disables the integration of the specified product with Security Hub. After
2553// the integration is disabled, findings from that product are no longer sent
2554// to Security Hub.
2555//
2556// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2557// with awserr.Error's Code and Message methods to get detailed information about
2558// the error.
2559//
2560// See the AWS API reference guide for AWS SecurityHub's
2561// API operation DisableImportFindingsForProduct for usage and error information.
2562//
2563// Returned Error Types:
2564//   * InternalException
2565//   Internal server error.
2566//
2567//   * InvalidInputException
2568//   The request was rejected because you supplied an invalid or out-of-range
2569//   value for an input parameter.
2570//
2571//   * ResourceNotFoundException
2572//   The request was rejected because we can't find the specified resource.
2573//
2574//   * InvalidAccessException
2575//   There is an issue with the account used to make the request. Either Security
2576//   Hub is not enabled for the account, or the account does not have permission
2577//   to perform this action.
2578//
2579//   * LimitExceededException
2580//   The request was rejected because it attempted to create resources beyond
2581//   the current Amazon Web Services account or throttling limits. The error code
2582//   describes the limit exceeded.
2583//
2584// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableImportFindingsForProduct
2585func (c *SecurityHub) DisableImportFindingsForProduct(input *DisableImportFindingsForProductInput) (*DisableImportFindingsForProductOutput, error) {
2586	req, out := c.DisableImportFindingsForProductRequest(input)
2587	return out, req.Send()
2588}
2589
2590// DisableImportFindingsForProductWithContext is the same as DisableImportFindingsForProduct with the addition of
2591// the ability to pass a context and additional request options.
2592//
2593// See DisableImportFindingsForProduct for details on how to use this API operation.
2594//
2595// The context must be non-nil and will be used for request cancellation. If
2596// the context is nil a panic will occur. In the future the SDK may create
2597// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2598// for more information on using Contexts.
2599func (c *SecurityHub) DisableImportFindingsForProductWithContext(ctx aws.Context, input *DisableImportFindingsForProductInput, opts ...request.Option) (*DisableImportFindingsForProductOutput, error) {
2600	req, out := c.DisableImportFindingsForProductRequest(input)
2601	req.SetContext(ctx)
2602	req.ApplyOptions(opts...)
2603	return out, req.Send()
2604}
2605
2606const opDisableOrganizationAdminAccount = "DisableOrganizationAdminAccount"
2607
2608// DisableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
2609// client's request for the DisableOrganizationAdminAccount operation. The "output" return
2610// value will be populated with the request's response once the request completes
2611// successfully.
2612//
2613// Use "Send" method on the returned Request to send the API call to the service.
2614// the "output" return value is not valid until after Send returns without error.
2615//
2616// See DisableOrganizationAdminAccount for more information on using the DisableOrganizationAdminAccount
2617// API call, and error handling.
2618//
2619// This method is useful when you want to inject custom logic or configuration
2620// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2621//
2622//
2623//    // Example sending a request using the DisableOrganizationAdminAccountRequest method.
2624//    req, resp := client.DisableOrganizationAdminAccountRequest(params)
2625//
2626//    err := req.Send()
2627//    if err == nil { // resp is now filled
2628//        fmt.Println(resp)
2629//    }
2630//
2631// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableOrganizationAdminAccount
2632func (c *SecurityHub) DisableOrganizationAdminAccountRequest(input *DisableOrganizationAdminAccountInput) (req *request.Request, output *DisableOrganizationAdminAccountOutput) {
2633	op := &request.Operation{
2634		Name:       opDisableOrganizationAdminAccount,
2635		HTTPMethod: "POST",
2636		HTTPPath:   "/organization/admin/disable",
2637	}
2638
2639	if input == nil {
2640		input = &DisableOrganizationAdminAccountInput{}
2641	}
2642
2643	output = &DisableOrganizationAdminAccountOutput{}
2644	req = c.newRequest(op, input, output)
2645	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2646	return
2647}
2648
2649// DisableOrganizationAdminAccount API operation for AWS SecurityHub.
2650//
2651// Disables a Security Hub administrator account. Can only be called by the
2652// organization management account.
2653//
2654// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2655// with awserr.Error's Code and Message methods to get detailed information about
2656// the error.
2657//
2658// See the AWS API reference guide for AWS SecurityHub's
2659// API operation DisableOrganizationAdminAccount for usage and error information.
2660//
2661// Returned Error Types:
2662//   * InternalException
2663//   Internal server error.
2664//
2665//   * InvalidInputException
2666//   The request was rejected because you supplied an invalid or out-of-range
2667//   value for an input parameter.
2668//
2669//   * InvalidAccessException
2670//   There is an issue with the account used to make the request. Either Security
2671//   Hub is not enabled for the account, or the account does not have permission
2672//   to perform this action.
2673//
2674//   * LimitExceededException
2675//   The request was rejected because it attempted to create resources beyond
2676//   the current Amazon Web Services account or throttling limits. The error code
2677//   describes the limit exceeded.
2678//
2679// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableOrganizationAdminAccount
2680func (c *SecurityHub) DisableOrganizationAdminAccount(input *DisableOrganizationAdminAccountInput) (*DisableOrganizationAdminAccountOutput, error) {
2681	req, out := c.DisableOrganizationAdminAccountRequest(input)
2682	return out, req.Send()
2683}
2684
2685// DisableOrganizationAdminAccountWithContext is the same as DisableOrganizationAdminAccount with the addition of
2686// the ability to pass a context and additional request options.
2687//
2688// See DisableOrganizationAdminAccount for details on how to use this API operation.
2689//
2690// The context must be non-nil and will be used for request cancellation. If
2691// the context is nil a panic will occur. In the future the SDK may create
2692// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2693// for more information on using Contexts.
2694func (c *SecurityHub) DisableOrganizationAdminAccountWithContext(ctx aws.Context, input *DisableOrganizationAdminAccountInput, opts ...request.Option) (*DisableOrganizationAdminAccountOutput, error) {
2695	req, out := c.DisableOrganizationAdminAccountRequest(input)
2696	req.SetContext(ctx)
2697	req.ApplyOptions(opts...)
2698	return out, req.Send()
2699}
2700
2701const opDisableSecurityHub = "DisableSecurityHub"
2702
2703// DisableSecurityHubRequest generates a "aws/request.Request" representing the
2704// client's request for the DisableSecurityHub operation. The "output" return
2705// value will be populated with the request's response once the request completes
2706// successfully.
2707//
2708// Use "Send" method on the returned Request to send the API call to the service.
2709// the "output" return value is not valid until after Send returns without error.
2710//
2711// See DisableSecurityHub for more information on using the DisableSecurityHub
2712// API call, and error handling.
2713//
2714// This method is useful when you want to inject custom logic or configuration
2715// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2716//
2717//
2718//    // Example sending a request using the DisableSecurityHubRequest method.
2719//    req, resp := client.DisableSecurityHubRequest(params)
2720//
2721//    err := req.Send()
2722//    if err == nil { // resp is now filled
2723//        fmt.Println(resp)
2724//    }
2725//
2726// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableSecurityHub
2727func (c *SecurityHub) DisableSecurityHubRequest(input *DisableSecurityHubInput) (req *request.Request, output *DisableSecurityHubOutput) {
2728	op := &request.Operation{
2729		Name:       opDisableSecurityHub,
2730		HTTPMethod: "DELETE",
2731		HTTPPath:   "/accounts",
2732	}
2733
2734	if input == nil {
2735		input = &DisableSecurityHubInput{}
2736	}
2737
2738	output = &DisableSecurityHubOutput{}
2739	req = c.newRequest(op, input, output)
2740	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2741	return
2742}
2743
2744// DisableSecurityHub API operation for AWS SecurityHub.
2745//
2746// Disables Security Hub in your account only in the current Region. To disable
2747// Security Hub in all Regions, you must submit one request per Region where
2748// you have enabled Security Hub.
2749//
2750// When you disable Security Hub for an administrator account, it doesn't disable
2751// Security Hub for any associated member accounts.
2752//
2753// When you disable Security Hub, your existing findings and insights and any
2754// Security Hub configuration settings are deleted after 90 days and cannot
2755// be recovered. Any standards that were enabled are disabled, and your administrator
2756// and member account associations are removed.
2757//
2758// If you want to save your existing findings, you must export them before you
2759// disable Security Hub.
2760//
2761// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2762// with awserr.Error's Code and Message methods to get detailed information about
2763// the error.
2764//
2765// See the AWS API reference guide for AWS SecurityHub's
2766// API operation DisableSecurityHub for usage and error information.
2767//
2768// Returned Error Types:
2769//   * InternalException
2770//   Internal server error.
2771//
2772//   * LimitExceededException
2773//   The request was rejected because it attempted to create resources beyond
2774//   the current Amazon Web Services account or throttling limits. The error code
2775//   describes the limit exceeded.
2776//
2777//   * InvalidAccessException
2778//   There is an issue with the account used to make the request. Either Security
2779//   Hub is not enabled for the account, or the account does not have permission
2780//   to perform this action.
2781//
2782//   * ResourceNotFoundException
2783//   The request was rejected because we can't find the specified resource.
2784//
2785// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableSecurityHub
2786func (c *SecurityHub) DisableSecurityHub(input *DisableSecurityHubInput) (*DisableSecurityHubOutput, error) {
2787	req, out := c.DisableSecurityHubRequest(input)
2788	return out, req.Send()
2789}
2790
2791// DisableSecurityHubWithContext is the same as DisableSecurityHub with the addition of
2792// the ability to pass a context and additional request options.
2793//
2794// See DisableSecurityHub for details on how to use this API operation.
2795//
2796// The context must be non-nil and will be used for request cancellation. If
2797// the context is nil a panic will occur. In the future the SDK may create
2798// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2799// for more information on using Contexts.
2800func (c *SecurityHub) DisableSecurityHubWithContext(ctx aws.Context, input *DisableSecurityHubInput, opts ...request.Option) (*DisableSecurityHubOutput, error) {
2801	req, out := c.DisableSecurityHubRequest(input)
2802	req.SetContext(ctx)
2803	req.ApplyOptions(opts...)
2804	return out, req.Send()
2805}
2806
2807const opDisassociateFromAdministratorAccount = "DisassociateFromAdministratorAccount"
2808
2809// DisassociateFromAdministratorAccountRequest generates a "aws/request.Request" representing the
2810// client's request for the DisassociateFromAdministratorAccount operation. The "output" return
2811// value will be populated with the request's response once the request completes
2812// successfully.
2813//
2814// Use "Send" method on the returned Request to send the API call to the service.
2815// the "output" return value is not valid until after Send returns without error.
2816//
2817// See DisassociateFromAdministratorAccount for more information on using the DisassociateFromAdministratorAccount
2818// API call, and error handling.
2819//
2820// This method is useful when you want to inject custom logic or configuration
2821// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2822//
2823//
2824//    // Example sending a request using the DisassociateFromAdministratorAccountRequest method.
2825//    req, resp := client.DisassociateFromAdministratorAccountRequest(params)
2826//
2827//    err := req.Send()
2828//    if err == nil { // resp is now filled
2829//        fmt.Println(resp)
2830//    }
2831//
2832// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromAdministratorAccount
2833func (c *SecurityHub) DisassociateFromAdministratorAccountRequest(input *DisassociateFromAdministratorAccountInput) (req *request.Request, output *DisassociateFromAdministratorAccountOutput) {
2834	op := &request.Operation{
2835		Name:       opDisassociateFromAdministratorAccount,
2836		HTTPMethod: "POST",
2837		HTTPPath:   "/administrator/disassociate",
2838	}
2839
2840	if input == nil {
2841		input = &DisassociateFromAdministratorAccountInput{}
2842	}
2843
2844	output = &DisassociateFromAdministratorAccountOutput{}
2845	req = c.newRequest(op, input, output)
2846	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2847	return
2848}
2849
2850// DisassociateFromAdministratorAccount API operation for AWS SecurityHub.
2851//
2852// Disassociates the current Security Hub member account from the associated
2853// administrator account.
2854//
2855// This operation is only used by accounts that are not part of an organization.
2856// For organization accounts, only the administrator account can disassociate
2857// a member account.
2858//
2859// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2860// with awserr.Error's Code and Message methods to get detailed information about
2861// the error.
2862//
2863// See the AWS API reference guide for AWS SecurityHub's
2864// API operation DisassociateFromAdministratorAccount for usage and error information.
2865//
2866// Returned Error Types:
2867//   * InternalException
2868//   Internal server error.
2869//
2870//   * InvalidInputException
2871//   The request was rejected because you supplied an invalid or out-of-range
2872//   value for an input parameter.
2873//
2874//   * InvalidAccessException
2875//   There is an issue with the account used to make the request. Either Security
2876//   Hub is not enabled for the account, or the account does not have permission
2877//   to perform this action.
2878//
2879//   * LimitExceededException
2880//   The request was rejected because it attempted to create resources beyond
2881//   the current Amazon Web Services account or throttling limits. The error code
2882//   describes the limit exceeded.
2883//
2884//   * ResourceNotFoundException
2885//   The request was rejected because we can't find the specified resource.
2886//
2887// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromAdministratorAccount
2888func (c *SecurityHub) DisassociateFromAdministratorAccount(input *DisassociateFromAdministratorAccountInput) (*DisassociateFromAdministratorAccountOutput, error) {
2889	req, out := c.DisassociateFromAdministratorAccountRequest(input)
2890	return out, req.Send()
2891}
2892
2893// DisassociateFromAdministratorAccountWithContext is the same as DisassociateFromAdministratorAccount with the addition of
2894// the ability to pass a context and additional request options.
2895//
2896// See DisassociateFromAdministratorAccount for details on how to use this API operation.
2897//
2898// The context must be non-nil and will be used for request cancellation. If
2899// the context is nil a panic will occur. In the future the SDK may create
2900// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2901// for more information on using Contexts.
2902func (c *SecurityHub) DisassociateFromAdministratorAccountWithContext(ctx aws.Context, input *DisassociateFromAdministratorAccountInput, opts ...request.Option) (*DisassociateFromAdministratorAccountOutput, error) {
2903	req, out := c.DisassociateFromAdministratorAccountRequest(input)
2904	req.SetContext(ctx)
2905	req.ApplyOptions(opts...)
2906	return out, req.Send()
2907}
2908
2909const opDisassociateFromMasterAccount = "DisassociateFromMasterAccount"
2910
2911// DisassociateFromMasterAccountRequest generates a "aws/request.Request" representing the
2912// client's request for the DisassociateFromMasterAccount operation. The "output" return
2913// value will be populated with the request's response once the request completes
2914// successfully.
2915//
2916// Use "Send" method on the returned Request to send the API call to the service.
2917// the "output" return value is not valid until after Send returns without error.
2918//
2919// See DisassociateFromMasterAccount for more information on using the DisassociateFromMasterAccount
2920// API call, and error handling.
2921//
2922// This method is useful when you want to inject custom logic or configuration
2923// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2924//
2925//
2926//    // Example sending a request using the DisassociateFromMasterAccountRequest method.
2927//    req, resp := client.DisassociateFromMasterAccountRequest(params)
2928//
2929//    err := req.Send()
2930//    if err == nil { // resp is now filled
2931//        fmt.Println(resp)
2932//    }
2933//
2934// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromMasterAccount
2935//
2936// Deprecated: This API has been deprecated, use DisassociateFromAdministratorAccount API instead.
2937func (c *SecurityHub) DisassociateFromMasterAccountRequest(input *DisassociateFromMasterAccountInput) (req *request.Request, output *DisassociateFromMasterAccountOutput) {
2938	if c.Client.Config.Logger != nil {
2939		c.Client.Config.Logger.Log("This operation, DisassociateFromMasterAccount, has been deprecated")
2940	}
2941	op := &request.Operation{
2942		Name:       opDisassociateFromMasterAccount,
2943		HTTPMethod: "POST",
2944		HTTPPath:   "/master/disassociate",
2945	}
2946
2947	if input == nil {
2948		input = &DisassociateFromMasterAccountInput{}
2949	}
2950
2951	output = &DisassociateFromMasterAccountOutput{}
2952	req = c.newRequest(op, input, output)
2953	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2954	return
2955}
2956
2957// DisassociateFromMasterAccount API operation for AWS SecurityHub.
2958//
2959// This method is deprecated. Instead, use DisassociateFromAdministratorAccount.
2960//
2961// The Security Hub console continues to use DisassociateFromMasterAccount.
2962// It will eventually change to use DisassociateFromAdministratorAccount. Any
2963// IAM policies that specifically control access to this function must continue
2964// to use DisassociateFromMasterAccount. You should also add DisassociateFromAdministratorAccount
2965// to your policies to ensure that the correct permissions are in place after
2966// the console begins to use DisassociateFromAdministratorAccount.
2967//
2968// Disassociates the current Security Hub member account from the associated
2969// administrator account.
2970//
2971// This operation is only used by accounts that are not part of an organization.
2972// For organization accounts, only the administrator account can disassociate
2973// a member account.
2974//
2975// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2976// with awserr.Error's Code and Message methods to get detailed information about
2977// the error.
2978//
2979// See the AWS API reference guide for AWS SecurityHub's
2980// API operation DisassociateFromMasterAccount for usage and error information.
2981//
2982// Returned Error Types:
2983//   * InternalException
2984//   Internal server error.
2985//
2986//   * InvalidInputException
2987//   The request was rejected because you supplied an invalid or out-of-range
2988//   value for an input parameter.
2989//
2990//   * InvalidAccessException
2991//   There is an issue with the account used to make the request. Either Security
2992//   Hub is not enabled for the account, or the account does not have permission
2993//   to perform this action.
2994//
2995//   * LimitExceededException
2996//   The request was rejected because it attempted to create resources beyond
2997//   the current Amazon Web Services account or throttling limits. The error code
2998//   describes the limit exceeded.
2999//
3000//   * ResourceNotFoundException
3001//   The request was rejected because we can't find the specified resource.
3002//
3003// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromMasterAccount
3004//
3005// Deprecated: This API has been deprecated, use DisassociateFromAdministratorAccount API instead.
3006func (c *SecurityHub) DisassociateFromMasterAccount(input *DisassociateFromMasterAccountInput) (*DisassociateFromMasterAccountOutput, error) {
3007	req, out := c.DisassociateFromMasterAccountRequest(input)
3008	return out, req.Send()
3009}
3010
3011// DisassociateFromMasterAccountWithContext is the same as DisassociateFromMasterAccount with the addition of
3012// the ability to pass a context and additional request options.
3013//
3014// See DisassociateFromMasterAccount for details on how to use this API operation.
3015//
3016// The context must be non-nil and will be used for request cancellation. If
3017// the context is nil a panic will occur. In the future the SDK may create
3018// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3019// for more information on using Contexts.
3020//
3021// Deprecated: This API has been deprecated, use DisassociateFromAdministratorAccount API instead.
3022func (c *SecurityHub) DisassociateFromMasterAccountWithContext(ctx aws.Context, input *DisassociateFromMasterAccountInput, opts ...request.Option) (*DisassociateFromMasterAccountOutput, error) {
3023	req, out := c.DisassociateFromMasterAccountRequest(input)
3024	req.SetContext(ctx)
3025	req.ApplyOptions(opts...)
3026	return out, req.Send()
3027}
3028
3029const opDisassociateMembers = "DisassociateMembers"
3030
3031// DisassociateMembersRequest generates a "aws/request.Request" representing the
3032// client's request for the DisassociateMembers operation. The "output" return
3033// value will be populated with the request's response once the request completes
3034// successfully.
3035//
3036// Use "Send" method on the returned Request to send the API call to the service.
3037// the "output" return value is not valid until after Send returns without error.
3038//
3039// See DisassociateMembers for more information on using the DisassociateMembers
3040// API call, and error handling.
3041//
3042// This method is useful when you want to inject custom logic or configuration
3043// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3044//
3045//
3046//    // Example sending a request using the DisassociateMembersRequest method.
3047//    req, resp := client.DisassociateMembersRequest(params)
3048//
3049//    err := req.Send()
3050//    if err == nil { // resp is now filled
3051//        fmt.Println(resp)
3052//    }
3053//
3054// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateMembers
3055func (c *SecurityHub) DisassociateMembersRequest(input *DisassociateMembersInput) (req *request.Request, output *DisassociateMembersOutput) {
3056	op := &request.Operation{
3057		Name:       opDisassociateMembers,
3058		HTTPMethod: "POST",
3059		HTTPPath:   "/members/disassociate",
3060	}
3061
3062	if input == nil {
3063		input = &DisassociateMembersInput{}
3064	}
3065
3066	output = &DisassociateMembersOutput{}
3067	req = c.newRequest(op, input, output)
3068	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3069	return
3070}
3071
3072// DisassociateMembers API operation for AWS SecurityHub.
3073//
3074// Disassociates the specified member accounts from the associated administrator
3075// account.
3076//
3077// Can be used to disassociate both accounts that are managed using Organizations
3078// and accounts that were invited manually.
3079//
3080// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3081// with awserr.Error's Code and Message methods to get detailed information about
3082// the error.
3083//
3084// See the AWS API reference guide for AWS SecurityHub's
3085// API operation DisassociateMembers for usage and error information.
3086//
3087// Returned Error Types:
3088//   * InternalException
3089//   Internal server error.
3090//
3091//   * InvalidInputException
3092//   The request was rejected because you supplied an invalid or out-of-range
3093//   value for an input parameter.
3094//
3095//   * InvalidAccessException
3096//   There is an issue with the account used to make the request. Either Security
3097//   Hub is not enabled for the account, or the account does not have permission
3098//   to perform this action.
3099//
3100//   * LimitExceededException
3101//   The request was rejected because it attempted to create resources beyond
3102//   the current Amazon Web Services account or throttling limits. The error code
3103//   describes the limit exceeded.
3104//
3105//   * ResourceNotFoundException
3106//   The request was rejected because we can't find the specified resource.
3107//
3108// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateMembers
3109func (c *SecurityHub) DisassociateMembers(input *DisassociateMembersInput) (*DisassociateMembersOutput, error) {
3110	req, out := c.DisassociateMembersRequest(input)
3111	return out, req.Send()
3112}
3113
3114// DisassociateMembersWithContext is the same as DisassociateMembers with the addition of
3115// the ability to pass a context and additional request options.
3116//
3117// See DisassociateMembers for details on how to use this API operation.
3118//
3119// The context must be non-nil and will be used for request cancellation. If
3120// the context is nil a panic will occur. In the future the SDK may create
3121// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3122// for more information on using Contexts.
3123func (c *SecurityHub) DisassociateMembersWithContext(ctx aws.Context, input *DisassociateMembersInput, opts ...request.Option) (*DisassociateMembersOutput, error) {
3124	req, out := c.DisassociateMembersRequest(input)
3125	req.SetContext(ctx)
3126	req.ApplyOptions(opts...)
3127	return out, req.Send()
3128}
3129
3130const opEnableImportFindingsForProduct = "EnableImportFindingsForProduct"
3131
3132// EnableImportFindingsForProductRequest generates a "aws/request.Request" representing the
3133// client's request for the EnableImportFindingsForProduct operation. The "output" return
3134// value will be populated with the request's response once the request completes
3135// successfully.
3136//
3137// Use "Send" method on the returned Request to send the API call to the service.
3138// the "output" return value is not valid until after Send returns without error.
3139//
3140// See EnableImportFindingsForProduct for more information on using the EnableImportFindingsForProduct
3141// API call, and error handling.
3142//
3143// This method is useful when you want to inject custom logic or configuration
3144// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3145//
3146//
3147//    // Example sending a request using the EnableImportFindingsForProductRequest method.
3148//    req, resp := client.EnableImportFindingsForProductRequest(params)
3149//
3150//    err := req.Send()
3151//    if err == nil { // resp is now filled
3152//        fmt.Println(resp)
3153//    }
3154//
3155// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableImportFindingsForProduct
3156func (c *SecurityHub) EnableImportFindingsForProductRequest(input *EnableImportFindingsForProductInput) (req *request.Request, output *EnableImportFindingsForProductOutput) {
3157	op := &request.Operation{
3158		Name:       opEnableImportFindingsForProduct,
3159		HTTPMethod: "POST",
3160		HTTPPath:   "/productSubscriptions",
3161	}
3162
3163	if input == nil {
3164		input = &EnableImportFindingsForProductInput{}
3165	}
3166
3167	output = &EnableImportFindingsForProductOutput{}
3168	req = c.newRequest(op, input, output)
3169	return
3170}
3171
3172// EnableImportFindingsForProduct API operation for AWS SecurityHub.
3173//
3174// Enables the integration of a partner product with Security Hub. Integrated
3175// products send findings to Security Hub.
3176//
3177// When you enable a product integration, a permissions policy that grants permission
3178// for the product to send findings to Security Hub is applied.
3179//
3180// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3181// with awserr.Error's Code and Message methods to get detailed information about
3182// the error.
3183//
3184// See the AWS API reference guide for AWS SecurityHub's
3185// API operation EnableImportFindingsForProduct for usage and error information.
3186//
3187// Returned Error Types:
3188//   * InternalException
3189//   Internal server error.
3190//
3191//   * InvalidInputException
3192//   The request was rejected because you supplied an invalid or out-of-range
3193//   value for an input parameter.
3194//
3195//   * InvalidAccessException
3196//   There is an issue with the account used to make the request. Either Security
3197//   Hub is not enabled for the account, or the account does not have permission
3198//   to perform this action.
3199//
3200//   * ResourceConflictException
3201//   The resource specified in the request conflicts with an existing resource.
3202//
3203//   * LimitExceededException
3204//   The request was rejected because it attempted to create resources beyond
3205//   the current Amazon Web Services account or throttling limits. The error code
3206//   describes the limit exceeded.
3207//
3208// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableImportFindingsForProduct
3209func (c *SecurityHub) EnableImportFindingsForProduct(input *EnableImportFindingsForProductInput) (*EnableImportFindingsForProductOutput, error) {
3210	req, out := c.EnableImportFindingsForProductRequest(input)
3211	return out, req.Send()
3212}
3213
3214// EnableImportFindingsForProductWithContext is the same as EnableImportFindingsForProduct with the addition of
3215// the ability to pass a context and additional request options.
3216//
3217// See EnableImportFindingsForProduct for details on how to use this API operation.
3218//
3219// The context must be non-nil and will be used for request cancellation. If
3220// the context is nil a panic will occur. In the future the SDK may create
3221// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3222// for more information on using Contexts.
3223func (c *SecurityHub) EnableImportFindingsForProductWithContext(ctx aws.Context, input *EnableImportFindingsForProductInput, opts ...request.Option) (*EnableImportFindingsForProductOutput, error) {
3224	req, out := c.EnableImportFindingsForProductRequest(input)
3225	req.SetContext(ctx)
3226	req.ApplyOptions(opts...)
3227	return out, req.Send()
3228}
3229
3230const opEnableOrganizationAdminAccount = "EnableOrganizationAdminAccount"
3231
3232// EnableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
3233// client's request for the EnableOrganizationAdminAccount operation. The "output" return
3234// value will be populated with the request's response once the request completes
3235// successfully.
3236//
3237// Use "Send" method on the returned Request to send the API call to the service.
3238// the "output" return value is not valid until after Send returns without error.
3239//
3240// See EnableOrganizationAdminAccount for more information on using the EnableOrganizationAdminAccount
3241// API call, and error handling.
3242//
3243// This method is useful when you want to inject custom logic or configuration
3244// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3245//
3246//
3247//    // Example sending a request using the EnableOrganizationAdminAccountRequest method.
3248//    req, resp := client.EnableOrganizationAdminAccountRequest(params)
3249//
3250//    err := req.Send()
3251//    if err == nil { // resp is now filled
3252//        fmt.Println(resp)
3253//    }
3254//
3255// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableOrganizationAdminAccount
3256func (c *SecurityHub) EnableOrganizationAdminAccountRequest(input *EnableOrganizationAdminAccountInput) (req *request.Request, output *EnableOrganizationAdminAccountOutput) {
3257	op := &request.Operation{
3258		Name:       opEnableOrganizationAdminAccount,
3259		HTTPMethod: "POST",
3260		HTTPPath:   "/organization/admin/enable",
3261	}
3262
3263	if input == nil {
3264		input = &EnableOrganizationAdminAccountInput{}
3265	}
3266
3267	output = &EnableOrganizationAdminAccountOutput{}
3268	req = c.newRequest(op, input, output)
3269	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3270	return
3271}
3272
3273// EnableOrganizationAdminAccount API operation for AWS SecurityHub.
3274//
3275// Designates the Security Hub administrator account for an organization. Can
3276// only be called by the organization management account.
3277//
3278// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3279// with awserr.Error's Code and Message methods to get detailed information about
3280// the error.
3281//
3282// See the AWS API reference guide for AWS SecurityHub's
3283// API operation EnableOrganizationAdminAccount for usage and error information.
3284//
3285// Returned Error Types:
3286//   * InternalException
3287//   Internal server error.
3288//
3289//   * InvalidInputException
3290//   The request was rejected because you supplied an invalid or out-of-range
3291//   value for an input parameter.
3292//
3293//   * InvalidAccessException
3294//   There is an issue with the account used to make the request. Either Security
3295//   Hub is not enabled for the account, or the account does not have permission
3296//   to perform this action.
3297//
3298//   * LimitExceededException
3299//   The request was rejected because it attempted to create resources beyond
3300//   the current Amazon Web Services account or throttling limits. The error code
3301//   describes the limit exceeded.
3302//
3303// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableOrganizationAdminAccount
3304func (c *SecurityHub) EnableOrganizationAdminAccount(input *EnableOrganizationAdminAccountInput) (*EnableOrganizationAdminAccountOutput, error) {
3305	req, out := c.EnableOrganizationAdminAccountRequest(input)
3306	return out, req.Send()
3307}
3308
3309// EnableOrganizationAdminAccountWithContext is the same as EnableOrganizationAdminAccount with the addition of
3310// the ability to pass a context and additional request options.
3311//
3312// See EnableOrganizationAdminAccount for details on how to use this API operation.
3313//
3314// The context must be non-nil and will be used for request cancellation. If
3315// the context is nil a panic will occur. In the future the SDK may create
3316// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3317// for more information on using Contexts.
3318func (c *SecurityHub) EnableOrganizationAdminAccountWithContext(ctx aws.Context, input *EnableOrganizationAdminAccountInput, opts ...request.Option) (*EnableOrganizationAdminAccountOutput, error) {
3319	req, out := c.EnableOrganizationAdminAccountRequest(input)
3320	req.SetContext(ctx)
3321	req.ApplyOptions(opts...)
3322	return out, req.Send()
3323}
3324
3325const opEnableSecurityHub = "EnableSecurityHub"
3326
3327// EnableSecurityHubRequest generates a "aws/request.Request" representing the
3328// client's request for the EnableSecurityHub operation. The "output" return
3329// value will be populated with the request's response once the request completes
3330// successfully.
3331//
3332// Use "Send" method on the returned Request to send the API call to the service.
3333// the "output" return value is not valid until after Send returns without error.
3334//
3335// See EnableSecurityHub for more information on using the EnableSecurityHub
3336// API call, and error handling.
3337//
3338// This method is useful when you want to inject custom logic or configuration
3339// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3340//
3341//
3342//    // Example sending a request using the EnableSecurityHubRequest method.
3343//    req, resp := client.EnableSecurityHubRequest(params)
3344//
3345//    err := req.Send()
3346//    if err == nil { // resp is now filled
3347//        fmt.Println(resp)
3348//    }
3349//
3350// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableSecurityHub
3351func (c *SecurityHub) EnableSecurityHubRequest(input *EnableSecurityHubInput) (req *request.Request, output *EnableSecurityHubOutput) {
3352	op := &request.Operation{
3353		Name:       opEnableSecurityHub,
3354		HTTPMethod: "POST",
3355		HTTPPath:   "/accounts",
3356	}
3357
3358	if input == nil {
3359		input = &EnableSecurityHubInput{}
3360	}
3361
3362	output = &EnableSecurityHubOutput{}
3363	req = c.newRequest(op, input, output)
3364	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3365	return
3366}
3367
3368// EnableSecurityHub API operation for AWS SecurityHub.
3369//
3370// Enables Security Hub for your account in the current Region or the Region
3371// you specify in the request.
3372//
3373// When you enable Security Hub, you grant to Security Hub the permissions necessary
3374// to gather findings from other services that are integrated with Security
3375// Hub.
3376//
3377// When you use the EnableSecurityHub operation to enable Security Hub, you
3378// also automatically enable the following standards.
3379//
3380//    * CIS Amazon Web Services Foundations
3381//
3382//    * Amazon Web Services Foundational Security Best Practices
3383//
3384// You do not enable the Payment Card Industry Data Security Standard (PCI DSS)
3385// standard.
3386//
3387// To not enable the automatically enabled standards, set EnableDefaultStandards
3388// to false.
3389//
3390// After you enable Security Hub, to enable a standard, use the BatchEnableStandards
3391// operation. To disable a standard, use the BatchDisableStandards operation.
3392//
3393// To learn more, see the setup information (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-settingup.html)
3394// in the Security Hub User Guide.
3395//
3396// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3397// with awserr.Error's Code and Message methods to get detailed information about
3398// the error.
3399//
3400// See the AWS API reference guide for AWS SecurityHub's
3401// API operation EnableSecurityHub for usage and error information.
3402//
3403// Returned Error Types:
3404//   * InternalException
3405//   Internal server error.
3406//
3407//   * LimitExceededException
3408//   The request was rejected because it attempted to create resources beyond
3409//   the current Amazon Web Services account or throttling limits. The error code
3410//   describes the limit exceeded.
3411//
3412//   * InvalidAccessException
3413//   There is an issue with the account used to make the request. Either Security
3414//   Hub is not enabled for the account, or the account does not have permission
3415//   to perform this action.
3416//
3417//   * ResourceConflictException
3418//   The resource specified in the request conflicts with an existing resource.
3419//
3420//   * AccessDeniedException
3421//   You don't have permission to perform the action specified in the request.
3422//
3423// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableSecurityHub
3424func (c *SecurityHub) EnableSecurityHub(input *EnableSecurityHubInput) (*EnableSecurityHubOutput, error) {
3425	req, out := c.EnableSecurityHubRequest(input)
3426	return out, req.Send()
3427}
3428
3429// EnableSecurityHubWithContext is the same as EnableSecurityHub with the addition of
3430// the ability to pass a context and additional request options.
3431//
3432// See EnableSecurityHub for details on how to use this API operation.
3433//
3434// The context must be non-nil and will be used for request cancellation. If
3435// the context is nil a panic will occur. In the future the SDK may create
3436// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3437// for more information on using Contexts.
3438func (c *SecurityHub) EnableSecurityHubWithContext(ctx aws.Context, input *EnableSecurityHubInput, opts ...request.Option) (*EnableSecurityHubOutput, error) {
3439	req, out := c.EnableSecurityHubRequest(input)
3440	req.SetContext(ctx)
3441	req.ApplyOptions(opts...)
3442	return out, req.Send()
3443}
3444
3445const opGetAdministratorAccount = "GetAdministratorAccount"
3446
3447// GetAdministratorAccountRequest generates a "aws/request.Request" representing the
3448// client's request for the GetAdministratorAccount operation. The "output" return
3449// value will be populated with the request's response once the request completes
3450// successfully.
3451//
3452// Use "Send" method on the returned Request to send the API call to the service.
3453// the "output" return value is not valid until after Send returns without error.
3454//
3455// See GetAdministratorAccount for more information on using the GetAdministratorAccount
3456// API call, and error handling.
3457//
3458// This method is useful when you want to inject custom logic or configuration
3459// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3460//
3461//
3462//    // Example sending a request using the GetAdministratorAccountRequest method.
3463//    req, resp := client.GetAdministratorAccountRequest(params)
3464//
3465//    err := req.Send()
3466//    if err == nil { // resp is now filled
3467//        fmt.Println(resp)
3468//    }
3469//
3470// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetAdministratorAccount
3471func (c *SecurityHub) GetAdministratorAccountRequest(input *GetAdministratorAccountInput) (req *request.Request, output *GetAdministratorAccountOutput) {
3472	op := &request.Operation{
3473		Name:       opGetAdministratorAccount,
3474		HTTPMethod: "GET",
3475		HTTPPath:   "/administrator",
3476	}
3477
3478	if input == nil {
3479		input = &GetAdministratorAccountInput{}
3480	}
3481
3482	output = &GetAdministratorAccountOutput{}
3483	req = c.newRequest(op, input, output)
3484	return
3485}
3486
3487// GetAdministratorAccount API operation for AWS SecurityHub.
3488//
3489// Provides the details for the Security Hub administrator account for the current
3490// member account.
3491//
3492// Can be used by both member accounts that are managed using Organizations
3493// and accounts that were invited manually.
3494//
3495// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3496// with awserr.Error's Code and Message methods to get detailed information about
3497// the error.
3498//
3499// See the AWS API reference guide for AWS SecurityHub's
3500// API operation GetAdministratorAccount for usage and error information.
3501//
3502// Returned Error Types:
3503//   * InternalException
3504//   Internal server error.
3505//
3506//   * InvalidInputException
3507//   The request was rejected because you supplied an invalid or out-of-range
3508//   value for an input parameter.
3509//
3510//   * InvalidAccessException
3511//   There is an issue with the account used to make the request. Either Security
3512//   Hub is not enabled for the account, or the account does not have permission
3513//   to perform this action.
3514//
3515//   * LimitExceededException
3516//   The request was rejected because it attempted to create resources beyond
3517//   the current Amazon Web Services account or throttling limits. The error code
3518//   describes the limit exceeded.
3519//
3520//   * ResourceNotFoundException
3521//   The request was rejected because we can't find the specified resource.
3522//
3523// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetAdministratorAccount
3524func (c *SecurityHub) GetAdministratorAccount(input *GetAdministratorAccountInput) (*GetAdministratorAccountOutput, error) {
3525	req, out := c.GetAdministratorAccountRequest(input)
3526	return out, req.Send()
3527}
3528
3529// GetAdministratorAccountWithContext is the same as GetAdministratorAccount with the addition of
3530// the ability to pass a context and additional request options.
3531//
3532// See GetAdministratorAccount for details on how to use this API operation.
3533//
3534// The context must be non-nil and will be used for request cancellation. If
3535// the context is nil a panic will occur. In the future the SDK may create
3536// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3537// for more information on using Contexts.
3538func (c *SecurityHub) GetAdministratorAccountWithContext(ctx aws.Context, input *GetAdministratorAccountInput, opts ...request.Option) (*GetAdministratorAccountOutput, error) {
3539	req, out := c.GetAdministratorAccountRequest(input)
3540	req.SetContext(ctx)
3541	req.ApplyOptions(opts...)
3542	return out, req.Send()
3543}
3544
3545const opGetEnabledStandards = "GetEnabledStandards"
3546
3547// GetEnabledStandardsRequest generates a "aws/request.Request" representing the
3548// client's request for the GetEnabledStandards operation. The "output" return
3549// value will be populated with the request's response once the request completes
3550// successfully.
3551//
3552// Use "Send" method on the returned Request to send the API call to the service.
3553// the "output" return value is not valid until after Send returns without error.
3554//
3555// See GetEnabledStandards for more information on using the GetEnabledStandards
3556// API call, and error handling.
3557//
3558// This method is useful when you want to inject custom logic or configuration
3559// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3560//
3561//
3562//    // Example sending a request using the GetEnabledStandardsRequest method.
3563//    req, resp := client.GetEnabledStandardsRequest(params)
3564//
3565//    err := req.Send()
3566//    if err == nil { // resp is now filled
3567//        fmt.Println(resp)
3568//    }
3569//
3570// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetEnabledStandards
3571func (c *SecurityHub) GetEnabledStandardsRequest(input *GetEnabledStandardsInput) (req *request.Request, output *GetEnabledStandardsOutput) {
3572	op := &request.Operation{
3573		Name:       opGetEnabledStandards,
3574		HTTPMethod: "POST",
3575		HTTPPath:   "/standards/get",
3576		Paginator: &request.Paginator{
3577			InputTokens:     []string{"NextToken"},
3578			OutputTokens:    []string{"NextToken"},
3579			LimitToken:      "MaxResults",
3580			TruncationToken: "",
3581		},
3582	}
3583
3584	if input == nil {
3585		input = &GetEnabledStandardsInput{}
3586	}
3587
3588	output = &GetEnabledStandardsOutput{}
3589	req = c.newRequest(op, input, output)
3590	return
3591}
3592
3593// GetEnabledStandards API operation for AWS SecurityHub.
3594//
3595// Returns a list of the standards that are currently enabled.
3596//
3597// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3598// with awserr.Error's Code and Message methods to get detailed information about
3599// the error.
3600//
3601// See the AWS API reference guide for AWS SecurityHub's
3602// API operation GetEnabledStandards for usage and error information.
3603//
3604// Returned Error Types:
3605//   * InternalException
3606//   Internal server error.
3607//
3608//   * InvalidInputException
3609//   The request was rejected because you supplied an invalid or out-of-range
3610//   value for an input parameter.
3611//
3612//   * InvalidAccessException
3613//   There is an issue with the account used to make the request. Either Security
3614//   Hub is not enabled for the account, or the account does not have permission
3615//   to perform this action.
3616//
3617//   * LimitExceededException
3618//   The request was rejected because it attempted to create resources beyond
3619//   the current Amazon Web Services account or throttling limits. The error code
3620//   describes the limit exceeded.
3621//
3622// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetEnabledStandards
3623func (c *SecurityHub) GetEnabledStandards(input *GetEnabledStandardsInput) (*GetEnabledStandardsOutput, error) {
3624	req, out := c.GetEnabledStandardsRequest(input)
3625	return out, req.Send()
3626}
3627
3628// GetEnabledStandardsWithContext is the same as GetEnabledStandards with the addition of
3629// the ability to pass a context and additional request options.
3630//
3631// See GetEnabledStandards for details on how to use this API operation.
3632//
3633// The context must be non-nil and will be used for request cancellation. If
3634// the context is nil a panic will occur. In the future the SDK may create
3635// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3636// for more information on using Contexts.
3637func (c *SecurityHub) GetEnabledStandardsWithContext(ctx aws.Context, input *GetEnabledStandardsInput, opts ...request.Option) (*GetEnabledStandardsOutput, error) {
3638	req, out := c.GetEnabledStandardsRequest(input)
3639	req.SetContext(ctx)
3640	req.ApplyOptions(opts...)
3641	return out, req.Send()
3642}
3643
3644// GetEnabledStandardsPages iterates over the pages of a GetEnabledStandards operation,
3645// calling the "fn" function with the response data for each page. To stop
3646// iterating, return false from the fn function.
3647//
3648// See GetEnabledStandards method for more information on how to use this operation.
3649//
3650// Note: This operation can generate multiple requests to a service.
3651//
3652//    // Example iterating over at most 3 pages of a GetEnabledStandards operation.
3653//    pageNum := 0
3654//    err := client.GetEnabledStandardsPages(params,
3655//        func(page *securityhub.GetEnabledStandardsOutput, lastPage bool) bool {
3656//            pageNum++
3657//            fmt.Println(page)
3658//            return pageNum <= 3
3659//        })
3660//
3661func (c *SecurityHub) GetEnabledStandardsPages(input *GetEnabledStandardsInput, fn func(*GetEnabledStandardsOutput, bool) bool) error {
3662	return c.GetEnabledStandardsPagesWithContext(aws.BackgroundContext(), input, fn)
3663}
3664
3665// GetEnabledStandardsPagesWithContext same as GetEnabledStandardsPages except
3666// it takes a Context and allows setting request options on the pages.
3667//
3668// The context must be non-nil and will be used for request cancellation. If
3669// the context is nil a panic will occur. In the future the SDK may create
3670// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3671// for more information on using Contexts.
3672func (c *SecurityHub) GetEnabledStandardsPagesWithContext(ctx aws.Context, input *GetEnabledStandardsInput, fn func(*GetEnabledStandardsOutput, bool) bool, opts ...request.Option) error {
3673	p := request.Pagination{
3674		NewRequest: func() (*request.Request, error) {
3675			var inCpy *GetEnabledStandardsInput
3676			if input != nil {
3677				tmp := *input
3678				inCpy = &tmp
3679			}
3680			req, _ := c.GetEnabledStandardsRequest(inCpy)
3681			req.SetContext(ctx)
3682			req.ApplyOptions(opts...)
3683			return req, nil
3684		},
3685	}
3686
3687	for p.Next() {
3688		if !fn(p.Page().(*GetEnabledStandardsOutput), !p.HasNextPage()) {
3689			break
3690		}
3691	}
3692
3693	return p.Err()
3694}
3695
3696const opGetFindingAggregator = "GetFindingAggregator"
3697
3698// GetFindingAggregatorRequest generates a "aws/request.Request" representing the
3699// client's request for the GetFindingAggregator operation. The "output" return
3700// value will be populated with the request's response once the request completes
3701// successfully.
3702//
3703// Use "Send" method on the returned Request to send the API call to the service.
3704// the "output" return value is not valid until after Send returns without error.
3705//
3706// See GetFindingAggregator for more information on using the GetFindingAggregator
3707// API call, and error handling.
3708//
3709// This method is useful when you want to inject custom logic or configuration
3710// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3711//
3712//
3713//    // Example sending a request using the GetFindingAggregatorRequest method.
3714//    req, resp := client.GetFindingAggregatorRequest(params)
3715//
3716//    err := req.Send()
3717//    if err == nil { // resp is now filled
3718//        fmt.Println(resp)
3719//    }
3720//
3721// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindingAggregator
3722func (c *SecurityHub) GetFindingAggregatorRequest(input *GetFindingAggregatorInput) (req *request.Request, output *GetFindingAggregatorOutput) {
3723	op := &request.Operation{
3724		Name:       opGetFindingAggregator,
3725		HTTPMethod: "GET",
3726		HTTPPath:   "/findingAggregator/get/{FindingAggregatorArn+}",
3727	}
3728
3729	if input == nil {
3730		input = &GetFindingAggregatorInput{}
3731	}
3732
3733	output = &GetFindingAggregatorOutput{}
3734	req = c.newRequest(op, input, output)
3735	return
3736}
3737
3738// GetFindingAggregator API operation for AWS SecurityHub.
3739//
3740// Returns the current finding aggregation configuration.
3741//
3742// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3743// with awserr.Error's Code and Message methods to get detailed information about
3744// the error.
3745//
3746// See the AWS API reference guide for AWS SecurityHub's
3747// API operation GetFindingAggregator for usage and error information.
3748//
3749// Returned Error Types:
3750//   * InternalException
3751//   Internal server error.
3752//
3753//   * LimitExceededException
3754//   The request was rejected because it attempted to create resources beyond
3755//   the current Amazon Web Services account or throttling limits. The error code
3756//   describes the limit exceeded.
3757//
3758//   * InvalidAccessException
3759//   There is an issue with the account used to make the request. Either Security
3760//   Hub is not enabled for the account, or the account does not have permission
3761//   to perform this action.
3762//
3763//   * AccessDeniedException
3764//   You don't have permission to perform the action specified in the request.
3765//
3766//   * InvalidInputException
3767//   The request was rejected because you supplied an invalid or out-of-range
3768//   value for an input parameter.
3769//
3770//   * ResourceNotFoundException
3771//   The request was rejected because we can't find the specified resource.
3772//
3773// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindingAggregator
3774func (c *SecurityHub) GetFindingAggregator(input *GetFindingAggregatorInput) (*GetFindingAggregatorOutput, error) {
3775	req, out := c.GetFindingAggregatorRequest(input)
3776	return out, req.Send()
3777}
3778
3779// GetFindingAggregatorWithContext is the same as GetFindingAggregator with the addition of
3780// the ability to pass a context and additional request options.
3781//
3782// See GetFindingAggregator for details on how to use this API operation.
3783//
3784// The context must be non-nil and will be used for request cancellation. If
3785// the context is nil a panic will occur. In the future the SDK may create
3786// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3787// for more information on using Contexts.
3788func (c *SecurityHub) GetFindingAggregatorWithContext(ctx aws.Context, input *GetFindingAggregatorInput, opts ...request.Option) (*GetFindingAggregatorOutput, error) {
3789	req, out := c.GetFindingAggregatorRequest(input)
3790	req.SetContext(ctx)
3791	req.ApplyOptions(opts...)
3792	return out, req.Send()
3793}
3794
3795const opGetFindings = "GetFindings"
3796
3797// GetFindingsRequest generates a "aws/request.Request" representing the
3798// client's request for the GetFindings operation. The "output" return
3799// value will be populated with the request's response once the request completes
3800// successfully.
3801//
3802// Use "Send" method on the returned Request to send the API call to the service.
3803// the "output" return value is not valid until after Send returns without error.
3804//
3805// See GetFindings for more information on using the GetFindings
3806// API call, and error handling.
3807//
3808// This method is useful when you want to inject custom logic or configuration
3809// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3810//
3811//
3812//    // Example sending a request using the GetFindingsRequest method.
3813//    req, resp := client.GetFindingsRequest(params)
3814//
3815//    err := req.Send()
3816//    if err == nil { // resp is now filled
3817//        fmt.Println(resp)
3818//    }
3819//
3820// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindings
3821func (c *SecurityHub) GetFindingsRequest(input *GetFindingsInput) (req *request.Request, output *GetFindingsOutput) {
3822	op := &request.Operation{
3823		Name:       opGetFindings,
3824		HTTPMethod: "POST",
3825		HTTPPath:   "/findings",
3826		Paginator: &request.Paginator{
3827			InputTokens:     []string{"NextToken"},
3828			OutputTokens:    []string{"NextToken"},
3829			LimitToken:      "MaxResults",
3830			TruncationToken: "",
3831		},
3832	}
3833
3834	if input == nil {
3835		input = &GetFindingsInput{}
3836	}
3837
3838	output = &GetFindingsOutput{}
3839	req = c.newRequest(op, input, output)
3840	return
3841}
3842
3843// GetFindings API operation for AWS SecurityHub.
3844//
3845// Returns a list of findings that match the specified criteria.
3846//
3847// If finding aggregation is enabled, then when you call GetFindings from the
3848// aggregation Region, the results include all of the matching findings from
3849// both the aggregation Region and the linked Regions.
3850//
3851// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3852// with awserr.Error's Code and Message methods to get detailed information about
3853// the error.
3854//
3855// See the AWS API reference guide for AWS SecurityHub's
3856// API operation GetFindings for usage and error information.
3857//
3858// Returned Error Types:
3859//   * InternalException
3860//   Internal server error.
3861//
3862//   * InvalidInputException
3863//   The request was rejected because you supplied an invalid or out-of-range
3864//   value for an input parameter.
3865//
3866//   * InvalidAccessException
3867//   There is an issue with the account used to make the request. Either Security
3868//   Hub is not enabled for the account, or the account does not have permission
3869//   to perform this action.
3870//
3871//   * LimitExceededException
3872//   The request was rejected because it attempted to create resources beyond
3873//   the current Amazon Web Services account or throttling limits. The error code
3874//   describes the limit exceeded.
3875//
3876// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindings
3877func (c *SecurityHub) GetFindings(input *GetFindingsInput) (*GetFindingsOutput, error) {
3878	req, out := c.GetFindingsRequest(input)
3879	return out, req.Send()
3880}
3881
3882// GetFindingsWithContext is the same as GetFindings with the addition of
3883// the ability to pass a context and additional request options.
3884//
3885// See GetFindings for details on how to use this API operation.
3886//
3887// The context must be non-nil and will be used for request cancellation. If
3888// the context is nil a panic will occur. In the future the SDK may create
3889// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3890// for more information on using Contexts.
3891func (c *SecurityHub) GetFindingsWithContext(ctx aws.Context, input *GetFindingsInput, opts ...request.Option) (*GetFindingsOutput, error) {
3892	req, out := c.GetFindingsRequest(input)
3893	req.SetContext(ctx)
3894	req.ApplyOptions(opts...)
3895	return out, req.Send()
3896}
3897
3898// GetFindingsPages iterates over the pages of a GetFindings operation,
3899// calling the "fn" function with the response data for each page. To stop
3900// iterating, return false from the fn function.
3901//
3902// See GetFindings method for more information on how to use this operation.
3903//
3904// Note: This operation can generate multiple requests to a service.
3905//
3906//    // Example iterating over at most 3 pages of a GetFindings operation.
3907//    pageNum := 0
3908//    err := client.GetFindingsPages(params,
3909//        func(page *securityhub.GetFindingsOutput, lastPage bool) bool {
3910//            pageNum++
3911//            fmt.Println(page)
3912//            return pageNum <= 3
3913//        })
3914//
3915func (c *SecurityHub) GetFindingsPages(input *GetFindingsInput, fn func(*GetFindingsOutput, bool) bool) error {
3916	return c.GetFindingsPagesWithContext(aws.BackgroundContext(), input, fn)
3917}
3918
3919// GetFindingsPagesWithContext same as GetFindingsPages except
3920// it takes a Context and allows setting request options on the pages.
3921//
3922// The context must be non-nil and will be used for request cancellation. If
3923// the context is nil a panic will occur. In the future the SDK may create
3924// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3925// for more information on using Contexts.
3926func (c *SecurityHub) GetFindingsPagesWithContext(ctx aws.Context, input *GetFindingsInput, fn func(*GetFindingsOutput, bool) bool, opts ...request.Option) error {
3927	p := request.Pagination{
3928		NewRequest: func() (*request.Request, error) {
3929			var inCpy *GetFindingsInput
3930			if input != nil {
3931				tmp := *input
3932				inCpy = &tmp
3933			}
3934			req, _ := c.GetFindingsRequest(inCpy)
3935			req.SetContext(ctx)
3936			req.ApplyOptions(opts...)
3937			return req, nil
3938		},
3939	}
3940
3941	for p.Next() {
3942		if !fn(p.Page().(*GetFindingsOutput), !p.HasNextPage()) {
3943			break
3944		}
3945	}
3946
3947	return p.Err()
3948}
3949
3950const opGetInsightResults = "GetInsightResults"
3951
3952// GetInsightResultsRequest generates a "aws/request.Request" representing the
3953// client's request for the GetInsightResults operation. The "output" return
3954// value will be populated with the request's response once the request completes
3955// successfully.
3956//
3957// Use "Send" method on the returned Request to send the API call to the service.
3958// the "output" return value is not valid until after Send returns without error.
3959//
3960// See GetInsightResults for more information on using the GetInsightResults
3961// API call, and error handling.
3962//
3963// This method is useful when you want to inject custom logic or configuration
3964// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3965//
3966//
3967//    // Example sending a request using the GetInsightResultsRequest method.
3968//    req, resp := client.GetInsightResultsRequest(params)
3969//
3970//    err := req.Send()
3971//    if err == nil { // resp is now filled
3972//        fmt.Println(resp)
3973//    }
3974//
3975// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsightResults
3976func (c *SecurityHub) GetInsightResultsRequest(input *GetInsightResultsInput) (req *request.Request, output *GetInsightResultsOutput) {
3977	op := &request.Operation{
3978		Name:       opGetInsightResults,
3979		HTTPMethod: "GET",
3980		HTTPPath:   "/insights/results/{InsightArn+}",
3981	}
3982
3983	if input == nil {
3984		input = &GetInsightResultsInput{}
3985	}
3986
3987	output = &GetInsightResultsOutput{}
3988	req = c.newRequest(op, input, output)
3989	return
3990}
3991
3992// GetInsightResults API operation for AWS SecurityHub.
3993//
3994// Lists the results of the Security Hub insight specified by the insight ARN.
3995//
3996// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3997// with awserr.Error's Code and Message methods to get detailed information about
3998// the error.
3999//
4000// See the AWS API reference guide for AWS SecurityHub's
4001// API operation GetInsightResults for usage and error information.
4002//
4003// Returned Error Types:
4004//   * InternalException
4005//   Internal server error.
4006//
4007//   * InvalidInputException
4008//   The request was rejected because you supplied an invalid or out-of-range
4009//   value for an input parameter.
4010//
4011//   * InvalidAccessException
4012//   There is an issue with the account used to make the request. Either Security
4013//   Hub is not enabled for the account, or the account does not have permission
4014//   to perform this action.
4015//
4016//   * LimitExceededException
4017//   The request was rejected because it attempted to create resources beyond
4018//   the current Amazon Web Services account or throttling limits. The error code
4019//   describes the limit exceeded.
4020//
4021//   * ResourceNotFoundException
4022//   The request was rejected because we can't find the specified resource.
4023//
4024// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsightResults
4025func (c *SecurityHub) GetInsightResults(input *GetInsightResultsInput) (*GetInsightResultsOutput, error) {
4026	req, out := c.GetInsightResultsRequest(input)
4027	return out, req.Send()
4028}
4029
4030// GetInsightResultsWithContext is the same as GetInsightResults with the addition of
4031// the ability to pass a context and additional request options.
4032//
4033// See GetInsightResults for details on how to use this API operation.
4034//
4035// The context must be non-nil and will be used for request cancellation. If
4036// the context is nil a panic will occur. In the future the SDK may create
4037// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4038// for more information on using Contexts.
4039func (c *SecurityHub) GetInsightResultsWithContext(ctx aws.Context, input *GetInsightResultsInput, opts ...request.Option) (*GetInsightResultsOutput, error) {
4040	req, out := c.GetInsightResultsRequest(input)
4041	req.SetContext(ctx)
4042	req.ApplyOptions(opts...)
4043	return out, req.Send()
4044}
4045
4046const opGetInsights = "GetInsights"
4047
4048// GetInsightsRequest generates a "aws/request.Request" representing the
4049// client's request for the GetInsights operation. The "output" return
4050// value will be populated with the request's response once the request completes
4051// successfully.
4052//
4053// Use "Send" method on the returned Request to send the API call to the service.
4054// the "output" return value is not valid until after Send returns without error.
4055//
4056// See GetInsights for more information on using the GetInsights
4057// API call, and error handling.
4058//
4059// This method is useful when you want to inject custom logic or configuration
4060// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4061//
4062//
4063//    // Example sending a request using the GetInsightsRequest method.
4064//    req, resp := client.GetInsightsRequest(params)
4065//
4066//    err := req.Send()
4067//    if err == nil { // resp is now filled
4068//        fmt.Println(resp)
4069//    }
4070//
4071// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsights
4072func (c *SecurityHub) GetInsightsRequest(input *GetInsightsInput) (req *request.Request, output *GetInsightsOutput) {
4073	op := &request.Operation{
4074		Name:       opGetInsights,
4075		HTTPMethod: "POST",
4076		HTTPPath:   "/insights/get",
4077		Paginator: &request.Paginator{
4078			InputTokens:     []string{"NextToken"},
4079			OutputTokens:    []string{"NextToken"},
4080			LimitToken:      "MaxResults",
4081			TruncationToken: "",
4082		},
4083	}
4084
4085	if input == nil {
4086		input = &GetInsightsInput{}
4087	}
4088
4089	output = &GetInsightsOutput{}
4090	req = c.newRequest(op, input, output)
4091	return
4092}
4093
4094// GetInsights API operation for AWS SecurityHub.
4095//
4096// Lists and describes insights for the specified insight ARNs.
4097//
4098// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4099// with awserr.Error's Code and Message methods to get detailed information about
4100// the error.
4101//
4102// See the AWS API reference guide for AWS SecurityHub's
4103// API operation GetInsights for usage and error information.
4104//
4105// Returned Error Types:
4106//   * InternalException
4107//   Internal server error.
4108//
4109//   * InvalidInputException
4110//   The request was rejected because you supplied an invalid or out-of-range
4111//   value for an input parameter.
4112//
4113//   * InvalidAccessException
4114//   There is an issue with the account used to make the request. Either Security
4115//   Hub is not enabled for the account, or the account does not have permission
4116//   to perform this action.
4117//
4118//   * LimitExceededException
4119//   The request was rejected because it attempted to create resources beyond
4120//   the current Amazon Web Services account or throttling limits. The error code
4121//   describes the limit exceeded.
4122//
4123//   * ResourceNotFoundException
4124//   The request was rejected because we can't find the specified resource.
4125//
4126// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsights
4127func (c *SecurityHub) GetInsights(input *GetInsightsInput) (*GetInsightsOutput, error) {
4128	req, out := c.GetInsightsRequest(input)
4129	return out, req.Send()
4130}
4131
4132// GetInsightsWithContext is the same as GetInsights with the addition of
4133// the ability to pass a context and additional request options.
4134//
4135// See GetInsights for details on how to use this API operation.
4136//
4137// The context must be non-nil and will be used for request cancellation. If
4138// the context is nil a panic will occur. In the future the SDK may create
4139// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4140// for more information on using Contexts.
4141func (c *SecurityHub) GetInsightsWithContext(ctx aws.Context, input *GetInsightsInput, opts ...request.Option) (*GetInsightsOutput, error) {
4142	req, out := c.GetInsightsRequest(input)
4143	req.SetContext(ctx)
4144	req.ApplyOptions(opts...)
4145	return out, req.Send()
4146}
4147
4148// GetInsightsPages iterates over the pages of a GetInsights operation,
4149// calling the "fn" function with the response data for each page. To stop
4150// iterating, return false from the fn function.
4151//
4152// See GetInsights method for more information on how to use this operation.
4153//
4154// Note: This operation can generate multiple requests to a service.
4155//
4156//    // Example iterating over at most 3 pages of a GetInsights operation.
4157//    pageNum := 0
4158//    err := client.GetInsightsPages(params,
4159//        func(page *securityhub.GetInsightsOutput, lastPage bool) bool {
4160//            pageNum++
4161//            fmt.Println(page)
4162//            return pageNum <= 3
4163//        })
4164//
4165func (c *SecurityHub) GetInsightsPages(input *GetInsightsInput, fn func(*GetInsightsOutput, bool) bool) error {
4166	return c.GetInsightsPagesWithContext(aws.BackgroundContext(), input, fn)
4167}
4168
4169// GetInsightsPagesWithContext same as GetInsightsPages except
4170// it takes a Context and allows setting request options on the pages.
4171//
4172// The context must be non-nil and will be used for request cancellation. If
4173// the context is nil a panic will occur. In the future the SDK may create
4174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4175// for more information on using Contexts.
4176func (c *SecurityHub) GetInsightsPagesWithContext(ctx aws.Context, input *GetInsightsInput, fn func(*GetInsightsOutput, bool) bool, opts ...request.Option) error {
4177	p := request.Pagination{
4178		NewRequest: func() (*request.Request, error) {
4179			var inCpy *GetInsightsInput
4180			if input != nil {
4181				tmp := *input
4182				inCpy = &tmp
4183			}
4184			req, _ := c.GetInsightsRequest(inCpy)
4185			req.SetContext(ctx)
4186			req.ApplyOptions(opts...)
4187			return req, nil
4188		},
4189	}
4190
4191	for p.Next() {
4192		if !fn(p.Page().(*GetInsightsOutput), !p.HasNextPage()) {
4193			break
4194		}
4195	}
4196
4197	return p.Err()
4198}
4199
4200const opGetInvitationsCount = "GetInvitationsCount"
4201
4202// GetInvitationsCountRequest generates a "aws/request.Request" representing the
4203// client's request for the GetInvitationsCount operation. The "output" return
4204// value will be populated with the request's response once the request completes
4205// successfully.
4206//
4207// Use "Send" method on the returned Request to send the API call to the service.
4208// the "output" return value is not valid until after Send returns without error.
4209//
4210// See GetInvitationsCount for more information on using the GetInvitationsCount
4211// API call, and error handling.
4212//
4213// This method is useful when you want to inject custom logic or configuration
4214// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4215//
4216//
4217//    // Example sending a request using the GetInvitationsCountRequest method.
4218//    req, resp := client.GetInvitationsCountRequest(params)
4219//
4220//    err := req.Send()
4221//    if err == nil { // resp is now filled
4222//        fmt.Println(resp)
4223//    }
4224//
4225// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInvitationsCount
4226func (c *SecurityHub) GetInvitationsCountRequest(input *GetInvitationsCountInput) (req *request.Request, output *GetInvitationsCountOutput) {
4227	op := &request.Operation{
4228		Name:       opGetInvitationsCount,
4229		HTTPMethod: "GET",
4230		HTTPPath:   "/invitations/count",
4231	}
4232
4233	if input == nil {
4234		input = &GetInvitationsCountInput{}
4235	}
4236
4237	output = &GetInvitationsCountOutput{}
4238	req = c.newRequest(op, input, output)
4239	return
4240}
4241
4242// GetInvitationsCount API operation for AWS SecurityHub.
4243//
4244// Returns the count of all Security Hub membership invitations that were sent
4245// to the current member account, not including the currently accepted invitation.
4246//
4247// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4248// with awserr.Error's Code and Message methods to get detailed information about
4249// the error.
4250//
4251// See the AWS API reference guide for AWS SecurityHub's
4252// API operation GetInvitationsCount for usage and error information.
4253//
4254// Returned Error Types:
4255//   * InternalException
4256//   Internal server error.
4257//
4258//   * InvalidInputException
4259//   The request was rejected because you supplied an invalid or out-of-range
4260//   value for an input parameter.
4261//
4262//   * InvalidAccessException
4263//   There is an issue with the account used to make the request. Either Security
4264//   Hub is not enabled for the account, or the account does not have permission
4265//   to perform this action.
4266//
4267//   * LimitExceededException
4268//   The request was rejected because it attempted to create resources beyond
4269//   the current Amazon Web Services account or throttling limits. The error code
4270//   describes the limit exceeded.
4271//
4272// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInvitationsCount
4273func (c *SecurityHub) GetInvitationsCount(input *GetInvitationsCountInput) (*GetInvitationsCountOutput, error) {
4274	req, out := c.GetInvitationsCountRequest(input)
4275	return out, req.Send()
4276}
4277
4278// GetInvitationsCountWithContext is the same as GetInvitationsCount with the addition of
4279// the ability to pass a context and additional request options.
4280//
4281// See GetInvitationsCount for details on how to use this API operation.
4282//
4283// The context must be non-nil and will be used for request cancellation. If
4284// the context is nil a panic will occur. In the future the SDK may create
4285// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4286// for more information on using Contexts.
4287func (c *SecurityHub) GetInvitationsCountWithContext(ctx aws.Context, input *GetInvitationsCountInput, opts ...request.Option) (*GetInvitationsCountOutput, error) {
4288	req, out := c.GetInvitationsCountRequest(input)
4289	req.SetContext(ctx)
4290	req.ApplyOptions(opts...)
4291	return out, req.Send()
4292}
4293
4294const opGetMasterAccount = "GetMasterAccount"
4295
4296// GetMasterAccountRequest generates a "aws/request.Request" representing the
4297// client's request for the GetMasterAccount operation. The "output" return
4298// value will be populated with the request's response once the request completes
4299// successfully.
4300//
4301// Use "Send" method on the returned Request to send the API call to the service.
4302// the "output" return value is not valid until after Send returns without error.
4303//
4304// See GetMasterAccount for more information on using the GetMasterAccount
4305// API call, and error handling.
4306//
4307// This method is useful when you want to inject custom logic or configuration
4308// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4309//
4310//
4311//    // Example sending a request using the GetMasterAccountRequest method.
4312//    req, resp := client.GetMasterAccountRequest(params)
4313//
4314//    err := req.Send()
4315//    if err == nil { // resp is now filled
4316//        fmt.Println(resp)
4317//    }
4318//
4319// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMasterAccount
4320//
4321// Deprecated: This API has been deprecated, use GetAdministratorAccount API instead.
4322func (c *SecurityHub) GetMasterAccountRequest(input *GetMasterAccountInput) (req *request.Request, output *GetMasterAccountOutput) {
4323	if c.Client.Config.Logger != nil {
4324		c.Client.Config.Logger.Log("This operation, GetMasterAccount, has been deprecated")
4325	}
4326	op := &request.Operation{
4327		Name:       opGetMasterAccount,
4328		HTTPMethod: "GET",
4329		HTTPPath:   "/master",
4330	}
4331
4332	if input == nil {
4333		input = &GetMasterAccountInput{}
4334	}
4335
4336	output = &GetMasterAccountOutput{}
4337	req = c.newRequest(op, input, output)
4338	return
4339}
4340
4341// GetMasterAccount API operation for AWS SecurityHub.
4342//
4343// This method is deprecated. Instead, use GetAdministratorAccount.
4344//
4345// The Security Hub console continues to use GetMasterAccount. It will eventually
4346// change to use GetAdministratorAccount. Any IAM policies that specifically
4347// control access to this function must continue to use GetMasterAccount. You
4348// should also add GetAdministratorAccount to your policies to ensure that the
4349// correct permissions are in place after the console begins to use GetAdministratorAccount.
4350//
4351// Provides the details for the Security Hub administrator account for the current
4352// member account.
4353//
4354// Can be used by both member accounts that are managed using Organizations
4355// and accounts that were invited manually.
4356//
4357// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4358// with awserr.Error's Code and Message methods to get detailed information about
4359// the error.
4360//
4361// See the AWS API reference guide for AWS SecurityHub's
4362// API operation GetMasterAccount for usage and error information.
4363//
4364// Returned Error Types:
4365//   * InternalException
4366//   Internal server error.
4367//
4368//   * InvalidInputException
4369//   The request was rejected because you supplied an invalid or out-of-range
4370//   value for an input parameter.
4371//
4372//   * InvalidAccessException
4373//   There is an issue with the account used to make the request. Either Security
4374//   Hub is not enabled for the account, or the account does not have permission
4375//   to perform this action.
4376//
4377//   * LimitExceededException
4378//   The request was rejected because it attempted to create resources beyond
4379//   the current Amazon Web Services account or throttling limits. The error code
4380//   describes the limit exceeded.
4381//
4382//   * ResourceNotFoundException
4383//   The request was rejected because we can't find the specified resource.
4384//
4385// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMasterAccount
4386//
4387// Deprecated: This API has been deprecated, use GetAdministratorAccount API instead.
4388func (c *SecurityHub) GetMasterAccount(input *GetMasterAccountInput) (*GetMasterAccountOutput, error) {
4389	req, out := c.GetMasterAccountRequest(input)
4390	return out, req.Send()
4391}
4392
4393// GetMasterAccountWithContext is the same as GetMasterAccount with the addition of
4394// the ability to pass a context and additional request options.
4395//
4396// See GetMasterAccount for details on how to use this API operation.
4397//
4398// The context must be non-nil and will be used for request cancellation. If
4399// the context is nil a panic will occur. In the future the SDK may create
4400// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4401// for more information on using Contexts.
4402//
4403// Deprecated: This API has been deprecated, use GetAdministratorAccount API instead.
4404func (c *SecurityHub) GetMasterAccountWithContext(ctx aws.Context, input *GetMasterAccountInput, opts ...request.Option) (*GetMasterAccountOutput, error) {
4405	req, out := c.GetMasterAccountRequest(input)
4406	req.SetContext(ctx)
4407	req.ApplyOptions(opts...)
4408	return out, req.Send()
4409}
4410
4411const opGetMembers = "GetMembers"
4412
4413// GetMembersRequest generates a "aws/request.Request" representing the
4414// client's request for the GetMembers operation. The "output" return
4415// value will be populated with the request's response once the request completes
4416// successfully.
4417//
4418// Use "Send" method on the returned Request to send the API call to the service.
4419// the "output" return value is not valid until after Send returns without error.
4420//
4421// See GetMembers for more information on using the GetMembers
4422// API call, and error handling.
4423//
4424// This method is useful when you want to inject custom logic or configuration
4425// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4426//
4427//
4428//    // Example sending a request using the GetMembersRequest method.
4429//    req, resp := client.GetMembersRequest(params)
4430//
4431//    err := req.Send()
4432//    if err == nil { // resp is now filled
4433//        fmt.Println(resp)
4434//    }
4435//
4436// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMembers
4437func (c *SecurityHub) GetMembersRequest(input *GetMembersInput) (req *request.Request, output *GetMembersOutput) {
4438	op := &request.Operation{
4439		Name:       opGetMembers,
4440		HTTPMethod: "POST",
4441		HTTPPath:   "/members/get",
4442	}
4443
4444	if input == nil {
4445		input = &GetMembersInput{}
4446	}
4447
4448	output = &GetMembersOutput{}
4449	req = c.newRequest(op, input, output)
4450	return
4451}
4452
4453// GetMembers API operation for AWS SecurityHub.
4454//
4455// Returns the details for the Security Hub member accounts for the specified
4456// account IDs.
4457//
4458// An administrator account can be either the delegated Security Hub administrator
4459// account for an organization or an administrator account that enabled Security
4460// Hub manually.
4461//
4462// The results include both member accounts that are managed using Organizations
4463// and accounts that were invited manually.
4464//
4465// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4466// with awserr.Error's Code and Message methods to get detailed information about
4467// the error.
4468//
4469// See the AWS API reference guide for AWS SecurityHub's
4470// API operation GetMembers for usage and error information.
4471//
4472// Returned Error Types:
4473//   * InternalException
4474//   Internal server error.
4475//
4476//   * InvalidInputException
4477//   The request was rejected because you supplied an invalid or out-of-range
4478//   value for an input parameter.
4479//
4480//   * InvalidAccessException
4481//   There is an issue with the account used to make the request. Either Security
4482//   Hub is not enabled for the account, or the account does not have permission
4483//   to perform this action.
4484//
4485//   * LimitExceededException
4486//   The request was rejected because it attempted to create resources beyond
4487//   the current Amazon Web Services account or throttling limits. The error code
4488//   describes the limit exceeded.
4489//
4490//   * ResourceNotFoundException
4491//   The request was rejected because we can't find the specified resource.
4492//
4493// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMembers
4494func (c *SecurityHub) GetMembers(input *GetMembersInput) (*GetMembersOutput, error) {
4495	req, out := c.GetMembersRequest(input)
4496	return out, req.Send()
4497}
4498
4499// GetMembersWithContext is the same as GetMembers with the addition of
4500// the ability to pass a context and additional request options.
4501//
4502// See GetMembers for details on how to use this API operation.
4503//
4504// The context must be non-nil and will be used for request cancellation. If
4505// the context is nil a panic will occur. In the future the SDK may create
4506// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4507// for more information on using Contexts.
4508func (c *SecurityHub) GetMembersWithContext(ctx aws.Context, input *GetMembersInput, opts ...request.Option) (*GetMembersOutput, error) {
4509	req, out := c.GetMembersRequest(input)
4510	req.SetContext(ctx)
4511	req.ApplyOptions(opts...)
4512	return out, req.Send()
4513}
4514
4515const opInviteMembers = "InviteMembers"
4516
4517// InviteMembersRequest generates a "aws/request.Request" representing the
4518// client's request for the InviteMembers operation. The "output" return
4519// value will be populated with the request's response once the request completes
4520// successfully.
4521//
4522// Use "Send" method on the returned Request to send the API call to the service.
4523// the "output" return value is not valid until after Send returns without error.
4524//
4525// See InviteMembers for more information on using the InviteMembers
4526// API call, and error handling.
4527//
4528// This method is useful when you want to inject custom logic or configuration
4529// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4530//
4531//
4532//    // Example sending a request using the InviteMembersRequest method.
4533//    req, resp := client.InviteMembersRequest(params)
4534//
4535//    err := req.Send()
4536//    if err == nil { // resp is now filled
4537//        fmt.Println(resp)
4538//    }
4539//
4540// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/InviteMembers
4541func (c *SecurityHub) InviteMembersRequest(input *InviteMembersInput) (req *request.Request, output *InviteMembersOutput) {
4542	op := &request.Operation{
4543		Name:       opInviteMembers,
4544		HTTPMethod: "POST",
4545		HTTPPath:   "/members/invite",
4546	}
4547
4548	if input == nil {
4549		input = &InviteMembersInput{}
4550	}
4551
4552	output = &InviteMembersOutput{}
4553	req = c.newRequest(op, input, output)
4554	return
4555}
4556
4557// InviteMembers API operation for AWS SecurityHub.
4558//
4559// Invites other Amazon Web Services accounts to become member accounts for
4560// the Security Hub administrator account that the invitation is sent from.
4561//
4562// This operation is only used to invite accounts that do not belong to an organization.
4563// Organization accounts do not receive invitations.
4564//
4565// Before you can use this action to invite a member, you must first use the
4566// CreateMembers action to create the member account in Security Hub.
4567//
4568// When the account owner enables Security Hub and accepts the invitation to
4569// become a member account, the administrator account can view the findings
4570// generated from the member account.
4571//
4572// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4573// with awserr.Error's Code and Message methods to get detailed information about
4574// the error.
4575//
4576// See the AWS API reference guide for AWS SecurityHub's
4577// API operation InviteMembers for usage and error information.
4578//
4579// Returned Error Types:
4580//   * InternalException
4581//   Internal server error.
4582//
4583//   * InvalidInputException
4584//   The request was rejected because you supplied an invalid or out-of-range
4585//   value for an input parameter.
4586//
4587//   * InvalidAccessException
4588//   There is an issue with the account used to make the request. Either Security
4589//   Hub is not enabled for the account, or the account does not have permission
4590//   to perform this action.
4591//
4592//   * LimitExceededException
4593//   The request was rejected because it attempted to create resources beyond
4594//   the current Amazon Web Services account or throttling limits. The error code
4595//   describes the limit exceeded.
4596//
4597//   * ResourceNotFoundException
4598//   The request was rejected because we can't find the specified resource.
4599//
4600// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/InviteMembers
4601func (c *SecurityHub) InviteMembers(input *InviteMembersInput) (*InviteMembersOutput, error) {
4602	req, out := c.InviteMembersRequest(input)
4603	return out, req.Send()
4604}
4605
4606// InviteMembersWithContext is the same as InviteMembers with the addition of
4607// the ability to pass a context and additional request options.
4608//
4609// See InviteMembers for details on how to use this API operation.
4610//
4611// The context must be non-nil and will be used for request cancellation. If
4612// the context is nil a panic will occur. In the future the SDK may create
4613// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4614// for more information on using Contexts.
4615func (c *SecurityHub) InviteMembersWithContext(ctx aws.Context, input *InviteMembersInput, opts ...request.Option) (*InviteMembersOutput, error) {
4616	req, out := c.InviteMembersRequest(input)
4617	req.SetContext(ctx)
4618	req.ApplyOptions(opts...)
4619	return out, req.Send()
4620}
4621
4622const opListEnabledProductsForImport = "ListEnabledProductsForImport"
4623
4624// ListEnabledProductsForImportRequest generates a "aws/request.Request" representing the
4625// client's request for the ListEnabledProductsForImport operation. The "output" return
4626// value will be populated with the request's response once the request completes
4627// successfully.
4628//
4629// Use "Send" method on the returned Request to send the API call to the service.
4630// the "output" return value is not valid until after Send returns without error.
4631//
4632// See ListEnabledProductsForImport for more information on using the ListEnabledProductsForImport
4633// API call, and error handling.
4634//
4635// This method is useful when you want to inject custom logic or configuration
4636// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4637//
4638//
4639//    // Example sending a request using the ListEnabledProductsForImportRequest method.
4640//    req, resp := client.ListEnabledProductsForImportRequest(params)
4641//
4642//    err := req.Send()
4643//    if err == nil { // resp is now filled
4644//        fmt.Println(resp)
4645//    }
4646//
4647// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListEnabledProductsForImport
4648func (c *SecurityHub) ListEnabledProductsForImportRequest(input *ListEnabledProductsForImportInput) (req *request.Request, output *ListEnabledProductsForImportOutput) {
4649	op := &request.Operation{
4650		Name:       opListEnabledProductsForImport,
4651		HTTPMethod: "GET",
4652		HTTPPath:   "/productSubscriptions",
4653		Paginator: &request.Paginator{
4654			InputTokens:     []string{"NextToken"},
4655			OutputTokens:    []string{"NextToken"},
4656			LimitToken:      "MaxResults",
4657			TruncationToken: "",
4658		},
4659	}
4660
4661	if input == nil {
4662		input = &ListEnabledProductsForImportInput{}
4663	}
4664
4665	output = &ListEnabledProductsForImportOutput{}
4666	req = c.newRequest(op, input, output)
4667	return
4668}
4669
4670// ListEnabledProductsForImport API operation for AWS SecurityHub.
4671//
4672// Lists all findings-generating solutions (products) that you are subscribed
4673// to receive findings from in Security Hub.
4674//
4675// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4676// with awserr.Error's Code and Message methods to get detailed information about
4677// the error.
4678//
4679// See the AWS API reference guide for AWS SecurityHub's
4680// API operation ListEnabledProductsForImport for usage and error information.
4681//
4682// Returned Error Types:
4683//   * InternalException
4684//   Internal server error.
4685//
4686//   * LimitExceededException
4687//   The request was rejected because it attempted to create resources beyond
4688//   the current Amazon Web Services account or throttling limits. The error code
4689//   describes the limit exceeded.
4690//
4691//   * InvalidAccessException
4692//   There is an issue with the account used to make the request. Either Security
4693//   Hub is not enabled for the account, or the account does not have permission
4694//   to perform this action.
4695//
4696// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListEnabledProductsForImport
4697func (c *SecurityHub) ListEnabledProductsForImport(input *ListEnabledProductsForImportInput) (*ListEnabledProductsForImportOutput, error) {
4698	req, out := c.ListEnabledProductsForImportRequest(input)
4699	return out, req.Send()
4700}
4701
4702// ListEnabledProductsForImportWithContext is the same as ListEnabledProductsForImport with the addition of
4703// the ability to pass a context and additional request options.
4704//
4705// See ListEnabledProductsForImport for details on how to use this API operation.
4706//
4707// The context must be non-nil and will be used for request cancellation. If
4708// the context is nil a panic will occur. In the future the SDK may create
4709// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4710// for more information on using Contexts.
4711func (c *SecurityHub) ListEnabledProductsForImportWithContext(ctx aws.Context, input *ListEnabledProductsForImportInput, opts ...request.Option) (*ListEnabledProductsForImportOutput, error) {
4712	req, out := c.ListEnabledProductsForImportRequest(input)
4713	req.SetContext(ctx)
4714	req.ApplyOptions(opts...)
4715	return out, req.Send()
4716}
4717
4718// ListEnabledProductsForImportPages iterates over the pages of a ListEnabledProductsForImport operation,
4719// calling the "fn" function with the response data for each page. To stop
4720// iterating, return false from the fn function.
4721//
4722// See ListEnabledProductsForImport method for more information on how to use this operation.
4723//
4724// Note: This operation can generate multiple requests to a service.
4725//
4726//    // Example iterating over at most 3 pages of a ListEnabledProductsForImport operation.
4727//    pageNum := 0
4728//    err := client.ListEnabledProductsForImportPages(params,
4729//        func(page *securityhub.ListEnabledProductsForImportOutput, lastPage bool) bool {
4730//            pageNum++
4731//            fmt.Println(page)
4732//            return pageNum <= 3
4733//        })
4734//
4735func (c *SecurityHub) ListEnabledProductsForImportPages(input *ListEnabledProductsForImportInput, fn func(*ListEnabledProductsForImportOutput, bool) bool) error {
4736	return c.ListEnabledProductsForImportPagesWithContext(aws.BackgroundContext(), input, fn)
4737}
4738
4739// ListEnabledProductsForImportPagesWithContext same as ListEnabledProductsForImportPages except
4740// it takes a Context and allows setting request options on the pages.
4741//
4742// The context must be non-nil and will be used for request cancellation. If
4743// the context is nil a panic will occur. In the future the SDK may create
4744// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4745// for more information on using Contexts.
4746func (c *SecurityHub) ListEnabledProductsForImportPagesWithContext(ctx aws.Context, input *ListEnabledProductsForImportInput, fn func(*ListEnabledProductsForImportOutput, bool) bool, opts ...request.Option) error {
4747	p := request.Pagination{
4748		NewRequest: func() (*request.Request, error) {
4749			var inCpy *ListEnabledProductsForImportInput
4750			if input != nil {
4751				tmp := *input
4752				inCpy = &tmp
4753			}
4754			req, _ := c.ListEnabledProductsForImportRequest(inCpy)
4755			req.SetContext(ctx)
4756			req.ApplyOptions(opts...)
4757			return req, nil
4758		},
4759	}
4760
4761	for p.Next() {
4762		if !fn(p.Page().(*ListEnabledProductsForImportOutput), !p.HasNextPage()) {
4763			break
4764		}
4765	}
4766
4767	return p.Err()
4768}
4769
4770const opListFindingAggregators = "ListFindingAggregators"
4771
4772// ListFindingAggregatorsRequest generates a "aws/request.Request" representing the
4773// client's request for the ListFindingAggregators operation. The "output" return
4774// value will be populated with the request's response once the request completes
4775// successfully.
4776//
4777// Use "Send" method on the returned Request to send the API call to the service.
4778// the "output" return value is not valid until after Send returns without error.
4779//
4780// See ListFindingAggregators for more information on using the ListFindingAggregators
4781// API call, and error handling.
4782//
4783// This method is useful when you want to inject custom logic or configuration
4784// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4785//
4786//
4787//    // Example sending a request using the ListFindingAggregatorsRequest method.
4788//    req, resp := client.ListFindingAggregatorsRequest(params)
4789//
4790//    err := req.Send()
4791//    if err == nil { // resp is now filled
4792//        fmt.Println(resp)
4793//    }
4794//
4795// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListFindingAggregators
4796func (c *SecurityHub) ListFindingAggregatorsRequest(input *ListFindingAggregatorsInput) (req *request.Request, output *ListFindingAggregatorsOutput) {
4797	op := &request.Operation{
4798		Name:       opListFindingAggregators,
4799		HTTPMethod: "GET",
4800		HTTPPath:   "/findingAggregator/list",
4801		Paginator: &request.Paginator{
4802			InputTokens:     []string{"NextToken"},
4803			OutputTokens:    []string{"NextToken"},
4804			LimitToken:      "MaxResults",
4805			TruncationToken: "",
4806		},
4807	}
4808
4809	if input == nil {
4810		input = &ListFindingAggregatorsInput{}
4811	}
4812
4813	output = &ListFindingAggregatorsOutput{}
4814	req = c.newRequest(op, input, output)
4815	return
4816}
4817
4818// ListFindingAggregators API operation for AWS SecurityHub.
4819//
4820// If finding aggregation is enabled, then ListFindingAggregators returns the
4821// ARN of the finding aggregator. You can run this operation from any Region.
4822//
4823// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4824// with awserr.Error's Code and Message methods to get detailed information about
4825// the error.
4826//
4827// See the AWS API reference guide for AWS SecurityHub's
4828// API operation ListFindingAggregators for usage and error information.
4829//
4830// Returned Error Types:
4831//   * InternalException
4832//   Internal server error.
4833//
4834//   * LimitExceededException
4835//   The request was rejected because it attempted to create resources beyond
4836//   the current Amazon Web Services account or throttling limits. The error code
4837//   describes the limit exceeded.
4838//
4839//   * InvalidAccessException
4840//   There is an issue with the account used to make the request. Either Security
4841//   Hub is not enabled for the account, or the account does not have permission
4842//   to perform this action.
4843//
4844//   * AccessDeniedException
4845//   You don't have permission to perform the action specified in the request.
4846//
4847//   * InvalidInputException
4848//   The request was rejected because you supplied an invalid or out-of-range
4849//   value for an input parameter.
4850//
4851// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListFindingAggregators
4852func (c *SecurityHub) ListFindingAggregators(input *ListFindingAggregatorsInput) (*ListFindingAggregatorsOutput, error) {
4853	req, out := c.ListFindingAggregatorsRequest(input)
4854	return out, req.Send()
4855}
4856
4857// ListFindingAggregatorsWithContext is the same as ListFindingAggregators with the addition of
4858// the ability to pass a context and additional request options.
4859//
4860// See ListFindingAggregators for details on how to use this API operation.
4861//
4862// The context must be non-nil and will be used for request cancellation. If
4863// the context is nil a panic will occur. In the future the SDK may create
4864// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4865// for more information on using Contexts.
4866func (c *SecurityHub) ListFindingAggregatorsWithContext(ctx aws.Context, input *ListFindingAggregatorsInput, opts ...request.Option) (*ListFindingAggregatorsOutput, error) {
4867	req, out := c.ListFindingAggregatorsRequest(input)
4868	req.SetContext(ctx)
4869	req.ApplyOptions(opts...)
4870	return out, req.Send()
4871}
4872
4873// ListFindingAggregatorsPages iterates over the pages of a ListFindingAggregators operation,
4874// calling the "fn" function with the response data for each page. To stop
4875// iterating, return false from the fn function.
4876//
4877// See ListFindingAggregators method for more information on how to use this operation.
4878//
4879// Note: This operation can generate multiple requests to a service.
4880//
4881//    // Example iterating over at most 3 pages of a ListFindingAggregators operation.
4882//    pageNum := 0
4883//    err := client.ListFindingAggregatorsPages(params,
4884//        func(page *securityhub.ListFindingAggregatorsOutput, lastPage bool) bool {
4885//            pageNum++
4886//            fmt.Println(page)
4887//            return pageNum <= 3
4888//        })
4889//
4890func (c *SecurityHub) ListFindingAggregatorsPages(input *ListFindingAggregatorsInput, fn func(*ListFindingAggregatorsOutput, bool) bool) error {
4891	return c.ListFindingAggregatorsPagesWithContext(aws.BackgroundContext(), input, fn)
4892}
4893
4894// ListFindingAggregatorsPagesWithContext same as ListFindingAggregatorsPages except
4895// it takes a Context and allows setting request options on the pages.
4896//
4897// The context must be non-nil and will be used for request cancellation. If
4898// the context is nil a panic will occur. In the future the SDK may create
4899// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4900// for more information on using Contexts.
4901func (c *SecurityHub) ListFindingAggregatorsPagesWithContext(ctx aws.Context, input *ListFindingAggregatorsInput, fn func(*ListFindingAggregatorsOutput, bool) bool, opts ...request.Option) error {
4902	p := request.Pagination{
4903		NewRequest: func() (*request.Request, error) {
4904			var inCpy *ListFindingAggregatorsInput
4905			if input != nil {
4906				tmp := *input
4907				inCpy = &tmp
4908			}
4909			req, _ := c.ListFindingAggregatorsRequest(inCpy)
4910			req.SetContext(ctx)
4911			req.ApplyOptions(opts...)
4912			return req, nil
4913		},
4914	}
4915
4916	for p.Next() {
4917		if !fn(p.Page().(*ListFindingAggregatorsOutput), !p.HasNextPage()) {
4918			break
4919		}
4920	}
4921
4922	return p.Err()
4923}
4924
4925const opListInvitations = "ListInvitations"
4926
4927// ListInvitationsRequest generates a "aws/request.Request" representing the
4928// client's request for the ListInvitations operation. The "output" return
4929// value will be populated with the request's response once the request completes
4930// successfully.
4931//
4932// Use "Send" method on the returned Request to send the API call to the service.
4933// the "output" return value is not valid until after Send returns without error.
4934//
4935// See ListInvitations for more information on using the ListInvitations
4936// API call, and error handling.
4937//
4938// This method is useful when you want to inject custom logic or configuration
4939// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4940//
4941//
4942//    // Example sending a request using the ListInvitationsRequest method.
4943//    req, resp := client.ListInvitationsRequest(params)
4944//
4945//    err := req.Send()
4946//    if err == nil { // resp is now filled
4947//        fmt.Println(resp)
4948//    }
4949//
4950// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListInvitations
4951func (c *SecurityHub) ListInvitationsRequest(input *ListInvitationsInput) (req *request.Request, output *ListInvitationsOutput) {
4952	op := &request.Operation{
4953		Name:       opListInvitations,
4954		HTTPMethod: "GET",
4955		HTTPPath:   "/invitations",
4956		Paginator: &request.Paginator{
4957			InputTokens:     []string{"NextToken"},
4958			OutputTokens:    []string{"NextToken"},
4959			LimitToken:      "MaxResults",
4960			TruncationToken: "",
4961		},
4962	}
4963
4964	if input == nil {
4965		input = &ListInvitationsInput{}
4966	}
4967
4968	output = &ListInvitationsOutput{}
4969	req = c.newRequest(op, input, output)
4970	return
4971}
4972
4973// ListInvitations API operation for AWS SecurityHub.
4974//
4975// Lists all Security Hub membership invitations that were sent to the current
4976// Amazon Web Services account.
4977//
4978// This operation is only used by accounts that are managed by invitation. Accounts
4979// that are managed using the integration with Organizations do not receive
4980// invitations.
4981//
4982// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4983// with awserr.Error's Code and Message methods to get detailed information about
4984// the error.
4985//
4986// See the AWS API reference guide for AWS SecurityHub's
4987// API operation ListInvitations for usage and error information.
4988//
4989// Returned Error Types:
4990//   * InternalException
4991//   Internal server error.
4992//
4993//   * InvalidInputException
4994//   The request was rejected because you supplied an invalid or out-of-range
4995//   value for an input parameter.
4996//
4997//   * InvalidAccessException
4998//   There is an issue with the account used to make the request. Either Security
4999//   Hub is not enabled for the account, or the account does not have permission
5000//   to perform this action.
5001//
5002//   * LimitExceededException
5003//   The request was rejected because it attempted to create resources beyond
5004//   the current Amazon Web Services account or throttling limits. The error code
5005//   describes the limit exceeded.
5006//
5007// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListInvitations
5008func (c *SecurityHub) ListInvitations(input *ListInvitationsInput) (*ListInvitationsOutput, error) {
5009	req, out := c.ListInvitationsRequest(input)
5010	return out, req.Send()
5011}
5012
5013// ListInvitationsWithContext is the same as ListInvitations with the addition of
5014// the ability to pass a context and additional request options.
5015//
5016// See ListInvitations for details on how to use this API operation.
5017//
5018// The context must be non-nil and will be used for request cancellation. If
5019// the context is nil a panic will occur. In the future the SDK may create
5020// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5021// for more information on using Contexts.
5022func (c *SecurityHub) ListInvitationsWithContext(ctx aws.Context, input *ListInvitationsInput, opts ...request.Option) (*ListInvitationsOutput, error) {
5023	req, out := c.ListInvitationsRequest(input)
5024	req.SetContext(ctx)
5025	req.ApplyOptions(opts...)
5026	return out, req.Send()
5027}
5028
5029// ListInvitationsPages iterates over the pages of a ListInvitations operation,
5030// calling the "fn" function with the response data for each page. To stop
5031// iterating, return false from the fn function.
5032//
5033// See ListInvitations method for more information on how to use this operation.
5034//
5035// Note: This operation can generate multiple requests to a service.
5036//
5037//    // Example iterating over at most 3 pages of a ListInvitations operation.
5038//    pageNum := 0
5039//    err := client.ListInvitationsPages(params,
5040//        func(page *securityhub.ListInvitationsOutput, lastPage bool) bool {
5041//            pageNum++
5042//            fmt.Println(page)
5043//            return pageNum <= 3
5044//        })
5045//
5046func (c *SecurityHub) ListInvitationsPages(input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool) error {
5047	return c.ListInvitationsPagesWithContext(aws.BackgroundContext(), input, fn)
5048}
5049
5050// ListInvitationsPagesWithContext same as ListInvitationsPages except
5051// it takes a Context and allows setting request options on the pages.
5052//
5053// The context must be non-nil and will be used for request cancellation. If
5054// the context is nil a panic will occur. In the future the SDK may create
5055// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5056// for more information on using Contexts.
5057func (c *SecurityHub) ListInvitationsPagesWithContext(ctx aws.Context, input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool, opts ...request.Option) error {
5058	p := request.Pagination{
5059		NewRequest: func() (*request.Request, error) {
5060			var inCpy *ListInvitationsInput
5061			if input != nil {
5062				tmp := *input
5063				inCpy = &tmp
5064			}
5065			req, _ := c.ListInvitationsRequest(inCpy)
5066			req.SetContext(ctx)
5067			req.ApplyOptions(opts...)
5068			return req, nil
5069		},
5070	}
5071
5072	for p.Next() {
5073		if !fn(p.Page().(*ListInvitationsOutput), !p.HasNextPage()) {
5074			break
5075		}
5076	}
5077
5078	return p.Err()
5079}
5080
5081const opListMembers = "ListMembers"
5082
5083// ListMembersRequest generates a "aws/request.Request" representing the
5084// client's request for the ListMembers operation. The "output" return
5085// value will be populated with the request's response once the request completes
5086// successfully.
5087//
5088// Use "Send" method on the returned Request to send the API call to the service.
5089// the "output" return value is not valid until after Send returns without error.
5090//
5091// See ListMembers for more information on using the ListMembers
5092// API call, and error handling.
5093//
5094// This method is useful when you want to inject custom logic or configuration
5095// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5096//
5097//
5098//    // Example sending a request using the ListMembersRequest method.
5099//    req, resp := client.ListMembersRequest(params)
5100//
5101//    err := req.Send()
5102//    if err == nil { // resp is now filled
5103//        fmt.Println(resp)
5104//    }
5105//
5106// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListMembers
5107func (c *SecurityHub) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) {
5108	op := &request.Operation{
5109		Name:       opListMembers,
5110		HTTPMethod: "GET",
5111		HTTPPath:   "/members",
5112		Paginator: &request.Paginator{
5113			InputTokens:     []string{"NextToken"},
5114			OutputTokens:    []string{"NextToken"},
5115			LimitToken:      "MaxResults",
5116			TruncationToken: "",
5117		},
5118	}
5119
5120	if input == nil {
5121		input = &ListMembersInput{}
5122	}
5123
5124	output = &ListMembersOutput{}
5125	req = c.newRequest(op, input, output)
5126	return
5127}
5128
5129// ListMembers API operation for AWS SecurityHub.
5130//
5131// Lists details about all member accounts for the current Security Hub administrator
5132// account.
5133//
5134// The results include both member accounts that belong to an organization and
5135// member accounts that were invited manually.
5136//
5137// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5138// with awserr.Error's Code and Message methods to get detailed information about
5139// the error.
5140//
5141// See the AWS API reference guide for AWS SecurityHub's
5142// API operation ListMembers for usage and error information.
5143//
5144// Returned Error Types:
5145//   * InternalException
5146//   Internal server error.
5147//
5148//   * InvalidInputException
5149//   The request was rejected because you supplied an invalid or out-of-range
5150//   value for an input parameter.
5151//
5152//   * InvalidAccessException
5153//   There is an issue with the account used to make the request. Either Security
5154//   Hub is not enabled for the account, or the account does not have permission
5155//   to perform this action.
5156//
5157//   * LimitExceededException
5158//   The request was rejected because it attempted to create resources beyond
5159//   the current Amazon Web Services account or throttling limits. The error code
5160//   describes the limit exceeded.
5161//
5162// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListMembers
5163func (c *SecurityHub) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) {
5164	req, out := c.ListMembersRequest(input)
5165	return out, req.Send()
5166}
5167
5168// ListMembersWithContext is the same as ListMembers with the addition of
5169// the ability to pass a context and additional request options.
5170//
5171// See ListMembers for details on how to use this API operation.
5172//
5173// The context must be non-nil and will be used for request cancellation. If
5174// the context is nil a panic will occur. In the future the SDK may create
5175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5176// for more information on using Contexts.
5177func (c *SecurityHub) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) {
5178	req, out := c.ListMembersRequest(input)
5179	req.SetContext(ctx)
5180	req.ApplyOptions(opts...)
5181	return out, req.Send()
5182}
5183
5184// ListMembersPages iterates over the pages of a ListMembers operation,
5185// calling the "fn" function with the response data for each page. To stop
5186// iterating, return false from the fn function.
5187//
5188// See ListMembers method for more information on how to use this operation.
5189//
5190// Note: This operation can generate multiple requests to a service.
5191//
5192//    // Example iterating over at most 3 pages of a ListMembers operation.
5193//    pageNum := 0
5194//    err := client.ListMembersPages(params,
5195//        func(page *securityhub.ListMembersOutput, lastPage bool) bool {
5196//            pageNum++
5197//            fmt.Println(page)
5198//            return pageNum <= 3
5199//        })
5200//
5201func (c *SecurityHub) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error {
5202	return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn)
5203}
5204
5205// ListMembersPagesWithContext same as ListMembersPages except
5206// it takes a Context and allows setting request options on the pages.
5207//
5208// The context must be non-nil and will be used for request cancellation. If
5209// the context is nil a panic will occur. In the future the SDK may create
5210// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5211// for more information on using Contexts.
5212func (c *SecurityHub) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error {
5213	p := request.Pagination{
5214		NewRequest: func() (*request.Request, error) {
5215			var inCpy *ListMembersInput
5216			if input != nil {
5217				tmp := *input
5218				inCpy = &tmp
5219			}
5220			req, _ := c.ListMembersRequest(inCpy)
5221			req.SetContext(ctx)
5222			req.ApplyOptions(opts...)
5223			return req, nil
5224		},
5225	}
5226
5227	for p.Next() {
5228		if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) {
5229			break
5230		}
5231	}
5232
5233	return p.Err()
5234}
5235
5236const opListOrganizationAdminAccounts = "ListOrganizationAdminAccounts"
5237
5238// ListOrganizationAdminAccountsRequest generates a "aws/request.Request" representing the
5239// client's request for the ListOrganizationAdminAccounts operation. The "output" return
5240// value will be populated with the request's response once the request completes
5241// successfully.
5242//
5243// Use "Send" method on the returned Request to send the API call to the service.
5244// the "output" return value is not valid until after Send returns without error.
5245//
5246// See ListOrganizationAdminAccounts for more information on using the ListOrganizationAdminAccounts
5247// API call, and error handling.
5248//
5249// This method is useful when you want to inject custom logic or configuration
5250// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5251//
5252//
5253//    // Example sending a request using the ListOrganizationAdminAccountsRequest method.
5254//    req, resp := client.ListOrganizationAdminAccountsRequest(params)
5255//
5256//    err := req.Send()
5257//    if err == nil { // resp is now filled
5258//        fmt.Println(resp)
5259//    }
5260//
5261// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListOrganizationAdminAccounts
5262func (c *SecurityHub) ListOrganizationAdminAccountsRequest(input *ListOrganizationAdminAccountsInput) (req *request.Request, output *ListOrganizationAdminAccountsOutput) {
5263	op := &request.Operation{
5264		Name:       opListOrganizationAdminAccounts,
5265		HTTPMethod: "GET",
5266		HTTPPath:   "/organization/admin",
5267		Paginator: &request.Paginator{
5268			InputTokens:     []string{"NextToken"},
5269			OutputTokens:    []string{"NextToken"},
5270			LimitToken:      "MaxResults",
5271			TruncationToken: "",
5272		},
5273	}
5274
5275	if input == nil {
5276		input = &ListOrganizationAdminAccountsInput{}
5277	}
5278
5279	output = &ListOrganizationAdminAccountsOutput{}
5280	req = c.newRequest(op, input, output)
5281	return
5282}
5283
5284// ListOrganizationAdminAccounts API operation for AWS SecurityHub.
5285//
5286// Lists the Security Hub administrator accounts. Can only be called by the
5287// organization management account.
5288//
5289// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5290// with awserr.Error's Code and Message methods to get detailed information about
5291// the error.
5292//
5293// See the AWS API reference guide for AWS SecurityHub's
5294// API operation ListOrganizationAdminAccounts for usage and error information.
5295//
5296// Returned Error Types:
5297//   * InternalException
5298//   Internal server error.
5299//
5300//   * InvalidInputException
5301//   The request was rejected because you supplied an invalid or out-of-range
5302//   value for an input parameter.
5303//
5304//   * InvalidAccessException
5305//   There is an issue with the account used to make the request. Either Security
5306//   Hub is not enabled for the account, or the account does not have permission
5307//   to perform this action.
5308//
5309//   * LimitExceededException
5310//   The request was rejected because it attempted to create resources beyond
5311//   the current Amazon Web Services account or throttling limits. The error code
5312//   describes the limit exceeded.
5313//
5314// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListOrganizationAdminAccounts
5315func (c *SecurityHub) ListOrganizationAdminAccounts(input *ListOrganizationAdminAccountsInput) (*ListOrganizationAdminAccountsOutput, error) {
5316	req, out := c.ListOrganizationAdminAccountsRequest(input)
5317	return out, req.Send()
5318}
5319
5320// ListOrganizationAdminAccountsWithContext is the same as ListOrganizationAdminAccounts with the addition of
5321// the ability to pass a context and additional request options.
5322//
5323// See ListOrganizationAdminAccounts for details on how to use this API operation.
5324//
5325// The context must be non-nil and will be used for request cancellation. If
5326// the context is nil a panic will occur. In the future the SDK may create
5327// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5328// for more information on using Contexts.
5329func (c *SecurityHub) ListOrganizationAdminAccountsWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, opts ...request.Option) (*ListOrganizationAdminAccountsOutput, error) {
5330	req, out := c.ListOrganizationAdminAccountsRequest(input)
5331	req.SetContext(ctx)
5332	req.ApplyOptions(opts...)
5333	return out, req.Send()
5334}
5335
5336// ListOrganizationAdminAccountsPages iterates over the pages of a ListOrganizationAdminAccounts operation,
5337// calling the "fn" function with the response data for each page. To stop
5338// iterating, return false from the fn function.
5339//
5340// See ListOrganizationAdminAccounts method for more information on how to use this operation.
5341//
5342// Note: This operation can generate multiple requests to a service.
5343//
5344//    // Example iterating over at most 3 pages of a ListOrganizationAdminAccounts operation.
5345//    pageNum := 0
5346//    err := client.ListOrganizationAdminAccountsPages(params,
5347//        func(page *securityhub.ListOrganizationAdminAccountsOutput, lastPage bool) bool {
5348//            pageNum++
5349//            fmt.Println(page)
5350//            return pageNum <= 3
5351//        })
5352//
5353func (c *SecurityHub) ListOrganizationAdminAccountsPages(input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool) error {
5354	return c.ListOrganizationAdminAccountsPagesWithContext(aws.BackgroundContext(), input, fn)
5355}
5356
5357// ListOrganizationAdminAccountsPagesWithContext same as ListOrganizationAdminAccountsPages except
5358// it takes a Context and allows setting request options on the pages.
5359//
5360// The context must be non-nil and will be used for request cancellation. If
5361// the context is nil a panic will occur. In the future the SDK may create
5362// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5363// for more information on using Contexts.
5364func (c *SecurityHub) ListOrganizationAdminAccountsPagesWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool, opts ...request.Option) error {
5365	p := request.Pagination{
5366		NewRequest: func() (*request.Request, error) {
5367			var inCpy *ListOrganizationAdminAccountsInput
5368			if input != nil {
5369				tmp := *input
5370				inCpy = &tmp
5371			}
5372			req, _ := c.ListOrganizationAdminAccountsRequest(inCpy)
5373			req.SetContext(ctx)
5374			req.ApplyOptions(opts...)
5375			return req, nil
5376		},
5377	}
5378
5379	for p.Next() {
5380		if !fn(p.Page().(*ListOrganizationAdminAccountsOutput), !p.HasNextPage()) {
5381			break
5382		}
5383	}
5384
5385	return p.Err()
5386}
5387
5388const opListTagsForResource = "ListTagsForResource"
5389
5390// ListTagsForResourceRequest generates a "aws/request.Request" representing the
5391// client's request for the ListTagsForResource operation. The "output" return
5392// value will be populated with the request's response once the request completes
5393// successfully.
5394//
5395// Use "Send" method on the returned Request to send the API call to the service.
5396// the "output" return value is not valid until after Send returns without error.
5397//
5398// See ListTagsForResource for more information on using the ListTagsForResource
5399// API call, and error handling.
5400//
5401// This method is useful when you want to inject custom logic or configuration
5402// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5403//
5404//
5405//    // Example sending a request using the ListTagsForResourceRequest method.
5406//    req, resp := client.ListTagsForResourceRequest(params)
5407//
5408//    err := req.Send()
5409//    if err == nil { // resp is now filled
5410//        fmt.Println(resp)
5411//    }
5412//
5413// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListTagsForResource
5414func (c *SecurityHub) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
5415	op := &request.Operation{
5416		Name:       opListTagsForResource,
5417		HTTPMethod: "GET",
5418		HTTPPath:   "/tags/{ResourceArn}",
5419	}
5420
5421	if input == nil {
5422		input = &ListTagsForResourceInput{}
5423	}
5424
5425	output = &ListTagsForResourceOutput{}
5426	req = c.newRequest(op, input, output)
5427	return
5428}
5429
5430// ListTagsForResource API operation for AWS SecurityHub.
5431//
5432// Returns a list of tags associated with a resource.
5433//
5434// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5435// with awserr.Error's Code and Message methods to get detailed information about
5436// the error.
5437//
5438// See the AWS API reference guide for AWS SecurityHub's
5439// API operation ListTagsForResource for usage and error information.
5440//
5441// Returned Error Types:
5442//   * InternalException
5443//   Internal server error.
5444//
5445//   * InvalidInputException
5446//   The request was rejected because you supplied an invalid or out-of-range
5447//   value for an input parameter.
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/ListTagsForResource
5453func (c *SecurityHub) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
5454	req, out := c.ListTagsForResourceRequest(input)
5455	return out, req.Send()
5456}
5457
5458// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
5459// the ability to pass a context and additional request options.
5460//
5461// See ListTagsForResource 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) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
5468	req, out := c.ListTagsForResourceRequest(input)
5469	req.SetContext(ctx)
5470	req.ApplyOptions(opts...)
5471	return out, req.Send()
5472}
5473
5474const opTagResource = "TagResource"
5475
5476// TagResourceRequest generates a "aws/request.Request" representing the
5477// client's request for the TagResource 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 TagResource for more information on using the TagResource
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 TagResourceRequest method.
5492//    req, resp := client.TagResourceRequest(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/TagResource
5500func (c *SecurityHub) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
5501	op := &request.Operation{
5502		Name:       opTagResource,
5503		HTTPMethod: "POST",
5504		HTTPPath:   "/tags/{ResourceArn}",
5505	}
5506
5507	if input == nil {
5508		input = &TagResourceInput{}
5509	}
5510
5511	output = &TagResourceOutput{}
5512	req = c.newRequest(op, input, output)
5513	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5514	return
5515}
5516
5517// TagResource API operation for AWS SecurityHub.
5518//
5519// Adds one or more tags to a resource.
5520//
5521// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5522// with awserr.Error's Code and Message methods to get detailed information about
5523// the error.
5524//
5525// See the AWS API reference guide for AWS SecurityHub's
5526// API operation TagResource for usage and error information.
5527//
5528// Returned Error Types:
5529//   * InternalException
5530//   Internal server error.
5531//
5532//   * InvalidInputException
5533//   The request was rejected because you supplied an invalid or out-of-range
5534//   value for an input parameter.
5535//
5536//   * ResourceNotFoundException
5537//   The request was rejected because we can't find the specified resource.
5538//
5539// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/TagResource
5540func (c *SecurityHub) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
5541	req, out := c.TagResourceRequest(input)
5542	return out, req.Send()
5543}
5544
5545// TagResourceWithContext is the same as TagResource with the addition of
5546// the ability to pass a context and additional request options.
5547//
5548// See TagResource for details on how to use this API operation.
5549//
5550// The context must be non-nil and will be used for request cancellation. If
5551// the context is nil a panic will occur. In the future the SDK may create
5552// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5553// for more information on using Contexts.
5554func (c *SecurityHub) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
5555	req, out := c.TagResourceRequest(input)
5556	req.SetContext(ctx)
5557	req.ApplyOptions(opts...)
5558	return out, req.Send()
5559}
5560
5561const opUntagResource = "UntagResource"
5562
5563// UntagResourceRequest generates a "aws/request.Request" representing the
5564// client's request for the UntagResource operation. The "output" return
5565// value will be populated with the request's response once the request completes
5566// successfully.
5567//
5568// Use "Send" method on the returned Request to send the API call to the service.
5569// the "output" return value is not valid until after Send returns without error.
5570//
5571// See UntagResource for more information on using the UntagResource
5572// API call, and error handling.
5573//
5574// This method is useful when you want to inject custom logic or configuration
5575// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5576//
5577//
5578//    // Example sending a request using the UntagResourceRequest method.
5579//    req, resp := client.UntagResourceRequest(params)
5580//
5581//    err := req.Send()
5582//    if err == nil { // resp is now filled
5583//        fmt.Println(resp)
5584//    }
5585//
5586// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UntagResource
5587func (c *SecurityHub) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
5588	op := &request.Operation{
5589		Name:       opUntagResource,
5590		HTTPMethod: "DELETE",
5591		HTTPPath:   "/tags/{ResourceArn}",
5592	}
5593
5594	if input == nil {
5595		input = &UntagResourceInput{}
5596	}
5597
5598	output = &UntagResourceOutput{}
5599	req = c.newRequest(op, input, output)
5600	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5601	return
5602}
5603
5604// UntagResource API operation for AWS SecurityHub.
5605//
5606// Removes one or more tags from a resource.
5607//
5608// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5609// with awserr.Error's Code and Message methods to get detailed information about
5610// the error.
5611//
5612// See the AWS API reference guide for AWS SecurityHub's
5613// API operation UntagResource for usage and error information.
5614//
5615// Returned Error Types:
5616//   * InternalException
5617//   Internal server error.
5618//
5619//   * InvalidInputException
5620//   The request was rejected because you supplied an invalid or out-of-range
5621//   value for an input parameter.
5622//
5623//   * ResourceNotFoundException
5624//   The request was rejected because we can't find the specified resource.
5625//
5626// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UntagResource
5627func (c *SecurityHub) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
5628	req, out := c.UntagResourceRequest(input)
5629	return out, req.Send()
5630}
5631
5632// UntagResourceWithContext is the same as UntagResource with the addition of
5633// the ability to pass a context and additional request options.
5634//
5635// See UntagResource for details on how to use this API operation.
5636//
5637// The context must be non-nil and will be used for request cancellation. If
5638// the context is nil a panic will occur. In the future the SDK may create
5639// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5640// for more information on using Contexts.
5641func (c *SecurityHub) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
5642	req, out := c.UntagResourceRequest(input)
5643	req.SetContext(ctx)
5644	req.ApplyOptions(opts...)
5645	return out, req.Send()
5646}
5647
5648const opUpdateActionTarget = "UpdateActionTarget"
5649
5650// UpdateActionTargetRequest generates a "aws/request.Request" representing the
5651// client's request for the UpdateActionTarget operation. The "output" return
5652// value will be populated with the request's response once the request completes
5653// successfully.
5654//
5655// Use "Send" method on the returned Request to send the API call to the service.
5656// the "output" return value is not valid until after Send returns without error.
5657//
5658// See UpdateActionTarget for more information on using the UpdateActionTarget
5659// API call, and error handling.
5660//
5661// This method is useful when you want to inject custom logic or configuration
5662// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5663//
5664//
5665//    // Example sending a request using the UpdateActionTargetRequest method.
5666//    req, resp := client.UpdateActionTargetRequest(params)
5667//
5668//    err := req.Send()
5669//    if err == nil { // resp is now filled
5670//        fmt.Println(resp)
5671//    }
5672//
5673// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateActionTarget
5674func (c *SecurityHub) UpdateActionTargetRequest(input *UpdateActionTargetInput) (req *request.Request, output *UpdateActionTargetOutput) {
5675	op := &request.Operation{
5676		Name:       opUpdateActionTarget,
5677		HTTPMethod: "PATCH",
5678		HTTPPath:   "/actionTargets/{ActionTargetArn+}",
5679	}
5680
5681	if input == nil {
5682		input = &UpdateActionTargetInput{}
5683	}
5684
5685	output = &UpdateActionTargetOutput{}
5686	req = c.newRequest(op, input, output)
5687	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5688	return
5689}
5690
5691// UpdateActionTarget API operation for AWS SecurityHub.
5692//
5693// Updates the name and description of a custom action target in Security Hub.
5694//
5695// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5696// with awserr.Error's Code and Message methods to get detailed information about
5697// the error.
5698//
5699// See the AWS API reference guide for AWS SecurityHub's
5700// API operation UpdateActionTarget for usage and error information.
5701//
5702// Returned Error Types:
5703//   * InternalException
5704//   Internal server error.
5705//
5706//   * InvalidInputException
5707//   The request was rejected because you supplied an invalid or out-of-range
5708//   value for an input parameter.
5709//
5710//   * ResourceNotFoundException
5711//   The request was rejected because we can't find the specified resource.
5712//
5713//   * InvalidAccessException
5714//   There is an issue with the account used to make the request. Either Security
5715//   Hub is not enabled for the account, or the account does not have permission
5716//   to perform this action.
5717//
5718//   * ResourceNotFoundException
5719//   The request was rejected because we can't find the specified resource.
5720//
5721// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateActionTarget
5722func (c *SecurityHub) UpdateActionTarget(input *UpdateActionTargetInput) (*UpdateActionTargetOutput, error) {
5723	req, out := c.UpdateActionTargetRequest(input)
5724	return out, req.Send()
5725}
5726
5727// UpdateActionTargetWithContext is the same as UpdateActionTarget with the addition of
5728// the ability to pass a context and additional request options.
5729//
5730// See UpdateActionTarget for details on how to use this API operation.
5731//
5732// The context must be non-nil and will be used for request cancellation. If
5733// the context is nil a panic will occur. In the future the SDK may create
5734// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5735// for more information on using Contexts.
5736func (c *SecurityHub) UpdateActionTargetWithContext(ctx aws.Context, input *UpdateActionTargetInput, opts ...request.Option) (*UpdateActionTargetOutput, error) {
5737	req, out := c.UpdateActionTargetRequest(input)
5738	req.SetContext(ctx)
5739	req.ApplyOptions(opts...)
5740	return out, req.Send()
5741}
5742
5743const opUpdateFindingAggregator = "UpdateFindingAggregator"
5744
5745// UpdateFindingAggregatorRequest generates a "aws/request.Request" representing the
5746// client's request for the UpdateFindingAggregator operation. The "output" return
5747// value will be populated with the request's response once the request completes
5748// successfully.
5749//
5750// Use "Send" method on the returned Request to send the API call to the service.
5751// the "output" return value is not valid until after Send returns without error.
5752//
5753// See UpdateFindingAggregator for more information on using the UpdateFindingAggregator
5754// API call, and error handling.
5755//
5756// This method is useful when you want to inject custom logic or configuration
5757// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5758//
5759//
5760//    // Example sending a request using the UpdateFindingAggregatorRequest method.
5761//    req, resp := client.UpdateFindingAggregatorRequest(params)
5762//
5763//    err := req.Send()
5764//    if err == nil { // resp is now filled
5765//        fmt.Println(resp)
5766//    }
5767//
5768// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindingAggregator
5769func (c *SecurityHub) UpdateFindingAggregatorRequest(input *UpdateFindingAggregatorInput) (req *request.Request, output *UpdateFindingAggregatorOutput) {
5770	op := &request.Operation{
5771		Name:       opUpdateFindingAggregator,
5772		HTTPMethod: "PATCH",
5773		HTTPPath:   "/findingAggregator/update",
5774	}
5775
5776	if input == nil {
5777		input = &UpdateFindingAggregatorInput{}
5778	}
5779
5780	output = &UpdateFindingAggregatorOutput{}
5781	req = c.newRequest(op, input, output)
5782	return
5783}
5784
5785// UpdateFindingAggregator API operation for AWS SecurityHub.
5786//
5787// Updates the finding aggregation configuration. Used to update the Region
5788// linking mode and the list of included or excluded Regions. You cannot use
5789// UpdateFindingAggregator to change the aggregation Region.
5790//
5791// You must run UpdateFindingAggregator from the current aggregation Region.
5792//
5793// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5794// with awserr.Error's Code and Message methods to get detailed information about
5795// the error.
5796//
5797// See the AWS API reference guide for AWS SecurityHub's
5798// API operation UpdateFindingAggregator for usage and error information.
5799//
5800// Returned Error Types:
5801//   * InternalException
5802//   Internal server error.
5803//
5804//   * LimitExceededException
5805//   The request was rejected because it attempted to create resources beyond
5806//   the current Amazon Web Services account or throttling limits. The error code
5807//   describes the limit exceeded.
5808//
5809//   * InvalidAccessException
5810//   There is an issue with the account used to make the request. Either Security
5811//   Hub is not enabled for the account, or the account does not have permission
5812//   to perform this action.
5813//
5814//   * AccessDeniedException
5815//   You don't have permission to perform the action specified in the request.
5816//
5817//   * InvalidInputException
5818//   The request was rejected because you supplied an invalid or out-of-range
5819//   value for an input parameter.
5820//
5821//   * ResourceNotFoundException
5822//   The request was rejected because we can't find the specified resource.
5823//
5824// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindingAggregator
5825func (c *SecurityHub) UpdateFindingAggregator(input *UpdateFindingAggregatorInput) (*UpdateFindingAggregatorOutput, error) {
5826	req, out := c.UpdateFindingAggregatorRequest(input)
5827	return out, req.Send()
5828}
5829
5830// UpdateFindingAggregatorWithContext is the same as UpdateFindingAggregator with the addition of
5831// the ability to pass a context and additional request options.
5832//
5833// See UpdateFindingAggregator for details on how to use this API operation.
5834//
5835// The context must be non-nil and will be used for request cancellation. If
5836// the context is nil a panic will occur. In the future the SDK may create
5837// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5838// for more information on using Contexts.
5839func (c *SecurityHub) UpdateFindingAggregatorWithContext(ctx aws.Context, input *UpdateFindingAggregatorInput, opts ...request.Option) (*UpdateFindingAggregatorOutput, error) {
5840	req, out := c.UpdateFindingAggregatorRequest(input)
5841	req.SetContext(ctx)
5842	req.ApplyOptions(opts...)
5843	return out, req.Send()
5844}
5845
5846const opUpdateFindings = "UpdateFindings"
5847
5848// UpdateFindingsRequest generates a "aws/request.Request" representing the
5849// client's request for the UpdateFindings operation. The "output" return
5850// value will be populated with the request's response once the request completes
5851// successfully.
5852//
5853// Use "Send" method on the returned Request to send the API call to the service.
5854// the "output" return value is not valid until after Send returns without error.
5855//
5856// See UpdateFindings for more information on using the UpdateFindings
5857// API call, and error handling.
5858//
5859// This method is useful when you want to inject custom logic or configuration
5860// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5861//
5862//
5863//    // Example sending a request using the UpdateFindingsRequest method.
5864//    req, resp := client.UpdateFindingsRequest(params)
5865//
5866//    err := req.Send()
5867//    if err == nil { // resp is now filled
5868//        fmt.Println(resp)
5869//    }
5870//
5871// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindings
5872func (c *SecurityHub) UpdateFindingsRequest(input *UpdateFindingsInput) (req *request.Request, output *UpdateFindingsOutput) {
5873	op := &request.Operation{
5874		Name:       opUpdateFindings,
5875		HTTPMethod: "PATCH",
5876		HTTPPath:   "/findings",
5877	}
5878
5879	if input == nil {
5880		input = &UpdateFindingsInput{}
5881	}
5882
5883	output = &UpdateFindingsOutput{}
5884	req = c.newRequest(op, input, output)
5885	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5886	return
5887}
5888
5889// UpdateFindings API operation for AWS SecurityHub.
5890//
5891// UpdateFindings is deprecated. Instead of UpdateFindings, use BatchUpdateFindings.
5892//
5893// Updates the Note and RecordState of the Security Hub-aggregated findings
5894// that the filter attributes specify. Any member account that can view the
5895// finding also sees the update to the finding.
5896//
5897// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5898// with awserr.Error's Code and Message methods to get detailed information about
5899// the error.
5900//
5901// See the AWS API reference guide for AWS SecurityHub's
5902// API operation UpdateFindings for usage and error information.
5903//
5904// Returned Error Types:
5905//   * InternalException
5906//   Internal server error.
5907//
5908//   * InvalidInputException
5909//   The request was rejected because you supplied an invalid or out-of-range
5910//   value for an input parameter.
5911//
5912//   * LimitExceededException
5913//   The request was rejected because it attempted to create resources beyond
5914//   the current Amazon Web Services account or throttling limits. The error code
5915//   describes the limit exceeded.
5916//
5917//   * InvalidAccessException
5918//   There is an issue with the account used to make the request. Either Security
5919//   Hub is not enabled for the account, or the account does not have permission
5920//   to perform this action.
5921//
5922//   * ResourceNotFoundException
5923//   The request was rejected because we can't find the specified resource.
5924//
5925// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindings
5926func (c *SecurityHub) UpdateFindings(input *UpdateFindingsInput) (*UpdateFindingsOutput, error) {
5927	req, out := c.UpdateFindingsRequest(input)
5928	return out, req.Send()
5929}
5930
5931// UpdateFindingsWithContext is the same as UpdateFindings with the addition of
5932// the ability to pass a context and additional request options.
5933//
5934// See UpdateFindings for details on how to use this API operation.
5935//
5936// The context must be non-nil and will be used for request cancellation. If
5937// the context is nil a panic will occur. In the future the SDK may create
5938// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5939// for more information on using Contexts.
5940func (c *SecurityHub) UpdateFindingsWithContext(ctx aws.Context, input *UpdateFindingsInput, opts ...request.Option) (*UpdateFindingsOutput, error) {
5941	req, out := c.UpdateFindingsRequest(input)
5942	req.SetContext(ctx)
5943	req.ApplyOptions(opts...)
5944	return out, req.Send()
5945}
5946
5947const opUpdateInsight = "UpdateInsight"
5948
5949// UpdateInsightRequest generates a "aws/request.Request" representing the
5950// client's request for the UpdateInsight operation. The "output" return
5951// value will be populated with the request's response once the request completes
5952// successfully.
5953//
5954// Use "Send" method on the returned Request to send the API call to the service.
5955// the "output" return value is not valid until after Send returns without error.
5956//
5957// See UpdateInsight for more information on using the UpdateInsight
5958// API call, and error handling.
5959//
5960// This method is useful when you want to inject custom logic or configuration
5961// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5962//
5963//
5964//    // Example sending a request using the UpdateInsightRequest method.
5965//    req, resp := client.UpdateInsightRequest(params)
5966//
5967//    err := req.Send()
5968//    if err == nil { // resp is now filled
5969//        fmt.Println(resp)
5970//    }
5971//
5972// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateInsight
5973func (c *SecurityHub) UpdateInsightRequest(input *UpdateInsightInput) (req *request.Request, output *UpdateInsightOutput) {
5974	op := &request.Operation{
5975		Name:       opUpdateInsight,
5976		HTTPMethod: "PATCH",
5977		HTTPPath:   "/insights/{InsightArn+}",
5978	}
5979
5980	if input == nil {
5981		input = &UpdateInsightInput{}
5982	}
5983
5984	output = &UpdateInsightOutput{}
5985	req = c.newRequest(op, input, output)
5986	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5987	return
5988}
5989
5990// UpdateInsight API operation for AWS SecurityHub.
5991//
5992// Updates the Security Hub insight identified by the specified insight ARN.
5993//
5994// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5995// with awserr.Error's Code and Message methods to get detailed information about
5996// the error.
5997//
5998// See the AWS API reference guide for AWS SecurityHub's
5999// API operation UpdateInsight for usage and error information.
6000//
6001// Returned Error Types:
6002//   * InternalException
6003//   Internal server error.
6004//
6005//   * InvalidInputException
6006//   The request was rejected because you supplied an invalid or out-of-range
6007//   value for an input parameter.
6008//
6009//   * InvalidAccessException
6010//   There is an issue with the account used to make the request. Either Security
6011//   Hub is not enabled for the account, or the account does not have permission
6012//   to perform this action.
6013//
6014//   * LimitExceededException
6015//   The request was rejected because it attempted to create resources beyond
6016//   the current Amazon Web Services account or throttling limits. The error code
6017//   describes the limit exceeded.
6018//
6019//   * ResourceNotFoundException
6020//   The request was rejected because we can't find the specified resource.
6021//
6022// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateInsight
6023func (c *SecurityHub) UpdateInsight(input *UpdateInsightInput) (*UpdateInsightOutput, error) {
6024	req, out := c.UpdateInsightRequest(input)
6025	return out, req.Send()
6026}
6027
6028// UpdateInsightWithContext is the same as UpdateInsight with the addition of
6029// the ability to pass a context and additional request options.
6030//
6031// See UpdateInsight for details on how to use this API operation.
6032//
6033// The context must be non-nil and will be used for request cancellation. If
6034// the context is nil a panic will occur. In the future the SDK may create
6035// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6036// for more information on using Contexts.
6037func (c *SecurityHub) UpdateInsightWithContext(ctx aws.Context, input *UpdateInsightInput, opts ...request.Option) (*UpdateInsightOutput, error) {
6038	req, out := c.UpdateInsightRequest(input)
6039	req.SetContext(ctx)
6040	req.ApplyOptions(opts...)
6041	return out, req.Send()
6042}
6043
6044const opUpdateOrganizationConfiguration = "UpdateOrganizationConfiguration"
6045
6046// UpdateOrganizationConfigurationRequest generates a "aws/request.Request" representing the
6047// client's request for the UpdateOrganizationConfiguration operation. The "output" return
6048// value will be populated with the request's response once the request completes
6049// successfully.
6050//
6051// Use "Send" method on the returned Request to send the API call to the service.
6052// the "output" return value is not valid until after Send returns without error.
6053//
6054// See UpdateOrganizationConfiguration for more information on using the UpdateOrganizationConfiguration
6055// API call, and error handling.
6056//
6057// This method is useful when you want to inject custom logic or configuration
6058// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6059//
6060//
6061//    // Example sending a request using the UpdateOrganizationConfigurationRequest method.
6062//    req, resp := client.UpdateOrganizationConfigurationRequest(params)
6063//
6064//    err := req.Send()
6065//    if err == nil { // resp is now filled
6066//        fmt.Println(resp)
6067//    }
6068//
6069// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateOrganizationConfiguration
6070func (c *SecurityHub) UpdateOrganizationConfigurationRequest(input *UpdateOrganizationConfigurationInput) (req *request.Request, output *UpdateOrganizationConfigurationOutput) {
6071	op := &request.Operation{
6072		Name:       opUpdateOrganizationConfiguration,
6073		HTTPMethod: "POST",
6074		HTTPPath:   "/organization/configuration",
6075	}
6076
6077	if input == nil {
6078		input = &UpdateOrganizationConfigurationInput{}
6079	}
6080
6081	output = &UpdateOrganizationConfigurationOutput{}
6082	req = c.newRequest(op, input, output)
6083	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6084	return
6085}
6086
6087// UpdateOrganizationConfiguration API operation for AWS SecurityHub.
6088//
6089// Used to update the configuration related to Organizations. Can only be called
6090// from a Security Hub administrator account.
6091//
6092// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6093// with awserr.Error's Code and Message methods to get detailed information about
6094// the error.
6095//
6096// See the AWS API reference guide for AWS SecurityHub's
6097// API operation UpdateOrganizationConfiguration for usage and error information.
6098//
6099// Returned Error Types:
6100//   * InternalException
6101//   Internal server error.
6102//
6103//   * InvalidInputException
6104//   The request was rejected because you supplied an invalid or out-of-range
6105//   value for an input parameter.
6106//
6107//   * InvalidAccessException
6108//   There is an issue with the account used to make the request. Either Security
6109//   Hub is not enabled for the account, or the account does not have permission
6110//   to perform this action.
6111//
6112//   * LimitExceededException
6113//   The request was rejected because it attempted to create resources beyond
6114//   the current Amazon Web Services account or throttling limits. The error code
6115//   describes the limit exceeded.
6116//
6117// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateOrganizationConfiguration
6118func (c *SecurityHub) UpdateOrganizationConfiguration(input *UpdateOrganizationConfigurationInput) (*UpdateOrganizationConfigurationOutput, error) {
6119	req, out := c.UpdateOrganizationConfigurationRequest(input)
6120	return out, req.Send()
6121}
6122
6123// UpdateOrganizationConfigurationWithContext is the same as UpdateOrganizationConfiguration with the addition of
6124// the ability to pass a context and additional request options.
6125//
6126// See UpdateOrganizationConfiguration for details on how to use this API operation.
6127//
6128// The context must be non-nil and will be used for request cancellation. If
6129// the context is nil a panic will occur. In the future the SDK may create
6130// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6131// for more information on using Contexts.
6132func (c *SecurityHub) UpdateOrganizationConfigurationWithContext(ctx aws.Context, input *UpdateOrganizationConfigurationInput, opts ...request.Option) (*UpdateOrganizationConfigurationOutput, error) {
6133	req, out := c.UpdateOrganizationConfigurationRequest(input)
6134	req.SetContext(ctx)
6135	req.ApplyOptions(opts...)
6136	return out, req.Send()
6137}
6138
6139const opUpdateSecurityHubConfiguration = "UpdateSecurityHubConfiguration"
6140
6141// UpdateSecurityHubConfigurationRequest generates a "aws/request.Request" representing the
6142// client's request for the UpdateSecurityHubConfiguration operation. The "output" return
6143// value will be populated with the request's response once the request completes
6144// successfully.
6145//
6146// Use "Send" method on the returned Request to send the API call to the service.
6147// the "output" return value is not valid until after Send returns without error.
6148//
6149// See UpdateSecurityHubConfiguration for more information on using the UpdateSecurityHubConfiguration
6150// API call, and error handling.
6151//
6152// This method is useful when you want to inject custom logic or configuration
6153// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6154//
6155//
6156//    // Example sending a request using the UpdateSecurityHubConfigurationRequest method.
6157//    req, resp := client.UpdateSecurityHubConfigurationRequest(params)
6158//
6159//    err := req.Send()
6160//    if err == nil { // resp is now filled
6161//        fmt.Println(resp)
6162//    }
6163//
6164// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateSecurityHubConfiguration
6165func (c *SecurityHub) UpdateSecurityHubConfigurationRequest(input *UpdateSecurityHubConfigurationInput) (req *request.Request, output *UpdateSecurityHubConfigurationOutput) {
6166	op := &request.Operation{
6167		Name:       opUpdateSecurityHubConfiguration,
6168		HTTPMethod: "PATCH",
6169		HTTPPath:   "/accounts",
6170	}
6171
6172	if input == nil {
6173		input = &UpdateSecurityHubConfigurationInput{}
6174	}
6175
6176	output = &UpdateSecurityHubConfigurationOutput{}
6177	req = c.newRequest(op, input, output)
6178	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6179	return
6180}
6181
6182// UpdateSecurityHubConfiguration API operation for AWS SecurityHub.
6183//
6184// Updates configuration options for Security Hub.
6185//
6186// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6187// with awserr.Error's Code and Message methods to get detailed information about
6188// the error.
6189//
6190// See the AWS API reference guide for AWS SecurityHub's
6191// API operation UpdateSecurityHubConfiguration for usage and error information.
6192//
6193// Returned Error Types:
6194//   * InternalException
6195//   Internal server error.
6196//
6197//   * InvalidInputException
6198//   The request was rejected because you supplied an invalid or out-of-range
6199//   value for an input parameter.
6200//
6201//   * InvalidAccessException
6202//   There is an issue with the account used to make the request. Either Security
6203//   Hub is not enabled for the account, or the account does not have permission
6204//   to perform this action.
6205//
6206//   * LimitExceededException
6207//   The request was rejected because it attempted to create resources beyond
6208//   the current Amazon Web Services account or throttling limits. The error code
6209//   describes the limit exceeded.
6210//
6211//   * ResourceNotFoundException
6212//   The request was rejected because we can't find the specified resource.
6213//
6214// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateSecurityHubConfiguration
6215func (c *SecurityHub) UpdateSecurityHubConfiguration(input *UpdateSecurityHubConfigurationInput) (*UpdateSecurityHubConfigurationOutput, error) {
6216	req, out := c.UpdateSecurityHubConfigurationRequest(input)
6217	return out, req.Send()
6218}
6219
6220// UpdateSecurityHubConfigurationWithContext is the same as UpdateSecurityHubConfiguration with the addition of
6221// the ability to pass a context and additional request options.
6222//
6223// See UpdateSecurityHubConfiguration for details on how to use this API operation.
6224//
6225// The context must be non-nil and will be used for request cancellation. If
6226// the context is nil a panic will occur. In the future the SDK may create
6227// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6228// for more information on using Contexts.
6229func (c *SecurityHub) UpdateSecurityHubConfigurationWithContext(ctx aws.Context, input *UpdateSecurityHubConfigurationInput, opts ...request.Option) (*UpdateSecurityHubConfigurationOutput, error) {
6230	req, out := c.UpdateSecurityHubConfigurationRequest(input)
6231	req.SetContext(ctx)
6232	req.ApplyOptions(opts...)
6233	return out, req.Send()
6234}
6235
6236const opUpdateStandardsControl = "UpdateStandardsControl"
6237
6238// UpdateStandardsControlRequest generates a "aws/request.Request" representing the
6239// client's request for the UpdateStandardsControl operation. The "output" return
6240// value will be populated with the request's response once the request completes
6241// successfully.
6242//
6243// Use "Send" method on the returned Request to send the API call to the service.
6244// the "output" return value is not valid until after Send returns without error.
6245//
6246// See UpdateStandardsControl for more information on using the UpdateStandardsControl
6247// API call, and error handling.
6248//
6249// This method is useful when you want to inject custom logic or configuration
6250// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6251//
6252//
6253//    // Example sending a request using the UpdateStandardsControlRequest method.
6254//    req, resp := client.UpdateStandardsControlRequest(params)
6255//
6256//    err := req.Send()
6257//    if err == nil { // resp is now filled
6258//        fmt.Println(resp)
6259//    }
6260//
6261// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateStandardsControl
6262func (c *SecurityHub) UpdateStandardsControlRequest(input *UpdateStandardsControlInput) (req *request.Request, output *UpdateStandardsControlOutput) {
6263	op := &request.Operation{
6264		Name:       opUpdateStandardsControl,
6265		HTTPMethod: "PATCH",
6266		HTTPPath:   "/standards/control/{StandardsControlArn+}",
6267	}
6268
6269	if input == nil {
6270		input = &UpdateStandardsControlInput{}
6271	}
6272
6273	output = &UpdateStandardsControlOutput{}
6274	req = c.newRequest(op, input, output)
6275	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6276	return
6277}
6278
6279// UpdateStandardsControl API operation for AWS SecurityHub.
6280//
6281// Used to control whether an individual security standard control is enabled
6282// or disabled.
6283//
6284// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6285// with awserr.Error's Code and Message methods to get detailed information about
6286// the error.
6287//
6288// See the AWS API reference guide for AWS SecurityHub's
6289// API operation UpdateStandardsControl for usage and error information.
6290//
6291// Returned Error Types:
6292//   * InternalException
6293//   Internal server error.
6294//
6295//   * InvalidInputException
6296//   The request was rejected because you supplied an invalid or out-of-range
6297//   value for an input parameter.
6298//
6299//   * InvalidAccessException
6300//   There is an issue with the account used to make the request. Either Security
6301//   Hub is not enabled for the account, or the account does not have permission
6302//   to perform this action.
6303//
6304//   * ResourceNotFoundException
6305//   The request was rejected because we can't find the specified resource.
6306//
6307// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateStandardsControl
6308func (c *SecurityHub) UpdateStandardsControl(input *UpdateStandardsControlInput) (*UpdateStandardsControlOutput, error) {
6309	req, out := c.UpdateStandardsControlRequest(input)
6310	return out, req.Send()
6311}
6312
6313// UpdateStandardsControlWithContext is the same as UpdateStandardsControl with the addition of
6314// the ability to pass a context and additional request options.
6315//
6316// See UpdateStandardsControl for details on how to use this API operation.
6317//
6318// The context must be non-nil and will be used for request cancellation. If
6319// the context is nil a panic will occur. In the future the SDK may create
6320// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6321// for more information on using Contexts.
6322func (c *SecurityHub) UpdateStandardsControlWithContext(ctx aws.Context, input *UpdateStandardsControlInput, opts ...request.Option) (*UpdateStandardsControlOutput, error) {
6323	req, out := c.UpdateStandardsControlRequest(input)
6324	req.SetContext(ctx)
6325	req.ApplyOptions(opts...)
6326	return out, req.Send()
6327}
6328
6329type AcceptAdministratorInvitationInput struct {
6330	_ struct{} `type:"structure"`
6331
6332	// The account ID of the Security Hub administrator account that sent the invitation.
6333	//
6334	// AdministratorId is a required field
6335	AdministratorId *string `type:"string" required:"true"`
6336
6337	// The identifier of the invitation sent from the Security Hub administrator
6338	// account.
6339	//
6340	// InvitationId is a required field
6341	InvitationId *string `type:"string" required:"true"`
6342}
6343
6344// String returns the string representation.
6345//
6346// API parameter values that are decorated as "sensitive" in the API will not
6347// be included in the string output. The member name will be present, but the
6348// value will be replaced with "sensitive".
6349func (s AcceptAdministratorInvitationInput) String() string {
6350	return awsutil.Prettify(s)
6351}
6352
6353// GoString returns the string representation.
6354//
6355// API parameter values that are decorated as "sensitive" in the API will not
6356// be included in the string output. The member name will be present, but the
6357// value will be replaced with "sensitive".
6358func (s AcceptAdministratorInvitationInput) GoString() string {
6359	return s.String()
6360}
6361
6362// Validate inspects the fields of the type to determine if they are valid.
6363func (s *AcceptAdministratorInvitationInput) Validate() error {
6364	invalidParams := request.ErrInvalidParams{Context: "AcceptAdministratorInvitationInput"}
6365	if s.AdministratorId == nil {
6366		invalidParams.Add(request.NewErrParamRequired("AdministratorId"))
6367	}
6368	if s.InvitationId == nil {
6369		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
6370	}
6371
6372	if invalidParams.Len() > 0 {
6373		return invalidParams
6374	}
6375	return nil
6376}
6377
6378// SetAdministratorId sets the AdministratorId field's value.
6379func (s *AcceptAdministratorInvitationInput) SetAdministratorId(v string) *AcceptAdministratorInvitationInput {
6380	s.AdministratorId = &v
6381	return s
6382}
6383
6384// SetInvitationId sets the InvitationId field's value.
6385func (s *AcceptAdministratorInvitationInput) SetInvitationId(v string) *AcceptAdministratorInvitationInput {
6386	s.InvitationId = &v
6387	return s
6388}
6389
6390type AcceptAdministratorInvitationOutput struct {
6391	_ struct{} `type:"structure"`
6392}
6393
6394// String returns the string representation.
6395//
6396// API parameter values that are decorated as "sensitive" in the API will not
6397// be included in the string output. The member name will be present, but the
6398// value will be replaced with "sensitive".
6399func (s AcceptAdministratorInvitationOutput) String() string {
6400	return awsutil.Prettify(s)
6401}
6402
6403// GoString returns the string representation.
6404//
6405// API parameter values that are decorated as "sensitive" in the API will not
6406// be included in the string output. The member name will be present, but the
6407// value will be replaced with "sensitive".
6408func (s AcceptAdministratorInvitationOutput) GoString() string {
6409	return s.String()
6410}
6411
6412type AcceptInvitationInput struct {
6413	_ struct{} `type:"structure"`
6414
6415	// The identifier of the invitation sent from the Security Hub administrator
6416	// account.
6417	//
6418	// InvitationId is a required field
6419	InvitationId *string `type:"string" required:"true"`
6420
6421	// The account ID of the Security Hub administrator account that sent the invitation.
6422	//
6423	// MasterId is a required field
6424	MasterId *string `type:"string" required:"true"`
6425}
6426
6427// String returns the string representation.
6428//
6429// API parameter values that are decorated as "sensitive" in the API will not
6430// be included in the string output. The member name will be present, but the
6431// value will be replaced with "sensitive".
6432func (s AcceptInvitationInput) String() string {
6433	return awsutil.Prettify(s)
6434}
6435
6436// GoString returns the string representation.
6437//
6438// API parameter values that are decorated as "sensitive" in the API will not
6439// be included in the string output. The member name will be present, but the
6440// value will be replaced with "sensitive".
6441func (s AcceptInvitationInput) GoString() string {
6442	return s.String()
6443}
6444
6445// Validate inspects the fields of the type to determine if they are valid.
6446func (s *AcceptInvitationInput) Validate() error {
6447	invalidParams := request.ErrInvalidParams{Context: "AcceptInvitationInput"}
6448	if s.InvitationId == nil {
6449		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
6450	}
6451	if s.MasterId == nil {
6452		invalidParams.Add(request.NewErrParamRequired("MasterId"))
6453	}
6454
6455	if invalidParams.Len() > 0 {
6456		return invalidParams
6457	}
6458	return nil
6459}
6460
6461// SetInvitationId sets the InvitationId field's value.
6462func (s *AcceptInvitationInput) SetInvitationId(v string) *AcceptInvitationInput {
6463	s.InvitationId = &v
6464	return s
6465}
6466
6467// SetMasterId sets the MasterId field's value.
6468func (s *AcceptInvitationInput) SetMasterId(v string) *AcceptInvitationInput {
6469	s.MasterId = &v
6470	return s
6471}
6472
6473type AcceptInvitationOutput struct {
6474	_ struct{} `type:"structure"`
6475}
6476
6477// String returns the string representation.
6478//
6479// API parameter values that are decorated as "sensitive" in the API will not
6480// be included in the string output. The member name will be present, but the
6481// value will be replaced with "sensitive".
6482func (s AcceptInvitationOutput) String() string {
6483	return awsutil.Prettify(s)
6484}
6485
6486// GoString returns the string representation.
6487//
6488// API parameter values that are decorated as "sensitive" in the API will not
6489// be included in the string output. The member name will be present, but the
6490// value will be replaced with "sensitive".
6491func (s AcceptInvitationOutput) GoString() string {
6492	return s.String()
6493}
6494
6495// You don't have permission to perform the action specified in the request.
6496type AccessDeniedException struct {
6497	_            struct{}                  `type:"structure"`
6498	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6499
6500	Code_ *string `locationName:"Code" type:"string"`
6501
6502	Message_ *string `locationName:"Message" type:"string"`
6503}
6504
6505// String returns the string representation.
6506//
6507// API parameter values that are decorated as "sensitive" in the API will not
6508// be included in the string output. The member name will be present, but the
6509// value will be replaced with "sensitive".
6510func (s AccessDeniedException) String() string {
6511	return awsutil.Prettify(s)
6512}
6513
6514// GoString returns the string representation.
6515//
6516// API parameter values that are decorated as "sensitive" in the API will not
6517// be included in the string output. The member name will be present, but the
6518// value will be replaced with "sensitive".
6519func (s AccessDeniedException) GoString() string {
6520	return s.String()
6521}
6522
6523func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
6524	return &AccessDeniedException{
6525		RespMetadata: v,
6526	}
6527}
6528
6529// Code returns the exception type name.
6530func (s *AccessDeniedException) Code() string {
6531	return "AccessDeniedException"
6532}
6533
6534// Message returns the exception's message.
6535func (s *AccessDeniedException) Message() string {
6536	if s.Message_ != nil {
6537		return *s.Message_
6538	}
6539	return ""
6540}
6541
6542// OrigErr always returns nil, satisfies awserr.Error interface.
6543func (s *AccessDeniedException) OrigErr() error {
6544	return nil
6545}
6546
6547func (s *AccessDeniedException) Error() string {
6548	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
6549}
6550
6551// Status code returns the HTTP status code for the request's response error.
6552func (s *AccessDeniedException) StatusCode() int {
6553	return s.RespMetadata.StatusCode
6554}
6555
6556// RequestID returns the service's response RequestID for request.
6557func (s *AccessDeniedException) RequestID() string {
6558	return s.RespMetadata.RequestID
6559}
6560
6561// The details of an Amazon Web Services account.
6562type AccountDetails struct {
6563	_ struct{} `type:"structure"`
6564
6565	// The ID of an Amazon Web Services account.
6566	//
6567	// AccountId is a required field
6568	AccountId *string `type:"string" required:"true"`
6569
6570	// The email of an Amazon Web Services account.
6571	Email *string `type:"string"`
6572}
6573
6574// String returns the string representation.
6575//
6576// API parameter values that are decorated as "sensitive" in the API will not
6577// be included in the string output. The member name will be present, but the
6578// value will be replaced with "sensitive".
6579func (s AccountDetails) String() string {
6580	return awsutil.Prettify(s)
6581}
6582
6583// GoString returns the string representation.
6584//
6585// API parameter values that are decorated as "sensitive" in the API will not
6586// be included in the string output. The member name will be present, but the
6587// value will be replaced with "sensitive".
6588func (s AccountDetails) GoString() string {
6589	return s.String()
6590}
6591
6592// Validate inspects the fields of the type to determine if they are valid.
6593func (s *AccountDetails) Validate() error {
6594	invalidParams := request.ErrInvalidParams{Context: "AccountDetails"}
6595	if s.AccountId == nil {
6596		invalidParams.Add(request.NewErrParamRequired("AccountId"))
6597	}
6598
6599	if invalidParams.Len() > 0 {
6600		return invalidParams
6601	}
6602	return nil
6603}
6604
6605// SetAccountId sets the AccountId field's value.
6606func (s *AccountDetails) SetAccountId(v string) *AccountDetails {
6607	s.AccountId = &v
6608	return s
6609}
6610
6611// SetEmail sets the Email field's value.
6612func (s *AccountDetails) SetEmail(v string) *AccountDetails {
6613	s.Email = &v
6614	return s
6615}
6616
6617// Provides details about one of the following actions that affects or that
6618// was taken on a resource:
6619//
6620//    * A remote IP address issued an Amazon Web Services API call
6621//
6622//    * A DNS request was received
6623//
6624//    * A remote IP address attempted to connect to an EC2 instance
6625//
6626//    * A remote IP address attempted a port probe on an EC2 instance
6627type Action struct {
6628	_ struct{} `type:"structure"`
6629
6630	// The type of action that was detected. The possible action types are:
6631	//
6632	//    * NETWORK_CONNECTION
6633	//
6634	//    * AWS_API_CALL
6635	//
6636	//    * DNS_REQUEST
6637	//
6638	//    * PORT_PROBE
6639	ActionType *string `type:"string"`
6640
6641	// Included if ActionType is AWS_API_CALL. Provides details about the API call
6642	// that was detected.
6643	AwsApiCallAction *AwsApiCallAction `type:"structure"`
6644
6645	// Included if ActionType is DNS_REQUEST. Provides details about the DNS request
6646	// that was detected.
6647	DnsRequestAction *DnsRequestAction `type:"structure"`
6648
6649	// Included if ActionType is NETWORK_CONNECTION. Provides details about the
6650	// network connection that was detected.
6651	NetworkConnectionAction *NetworkConnectionAction `type:"structure"`
6652
6653	// Included if ActionType is PORT_PROBE. Provides details about the port probe
6654	// that was detected.
6655	PortProbeAction *PortProbeAction `type:"structure"`
6656}
6657
6658// String returns the string representation.
6659//
6660// API parameter values that are decorated as "sensitive" in the API will not
6661// be included in the string output. The member name will be present, but the
6662// value will be replaced with "sensitive".
6663func (s Action) String() string {
6664	return awsutil.Prettify(s)
6665}
6666
6667// GoString returns the string representation.
6668//
6669// API parameter values that are decorated as "sensitive" in the API will not
6670// be included in the string output. The member name will be present, but the
6671// value will be replaced with "sensitive".
6672func (s Action) GoString() string {
6673	return s.String()
6674}
6675
6676// SetActionType sets the ActionType field's value.
6677func (s *Action) SetActionType(v string) *Action {
6678	s.ActionType = &v
6679	return s
6680}
6681
6682// SetAwsApiCallAction sets the AwsApiCallAction field's value.
6683func (s *Action) SetAwsApiCallAction(v *AwsApiCallAction) *Action {
6684	s.AwsApiCallAction = v
6685	return s
6686}
6687
6688// SetDnsRequestAction sets the DnsRequestAction field's value.
6689func (s *Action) SetDnsRequestAction(v *DnsRequestAction) *Action {
6690	s.DnsRequestAction = v
6691	return s
6692}
6693
6694// SetNetworkConnectionAction sets the NetworkConnectionAction field's value.
6695func (s *Action) SetNetworkConnectionAction(v *NetworkConnectionAction) *Action {
6696	s.NetworkConnectionAction = v
6697	return s
6698}
6699
6700// SetPortProbeAction sets the PortProbeAction field's value.
6701func (s *Action) SetPortProbeAction(v *PortProbeAction) *Action {
6702	s.PortProbeAction = v
6703	return s
6704}
6705
6706// Provides information about the IP address where the scanned port is located.
6707type ActionLocalIpDetails struct {
6708	_ struct{} `type:"structure"`
6709
6710	// The IP address.
6711	IpAddressV4 *string `type:"string"`
6712}
6713
6714// String returns the string representation.
6715//
6716// API parameter values that are decorated as "sensitive" in the API will not
6717// be included in the string output. The member name will be present, but the
6718// value will be replaced with "sensitive".
6719func (s ActionLocalIpDetails) String() string {
6720	return awsutil.Prettify(s)
6721}
6722
6723// GoString returns the string representation.
6724//
6725// API parameter values that are decorated as "sensitive" in the API will not
6726// be included in the string output. The member name will be present, but the
6727// value will be replaced with "sensitive".
6728func (s ActionLocalIpDetails) GoString() string {
6729	return s.String()
6730}
6731
6732// SetIpAddressV4 sets the IpAddressV4 field's value.
6733func (s *ActionLocalIpDetails) SetIpAddressV4(v string) *ActionLocalIpDetails {
6734	s.IpAddressV4 = &v
6735	return s
6736}
6737
6738// For NetworkConnectionAction and PortProbeDetails, LocalPortDetails provides
6739// information about the local port that was involved in the action.
6740type ActionLocalPortDetails struct {
6741	_ struct{} `type:"structure"`
6742
6743	// The number of the port.
6744	Port *int64 `type:"integer"`
6745
6746	// The port name of the local connection.
6747	PortName *string `type:"string"`
6748}
6749
6750// String returns the string representation.
6751//
6752// API parameter values that are decorated as "sensitive" in the API will not
6753// be included in the string output. The member name will be present, but the
6754// value will be replaced with "sensitive".
6755func (s ActionLocalPortDetails) String() string {
6756	return awsutil.Prettify(s)
6757}
6758
6759// GoString returns the string representation.
6760//
6761// API parameter values that are decorated as "sensitive" in the API will not
6762// be included in the string output. The member name will be present, but the
6763// value will be replaced with "sensitive".
6764func (s ActionLocalPortDetails) GoString() string {
6765	return s.String()
6766}
6767
6768// SetPort sets the Port field's value.
6769func (s *ActionLocalPortDetails) SetPort(v int64) *ActionLocalPortDetails {
6770	s.Port = &v
6771	return s
6772}
6773
6774// SetPortName sets the PortName field's value.
6775func (s *ActionLocalPortDetails) SetPortName(v string) *ActionLocalPortDetails {
6776	s.PortName = &v
6777	return s
6778}
6779
6780// For AwsApiAction, NetworkConnectionAction, and PortProbeAction, RemoteIpDetails
6781// provides information about the remote IP address that was involved in the
6782// action.
6783type ActionRemoteIpDetails struct {
6784	_ struct{} `type:"structure"`
6785
6786	// The city where the remote IP address is located.
6787	City *City `type:"structure"`
6788
6789	// The country where the remote IP address is located.
6790	Country *Country `type:"structure"`
6791
6792	// The coordinates of the location of the remote IP address.
6793	GeoLocation *GeoLocation `type:"structure"`
6794
6795	// The IP address.
6796	IpAddressV4 *string `type:"string"`
6797
6798	// The internet service provider (ISP) organization associated with the remote
6799	// IP address.
6800	Organization *IpOrganizationDetails `type:"structure"`
6801}
6802
6803// String returns the string representation.
6804//
6805// API parameter values that are decorated as "sensitive" in the API will not
6806// be included in the string output. The member name will be present, but the
6807// value will be replaced with "sensitive".
6808func (s ActionRemoteIpDetails) String() string {
6809	return awsutil.Prettify(s)
6810}
6811
6812// GoString returns the string representation.
6813//
6814// API parameter values that are decorated as "sensitive" in the API will not
6815// be included in the string output. The member name will be present, but the
6816// value will be replaced with "sensitive".
6817func (s ActionRemoteIpDetails) GoString() string {
6818	return s.String()
6819}
6820
6821// SetCity sets the City field's value.
6822func (s *ActionRemoteIpDetails) SetCity(v *City) *ActionRemoteIpDetails {
6823	s.City = v
6824	return s
6825}
6826
6827// SetCountry sets the Country field's value.
6828func (s *ActionRemoteIpDetails) SetCountry(v *Country) *ActionRemoteIpDetails {
6829	s.Country = v
6830	return s
6831}
6832
6833// SetGeoLocation sets the GeoLocation field's value.
6834func (s *ActionRemoteIpDetails) SetGeoLocation(v *GeoLocation) *ActionRemoteIpDetails {
6835	s.GeoLocation = v
6836	return s
6837}
6838
6839// SetIpAddressV4 sets the IpAddressV4 field's value.
6840func (s *ActionRemoteIpDetails) SetIpAddressV4(v string) *ActionRemoteIpDetails {
6841	s.IpAddressV4 = &v
6842	return s
6843}
6844
6845// SetOrganization sets the Organization field's value.
6846func (s *ActionRemoteIpDetails) SetOrganization(v *IpOrganizationDetails) *ActionRemoteIpDetails {
6847	s.Organization = v
6848	return s
6849}
6850
6851// Provides information about the remote port that was involved in an attempted
6852// network connection.
6853type ActionRemotePortDetails struct {
6854	_ struct{} `type:"structure"`
6855
6856	// The number of the port.
6857	Port *int64 `type:"integer"`
6858
6859	// The port name of the remote connection.
6860	PortName *string `type:"string"`
6861}
6862
6863// String returns the string representation.
6864//
6865// API parameter values that are decorated as "sensitive" in the API will not
6866// be included in the string output. The member name will be present, but the
6867// value will be replaced with "sensitive".
6868func (s ActionRemotePortDetails) String() string {
6869	return awsutil.Prettify(s)
6870}
6871
6872// GoString returns the string representation.
6873//
6874// API parameter values that are decorated as "sensitive" in the API will not
6875// be included in the string output. The member name will be present, but the
6876// value will be replaced with "sensitive".
6877func (s ActionRemotePortDetails) GoString() string {
6878	return s.String()
6879}
6880
6881// SetPort sets the Port field's value.
6882func (s *ActionRemotePortDetails) SetPort(v int64) *ActionRemotePortDetails {
6883	s.Port = &v
6884	return s
6885}
6886
6887// SetPortName sets the PortName field's value.
6888func (s *ActionRemotePortDetails) SetPortName(v string) *ActionRemotePortDetails {
6889	s.PortName = &v
6890	return s
6891}
6892
6893// An ActionTarget object.
6894type ActionTarget struct {
6895	_ struct{} `type:"structure"`
6896
6897	// The ARN for the target action.
6898	//
6899	// ActionTargetArn is a required field
6900	ActionTargetArn *string `type:"string" required:"true"`
6901
6902	// The description of the target action.
6903	//
6904	// Description is a required field
6905	Description *string `type:"string" required:"true"`
6906
6907	// The name of the action target.
6908	//
6909	// Name is a required field
6910	Name *string `type:"string" required:"true"`
6911}
6912
6913// String returns the string representation.
6914//
6915// API parameter values that are decorated as "sensitive" in the API will not
6916// be included in the string output. The member name will be present, but the
6917// value will be replaced with "sensitive".
6918func (s ActionTarget) String() string {
6919	return awsutil.Prettify(s)
6920}
6921
6922// GoString returns the string representation.
6923//
6924// API parameter values that are decorated as "sensitive" in the API will not
6925// be included in the string output. The member name will be present, but the
6926// value will be replaced with "sensitive".
6927func (s ActionTarget) GoString() string {
6928	return s.String()
6929}
6930
6931// SetActionTargetArn sets the ActionTargetArn field's value.
6932func (s *ActionTarget) SetActionTargetArn(v string) *ActionTarget {
6933	s.ActionTargetArn = &v
6934	return s
6935}
6936
6937// SetDescription sets the Description field's value.
6938func (s *ActionTarget) SetDescription(v string) *ActionTarget {
6939	s.Description = &v
6940	return s
6941}
6942
6943// SetName sets the Name field's value.
6944func (s *ActionTarget) SetName(v string) *ActionTarget {
6945	s.Name = &v
6946	return s
6947}
6948
6949// An adjustment to the CVSS metric.
6950type Adjustment struct {
6951	_ struct{} `type:"structure"`
6952
6953	// The metric to adjust.
6954	Metric *string `type:"string"`
6955
6956	// The reason for the adjustment.
6957	Reason *string `type:"string"`
6958}
6959
6960// String returns the string representation.
6961//
6962// API parameter values that are decorated as "sensitive" in the API will not
6963// be included in the string output. The member name will be present, but the
6964// value will be replaced with "sensitive".
6965func (s Adjustment) String() string {
6966	return awsutil.Prettify(s)
6967}
6968
6969// GoString returns the string representation.
6970//
6971// API parameter values that are decorated as "sensitive" in the API will not
6972// be included in the string output. The member name will be present, but the
6973// value will be replaced with "sensitive".
6974func (s Adjustment) GoString() string {
6975	return s.String()
6976}
6977
6978// SetMetric sets the Metric field's value.
6979func (s *Adjustment) SetMetric(v string) *Adjustment {
6980	s.Metric = &v
6981	return s
6982}
6983
6984// SetReason sets the Reason field's value.
6985func (s *Adjustment) SetReason(v string) *Adjustment {
6986	s.Reason = &v
6987	return s
6988}
6989
6990// Represents a Security Hub administrator account designated by an organization
6991// management account.
6992type AdminAccount struct {
6993	_ struct{} `type:"structure"`
6994
6995	// The Amazon Web Services account identifier of the Security Hub administrator
6996	// account.
6997	AccountId *string `type:"string"`
6998
6999	// The current status of the Security Hub administrator account. Indicates whether
7000	// the account is currently enabled as a Security Hub administrator.
7001	Status *string `type:"string" enum:"AdminStatus"`
7002}
7003
7004// String returns the string representation.
7005//
7006// API parameter values that are decorated as "sensitive" in the API will not
7007// be included in the string output. The member name will be present, but the
7008// value will be replaced with "sensitive".
7009func (s AdminAccount) String() string {
7010	return awsutil.Prettify(s)
7011}
7012
7013// GoString returns the string representation.
7014//
7015// API parameter values that are decorated as "sensitive" in the API will not
7016// be included in the string output. The member name will be present, but the
7017// value will be replaced with "sensitive".
7018func (s AdminAccount) GoString() string {
7019	return s.String()
7020}
7021
7022// SetAccountId sets the AccountId field's value.
7023func (s *AdminAccount) SetAccountId(v string) *AdminAccount {
7024	s.AccountId = &v
7025	return s
7026}
7027
7028// SetStatus sets the Status field's value.
7029func (s *AdminAccount) SetStatus(v string) *AdminAccount {
7030	s.Status = &v
7031	return s
7032}
7033
7034// Information about an Availability Zone.
7035type AvailabilityZone struct {
7036	_ struct{} `type:"structure"`
7037
7038	// The ID of the subnet. You can specify one subnet per Availability Zone.
7039	SubnetId *string `type:"string"`
7040
7041	// The name of the Availability Zone.
7042	ZoneName *string `type:"string"`
7043}
7044
7045// String returns the string representation.
7046//
7047// API parameter values that are decorated as "sensitive" in the API will not
7048// be included in the string output. The member name will be present, but the
7049// value will be replaced with "sensitive".
7050func (s AvailabilityZone) String() string {
7051	return awsutil.Prettify(s)
7052}
7053
7054// GoString returns the string representation.
7055//
7056// API parameter values that are decorated as "sensitive" in the API will not
7057// be included in the string output. The member name will be present, but the
7058// value will be replaced with "sensitive".
7059func (s AvailabilityZone) GoString() string {
7060	return s.String()
7061}
7062
7063// SetSubnetId sets the SubnetId field's value.
7064func (s *AvailabilityZone) SetSubnetId(v string) *AvailabilityZone {
7065	s.SubnetId = &v
7066	return s
7067}
7068
7069// SetZoneName sets the ZoneName field's value.
7070func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
7071	s.ZoneName = &v
7072	return s
7073}
7074
7075// Provided if ActionType is AWS_API_CALL. It provides details about the API
7076// call that was detected.
7077type AwsApiCallAction struct {
7078	_ struct{} `type:"structure"`
7079
7080	// Identifies the resources that were affected by the API call.
7081	AffectedResources map[string]*string `type:"map"`
7082
7083	// The name of the API method that was issued.
7084	Api *string `type:"string"`
7085
7086	// Indicates whether the API call originated from a remote IP address (remoteip)
7087	// or from a DNS domain (domain).
7088	CallerType *string `type:"string"`
7089
7090	// Provided if CallerType is domain. Provides information about the DNS domain
7091	// that the API call originated from.
7092	DomainDetails *AwsApiCallActionDomainDetails `type:"structure"`
7093
7094	// An ISO8601-formatted timestamp that indicates when the API call was first
7095	// observed.
7096	FirstSeen *string `type:"string"`
7097
7098	// An ISO8601-formatted timestamp that indicates when the API call was most
7099	// recently observed.
7100	LastSeen *string `type:"string"`
7101
7102	// Provided if CallerType is remoteIp. Provides information about the remote
7103	// IP address that the API call originated from.
7104	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
7105
7106	// The name of the Amazon Web Services service that the API method belongs to.
7107	ServiceName *string `type:"string"`
7108}
7109
7110// String returns the string representation.
7111//
7112// API parameter values that are decorated as "sensitive" in the API will not
7113// be included in the string output. The member name will be present, but the
7114// value will be replaced with "sensitive".
7115func (s AwsApiCallAction) String() string {
7116	return awsutil.Prettify(s)
7117}
7118
7119// GoString returns the string representation.
7120//
7121// API parameter values that are decorated as "sensitive" in the API will not
7122// be included in the string output. The member name will be present, but the
7123// value will be replaced with "sensitive".
7124func (s AwsApiCallAction) GoString() string {
7125	return s.String()
7126}
7127
7128// SetAffectedResources sets the AffectedResources field's value.
7129func (s *AwsApiCallAction) SetAffectedResources(v map[string]*string) *AwsApiCallAction {
7130	s.AffectedResources = v
7131	return s
7132}
7133
7134// SetApi sets the Api field's value.
7135func (s *AwsApiCallAction) SetApi(v string) *AwsApiCallAction {
7136	s.Api = &v
7137	return s
7138}
7139
7140// SetCallerType sets the CallerType field's value.
7141func (s *AwsApiCallAction) SetCallerType(v string) *AwsApiCallAction {
7142	s.CallerType = &v
7143	return s
7144}
7145
7146// SetDomainDetails sets the DomainDetails field's value.
7147func (s *AwsApiCallAction) SetDomainDetails(v *AwsApiCallActionDomainDetails) *AwsApiCallAction {
7148	s.DomainDetails = v
7149	return s
7150}
7151
7152// SetFirstSeen sets the FirstSeen field's value.
7153func (s *AwsApiCallAction) SetFirstSeen(v string) *AwsApiCallAction {
7154	s.FirstSeen = &v
7155	return s
7156}
7157
7158// SetLastSeen sets the LastSeen field's value.
7159func (s *AwsApiCallAction) SetLastSeen(v string) *AwsApiCallAction {
7160	s.LastSeen = &v
7161	return s
7162}
7163
7164// SetRemoteIpDetails sets the RemoteIpDetails field's value.
7165func (s *AwsApiCallAction) SetRemoteIpDetails(v *ActionRemoteIpDetails) *AwsApiCallAction {
7166	s.RemoteIpDetails = v
7167	return s
7168}
7169
7170// SetServiceName sets the ServiceName field's value.
7171func (s *AwsApiCallAction) SetServiceName(v string) *AwsApiCallAction {
7172	s.ServiceName = &v
7173	return s
7174}
7175
7176// Provided if CallerType is domain. It provides information about the DNS domain
7177// that issued the API call.
7178type AwsApiCallActionDomainDetails struct {
7179	_ struct{} `type:"structure"`
7180
7181	// The name of the DNS domain that issued the API call.
7182	Domain *string `type:"string"`
7183}
7184
7185// String returns the string representation.
7186//
7187// API parameter values that are decorated as "sensitive" in the API will not
7188// be included in the string output. The member name will be present, but the
7189// value will be replaced with "sensitive".
7190func (s AwsApiCallActionDomainDetails) String() string {
7191	return awsutil.Prettify(s)
7192}
7193
7194// GoString returns the string representation.
7195//
7196// API parameter values that are decorated as "sensitive" in the API will not
7197// be included in the string output. The member name will be present, but the
7198// value will be replaced with "sensitive".
7199func (s AwsApiCallActionDomainDetails) GoString() string {
7200	return s.String()
7201}
7202
7203// SetDomain sets the Domain field's value.
7204func (s *AwsApiCallActionDomainDetails) SetDomain(v string) *AwsApiCallActionDomainDetails {
7205	s.Domain = &v
7206	return s
7207}
7208
7209// Contains information about settings for logging access for the stage.
7210type AwsApiGatewayAccessLogSettings struct {
7211	_ struct{} `type:"structure"`
7212
7213	// The ARN of the CloudWatch Logs log group that receives the access logs.
7214	DestinationArn *string `type:"string"`
7215
7216	// A single-line format of the access logs of data, as specified by selected
7217	// $context variables. The format must include at least $context.requestId.
7218	Format *string `type:"string"`
7219}
7220
7221// String returns the string representation.
7222//
7223// API parameter values that are decorated as "sensitive" in the API will not
7224// be included in the string output. The member name will be present, but the
7225// value will be replaced with "sensitive".
7226func (s AwsApiGatewayAccessLogSettings) String() string {
7227	return awsutil.Prettify(s)
7228}
7229
7230// GoString returns the string representation.
7231//
7232// API parameter values that are decorated as "sensitive" in the API will not
7233// be included in the string output. The member name will be present, but the
7234// value will be replaced with "sensitive".
7235func (s AwsApiGatewayAccessLogSettings) GoString() string {
7236	return s.String()
7237}
7238
7239// SetDestinationArn sets the DestinationArn field's value.
7240func (s *AwsApiGatewayAccessLogSettings) SetDestinationArn(v string) *AwsApiGatewayAccessLogSettings {
7241	s.DestinationArn = &v
7242	return s
7243}
7244
7245// SetFormat sets the Format field's value.
7246func (s *AwsApiGatewayAccessLogSettings) SetFormat(v string) *AwsApiGatewayAccessLogSettings {
7247	s.Format = &v
7248	return s
7249}
7250
7251// Contains information about settings for canary deployment in the stage.
7252type AwsApiGatewayCanarySettings struct {
7253	_ struct{} `type:"structure"`
7254
7255	// The deployment identifier for the canary deployment.
7256	DeploymentId *string `type:"string"`
7257
7258	// The percentage of traffic that is diverted to a canary deployment.
7259	PercentTraffic *float64 `type:"double"`
7260
7261	// Stage variables that are overridden in the canary release deployment. The
7262	// variables include new stage variables that are introduced in the canary.
7263	//
7264	// Each variable is represented as a string-to-string map between the stage
7265	// variable name and the variable value.
7266	StageVariableOverrides map[string]*string `type:"map"`
7267
7268	// Indicates whether the canary deployment uses the stage cache.
7269	UseStageCache *bool `type:"boolean"`
7270}
7271
7272// String returns the string representation.
7273//
7274// API parameter values that are decorated as "sensitive" in the API will not
7275// be included in the string output. The member name will be present, but the
7276// value will be replaced with "sensitive".
7277func (s AwsApiGatewayCanarySettings) String() string {
7278	return awsutil.Prettify(s)
7279}
7280
7281// GoString returns the string representation.
7282//
7283// API parameter values that are decorated as "sensitive" in the API will not
7284// be included in the string output. The member name will be present, but the
7285// value will be replaced with "sensitive".
7286func (s AwsApiGatewayCanarySettings) GoString() string {
7287	return s.String()
7288}
7289
7290// SetDeploymentId sets the DeploymentId field's value.
7291func (s *AwsApiGatewayCanarySettings) SetDeploymentId(v string) *AwsApiGatewayCanarySettings {
7292	s.DeploymentId = &v
7293	return s
7294}
7295
7296// SetPercentTraffic sets the PercentTraffic field's value.
7297func (s *AwsApiGatewayCanarySettings) SetPercentTraffic(v float64) *AwsApiGatewayCanarySettings {
7298	s.PercentTraffic = &v
7299	return s
7300}
7301
7302// SetStageVariableOverrides sets the StageVariableOverrides field's value.
7303func (s *AwsApiGatewayCanarySettings) SetStageVariableOverrides(v map[string]*string) *AwsApiGatewayCanarySettings {
7304	s.StageVariableOverrides = v
7305	return s
7306}
7307
7308// SetUseStageCache sets the UseStageCache field's value.
7309func (s *AwsApiGatewayCanarySettings) SetUseStageCache(v bool) *AwsApiGatewayCanarySettings {
7310	s.UseStageCache = &v
7311	return s
7312}
7313
7314// Contains information about the endpoints for the API.
7315type AwsApiGatewayEndpointConfiguration struct {
7316	_ struct{} `type:"structure"`
7317
7318	// A list of endpoint types for the REST API.
7319	//
7320	// For an edge-optimized API, the endpoint type is EDGE. For a Regional API,
7321	// the endpoint type is REGIONAL. For a private API, the endpoint type is PRIVATE.
7322	Types []*string `type:"list"`
7323}
7324
7325// String returns the string representation.
7326//
7327// API parameter values that are decorated as "sensitive" in the API will not
7328// be included in the string output. The member name will be present, but the
7329// value will be replaced with "sensitive".
7330func (s AwsApiGatewayEndpointConfiguration) String() string {
7331	return awsutil.Prettify(s)
7332}
7333
7334// GoString returns the string representation.
7335//
7336// API parameter values that are decorated as "sensitive" in the API will not
7337// be included in the string output. The member name will be present, but the
7338// value will be replaced with "sensitive".
7339func (s AwsApiGatewayEndpointConfiguration) GoString() string {
7340	return s.String()
7341}
7342
7343// SetTypes sets the Types field's value.
7344func (s *AwsApiGatewayEndpointConfiguration) SetTypes(v []*string) *AwsApiGatewayEndpointConfiguration {
7345	s.Types = v
7346	return s
7347}
7348
7349// Defines settings for a method for the stage.
7350type AwsApiGatewayMethodSettings struct {
7351	_ struct{} `type:"structure"`
7352
7353	// Indicates whether the cached responses are encrypted.
7354	CacheDataEncrypted *bool `type:"boolean"`
7355
7356	// Specifies the time to live (TTL), in seconds, for cached responses. The higher
7357	// the TTL, the longer the response is cached.
7358	CacheTtlInSeconds *int64 `type:"integer"`
7359
7360	// Indicates whether responses are cached and returned for requests. For responses
7361	// to be cached, a cache cluster must be enabled on the stage.
7362	CachingEnabled *bool `type:"boolean"`
7363
7364	// Indicates whether data trace logging is enabled for the method. Data trace
7365	// logging affects the log entries that are pushed to CloudWatch Logs.
7366	DataTraceEnabled *bool `type:"boolean"`
7367
7368	// The HTTP method. You can use an asterisk (*) as a wildcard to apply method
7369	// settings to multiple methods.
7370	HttpMethod *string `type:"string"`
7371
7372	// The logging level for this method. The logging level affects the log entries
7373	// that are pushed to CloudWatch Logs.
7374	//
7375	// If the logging level is ERROR, then the logs only include error-level entries.
7376	//
7377	// If the logging level is INFO, then the logs include both ERROR events and
7378	// extra informational events.
7379	//
7380	// Valid values: OFF | ERROR | INFO
7381	LoggingLevel *string `type:"string"`
7382
7383	// Indicates whether CloudWatch metrics are enabled for the method.
7384	MetricsEnabled *bool `type:"boolean"`
7385
7386	// Indicates whether authorization is required for a cache invalidation request.
7387	RequireAuthorizationForCacheControl *bool `type:"boolean"`
7388
7389	// The resource path for this method. Forward slashes (/) are encoded as ~1
7390	// . The initial slash must include a forward slash.
7391	//
7392	// For example, the path value /resource/subresource must be encoded as /~1resource~1subresource.
7393	//
7394	// To specify the root path, use only a slash (/). You can use an asterisk (*)
7395	// as a wildcard to apply method settings to multiple methods.
7396	ResourcePath *string `type:"string"`
7397
7398	// The throttling burst limit for the method.
7399	ThrottlingBurstLimit *int64 `type:"integer"`
7400
7401	// The throttling rate limit for the method.
7402	ThrottlingRateLimit *float64 `type:"double"`
7403
7404	// Indicates how to handle unauthorized requests for cache invalidation.
7405	//
7406	// Valid values: FAIL_WITH_403 | SUCCEED_WITH_RESPONSE_HEADER | SUCCEED_WITHOUT_RESPONSE_HEADER
7407	UnauthorizedCacheControlHeaderStrategy *string `type:"string"`
7408}
7409
7410// String returns the string representation.
7411//
7412// API parameter values that are decorated as "sensitive" in the API will not
7413// be included in the string output. The member name will be present, but the
7414// value will be replaced with "sensitive".
7415func (s AwsApiGatewayMethodSettings) String() string {
7416	return awsutil.Prettify(s)
7417}
7418
7419// GoString returns the string representation.
7420//
7421// API parameter values that are decorated as "sensitive" in the API will not
7422// be included in the string output. The member name will be present, but the
7423// value will be replaced with "sensitive".
7424func (s AwsApiGatewayMethodSettings) GoString() string {
7425	return s.String()
7426}
7427
7428// SetCacheDataEncrypted sets the CacheDataEncrypted field's value.
7429func (s *AwsApiGatewayMethodSettings) SetCacheDataEncrypted(v bool) *AwsApiGatewayMethodSettings {
7430	s.CacheDataEncrypted = &v
7431	return s
7432}
7433
7434// SetCacheTtlInSeconds sets the CacheTtlInSeconds field's value.
7435func (s *AwsApiGatewayMethodSettings) SetCacheTtlInSeconds(v int64) *AwsApiGatewayMethodSettings {
7436	s.CacheTtlInSeconds = &v
7437	return s
7438}
7439
7440// SetCachingEnabled sets the CachingEnabled field's value.
7441func (s *AwsApiGatewayMethodSettings) SetCachingEnabled(v bool) *AwsApiGatewayMethodSettings {
7442	s.CachingEnabled = &v
7443	return s
7444}
7445
7446// SetDataTraceEnabled sets the DataTraceEnabled field's value.
7447func (s *AwsApiGatewayMethodSettings) SetDataTraceEnabled(v bool) *AwsApiGatewayMethodSettings {
7448	s.DataTraceEnabled = &v
7449	return s
7450}
7451
7452// SetHttpMethod sets the HttpMethod field's value.
7453func (s *AwsApiGatewayMethodSettings) SetHttpMethod(v string) *AwsApiGatewayMethodSettings {
7454	s.HttpMethod = &v
7455	return s
7456}
7457
7458// SetLoggingLevel sets the LoggingLevel field's value.
7459func (s *AwsApiGatewayMethodSettings) SetLoggingLevel(v string) *AwsApiGatewayMethodSettings {
7460	s.LoggingLevel = &v
7461	return s
7462}
7463
7464// SetMetricsEnabled sets the MetricsEnabled field's value.
7465func (s *AwsApiGatewayMethodSettings) SetMetricsEnabled(v bool) *AwsApiGatewayMethodSettings {
7466	s.MetricsEnabled = &v
7467	return s
7468}
7469
7470// SetRequireAuthorizationForCacheControl sets the RequireAuthorizationForCacheControl field's value.
7471func (s *AwsApiGatewayMethodSettings) SetRequireAuthorizationForCacheControl(v bool) *AwsApiGatewayMethodSettings {
7472	s.RequireAuthorizationForCacheControl = &v
7473	return s
7474}
7475
7476// SetResourcePath sets the ResourcePath field's value.
7477func (s *AwsApiGatewayMethodSettings) SetResourcePath(v string) *AwsApiGatewayMethodSettings {
7478	s.ResourcePath = &v
7479	return s
7480}
7481
7482// SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
7483func (s *AwsApiGatewayMethodSettings) SetThrottlingBurstLimit(v int64) *AwsApiGatewayMethodSettings {
7484	s.ThrottlingBurstLimit = &v
7485	return s
7486}
7487
7488// SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
7489func (s *AwsApiGatewayMethodSettings) SetThrottlingRateLimit(v float64) *AwsApiGatewayMethodSettings {
7490	s.ThrottlingRateLimit = &v
7491	return s
7492}
7493
7494// SetUnauthorizedCacheControlHeaderStrategy sets the UnauthorizedCacheControlHeaderStrategy field's value.
7495func (s *AwsApiGatewayMethodSettings) SetUnauthorizedCacheControlHeaderStrategy(v string) *AwsApiGatewayMethodSettings {
7496	s.UnauthorizedCacheControlHeaderStrategy = &v
7497	return s
7498}
7499
7500// Contains information about a REST API in version 1 of Amazon API Gateway.
7501type AwsApiGatewayRestApiDetails struct {
7502	_ struct{} `type:"structure"`
7503
7504	// The source of the API key for metering requests according to a usage plan.
7505	//
7506	// HEADER indicates whether to read the API key from the X-API-Key header of
7507	// a request.
7508	//
7509	// AUTHORIZER indicates whether to read the API key from the UsageIdentifierKey
7510	// from a custom authorizer.
7511	ApiKeySource *string `type:"string"`
7512
7513	// The list of binary media types supported by the REST API.
7514	BinaryMediaTypes []*string `type:"list"`
7515
7516	// Indicates when the API was created.
7517	//
7518	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7519	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7520	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7521	CreatedDate *string `type:"string"`
7522
7523	// A description of the REST API.
7524	Description *string `type:"string"`
7525
7526	// The endpoint configuration of the REST API.
7527	EndpointConfiguration *AwsApiGatewayEndpointConfiguration `type:"structure"`
7528
7529	// The identifier of the REST API.
7530	Id *string `type:"string"`
7531
7532	// The minimum size in bytes of a payload before compression is enabled.
7533	//
7534	// If null, then compression is disabled.
7535	//
7536	// If 0, then all payloads are compressed.
7537	MinimumCompressionSize *int64 `type:"integer"`
7538
7539	// The name of the REST API.
7540	Name *string `type:"string"`
7541
7542	// The version identifier for the REST API.
7543	Version *string `type:"string"`
7544}
7545
7546// String returns the string representation.
7547//
7548// API parameter values that are decorated as "sensitive" in the API will not
7549// be included in the string output. The member name will be present, but the
7550// value will be replaced with "sensitive".
7551func (s AwsApiGatewayRestApiDetails) String() string {
7552	return awsutil.Prettify(s)
7553}
7554
7555// GoString returns the string representation.
7556//
7557// API parameter values that are decorated as "sensitive" in the API will not
7558// be included in the string output. The member name will be present, but the
7559// value will be replaced with "sensitive".
7560func (s AwsApiGatewayRestApiDetails) GoString() string {
7561	return s.String()
7562}
7563
7564// SetApiKeySource sets the ApiKeySource field's value.
7565func (s *AwsApiGatewayRestApiDetails) SetApiKeySource(v string) *AwsApiGatewayRestApiDetails {
7566	s.ApiKeySource = &v
7567	return s
7568}
7569
7570// SetBinaryMediaTypes sets the BinaryMediaTypes field's value.
7571func (s *AwsApiGatewayRestApiDetails) SetBinaryMediaTypes(v []*string) *AwsApiGatewayRestApiDetails {
7572	s.BinaryMediaTypes = v
7573	return s
7574}
7575
7576// SetCreatedDate sets the CreatedDate field's value.
7577func (s *AwsApiGatewayRestApiDetails) SetCreatedDate(v string) *AwsApiGatewayRestApiDetails {
7578	s.CreatedDate = &v
7579	return s
7580}
7581
7582// SetDescription sets the Description field's value.
7583func (s *AwsApiGatewayRestApiDetails) SetDescription(v string) *AwsApiGatewayRestApiDetails {
7584	s.Description = &v
7585	return s
7586}
7587
7588// SetEndpointConfiguration sets the EndpointConfiguration field's value.
7589func (s *AwsApiGatewayRestApiDetails) SetEndpointConfiguration(v *AwsApiGatewayEndpointConfiguration) *AwsApiGatewayRestApiDetails {
7590	s.EndpointConfiguration = v
7591	return s
7592}
7593
7594// SetId sets the Id field's value.
7595func (s *AwsApiGatewayRestApiDetails) SetId(v string) *AwsApiGatewayRestApiDetails {
7596	s.Id = &v
7597	return s
7598}
7599
7600// SetMinimumCompressionSize sets the MinimumCompressionSize field's value.
7601func (s *AwsApiGatewayRestApiDetails) SetMinimumCompressionSize(v int64) *AwsApiGatewayRestApiDetails {
7602	s.MinimumCompressionSize = &v
7603	return s
7604}
7605
7606// SetName sets the Name field's value.
7607func (s *AwsApiGatewayRestApiDetails) SetName(v string) *AwsApiGatewayRestApiDetails {
7608	s.Name = &v
7609	return s
7610}
7611
7612// SetVersion sets the Version field's value.
7613func (s *AwsApiGatewayRestApiDetails) SetVersion(v string) *AwsApiGatewayRestApiDetails {
7614	s.Version = &v
7615	return s
7616}
7617
7618// Provides information about a version 1 Amazon API Gateway stage.
7619type AwsApiGatewayStageDetails struct {
7620	_ struct{} `type:"structure"`
7621
7622	// Settings for logging access for the stage.
7623	AccessLogSettings *AwsApiGatewayAccessLogSettings `type:"structure"`
7624
7625	// Indicates whether a cache cluster is enabled for the stage.
7626	CacheClusterEnabled *bool `type:"boolean"`
7627
7628	// If a cache cluster is enabled, the size of the cache cluster.
7629	CacheClusterSize *string `type:"string"`
7630
7631	// If a cache cluster is enabled, the status of the cache cluster.
7632	CacheClusterStatus *string `type:"string"`
7633
7634	// Information about settings for canary deployment in the stage.
7635	CanarySettings *AwsApiGatewayCanarySettings `type:"structure"`
7636
7637	// The identifier of the client certificate for the stage.
7638	ClientCertificateId *string `type:"string"`
7639
7640	// Indicates when the stage was created.
7641	//
7642	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7643	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7644	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7645	CreatedDate *string `type:"string"`
7646
7647	// The identifier of the deployment that the stage points to.
7648	DeploymentId *string `type:"string"`
7649
7650	// A description of the stage.
7651	Description *string `type:"string"`
7652
7653	// The version of the API documentation that is associated with the stage.
7654	DocumentationVersion *string `type:"string"`
7655
7656	// Indicates when the stage was most recently updated.
7657	//
7658	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7659	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7660	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7661	LastUpdatedDate *string `type:"string"`
7662
7663	// Defines the method settings for the stage.
7664	MethodSettings []*AwsApiGatewayMethodSettings `type:"list"`
7665
7666	// The name of the stage.
7667	StageName *string `type:"string"`
7668
7669	// Indicates whether active tracing with X-Ray is enabled for the stage.
7670	TracingEnabled *bool `type:"boolean"`
7671
7672	// A map that defines the stage variables for the stage.
7673	//
7674	// Variable names can have alphanumeric and underscore characters.
7675	//
7676	// Variable values can contain the following characters:
7677	//
7678	//    * Uppercase and lowercase letters
7679	//
7680	//    * Numbers
7681	//
7682	//    * Special characters -._~:/?#&=,
7683	Variables map[string]*string `type:"map"`
7684
7685	// The ARN of the web ACL associated with the stage.
7686	WebAclArn *string `type:"string"`
7687}
7688
7689// String returns the string representation.
7690//
7691// API parameter values that are decorated as "sensitive" in the API will not
7692// be included in the string output. The member name will be present, but the
7693// value will be replaced with "sensitive".
7694func (s AwsApiGatewayStageDetails) String() string {
7695	return awsutil.Prettify(s)
7696}
7697
7698// GoString returns the string representation.
7699//
7700// API parameter values that are decorated as "sensitive" in the API will not
7701// be included in the string output. The member name will be present, but the
7702// value will be replaced with "sensitive".
7703func (s AwsApiGatewayStageDetails) GoString() string {
7704	return s.String()
7705}
7706
7707// SetAccessLogSettings sets the AccessLogSettings field's value.
7708func (s *AwsApiGatewayStageDetails) SetAccessLogSettings(v *AwsApiGatewayAccessLogSettings) *AwsApiGatewayStageDetails {
7709	s.AccessLogSettings = v
7710	return s
7711}
7712
7713// SetCacheClusterEnabled sets the CacheClusterEnabled field's value.
7714func (s *AwsApiGatewayStageDetails) SetCacheClusterEnabled(v bool) *AwsApiGatewayStageDetails {
7715	s.CacheClusterEnabled = &v
7716	return s
7717}
7718
7719// SetCacheClusterSize sets the CacheClusterSize field's value.
7720func (s *AwsApiGatewayStageDetails) SetCacheClusterSize(v string) *AwsApiGatewayStageDetails {
7721	s.CacheClusterSize = &v
7722	return s
7723}
7724
7725// SetCacheClusterStatus sets the CacheClusterStatus field's value.
7726func (s *AwsApiGatewayStageDetails) SetCacheClusterStatus(v string) *AwsApiGatewayStageDetails {
7727	s.CacheClusterStatus = &v
7728	return s
7729}
7730
7731// SetCanarySettings sets the CanarySettings field's value.
7732func (s *AwsApiGatewayStageDetails) SetCanarySettings(v *AwsApiGatewayCanarySettings) *AwsApiGatewayStageDetails {
7733	s.CanarySettings = v
7734	return s
7735}
7736
7737// SetClientCertificateId sets the ClientCertificateId field's value.
7738func (s *AwsApiGatewayStageDetails) SetClientCertificateId(v string) *AwsApiGatewayStageDetails {
7739	s.ClientCertificateId = &v
7740	return s
7741}
7742
7743// SetCreatedDate sets the CreatedDate field's value.
7744func (s *AwsApiGatewayStageDetails) SetCreatedDate(v string) *AwsApiGatewayStageDetails {
7745	s.CreatedDate = &v
7746	return s
7747}
7748
7749// SetDeploymentId sets the DeploymentId field's value.
7750func (s *AwsApiGatewayStageDetails) SetDeploymentId(v string) *AwsApiGatewayStageDetails {
7751	s.DeploymentId = &v
7752	return s
7753}
7754
7755// SetDescription sets the Description field's value.
7756func (s *AwsApiGatewayStageDetails) SetDescription(v string) *AwsApiGatewayStageDetails {
7757	s.Description = &v
7758	return s
7759}
7760
7761// SetDocumentationVersion sets the DocumentationVersion field's value.
7762func (s *AwsApiGatewayStageDetails) SetDocumentationVersion(v string) *AwsApiGatewayStageDetails {
7763	s.DocumentationVersion = &v
7764	return s
7765}
7766
7767// SetLastUpdatedDate sets the LastUpdatedDate field's value.
7768func (s *AwsApiGatewayStageDetails) SetLastUpdatedDate(v string) *AwsApiGatewayStageDetails {
7769	s.LastUpdatedDate = &v
7770	return s
7771}
7772
7773// SetMethodSettings sets the MethodSettings field's value.
7774func (s *AwsApiGatewayStageDetails) SetMethodSettings(v []*AwsApiGatewayMethodSettings) *AwsApiGatewayStageDetails {
7775	s.MethodSettings = v
7776	return s
7777}
7778
7779// SetStageName sets the StageName field's value.
7780func (s *AwsApiGatewayStageDetails) SetStageName(v string) *AwsApiGatewayStageDetails {
7781	s.StageName = &v
7782	return s
7783}
7784
7785// SetTracingEnabled sets the TracingEnabled field's value.
7786func (s *AwsApiGatewayStageDetails) SetTracingEnabled(v bool) *AwsApiGatewayStageDetails {
7787	s.TracingEnabled = &v
7788	return s
7789}
7790
7791// SetVariables sets the Variables field's value.
7792func (s *AwsApiGatewayStageDetails) SetVariables(v map[string]*string) *AwsApiGatewayStageDetails {
7793	s.Variables = v
7794	return s
7795}
7796
7797// SetWebAclArn sets the WebAclArn field's value.
7798func (s *AwsApiGatewayStageDetails) SetWebAclArn(v string) *AwsApiGatewayStageDetails {
7799	s.WebAclArn = &v
7800	return s
7801}
7802
7803// Contains information about a version 2 API in Amazon API Gateway.
7804type AwsApiGatewayV2ApiDetails struct {
7805	_ struct{} `type:"structure"`
7806
7807	// The URI of the API.
7808	//
7809	// Uses the format <api-id>.execute-api.<region>.amazonaws.com
7810	//
7811	// The stage name is typically appended to the URI to form a complete path to
7812	// a deployed API stage.
7813	ApiEndpoint *string `type:"string"`
7814
7815	// The identifier of the API.
7816	ApiId *string `type:"string"`
7817
7818	// An API key selection expression. Supported only for WebSocket APIs.
7819	ApiKeySelectionExpression *string `type:"string"`
7820
7821	// A cross-origin resource sharing (CORS) configuration. Supported only for
7822	// HTTP APIs.
7823	CorsConfiguration *AwsCorsConfiguration `type:"structure"`
7824
7825	// Indicates when the API was created.
7826	//
7827	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7828	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7829	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7830	CreatedDate *string `type:"string"`
7831
7832	// A description of the API.
7833	Description *string `type:"string"`
7834
7835	// The name of the API.
7836	Name *string `type:"string"`
7837
7838	// The API protocol for the API.
7839	//
7840	// Valid values: WEBSOCKET | HTTP
7841	ProtocolType *string `type:"string"`
7842
7843	// The route selection expression for the API.
7844	//
7845	// For HTTP APIs, must be ${request.method} ${request.path}. This is the default
7846	// value for HTTP APIs.
7847	//
7848	// For WebSocket APIs, there is no default value.
7849	RouteSelectionExpression *string `type:"string"`
7850
7851	// The version identifier for the API.
7852	Version *string `type:"string"`
7853}
7854
7855// String returns the string representation.
7856//
7857// API parameter values that are decorated as "sensitive" in the API will not
7858// be included in the string output. The member name will be present, but the
7859// value will be replaced with "sensitive".
7860func (s AwsApiGatewayV2ApiDetails) String() string {
7861	return awsutil.Prettify(s)
7862}
7863
7864// GoString returns the string representation.
7865//
7866// API parameter values that are decorated as "sensitive" in the API will not
7867// be included in the string output. The member name will be present, but the
7868// value will be replaced with "sensitive".
7869func (s AwsApiGatewayV2ApiDetails) GoString() string {
7870	return s.String()
7871}
7872
7873// SetApiEndpoint sets the ApiEndpoint field's value.
7874func (s *AwsApiGatewayV2ApiDetails) SetApiEndpoint(v string) *AwsApiGatewayV2ApiDetails {
7875	s.ApiEndpoint = &v
7876	return s
7877}
7878
7879// SetApiId sets the ApiId field's value.
7880func (s *AwsApiGatewayV2ApiDetails) SetApiId(v string) *AwsApiGatewayV2ApiDetails {
7881	s.ApiId = &v
7882	return s
7883}
7884
7885// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
7886func (s *AwsApiGatewayV2ApiDetails) SetApiKeySelectionExpression(v string) *AwsApiGatewayV2ApiDetails {
7887	s.ApiKeySelectionExpression = &v
7888	return s
7889}
7890
7891// SetCorsConfiguration sets the CorsConfiguration field's value.
7892func (s *AwsApiGatewayV2ApiDetails) SetCorsConfiguration(v *AwsCorsConfiguration) *AwsApiGatewayV2ApiDetails {
7893	s.CorsConfiguration = v
7894	return s
7895}
7896
7897// SetCreatedDate sets the CreatedDate field's value.
7898func (s *AwsApiGatewayV2ApiDetails) SetCreatedDate(v string) *AwsApiGatewayV2ApiDetails {
7899	s.CreatedDate = &v
7900	return s
7901}
7902
7903// SetDescription sets the Description field's value.
7904func (s *AwsApiGatewayV2ApiDetails) SetDescription(v string) *AwsApiGatewayV2ApiDetails {
7905	s.Description = &v
7906	return s
7907}
7908
7909// SetName sets the Name field's value.
7910func (s *AwsApiGatewayV2ApiDetails) SetName(v string) *AwsApiGatewayV2ApiDetails {
7911	s.Name = &v
7912	return s
7913}
7914
7915// SetProtocolType sets the ProtocolType field's value.
7916func (s *AwsApiGatewayV2ApiDetails) SetProtocolType(v string) *AwsApiGatewayV2ApiDetails {
7917	s.ProtocolType = &v
7918	return s
7919}
7920
7921// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
7922func (s *AwsApiGatewayV2ApiDetails) SetRouteSelectionExpression(v string) *AwsApiGatewayV2ApiDetails {
7923	s.RouteSelectionExpression = &v
7924	return s
7925}
7926
7927// SetVersion sets the Version field's value.
7928func (s *AwsApiGatewayV2ApiDetails) SetVersion(v string) *AwsApiGatewayV2ApiDetails {
7929	s.Version = &v
7930	return s
7931}
7932
7933// Contains route settings for a stage.
7934type AwsApiGatewayV2RouteSettings struct {
7935	_ struct{} `type:"structure"`
7936
7937	// Indicates whether data trace logging is enabled. Data trace logging affects
7938	// the log entries that are pushed to CloudWatch Logs. Supported only for WebSocket
7939	// APIs.
7940	DataTraceEnabled *bool `type:"boolean"`
7941
7942	// Indicates whether detailed metrics are enabled.
7943	DetailedMetricsEnabled *bool `type:"boolean"`
7944
7945	// The logging level. The logging level affects the log entries that are pushed
7946	// to CloudWatch Logs. Supported only for WebSocket APIs.
7947	//
7948	// If the logging level is ERROR, then the logs only include error-level entries.
7949	//
7950	// If the logging level is INFO, then the logs include both ERROR events and
7951	// extra informational events.
7952	//
7953	// Valid values: OFF | ERROR | INFO
7954	LoggingLevel *string `type:"string"`
7955
7956	// The throttling burst limit.
7957	ThrottlingBurstLimit *int64 `type:"integer"`
7958
7959	// The throttling rate limit.
7960	ThrottlingRateLimit *float64 `type:"double"`
7961}
7962
7963// String returns the string representation.
7964//
7965// API parameter values that are decorated as "sensitive" in the API will not
7966// be included in the string output. The member name will be present, but the
7967// value will be replaced with "sensitive".
7968func (s AwsApiGatewayV2RouteSettings) String() string {
7969	return awsutil.Prettify(s)
7970}
7971
7972// GoString returns the string representation.
7973//
7974// API parameter values that are decorated as "sensitive" in the API will not
7975// be included in the string output. The member name will be present, but the
7976// value will be replaced with "sensitive".
7977func (s AwsApiGatewayV2RouteSettings) GoString() string {
7978	return s.String()
7979}
7980
7981// SetDataTraceEnabled sets the DataTraceEnabled field's value.
7982func (s *AwsApiGatewayV2RouteSettings) SetDataTraceEnabled(v bool) *AwsApiGatewayV2RouteSettings {
7983	s.DataTraceEnabled = &v
7984	return s
7985}
7986
7987// SetDetailedMetricsEnabled sets the DetailedMetricsEnabled field's value.
7988func (s *AwsApiGatewayV2RouteSettings) SetDetailedMetricsEnabled(v bool) *AwsApiGatewayV2RouteSettings {
7989	s.DetailedMetricsEnabled = &v
7990	return s
7991}
7992
7993// SetLoggingLevel sets the LoggingLevel field's value.
7994func (s *AwsApiGatewayV2RouteSettings) SetLoggingLevel(v string) *AwsApiGatewayV2RouteSettings {
7995	s.LoggingLevel = &v
7996	return s
7997}
7998
7999// SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
8000func (s *AwsApiGatewayV2RouteSettings) SetThrottlingBurstLimit(v int64) *AwsApiGatewayV2RouteSettings {
8001	s.ThrottlingBurstLimit = &v
8002	return s
8003}
8004
8005// SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
8006func (s *AwsApiGatewayV2RouteSettings) SetThrottlingRateLimit(v float64) *AwsApiGatewayV2RouteSettings {
8007	s.ThrottlingRateLimit = &v
8008	return s
8009}
8010
8011// Contains information about a version 2 stage for Amazon API Gateway.
8012type AwsApiGatewayV2StageDetails struct {
8013	_ struct{} `type:"structure"`
8014
8015	// Information about settings for logging access for the stage.
8016	AccessLogSettings *AwsApiGatewayAccessLogSettings `type:"structure"`
8017
8018	// Indicates whether the stage is managed by API Gateway.
8019	ApiGatewayManaged *bool `type:"boolean"`
8020
8021	// Indicates whether updates to an API automatically trigger a new deployment.
8022	AutoDeploy *bool `type:"boolean"`
8023
8024	// The identifier of a client certificate for a stage. Supported only for WebSocket
8025	// API calls.
8026	ClientCertificateId *string `type:"string"`
8027
8028	// Indicates when the stage was created.
8029	//
8030	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8031	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8032	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8033	CreatedDate *string `type:"string"`
8034
8035	// Default route settings for the stage.
8036	DefaultRouteSettings *AwsApiGatewayV2RouteSettings `type:"structure"`
8037
8038	// The identifier of the deployment that the stage is associated with.
8039	DeploymentId *string `type:"string"`
8040
8041	// The description of the stage.
8042	Description *string `type:"string"`
8043
8044	// The status of the last deployment of a stage. Supported only if the stage
8045	// has automatic deployment enabled.
8046	LastDeploymentStatusMessage *string `type:"string"`
8047
8048	// Indicates when the stage was most recently updated.
8049	//
8050	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8051	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8052	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8053	LastUpdatedDate *string `type:"string"`
8054
8055	// The route settings for the stage.
8056	RouteSettings *AwsApiGatewayV2RouteSettings `type:"structure"`
8057
8058	// The name of the stage.
8059	StageName *string `type:"string"`
8060
8061	// A map that defines the stage variables for the stage.
8062	//
8063	// Variable names can have alphanumeric and underscore characters.
8064	//
8065	// Variable values can contain the following characters:
8066	//
8067	//    * Uppercase and lowercase letters
8068	//
8069	//    * Numbers
8070	//
8071	//    * Special characters -._~:/?#&=,
8072	StageVariables map[string]*string `type:"map"`
8073}
8074
8075// String returns the string representation.
8076//
8077// API parameter values that are decorated as "sensitive" in the API will not
8078// be included in the string output. The member name will be present, but the
8079// value will be replaced with "sensitive".
8080func (s AwsApiGatewayV2StageDetails) String() string {
8081	return awsutil.Prettify(s)
8082}
8083
8084// GoString returns the string representation.
8085//
8086// API parameter values that are decorated as "sensitive" in the API will not
8087// be included in the string output. The member name will be present, but the
8088// value will be replaced with "sensitive".
8089func (s AwsApiGatewayV2StageDetails) GoString() string {
8090	return s.String()
8091}
8092
8093// SetAccessLogSettings sets the AccessLogSettings field's value.
8094func (s *AwsApiGatewayV2StageDetails) SetAccessLogSettings(v *AwsApiGatewayAccessLogSettings) *AwsApiGatewayV2StageDetails {
8095	s.AccessLogSettings = v
8096	return s
8097}
8098
8099// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
8100func (s *AwsApiGatewayV2StageDetails) SetApiGatewayManaged(v bool) *AwsApiGatewayV2StageDetails {
8101	s.ApiGatewayManaged = &v
8102	return s
8103}
8104
8105// SetAutoDeploy sets the AutoDeploy field's value.
8106func (s *AwsApiGatewayV2StageDetails) SetAutoDeploy(v bool) *AwsApiGatewayV2StageDetails {
8107	s.AutoDeploy = &v
8108	return s
8109}
8110
8111// SetClientCertificateId sets the ClientCertificateId field's value.
8112func (s *AwsApiGatewayV2StageDetails) SetClientCertificateId(v string) *AwsApiGatewayV2StageDetails {
8113	s.ClientCertificateId = &v
8114	return s
8115}
8116
8117// SetCreatedDate sets the CreatedDate field's value.
8118func (s *AwsApiGatewayV2StageDetails) SetCreatedDate(v string) *AwsApiGatewayV2StageDetails {
8119	s.CreatedDate = &v
8120	return s
8121}
8122
8123// SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
8124func (s *AwsApiGatewayV2StageDetails) SetDefaultRouteSettings(v *AwsApiGatewayV2RouteSettings) *AwsApiGatewayV2StageDetails {
8125	s.DefaultRouteSettings = v
8126	return s
8127}
8128
8129// SetDeploymentId sets the DeploymentId field's value.
8130func (s *AwsApiGatewayV2StageDetails) SetDeploymentId(v string) *AwsApiGatewayV2StageDetails {
8131	s.DeploymentId = &v
8132	return s
8133}
8134
8135// SetDescription sets the Description field's value.
8136func (s *AwsApiGatewayV2StageDetails) SetDescription(v string) *AwsApiGatewayV2StageDetails {
8137	s.Description = &v
8138	return s
8139}
8140
8141// SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
8142func (s *AwsApiGatewayV2StageDetails) SetLastDeploymentStatusMessage(v string) *AwsApiGatewayV2StageDetails {
8143	s.LastDeploymentStatusMessage = &v
8144	return s
8145}
8146
8147// SetLastUpdatedDate sets the LastUpdatedDate field's value.
8148func (s *AwsApiGatewayV2StageDetails) SetLastUpdatedDate(v string) *AwsApiGatewayV2StageDetails {
8149	s.LastUpdatedDate = &v
8150	return s
8151}
8152
8153// SetRouteSettings sets the RouteSettings field's value.
8154func (s *AwsApiGatewayV2StageDetails) SetRouteSettings(v *AwsApiGatewayV2RouteSettings) *AwsApiGatewayV2StageDetails {
8155	s.RouteSettings = v
8156	return s
8157}
8158
8159// SetStageName sets the StageName field's value.
8160func (s *AwsApiGatewayV2StageDetails) SetStageName(v string) *AwsApiGatewayV2StageDetails {
8161	s.StageName = &v
8162	return s
8163}
8164
8165// SetStageVariables sets the StageVariables field's value.
8166func (s *AwsApiGatewayV2StageDetails) SetStageVariables(v map[string]*string) *AwsApiGatewayV2StageDetails {
8167	s.StageVariables = v
8168	return s
8169}
8170
8171// Provides details about an auto scaling group.
8172type AwsAutoScalingAutoScalingGroupDetails struct {
8173	_ struct{} `type:"structure"`
8174
8175	// Indicates when the auto scaling group was created.
8176	//
8177	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8178	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8179	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8180	CreatedTime *string `type:"string"`
8181
8182	// The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before
8183	// it checks the health status of an EC2 instance that has come into service.
8184	HealthCheckGracePeriod *int64 `type:"integer"`
8185
8186	// The service to use for the health checks.
8187	HealthCheckType *string `type:"string"`
8188
8189	// The name of the launch configuration.
8190	LaunchConfigurationName *string `type:"string"`
8191
8192	// The list of load balancers associated with the group.
8193	LoadBalancerNames []*string `type:"list"`
8194}
8195
8196// String returns the string representation.
8197//
8198// API parameter values that are decorated as "sensitive" in the API will not
8199// be included in the string output. The member name will be present, but the
8200// value will be replaced with "sensitive".
8201func (s AwsAutoScalingAutoScalingGroupDetails) String() string {
8202	return awsutil.Prettify(s)
8203}
8204
8205// GoString returns the string representation.
8206//
8207// API parameter values that are decorated as "sensitive" in the API will not
8208// be included in the string output. The member name will be present, but the
8209// value will be replaced with "sensitive".
8210func (s AwsAutoScalingAutoScalingGroupDetails) GoString() string {
8211	return s.String()
8212}
8213
8214// SetCreatedTime sets the CreatedTime field's value.
8215func (s *AwsAutoScalingAutoScalingGroupDetails) SetCreatedTime(v string) *AwsAutoScalingAutoScalingGroupDetails {
8216	s.CreatedTime = &v
8217	return s
8218}
8219
8220// SetHealthCheckGracePeriod sets the HealthCheckGracePeriod field's value.
8221func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckGracePeriod(v int64) *AwsAutoScalingAutoScalingGroupDetails {
8222	s.HealthCheckGracePeriod = &v
8223	return s
8224}
8225
8226// SetHealthCheckType sets the HealthCheckType field's value.
8227func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckType(v string) *AwsAutoScalingAutoScalingGroupDetails {
8228	s.HealthCheckType = &v
8229	return s
8230}
8231
8232// SetLaunchConfigurationName sets the LaunchConfigurationName field's value.
8233func (s *AwsAutoScalingAutoScalingGroupDetails) SetLaunchConfigurationName(v string) *AwsAutoScalingAutoScalingGroupDetails {
8234	s.LaunchConfigurationName = &v
8235	return s
8236}
8237
8238// SetLoadBalancerNames sets the LoadBalancerNames field's value.
8239func (s *AwsAutoScalingAutoScalingGroupDetails) SetLoadBalancerNames(v []*string) *AwsAutoScalingAutoScalingGroupDetails {
8240	s.LoadBalancerNames = v
8241	return s
8242}
8243
8244// A block device for the instance.
8245type AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails struct {
8246	_ struct{} `type:"structure"`
8247
8248	// The device name that is exposed to the EC2 instance. For example, /dev/sdh
8249	// or xvdh.
8250	DeviceName *string `type:"string"`
8251
8252	// Parameters that are used to automatically set up Amazon EBS volumes when
8253	// an instance is launched.
8254	Ebs *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails `type:"structure"`
8255
8256	// Whether to suppress the device that is included in the block device mapping
8257	// of the Amazon Machine Image (AMI).
8258	//
8259	// If NoDevice is true, then you cannot specify Ebs.>
8260	NoDevice *bool `type:"boolean"`
8261
8262	// The name of the virtual device (for example, ephemeral0).
8263	//
8264	// You can provide either VirtualName or Ebs, but not both.
8265	VirtualName *string `type:"string"`
8266}
8267
8268// String returns the string representation.
8269//
8270// API parameter values that are decorated as "sensitive" in the API will not
8271// be included in the string output. The member name will be present, but the
8272// value will be replaced with "sensitive".
8273func (s AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) String() string {
8274	return awsutil.Prettify(s)
8275}
8276
8277// GoString returns the string representation.
8278//
8279// API parameter values that are decorated as "sensitive" in the API will not
8280// be included in the string output. The member name will be present, but the
8281// value will be replaced with "sensitive".
8282func (s AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) GoString() string {
8283	return s.String()
8284}
8285
8286// SetDeviceName sets the DeviceName field's value.
8287func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) SetDeviceName(v string) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails {
8288	s.DeviceName = &v
8289	return s
8290}
8291
8292// SetEbs sets the Ebs field's value.
8293func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) SetEbs(v *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails {
8294	s.Ebs = v
8295	return s
8296}
8297
8298// SetNoDevice sets the NoDevice field's value.
8299func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) SetNoDevice(v bool) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails {
8300	s.NoDevice = &v
8301	return s
8302}
8303
8304// SetVirtualName sets the VirtualName field's value.
8305func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) SetVirtualName(v string) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails {
8306	s.VirtualName = &v
8307	return s
8308}
8309
8310// Parameters that are used to automatically set up EBS volumes when an instance
8311// is launched.
8312type AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails struct {
8313	_ struct{} `type:"structure"`
8314
8315	// Whether to delete the volume when the instance is terminated.
8316	DeleteOnTermination *bool `type:"boolean"`
8317
8318	// Whether to encrypt the volume.
8319	Encrypted *bool `type:"boolean"`
8320
8321	// The number of input/output (I/O) operations per second (IOPS) to provision
8322	// for the volume.
8323	//
8324	// Only supported for gp3 or io1 volumes. Required for io1 volumes. Not used
8325	// with standard, gp2, st1, or sc1 volumes.
8326	Iops *int64 `type:"integer"`
8327
8328	// The snapshot ID of the volume to use.
8329	//
8330	// You must specify either VolumeSize or SnapshotId.
8331	SnapshotId *string `type:"string"`
8332
8333	// The volume size, in GiBs. The following are the supported volumes sizes for
8334	// each volume type:
8335	//
8336	//    * gp2 and gp3: 1-16,384
8337	//
8338	//    * io1: 4-16,384
8339	//
8340	//    * st1 and sc1: 125-16,384
8341	//
8342	//    * standard: 1-1,024
8343	//
8344	// You must specify either SnapshotId or VolumeSize. If you specify both SnapshotId
8345	// and VolumeSize, the volume size must be equal or greater than the size of
8346	// the snapshot.
8347	VolumeSize *int64 `type:"integer"`
8348
8349	// The volume type.
8350	VolumeType *string `type:"string"`
8351}
8352
8353// String returns the string representation.
8354//
8355// API parameter values that are decorated as "sensitive" in the API will not
8356// be included in the string output. The member name will be present, but the
8357// value will be replaced with "sensitive".
8358func (s AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) String() string {
8359	return awsutil.Prettify(s)
8360}
8361
8362// GoString returns the string representation.
8363//
8364// API parameter values that are decorated as "sensitive" in the API will not
8365// be included in the string output. The member name will be present, but the
8366// value will be replaced with "sensitive".
8367func (s AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) GoString() string {
8368	return s.String()
8369}
8370
8371// SetDeleteOnTermination sets the DeleteOnTermination field's value.
8372func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) SetDeleteOnTermination(v bool) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails {
8373	s.DeleteOnTermination = &v
8374	return s
8375}
8376
8377// SetEncrypted sets the Encrypted field's value.
8378func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) SetEncrypted(v bool) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails {
8379	s.Encrypted = &v
8380	return s
8381}
8382
8383// SetIops sets the Iops field's value.
8384func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) SetIops(v int64) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails {
8385	s.Iops = &v
8386	return s
8387}
8388
8389// SetSnapshotId sets the SnapshotId field's value.
8390func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) SetSnapshotId(v string) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails {
8391	s.SnapshotId = &v
8392	return s
8393}
8394
8395// SetVolumeSize sets the VolumeSize field's value.
8396func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) SetVolumeSize(v int64) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails {
8397	s.VolumeSize = &v
8398	return s
8399}
8400
8401// SetVolumeType sets the VolumeType field's value.
8402func (s *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails) SetVolumeType(v string) *AwsAutoScalingLaunchConfigurationBlockDeviceMappingsEbsDetails {
8403	s.VolumeType = &v
8404	return s
8405}
8406
8407// Details about a launch configuration.
8408type AwsAutoScalingLaunchConfigurationDetails struct {
8409	_ struct{} `type:"structure"`
8410
8411	// For Auto Scaling groups that run in a VPC, specifies whether to assign a
8412	// public IP address to the group's instances.
8413	AssociatePublicIpAddress *bool `type:"boolean"`
8414
8415	// Specifies the block devices for the instance.
8416	BlockDeviceMappings []*AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails `type:"list"`
8417
8418	// The identifier of a ClassicLink-enabled VPC that EC2-Classic instances are
8419	// linked to.
8420	ClassicLinkVpcId *string `type:"string"`
8421
8422	// The identifiers of one or more security groups for the VPC that is specified
8423	// in ClassicLinkVPCId.
8424	ClassicLinkVpcSecurityGroups []*string `type:"list"`
8425
8426	// The creation date and time for the launch configuration.
8427	//
8428	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8429	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8430	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8431	CreatedTime *string `type:"string"`
8432
8433	// Whether the launch configuration is optimized for Amazon EBS I/O.
8434	EbsOptimized *bool `type:"boolean"`
8435
8436	// The name or the ARN of the instance profile associated with the IAM role
8437	// for the instance. The instance profile contains the IAM role.
8438	IamInstanceProfile *string `type:"string"`
8439
8440	// The identifier of the Amazon Machine Image (AMI) that is used to launch EC2
8441	// instances.
8442	ImageId *string `type:"string"`
8443
8444	// Indicates the type of monitoring for instances in the group.
8445	InstanceMonitoring *AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails `type:"structure"`
8446
8447	// The instance type for the instances.
8448	InstanceType *string `type:"string"`
8449
8450	// The identifier of the kernel associated with the AMI.
8451	KernelId *string `type:"string"`
8452
8453	// The name of the key pair.
8454	KeyName *string `type:"string"`
8455
8456	// The name of the launch configuration.
8457	LaunchConfigurationName *string `type:"string"`
8458
8459	// The tenancy of the instance. An instance with dedicated tenancy runs on isolated,
8460	// single-tenant hardware and can only be launched into a VPC.
8461	PlacementTenancy *string `type:"string"`
8462
8463	// The identifier of the RAM disk associated with the AMI.
8464	RamdiskId *string `type:"string"`
8465
8466	// The security groups to assign to the instances in the Auto Scaling group.
8467	SecurityGroups []*string `type:"list"`
8468
8469	// The maximum hourly price to be paid for any Spot Instance that is launched
8470	// to fulfill the request.
8471	SpotPrice *string `type:"string"`
8472
8473	// The user data to make available to the launched EC2 instances. Must be base64-encoded
8474	// text.
8475	UserData *string `type:"string"`
8476}
8477
8478// String returns the string representation.
8479//
8480// API parameter values that are decorated as "sensitive" in the API will not
8481// be included in the string output. The member name will be present, but the
8482// value will be replaced with "sensitive".
8483func (s AwsAutoScalingLaunchConfigurationDetails) String() string {
8484	return awsutil.Prettify(s)
8485}
8486
8487// GoString returns the string representation.
8488//
8489// API parameter values that are decorated as "sensitive" in the API will not
8490// be included in the string output. The member name will be present, but the
8491// value will be replaced with "sensitive".
8492func (s AwsAutoScalingLaunchConfigurationDetails) GoString() string {
8493	return s.String()
8494}
8495
8496// SetAssociatePublicIpAddress sets the AssociatePublicIpAddress field's value.
8497func (s *AwsAutoScalingLaunchConfigurationDetails) SetAssociatePublicIpAddress(v bool) *AwsAutoScalingLaunchConfigurationDetails {
8498	s.AssociatePublicIpAddress = &v
8499	return s
8500}
8501
8502// SetBlockDeviceMappings sets the BlockDeviceMappings field's value.
8503func (s *AwsAutoScalingLaunchConfigurationDetails) SetBlockDeviceMappings(v []*AwsAutoScalingLaunchConfigurationBlockDeviceMappingsDetails) *AwsAutoScalingLaunchConfigurationDetails {
8504	s.BlockDeviceMappings = v
8505	return s
8506}
8507
8508// SetClassicLinkVpcId sets the ClassicLinkVpcId field's value.
8509func (s *AwsAutoScalingLaunchConfigurationDetails) SetClassicLinkVpcId(v string) *AwsAutoScalingLaunchConfigurationDetails {
8510	s.ClassicLinkVpcId = &v
8511	return s
8512}
8513
8514// SetClassicLinkVpcSecurityGroups sets the ClassicLinkVpcSecurityGroups field's value.
8515func (s *AwsAutoScalingLaunchConfigurationDetails) SetClassicLinkVpcSecurityGroups(v []*string) *AwsAutoScalingLaunchConfigurationDetails {
8516	s.ClassicLinkVpcSecurityGroups = v
8517	return s
8518}
8519
8520// SetCreatedTime sets the CreatedTime field's value.
8521func (s *AwsAutoScalingLaunchConfigurationDetails) SetCreatedTime(v string) *AwsAutoScalingLaunchConfigurationDetails {
8522	s.CreatedTime = &v
8523	return s
8524}
8525
8526// SetEbsOptimized sets the EbsOptimized field's value.
8527func (s *AwsAutoScalingLaunchConfigurationDetails) SetEbsOptimized(v bool) *AwsAutoScalingLaunchConfigurationDetails {
8528	s.EbsOptimized = &v
8529	return s
8530}
8531
8532// SetIamInstanceProfile sets the IamInstanceProfile field's value.
8533func (s *AwsAutoScalingLaunchConfigurationDetails) SetIamInstanceProfile(v string) *AwsAutoScalingLaunchConfigurationDetails {
8534	s.IamInstanceProfile = &v
8535	return s
8536}
8537
8538// SetImageId sets the ImageId field's value.
8539func (s *AwsAutoScalingLaunchConfigurationDetails) SetImageId(v string) *AwsAutoScalingLaunchConfigurationDetails {
8540	s.ImageId = &v
8541	return s
8542}
8543
8544// SetInstanceMonitoring sets the InstanceMonitoring field's value.
8545func (s *AwsAutoScalingLaunchConfigurationDetails) SetInstanceMonitoring(v *AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails) *AwsAutoScalingLaunchConfigurationDetails {
8546	s.InstanceMonitoring = v
8547	return s
8548}
8549
8550// SetInstanceType sets the InstanceType field's value.
8551func (s *AwsAutoScalingLaunchConfigurationDetails) SetInstanceType(v string) *AwsAutoScalingLaunchConfigurationDetails {
8552	s.InstanceType = &v
8553	return s
8554}
8555
8556// SetKernelId sets the KernelId field's value.
8557func (s *AwsAutoScalingLaunchConfigurationDetails) SetKernelId(v string) *AwsAutoScalingLaunchConfigurationDetails {
8558	s.KernelId = &v
8559	return s
8560}
8561
8562// SetKeyName sets the KeyName field's value.
8563func (s *AwsAutoScalingLaunchConfigurationDetails) SetKeyName(v string) *AwsAutoScalingLaunchConfigurationDetails {
8564	s.KeyName = &v
8565	return s
8566}
8567
8568// SetLaunchConfigurationName sets the LaunchConfigurationName field's value.
8569func (s *AwsAutoScalingLaunchConfigurationDetails) SetLaunchConfigurationName(v string) *AwsAutoScalingLaunchConfigurationDetails {
8570	s.LaunchConfigurationName = &v
8571	return s
8572}
8573
8574// SetPlacementTenancy sets the PlacementTenancy field's value.
8575func (s *AwsAutoScalingLaunchConfigurationDetails) SetPlacementTenancy(v string) *AwsAutoScalingLaunchConfigurationDetails {
8576	s.PlacementTenancy = &v
8577	return s
8578}
8579
8580// SetRamdiskId sets the RamdiskId field's value.
8581func (s *AwsAutoScalingLaunchConfigurationDetails) SetRamdiskId(v string) *AwsAutoScalingLaunchConfigurationDetails {
8582	s.RamdiskId = &v
8583	return s
8584}
8585
8586// SetSecurityGroups sets the SecurityGroups field's value.
8587func (s *AwsAutoScalingLaunchConfigurationDetails) SetSecurityGroups(v []*string) *AwsAutoScalingLaunchConfigurationDetails {
8588	s.SecurityGroups = v
8589	return s
8590}
8591
8592// SetSpotPrice sets the SpotPrice field's value.
8593func (s *AwsAutoScalingLaunchConfigurationDetails) SetSpotPrice(v string) *AwsAutoScalingLaunchConfigurationDetails {
8594	s.SpotPrice = &v
8595	return s
8596}
8597
8598// SetUserData sets the UserData field's value.
8599func (s *AwsAutoScalingLaunchConfigurationDetails) SetUserData(v string) *AwsAutoScalingLaunchConfigurationDetails {
8600	s.UserData = &v
8601	return s
8602}
8603
8604// Information about the type of monitoring for instances in the group.
8605type AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails struct {
8606	_ struct{} `type:"structure"`
8607
8608	// If set to true, then instances in the group launch with detailed monitoring.
8609	//
8610	// If set to false, then instances in the group launch with basic monitoring.
8611	Enabled *bool `type:"boolean"`
8612}
8613
8614// String returns the string representation.
8615//
8616// API parameter values that are decorated as "sensitive" in the API will not
8617// be included in the string output. The member name will be present, but the
8618// value will be replaced with "sensitive".
8619func (s AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails) String() string {
8620	return awsutil.Prettify(s)
8621}
8622
8623// GoString returns the string representation.
8624//
8625// API parameter values that are decorated as "sensitive" in the API will not
8626// be included in the string output. The member name will be present, but the
8627// value will be replaced with "sensitive".
8628func (s AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails) GoString() string {
8629	return s.String()
8630}
8631
8632// SetEnabled sets the Enabled field's value.
8633func (s *AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails) SetEnabled(v bool) *AwsAutoScalingLaunchConfigurationInstanceMonitoringDetails {
8634	s.Enabled = &v
8635	return s
8636}
8637
8638// Provides details about an Certificate Manager certificate.
8639type AwsCertificateManagerCertificateDetails struct {
8640	_ struct{} `type:"structure"`
8641
8642	// The ARN of the private certificate authority (CA) that will be used to issue
8643	// the certificate.
8644	CertificateAuthorityArn *string `type:"string"`
8645
8646	// Indicates when the certificate was requested.
8647	//
8648	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8649	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8650	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8651	CreatedAt *string `type:"string"`
8652
8653	// The fully qualified domain name (FQDN), such as www.example.com, that is
8654	// secured by the certificate.
8655	DomainName *string `type:"string"`
8656
8657	// Contains information about the initial validation of each domain name that
8658	// occurs as a result of the RequestCertificate request.
8659	//
8660	// Only provided if the certificate type is AMAZON_ISSUED.
8661	DomainValidationOptions []*AwsCertificateManagerCertificateDomainValidationOption `type:"list"`
8662
8663	// Contains a list of Extended Key Usage X.509 v3 extension objects. Each object
8664	// specifies a purpose for which the certificate public key can be used and
8665	// consists of a name and an object identifier (OID).
8666	ExtendedKeyUsages []*AwsCertificateManagerCertificateExtendedKeyUsage `type:"list"`
8667
8668	// For a failed certificate request, the reason for the failure.
8669	//
8670	// Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED |
8671	// DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR
8672	// | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED
8673	// | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS
8674	// | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER
8675	FailureReason *string `type:"string"`
8676
8677	// Indicates when the certificate was imported. Provided if the certificate
8678	// type is IMPORTED.
8679	//
8680	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8681	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8682	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8683	ImportedAt *string `type:"string"`
8684
8685	// The list of ARNs for the Amazon Web Services resources that use the certificate.
8686	InUseBy []*string `type:"list"`
8687
8688	// Indicates when the certificate was issued. Provided if the certificate type
8689	// is AMAZON_ISSUED.
8690	//
8691	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8692	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8693	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8694	IssuedAt *string `type:"string"`
8695
8696	// The name of the certificate authority that issued and signed the certificate.
8697	Issuer *string `type:"string"`
8698
8699	// The algorithm that was used to generate the public-private key pair.
8700	//
8701	// Valid values: RSA_2048 | RSA_1024 |RSA_4096 | EC_prime256v1 | EC_secp384r1
8702	// | EC_secp521r1
8703	KeyAlgorithm *string `type:"string"`
8704
8705	// A list of key usage X.509 v3 extension objects.
8706	KeyUsages []*AwsCertificateManagerCertificateKeyUsage `type:"list"`
8707
8708	// The time after which the certificate becomes invalid.
8709	//
8710	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8711	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8712	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8713	NotAfter *string `type:"string"`
8714
8715	// The time before which the certificate is not valid.
8716	//
8717	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8718	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8719	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8720	NotBefore *string `type:"string"`
8721
8722	// Provides a value that specifies whether to add the certificate to a transparency
8723	// log.
8724	Options *AwsCertificateManagerCertificateOptions `type:"structure"`
8725
8726	// Whether the certificate is eligible for renewal.
8727	//
8728	// Valid values: ELIGIBLE | INELIGIBLE
8729	RenewalEligibility *string `type:"string"`
8730
8731	// Information about the status of the Certificate Manager managed renewal for
8732	// the certificate. Provided only when the certificate type is AMAZON_ISSUED.
8733	RenewalSummary *AwsCertificateManagerCertificateRenewalSummary `type:"structure"`
8734
8735	// The serial number of the certificate.
8736	Serial *string `type:"string"`
8737
8738	// The algorithm that was used to sign the certificate.
8739	SignatureAlgorithm *string `type:"string"`
8740
8741	// The status of the certificate.
8742	//
8743	// Valid values: PENDING_VALIDATION | ISSUED | INACTIVE | EXPIRED | VALIDATION_TIMED_OUT
8744	// | REVOKED | FAILED
8745	Status *string `type:"string"`
8746
8747	// The name of the entity that is associated with the public key contained in
8748	// the certificate.
8749	Subject *string `type:"string"`
8750
8751	// One or more domain names (subject alternative names) included in the certificate.
8752	// This list contains the domain names that are bound to the public key that
8753	// is contained in the certificate.
8754	//
8755	// The subject alternative names include the canonical domain name (CN) of the
8756	// certificate and additional domain names that can be used to connect to the
8757	// website.
8758	SubjectAlternativeNames []*string `type:"list"`
8759
8760	// The source of the certificate. For certificates that Certificate Manager
8761	// provides, Type is AMAZON_ISSUED. For certificates that are imported with
8762	// ImportCertificate, Type is IMPORTED.
8763	//
8764	// Valid values: IMPORTED | AMAZON_ISSUED | PRIVATE
8765	Type *string `type:"string"`
8766}
8767
8768// String returns the string representation.
8769//
8770// API parameter values that are decorated as "sensitive" in the API will not
8771// be included in the string output. The member name will be present, but the
8772// value will be replaced with "sensitive".
8773func (s AwsCertificateManagerCertificateDetails) String() string {
8774	return awsutil.Prettify(s)
8775}
8776
8777// GoString returns the string representation.
8778//
8779// API parameter values that are decorated as "sensitive" in the API will not
8780// be included in the string output. The member name will be present, but the
8781// value will be replaced with "sensitive".
8782func (s AwsCertificateManagerCertificateDetails) GoString() string {
8783	return s.String()
8784}
8785
8786// SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value.
8787func (s *AwsCertificateManagerCertificateDetails) SetCertificateAuthorityArn(v string) *AwsCertificateManagerCertificateDetails {
8788	s.CertificateAuthorityArn = &v
8789	return s
8790}
8791
8792// SetCreatedAt sets the CreatedAt field's value.
8793func (s *AwsCertificateManagerCertificateDetails) SetCreatedAt(v string) *AwsCertificateManagerCertificateDetails {
8794	s.CreatedAt = &v
8795	return s
8796}
8797
8798// SetDomainName sets the DomainName field's value.
8799func (s *AwsCertificateManagerCertificateDetails) SetDomainName(v string) *AwsCertificateManagerCertificateDetails {
8800	s.DomainName = &v
8801	return s
8802}
8803
8804// SetDomainValidationOptions sets the DomainValidationOptions field's value.
8805func (s *AwsCertificateManagerCertificateDetails) SetDomainValidationOptions(v []*AwsCertificateManagerCertificateDomainValidationOption) *AwsCertificateManagerCertificateDetails {
8806	s.DomainValidationOptions = v
8807	return s
8808}
8809
8810// SetExtendedKeyUsages sets the ExtendedKeyUsages field's value.
8811func (s *AwsCertificateManagerCertificateDetails) SetExtendedKeyUsages(v []*AwsCertificateManagerCertificateExtendedKeyUsage) *AwsCertificateManagerCertificateDetails {
8812	s.ExtendedKeyUsages = v
8813	return s
8814}
8815
8816// SetFailureReason sets the FailureReason field's value.
8817func (s *AwsCertificateManagerCertificateDetails) SetFailureReason(v string) *AwsCertificateManagerCertificateDetails {
8818	s.FailureReason = &v
8819	return s
8820}
8821
8822// SetImportedAt sets the ImportedAt field's value.
8823func (s *AwsCertificateManagerCertificateDetails) SetImportedAt(v string) *AwsCertificateManagerCertificateDetails {
8824	s.ImportedAt = &v
8825	return s
8826}
8827
8828// SetInUseBy sets the InUseBy field's value.
8829func (s *AwsCertificateManagerCertificateDetails) SetInUseBy(v []*string) *AwsCertificateManagerCertificateDetails {
8830	s.InUseBy = v
8831	return s
8832}
8833
8834// SetIssuedAt sets the IssuedAt field's value.
8835func (s *AwsCertificateManagerCertificateDetails) SetIssuedAt(v string) *AwsCertificateManagerCertificateDetails {
8836	s.IssuedAt = &v
8837	return s
8838}
8839
8840// SetIssuer sets the Issuer field's value.
8841func (s *AwsCertificateManagerCertificateDetails) SetIssuer(v string) *AwsCertificateManagerCertificateDetails {
8842	s.Issuer = &v
8843	return s
8844}
8845
8846// SetKeyAlgorithm sets the KeyAlgorithm field's value.
8847func (s *AwsCertificateManagerCertificateDetails) SetKeyAlgorithm(v string) *AwsCertificateManagerCertificateDetails {
8848	s.KeyAlgorithm = &v
8849	return s
8850}
8851
8852// SetKeyUsages sets the KeyUsages field's value.
8853func (s *AwsCertificateManagerCertificateDetails) SetKeyUsages(v []*AwsCertificateManagerCertificateKeyUsage) *AwsCertificateManagerCertificateDetails {
8854	s.KeyUsages = v
8855	return s
8856}
8857
8858// SetNotAfter sets the NotAfter field's value.
8859func (s *AwsCertificateManagerCertificateDetails) SetNotAfter(v string) *AwsCertificateManagerCertificateDetails {
8860	s.NotAfter = &v
8861	return s
8862}
8863
8864// SetNotBefore sets the NotBefore field's value.
8865func (s *AwsCertificateManagerCertificateDetails) SetNotBefore(v string) *AwsCertificateManagerCertificateDetails {
8866	s.NotBefore = &v
8867	return s
8868}
8869
8870// SetOptions sets the Options field's value.
8871func (s *AwsCertificateManagerCertificateDetails) SetOptions(v *AwsCertificateManagerCertificateOptions) *AwsCertificateManagerCertificateDetails {
8872	s.Options = v
8873	return s
8874}
8875
8876// SetRenewalEligibility sets the RenewalEligibility field's value.
8877func (s *AwsCertificateManagerCertificateDetails) SetRenewalEligibility(v string) *AwsCertificateManagerCertificateDetails {
8878	s.RenewalEligibility = &v
8879	return s
8880}
8881
8882// SetRenewalSummary sets the RenewalSummary field's value.
8883func (s *AwsCertificateManagerCertificateDetails) SetRenewalSummary(v *AwsCertificateManagerCertificateRenewalSummary) *AwsCertificateManagerCertificateDetails {
8884	s.RenewalSummary = v
8885	return s
8886}
8887
8888// SetSerial sets the Serial field's value.
8889func (s *AwsCertificateManagerCertificateDetails) SetSerial(v string) *AwsCertificateManagerCertificateDetails {
8890	s.Serial = &v
8891	return s
8892}
8893
8894// SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
8895func (s *AwsCertificateManagerCertificateDetails) SetSignatureAlgorithm(v string) *AwsCertificateManagerCertificateDetails {
8896	s.SignatureAlgorithm = &v
8897	return s
8898}
8899
8900// SetStatus sets the Status field's value.
8901func (s *AwsCertificateManagerCertificateDetails) SetStatus(v string) *AwsCertificateManagerCertificateDetails {
8902	s.Status = &v
8903	return s
8904}
8905
8906// SetSubject sets the Subject field's value.
8907func (s *AwsCertificateManagerCertificateDetails) SetSubject(v string) *AwsCertificateManagerCertificateDetails {
8908	s.Subject = &v
8909	return s
8910}
8911
8912// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
8913func (s *AwsCertificateManagerCertificateDetails) SetSubjectAlternativeNames(v []*string) *AwsCertificateManagerCertificateDetails {
8914	s.SubjectAlternativeNames = v
8915	return s
8916}
8917
8918// SetType sets the Type field's value.
8919func (s *AwsCertificateManagerCertificateDetails) SetType(v string) *AwsCertificateManagerCertificateDetails {
8920	s.Type = &v
8921	return s
8922}
8923
8924// Contains information about one of the following:
8925//
8926//    * The initial validation of each domain name that occurs as a result of
8927//    the RequestCertificate request
8928//
8929//    * The validation of each domain name in the certificate, as it pertains
8930//    to Certificate Manager managed renewal
8931type AwsCertificateManagerCertificateDomainValidationOption struct {
8932	_ struct{} `type:"structure"`
8933
8934	// A fully qualified domain name (FQDN) in the certificate.
8935	DomainName *string `type:"string"`
8936
8937	// The CNAME record that is added to the DNS database for domain validation.
8938	ResourceRecord *AwsCertificateManagerCertificateResourceRecord `type:"structure"`
8939
8940	// The domain name that Certificate Manager uses to send domain validation emails.
8941	ValidationDomain *string `type:"string"`
8942
8943	// A list of email addresses that Certificate Manager uses to send domain validation
8944	// emails.
8945	ValidationEmails []*string `type:"list"`
8946
8947	// The method used to validate the domain name.
8948	ValidationMethod *string `type:"string"`
8949
8950	// The validation status of the domain name.
8951	ValidationStatus *string `type:"string"`
8952}
8953
8954// String returns the string representation.
8955//
8956// API parameter values that are decorated as "sensitive" in the API will not
8957// be included in the string output. The member name will be present, but the
8958// value will be replaced with "sensitive".
8959func (s AwsCertificateManagerCertificateDomainValidationOption) String() string {
8960	return awsutil.Prettify(s)
8961}
8962
8963// GoString returns the string representation.
8964//
8965// API parameter values that are decorated as "sensitive" in the API will not
8966// be included in the string output. The member name will be present, but the
8967// value will be replaced with "sensitive".
8968func (s AwsCertificateManagerCertificateDomainValidationOption) GoString() string {
8969	return s.String()
8970}
8971
8972// SetDomainName sets the DomainName field's value.
8973func (s *AwsCertificateManagerCertificateDomainValidationOption) SetDomainName(v string) *AwsCertificateManagerCertificateDomainValidationOption {
8974	s.DomainName = &v
8975	return s
8976}
8977
8978// SetResourceRecord sets the ResourceRecord field's value.
8979func (s *AwsCertificateManagerCertificateDomainValidationOption) SetResourceRecord(v *AwsCertificateManagerCertificateResourceRecord) *AwsCertificateManagerCertificateDomainValidationOption {
8980	s.ResourceRecord = v
8981	return s
8982}
8983
8984// SetValidationDomain sets the ValidationDomain field's value.
8985func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationDomain(v string) *AwsCertificateManagerCertificateDomainValidationOption {
8986	s.ValidationDomain = &v
8987	return s
8988}
8989
8990// SetValidationEmails sets the ValidationEmails field's value.
8991func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationEmails(v []*string) *AwsCertificateManagerCertificateDomainValidationOption {
8992	s.ValidationEmails = v
8993	return s
8994}
8995
8996// SetValidationMethod sets the ValidationMethod field's value.
8997func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationMethod(v string) *AwsCertificateManagerCertificateDomainValidationOption {
8998	s.ValidationMethod = &v
8999	return s
9000}
9001
9002// SetValidationStatus sets the ValidationStatus field's value.
9003func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationStatus(v string) *AwsCertificateManagerCertificateDomainValidationOption {
9004	s.ValidationStatus = &v
9005	return s
9006}
9007
9008// Contains information about an extended key usage X.509 v3 extension object.
9009type AwsCertificateManagerCertificateExtendedKeyUsage struct {
9010	_ struct{} `type:"structure"`
9011
9012	// The name of an extension value. Indicates the purpose for which the certificate
9013	// public key can be used.
9014	Name *string `type:"string"`
9015
9016	// An object identifier (OID) for the extension value.
9017	//
9018	// The format is numbers separated by periods.
9019	OId *string `type:"string"`
9020}
9021
9022// String returns the string representation.
9023//
9024// API parameter values that are decorated as "sensitive" in the API will not
9025// be included in the string output. The member name will be present, but the
9026// value will be replaced with "sensitive".
9027func (s AwsCertificateManagerCertificateExtendedKeyUsage) String() string {
9028	return awsutil.Prettify(s)
9029}
9030
9031// GoString returns the string representation.
9032//
9033// API parameter values that are decorated as "sensitive" in the API will not
9034// be included in the string output. The member name will be present, but the
9035// value will be replaced with "sensitive".
9036func (s AwsCertificateManagerCertificateExtendedKeyUsage) GoString() string {
9037	return s.String()
9038}
9039
9040// SetName sets the Name field's value.
9041func (s *AwsCertificateManagerCertificateExtendedKeyUsage) SetName(v string) *AwsCertificateManagerCertificateExtendedKeyUsage {
9042	s.Name = &v
9043	return s
9044}
9045
9046// SetOId sets the OId field's value.
9047func (s *AwsCertificateManagerCertificateExtendedKeyUsage) SetOId(v string) *AwsCertificateManagerCertificateExtendedKeyUsage {
9048	s.OId = &v
9049	return s
9050}
9051
9052// Contains information about a key usage X.509 v3 extension object.
9053type AwsCertificateManagerCertificateKeyUsage struct {
9054	_ struct{} `type:"structure"`
9055
9056	// The key usage extension name.
9057	Name *string `type:"string"`
9058}
9059
9060// String returns the string representation.
9061//
9062// API parameter values that are decorated as "sensitive" in the API will not
9063// be included in the string output. The member name will be present, but the
9064// value will be replaced with "sensitive".
9065func (s AwsCertificateManagerCertificateKeyUsage) String() string {
9066	return awsutil.Prettify(s)
9067}
9068
9069// GoString returns the string representation.
9070//
9071// API parameter values that are decorated as "sensitive" in the API will not
9072// be included in the string output. The member name will be present, but the
9073// value will be replaced with "sensitive".
9074func (s AwsCertificateManagerCertificateKeyUsage) GoString() string {
9075	return s.String()
9076}
9077
9078// SetName sets the Name field's value.
9079func (s *AwsCertificateManagerCertificateKeyUsage) SetName(v string) *AwsCertificateManagerCertificateKeyUsage {
9080	s.Name = &v
9081	return s
9082}
9083
9084// Contains other options for the certificate.
9085type AwsCertificateManagerCertificateOptions struct {
9086	_ struct{} `type:"structure"`
9087
9088	// Whether to add the certificate to a transparency log.
9089	//
9090	// Valid values: DISABLED | ENABLED
9091	CertificateTransparencyLoggingPreference *string `type:"string"`
9092}
9093
9094// String returns the string representation.
9095//
9096// API parameter values that are decorated as "sensitive" in the API will not
9097// be included in the string output. The member name will be present, but the
9098// value will be replaced with "sensitive".
9099func (s AwsCertificateManagerCertificateOptions) String() string {
9100	return awsutil.Prettify(s)
9101}
9102
9103// GoString returns the string representation.
9104//
9105// API parameter values that are decorated as "sensitive" in the API will not
9106// be included in the string output. The member name will be present, but the
9107// value will be replaced with "sensitive".
9108func (s AwsCertificateManagerCertificateOptions) GoString() string {
9109	return s.String()
9110}
9111
9112// SetCertificateTransparencyLoggingPreference sets the CertificateTransparencyLoggingPreference field's value.
9113func (s *AwsCertificateManagerCertificateOptions) SetCertificateTransparencyLoggingPreference(v string) *AwsCertificateManagerCertificateOptions {
9114	s.CertificateTransparencyLoggingPreference = &v
9115	return s
9116}
9117
9118// Contains information about the Certificate Manager managed renewal for an
9119// AMAZON_ISSUED certificate.
9120type AwsCertificateManagerCertificateRenewalSummary struct {
9121	_ struct{} `type:"structure"`
9122
9123	// Information about the validation of each domain name in the certificate,
9124	// as it pertains to Certificate Manager managed renewal. Provided only when
9125	// the certificate type is AMAZON_ISSUED.
9126	DomainValidationOptions []*AwsCertificateManagerCertificateDomainValidationOption `type:"list"`
9127
9128	// The status of the Certificate Manager managed renewal of the certificate.
9129	//
9130	// Valid values: PENDING_AUTO_RENEWAL | PENDING_VALIDATION | SUCCESS | FAILED
9131	RenewalStatus *string `type:"string"`
9132
9133	// The reason that a renewal request was unsuccessful.
9134	//
9135	// Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED |
9136	// DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR
9137	// | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED
9138	// | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS
9139	// | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER
9140	RenewalStatusReason *string `type:"string"`
9141
9142	// Indicates when the renewal summary was last updated.
9143	//
9144	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9145	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9146	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9147	UpdatedAt *string `type:"string"`
9148}
9149
9150// String returns the string representation.
9151//
9152// API parameter values that are decorated as "sensitive" in the API will not
9153// be included in the string output. The member name will be present, but the
9154// value will be replaced with "sensitive".
9155func (s AwsCertificateManagerCertificateRenewalSummary) String() string {
9156	return awsutil.Prettify(s)
9157}
9158
9159// GoString returns the string representation.
9160//
9161// API parameter values that are decorated as "sensitive" in the API will not
9162// be included in the string output. The member name will be present, but the
9163// value will be replaced with "sensitive".
9164func (s AwsCertificateManagerCertificateRenewalSummary) GoString() string {
9165	return s.String()
9166}
9167
9168// SetDomainValidationOptions sets the DomainValidationOptions field's value.
9169func (s *AwsCertificateManagerCertificateRenewalSummary) SetDomainValidationOptions(v []*AwsCertificateManagerCertificateDomainValidationOption) *AwsCertificateManagerCertificateRenewalSummary {
9170	s.DomainValidationOptions = v
9171	return s
9172}
9173
9174// SetRenewalStatus sets the RenewalStatus field's value.
9175func (s *AwsCertificateManagerCertificateRenewalSummary) SetRenewalStatus(v string) *AwsCertificateManagerCertificateRenewalSummary {
9176	s.RenewalStatus = &v
9177	return s
9178}
9179
9180// SetRenewalStatusReason sets the RenewalStatusReason field's value.
9181func (s *AwsCertificateManagerCertificateRenewalSummary) SetRenewalStatusReason(v string) *AwsCertificateManagerCertificateRenewalSummary {
9182	s.RenewalStatusReason = &v
9183	return s
9184}
9185
9186// SetUpdatedAt sets the UpdatedAt field's value.
9187func (s *AwsCertificateManagerCertificateRenewalSummary) SetUpdatedAt(v string) *AwsCertificateManagerCertificateRenewalSummary {
9188	s.UpdatedAt = &v
9189	return s
9190}
9191
9192// Provides details about the CNAME record that is added to the DNS database
9193// for domain validation.
9194type AwsCertificateManagerCertificateResourceRecord struct {
9195	_ struct{} `type:"structure"`
9196
9197	// The name of the resource.
9198	Name *string `type:"string"`
9199
9200	// The type of resource.
9201	Type *string `type:"string"`
9202
9203	// The value of the resource.
9204	Value *string `type:"string"`
9205}
9206
9207// String returns the string representation.
9208//
9209// API parameter values that are decorated as "sensitive" in the API will not
9210// be included in the string output. The member name will be present, but the
9211// value will be replaced with "sensitive".
9212func (s AwsCertificateManagerCertificateResourceRecord) String() string {
9213	return awsutil.Prettify(s)
9214}
9215
9216// GoString returns the string representation.
9217//
9218// API parameter values that are decorated as "sensitive" in the API will not
9219// be included in the string output. The member name will be present, but the
9220// value will be replaced with "sensitive".
9221func (s AwsCertificateManagerCertificateResourceRecord) GoString() string {
9222	return s.String()
9223}
9224
9225// SetName sets the Name field's value.
9226func (s *AwsCertificateManagerCertificateResourceRecord) SetName(v string) *AwsCertificateManagerCertificateResourceRecord {
9227	s.Name = &v
9228	return s
9229}
9230
9231// SetType sets the Type field's value.
9232func (s *AwsCertificateManagerCertificateResourceRecord) SetType(v string) *AwsCertificateManagerCertificateResourceRecord {
9233	s.Type = &v
9234	return s
9235}
9236
9237// SetValue sets the Value field's value.
9238func (s *AwsCertificateManagerCertificateResourceRecord) SetValue(v string) *AwsCertificateManagerCertificateResourceRecord {
9239	s.Value = &v
9240	return s
9241}
9242
9243// Information about a cache behavior for the distribution.
9244type AwsCloudFrontDistributionCacheBehavior struct {
9245	_ struct{} `type:"structure"`
9246
9247	// The protocol that viewers can use to access the files in an origin. You can
9248	// specify the following options:
9249	//
9250	//    * allow-all - Viewers can use HTTP or HTTPS.
9251	//
9252	//    * redirect-to-https - CloudFront responds to HTTP requests with an HTTP
9253	//    status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then
9254	//    uses the new URL to resubmit.
9255	//
9256	//    * https-only - CloudFront responds to HTTP request with an HTTP status
9257	//    code of 403 (Forbidden).
9258	ViewerProtocolPolicy *string `type:"string"`
9259}
9260
9261// String returns the string representation.
9262//
9263// API parameter values that are decorated as "sensitive" in the API will not
9264// be included in the string output. The member name will be present, but the
9265// value will be replaced with "sensitive".
9266func (s AwsCloudFrontDistributionCacheBehavior) String() string {
9267	return awsutil.Prettify(s)
9268}
9269
9270// GoString returns the string representation.
9271//
9272// API parameter values that are decorated as "sensitive" in the API will not
9273// be included in the string output. The member name will be present, but the
9274// value will be replaced with "sensitive".
9275func (s AwsCloudFrontDistributionCacheBehavior) GoString() string {
9276	return s.String()
9277}
9278
9279// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value.
9280func (s *AwsCloudFrontDistributionCacheBehavior) SetViewerProtocolPolicy(v string) *AwsCloudFrontDistributionCacheBehavior {
9281	s.ViewerProtocolPolicy = &v
9282	return s
9283}
9284
9285// Provides information about caching for the distribution.
9286type AwsCloudFrontDistributionCacheBehaviors struct {
9287	_ struct{} `type:"structure"`
9288
9289	// The cache behaviors for the distribution.
9290	Items []*AwsCloudFrontDistributionCacheBehavior `type:"list"`
9291}
9292
9293// String returns the string representation.
9294//
9295// API parameter values that are decorated as "sensitive" in the API will not
9296// be included in the string output. The member name will be present, but the
9297// value will be replaced with "sensitive".
9298func (s AwsCloudFrontDistributionCacheBehaviors) String() string {
9299	return awsutil.Prettify(s)
9300}
9301
9302// GoString returns the string representation.
9303//
9304// API parameter values that are decorated as "sensitive" in the API will not
9305// be included in the string output. The member name will be present, but the
9306// value will be replaced with "sensitive".
9307func (s AwsCloudFrontDistributionCacheBehaviors) GoString() string {
9308	return s.String()
9309}
9310
9311// SetItems sets the Items field's value.
9312func (s *AwsCloudFrontDistributionCacheBehaviors) SetItems(v []*AwsCloudFrontDistributionCacheBehavior) *AwsCloudFrontDistributionCacheBehaviors {
9313	s.Items = v
9314	return s
9315}
9316
9317// Contains information about the default cache configuration for the distribution.
9318type AwsCloudFrontDistributionDefaultCacheBehavior struct {
9319	_ struct{} `type:"structure"`
9320
9321	// The protocol that viewers can use to access the files in an origin. You can
9322	// specify the following options:
9323	//
9324	//    * allow-all - Viewers can use HTTP or HTTPS.
9325	//
9326	//    * redirect-to-https - CloudFront responds to HTTP requests with an HTTP
9327	//    status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then
9328	//    uses the new URL to resubmit.
9329	//
9330	//    * https-only - CloudFront responds to HTTP request with an HTTP status
9331	//    code of 403 (Forbidden).
9332	ViewerProtocolPolicy *string `type:"string"`
9333}
9334
9335// String returns the string representation.
9336//
9337// API parameter values that are decorated as "sensitive" in the API will not
9338// be included in the string output. The member name will be present, but the
9339// value will be replaced with "sensitive".
9340func (s AwsCloudFrontDistributionDefaultCacheBehavior) String() string {
9341	return awsutil.Prettify(s)
9342}
9343
9344// GoString returns the string representation.
9345//
9346// API parameter values that are decorated as "sensitive" in the API will not
9347// be included in the string output. The member name will be present, but the
9348// value will be replaced with "sensitive".
9349func (s AwsCloudFrontDistributionDefaultCacheBehavior) GoString() string {
9350	return s.String()
9351}
9352
9353// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value.
9354func (s *AwsCloudFrontDistributionDefaultCacheBehavior) SetViewerProtocolPolicy(v string) *AwsCloudFrontDistributionDefaultCacheBehavior {
9355	s.ViewerProtocolPolicy = &v
9356	return s
9357}
9358
9359// A distribution configuration.
9360type AwsCloudFrontDistributionDetails struct {
9361	_ struct{} `type:"structure"`
9362
9363	// Provides information about the cache configuration for the distribution.
9364	CacheBehaviors *AwsCloudFrontDistributionCacheBehaviors `type:"structure"`
9365
9366	// The default cache behavior for the configuration.
9367	DefaultCacheBehavior *AwsCloudFrontDistributionDefaultCacheBehavior `type:"structure"`
9368
9369	// The object that CloudFront sends in response to requests from the origin
9370	// (for example, index.html) when a viewer requests the root URL for the distribution
9371	// (http://www.example.com) instead of an object in your distribution (http://www.example.com/product-description.html).
9372	DefaultRootObject *string `type:"string"`
9373
9374	// The domain name corresponding to the distribution.
9375	DomainName *string `type:"string"`
9376
9377	// The entity tag is a hash of the object.
9378	ETag *string `type:"string"`
9379
9380	// Indicates when that the distribution was last modified.
9381	//
9382	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9383	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9384	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9385	LastModifiedTime *string `type:"string"`
9386
9387	// A complex type that controls whether access logs are written for the distribution.
9388	Logging *AwsCloudFrontDistributionLogging `type:"structure"`
9389
9390	// Provides information about the origin groups in the distribution.
9391	OriginGroups *AwsCloudFrontDistributionOriginGroups `type:"structure"`
9392
9393	// A complex type that contains information about origins for this distribution.
9394	Origins *AwsCloudFrontDistributionOrigins `type:"structure"`
9395
9396	// Indicates the current status of the distribution.
9397	Status *string `type:"string"`
9398
9399	// Provides information about the TLS/SSL configuration that the distribution
9400	// uses to communicate with viewers.
9401	ViewerCertificate *AwsCloudFrontDistributionViewerCertificate `type:"structure"`
9402
9403	// A unique identifier that specifies the WAF web ACL, if any, to associate
9404	// with this distribution.
9405	WebAclId *string `type:"string"`
9406}
9407
9408// String returns the string representation.
9409//
9410// API parameter values that are decorated as "sensitive" in the API will not
9411// be included in the string output. The member name will be present, but the
9412// value will be replaced with "sensitive".
9413func (s AwsCloudFrontDistributionDetails) String() string {
9414	return awsutil.Prettify(s)
9415}
9416
9417// GoString returns the string representation.
9418//
9419// API parameter values that are decorated as "sensitive" in the API will not
9420// be included in the string output. The member name will be present, but the
9421// value will be replaced with "sensitive".
9422func (s AwsCloudFrontDistributionDetails) GoString() string {
9423	return s.String()
9424}
9425
9426// SetCacheBehaviors sets the CacheBehaviors field's value.
9427func (s *AwsCloudFrontDistributionDetails) SetCacheBehaviors(v *AwsCloudFrontDistributionCacheBehaviors) *AwsCloudFrontDistributionDetails {
9428	s.CacheBehaviors = v
9429	return s
9430}
9431
9432// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
9433func (s *AwsCloudFrontDistributionDetails) SetDefaultCacheBehavior(v *AwsCloudFrontDistributionDefaultCacheBehavior) *AwsCloudFrontDistributionDetails {
9434	s.DefaultCacheBehavior = v
9435	return s
9436}
9437
9438// SetDefaultRootObject sets the DefaultRootObject field's value.
9439func (s *AwsCloudFrontDistributionDetails) SetDefaultRootObject(v string) *AwsCloudFrontDistributionDetails {
9440	s.DefaultRootObject = &v
9441	return s
9442}
9443
9444// SetDomainName sets the DomainName field's value.
9445func (s *AwsCloudFrontDistributionDetails) SetDomainName(v string) *AwsCloudFrontDistributionDetails {
9446	s.DomainName = &v
9447	return s
9448}
9449
9450// SetETag sets the ETag field's value.
9451func (s *AwsCloudFrontDistributionDetails) SetETag(v string) *AwsCloudFrontDistributionDetails {
9452	s.ETag = &v
9453	return s
9454}
9455
9456// SetLastModifiedTime sets the LastModifiedTime field's value.
9457func (s *AwsCloudFrontDistributionDetails) SetLastModifiedTime(v string) *AwsCloudFrontDistributionDetails {
9458	s.LastModifiedTime = &v
9459	return s
9460}
9461
9462// SetLogging sets the Logging field's value.
9463func (s *AwsCloudFrontDistributionDetails) SetLogging(v *AwsCloudFrontDistributionLogging) *AwsCloudFrontDistributionDetails {
9464	s.Logging = v
9465	return s
9466}
9467
9468// SetOriginGroups sets the OriginGroups field's value.
9469func (s *AwsCloudFrontDistributionDetails) SetOriginGroups(v *AwsCloudFrontDistributionOriginGroups) *AwsCloudFrontDistributionDetails {
9470	s.OriginGroups = v
9471	return s
9472}
9473
9474// SetOrigins sets the Origins field's value.
9475func (s *AwsCloudFrontDistributionDetails) SetOrigins(v *AwsCloudFrontDistributionOrigins) *AwsCloudFrontDistributionDetails {
9476	s.Origins = v
9477	return s
9478}
9479
9480// SetStatus sets the Status field's value.
9481func (s *AwsCloudFrontDistributionDetails) SetStatus(v string) *AwsCloudFrontDistributionDetails {
9482	s.Status = &v
9483	return s
9484}
9485
9486// SetViewerCertificate sets the ViewerCertificate field's value.
9487func (s *AwsCloudFrontDistributionDetails) SetViewerCertificate(v *AwsCloudFrontDistributionViewerCertificate) *AwsCloudFrontDistributionDetails {
9488	s.ViewerCertificate = v
9489	return s
9490}
9491
9492// SetWebAclId sets the WebAclId field's value.
9493func (s *AwsCloudFrontDistributionDetails) SetWebAclId(v string) *AwsCloudFrontDistributionDetails {
9494	s.WebAclId = &v
9495	return s
9496}
9497
9498// A complex type that controls whether access logs are written for the distribution.
9499type AwsCloudFrontDistributionLogging struct {
9500	_ struct{} `type:"structure"`
9501
9502	// The S3 bucket to store the access logs in.
9503	Bucket *string `type:"string"`
9504
9505	// With this field, you can enable or disable the selected distribution.
9506	Enabled *bool `type:"boolean"`
9507
9508	// Specifies whether you want CloudFront to include cookies in access logs.
9509	IncludeCookies *bool `type:"boolean"`
9510
9511	// An optional string that you want CloudFront to use as a prefix to the access
9512	// log filenames for this distribution.
9513	Prefix *string `type:"string"`
9514}
9515
9516// String returns the string representation.
9517//
9518// API parameter values that are decorated as "sensitive" in the API will not
9519// be included in the string output. The member name will be present, but the
9520// value will be replaced with "sensitive".
9521func (s AwsCloudFrontDistributionLogging) String() string {
9522	return awsutil.Prettify(s)
9523}
9524
9525// GoString returns the string representation.
9526//
9527// API parameter values that are decorated as "sensitive" in the API will not
9528// be included in the string output. The member name will be present, but the
9529// value will be replaced with "sensitive".
9530func (s AwsCloudFrontDistributionLogging) GoString() string {
9531	return s.String()
9532}
9533
9534// SetBucket sets the Bucket field's value.
9535func (s *AwsCloudFrontDistributionLogging) SetBucket(v string) *AwsCloudFrontDistributionLogging {
9536	s.Bucket = &v
9537	return s
9538}
9539
9540// SetEnabled sets the Enabled field's value.
9541func (s *AwsCloudFrontDistributionLogging) SetEnabled(v bool) *AwsCloudFrontDistributionLogging {
9542	s.Enabled = &v
9543	return s
9544}
9545
9546// SetIncludeCookies sets the IncludeCookies field's value.
9547func (s *AwsCloudFrontDistributionLogging) SetIncludeCookies(v bool) *AwsCloudFrontDistributionLogging {
9548	s.IncludeCookies = &v
9549	return s
9550}
9551
9552// SetPrefix sets the Prefix field's value.
9553func (s *AwsCloudFrontDistributionLogging) SetPrefix(v string) *AwsCloudFrontDistributionLogging {
9554	s.Prefix = &v
9555	return s
9556}
9557
9558// Information about an origin group for the distribution.
9559type AwsCloudFrontDistributionOriginGroup struct {
9560	_ struct{} `type:"structure"`
9561
9562	// Provides the criteria for an origin group to fail over.
9563	FailoverCriteria *AwsCloudFrontDistributionOriginGroupFailover `type:"structure"`
9564}
9565
9566// String returns the string representation.
9567//
9568// API parameter values that are decorated as "sensitive" in the API will not
9569// be included in the string output. The member name will be present, but the
9570// value will be replaced with "sensitive".
9571func (s AwsCloudFrontDistributionOriginGroup) String() string {
9572	return awsutil.Prettify(s)
9573}
9574
9575// GoString returns the string representation.
9576//
9577// API parameter values that are decorated as "sensitive" in the API will not
9578// be included in the string output. The member name will be present, but the
9579// value will be replaced with "sensitive".
9580func (s AwsCloudFrontDistributionOriginGroup) GoString() string {
9581	return s.String()
9582}
9583
9584// SetFailoverCriteria sets the FailoverCriteria field's value.
9585func (s *AwsCloudFrontDistributionOriginGroup) SetFailoverCriteria(v *AwsCloudFrontDistributionOriginGroupFailover) *AwsCloudFrontDistributionOriginGroup {
9586	s.FailoverCriteria = v
9587	return s
9588}
9589
9590// Provides information about when an origin group fails over.
9591type AwsCloudFrontDistributionOriginGroupFailover struct {
9592	_ struct{} `type:"structure"`
9593
9594	// Information about the status codes that cause an origin group to fail over.
9595	StatusCodes *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes `type:"structure"`
9596}
9597
9598// String returns the string representation.
9599//
9600// API parameter values that are decorated as "sensitive" in the API will not
9601// be included in the string output. The member name will be present, but the
9602// value will be replaced with "sensitive".
9603func (s AwsCloudFrontDistributionOriginGroupFailover) String() string {
9604	return awsutil.Prettify(s)
9605}
9606
9607// GoString returns the string representation.
9608//
9609// API parameter values that are decorated as "sensitive" in the API will not
9610// be included in the string output. The member name will be present, but the
9611// value will be replaced with "sensitive".
9612func (s AwsCloudFrontDistributionOriginGroupFailover) GoString() string {
9613	return s.String()
9614}
9615
9616// SetStatusCodes sets the StatusCodes field's value.
9617func (s *AwsCloudFrontDistributionOriginGroupFailover) SetStatusCodes(v *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) *AwsCloudFrontDistributionOriginGroupFailover {
9618	s.StatusCodes = v
9619	return s
9620}
9621
9622// The status codes that cause an origin group to fail over.
9623type AwsCloudFrontDistributionOriginGroupFailoverStatusCodes struct {
9624	_ struct{} `type:"structure"`
9625
9626	// The list of status code values that can cause a failover to the next origin.
9627	Items []*int64 `type:"list"`
9628
9629	// The number of status codes that can cause a failover.
9630	Quantity *int64 `type:"integer"`
9631}
9632
9633// String returns the string representation.
9634//
9635// API parameter values that are decorated as "sensitive" in the API will not
9636// be included in the string output. The member name will be present, but the
9637// value will be replaced with "sensitive".
9638func (s AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) String() string {
9639	return awsutil.Prettify(s)
9640}
9641
9642// GoString returns the string representation.
9643//
9644// API parameter values that are decorated as "sensitive" in the API will not
9645// be included in the string output. The member name will be present, but the
9646// value will be replaced with "sensitive".
9647func (s AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) GoString() string {
9648	return s.String()
9649}
9650
9651// SetItems sets the Items field's value.
9652func (s *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) SetItems(v []*int64) *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes {
9653	s.Items = v
9654	return s
9655}
9656
9657// SetQuantity sets the Quantity field's value.
9658func (s *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) SetQuantity(v int64) *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes {
9659	s.Quantity = &v
9660	return s
9661}
9662
9663// Provides information about origin groups that are associated with the distribution.
9664type AwsCloudFrontDistributionOriginGroups struct {
9665	_ struct{} `type:"structure"`
9666
9667	// The list of origin groups.
9668	Items []*AwsCloudFrontDistributionOriginGroup `type:"list"`
9669}
9670
9671// String returns the string representation.
9672//
9673// API parameter values that are decorated as "sensitive" in the API will not
9674// be included in the string output. The member name will be present, but the
9675// value will be replaced with "sensitive".
9676func (s AwsCloudFrontDistributionOriginGroups) String() string {
9677	return awsutil.Prettify(s)
9678}
9679
9680// GoString returns the string representation.
9681//
9682// API parameter values that are decorated as "sensitive" in the API will not
9683// be included in the string output. The member name will be present, but the
9684// value will be replaced with "sensitive".
9685func (s AwsCloudFrontDistributionOriginGroups) GoString() string {
9686	return s.String()
9687}
9688
9689// SetItems sets the Items field's value.
9690func (s *AwsCloudFrontDistributionOriginGroups) SetItems(v []*AwsCloudFrontDistributionOriginGroup) *AwsCloudFrontDistributionOriginGroups {
9691	s.Items = v
9692	return s
9693}
9694
9695// A complex type that describes the S3 bucket, HTTP server (for example, a
9696// web server), AWS Elemental MediaStore, or other server from which CloudFront
9697// gets your files.
9698type AwsCloudFrontDistributionOriginItem struct {
9699	_ struct{} `type:"structure"`
9700
9701	// Amazon S3 origins: The DNS name of the S3 bucket from which you want CloudFront
9702	// to get objects for this origin.
9703	DomainName *string `type:"string"`
9704
9705	// A unique identifier for the origin or origin group.
9706	Id *string `type:"string"`
9707
9708	// An optional element that causes CloudFront to request your content from a
9709	// directory in your Amazon S3 bucket or your custom origin.
9710	OriginPath *string `type:"string"`
9711
9712	// An origin that is an S3 bucket that is not configured with static website
9713	// hosting.
9714	S3OriginConfig *AwsCloudFrontDistributionOriginS3OriginConfig `type:"structure"`
9715}
9716
9717// String returns the string representation.
9718//
9719// API parameter values that are decorated as "sensitive" in the API will not
9720// be included in the string output. The member name will be present, but the
9721// value will be replaced with "sensitive".
9722func (s AwsCloudFrontDistributionOriginItem) String() string {
9723	return awsutil.Prettify(s)
9724}
9725
9726// GoString returns the string representation.
9727//
9728// API parameter values that are decorated as "sensitive" in the API will not
9729// be included in the string output. The member name will be present, but the
9730// value will be replaced with "sensitive".
9731func (s AwsCloudFrontDistributionOriginItem) GoString() string {
9732	return s.String()
9733}
9734
9735// SetDomainName sets the DomainName field's value.
9736func (s *AwsCloudFrontDistributionOriginItem) SetDomainName(v string) *AwsCloudFrontDistributionOriginItem {
9737	s.DomainName = &v
9738	return s
9739}
9740
9741// SetId sets the Id field's value.
9742func (s *AwsCloudFrontDistributionOriginItem) SetId(v string) *AwsCloudFrontDistributionOriginItem {
9743	s.Id = &v
9744	return s
9745}
9746
9747// SetOriginPath sets the OriginPath field's value.
9748func (s *AwsCloudFrontDistributionOriginItem) SetOriginPath(v string) *AwsCloudFrontDistributionOriginItem {
9749	s.OriginPath = &v
9750	return s
9751}
9752
9753// SetS3OriginConfig sets the S3OriginConfig field's value.
9754func (s *AwsCloudFrontDistributionOriginItem) SetS3OriginConfig(v *AwsCloudFrontDistributionOriginS3OriginConfig) *AwsCloudFrontDistributionOriginItem {
9755	s.S3OriginConfig = v
9756	return s
9757}
9758
9759// Information about an origin that is an S3 bucket that is not configured with
9760// static website hosting.
9761type AwsCloudFrontDistributionOriginS3OriginConfig struct {
9762	_ struct{} `type:"structure"`
9763
9764	// The CloudFront origin access identity to associate with the origin.
9765	OriginAccessIdentity *string `type:"string"`
9766}
9767
9768// String returns the string representation.
9769//
9770// API parameter values that are decorated as "sensitive" in the API will not
9771// be included in the string output. The member name will be present, but the
9772// value will be replaced with "sensitive".
9773func (s AwsCloudFrontDistributionOriginS3OriginConfig) String() string {
9774	return awsutil.Prettify(s)
9775}
9776
9777// GoString returns the string representation.
9778//
9779// API parameter values that are decorated as "sensitive" in the API will not
9780// be included in the string output. The member name will be present, but the
9781// value will be replaced with "sensitive".
9782func (s AwsCloudFrontDistributionOriginS3OriginConfig) GoString() string {
9783	return s.String()
9784}
9785
9786// SetOriginAccessIdentity sets the OriginAccessIdentity field's value.
9787func (s *AwsCloudFrontDistributionOriginS3OriginConfig) SetOriginAccessIdentity(v string) *AwsCloudFrontDistributionOriginS3OriginConfig {
9788	s.OriginAccessIdentity = &v
9789	return s
9790}
9791
9792// A complex type that contains information about origins and origin groups
9793// for this distribution.
9794type AwsCloudFrontDistributionOrigins struct {
9795	_ struct{} `type:"structure"`
9796
9797	// A complex type that contains origins or origin groups for this distribution.
9798	Items []*AwsCloudFrontDistributionOriginItem `type:"list"`
9799}
9800
9801// String returns the string representation.
9802//
9803// API parameter values that are decorated as "sensitive" in the API will not
9804// be included in the string output. The member name will be present, but the
9805// value will be replaced with "sensitive".
9806func (s AwsCloudFrontDistributionOrigins) String() string {
9807	return awsutil.Prettify(s)
9808}
9809
9810// GoString returns the string representation.
9811//
9812// API parameter values that are decorated as "sensitive" in the API will not
9813// be included in the string output. The member name will be present, but the
9814// value will be replaced with "sensitive".
9815func (s AwsCloudFrontDistributionOrigins) GoString() string {
9816	return s.String()
9817}
9818
9819// SetItems sets the Items field's value.
9820func (s *AwsCloudFrontDistributionOrigins) SetItems(v []*AwsCloudFrontDistributionOriginItem) *AwsCloudFrontDistributionOrigins {
9821	s.Items = v
9822	return s
9823}
9824
9825// Provides information about the TLS/SSL configuration that the distribution
9826// uses to communicate with viewers.
9827type AwsCloudFrontDistributionViewerCertificate struct {
9828	_ struct{} `type:"structure"`
9829
9830	// The ARN of the ACM certificate. Used if the certificate is stored in ACM.
9831	// If you provide an ACM certificate ARN, you must also provide MinimumCertificateVersion
9832	// and SslSupportMethod.
9833	AcmCertificateArn *string `type:"string"`
9834
9835	// The identifier of the certificate. Note that in CloudFront, this attribute
9836	// is deprecated.
9837	Certificate *string `type:"string"`
9838
9839	// The source of the certificate identified by Certificate. Note that in CloudFront,
9840	// this attribute is deprecated.
9841	CertificateSource *string `type:"string"`
9842
9843	// Whether the distribution uses the CloudFront domain name. If set to false,
9844	// then you provide either AcmCertificateArn or IamCertificateId.
9845	CloudFrontDefaultCertificate *bool `type:"boolean"`
9846
9847	// The identifier of the IAM certificate. Used if the certificate is stored
9848	// in IAM. If you provide IamCertificateId, then you also must provide MinimumProtocolVersion
9849	// and SslSupportMethod.
9850	IamCertificateId *string `type:"string"`
9851
9852	// The security policy that CloudFront uses for HTTPS connections with viewers.
9853	// If SslSupportMethod is sni-only, then MinimumProtocolVersion must be TLSv1
9854	// or higher.
9855	MinimumProtocolVersion *string `type:"string"`
9856
9857	// The viewers that the distribution accepts HTTPS connections from.
9858	SslSupportMethod *string `type:"string"`
9859}
9860
9861// String returns the string representation.
9862//
9863// API parameter values that are decorated as "sensitive" in the API will not
9864// be included in the string output. The member name will be present, but the
9865// value will be replaced with "sensitive".
9866func (s AwsCloudFrontDistributionViewerCertificate) String() string {
9867	return awsutil.Prettify(s)
9868}
9869
9870// GoString returns the string representation.
9871//
9872// API parameter values that are decorated as "sensitive" in the API will not
9873// be included in the string output. The member name will be present, but the
9874// value will be replaced with "sensitive".
9875func (s AwsCloudFrontDistributionViewerCertificate) GoString() string {
9876	return s.String()
9877}
9878
9879// SetAcmCertificateArn sets the AcmCertificateArn field's value.
9880func (s *AwsCloudFrontDistributionViewerCertificate) SetAcmCertificateArn(v string) *AwsCloudFrontDistributionViewerCertificate {
9881	s.AcmCertificateArn = &v
9882	return s
9883}
9884
9885// SetCertificate sets the Certificate field's value.
9886func (s *AwsCloudFrontDistributionViewerCertificate) SetCertificate(v string) *AwsCloudFrontDistributionViewerCertificate {
9887	s.Certificate = &v
9888	return s
9889}
9890
9891// SetCertificateSource sets the CertificateSource field's value.
9892func (s *AwsCloudFrontDistributionViewerCertificate) SetCertificateSource(v string) *AwsCloudFrontDistributionViewerCertificate {
9893	s.CertificateSource = &v
9894	return s
9895}
9896
9897// SetCloudFrontDefaultCertificate sets the CloudFrontDefaultCertificate field's value.
9898func (s *AwsCloudFrontDistributionViewerCertificate) SetCloudFrontDefaultCertificate(v bool) *AwsCloudFrontDistributionViewerCertificate {
9899	s.CloudFrontDefaultCertificate = &v
9900	return s
9901}
9902
9903// SetIamCertificateId sets the IamCertificateId field's value.
9904func (s *AwsCloudFrontDistributionViewerCertificate) SetIamCertificateId(v string) *AwsCloudFrontDistributionViewerCertificate {
9905	s.IamCertificateId = &v
9906	return s
9907}
9908
9909// SetMinimumProtocolVersion sets the MinimumProtocolVersion field's value.
9910func (s *AwsCloudFrontDistributionViewerCertificate) SetMinimumProtocolVersion(v string) *AwsCloudFrontDistributionViewerCertificate {
9911	s.MinimumProtocolVersion = &v
9912	return s
9913}
9914
9915// SetSslSupportMethod sets the SslSupportMethod field's value.
9916func (s *AwsCloudFrontDistributionViewerCertificate) SetSslSupportMethod(v string) *AwsCloudFrontDistributionViewerCertificate {
9917	s.SslSupportMethod = &v
9918	return s
9919}
9920
9921// Provides details about a CloudTrail trail.
9922type AwsCloudTrailTrailDetails struct {
9923	_ struct{} `type:"structure"`
9924
9925	// The ARN of the log group that CloudTrail logs are delivered to.
9926	CloudWatchLogsLogGroupArn *string `type:"string"`
9927
9928	// The ARN of the role that the CloudWatch Events endpoint assumes when it writes
9929	// to the log group.
9930	CloudWatchLogsRoleArn *string `type:"string"`
9931
9932	// Indicates whether the trail has custom event selectors.
9933	HasCustomEventSelectors *bool `type:"boolean"`
9934
9935	// The Region where the trail was created.
9936	HomeRegion *string `type:"string"`
9937
9938	// Indicates whether the trail publishes events from global services such as
9939	// IAM to the log files.
9940	IncludeGlobalServiceEvents *bool `type:"boolean"`
9941
9942	// Indicates whether the trail applies only to the current Region or to all
9943	// Regions.
9944	IsMultiRegionTrail *bool `type:"boolean"`
9945
9946	// Whether the trail is created for all accounts in an organization in Organizations,
9947	// or only for the current Amazon Web Services account.
9948	IsOrganizationTrail *bool `type:"boolean"`
9949
9950	// The KMS key ID to use to encrypt the logs.
9951	KmsKeyId *string `type:"string"`
9952
9953	// Indicates whether CloudTrail log file validation is enabled.
9954	LogFileValidationEnabled *bool `type:"boolean"`
9955
9956	// The name of the trail.
9957	Name *string `type:"string"`
9958
9959	// The name of the S3 bucket where the log files are published.
9960	S3BucketName *string `type:"string"`
9961
9962	// The S3 key prefix. The key prefix is added after the name of the S3 bucket
9963	// where the log files are published.
9964	S3KeyPrefix *string `type:"string"`
9965
9966	// The ARN of the SNS topic that is used for notifications of log file delivery.
9967	SnsTopicArn *string `type:"string"`
9968
9969	// The name of the SNS topic that is used for notifications of log file delivery.
9970	SnsTopicName *string `type:"string"`
9971
9972	// The ARN of the trail.
9973	TrailArn *string `type:"string"`
9974}
9975
9976// String returns the string representation.
9977//
9978// API parameter values that are decorated as "sensitive" in the API will not
9979// be included in the string output. The member name will be present, but the
9980// value will be replaced with "sensitive".
9981func (s AwsCloudTrailTrailDetails) String() string {
9982	return awsutil.Prettify(s)
9983}
9984
9985// GoString returns the string representation.
9986//
9987// API parameter values that are decorated as "sensitive" in the API will not
9988// be included in the string output. The member name will be present, but the
9989// value will be replaced with "sensitive".
9990func (s AwsCloudTrailTrailDetails) GoString() string {
9991	return s.String()
9992}
9993
9994// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
9995func (s *AwsCloudTrailTrailDetails) SetCloudWatchLogsLogGroupArn(v string) *AwsCloudTrailTrailDetails {
9996	s.CloudWatchLogsLogGroupArn = &v
9997	return s
9998}
9999
10000// SetCloudWatchLogsRoleArn sets the CloudWatchLogsRoleArn field's value.
10001func (s *AwsCloudTrailTrailDetails) SetCloudWatchLogsRoleArn(v string) *AwsCloudTrailTrailDetails {
10002	s.CloudWatchLogsRoleArn = &v
10003	return s
10004}
10005
10006// SetHasCustomEventSelectors sets the HasCustomEventSelectors field's value.
10007func (s *AwsCloudTrailTrailDetails) SetHasCustomEventSelectors(v bool) *AwsCloudTrailTrailDetails {
10008	s.HasCustomEventSelectors = &v
10009	return s
10010}
10011
10012// SetHomeRegion sets the HomeRegion field's value.
10013func (s *AwsCloudTrailTrailDetails) SetHomeRegion(v string) *AwsCloudTrailTrailDetails {
10014	s.HomeRegion = &v
10015	return s
10016}
10017
10018// SetIncludeGlobalServiceEvents sets the IncludeGlobalServiceEvents field's value.
10019func (s *AwsCloudTrailTrailDetails) SetIncludeGlobalServiceEvents(v bool) *AwsCloudTrailTrailDetails {
10020	s.IncludeGlobalServiceEvents = &v
10021	return s
10022}
10023
10024// SetIsMultiRegionTrail sets the IsMultiRegionTrail field's value.
10025func (s *AwsCloudTrailTrailDetails) SetIsMultiRegionTrail(v bool) *AwsCloudTrailTrailDetails {
10026	s.IsMultiRegionTrail = &v
10027	return s
10028}
10029
10030// SetIsOrganizationTrail sets the IsOrganizationTrail field's value.
10031func (s *AwsCloudTrailTrailDetails) SetIsOrganizationTrail(v bool) *AwsCloudTrailTrailDetails {
10032	s.IsOrganizationTrail = &v
10033	return s
10034}
10035
10036// SetKmsKeyId sets the KmsKeyId field's value.
10037func (s *AwsCloudTrailTrailDetails) SetKmsKeyId(v string) *AwsCloudTrailTrailDetails {
10038	s.KmsKeyId = &v
10039	return s
10040}
10041
10042// SetLogFileValidationEnabled sets the LogFileValidationEnabled field's value.
10043func (s *AwsCloudTrailTrailDetails) SetLogFileValidationEnabled(v bool) *AwsCloudTrailTrailDetails {
10044	s.LogFileValidationEnabled = &v
10045	return s
10046}
10047
10048// SetName sets the Name field's value.
10049func (s *AwsCloudTrailTrailDetails) SetName(v string) *AwsCloudTrailTrailDetails {
10050	s.Name = &v
10051	return s
10052}
10053
10054// SetS3BucketName sets the S3BucketName field's value.
10055func (s *AwsCloudTrailTrailDetails) SetS3BucketName(v string) *AwsCloudTrailTrailDetails {
10056	s.S3BucketName = &v
10057	return s
10058}
10059
10060// SetS3KeyPrefix sets the S3KeyPrefix field's value.
10061func (s *AwsCloudTrailTrailDetails) SetS3KeyPrefix(v string) *AwsCloudTrailTrailDetails {
10062	s.S3KeyPrefix = &v
10063	return s
10064}
10065
10066// SetSnsTopicArn sets the SnsTopicArn field's value.
10067func (s *AwsCloudTrailTrailDetails) SetSnsTopicArn(v string) *AwsCloudTrailTrailDetails {
10068	s.SnsTopicArn = &v
10069	return s
10070}
10071
10072// SetSnsTopicName sets the SnsTopicName field's value.
10073func (s *AwsCloudTrailTrailDetails) SetSnsTopicName(v string) *AwsCloudTrailTrailDetails {
10074	s.SnsTopicName = &v
10075	return s
10076}
10077
10078// SetTrailArn sets the TrailArn field's value.
10079func (s *AwsCloudTrailTrailDetails) SetTrailArn(v string) *AwsCloudTrailTrailDetails {
10080	s.TrailArn = &v
10081	return s
10082}
10083
10084// Information about the build artifacts for the CodeBuild project.
10085type AwsCodeBuildProjectArtifactsDetails struct {
10086	_ struct{} `type:"structure"`
10087
10088	// An identifier for the artifact definition.
10089	ArtifactIdentifier *string `type:"string"`
10090
10091	// Indicates whether to disable encryption on the artifact. Only valid when
10092	// Type is S3.
10093	EncryptionDisabled *bool `type:"boolean"`
10094
10095	// Only used when Type is S3. The name of the S3 bucket where the artifact is
10096	// located.
10097	Location *string `type:"string"`
10098
10099	// Only used when Type is S3. The name of the artifact. Used with NamepaceType
10100	// and Path to determine the pattern for storing the artifact.
10101	Name *string `type:"string"`
10102
10103	// Only used when Type is S3. The value to use for the namespace. Used with
10104	// Name and Path to determine the pattern for storing the artifact.
10105	NamespaceType *string `type:"string"`
10106
10107	// Whether the name specified in the buildspec file overrides the artifact name.
10108	OverrideArtifactName *bool `type:"boolean"`
10109
10110	// Only used when Type is S3. The type of output artifact to create.
10111	Packaging *string `type:"string"`
10112
10113	// Only used when Type is S3. The path to the artifact. Used with Name and NamespaceType
10114	// to determine the pattern for storing the artifact.
10115	Path *string `type:"string"`
10116
10117	// The type of build artifact.
10118	Type *string `type:"string"`
10119}
10120
10121// String returns the string representation.
10122//
10123// API parameter values that are decorated as "sensitive" in the API will not
10124// be included in the string output. The member name will be present, but the
10125// value will be replaced with "sensitive".
10126func (s AwsCodeBuildProjectArtifactsDetails) String() string {
10127	return awsutil.Prettify(s)
10128}
10129
10130// GoString returns the string representation.
10131//
10132// API parameter values that are decorated as "sensitive" in the API will not
10133// be included in the string output. The member name will be present, but the
10134// value will be replaced with "sensitive".
10135func (s AwsCodeBuildProjectArtifactsDetails) GoString() string {
10136	return s.String()
10137}
10138
10139// SetArtifactIdentifier sets the ArtifactIdentifier field's value.
10140func (s *AwsCodeBuildProjectArtifactsDetails) SetArtifactIdentifier(v string) *AwsCodeBuildProjectArtifactsDetails {
10141	s.ArtifactIdentifier = &v
10142	return s
10143}
10144
10145// SetEncryptionDisabled sets the EncryptionDisabled field's value.
10146func (s *AwsCodeBuildProjectArtifactsDetails) SetEncryptionDisabled(v bool) *AwsCodeBuildProjectArtifactsDetails {
10147	s.EncryptionDisabled = &v
10148	return s
10149}
10150
10151// SetLocation sets the Location field's value.
10152func (s *AwsCodeBuildProjectArtifactsDetails) SetLocation(v string) *AwsCodeBuildProjectArtifactsDetails {
10153	s.Location = &v
10154	return s
10155}
10156
10157// SetName sets the Name field's value.
10158func (s *AwsCodeBuildProjectArtifactsDetails) SetName(v string) *AwsCodeBuildProjectArtifactsDetails {
10159	s.Name = &v
10160	return s
10161}
10162
10163// SetNamespaceType sets the NamespaceType field's value.
10164func (s *AwsCodeBuildProjectArtifactsDetails) SetNamespaceType(v string) *AwsCodeBuildProjectArtifactsDetails {
10165	s.NamespaceType = &v
10166	return s
10167}
10168
10169// SetOverrideArtifactName sets the OverrideArtifactName field's value.
10170func (s *AwsCodeBuildProjectArtifactsDetails) SetOverrideArtifactName(v bool) *AwsCodeBuildProjectArtifactsDetails {
10171	s.OverrideArtifactName = &v
10172	return s
10173}
10174
10175// SetPackaging sets the Packaging field's value.
10176func (s *AwsCodeBuildProjectArtifactsDetails) SetPackaging(v string) *AwsCodeBuildProjectArtifactsDetails {
10177	s.Packaging = &v
10178	return s
10179}
10180
10181// SetPath sets the Path field's value.
10182func (s *AwsCodeBuildProjectArtifactsDetails) SetPath(v string) *AwsCodeBuildProjectArtifactsDetails {
10183	s.Path = &v
10184	return s
10185}
10186
10187// SetType sets the Type field's value.
10188func (s *AwsCodeBuildProjectArtifactsDetails) SetType(v string) *AwsCodeBuildProjectArtifactsDetails {
10189	s.Type = &v
10190	return s
10191}
10192
10193// Information about an CodeBuild project.
10194type AwsCodeBuildProjectDetails struct {
10195	_ struct{} `type:"structure"`
10196
10197	// Information about the build artifacts for the CodeBuild project.
10198	Artifacts []*AwsCodeBuildProjectArtifactsDetails `type:"list"`
10199
10200	// The KMS key used to encrypt the build output artifacts.
10201	//
10202	// You can specify either the ARN of the KMS key or, if available, the KMS key
10203	// alias (using the format alias/alias-name).
10204	EncryptionKey *string `type:"string"`
10205
10206	// Information about the build environment for this build project.
10207	Environment *AwsCodeBuildProjectEnvironment `type:"structure"`
10208
10209	// Information about logs for the build project.
10210	LogsConfig *AwsCodeBuildProjectLogsConfigDetails `type:"structure"`
10211
10212	// The name of the build project.
10213	Name *string `type:"string"`
10214
10215	// The ARN of the IAM role that enables CodeBuild to interact with dependent
10216	// Amazon Web Services services on behalf of the Amazon Web Services account.
10217	ServiceRole *string `type:"string"`
10218
10219	// Information about the build input source code for this build project.
10220	Source *AwsCodeBuildProjectSource `type:"structure"`
10221
10222	// Information about the VPC configuration that CodeBuild accesses.
10223	VpcConfig *AwsCodeBuildProjectVpcConfig `type:"structure"`
10224}
10225
10226// String returns the string representation.
10227//
10228// API parameter values that are decorated as "sensitive" in the API will not
10229// be included in the string output. The member name will be present, but the
10230// value will be replaced with "sensitive".
10231func (s AwsCodeBuildProjectDetails) String() string {
10232	return awsutil.Prettify(s)
10233}
10234
10235// GoString returns the string representation.
10236//
10237// API parameter values that are decorated as "sensitive" in the API will not
10238// be included in the string output. The member name will be present, but the
10239// value will be replaced with "sensitive".
10240func (s AwsCodeBuildProjectDetails) GoString() string {
10241	return s.String()
10242}
10243
10244// SetArtifacts sets the Artifacts field's value.
10245func (s *AwsCodeBuildProjectDetails) SetArtifacts(v []*AwsCodeBuildProjectArtifactsDetails) *AwsCodeBuildProjectDetails {
10246	s.Artifacts = v
10247	return s
10248}
10249
10250// SetEncryptionKey sets the EncryptionKey field's value.
10251func (s *AwsCodeBuildProjectDetails) SetEncryptionKey(v string) *AwsCodeBuildProjectDetails {
10252	s.EncryptionKey = &v
10253	return s
10254}
10255
10256// SetEnvironment sets the Environment field's value.
10257func (s *AwsCodeBuildProjectDetails) SetEnvironment(v *AwsCodeBuildProjectEnvironment) *AwsCodeBuildProjectDetails {
10258	s.Environment = v
10259	return s
10260}
10261
10262// SetLogsConfig sets the LogsConfig field's value.
10263func (s *AwsCodeBuildProjectDetails) SetLogsConfig(v *AwsCodeBuildProjectLogsConfigDetails) *AwsCodeBuildProjectDetails {
10264	s.LogsConfig = v
10265	return s
10266}
10267
10268// SetName sets the Name field's value.
10269func (s *AwsCodeBuildProjectDetails) SetName(v string) *AwsCodeBuildProjectDetails {
10270	s.Name = &v
10271	return s
10272}
10273
10274// SetServiceRole sets the ServiceRole field's value.
10275func (s *AwsCodeBuildProjectDetails) SetServiceRole(v string) *AwsCodeBuildProjectDetails {
10276	s.ServiceRole = &v
10277	return s
10278}
10279
10280// SetSource sets the Source field's value.
10281func (s *AwsCodeBuildProjectDetails) SetSource(v *AwsCodeBuildProjectSource) *AwsCodeBuildProjectDetails {
10282	s.Source = v
10283	return s
10284}
10285
10286// SetVpcConfig sets the VpcConfig field's value.
10287func (s *AwsCodeBuildProjectDetails) SetVpcConfig(v *AwsCodeBuildProjectVpcConfig) *AwsCodeBuildProjectDetails {
10288	s.VpcConfig = v
10289	return s
10290}
10291
10292// Information about the build environment for this build project.
10293type AwsCodeBuildProjectEnvironment struct {
10294	_ struct{} `type:"structure"`
10295
10296	// The certificate to use with this build project.
10297	Certificate *string `type:"string"`
10298
10299	// A set of environment variables to make available to builds for the build
10300	// project.
10301	EnvironmentVariables []*AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails `type:"list"`
10302
10303	// The type of credentials CodeBuild uses to pull images in your build.
10304	//
10305	// Valid values:
10306	//
10307	//    * CODEBUILD specifies that CodeBuild uses its own credentials. This requires
10308	//    that you modify your ECR repository policy to trust the CodeBuild service
10309	//    principal.
10310	//
10311	//    * SERVICE_ROLE specifies that CodeBuild uses your build project's service
10312	//    role.
10313	//
10314	// When you use a cross-account or private registry image, you must use SERVICE_ROLE
10315	// credentials. When you use an CodeBuild curated image, you must use CODEBUILD
10316	// credentials.
10317	ImagePullCredentialsType *string `type:"string"`
10318
10319	// Whether to allow the Docker daemon to run inside a Docker container. Set
10320	// to true if the build project is used to build Docker images.
10321	PrivilegedMode *bool `type:"boolean"`
10322
10323	// The credentials for access to a private registry.
10324	RegistryCredential *AwsCodeBuildProjectEnvironmentRegistryCredential `type:"structure"`
10325
10326	// The type of build environment to use for related builds.
10327	//
10328	// The environment type ARM_CONTAINER is available only in Regions US East (N.
10329	// Virginia), US East (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific
10330	// (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and Europe (Frankfurt).
10331	//
10332	// The environment type LINUX_CONTAINER with compute type build.general1.2xlarge
10333	// is available only in Regions US East (N. Virginia), US East (N. Virginia),
10334	// US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe
10335	// (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore),
10336	// Asia Pacific (Sydney), China (Beijing), and China (Ningxia).
10337	//
10338	// The environment type LINUX_GPU_CONTAINER is available only in Regions US
10339	// East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central),
10340	// Europe (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo),
10341	// Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China
10342	// (Beijing), and China (Ningxia).
10343	//
10344	// Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | LINUX_GPU_CONTAINER |
10345	// ARM_CONTAINER
10346	Type *string `type:"string"`
10347}
10348
10349// String returns the string representation.
10350//
10351// API parameter values that are decorated as "sensitive" in the API will not
10352// be included in the string output. The member name will be present, but the
10353// value will be replaced with "sensitive".
10354func (s AwsCodeBuildProjectEnvironment) String() string {
10355	return awsutil.Prettify(s)
10356}
10357
10358// GoString returns the string representation.
10359//
10360// API parameter values that are decorated as "sensitive" in the API will not
10361// be included in the string output. The member name will be present, but the
10362// value will be replaced with "sensitive".
10363func (s AwsCodeBuildProjectEnvironment) GoString() string {
10364	return s.String()
10365}
10366
10367// SetCertificate sets the Certificate field's value.
10368func (s *AwsCodeBuildProjectEnvironment) SetCertificate(v string) *AwsCodeBuildProjectEnvironment {
10369	s.Certificate = &v
10370	return s
10371}
10372
10373// SetEnvironmentVariables sets the EnvironmentVariables field's value.
10374func (s *AwsCodeBuildProjectEnvironment) SetEnvironmentVariables(v []*AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails) *AwsCodeBuildProjectEnvironment {
10375	s.EnvironmentVariables = v
10376	return s
10377}
10378
10379// SetImagePullCredentialsType sets the ImagePullCredentialsType field's value.
10380func (s *AwsCodeBuildProjectEnvironment) SetImagePullCredentialsType(v string) *AwsCodeBuildProjectEnvironment {
10381	s.ImagePullCredentialsType = &v
10382	return s
10383}
10384
10385// SetPrivilegedMode sets the PrivilegedMode field's value.
10386func (s *AwsCodeBuildProjectEnvironment) SetPrivilegedMode(v bool) *AwsCodeBuildProjectEnvironment {
10387	s.PrivilegedMode = &v
10388	return s
10389}
10390
10391// SetRegistryCredential sets the RegistryCredential field's value.
10392func (s *AwsCodeBuildProjectEnvironment) SetRegistryCredential(v *AwsCodeBuildProjectEnvironmentRegistryCredential) *AwsCodeBuildProjectEnvironment {
10393	s.RegistryCredential = v
10394	return s
10395}
10396
10397// SetType sets the Type field's value.
10398func (s *AwsCodeBuildProjectEnvironment) SetType(v string) *AwsCodeBuildProjectEnvironment {
10399	s.Type = &v
10400	return s
10401}
10402
10403// Information about an environment variable that is available to builds for
10404// the build project.
10405type AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails struct {
10406	_ struct{} `type:"structure"`
10407
10408	// The name of the environment variable.
10409	Name *string `type:"string"`
10410
10411	// The type of environment variable.
10412	Type *string `type:"string"`
10413
10414	// The value of the environment variable.
10415	Value *string `type:"string"`
10416}
10417
10418// String returns the string representation.
10419//
10420// API parameter values that are decorated as "sensitive" in the API will not
10421// be included in the string output. The member name will be present, but the
10422// value will be replaced with "sensitive".
10423func (s AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails) String() string {
10424	return awsutil.Prettify(s)
10425}
10426
10427// GoString returns the string representation.
10428//
10429// API parameter values that are decorated as "sensitive" in the API will not
10430// be included in the string output. The member name will be present, but the
10431// value will be replaced with "sensitive".
10432func (s AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails) GoString() string {
10433	return s.String()
10434}
10435
10436// SetName sets the Name field's value.
10437func (s *AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails) SetName(v string) *AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails {
10438	s.Name = &v
10439	return s
10440}
10441
10442// SetType sets the Type field's value.
10443func (s *AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails) SetType(v string) *AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails {
10444	s.Type = &v
10445	return s
10446}
10447
10448// SetValue sets the Value field's value.
10449func (s *AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails) SetValue(v string) *AwsCodeBuildProjectEnvironmentEnvironmentVariablesDetails {
10450	s.Value = &v
10451	return s
10452}
10453
10454// The credentials for access to a private registry.
10455type AwsCodeBuildProjectEnvironmentRegistryCredential struct {
10456	_ struct{} `type:"structure"`
10457
10458	// The ARN or name of credentials created using Secrets Manager.
10459	//
10460	// The credential can use the name of the credentials only if they exist in
10461	// your current Amazon Web Services Region.
10462	Credential *string `type:"string"`
10463
10464	// The service that created the credentials to access a private Docker registry.
10465	//
10466	// The valid value,SECRETS_MANAGER, is for Secrets Manager.
10467	CredentialProvider *string `type:"string"`
10468}
10469
10470// String returns the string representation.
10471//
10472// API parameter values that are decorated as "sensitive" in the API will not
10473// be included in the string output. The member name will be present, but the
10474// value will be replaced with "sensitive".
10475func (s AwsCodeBuildProjectEnvironmentRegistryCredential) String() string {
10476	return awsutil.Prettify(s)
10477}
10478
10479// GoString returns the string representation.
10480//
10481// API parameter values that are decorated as "sensitive" in the API will not
10482// be included in the string output. The member name will be present, but the
10483// value will be replaced with "sensitive".
10484func (s AwsCodeBuildProjectEnvironmentRegistryCredential) GoString() string {
10485	return s.String()
10486}
10487
10488// SetCredential sets the Credential field's value.
10489func (s *AwsCodeBuildProjectEnvironmentRegistryCredential) SetCredential(v string) *AwsCodeBuildProjectEnvironmentRegistryCredential {
10490	s.Credential = &v
10491	return s
10492}
10493
10494// SetCredentialProvider sets the CredentialProvider field's value.
10495func (s *AwsCodeBuildProjectEnvironmentRegistryCredential) SetCredentialProvider(v string) *AwsCodeBuildProjectEnvironmentRegistryCredential {
10496	s.CredentialProvider = &v
10497	return s
10498}
10499
10500// Information about CloudWatch Logs for the build project.
10501type AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails struct {
10502	_ struct{} `type:"structure"`
10503
10504	// The group name of the logs in CloudWatch Logs.
10505	GroupName *string `type:"string"`
10506
10507	// The current status of the logs in CloudWatch Logs for a build project.
10508	Status *string `type:"string"`
10509
10510	// The prefix of the stream name of the CloudWatch Logs.
10511	StreamName *string `type:"string"`
10512}
10513
10514// String returns the string representation.
10515//
10516// API parameter values that are decorated as "sensitive" in the API will not
10517// be included in the string output. The member name will be present, but the
10518// value will be replaced with "sensitive".
10519func (s AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails) String() string {
10520	return awsutil.Prettify(s)
10521}
10522
10523// GoString returns the string representation.
10524//
10525// API parameter values that are decorated as "sensitive" in the API will not
10526// be included in the string output. The member name will be present, but the
10527// value will be replaced with "sensitive".
10528func (s AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails) GoString() string {
10529	return s.String()
10530}
10531
10532// SetGroupName sets the GroupName field's value.
10533func (s *AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails) SetGroupName(v string) *AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails {
10534	s.GroupName = &v
10535	return s
10536}
10537
10538// SetStatus sets the Status field's value.
10539func (s *AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails) SetStatus(v string) *AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails {
10540	s.Status = &v
10541	return s
10542}
10543
10544// SetStreamName sets the StreamName field's value.
10545func (s *AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails) SetStreamName(v string) *AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails {
10546	s.StreamName = &v
10547	return s
10548}
10549
10550// Information about logs for the build project.
10551type AwsCodeBuildProjectLogsConfigDetails struct {
10552	_ struct{} `type:"structure"`
10553
10554	// Information about CloudWatch Logs for the build project.
10555	CloudWatchLogs *AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails `type:"structure"`
10556
10557	// Information about logs built to an S3 bucket for a build project.
10558	S3Logs *AwsCodeBuildProjectLogsConfigS3LogsDetails `type:"structure"`
10559}
10560
10561// String returns the string representation.
10562//
10563// API parameter values that are decorated as "sensitive" in the API will not
10564// be included in the string output. The member name will be present, but the
10565// value will be replaced with "sensitive".
10566func (s AwsCodeBuildProjectLogsConfigDetails) String() string {
10567	return awsutil.Prettify(s)
10568}
10569
10570// GoString returns the string representation.
10571//
10572// API parameter values that are decorated as "sensitive" in the API will not
10573// be included in the string output. The member name will be present, but the
10574// value will be replaced with "sensitive".
10575func (s AwsCodeBuildProjectLogsConfigDetails) GoString() string {
10576	return s.String()
10577}
10578
10579// SetCloudWatchLogs sets the CloudWatchLogs field's value.
10580func (s *AwsCodeBuildProjectLogsConfigDetails) SetCloudWatchLogs(v *AwsCodeBuildProjectLogsConfigCloudWatchLogsDetails) *AwsCodeBuildProjectLogsConfigDetails {
10581	s.CloudWatchLogs = v
10582	return s
10583}
10584
10585// SetS3Logs sets the S3Logs field's value.
10586func (s *AwsCodeBuildProjectLogsConfigDetails) SetS3Logs(v *AwsCodeBuildProjectLogsConfigS3LogsDetails) *AwsCodeBuildProjectLogsConfigDetails {
10587	s.S3Logs = v
10588	return s
10589}
10590
10591// Information about logs built to an S3 bucket for a build project.
10592type AwsCodeBuildProjectLogsConfigS3LogsDetails struct {
10593	_ struct{} `type:"structure"`
10594
10595	// Whether to disable encryption of the S3 build log output.
10596	EncryptionDisabled *bool `type:"boolean"`
10597
10598	// The ARN of the S3 bucket and the path prefix for S3 logs.
10599	Location *string `type:"string"`
10600
10601	// The current status of the S3 build logs.
10602	Status *string `type:"string"`
10603}
10604
10605// String returns the string representation.
10606//
10607// API parameter values that are decorated as "sensitive" in the API will not
10608// be included in the string output. The member name will be present, but the
10609// value will be replaced with "sensitive".
10610func (s AwsCodeBuildProjectLogsConfigS3LogsDetails) String() string {
10611	return awsutil.Prettify(s)
10612}
10613
10614// GoString returns the string representation.
10615//
10616// API parameter values that are decorated as "sensitive" in the API will not
10617// be included in the string output. The member name will be present, but the
10618// value will be replaced with "sensitive".
10619func (s AwsCodeBuildProjectLogsConfigS3LogsDetails) GoString() string {
10620	return s.String()
10621}
10622
10623// SetEncryptionDisabled sets the EncryptionDisabled field's value.
10624func (s *AwsCodeBuildProjectLogsConfigS3LogsDetails) SetEncryptionDisabled(v bool) *AwsCodeBuildProjectLogsConfigS3LogsDetails {
10625	s.EncryptionDisabled = &v
10626	return s
10627}
10628
10629// SetLocation sets the Location field's value.
10630func (s *AwsCodeBuildProjectLogsConfigS3LogsDetails) SetLocation(v string) *AwsCodeBuildProjectLogsConfigS3LogsDetails {
10631	s.Location = &v
10632	return s
10633}
10634
10635// SetStatus sets the Status field's value.
10636func (s *AwsCodeBuildProjectLogsConfigS3LogsDetails) SetStatus(v string) *AwsCodeBuildProjectLogsConfigS3LogsDetails {
10637	s.Status = &v
10638	return s
10639}
10640
10641// Information about the build input source code for this build project.
10642type AwsCodeBuildProjectSource struct {
10643	_ struct{} `type:"structure"`
10644
10645	// Information about the Git clone depth for the build project.
10646	GitCloneDepth *int64 `type:"integer"`
10647
10648	// Whether to ignore SSL warnings while connecting to the project source code.
10649	InsecureSsl *bool `type:"boolean"`
10650
10651	// Information about the location of the source code to be built.
10652	//
10653	// Valid values include:
10654	//
10655	//    * For source code settings that are specified in the source action of
10656	//    a pipeline in CodePipeline, location should not be specified. If it is
10657	//    specified, CodePipeline ignores it. This is because CodePipeline uses
10658	//    the settings in a pipeline's source action instead of this value.
10659	//
10660	//    * For source code in an CodeCommit repository, the HTTPS clone URL to
10661	//    the repository that contains the source code and the build spec file (for
10662	//    example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name
10663	//    ).
10664	//
10665	//    * For source code in an S3 input bucket, one of the following. The path
10666	//    to the ZIP file that contains the source code (for example, bucket-name/path/to/object-name.zip).
10667	//    The path to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/).
10668	//
10669	//    * For source code in a GitHub repository, the HTTPS clone URL to the repository
10670	//    that contains the source and the build spec file.
10671	//
10672	//    * For source code in a Bitbucket repository, the HTTPS clone URL to the
10673	//    repository that contains the source and the build spec file.
10674	Location *string `type:"string"`
10675
10676	// The type of repository that contains the source code to be built. Valid values
10677	// are:
10678	//
10679	//    * BITBUCKET - The source code is in a Bitbucket repository.
10680	//
10681	//    * CODECOMMIT - The source code is in an CodeCommit repository.
10682	//
10683	//    * CODEPIPELINE - The source code settings are specified in the source
10684	//    action of a pipeline in CodePipeline.
10685	//
10686	//    * GITHUB - The source code is in a GitHub repository.
10687	//
10688	//    * GITHUB_ENTERPRISE - The source code is in a GitHub Enterprise repository.
10689	//
10690	//    * NO_SOURCE - The project does not have input source code.
10691	//
10692	//    * S3 - The source code is in an S3 input bucket.
10693	Type *string `type:"string"`
10694}
10695
10696// String returns the string representation.
10697//
10698// API parameter values that are decorated as "sensitive" in the API will not
10699// be included in the string output. The member name will be present, but the
10700// value will be replaced with "sensitive".
10701func (s AwsCodeBuildProjectSource) String() string {
10702	return awsutil.Prettify(s)
10703}
10704
10705// GoString returns the string representation.
10706//
10707// API parameter values that are decorated as "sensitive" in the API will not
10708// be included in the string output. The member name will be present, but the
10709// value will be replaced with "sensitive".
10710func (s AwsCodeBuildProjectSource) GoString() string {
10711	return s.String()
10712}
10713
10714// SetGitCloneDepth sets the GitCloneDepth field's value.
10715func (s *AwsCodeBuildProjectSource) SetGitCloneDepth(v int64) *AwsCodeBuildProjectSource {
10716	s.GitCloneDepth = &v
10717	return s
10718}
10719
10720// SetInsecureSsl sets the InsecureSsl field's value.
10721func (s *AwsCodeBuildProjectSource) SetInsecureSsl(v bool) *AwsCodeBuildProjectSource {
10722	s.InsecureSsl = &v
10723	return s
10724}
10725
10726// SetLocation sets the Location field's value.
10727func (s *AwsCodeBuildProjectSource) SetLocation(v string) *AwsCodeBuildProjectSource {
10728	s.Location = &v
10729	return s
10730}
10731
10732// SetType sets the Type field's value.
10733func (s *AwsCodeBuildProjectSource) SetType(v string) *AwsCodeBuildProjectSource {
10734	s.Type = &v
10735	return s
10736}
10737
10738// Information about the VPC configuration that CodeBuild accesses.
10739type AwsCodeBuildProjectVpcConfig struct {
10740	_ struct{} `type:"structure"`
10741
10742	// A list of one or more security group IDs in your VPC.
10743	SecurityGroupIds []*string `type:"list"`
10744
10745	// A list of one or more subnet IDs in your VPC.
10746	Subnets []*string `type:"list"`
10747
10748	// The ID of the VPC.
10749	VpcId *string `type:"string"`
10750}
10751
10752// String returns the string representation.
10753//
10754// API parameter values that are decorated as "sensitive" in the API will not
10755// be included in the string output. The member name will be present, but the
10756// value will be replaced with "sensitive".
10757func (s AwsCodeBuildProjectVpcConfig) String() string {
10758	return awsutil.Prettify(s)
10759}
10760
10761// GoString returns the string representation.
10762//
10763// API parameter values that are decorated as "sensitive" in the API will not
10764// be included in the string output. The member name will be present, but the
10765// value will be replaced with "sensitive".
10766func (s AwsCodeBuildProjectVpcConfig) GoString() string {
10767	return s.String()
10768}
10769
10770// SetSecurityGroupIds sets the SecurityGroupIds field's value.
10771func (s *AwsCodeBuildProjectVpcConfig) SetSecurityGroupIds(v []*string) *AwsCodeBuildProjectVpcConfig {
10772	s.SecurityGroupIds = v
10773	return s
10774}
10775
10776// SetSubnets sets the Subnets field's value.
10777func (s *AwsCodeBuildProjectVpcConfig) SetSubnets(v []*string) *AwsCodeBuildProjectVpcConfig {
10778	s.Subnets = v
10779	return s
10780}
10781
10782// SetVpcId sets the VpcId field's value.
10783func (s *AwsCodeBuildProjectVpcConfig) SetVpcId(v string) *AwsCodeBuildProjectVpcConfig {
10784	s.VpcId = &v
10785	return s
10786}
10787
10788// Contains the cross-origin resource sharing (CORS) configuration for the API.
10789// CORS is only supported for HTTP APIs.
10790type AwsCorsConfiguration struct {
10791	_ struct{} `type:"structure"`
10792
10793	// Indicates whether the CORS request includes credentials.
10794	AllowCredentials *bool `type:"boolean"`
10795
10796	// The allowed headers for CORS requests.
10797	AllowHeaders []*string `type:"list"`
10798
10799	// The allowed methods for CORS requests.
10800	AllowMethods []*string `type:"list"`
10801
10802	// The allowed origins for CORS requests.
10803	AllowOrigins []*string `type:"list"`
10804
10805	// The exposed headers for CORS requests.
10806	ExposeHeaders []*string `type:"list"`
10807
10808	// The number of seconds for which the browser caches preflight request results.
10809	MaxAge *int64 `type:"integer"`
10810}
10811
10812// String returns the string representation.
10813//
10814// API parameter values that are decorated as "sensitive" in the API will not
10815// be included in the string output. The member name will be present, but the
10816// value will be replaced with "sensitive".
10817func (s AwsCorsConfiguration) String() string {
10818	return awsutil.Prettify(s)
10819}
10820
10821// GoString returns the string representation.
10822//
10823// API parameter values that are decorated as "sensitive" in the API will not
10824// be included in the string output. The member name will be present, but the
10825// value will be replaced with "sensitive".
10826func (s AwsCorsConfiguration) GoString() string {
10827	return s.String()
10828}
10829
10830// SetAllowCredentials sets the AllowCredentials field's value.
10831func (s *AwsCorsConfiguration) SetAllowCredentials(v bool) *AwsCorsConfiguration {
10832	s.AllowCredentials = &v
10833	return s
10834}
10835
10836// SetAllowHeaders sets the AllowHeaders field's value.
10837func (s *AwsCorsConfiguration) SetAllowHeaders(v []*string) *AwsCorsConfiguration {
10838	s.AllowHeaders = v
10839	return s
10840}
10841
10842// SetAllowMethods sets the AllowMethods field's value.
10843func (s *AwsCorsConfiguration) SetAllowMethods(v []*string) *AwsCorsConfiguration {
10844	s.AllowMethods = v
10845	return s
10846}
10847
10848// SetAllowOrigins sets the AllowOrigins field's value.
10849func (s *AwsCorsConfiguration) SetAllowOrigins(v []*string) *AwsCorsConfiguration {
10850	s.AllowOrigins = v
10851	return s
10852}
10853
10854// SetExposeHeaders sets the ExposeHeaders field's value.
10855func (s *AwsCorsConfiguration) SetExposeHeaders(v []*string) *AwsCorsConfiguration {
10856	s.ExposeHeaders = v
10857	return s
10858}
10859
10860// SetMaxAge sets the MaxAge field's value.
10861func (s *AwsCorsConfiguration) SetMaxAge(v int64) *AwsCorsConfiguration {
10862	s.MaxAge = &v
10863	return s
10864}
10865
10866// Contains a definition of an attribute for the table.
10867type AwsDynamoDbTableAttributeDefinition struct {
10868	_ struct{} `type:"structure"`
10869
10870	// The name of the attribute.
10871	AttributeName *string `type:"string"`
10872
10873	// The type of the attribute.
10874	AttributeType *string `type:"string"`
10875}
10876
10877// String returns the string representation.
10878//
10879// API parameter values that are decorated as "sensitive" in the API will not
10880// be included in the string output. The member name will be present, but the
10881// value will be replaced with "sensitive".
10882func (s AwsDynamoDbTableAttributeDefinition) String() string {
10883	return awsutil.Prettify(s)
10884}
10885
10886// GoString returns the string representation.
10887//
10888// API parameter values that are decorated as "sensitive" in the API will not
10889// be included in the string output. The member name will be present, but the
10890// value will be replaced with "sensitive".
10891func (s AwsDynamoDbTableAttributeDefinition) GoString() string {
10892	return s.String()
10893}
10894
10895// SetAttributeName sets the AttributeName field's value.
10896func (s *AwsDynamoDbTableAttributeDefinition) SetAttributeName(v string) *AwsDynamoDbTableAttributeDefinition {
10897	s.AttributeName = &v
10898	return s
10899}
10900
10901// SetAttributeType sets the AttributeType field's value.
10902func (s *AwsDynamoDbTableAttributeDefinition) SetAttributeType(v string) *AwsDynamoDbTableAttributeDefinition {
10903	s.AttributeType = &v
10904	return s
10905}
10906
10907// Provides information about the billing for read/write capacity on the table.
10908type AwsDynamoDbTableBillingModeSummary struct {
10909	_ struct{} `type:"structure"`
10910
10911	// The method used to charge for read and write throughput and to manage capacity.
10912	BillingMode *string `type:"string"`
10913
10914	// If the billing mode is PAY_PER_REQUEST, indicates when the billing mode was
10915	// set to that value.
10916	//
10917	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
10918	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
10919	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
10920	LastUpdateToPayPerRequestDateTime *string `type:"string"`
10921}
10922
10923// String returns the string representation.
10924//
10925// API parameter values that are decorated as "sensitive" in the API will not
10926// be included in the string output. The member name will be present, but the
10927// value will be replaced with "sensitive".
10928func (s AwsDynamoDbTableBillingModeSummary) String() string {
10929	return awsutil.Prettify(s)
10930}
10931
10932// GoString returns the string representation.
10933//
10934// API parameter values that are decorated as "sensitive" in the API will not
10935// be included in the string output. The member name will be present, but the
10936// value will be replaced with "sensitive".
10937func (s AwsDynamoDbTableBillingModeSummary) GoString() string {
10938	return s.String()
10939}
10940
10941// SetBillingMode sets the BillingMode field's value.
10942func (s *AwsDynamoDbTableBillingModeSummary) SetBillingMode(v string) *AwsDynamoDbTableBillingModeSummary {
10943	s.BillingMode = &v
10944	return s
10945}
10946
10947// SetLastUpdateToPayPerRequestDateTime sets the LastUpdateToPayPerRequestDateTime field's value.
10948func (s *AwsDynamoDbTableBillingModeSummary) SetLastUpdateToPayPerRequestDateTime(v string) *AwsDynamoDbTableBillingModeSummary {
10949	s.LastUpdateToPayPerRequestDateTime = &v
10950	return s
10951}
10952
10953// Provides details about a DynamoDB table.
10954type AwsDynamoDbTableDetails struct {
10955	_ struct{} `type:"structure"`
10956
10957	// A list of attribute definitions for the table.
10958	AttributeDefinitions []*AwsDynamoDbTableAttributeDefinition `type:"list"`
10959
10960	// Information about the billing for read/write capacity on the table.
10961	BillingModeSummary *AwsDynamoDbTableBillingModeSummary `type:"structure"`
10962
10963	// Indicates when the table was created.
10964	//
10965	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
10966	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
10967	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
10968	CreationDateTime *string `type:"string"`
10969
10970	// List of global secondary indexes for the table.
10971	GlobalSecondaryIndexes []*AwsDynamoDbTableGlobalSecondaryIndex `type:"list"`
10972
10973	// The version of global tables being used.
10974	GlobalTableVersion *string `type:"string"`
10975
10976	// The number of items in the table.
10977	ItemCount *int64 `type:"integer"`
10978
10979	// The primary key structure for the table.
10980	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
10981
10982	// The ARN of the latest stream for the table.
10983	LatestStreamArn *string `type:"string"`
10984
10985	// The label of the latest stream. The label is not a unique identifier.
10986	LatestStreamLabel *string `type:"string"`
10987
10988	// The list of local secondary indexes for the table.
10989	LocalSecondaryIndexes []*AwsDynamoDbTableLocalSecondaryIndex `type:"list"`
10990
10991	// Information about the provisioned throughput for the table.
10992	ProvisionedThroughput *AwsDynamoDbTableProvisionedThroughput `type:"structure"`
10993
10994	// The list of replicas of this table.
10995	Replicas []*AwsDynamoDbTableReplica `type:"list"`
10996
10997	// Information about the restore for the table.
10998	RestoreSummary *AwsDynamoDbTableRestoreSummary `type:"structure"`
10999
11000	// Information about the server-side encryption for the table.
11001	SseDescription *AwsDynamoDbTableSseDescription `type:"structure"`
11002
11003	// The current DynamoDB Streams configuration for the table.
11004	StreamSpecification *AwsDynamoDbTableStreamSpecification `type:"structure"`
11005
11006	// The identifier of the table.
11007	TableId *string `type:"string"`
11008
11009	// The name of the table.
11010	TableName *string `type:"string"`
11011
11012	// The total size of the table in bytes.
11013	TableSizeBytes *int64 `type:"long"`
11014
11015	// The current status of the table.
11016	TableStatus *string `type:"string"`
11017}
11018
11019// String returns the string representation.
11020//
11021// API parameter values that are decorated as "sensitive" in the API will not
11022// be included in the string output. The member name will be present, but the
11023// value will be replaced with "sensitive".
11024func (s AwsDynamoDbTableDetails) String() string {
11025	return awsutil.Prettify(s)
11026}
11027
11028// GoString returns the string representation.
11029//
11030// API parameter values that are decorated as "sensitive" in the API will not
11031// be included in the string output. The member name will be present, but the
11032// value will be replaced with "sensitive".
11033func (s AwsDynamoDbTableDetails) GoString() string {
11034	return s.String()
11035}
11036
11037// SetAttributeDefinitions sets the AttributeDefinitions field's value.
11038func (s *AwsDynamoDbTableDetails) SetAttributeDefinitions(v []*AwsDynamoDbTableAttributeDefinition) *AwsDynamoDbTableDetails {
11039	s.AttributeDefinitions = v
11040	return s
11041}
11042
11043// SetBillingModeSummary sets the BillingModeSummary field's value.
11044func (s *AwsDynamoDbTableDetails) SetBillingModeSummary(v *AwsDynamoDbTableBillingModeSummary) *AwsDynamoDbTableDetails {
11045	s.BillingModeSummary = v
11046	return s
11047}
11048
11049// SetCreationDateTime sets the CreationDateTime field's value.
11050func (s *AwsDynamoDbTableDetails) SetCreationDateTime(v string) *AwsDynamoDbTableDetails {
11051	s.CreationDateTime = &v
11052	return s
11053}
11054
11055// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
11056func (s *AwsDynamoDbTableDetails) SetGlobalSecondaryIndexes(v []*AwsDynamoDbTableGlobalSecondaryIndex) *AwsDynamoDbTableDetails {
11057	s.GlobalSecondaryIndexes = v
11058	return s
11059}
11060
11061// SetGlobalTableVersion sets the GlobalTableVersion field's value.
11062func (s *AwsDynamoDbTableDetails) SetGlobalTableVersion(v string) *AwsDynamoDbTableDetails {
11063	s.GlobalTableVersion = &v
11064	return s
11065}
11066
11067// SetItemCount sets the ItemCount field's value.
11068func (s *AwsDynamoDbTableDetails) SetItemCount(v int64) *AwsDynamoDbTableDetails {
11069	s.ItemCount = &v
11070	return s
11071}
11072
11073// SetKeySchema sets the KeySchema field's value.
11074func (s *AwsDynamoDbTableDetails) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableDetails {
11075	s.KeySchema = v
11076	return s
11077}
11078
11079// SetLatestStreamArn sets the LatestStreamArn field's value.
11080func (s *AwsDynamoDbTableDetails) SetLatestStreamArn(v string) *AwsDynamoDbTableDetails {
11081	s.LatestStreamArn = &v
11082	return s
11083}
11084
11085// SetLatestStreamLabel sets the LatestStreamLabel field's value.
11086func (s *AwsDynamoDbTableDetails) SetLatestStreamLabel(v string) *AwsDynamoDbTableDetails {
11087	s.LatestStreamLabel = &v
11088	return s
11089}
11090
11091// SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value.
11092func (s *AwsDynamoDbTableDetails) SetLocalSecondaryIndexes(v []*AwsDynamoDbTableLocalSecondaryIndex) *AwsDynamoDbTableDetails {
11093	s.LocalSecondaryIndexes = v
11094	return s
11095}
11096
11097// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
11098func (s *AwsDynamoDbTableDetails) SetProvisionedThroughput(v *AwsDynamoDbTableProvisionedThroughput) *AwsDynamoDbTableDetails {
11099	s.ProvisionedThroughput = v
11100	return s
11101}
11102
11103// SetReplicas sets the Replicas field's value.
11104func (s *AwsDynamoDbTableDetails) SetReplicas(v []*AwsDynamoDbTableReplica) *AwsDynamoDbTableDetails {
11105	s.Replicas = v
11106	return s
11107}
11108
11109// SetRestoreSummary sets the RestoreSummary field's value.
11110func (s *AwsDynamoDbTableDetails) SetRestoreSummary(v *AwsDynamoDbTableRestoreSummary) *AwsDynamoDbTableDetails {
11111	s.RestoreSummary = v
11112	return s
11113}
11114
11115// SetSseDescription sets the SseDescription field's value.
11116func (s *AwsDynamoDbTableDetails) SetSseDescription(v *AwsDynamoDbTableSseDescription) *AwsDynamoDbTableDetails {
11117	s.SseDescription = v
11118	return s
11119}
11120
11121// SetStreamSpecification sets the StreamSpecification field's value.
11122func (s *AwsDynamoDbTableDetails) SetStreamSpecification(v *AwsDynamoDbTableStreamSpecification) *AwsDynamoDbTableDetails {
11123	s.StreamSpecification = v
11124	return s
11125}
11126
11127// SetTableId sets the TableId field's value.
11128func (s *AwsDynamoDbTableDetails) SetTableId(v string) *AwsDynamoDbTableDetails {
11129	s.TableId = &v
11130	return s
11131}
11132
11133// SetTableName sets the TableName field's value.
11134func (s *AwsDynamoDbTableDetails) SetTableName(v string) *AwsDynamoDbTableDetails {
11135	s.TableName = &v
11136	return s
11137}
11138
11139// SetTableSizeBytes sets the TableSizeBytes field's value.
11140func (s *AwsDynamoDbTableDetails) SetTableSizeBytes(v int64) *AwsDynamoDbTableDetails {
11141	s.TableSizeBytes = &v
11142	return s
11143}
11144
11145// SetTableStatus sets the TableStatus field's value.
11146func (s *AwsDynamoDbTableDetails) SetTableStatus(v string) *AwsDynamoDbTableDetails {
11147	s.TableStatus = &v
11148	return s
11149}
11150
11151// Information abut a global secondary index for the table.
11152type AwsDynamoDbTableGlobalSecondaryIndex struct {
11153	_ struct{} `type:"structure"`
11154
11155	// Whether the index is currently backfilling.
11156	Backfilling *bool `type:"boolean"`
11157
11158	// The ARN of the index.
11159	IndexArn *string `type:"string"`
11160
11161	// The name of the index.
11162	IndexName *string `type:"string"`
11163
11164	// The total size in bytes of the index.
11165	IndexSizeBytes *int64 `type:"long"`
11166
11167	// The current status of the index.
11168	IndexStatus *string `type:"string"`
11169
11170	// The number of items in the index.
11171	ItemCount *int64 `type:"integer"`
11172
11173	// The key schema for the index.
11174	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
11175
11176	// Attributes that are copied from the table into an index.
11177	Projection *AwsDynamoDbTableProjection `type:"structure"`
11178
11179	// Information about the provisioned throughput settings for the indexes.
11180	ProvisionedThroughput *AwsDynamoDbTableProvisionedThroughput `type:"structure"`
11181}
11182
11183// String returns the string representation.
11184//
11185// API parameter values that are decorated as "sensitive" in the API will not
11186// be included in the string output. The member name will be present, but the
11187// value will be replaced with "sensitive".
11188func (s AwsDynamoDbTableGlobalSecondaryIndex) String() string {
11189	return awsutil.Prettify(s)
11190}
11191
11192// GoString returns the string representation.
11193//
11194// API parameter values that are decorated as "sensitive" in the API will not
11195// be included in the string output. The member name will be present, but the
11196// value will be replaced with "sensitive".
11197func (s AwsDynamoDbTableGlobalSecondaryIndex) GoString() string {
11198	return s.String()
11199}
11200
11201// SetBackfilling sets the Backfilling field's value.
11202func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetBackfilling(v bool) *AwsDynamoDbTableGlobalSecondaryIndex {
11203	s.Backfilling = &v
11204	return s
11205}
11206
11207// SetIndexArn sets the IndexArn field's value.
11208func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexArn(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
11209	s.IndexArn = &v
11210	return s
11211}
11212
11213// SetIndexName sets the IndexName field's value.
11214func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
11215	s.IndexName = &v
11216	return s
11217}
11218
11219// SetIndexSizeBytes sets the IndexSizeBytes field's value.
11220func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexSizeBytes(v int64) *AwsDynamoDbTableGlobalSecondaryIndex {
11221	s.IndexSizeBytes = &v
11222	return s
11223}
11224
11225// SetIndexStatus sets the IndexStatus field's value.
11226func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexStatus(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
11227	s.IndexStatus = &v
11228	return s
11229}
11230
11231// SetItemCount sets the ItemCount field's value.
11232func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetItemCount(v int64) *AwsDynamoDbTableGlobalSecondaryIndex {
11233	s.ItemCount = &v
11234	return s
11235}
11236
11237// SetKeySchema sets the KeySchema field's value.
11238func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableGlobalSecondaryIndex {
11239	s.KeySchema = v
11240	return s
11241}
11242
11243// SetProjection sets the Projection field's value.
11244func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetProjection(v *AwsDynamoDbTableProjection) *AwsDynamoDbTableGlobalSecondaryIndex {
11245	s.Projection = v
11246	return s
11247}
11248
11249// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
11250func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetProvisionedThroughput(v *AwsDynamoDbTableProvisionedThroughput) *AwsDynamoDbTableGlobalSecondaryIndex {
11251	s.ProvisionedThroughput = v
11252	return s
11253}
11254
11255// A component of the key schema for the DynamoDB table, a global secondary
11256// index, or a local secondary index.
11257type AwsDynamoDbTableKeySchema struct {
11258	_ struct{} `type:"structure"`
11259
11260	// The name of the key schema attribute.
11261	AttributeName *string `type:"string"`
11262
11263	// The type of key used for the key schema attribute.
11264	KeyType *string `type:"string"`
11265}
11266
11267// String returns the string representation.
11268//
11269// API parameter values that are decorated as "sensitive" in the API will not
11270// be included in the string output. The member name will be present, but the
11271// value will be replaced with "sensitive".
11272func (s AwsDynamoDbTableKeySchema) String() string {
11273	return awsutil.Prettify(s)
11274}
11275
11276// GoString returns the string representation.
11277//
11278// API parameter values that are decorated as "sensitive" in the API will not
11279// be included in the string output. The member name will be present, but the
11280// value will be replaced with "sensitive".
11281func (s AwsDynamoDbTableKeySchema) GoString() string {
11282	return s.String()
11283}
11284
11285// SetAttributeName sets the AttributeName field's value.
11286func (s *AwsDynamoDbTableKeySchema) SetAttributeName(v string) *AwsDynamoDbTableKeySchema {
11287	s.AttributeName = &v
11288	return s
11289}
11290
11291// SetKeyType sets the KeyType field's value.
11292func (s *AwsDynamoDbTableKeySchema) SetKeyType(v string) *AwsDynamoDbTableKeySchema {
11293	s.KeyType = &v
11294	return s
11295}
11296
11297// Information about a local secondary index for a DynamoDB table.
11298type AwsDynamoDbTableLocalSecondaryIndex struct {
11299	_ struct{} `type:"structure"`
11300
11301	// The ARN of the index.
11302	IndexArn *string `type:"string"`
11303
11304	// The name of the index.
11305	IndexName *string `type:"string"`
11306
11307	// The complete key schema for the index.
11308	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
11309
11310	// Attributes that are copied from the table into the index. These are in addition
11311	// to the primary key attributes and index key attributes, which are automatically
11312	// projected.
11313	Projection *AwsDynamoDbTableProjection `type:"structure"`
11314}
11315
11316// String returns the string representation.
11317//
11318// API parameter values that are decorated as "sensitive" in the API will not
11319// be included in the string output. The member name will be present, but the
11320// value will be replaced with "sensitive".
11321func (s AwsDynamoDbTableLocalSecondaryIndex) String() string {
11322	return awsutil.Prettify(s)
11323}
11324
11325// GoString returns the string representation.
11326//
11327// API parameter values that are decorated as "sensitive" in the API will not
11328// be included in the string output. The member name will be present, but the
11329// value will be replaced with "sensitive".
11330func (s AwsDynamoDbTableLocalSecondaryIndex) GoString() string {
11331	return s.String()
11332}
11333
11334// SetIndexArn sets the IndexArn field's value.
11335func (s *AwsDynamoDbTableLocalSecondaryIndex) SetIndexArn(v string) *AwsDynamoDbTableLocalSecondaryIndex {
11336	s.IndexArn = &v
11337	return s
11338}
11339
11340// SetIndexName sets the IndexName field's value.
11341func (s *AwsDynamoDbTableLocalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableLocalSecondaryIndex {
11342	s.IndexName = &v
11343	return s
11344}
11345
11346// SetKeySchema sets the KeySchema field's value.
11347func (s *AwsDynamoDbTableLocalSecondaryIndex) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableLocalSecondaryIndex {
11348	s.KeySchema = v
11349	return s
11350}
11351
11352// SetProjection sets the Projection field's value.
11353func (s *AwsDynamoDbTableLocalSecondaryIndex) SetProjection(v *AwsDynamoDbTableProjection) *AwsDynamoDbTableLocalSecondaryIndex {
11354	s.Projection = v
11355	return s
11356}
11357
11358// For global and local secondary indexes, identifies the attributes that are
11359// copied from the table into the index.
11360type AwsDynamoDbTableProjection struct {
11361	_ struct{} `type:"structure"`
11362
11363	// The nonkey attributes that are projected into the index. For each attribute,
11364	// provide the attribute name.
11365	NonKeyAttributes []*string `type:"list"`
11366
11367	// The types of attributes that are projected into the index.
11368	ProjectionType *string `type:"string"`
11369}
11370
11371// String returns the string representation.
11372//
11373// API parameter values that are decorated as "sensitive" in the API will not
11374// be included in the string output. The member name will be present, but the
11375// value will be replaced with "sensitive".
11376func (s AwsDynamoDbTableProjection) String() string {
11377	return awsutil.Prettify(s)
11378}
11379
11380// GoString returns the string representation.
11381//
11382// API parameter values that are decorated as "sensitive" in the API will not
11383// be included in the string output. The member name will be present, but the
11384// value will be replaced with "sensitive".
11385func (s AwsDynamoDbTableProjection) GoString() string {
11386	return s.String()
11387}
11388
11389// SetNonKeyAttributes sets the NonKeyAttributes field's value.
11390func (s *AwsDynamoDbTableProjection) SetNonKeyAttributes(v []*string) *AwsDynamoDbTableProjection {
11391	s.NonKeyAttributes = v
11392	return s
11393}
11394
11395// SetProjectionType sets the ProjectionType field's value.
11396func (s *AwsDynamoDbTableProjection) SetProjectionType(v string) *AwsDynamoDbTableProjection {
11397	s.ProjectionType = &v
11398	return s
11399}
11400
11401// Information about the provisioned throughput for the table or for a global
11402// secondary index.
11403type AwsDynamoDbTableProvisionedThroughput struct {
11404	_ struct{} `type:"structure"`
11405
11406	// Indicates when the provisioned throughput was last decreased.
11407	//
11408	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11409	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11410	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11411	LastDecreaseDateTime *string `type:"string"`
11412
11413	// Indicates when the provisioned throughput was last increased.
11414	//
11415	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11416	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11417	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11418	LastIncreaseDateTime *string `type:"string"`
11419
11420	// The number of times during the current UTC calendar day that the provisioned
11421	// throughput was decreased.
11422	NumberOfDecreasesToday *int64 `type:"integer"`
11423
11424	// The maximum number of strongly consistent reads consumed per second before
11425	// DynamoDB returns a ThrottlingException.
11426	ReadCapacityUnits *int64 `type:"integer"`
11427
11428	// The maximum number of writes consumed per second before DynamoDB returns
11429	// a ThrottlingException.
11430	WriteCapacityUnits *int64 `type:"integer"`
11431}
11432
11433// String returns the string representation.
11434//
11435// API parameter values that are decorated as "sensitive" in the API will not
11436// be included in the string output. The member name will be present, but the
11437// value will be replaced with "sensitive".
11438func (s AwsDynamoDbTableProvisionedThroughput) String() string {
11439	return awsutil.Prettify(s)
11440}
11441
11442// GoString returns the string representation.
11443//
11444// API parameter values that are decorated as "sensitive" in the API will not
11445// be included in the string output. The member name will be present, but the
11446// value will be replaced with "sensitive".
11447func (s AwsDynamoDbTableProvisionedThroughput) GoString() string {
11448	return s.String()
11449}
11450
11451// SetLastDecreaseDateTime sets the LastDecreaseDateTime field's value.
11452func (s *AwsDynamoDbTableProvisionedThroughput) SetLastDecreaseDateTime(v string) *AwsDynamoDbTableProvisionedThroughput {
11453	s.LastDecreaseDateTime = &v
11454	return s
11455}
11456
11457// SetLastIncreaseDateTime sets the LastIncreaseDateTime field's value.
11458func (s *AwsDynamoDbTableProvisionedThroughput) SetLastIncreaseDateTime(v string) *AwsDynamoDbTableProvisionedThroughput {
11459	s.LastIncreaseDateTime = &v
11460	return s
11461}
11462
11463// SetNumberOfDecreasesToday sets the NumberOfDecreasesToday field's value.
11464func (s *AwsDynamoDbTableProvisionedThroughput) SetNumberOfDecreasesToday(v int64) *AwsDynamoDbTableProvisionedThroughput {
11465	s.NumberOfDecreasesToday = &v
11466	return s
11467}
11468
11469// SetReadCapacityUnits sets the ReadCapacityUnits field's value.
11470func (s *AwsDynamoDbTableProvisionedThroughput) SetReadCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughput {
11471	s.ReadCapacityUnits = &v
11472	return s
11473}
11474
11475// SetWriteCapacityUnits sets the WriteCapacityUnits field's value.
11476func (s *AwsDynamoDbTableProvisionedThroughput) SetWriteCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughput {
11477	s.WriteCapacityUnits = &v
11478	return s
11479}
11480
11481// Replica-specific configuration for the provisioned throughput.
11482type AwsDynamoDbTableProvisionedThroughputOverride struct {
11483	_ struct{} `type:"structure"`
11484
11485	// The read capacity units for the replica.
11486	ReadCapacityUnits *int64 `type:"integer"`
11487}
11488
11489// String returns the string representation.
11490//
11491// API parameter values that are decorated as "sensitive" in the API will not
11492// be included in the string output. The member name will be present, but the
11493// value will be replaced with "sensitive".
11494func (s AwsDynamoDbTableProvisionedThroughputOverride) String() string {
11495	return awsutil.Prettify(s)
11496}
11497
11498// GoString returns the string representation.
11499//
11500// API parameter values that are decorated as "sensitive" in the API will not
11501// be included in the string output. The member name will be present, but the
11502// value will be replaced with "sensitive".
11503func (s AwsDynamoDbTableProvisionedThroughputOverride) GoString() string {
11504	return s.String()
11505}
11506
11507// SetReadCapacityUnits sets the ReadCapacityUnits field's value.
11508func (s *AwsDynamoDbTableProvisionedThroughputOverride) SetReadCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughputOverride {
11509	s.ReadCapacityUnits = &v
11510	return s
11511}
11512
11513// Information about a replica of a DynamoDB table.
11514type AwsDynamoDbTableReplica struct {
11515	_ struct{} `type:"structure"`
11516
11517	// List of global secondary indexes for the replica.
11518	GlobalSecondaryIndexes []*AwsDynamoDbTableReplicaGlobalSecondaryIndex `type:"list"`
11519
11520	// The identifier of the KMS key that will be used for KMS encryption for the
11521	// replica.
11522	KmsMasterKeyId *string `type:"string"`
11523
11524	// Replica-specific configuration for the provisioned throughput.
11525	ProvisionedThroughputOverride *AwsDynamoDbTableProvisionedThroughputOverride `type:"structure"`
11526
11527	// The name of the Region where the replica is located.
11528	RegionName *string `type:"string"`
11529
11530	// The current status of the replica.
11531	ReplicaStatus *string `type:"string"`
11532
11533	// Detailed information about the replica status.
11534	ReplicaStatusDescription *string `type:"string"`
11535}
11536
11537// String returns the string representation.
11538//
11539// API parameter values that are decorated as "sensitive" in the API will not
11540// be included in the string output. The member name will be present, but the
11541// value will be replaced with "sensitive".
11542func (s AwsDynamoDbTableReplica) String() string {
11543	return awsutil.Prettify(s)
11544}
11545
11546// GoString returns the string representation.
11547//
11548// API parameter values that are decorated as "sensitive" in the API will not
11549// be included in the string output. The member name will be present, but the
11550// value will be replaced with "sensitive".
11551func (s AwsDynamoDbTableReplica) GoString() string {
11552	return s.String()
11553}
11554
11555// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
11556func (s *AwsDynamoDbTableReplica) SetGlobalSecondaryIndexes(v []*AwsDynamoDbTableReplicaGlobalSecondaryIndex) *AwsDynamoDbTableReplica {
11557	s.GlobalSecondaryIndexes = v
11558	return s
11559}
11560
11561// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
11562func (s *AwsDynamoDbTableReplica) SetKmsMasterKeyId(v string) *AwsDynamoDbTableReplica {
11563	s.KmsMasterKeyId = &v
11564	return s
11565}
11566
11567// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value.
11568func (s *AwsDynamoDbTableReplica) SetProvisionedThroughputOverride(v *AwsDynamoDbTableProvisionedThroughputOverride) *AwsDynamoDbTableReplica {
11569	s.ProvisionedThroughputOverride = v
11570	return s
11571}
11572
11573// SetRegionName sets the RegionName field's value.
11574func (s *AwsDynamoDbTableReplica) SetRegionName(v string) *AwsDynamoDbTableReplica {
11575	s.RegionName = &v
11576	return s
11577}
11578
11579// SetReplicaStatus sets the ReplicaStatus field's value.
11580func (s *AwsDynamoDbTableReplica) SetReplicaStatus(v string) *AwsDynamoDbTableReplica {
11581	s.ReplicaStatus = &v
11582	return s
11583}
11584
11585// SetReplicaStatusDescription sets the ReplicaStatusDescription field's value.
11586func (s *AwsDynamoDbTableReplica) SetReplicaStatusDescription(v string) *AwsDynamoDbTableReplica {
11587	s.ReplicaStatusDescription = &v
11588	return s
11589}
11590
11591// Information about a global secondary index for a DynamoDB table replica.
11592type AwsDynamoDbTableReplicaGlobalSecondaryIndex struct {
11593	_ struct{} `type:"structure"`
11594
11595	// The name of the index.
11596	IndexName *string `type:"string"`
11597
11598	// Replica-specific configuration for the provisioned throughput for the index.
11599	ProvisionedThroughputOverride *AwsDynamoDbTableProvisionedThroughputOverride `type:"structure"`
11600}
11601
11602// String returns the string representation.
11603//
11604// API parameter values that are decorated as "sensitive" in the API will not
11605// be included in the string output. The member name will be present, but the
11606// value will be replaced with "sensitive".
11607func (s AwsDynamoDbTableReplicaGlobalSecondaryIndex) String() string {
11608	return awsutil.Prettify(s)
11609}
11610
11611// GoString returns the string representation.
11612//
11613// API parameter values that are decorated as "sensitive" in the API will not
11614// be included in the string output. The member name will be present, but the
11615// value will be replaced with "sensitive".
11616func (s AwsDynamoDbTableReplicaGlobalSecondaryIndex) GoString() string {
11617	return s.String()
11618}
11619
11620// SetIndexName sets the IndexName field's value.
11621func (s *AwsDynamoDbTableReplicaGlobalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableReplicaGlobalSecondaryIndex {
11622	s.IndexName = &v
11623	return s
11624}
11625
11626// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value.
11627func (s *AwsDynamoDbTableReplicaGlobalSecondaryIndex) SetProvisionedThroughputOverride(v *AwsDynamoDbTableProvisionedThroughputOverride) *AwsDynamoDbTableReplicaGlobalSecondaryIndex {
11628	s.ProvisionedThroughputOverride = v
11629	return s
11630}
11631
11632// Information about the restore for the table.
11633type AwsDynamoDbTableRestoreSummary struct {
11634	_ struct{} `type:"structure"`
11635
11636	// Indicates the point in time that the table was restored to.
11637	//
11638	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11639	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11640	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11641	RestoreDateTime *string `type:"string"`
11642
11643	// Whether a restore is currently in progress.
11644	RestoreInProgress *bool `type:"boolean"`
11645
11646	// The ARN of the source backup from which the table was restored.
11647	SourceBackupArn *string `type:"string"`
11648
11649	// The ARN of the source table for the backup.
11650	SourceTableArn *string `type:"string"`
11651}
11652
11653// String returns the string representation.
11654//
11655// API parameter values that are decorated as "sensitive" in the API will not
11656// be included in the string output. The member name will be present, but the
11657// value will be replaced with "sensitive".
11658func (s AwsDynamoDbTableRestoreSummary) String() string {
11659	return awsutil.Prettify(s)
11660}
11661
11662// GoString returns the string representation.
11663//
11664// API parameter values that are decorated as "sensitive" in the API will not
11665// be included in the string output. The member name will be present, but the
11666// value will be replaced with "sensitive".
11667func (s AwsDynamoDbTableRestoreSummary) GoString() string {
11668	return s.String()
11669}
11670
11671// SetRestoreDateTime sets the RestoreDateTime field's value.
11672func (s *AwsDynamoDbTableRestoreSummary) SetRestoreDateTime(v string) *AwsDynamoDbTableRestoreSummary {
11673	s.RestoreDateTime = &v
11674	return s
11675}
11676
11677// SetRestoreInProgress sets the RestoreInProgress field's value.
11678func (s *AwsDynamoDbTableRestoreSummary) SetRestoreInProgress(v bool) *AwsDynamoDbTableRestoreSummary {
11679	s.RestoreInProgress = &v
11680	return s
11681}
11682
11683// SetSourceBackupArn sets the SourceBackupArn field's value.
11684func (s *AwsDynamoDbTableRestoreSummary) SetSourceBackupArn(v string) *AwsDynamoDbTableRestoreSummary {
11685	s.SourceBackupArn = &v
11686	return s
11687}
11688
11689// SetSourceTableArn sets the SourceTableArn field's value.
11690func (s *AwsDynamoDbTableRestoreSummary) SetSourceTableArn(v string) *AwsDynamoDbTableRestoreSummary {
11691	s.SourceTableArn = &v
11692	return s
11693}
11694
11695// Information about the server-side encryption for the table.
11696type AwsDynamoDbTableSseDescription struct {
11697	_ struct{} `type:"structure"`
11698
11699	// If the key is inaccessible, the date and time when DynamoDB detected that
11700	// the key was inaccessible.
11701	//
11702	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11703	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11704	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11705	InaccessibleEncryptionDateTime *string `type:"string"`
11706
11707	// The ARN of the KMS key that is used for the KMS encryption.
11708	KmsMasterKeyArn *string `type:"string"`
11709
11710	// The type of server-side encryption.
11711	SseType *string `type:"string"`
11712
11713	// The status of the server-side encryption.
11714	Status *string `type:"string"`
11715}
11716
11717// String returns the string representation.
11718//
11719// API parameter values that are decorated as "sensitive" in the API will not
11720// be included in the string output. The member name will be present, but the
11721// value will be replaced with "sensitive".
11722func (s AwsDynamoDbTableSseDescription) String() string {
11723	return awsutil.Prettify(s)
11724}
11725
11726// GoString returns the string representation.
11727//
11728// API parameter values that are decorated as "sensitive" in the API will not
11729// be included in the string output. The member name will be present, but the
11730// value will be replaced with "sensitive".
11731func (s AwsDynamoDbTableSseDescription) GoString() string {
11732	return s.String()
11733}
11734
11735// SetInaccessibleEncryptionDateTime sets the InaccessibleEncryptionDateTime field's value.
11736func (s *AwsDynamoDbTableSseDescription) SetInaccessibleEncryptionDateTime(v string) *AwsDynamoDbTableSseDescription {
11737	s.InaccessibleEncryptionDateTime = &v
11738	return s
11739}
11740
11741// SetKmsMasterKeyArn sets the KmsMasterKeyArn field's value.
11742func (s *AwsDynamoDbTableSseDescription) SetKmsMasterKeyArn(v string) *AwsDynamoDbTableSseDescription {
11743	s.KmsMasterKeyArn = &v
11744	return s
11745}
11746
11747// SetSseType sets the SseType field's value.
11748func (s *AwsDynamoDbTableSseDescription) SetSseType(v string) *AwsDynamoDbTableSseDescription {
11749	s.SseType = &v
11750	return s
11751}
11752
11753// SetStatus sets the Status field's value.
11754func (s *AwsDynamoDbTableSseDescription) SetStatus(v string) *AwsDynamoDbTableSseDescription {
11755	s.Status = &v
11756	return s
11757}
11758
11759// The current DynamoDB Streams configuration for the table.
11760type AwsDynamoDbTableStreamSpecification struct {
11761	_ struct{} `type:"structure"`
11762
11763	// Indicates whether DynamoDB Streams is enabled on the table.
11764	StreamEnabled *bool `type:"boolean"`
11765
11766	// Determines the information that is written to the table.
11767	StreamViewType *string `type:"string"`
11768}
11769
11770// String returns the string representation.
11771//
11772// API parameter values that are decorated as "sensitive" in the API will not
11773// be included in the string output. The member name will be present, but the
11774// value will be replaced with "sensitive".
11775func (s AwsDynamoDbTableStreamSpecification) String() string {
11776	return awsutil.Prettify(s)
11777}
11778
11779// GoString returns the string representation.
11780//
11781// API parameter values that are decorated as "sensitive" in the API will not
11782// be included in the string output. The member name will be present, but the
11783// value will be replaced with "sensitive".
11784func (s AwsDynamoDbTableStreamSpecification) GoString() string {
11785	return s.String()
11786}
11787
11788// SetStreamEnabled sets the StreamEnabled field's value.
11789func (s *AwsDynamoDbTableStreamSpecification) SetStreamEnabled(v bool) *AwsDynamoDbTableStreamSpecification {
11790	s.StreamEnabled = &v
11791	return s
11792}
11793
11794// SetStreamViewType sets the StreamViewType field's value.
11795func (s *AwsDynamoDbTableStreamSpecification) SetStreamViewType(v string) *AwsDynamoDbTableStreamSpecification {
11796	s.StreamViewType = &v
11797	return s
11798}
11799
11800// Information about an Elastic IP address.
11801type AwsEc2EipDetails struct {
11802	_ struct{} `type:"structure"`
11803
11804	// The identifier that Amazon Web Services assigns to represent the allocation
11805	// of the Elastic IP address for use with Amazon VPC.
11806	AllocationId *string `type:"string"`
11807
11808	// The identifier that represents the association of the Elastic IP address
11809	// with an EC2 instance.
11810	AssociationId *string `type:"string"`
11811
11812	// The domain in which to allocate the address.
11813	//
11814	// If the address is for use with EC2 instances in a VPC, then Domain is vpc.
11815	// Otherwise, Domain is standard.
11816	Domain *string `type:"string"`
11817
11818	// The identifier of the EC2 instance.
11819	InstanceId *string `type:"string"`
11820
11821	// The name of the location from which the Elastic IP address is advertised.
11822	NetworkBorderGroup *string `type:"string"`
11823
11824	// The identifier of the network interface.
11825	NetworkInterfaceId *string `type:"string"`
11826
11827	// The Amazon Web Services account ID of the owner of the network interface.
11828	NetworkInterfaceOwnerId *string `type:"string"`
11829
11830	// The private IP address that is associated with the Elastic IP address.
11831	PrivateIpAddress *string `type:"string"`
11832
11833	// A public IP address that is associated with the EC2 instance.
11834	PublicIp *string `type:"string"`
11835
11836	// The identifier of an IP address pool. This parameter allows Amazon EC2 to
11837	// select an IP address from the address pool.
11838	PublicIpv4Pool *string `type:"string"`
11839}
11840
11841// String returns the string representation.
11842//
11843// API parameter values that are decorated as "sensitive" in the API will not
11844// be included in the string output. The member name will be present, but the
11845// value will be replaced with "sensitive".
11846func (s AwsEc2EipDetails) String() string {
11847	return awsutil.Prettify(s)
11848}
11849
11850// GoString returns the string representation.
11851//
11852// API parameter values that are decorated as "sensitive" in the API will not
11853// be included in the string output. The member name will be present, but the
11854// value will be replaced with "sensitive".
11855func (s AwsEc2EipDetails) GoString() string {
11856	return s.String()
11857}
11858
11859// SetAllocationId sets the AllocationId field's value.
11860func (s *AwsEc2EipDetails) SetAllocationId(v string) *AwsEc2EipDetails {
11861	s.AllocationId = &v
11862	return s
11863}
11864
11865// SetAssociationId sets the AssociationId field's value.
11866func (s *AwsEc2EipDetails) SetAssociationId(v string) *AwsEc2EipDetails {
11867	s.AssociationId = &v
11868	return s
11869}
11870
11871// SetDomain sets the Domain field's value.
11872func (s *AwsEc2EipDetails) SetDomain(v string) *AwsEc2EipDetails {
11873	s.Domain = &v
11874	return s
11875}
11876
11877// SetInstanceId sets the InstanceId field's value.
11878func (s *AwsEc2EipDetails) SetInstanceId(v string) *AwsEc2EipDetails {
11879	s.InstanceId = &v
11880	return s
11881}
11882
11883// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
11884func (s *AwsEc2EipDetails) SetNetworkBorderGroup(v string) *AwsEc2EipDetails {
11885	s.NetworkBorderGroup = &v
11886	return s
11887}
11888
11889// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
11890func (s *AwsEc2EipDetails) SetNetworkInterfaceId(v string) *AwsEc2EipDetails {
11891	s.NetworkInterfaceId = &v
11892	return s
11893}
11894
11895// SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
11896func (s *AwsEc2EipDetails) SetNetworkInterfaceOwnerId(v string) *AwsEc2EipDetails {
11897	s.NetworkInterfaceOwnerId = &v
11898	return s
11899}
11900
11901// SetPrivateIpAddress sets the PrivateIpAddress field's value.
11902func (s *AwsEc2EipDetails) SetPrivateIpAddress(v string) *AwsEc2EipDetails {
11903	s.PrivateIpAddress = &v
11904	return s
11905}
11906
11907// SetPublicIp sets the PublicIp field's value.
11908func (s *AwsEc2EipDetails) SetPublicIp(v string) *AwsEc2EipDetails {
11909	s.PublicIp = &v
11910	return s
11911}
11912
11913// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
11914func (s *AwsEc2EipDetails) SetPublicIpv4Pool(v string) *AwsEc2EipDetails {
11915	s.PublicIpv4Pool = &v
11916	return s
11917}
11918
11919// The details of an EC2 instance.
11920type AwsEc2InstanceDetails struct {
11921	_ struct{} `type:"structure"`
11922
11923	// The IAM profile ARN of the instance.
11924	IamInstanceProfileArn *string `type:"string"`
11925
11926	// The Amazon Machine Image (AMI) ID of the instance.
11927	ImageId *string `type:"string"`
11928
11929	// The IPv4 addresses associated with the instance.
11930	IpV4Addresses []*string `type:"list"`
11931
11932	// The IPv6 addresses associated with the instance.
11933	IpV6Addresses []*string `type:"list"`
11934
11935	// The key name associated with the instance.
11936	KeyName *string `type:"string"`
11937
11938	// Indicates when the instance was launched.
11939	//
11940	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11941	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11942	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11943	LaunchedAt *string `type:"string"`
11944
11945	// The identifiers of the network interfaces for the EC2 instance. The details
11946	// for each network interface are in a corresponding AwsEc2NetworkInterfacesDetails
11947	// object.
11948	NetworkInterfaces []*AwsEc2InstanceNetworkInterfacesDetails `type:"list"`
11949
11950	// The identifier of the subnet that the instance was launched in.
11951	SubnetId *string `type:"string"`
11952
11953	// The instance type of the instance.
11954	Type *string `type:"string"`
11955
11956	// The identifier of the VPC that the instance was launched in.
11957	VpcId *string `type:"string"`
11958}
11959
11960// String returns the string representation.
11961//
11962// API parameter values that are decorated as "sensitive" in the API will not
11963// be included in the string output. The member name will be present, but the
11964// value will be replaced with "sensitive".
11965func (s AwsEc2InstanceDetails) String() string {
11966	return awsutil.Prettify(s)
11967}
11968
11969// GoString returns the string representation.
11970//
11971// API parameter values that are decorated as "sensitive" in the API will not
11972// be included in the string output. The member name will be present, but the
11973// value will be replaced with "sensitive".
11974func (s AwsEc2InstanceDetails) GoString() string {
11975	return s.String()
11976}
11977
11978// SetIamInstanceProfileArn sets the IamInstanceProfileArn field's value.
11979func (s *AwsEc2InstanceDetails) SetIamInstanceProfileArn(v string) *AwsEc2InstanceDetails {
11980	s.IamInstanceProfileArn = &v
11981	return s
11982}
11983
11984// SetImageId sets the ImageId field's value.
11985func (s *AwsEc2InstanceDetails) SetImageId(v string) *AwsEc2InstanceDetails {
11986	s.ImageId = &v
11987	return s
11988}
11989
11990// SetIpV4Addresses sets the IpV4Addresses field's value.
11991func (s *AwsEc2InstanceDetails) SetIpV4Addresses(v []*string) *AwsEc2InstanceDetails {
11992	s.IpV4Addresses = v
11993	return s
11994}
11995
11996// SetIpV6Addresses sets the IpV6Addresses field's value.
11997func (s *AwsEc2InstanceDetails) SetIpV6Addresses(v []*string) *AwsEc2InstanceDetails {
11998	s.IpV6Addresses = v
11999	return s
12000}
12001
12002// SetKeyName sets the KeyName field's value.
12003func (s *AwsEc2InstanceDetails) SetKeyName(v string) *AwsEc2InstanceDetails {
12004	s.KeyName = &v
12005	return s
12006}
12007
12008// SetLaunchedAt sets the LaunchedAt field's value.
12009func (s *AwsEc2InstanceDetails) SetLaunchedAt(v string) *AwsEc2InstanceDetails {
12010	s.LaunchedAt = &v
12011	return s
12012}
12013
12014// SetNetworkInterfaces sets the NetworkInterfaces field's value.
12015func (s *AwsEc2InstanceDetails) SetNetworkInterfaces(v []*AwsEc2InstanceNetworkInterfacesDetails) *AwsEc2InstanceDetails {
12016	s.NetworkInterfaces = v
12017	return s
12018}
12019
12020// SetSubnetId sets the SubnetId field's value.
12021func (s *AwsEc2InstanceDetails) SetSubnetId(v string) *AwsEc2InstanceDetails {
12022	s.SubnetId = &v
12023	return s
12024}
12025
12026// SetType sets the Type field's value.
12027func (s *AwsEc2InstanceDetails) SetType(v string) *AwsEc2InstanceDetails {
12028	s.Type = &v
12029	return s
12030}
12031
12032// SetVpcId sets the VpcId field's value.
12033func (s *AwsEc2InstanceDetails) SetVpcId(v string) *AwsEc2InstanceDetails {
12034	s.VpcId = &v
12035	return s
12036}
12037
12038// Identifies a network interface for the EC2 instance.
12039type AwsEc2InstanceNetworkInterfacesDetails struct {
12040	_ struct{} `type:"structure"`
12041
12042	// The identifier of the network interface. The details are in a corresponding
12043	// AwsEc2NetworkInterfacesDetails object.
12044	NetworkInterfaceId *string `type:"string"`
12045}
12046
12047// String returns the string representation.
12048//
12049// API parameter values that are decorated as "sensitive" in the API will not
12050// be included in the string output. The member name will be present, but the
12051// value will be replaced with "sensitive".
12052func (s AwsEc2InstanceNetworkInterfacesDetails) String() string {
12053	return awsutil.Prettify(s)
12054}
12055
12056// GoString returns the string representation.
12057//
12058// API parameter values that are decorated as "sensitive" in the API will not
12059// be included in the string output. The member name will be present, but the
12060// value will be replaced with "sensitive".
12061func (s AwsEc2InstanceNetworkInterfacesDetails) GoString() string {
12062	return s.String()
12063}
12064
12065// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
12066func (s *AwsEc2InstanceNetworkInterfacesDetails) SetNetworkInterfaceId(v string) *AwsEc2InstanceNetworkInterfacesDetails {
12067	s.NetworkInterfaceId = &v
12068	return s
12069}
12070
12071// An association between the network ACL and a subnet.
12072type AwsEc2NetworkAclAssociation struct {
12073	_ struct{} `type:"structure"`
12074
12075	// The identifier of the association between the network ACL and the subnet.
12076	NetworkAclAssociationId *string `type:"string"`
12077
12078	// The identifier of the network ACL.
12079	NetworkAclId *string `type:"string"`
12080
12081	// The identifier of the subnet that is associated with the network ACL.
12082	SubnetId *string `type:"string"`
12083}
12084
12085// String returns the string representation.
12086//
12087// API parameter values that are decorated as "sensitive" in the API will not
12088// be included in the string output. The member name will be present, but the
12089// value will be replaced with "sensitive".
12090func (s AwsEc2NetworkAclAssociation) String() string {
12091	return awsutil.Prettify(s)
12092}
12093
12094// GoString returns the string representation.
12095//
12096// API parameter values that are decorated as "sensitive" in the API will not
12097// be included in the string output. The member name will be present, but the
12098// value will be replaced with "sensitive".
12099func (s AwsEc2NetworkAclAssociation) GoString() string {
12100	return s.String()
12101}
12102
12103// SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
12104func (s *AwsEc2NetworkAclAssociation) SetNetworkAclAssociationId(v string) *AwsEc2NetworkAclAssociation {
12105	s.NetworkAclAssociationId = &v
12106	return s
12107}
12108
12109// SetNetworkAclId sets the NetworkAclId field's value.
12110func (s *AwsEc2NetworkAclAssociation) SetNetworkAclId(v string) *AwsEc2NetworkAclAssociation {
12111	s.NetworkAclId = &v
12112	return s
12113}
12114
12115// SetSubnetId sets the SubnetId field's value.
12116func (s *AwsEc2NetworkAclAssociation) SetSubnetId(v string) *AwsEc2NetworkAclAssociation {
12117	s.SubnetId = &v
12118	return s
12119}
12120
12121// Contains details about an EC2 network access control list (ACL).
12122type AwsEc2NetworkAclDetails struct {
12123	_ struct{} `type:"structure"`
12124
12125	// Associations between the network ACL and subnets.
12126	Associations []*AwsEc2NetworkAclAssociation `type:"list"`
12127
12128	// The set of rules in the network ACL.
12129	Entries []*AwsEc2NetworkAclEntry `type:"list"`
12130
12131	// Whether this is the default network ACL for the VPC.
12132	IsDefault *bool `type:"boolean"`
12133
12134	// The identifier of the network ACL.
12135	NetworkAclId *string `type:"string"`
12136
12137	// The identifier of the Amazon Web Services account that owns the network ACL.
12138	OwnerId *string `type:"string"`
12139
12140	// The identifier of the VPC for the network ACL.
12141	VpcId *string `type:"string"`
12142}
12143
12144// String returns the string representation.
12145//
12146// API parameter values that are decorated as "sensitive" in the API will not
12147// be included in the string output. The member name will be present, but the
12148// value will be replaced with "sensitive".
12149func (s AwsEc2NetworkAclDetails) String() string {
12150	return awsutil.Prettify(s)
12151}
12152
12153// GoString returns the string representation.
12154//
12155// API parameter values that are decorated as "sensitive" in the API will not
12156// be included in the string output. The member name will be present, but the
12157// value will be replaced with "sensitive".
12158func (s AwsEc2NetworkAclDetails) GoString() string {
12159	return s.String()
12160}
12161
12162// SetAssociations sets the Associations field's value.
12163func (s *AwsEc2NetworkAclDetails) SetAssociations(v []*AwsEc2NetworkAclAssociation) *AwsEc2NetworkAclDetails {
12164	s.Associations = v
12165	return s
12166}
12167
12168// SetEntries sets the Entries field's value.
12169func (s *AwsEc2NetworkAclDetails) SetEntries(v []*AwsEc2NetworkAclEntry) *AwsEc2NetworkAclDetails {
12170	s.Entries = v
12171	return s
12172}
12173
12174// SetIsDefault sets the IsDefault field's value.
12175func (s *AwsEc2NetworkAclDetails) SetIsDefault(v bool) *AwsEc2NetworkAclDetails {
12176	s.IsDefault = &v
12177	return s
12178}
12179
12180// SetNetworkAclId sets the NetworkAclId field's value.
12181func (s *AwsEc2NetworkAclDetails) SetNetworkAclId(v string) *AwsEc2NetworkAclDetails {
12182	s.NetworkAclId = &v
12183	return s
12184}
12185
12186// SetOwnerId sets the OwnerId field's value.
12187func (s *AwsEc2NetworkAclDetails) SetOwnerId(v string) *AwsEc2NetworkAclDetails {
12188	s.OwnerId = &v
12189	return s
12190}
12191
12192// SetVpcId sets the VpcId field's value.
12193func (s *AwsEc2NetworkAclDetails) SetVpcId(v string) *AwsEc2NetworkAclDetails {
12194	s.VpcId = &v
12195	return s
12196}
12197
12198// A rule for the network ACL. Each rule allows or denies access based on the
12199// IP address, traffic direction, port, and protocol.
12200type AwsEc2NetworkAclEntry struct {
12201	_ struct{} `type:"structure"`
12202
12203	// The IPV4 network range for which to deny or allow access.
12204	CidrBlock *string `type:"string"`
12205
12206	// Whether the rule is an egress rule. An egress rule is a rule that applies
12207	// to traffic that leaves the subnet.
12208	Egress *bool `type:"boolean"`
12209
12210	// The Internet Control Message Protocol (ICMP) type and code for which to deny
12211	// or allow access.
12212	IcmpTypeCode *IcmpTypeCode `type:"structure"`
12213
12214	// The IPV6 network range for which to deny or allow access.
12215	Ipv6CidrBlock *string `type:"string"`
12216
12217	// For TCP or UDP protocols, the range of ports that the rule applies to.
12218	PortRange *PortRangeFromTo `type:"structure"`
12219
12220	// The protocol that the rule applies to. To deny or allow access to all protocols,
12221	// use the value -1.
12222	Protocol *string `type:"string"`
12223
12224	// Whether the rule is used to allow access or deny access.
12225	RuleAction *string `type:"string"`
12226
12227	// The rule number. The rules are processed in order by their number.
12228	RuleNumber *int64 `type:"integer"`
12229}
12230
12231// String returns the string representation.
12232//
12233// API parameter values that are decorated as "sensitive" in the API will not
12234// be included in the string output. The member name will be present, but the
12235// value will be replaced with "sensitive".
12236func (s AwsEc2NetworkAclEntry) String() string {
12237	return awsutil.Prettify(s)
12238}
12239
12240// GoString returns the string representation.
12241//
12242// API parameter values that are decorated as "sensitive" in the API will not
12243// be included in the string output. The member name will be present, but the
12244// value will be replaced with "sensitive".
12245func (s AwsEc2NetworkAclEntry) GoString() string {
12246	return s.String()
12247}
12248
12249// SetCidrBlock sets the CidrBlock field's value.
12250func (s *AwsEc2NetworkAclEntry) SetCidrBlock(v string) *AwsEc2NetworkAclEntry {
12251	s.CidrBlock = &v
12252	return s
12253}
12254
12255// SetEgress sets the Egress field's value.
12256func (s *AwsEc2NetworkAclEntry) SetEgress(v bool) *AwsEc2NetworkAclEntry {
12257	s.Egress = &v
12258	return s
12259}
12260
12261// SetIcmpTypeCode sets the IcmpTypeCode field's value.
12262func (s *AwsEc2NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *AwsEc2NetworkAclEntry {
12263	s.IcmpTypeCode = v
12264	return s
12265}
12266
12267// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
12268func (s *AwsEc2NetworkAclEntry) SetIpv6CidrBlock(v string) *AwsEc2NetworkAclEntry {
12269	s.Ipv6CidrBlock = &v
12270	return s
12271}
12272
12273// SetPortRange sets the PortRange field's value.
12274func (s *AwsEc2NetworkAclEntry) SetPortRange(v *PortRangeFromTo) *AwsEc2NetworkAclEntry {
12275	s.PortRange = v
12276	return s
12277}
12278
12279// SetProtocol sets the Protocol field's value.
12280func (s *AwsEc2NetworkAclEntry) SetProtocol(v string) *AwsEc2NetworkAclEntry {
12281	s.Protocol = &v
12282	return s
12283}
12284
12285// SetRuleAction sets the RuleAction field's value.
12286func (s *AwsEc2NetworkAclEntry) SetRuleAction(v string) *AwsEc2NetworkAclEntry {
12287	s.RuleAction = &v
12288	return s
12289}
12290
12291// SetRuleNumber sets the RuleNumber field's value.
12292func (s *AwsEc2NetworkAclEntry) SetRuleNumber(v int64) *AwsEc2NetworkAclEntry {
12293	s.RuleNumber = &v
12294	return s
12295}
12296
12297// Information about the network interface attachment.
12298type AwsEc2NetworkInterfaceAttachment struct {
12299	_ struct{} `type:"structure"`
12300
12301	// Indicates when the attachment initiated.
12302	//
12303	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
12304	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
12305	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
12306	AttachTime *string `type:"string"`
12307
12308	// The identifier of the network interface attachment
12309	AttachmentId *string `type:"string"`
12310
12311	// Indicates whether the network interface is deleted when the instance is terminated.
12312	DeleteOnTermination *bool `type:"boolean"`
12313
12314	// The device index of the network interface attachment on the instance.
12315	DeviceIndex *int64 `type:"integer"`
12316
12317	// The ID of the instance.
12318	InstanceId *string `type:"string"`
12319
12320	// The Amazon Web Services account ID of the owner of the instance.
12321	InstanceOwnerId *string `type:"string"`
12322
12323	// The attachment state.
12324	//
12325	// Valid values: attaching | attached | detaching | detached
12326	Status *string `type:"string"`
12327}
12328
12329// String returns the string representation.
12330//
12331// API parameter values that are decorated as "sensitive" in the API will not
12332// be included in the string output. The member name will be present, but the
12333// value will be replaced with "sensitive".
12334func (s AwsEc2NetworkInterfaceAttachment) String() string {
12335	return awsutil.Prettify(s)
12336}
12337
12338// GoString returns the string representation.
12339//
12340// API parameter values that are decorated as "sensitive" in the API will not
12341// be included in the string output. The member name will be present, but the
12342// value will be replaced with "sensitive".
12343func (s AwsEc2NetworkInterfaceAttachment) GoString() string {
12344	return s.String()
12345}
12346
12347// SetAttachTime sets the AttachTime field's value.
12348func (s *AwsEc2NetworkInterfaceAttachment) SetAttachTime(v string) *AwsEc2NetworkInterfaceAttachment {
12349	s.AttachTime = &v
12350	return s
12351}
12352
12353// SetAttachmentId sets the AttachmentId field's value.
12354func (s *AwsEc2NetworkInterfaceAttachment) SetAttachmentId(v string) *AwsEc2NetworkInterfaceAttachment {
12355	s.AttachmentId = &v
12356	return s
12357}
12358
12359// SetDeleteOnTermination sets the DeleteOnTermination field's value.
12360func (s *AwsEc2NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *AwsEc2NetworkInterfaceAttachment {
12361	s.DeleteOnTermination = &v
12362	return s
12363}
12364
12365// SetDeviceIndex sets the DeviceIndex field's value.
12366func (s *AwsEc2NetworkInterfaceAttachment) SetDeviceIndex(v int64) *AwsEc2NetworkInterfaceAttachment {
12367	s.DeviceIndex = &v
12368	return s
12369}
12370
12371// SetInstanceId sets the InstanceId field's value.
12372func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceId(v string) *AwsEc2NetworkInterfaceAttachment {
12373	s.InstanceId = &v
12374	return s
12375}
12376
12377// SetInstanceOwnerId sets the InstanceOwnerId field's value.
12378func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *AwsEc2NetworkInterfaceAttachment {
12379	s.InstanceOwnerId = &v
12380	return s
12381}
12382
12383// SetStatus sets the Status field's value.
12384func (s *AwsEc2NetworkInterfaceAttachment) SetStatus(v string) *AwsEc2NetworkInterfaceAttachment {
12385	s.Status = &v
12386	return s
12387}
12388
12389// Details about the network interface
12390type AwsEc2NetworkInterfaceDetails struct {
12391	_ struct{} `type:"structure"`
12392
12393	// The network interface attachment.
12394	Attachment *AwsEc2NetworkInterfaceAttachment `type:"structure"`
12395
12396	// The IPv6 addresses associated with the network interface.
12397	IpV6Addresses []*AwsEc2NetworkInterfaceIpV6AddressDetail `type:"list"`
12398
12399	// The ID of the network interface.
12400	NetworkInterfaceId *string `type:"string"`
12401
12402	// The private IPv4 addresses associated with the network interface.
12403	PrivateIpAddresses []*AwsEc2NetworkInterfacePrivateIpAddressDetail `type:"list"`
12404
12405	// The public DNS name of the network interface.
12406	PublicDnsName *string `type:"string"`
12407
12408	// The address of the Elastic IP address bound to the network interface.
12409	PublicIp *string `type:"string"`
12410
12411	// Security groups for the network interface.
12412	SecurityGroups []*AwsEc2NetworkInterfaceSecurityGroup `type:"list"`
12413
12414	// Indicates whether traffic to or from the instance is validated.
12415	SourceDestCheck *bool `type:"boolean"`
12416}
12417
12418// String returns the string representation.
12419//
12420// API parameter values that are decorated as "sensitive" in the API will not
12421// be included in the string output. The member name will be present, but the
12422// value will be replaced with "sensitive".
12423func (s AwsEc2NetworkInterfaceDetails) String() string {
12424	return awsutil.Prettify(s)
12425}
12426
12427// GoString returns the string representation.
12428//
12429// API parameter values that are decorated as "sensitive" in the API will not
12430// be included in the string output. The member name will be present, but the
12431// value will be replaced with "sensitive".
12432func (s AwsEc2NetworkInterfaceDetails) GoString() string {
12433	return s.String()
12434}
12435
12436// SetAttachment sets the Attachment field's value.
12437func (s *AwsEc2NetworkInterfaceDetails) SetAttachment(v *AwsEc2NetworkInterfaceAttachment) *AwsEc2NetworkInterfaceDetails {
12438	s.Attachment = v
12439	return s
12440}
12441
12442// SetIpV6Addresses sets the IpV6Addresses field's value.
12443func (s *AwsEc2NetworkInterfaceDetails) SetIpV6Addresses(v []*AwsEc2NetworkInterfaceIpV6AddressDetail) *AwsEc2NetworkInterfaceDetails {
12444	s.IpV6Addresses = v
12445	return s
12446}
12447
12448// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
12449func (s *AwsEc2NetworkInterfaceDetails) SetNetworkInterfaceId(v string) *AwsEc2NetworkInterfaceDetails {
12450	s.NetworkInterfaceId = &v
12451	return s
12452}
12453
12454// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
12455func (s *AwsEc2NetworkInterfaceDetails) SetPrivateIpAddresses(v []*AwsEc2NetworkInterfacePrivateIpAddressDetail) *AwsEc2NetworkInterfaceDetails {
12456	s.PrivateIpAddresses = v
12457	return s
12458}
12459
12460// SetPublicDnsName sets the PublicDnsName field's value.
12461func (s *AwsEc2NetworkInterfaceDetails) SetPublicDnsName(v string) *AwsEc2NetworkInterfaceDetails {
12462	s.PublicDnsName = &v
12463	return s
12464}
12465
12466// SetPublicIp sets the PublicIp field's value.
12467func (s *AwsEc2NetworkInterfaceDetails) SetPublicIp(v string) *AwsEc2NetworkInterfaceDetails {
12468	s.PublicIp = &v
12469	return s
12470}
12471
12472// SetSecurityGroups sets the SecurityGroups field's value.
12473func (s *AwsEc2NetworkInterfaceDetails) SetSecurityGroups(v []*AwsEc2NetworkInterfaceSecurityGroup) *AwsEc2NetworkInterfaceDetails {
12474	s.SecurityGroups = v
12475	return s
12476}
12477
12478// SetSourceDestCheck sets the SourceDestCheck field's value.
12479func (s *AwsEc2NetworkInterfaceDetails) SetSourceDestCheck(v bool) *AwsEc2NetworkInterfaceDetails {
12480	s.SourceDestCheck = &v
12481	return s
12482}
12483
12484// Provides information about an IPV6 address that is associated with the network
12485// interface.
12486type AwsEc2NetworkInterfaceIpV6AddressDetail struct {
12487	_ struct{} `type:"structure"`
12488
12489	// The IPV6 address.
12490	IpV6Address *string `type:"string"`
12491}
12492
12493// String returns the string representation.
12494//
12495// API parameter values that are decorated as "sensitive" in the API will not
12496// be included in the string output. The member name will be present, but the
12497// value will be replaced with "sensitive".
12498func (s AwsEc2NetworkInterfaceIpV6AddressDetail) String() string {
12499	return awsutil.Prettify(s)
12500}
12501
12502// GoString returns the string representation.
12503//
12504// API parameter values that are decorated as "sensitive" in the API will not
12505// be included in the string output. The member name will be present, but the
12506// value will be replaced with "sensitive".
12507func (s AwsEc2NetworkInterfaceIpV6AddressDetail) GoString() string {
12508	return s.String()
12509}
12510
12511// SetIpV6Address sets the IpV6Address field's value.
12512func (s *AwsEc2NetworkInterfaceIpV6AddressDetail) SetIpV6Address(v string) *AwsEc2NetworkInterfaceIpV6AddressDetail {
12513	s.IpV6Address = &v
12514	return s
12515}
12516
12517// Provides information about a private IPv4 address that is with the network
12518// interface.
12519type AwsEc2NetworkInterfacePrivateIpAddressDetail struct {
12520	_ struct{} `type:"structure"`
12521
12522	// The private DNS name for the IP address.
12523	PrivateDnsName *string `type:"string"`
12524
12525	// The IP address.
12526	PrivateIpAddress *string `type:"string"`
12527}
12528
12529// String returns the string representation.
12530//
12531// API parameter values that are decorated as "sensitive" in the API will not
12532// be included in the string output. The member name will be present, but the
12533// value will be replaced with "sensitive".
12534func (s AwsEc2NetworkInterfacePrivateIpAddressDetail) String() string {
12535	return awsutil.Prettify(s)
12536}
12537
12538// GoString returns the string representation.
12539//
12540// API parameter values that are decorated as "sensitive" in the API will not
12541// be included in the string output. The member name will be present, but the
12542// value will be replaced with "sensitive".
12543func (s AwsEc2NetworkInterfacePrivateIpAddressDetail) GoString() string {
12544	return s.String()
12545}
12546
12547// SetPrivateDnsName sets the PrivateDnsName field's value.
12548func (s *AwsEc2NetworkInterfacePrivateIpAddressDetail) SetPrivateDnsName(v string) *AwsEc2NetworkInterfacePrivateIpAddressDetail {
12549	s.PrivateDnsName = &v
12550	return s
12551}
12552
12553// SetPrivateIpAddress sets the PrivateIpAddress field's value.
12554func (s *AwsEc2NetworkInterfacePrivateIpAddressDetail) SetPrivateIpAddress(v string) *AwsEc2NetworkInterfacePrivateIpAddressDetail {
12555	s.PrivateIpAddress = &v
12556	return s
12557}
12558
12559// A security group associated with the network interface.
12560type AwsEc2NetworkInterfaceSecurityGroup struct {
12561	_ struct{} `type:"structure"`
12562
12563	// The ID of the security group.
12564	GroupId *string `type:"string"`
12565
12566	// The name of the security group.
12567	GroupName *string `type:"string"`
12568}
12569
12570// String returns the string representation.
12571//
12572// API parameter values that are decorated as "sensitive" in the API will not
12573// be included in the string output. The member name will be present, but the
12574// value will be replaced with "sensitive".
12575func (s AwsEc2NetworkInterfaceSecurityGroup) String() string {
12576	return awsutil.Prettify(s)
12577}
12578
12579// GoString returns the string representation.
12580//
12581// API parameter values that are decorated as "sensitive" in the API will not
12582// be included in the string output. The member name will be present, but the
12583// value will be replaced with "sensitive".
12584func (s AwsEc2NetworkInterfaceSecurityGroup) GoString() string {
12585	return s.String()
12586}
12587
12588// SetGroupId sets the GroupId field's value.
12589func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupId(v string) *AwsEc2NetworkInterfaceSecurityGroup {
12590	s.GroupId = &v
12591	return s
12592}
12593
12594// SetGroupName sets the GroupName field's value.
12595func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupName(v string) *AwsEc2NetworkInterfaceSecurityGroup {
12596	s.GroupName = &v
12597	return s
12598}
12599
12600// Details about an EC2 security group.
12601type AwsEc2SecurityGroupDetails struct {
12602	_ struct{} `type:"structure"`
12603
12604	// The ID of the security group.
12605	GroupId *string `type:"string"`
12606
12607	// The name of the security group.
12608	GroupName *string `type:"string"`
12609
12610	// The inbound rules associated with the security group.
12611	IpPermissions []*AwsEc2SecurityGroupIpPermission `type:"list"`
12612
12613	// [VPC only] The outbound rules associated with the security group.
12614	IpPermissionsEgress []*AwsEc2SecurityGroupIpPermission `type:"list"`
12615
12616	// The Amazon Web Services account ID of the owner of the security group.
12617	OwnerId *string `type:"string"`
12618
12619	// [VPC only] The ID of the VPC for the security group.
12620	VpcId *string `type:"string"`
12621}
12622
12623// String returns the string representation.
12624//
12625// API parameter values that are decorated as "sensitive" in the API will not
12626// be included in the string output. The member name will be present, but the
12627// value will be replaced with "sensitive".
12628func (s AwsEc2SecurityGroupDetails) String() string {
12629	return awsutil.Prettify(s)
12630}
12631
12632// GoString returns the string representation.
12633//
12634// API parameter values that are decorated as "sensitive" in the API will not
12635// be included in the string output. The member name will be present, but the
12636// value will be replaced with "sensitive".
12637func (s AwsEc2SecurityGroupDetails) GoString() string {
12638	return s.String()
12639}
12640
12641// SetGroupId sets the GroupId field's value.
12642func (s *AwsEc2SecurityGroupDetails) SetGroupId(v string) *AwsEc2SecurityGroupDetails {
12643	s.GroupId = &v
12644	return s
12645}
12646
12647// SetGroupName sets the GroupName field's value.
12648func (s *AwsEc2SecurityGroupDetails) SetGroupName(v string) *AwsEc2SecurityGroupDetails {
12649	s.GroupName = &v
12650	return s
12651}
12652
12653// SetIpPermissions sets the IpPermissions field's value.
12654func (s *AwsEc2SecurityGroupDetails) SetIpPermissions(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails {
12655	s.IpPermissions = v
12656	return s
12657}
12658
12659// SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
12660func (s *AwsEc2SecurityGroupDetails) SetIpPermissionsEgress(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails {
12661	s.IpPermissionsEgress = v
12662	return s
12663}
12664
12665// SetOwnerId sets the OwnerId field's value.
12666func (s *AwsEc2SecurityGroupDetails) SetOwnerId(v string) *AwsEc2SecurityGroupDetails {
12667	s.OwnerId = &v
12668	return s
12669}
12670
12671// SetVpcId sets the VpcId field's value.
12672func (s *AwsEc2SecurityGroupDetails) SetVpcId(v string) *AwsEc2SecurityGroupDetails {
12673	s.VpcId = &v
12674	return s
12675}
12676
12677// An IP permission for an EC2 security group.
12678type AwsEc2SecurityGroupIpPermission struct {
12679	_ struct{} `type:"structure"`
12680
12681	// The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6
12682	// type number.
12683	//
12684	// A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6
12685	// types, you must specify all codes.
12686	FromPort *int64 `type:"integer"`
12687
12688	// The IP protocol name (tcp, udp, icmp, icmpv6) or number.
12689	//
12690	// [VPC only] Use -1 to specify all protocols.
12691	//
12692	// When authorizing security group rules, specifying -1 or a protocol number
12693	// other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless
12694	// of any port range you specify.
12695	//
12696	// For tcp, udp, and icmp, you must specify a port range.
12697	//
12698	// For icmpv6, the port range is optional. If you omit the port range, traffic
12699	// for all types and codes is allowed.
12700	IpProtocol *string `type:"string"`
12701
12702	// The IPv4 ranges.
12703	IpRanges []*AwsEc2SecurityGroupIpRange `type:"list"`
12704
12705	// The IPv6 ranges.
12706	Ipv6Ranges []*AwsEc2SecurityGroupIpv6Range `type:"list"`
12707
12708	// [VPC only] The prefix list IDs for an Amazon Web Services service. With outbound
12709	// rules, this is the Amazon Web Services service to access through a VPC endpoint
12710	// from instances associated with the security group.
12711	PrefixListIds []*AwsEc2SecurityGroupPrefixListId `type:"list"`
12712
12713	// The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6
12714	// code.
12715	//
12716	// A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6
12717	// types, you must specify all codes.
12718	ToPort *int64 `type:"integer"`
12719
12720	// The security group and Amazon Web Services account ID pairs.
12721	UserIdGroupPairs []*AwsEc2SecurityGroupUserIdGroupPair `type:"list"`
12722}
12723
12724// String returns the string representation.
12725//
12726// API parameter values that are decorated as "sensitive" in the API will not
12727// be included in the string output. The member name will be present, but the
12728// value will be replaced with "sensitive".
12729func (s AwsEc2SecurityGroupIpPermission) String() string {
12730	return awsutil.Prettify(s)
12731}
12732
12733// GoString returns the string representation.
12734//
12735// API parameter values that are decorated as "sensitive" in the API will not
12736// be included in the string output. The member name will be present, but the
12737// value will be replaced with "sensitive".
12738func (s AwsEc2SecurityGroupIpPermission) GoString() string {
12739	return s.String()
12740}
12741
12742// SetFromPort sets the FromPort field's value.
12743func (s *AwsEc2SecurityGroupIpPermission) SetFromPort(v int64) *AwsEc2SecurityGroupIpPermission {
12744	s.FromPort = &v
12745	return s
12746}
12747
12748// SetIpProtocol sets the IpProtocol field's value.
12749func (s *AwsEc2SecurityGroupIpPermission) SetIpProtocol(v string) *AwsEc2SecurityGroupIpPermission {
12750	s.IpProtocol = &v
12751	return s
12752}
12753
12754// SetIpRanges sets the IpRanges field's value.
12755func (s *AwsEc2SecurityGroupIpPermission) SetIpRanges(v []*AwsEc2SecurityGroupIpRange) *AwsEc2SecurityGroupIpPermission {
12756	s.IpRanges = v
12757	return s
12758}
12759
12760// SetIpv6Ranges sets the Ipv6Ranges field's value.
12761func (s *AwsEc2SecurityGroupIpPermission) SetIpv6Ranges(v []*AwsEc2SecurityGroupIpv6Range) *AwsEc2SecurityGroupIpPermission {
12762	s.Ipv6Ranges = v
12763	return s
12764}
12765
12766// SetPrefixListIds sets the PrefixListIds field's value.
12767func (s *AwsEc2SecurityGroupIpPermission) SetPrefixListIds(v []*AwsEc2SecurityGroupPrefixListId) *AwsEc2SecurityGroupIpPermission {
12768	s.PrefixListIds = v
12769	return s
12770}
12771
12772// SetToPort sets the ToPort field's value.
12773func (s *AwsEc2SecurityGroupIpPermission) SetToPort(v int64) *AwsEc2SecurityGroupIpPermission {
12774	s.ToPort = &v
12775	return s
12776}
12777
12778// SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
12779func (s *AwsEc2SecurityGroupIpPermission) SetUserIdGroupPairs(v []*AwsEc2SecurityGroupUserIdGroupPair) *AwsEc2SecurityGroupIpPermission {
12780	s.UserIdGroupPairs = v
12781	return s
12782}
12783
12784// A range of IPv4 addresses.
12785type AwsEc2SecurityGroupIpRange struct {
12786	_ struct{} `type:"structure"`
12787
12788	// The IPv4 CIDR range. You can specify either a CIDR range or a source security
12789	// group, but not both. To specify a single IPv4 address, use the /32 prefix
12790	// length.
12791	CidrIp *string `type:"string"`
12792}
12793
12794// String returns the string representation.
12795//
12796// API parameter values that are decorated as "sensitive" in the API will not
12797// be included in the string output. The member name will be present, but the
12798// value will be replaced with "sensitive".
12799func (s AwsEc2SecurityGroupIpRange) String() string {
12800	return awsutil.Prettify(s)
12801}
12802
12803// GoString returns the string representation.
12804//
12805// API parameter values that are decorated as "sensitive" in the API will not
12806// be included in the string output. The member name will be present, but the
12807// value will be replaced with "sensitive".
12808func (s AwsEc2SecurityGroupIpRange) GoString() string {
12809	return s.String()
12810}
12811
12812// SetCidrIp sets the CidrIp field's value.
12813func (s *AwsEc2SecurityGroupIpRange) SetCidrIp(v string) *AwsEc2SecurityGroupIpRange {
12814	s.CidrIp = &v
12815	return s
12816}
12817
12818// A range of IPv6 addresses.
12819type AwsEc2SecurityGroupIpv6Range struct {
12820	_ struct{} `type:"structure"`
12821
12822	// The IPv6 CIDR range. You can specify either a CIDR range or a source security
12823	// group, but not both. To specify a single IPv6 address, use the /128 prefix
12824	// length.
12825	CidrIpv6 *string `type:"string"`
12826}
12827
12828// String returns the string representation.
12829//
12830// API parameter values that are decorated as "sensitive" in the API will not
12831// be included in the string output. The member name will be present, but the
12832// value will be replaced with "sensitive".
12833func (s AwsEc2SecurityGroupIpv6Range) String() string {
12834	return awsutil.Prettify(s)
12835}
12836
12837// GoString returns the string representation.
12838//
12839// API parameter values that are decorated as "sensitive" in the API will not
12840// be included in the string output. The member name will be present, but the
12841// value will be replaced with "sensitive".
12842func (s AwsEc2SecurityGroupIpv6Range) GoString() string {
12843	return s.String()
12844}
12845
12846// SetCidrIpv6 sets the CidrIpv6 field's value.
12847func (s *AwsEc2SecurityGroupIpv6Range) SetCidrIpv6(v string) *AwsEc2SecurityGroupIpv6Range {
12848	s.CidrIpv6 = &v
12849	return s
12850}
12851
12852// A prefix list ID.
12853type AwsEc2SecurityGroupPrefixListId struct {
12854	_ struct{} `type:"structure"`
12855
12856	// The ID of the prefix.
12857	PrefixListId *string `type:"string"`
12858}
12859
12860// String returns the string representation.
12861//
12862// API parameter values that are decorated as "sensitive" in the API will not
12863// be included in the string output. The member name will be present, but the
12864// value will be replaced with "sensitive".
12865func (s AwsEc2SecurityGroupPrefixListId) String() string {
12866	return awsutil.Prettify(s)
12867}
12868
12869// GoString returns the string representation.
12870//
12871// API parameter values that are decorated as "sensitive" in the API will not
12872// be included in the string output. The member name will be present, but the
12873// value will be replaced with "sensitive".
12874func (s AwsEc2SecurityGroupPrefixListId) GoString() string {
12875	return s.String()
12876}
12877
12878// SetPrefixListId sets the PrefixListId field's value.
12879func (s *AwsEc2SecurityGroupPrefixListId) SetPrefixListId(v string) *AwsEc2SecurityGroupPrefixListId {
12880	s.PrefixListId = &v
12881	return s
12882}
12883
12884// A relationship between a security group and a user.
12885type AwsEc2SecurityGroupUserIdGroupPair struct {
12886	_ struct{} `type:"structure"`
12887
12888	// The ID of the security group.
12889	GroupId *string `type:"string"`
12890
12891	// The name of the security group.
12892	GroupName *string `type:"string"`
12893
12894	// The status of a VPC peering connection, if applicable.
12895	PeeringStatus *string `type:"string"`
12896
12897	// The ID of an Amazon Web Services account.
12898	//
12899	// For a referenced security group in another VPC, the account ID of the referenced
12900	// security group is returned in the response. If the referenced security group
12901	// is deleted, this value is not returned.
12902	//
12903	// [EC2-Classic] Required when adding or removing rules that reference a security
12904	// group in another VPC.
12905	UserId *string `type:"string"`
12906
12907	// The ID of the VPC for the referenced security group, if applicable.
12908	VpcId *string `type:"string"`
12909
12910	// The ID of the VPC peering connection, if applicable.
12911	VpcPeeringConnectionId *string `type:"string"`
12912}
12913
12914// String returns the string representation.
12915//
12916// API parameter values that are decorated as "sensitive" in the API will not
12917// be included in the string output. The member name will be present, but the
12918// value will be replaced with "sensitive".
12919func (s AwsEc2SecurityGroupUserIdGroupPair) String() string {
12920	return awsutil.Prettify(s)
12921}
12922
12923// GoString returns the string representation.
12924//
12925// API parameter values that are decorated as "sensitive" in the API will not
12926// be included in the string output. The member name will be present, but the
12927// value will be replaced with "sensitive".
12928func (s AwsEc2SecurityGroupUserIdGroupPair) GoString() string {
12929	return s.String()
12930}
12931
12932// SetGroupId sets the GroupId field's value.
12933func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
12934	s.GroupId = &v
12935	return s
12936}
12937
12938// SetGroupName sets the GroupName field's value.
12939func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupName(v string) *AwsEc2SecurityGroupUserIdGroupPair {
12940	s.GroupName = &v
12941	return s
12942}
12943
12944// SetPeeringStatus sets the PeeringStatus field's value.
12945func (s *AwsEc2SecurityGroupUserIdGroupPair) SetPeeringStatus(v string) *AwsEc2SecurityGroupUserIdGroupPair {
12946	s.PeeringStatus = &v
12947	return s
12948}
12949
12950// SetUserId sets the UserId field's value.
12951func (s *AwsEc2SecurityGroupUserIdGroupPair) SetUserId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
12952	s.UserId = &v
12953	return s
12954}
12955
12956// SetVpcId sets the VpcId field's value.
12957func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
12958	s.VpcId = &v
12959	return s
12960}
12961
12962// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
12963func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcPeeringConnectionId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
12964	s.VpcPeeringConnectionId = &v
12965	return s
12966}
12967
12968// Contains information about a subnet in Amazon EC2.
12969type AwsEc2SubnetDetails struct {
12970	_ struct{} `type:"structure"`
12971
12972	// Whether to assign an IPV6 address to a network interface that is created
12973	// in this subnet.
12974	AssignIpv6AddressOnCreation *bool `type:"boolean"`
12975
12976	// The Availability Zone for the subnet.
12977	AvailabilityZone *string `type:"string"`
12978
12979	// The identifier of the Availability Zone for the subnet.
12980	AvailabilityZoneId *string `type:"string"`
12981
12982	// The number of available IPV4 addresses in the subnet. Does not include addresses
12983	// for stopped instances.
12984	AvailableIpAddressCount *int64 `type:"integer"`
12985
12986	// The IPV4 CIDR block that is assigned to the subnet.
12987	CidrBlock *string `type:"string"`
12988
12989	// Whether this subnet is the default subnet for the Availability Zone.
12990	DefaultForAz *bool `type:"boolean"`
12991
12992	// The IPV6 CIDR blocks that are associated with the subnet.
12993	Ipv6CidrBlockAssociationSet []*Ipv6CidrBlockAssociation `type:"list"`
12994
12995	// Whether instances in this subnet receive a public IP address.
12996	MapPublicIpOnLaunch *bool `type:"boolean"`
12997
12998	// The identifier of the Amazon Web Services account that owns the subnet.
12999	OwnerId *string `type:"string"`
13000
13001	// The current state of the subnet.
13002	State *string `type:"string"`
13003
13004	// The ARN of the subnet.
13005	SubnetArn *string `type:"string"`
13006
13007	// The identifier of the subnet.
13008	SubnetId *string `type:"string"`
13009
13010	// The identifier of the VPC that contains the subnet.
13011	VpcId *string `type:"string"`
13012}
13013
13014// String returns the string representation.
13015//
13016// API parameter values that are decorated as "sensitive" in the API will not
13017// be included in the string output. The member name will be present, but the
13018// value will be replaced with "sensitive".
13019func (s AwsEc2SubnetDetails) String() string {
13020	return awsutil.Prettify(s)
13021}
13022
13023// GoString returns the string representation.
13024//
13025// API parameter values that are decorated as "sensitive" in the API will not
13026// be included in the string output. The member name will be present, but the
13027// value will be replaced with "sensitive".
13028func (s AwsEc2SubnetDetails) GoString() string {
13029	return s.String()
13030}
13031
13032// SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
13033func (s *AwsEc2SubnetDetails) SetAssignIpv6AddressOnCreation(v bool) *AwsEc2SubnetDetails {
13034	s.AssignIpv6AddressOnCreation = &v
13035	return s
13036}
13037
13038// SetAvailabilityZone sets the AvailabilityZone field's value.
13039func (s *AwsEc2SubnetDetails) SetAvailabilityZone(v string) *AwsEc2SubnetDetails {
13040	s.AvailabilityZone = &v
13041	return s
13042}
13043
13044// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
13045func (s *AwsEc2SubnetDetails) SetAvailabilityZoneId(v string) *AwsEc2SubnetDetails {
13046	s.AvailabilityZoneId = &v
13047	return s
13048}
13049
13050// SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
13051func (s *AwsEc2SubnetDetails) SetAvailableIpAddressCount(v int64) *AwsEc2SubnetDetails {
13052	s.AvailableIpAddressCount = &v
13053	return s
13054}
13055
13056// SetCidrBlock sets the CidrBlock field's value.
13057func (s *AwsEc2SubnetDetails) SetCidrBlock(v string) *AwsEc2SubnetDetails {
13058	s.CidrBlock = &v
13059	return s
13060}
13061
13062// SetDefaultForAz sets the DefaultForAz field's value.
13063func (s *AwsEc2SubnetDetails) SetDefaultForAz(v bool) *AwsEc2SubnetDetails {
13064	s.DefaultForAz = &v
13065	return s
13066}
13067
13068// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
13069func (s *AwsEc2SubnetDetails) SetIpv6CidrBlockAssociationSet(v []*Ipv6CidrBlockAssociation) *AwsEc2SubnetDetails {
13070	s.Ipv6CidrBlockAssociationSet = v
13071	return s
13072}
13073
13074// SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
13075func (s *AwsEc2SubnetDetails) SetMapPublicIpOnLaunch(v bool) *AwsEc2SubnetDetails {
13076	s.MapPublicIpOnLaunch = &v
13077	return s
13078}
13079
13080// SetOwnerId sets the OwnerId field's value.
13081func (s *AwsEc2SubnetDetails) SetOwnerId(v string) *AwsEc2SubnetDetails {
13082	s.OwnerId = &v
13083	return s
13084}
13085
13086// SetState sets the State field's value.
13087func (s *AwsEc2SubnetDetails) SetState(v string) *AwsEc2SubnetDetails {
13088	s.State = &v
13089	return s
13090}
13091
13092// SetSubnetArn sets the SubnetArn field's value.
13093func (s *AwsEc2SubnetDetails) SetSubnetArn(v string) *AwsEc2SubnetDetails {
13094	s.SubnetArn = &v
13095	return s
13096}
13097
13098// SetSubnetId sets the SubnetId field's value.
13099func (s *AwsEc2SubnetDetails) SetSubnetId(v string) *AwsEc2SubnetDetails {
13100	s.SubnetId = &v
13101	return s
13102}
13103
13104// SetVpcId sets the VpcId field's value.
13105func (s *AwsEc2SubnetDetails) SetVpcId(v string) *AwsEc2SubnetDetails {
13106	s.VpcId = &v
13107	return s
13108}
13109
13110// An attachment to an Amazon EC2 volume.
13111type AwsEc2VolumeAttachment struct {
13112	_ struct{} `type:"structure"`
13113
13114	// The datetime when the attachment initiated.
13115	AttachTime *string `type:"string"`
13116
13117	// Whether the EBS volume is deleted when the EC2 instance is terminated.
13118	DeleteOnTermination *bool `type:"boolean"`
13119
13120	// The identifier of the EC2 instance.
13121	InstanceId *string `type:"string"`
13122
13123	// The attachment state of the volume.
13124	Status *string `type:"string"`
13125}
13126
13127// String returns the string representation.
13128//
13129// API parameter values that are decorated as "sensitive" in the API will not
13130// be included in the string output. The member name will be present, but the
13131// value will be replaced with "sensitive".
13132func (s AwsEc2VolumeAttachment) String() string {
13133	return awsutil.Prettify(s)
13134}
13135
13136// GoString returns the string representation.
13137//
13138// API parameter values that are decorated as "sensitive" in the API will not
13139// be included in the string output. The member name will be present, but the
13140// value will be replaced with "sensitive".
13141func (s AwsEc2VolumeAttachment) GoString() string {
13142	return s.String()
13143}
13144
13145// SetAttachTime sets the AttachTime field's value.
13146func (s *AwsEc2VolumeAttachment) SetAttachTime(v string) *AwsEc2VolumeAttachment {
13147	s.AttachTime = &v
13148	return s
13149}
13150
13151// SetDeleteOnTermination sets the DeleteOnTermination field's value.
13152func (s *AwsEc2VolumeAttachment) SetDeleteOnTermination(v bool) *AwsEc2VolumeAttachment {
13153	s.DeleteOnTermination = &v
13154	return s
13155}
13156
13157// SetInstanceId sets the InstanceId field's value.
13158func (s *AwsEc2VolumeAttachment) SetInstanceId(v string) *AwsEc2VolumeAttachment {
13159	s.InstanceId = &v
13160	return s
13161}
13162
13163// SetStatus sets the Status field's value.
13164func (s *AwsEc2VolumeAttachment) SetStatus(v string) *AwsEc2VolumeAttachment {
13165	s.Status = &v
13166	return s
13167}
13168
13169// Details about an EC2 volume.
13170type AwsEc2VolumeDetails struct {
13171	_ struct{} `type:"structure"`
13172
13173	// The volume attachments.
13174	Attachments []*AwsEc2VolumeAttachment `type:"list"`
13175
13176	// Indicates when the volume was created.
13177	//
13178	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
13179	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
13180	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
13181	CreateTime *string `type:"string"`
13182
13183	// Whether the volume is encrypted.
13184	Encrypted *bool `type:"boolean"`
13185
13186	// The ARN of the KMS key that was used to protect the volume encryption key
13187	// for the volume.
13188	KmsKeyId *string `type:"string"`
13189
13190	// The size of the volume, in GiBs.
13191	Size *int64 `type:"integer"`
13192
13193	// The snapshot from which the volume was created.
13194	SnapshotId *string `type:"string"`
13195
13196	// The volume state.
13197	Status *string `type:"string"`
13198}
13199
13200// String returns the string representation.
13201//
13202// API parameter values that are decorated as "sensitive" in the API will not
13203// be included in the string output. The member name will be present, but the
13204// value will be replaced with "sensitive".
13205func (s AwsEc2VolumeDetails) String() string {
13206	return awsutil.Prettify(s)
13207}
13208
13209// GoString returns the string representation.
13210//
13211// API parameter values that are decorated as "sensitive" in the API will not
13212// be included in the string output. The member name will be present, but the
13213// value will be replaced with "sensitive".
13214func (s AwsEc2VolumeDetails) GoString() string {
13215	return s.String()
13216}
13217
13218// SetAttachments sets the Attachments field's value.
13219func (s *AwsEc2VolumeDetails) SetAttachments(v []*AwsEc2VolumeAttachment) *AwsEc2VolumeDetails {
13220	s.Attachments = v
13221	return s
13222}
13223
13224// SetCreateTime sets the CreateTime field's value.
13225func (s *AwsEc2VolumeDetails) SetCreateTime(v string) *AwsEc2VolumeDetails {
13226	s.CreateTime = &v
13227	return s
13228}
13229
13230// SetEncrypted sets the Encrypted field's value.
13231func (s *AwsEc2VolumeDetails) SetEncrypted(v bool) *AwsEc2VolumeDetails {
13232	s.Encrypted = &v
13233	return s
13234}
13235
13236// SetKmsKeyId sets the KmsKeyId field's value.
13237func (s *AwsEc2VolumeDetails) SetKmsKeyId(v string) *AwsEc2VolumeDetails {
13238	s.KmsKeyId = &v
13239	return s
13240}
13241
13242// SetSize sets the Size field's value.
13243func (s *AwsEc2VolumeDetails) SetSize(v int64) *AwsEc2VolumeDetails {
13244	s.Size = &v
13245	return s
13246}
13247
13248// SetSnapshotId sets the SnapshotId field's value.
13249func (s *AwsEc2VolumeDetails) SetSnapshotId(v string) *AwsEc2VolumeDetails {
13250	s.SnapshotId = &v
13251	return s
13252}
13253
13254// SetStatus sets the Status field's value.
13255func (s *AwsEc2VolumeDetails) SetStatus(v string) *AwsEc2VolumeDetails {
13256	s.Status = &v
13257	return s
13258}
13259
13260// Details about an EC2 VPC.
13261type AwsEc2VpcDetails struct {
13262	_ struct{} `type:"structure"`
13263
13264	// Information about the IPv4 CIDR blocks associated with the VPC.
13265	CidrBlockAssociationSet []*CidrBlockAssociation `type:"list"`
13266
13267	// The identifier of the set of Dynamic Host Configuration Protocol (DHCP) options
13268	// that are associated with the VPC. If the default options are associated with
13269	// the VPC, then this is default.
13270	DhcpOptionsId *string `type:"string"`
13271
13272	// Information about the IPv6 CIDR blocks associated with the VPC.
13273	Ipv6CidrBlockAssociationSet []*Ipv6CidrBlockAssociation `type:"list"`
13274
13275	// The current state of the VPC.
13276	State *string `type:"string"`
13277}
13278
13279// String returns the string representation.
13280//
13281// API parameter values that are decorated as "sensitive" in the API will not
13282// be included in the string output. The member name will be present, but the
13283// value will be replaced with "sensitive".
13284func (s AwsEc2VpcDetails) String() string {
13285	return awsutil.Prettify(s)
13286}
13287
13288// GoString returns the string representation.
13289//
13290// API parameter values that are decorated as "sensitive" in the API will not
13291// be included in the string output. The member name will be present, but the
13292// value will be replaced with "sensitive".
13293func (s AwsEc2VpcDetails) GoString() string {
13294	return s.String()
13295}
13296
13297// SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value.
13298func (s *AwsEc2VpcDetails) SetCidrBlockAssociationSet(v []*CidrBlockAssociation) *AwsEc2VpcDetails {
13299	s.CidrBlockAssociationSet = v
13300	return s
13301}
13302
13303// SetDhcpOptionsId sets the DhcpOptionsId field's value.
13304func (s *AwsEc2VpcDetails) SetDhcpOptionsId(v string) *AwsEc2VpcDetails {
13305	s.DhcpOptionsId = &v
13306	return s
13307}
13308
13309// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
13310func (s *AwsEc2VpcDetails) SetIpv6CidrBlockAssociationSet(v []*Ipv6CidrBlockAssociation) *AwsEc2VpcDetails {
13311	s.Ipv6CidrBlockAssociationSet = v
13312	return s
13313}
13314
13315// SetState sets the State field's value.
13316func (s *AwsEc2VpcDetails) SetState(v string) *AwsEc2VpcDetails {
13317	s.State = &v
13318	return s
13319}
13320
13321// Contains details about the service configuration for a VPC endpoint service.
13322type AwsEc2VpcEndpointServiceDetails struct {
13323	_ struct{} `type:"structure"`
13324
13325	// Whether requests from other Amazon Web Services accounts to create an endpoint
13326	// to the service must first be accepted.
13327	AcceptanceRequired *bool `type:"boolean"`
13328
13329	// The Availability Zones where the service is available.
13330	AvailabilityZones []*string `type:"list"`
13331
13332	// The DNS names for the service.
13333	BaseEndpointDnsNames []*string `type:"list"`
13334
13335	// The ARNs of the Gateway Load Balancers for the service.
13336	GatewayLoadBalancerArns []*string `type:"list"`
13337
13338	// Whether the service manages its VPC endpoints.
13339	ManagesVpcEndpoints *bool `type:"boolean"`
13340
13341	// The ARNs of the Network Load Balancers for the service.
13342	NetworkLoadBalancerArns []*string `type:"list"`
13343
13344	// The private DNS name for the service.
13345	PrivateDnsName *string `type:"string"`
13346
13347	// The identifier of the service.
13348	ServiceId *string `type:"string"`
13349
13350	// The name of the service.
13351	ServiceName *string `type:"string"`
13352
13353	// The current state of the service.
13354	ServiceState *string `type:"string"`
13355
13356	// The types for the service.
13357	ServiceType []*AwsEc2VpcEndpointServiceServiceTypeDetails `type:"list"`
13358}
13359
13360// String returns the string representation.
13361//
13362// API parameter values that are decorated as "sensitive" in the API will not
13363// be included in the string output. The member name will be present, but the
13364// value will be replaced with "sensitive".
13365func (s AwsEc2VpcEndpointServiceDetails) String() string {
13366	return awsutil.Prettify(s)
13367}
13368
13369// GoString returns the string representation.
13370//
13371// API parameter values that are decorated as "sensitive" in the API will not
13372// be included in the string output. The member name will be present, but the
13373// value will be replaced with "sensitive".
13374func (s AwsEc2VpcEndpointServiceDetails) GoString() string {
13375	return s.String()
13376}
13377
13378// SetAcceptanceRequired sets the AcceptanceRequired field's value.
13379func (s *AwsEc2VpcEndpointServiceDetails) SetAcceptanceRequired(v bool) *AwsEc2VpcEndpointServiceDetails {
13380	s.AcceptanceRequired = &v
13381	return s
13382}
13383
13384// SetAvailabilityZones sets the AvailabilityZones field's value.
13385func (s *AwsEc2VpcEndpointServiceDetails) SetAvailabilityZones(v []*string) *AwsEc2VpcEndpointServiceDetails {
13386	s.AvailabilityZones = v
13387	return s
13388}
13389
13390// SetBaseEndpointDnsNames sets the BaseEndpointDnsNames field's value.
13391func (s *AwsEc2VpcEndpointServiceDetails) SetBaseEndpointDnsNames(v []*string) *AwsEc2VpcEndpointServiceDetails {
13392	s.BaseEndpointDnsNames = v
13393	return s
13394}
13395
13396// SetGatewayLoadBalancerArns sets the GatewayLoadBalancerArns field's value.
13397func (s *AwsEc2VpcEndpointServiceDetails) SetGatewayLoadBalancerArns(v []*string) *AwsEc2VpcEndpointServiceDetails {
13398	s.GatewayLoadBalancerArns = v
13399	return s
13400}
13401
13402// SetManagesVpcEndpoints sets the ManagesVpcEndpoints field's value.
13403func (s *AwsEc2VpcEndpointServiceDetails) SetManagesVpcEndpoints(v bool) *AwsEc2VpcEndpointServiceDetails {
13404	s.ManagesVpcEndpoints = &v
13405	return s
13406}
13407
13408// SetNetworkLoadBalancerArns sets the NetworkLoadBalancerArns field's value.
13409func (s *AwsEc2VpcEndpointServiceDetails) SetNetworkLoadBalancerArns(v []*string) *AwsEc2VpcEndpointServiceDetails {
13410	s.NetworkLoadBalancerArns = v
13411	return s
13412}
13413
13414// SetPrivateDnsName sets the PrivateDnsName field's value.
13415func (s *AwsEc2VpcEndpointServiceDetails) SetPrivateDnsName(v string) *AwsEc2VpcEndpointServiceDetails {
13416	s.PrivateDnsName = &v
13417	return s
13418}
13419
13420// SetServiceId sets the ServiceId field's value.
13421func (s *AwsEc2VpcEndpointServiceDetails) SetServiceId(v string) *AwsEc2VpcEndpointServiceDetails {
13422	s.ServiceId = &v
13423	return s
13424}
13425
13426// SetServiceName sets the ServiceName field's value.
13427func (s *AwsEc2VpcEndpointServiceDetails) SetServiceName(v string) *AwsEc2VpcEndpointServiceDetails {
13428	s.ServiceName = &v
13429	return s
13430}
13431
13432// SetServiceState sets the ServiceState field's value.
13433func (s *AwsEc2VpcEndpointServiceDetails) SetServiceState(v string) *AwsEc2VpcEndpointServiceDetails {
13434	s.ServiceState = &v
13435	return s
13436}
13437
13438// SetServiceType sets the ServiceType field's value.
13439func (s *AwsEc2VpcEndpointServiceDetails) SetServiceType(v []*AwsEc2VpcEndpointServiceServiceTypeDetails) *AwsEc2VpcEndpointServiceDetails {
13440	s.ServiceType = v
13441	return s
13442}
13443
13444// The service type information for a VPC endpoint service.
13445type AwsEc2VpcEndpointServiceServiceTypeDetails struct {
13446	_ struct{} `type:"structure"`
13447
13448	// The type of service.
13449	ServiceType *string `type:"string"`
13450}
13451
13452// String returns the string representation.
13453//
13454// API parameter values that are decorated as "sensitive" in the API will not
13455// be included in the string output. The member name will be present, but the
13456// value will be replaced with "sensitive".
13457func (s AwsEc2VpcEndpointServiceServiceTypeDetails) String() string {
13458	return awsutil.Prettify(s)
13459}
13460
13461// GoString returns the string representation.
13462//
13463// API parameter values that are decorated as "sensitive" in the API will not
13464// be included in the string output. The member name will be present, but the
13465// value will be replaced with "sensitive".
13466func (s AwsEc2VpcEndpointServiceServiceTypeDetails) GoString() string {
13467	return s.String()
13468}
13469
13470// SetServiceType sets the ServiceType field's value.
13471func (s *AwsEc2VpcEndpointServiceServiceTypeDetails) SetServiceType(v string) *AwsEc2VpcEndpointServiceServiceTypeDetails {
13472	s.ServiceType = &v
13473	return s
13474}
13475
13476// Details about an Amazon EC2 VPN connection.
13477type AwsEc2VpnConnectionDetails struct {
13478	_ struct{} `type:"structure"`
13479
13480	// The category of the VPN connection. VPN indicates an Amazon Web Services
13481	// VPN connection. VPN-Classic indicates an Amazon Web Services Classic VPN
13482	// connection.
13483	Category *string `type:"string"`
13484
13485	// The configuration information for the VPN connection's customer gateway,
13486	// in the native XML format.
13487	CustomerGatewayConfiguration *string `type:"string"`
13488
13489	// The identifier of the customer gateway that is at your end of the VPN connection.
13490	CustomerGatewayId *string `type:"string"`
13491
13492	// The VPN connection options.
13493	Options *AwsEc2VpnConnectionOptionsDetails `type:"structure"`
13494
13495	// The static routes that are associated with the VPN connection.
13496	Routes []*AwsEc2VpnConnectionRoutesDetails `type:"list"`
13497
13498	// The current state of the VPN connection.
13499	State *string `type:"string"`
13500
13501	// The identifier of the transit gateway that is associated with the VPN connection.
13502	TransitGatewayId *string `type:"string"`
13503
13504	// The type of VPN connection.
13505	Type *string `type:"string"`
13506
13507	// Information about the VPN tunnel.
13508	VgwTelemetry []*AwsEc2VpnConnectionVgwTelemetryDetails `type:"list"`
13509
13510	// The identifier of the VPN connection.
13511	VpnConnectionId *string `type:"string"`
13512
13513	// The identifier of the virtual private gateway that is at the Amazon Web Services
13514	// side of the VPN connection.
13515	VpnGatewayId *string `type:"string"`
13516}
13517
13518// String returns the string representation.
13519//
13520// API parameter values that are decorated as "sensitive" in the API will not
13521// be included in the string output. The member name will be present, but the
13522// value will be replaced with "sensitive".
13523func (s AwsEc2VpnConnectionDetails) String() string {
13524	return awsutil.Prettify(s)
13525}
13526
13527// GoString returns the string representation.
13528//
13529// API parameter values that are decorated as "sensitive" in the API will not
13530// be included in the string output. The member name will be present, but the
13531// value will be replaced with "sensitive".
13532func (s AwsEc2VpnConnectionDetails) GoString() string {
13533	return s.String()
13534}
13535
13536// SetCategory sets the Category field's value.
13537func (s *AwsEc2VpnConnectionDetails) SetCategory(v string) *AwsEc2VpnConnectionDetails {
13538	s.Category = &v
13539	return s
13540}
13541
13542// SetCustomerGatewayConfiguration sets the CustomerGatewayConfiguration field's value.
13543func (s *AwsEc2VpnConnectionDetails) SetCustomerGatewayConfiguration(v string) *AwsEc2VpnConnectionDetails {
13544	s.CustomerGatewayConfiguration = &v
13545	return s
13546}
13547
13548// SetCustomerGatewayId sets the CustomerGatewayId field's value.
13549func (s *AwsEc2VpnConnectionDetails) SetCustomerGatewayId(v string) *AwsEc2VpnConnectionDetails {
13550	s.CustomerGatewayId = &v
13551	return s
13552}
13553
13554// SetOptions sets the Options field's value.
13555func (s *AwsEc2VpnConnectionDetails) SetOptions(v *AwsEc2VpnConnectionOptionsDetails) *AwsEc2VpnConnectionDetails {
13556	s.Options = v
13557	return s
13558}
13559
13560// SetRoutes sets the Routes field's value.
13561func (s *AwsEc2VpnConnectionDetails) SetRoutes(v []*AwsEc2VpnConnectionRoutesDetails) *AwsEc2VpnConnectionDetails {
13562	s.Routes = v
13563	return s
13564}
13565
13566// SetState sets the State field's value.
13567func (s *AwsEc2VpnConnectionDetails) SetState(v string) *AwsEc2VpnConnectionDetails {
13568	s.State = &v
13569	return s
13570}
13571
13572// SetTransitGatewayId sets the TransitGatewayId field's value.
13573func (s *AwsEc2VpnConnectionDetails) SetTransitGatewayId(v string) *AwsEc2VpnConnectionDetails {
13574	s.TransitGatewayId = &v
13575	return s
13576}
13577
13578// SetType sets the Type field's value.
13579func (s *AwsEc2VpnConnectionDetails) SetType(v string) *AwsEc2VpnConnectionDetails {
13580	s.Type = &v
13581	return s
13582}
13583
13584// SetVgwTelemetry sets the VgwTelemetry field's value.
13585func (s *AwsEc2VpnConnectionDetails) SetVgwTelemetry(v []*AwsEc2VpnConnectionVgwTelemetryDetails) *AwsEc2VpnConnectionDetails {
13586	s.VgwTelemetry = v
13587	return s
13588}
13589
13590// SetVpnConnectionId sets the VpnConnectionId field's value.
13591func (s *AwsEc2VpnConnectionDetails) SetVpnConnectionId(v string) *AwsEc2VpnConnectionDetails {
13592	s.VpnConnectionId = &v
13593	return s
13594}
13595
13596// SetVpnGatewayId sets the VpnGatewayId field's value.
13597func (s *AwsEc2VpnConnectionDetails) SetVpnGatewayId(v string) *AwsEc2VpnConnectionDetails {
13598	s.VpnGatewayId = &v
13599	return s
13600}
13601
13602// VPN connection options.
13603type AwsEc2VpnConnectionOptionsDetails struct {
13604	_ struct{} `type:"structure"`
13605
13606	// Whether the VPN connection uses static routes only.
13607	StaticRoutesOnly *bool `type:"boolean"`
13608
13609	// The VPN tunnel options.
13610	TunnelOptions []*AwsEc2VpnConnectionOptionsTunnelOptionsDetails `type:"list"`
13611}
13612
13613// String returns the string representation.
13614//
13615// API parameter values that are decorated as "sensitive" in the API will not
13616// be included in the string output. The member name will be present, but the
13617// value will be replaced with "sensitive".
13618func (s AwsEc2VpnConnectionOptionsDetails) String() string {
13619	return awsutil.Prettify(s)
13620}
13621
13622// GoString returns the string representation.
13623//
13624// API parameter values that are decorated as "sensitive" in the API will not
13625// be included in the string output. The member name will be present, but the
13626// value will be replaced with "sensitive".
13627func (s AwsEc2VpnConnectionOptionsDetails) GoString() string {
13628	return s.String()
13629}
13630
13631// SetStaticRoutesOnly sets the StaticRoutesOnly field's value.
13632func (s *AwsEc2VpnConnectionOptionsDetails) SetStaticRoutesOnly(v bool) *AwsEc2VpnConnectionOptionsDetails {
13633	s.StaticRoutesOnly = &v
13634	return s
13635}
13636
13637// SetTunnelOptions sets the TunnelOptions field's value.
13638func (s *AwsEc2VpnConnectionOptionsDetails) SetTunnelOptions(v []*AwsEc2VpnConnectionOptionsTunnelOptionsDetails) *AwsEc2VpnConnectionOptionsDetails {
13639	s.TunnelOptions = v
13640	return s
13641}
13642
13643// The VPN tunnel options.
13644type AwsEc2VpnConnectionOptionsTunnelOptionsDetails struct {
13645	_ struct{} `type:"structure"`
13646
13647	// The number of seconds after which a Dead Peer Detection (DPD) timeout occurs.
13648	DpdTimeoutSeconds *int64 `type:"integer"`
13649
13650	// The Internet Key Exchange (IKE) versions that are permitted for the VPN tunnel.
13651	IkeVersions []*string `type:"list"`
13652
13653	// The external IP address of the VPN tunnel.
13654	OutsideIpAddress *string `type:"string"`
13655
13656	// The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 1
13657	// IKE negotiations.
13658	Phase1DhGroupNumbers []*int64 `type:"list"`
13659
13660	// The permitted encryption algorithms for the VPN tunnel for phase 1 IKE negotiations.
13661	Phase1EncryptionAlgorithms []*string `type:"list"`
13662
13663	// The permitted integrity algorithms for the VPN tunnel for phase 1 IKE negotiations.
13664	Phase1IntegrityAlgorithms []*string `type:"list"`
13665
13666	// The lifetime for phase 1 of the IKE negotiation, in seconds.
13667	Phase1LifetimeSeconds *int64 `type:"integer"`
13668
13669	// The permitted Diffie-Hellman group numbers for the VPN tunnel for phase 2
13670	// IKE negotiations.
13671	Phase2DhGroupNumbers []*int64 `type:"list"`
13672
13673	// The permitted encryption algorithms for the VPN tunnel for phase 2 IKE negotiations.
13674	Phase2EncryptionAlgorithms []*string `type:"list"`
13675
13676	// The permitted integrity algorithms for the VPN tunnel for phase 2 IKE negotiations.
13677	Phase2IntegrityAlgorithms []*string `type:"list"`
13678
13679	// The lifetime for phase 2 of the IKE negotiation, in seconds.
13680	Phase2LifetimeSeconds *int64 `type:"integer"`
13681
13682	// The preshared key to establish initial authentication between the virtual
13683	// private gateway and the customer gateway.
13684	PreSharedKey *string `type:"string"`
13685
13686	// The percentage of the rekey window, which is determined by RekeyMarginTimeSeconds
13687	// during which the rekey time is randomly selected.
13688	RekeyFuzzPercentage *int64 `type:"integer"`
13689
13690	// The margin time, in seconds, before the phase 2 lifetime expires, during
13691	// which the Amazon Web Services side of the VPN connection performs an IKE
13692	// rekey.
13693	RekeyMarginTimeSeconds *int64 `type:"integer"`
13694
13695	// The number of packets in an IKE replay window.
13696	ReplayWindowSize *int64 `type:"integer"`
13697
13698	// The range of inside IPv4 addresses for the tunnel.
13699	TunnelInsideCidr *string `type:"string"`
13700}
13701
13702// String returns the string representation.
13703//
13704// API parameter values that are decorated as "sensitive" in the API will not
13705// be included in the string output. The member name will be present, but the
13706// value will be replaced with "sensitive".
13707func (s AwsEc2VpnConnectionOptionsTunnelOptionsDetails) String() string {
13708	return awsutil.Prettify(s)
13709}
13710
13711// GoString returns the string representation.
13712//
13713// API parameter values that are decorated as "sensitive" in the API will not
13714// be included in the string output. The member name will be present, but the
13715// value will be replaced with "sensitive".
13716func (s AwsEc2VpnConnectionOptionsTunnelOptionsDetails) GoString() string {
13717	return s.String()
13718}
13719
13720// SetDpdTimeoutSeconds sets the DpdTimeoutSeconds field's value.
13721func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetDpdTimeoutSeconds(v int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
13722	s.DpdTimeoutSeconds = &v
13723	return s
13724}
13725
13726// SetIkeVersions sets the IkeVersions field's value.
13727func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetIkeVersions(v []*string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
13728	s.IkeVersions = v
13729	return s
13730}
13731
13732// SetOutsideIpAddress sets the OutsideIpAddress field's value.
13733func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetOutsideIpAddress(v string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
13734	s.OutsideIpAddress = &v
13735	return s
13736}
13737
13738// SetPhase1DhGroupNumbers sets the Phase1DhGroupNumbers field's value.
13739func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase1DhGroupNumbers(v []*int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
13740	s.Phase1DhGroupNumbers = v
13741	return s
13742}
13743
13744// SetPhase1EncryptionAlgorithms sets the Phase1EncryptionAlgorithms field's value.
13745func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase1EncryptionAlgorithms(v []*string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
13746	s.Phase1EncryptionAlgorithms = v
13747	return s
13748}
13749
13750// SetPhase1IntegrityAlgorithms sets the Phase1IntegrityAlgorithms field's value.
13751func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase1IntegrityAlgorithms(v []*string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
13752	s.Phase1IntegrityAlgorithms = v
13753	return s
13754}
13755
13756// SetPhase1LifetimeSeconds sets the Phase1LifetimeSeconds field's value.
13757func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase1LifetimeSeconds(v int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
13758	s.Phase1LifetimeSeconds = &v
13759	return s
13760}
13761
13762// SetPhase2DhGroupNumbers sets the Phase2DhGroupNumbers field's value.
13763func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase2DhGroupNumbers(v []*int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
13764	s.Phase2DhGroupNumbers = v
13765	return s
13766}
13767
13768// SetPhase2EncryptionAlgorithms sets the Phase2EncryptionAlgorithms field's value.
13769func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase2EncryptionAlgorithms(v []*string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
13770	s.Phase2EncryptionAlgorithms = v
13771	return s
13772}
13773
13774// SetPhase2IntegrityAlgorithms sets the Phase2IntegrityAlgorithms field's value.
13775func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase2IntegrityAlgorithms(v []*string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
13776	s.Phase2IntegrityAlgorithms = v
13777	return s
13778}
13779
13780// SetPhase2LifetimeSeconds sets the Phase2LifetimeSeconds field's value.
13781func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPhase2LifetimeSeconds(v int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
13782	s.Phase2LifetimeSeconds = &v
13783	return s
13784}
13785
13786// SetPreSharedKey sets the PreSharedKey field's value.
13787func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetPreSharedKey(v string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
13788	s.PreSharedKey = &v
13789	return s
13790}
13791
13792// SetRekeyFuzzPercentage sets the RekeyFuzzPercentage field's value.
13793func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetRekeyFuzzPercentage(v int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
13794	s.RekeyFuzzPercentage = &v
13795	return s
13796}
13797
13798// SetRekeyMarginTimeSeconds sets the RekeyMarginTimeSeconds field's value.
13799func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetRekeyMarginTimeSeconds(v int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
13800	s.RekeyMarginTimeSeconds = &v
13801	return s
13802}
13803
13804// SetReplayWindowSize sets the ReplayWindowSize field's value.
13805func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetReplayWindowSize(v int64) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
13806	s.ReplayWindowSize = &v
13807	return s
13808}
13809
13810// SetTunnelInsideCidr sets the TunnelInsideCidr field's value.
13811func (s *AwsEc2VpnConnectionOptionsTunnelOptionsDetails) SetTunnelInsideCidr(v string) *AwsEc2VpnConnectionOptionsTunnelOptionsDetails {
13812	s.TunnelInsideCidr = &v
13813	return s
13814}
13815
13816// A static routes associated with the VPN connection.
13817type AwsEc2VpnConnectionRoutesDetails struct {
13818	_ struct{} `type:"structure"`
13819
13820	// The CIDR block associated with the local subnet of the customer data center.
13821	DestinationCidrBlock *string `type:"string"`
13822
13823	// The current state of the static route.
13824	State *string `type:"string"`
13825}
13826
13827// String returns the string representation.
13828//
13829// API parameter values that are decorated as "sensitive" in the API will not
13830// be included in the string output. The member name will be present, but the
13831// value will be replaced with "sensitive".
13832func (s AwsEc2VpnConnectionRoutesDetails) String() string {
13833	return awsutil.Prettify(s)
13834}
13835
13836// GoString returns the string representation.
13837//
13838// API parameter values that are decorated as "sensitive" in the API will not
13839// be included in the string output. The member name will be present, but the
13840// value will be replaced with "sensitive".
13841func (s AwsEc2VpnConnectionRoutesDetails) GoString() string {
13842	return s.String()
13843}
13844
13845// SetDestinationCidrBlock sets the DestinationCidrBlock field's value.
13846func (s *AwsEc2VpnConnectionRoutesDetails) SetDestinationCidrBlock(v string) *AwsEc2VpnConnectionRoutesDetails {
13847	s.DestinationCidrBlock = &v
13848	return s
13849}
13850
13851// SetState sets the State field's value.
13852func (s *AwsEc2VpnConnectionRoutesDetails) SetState(v string) *AwsEc2VpnConnectionRoutesDetails {
13853	s.State = &v
13854	return s
13855}
13856
13857// Information about the VPN tunnel.
13858type AwsEc2VpnConnectionVgwTelemetryDetails struct {
13859	_ struct{} `type:"structure"`
13860
13861	// The number of accepted routes.
13862	AcceptedRouteCount *int64 `type:"integer"`
13863
13864	// The ARN of the VPN tunnel endpoint certificate.
13865	CertificateArn *string `type:"string"`
13866
13867	// The date and time of the last change in status.
13868	//
13869	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
13870	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
13871	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
13872	LastStatusChange *string `type:"string"`
13873
13874	// The Internet-routable IP address of the virtual private gateway's outside
13875	// interface.
13876	OutsideIpAddress *string `type:"string"`
13877
13878	// The status of the VPN tunnel.
13879	Status *string `type:"string"`
13880
13881	// If an error occurs, a description of the error.
13882	StatusMessage *string `type:"string"`
13883}
13884
13885// String returns the string representation.
13886//
13887// API parameter values that are decorated as "sensitive" in the API will not
13888// be included in the string output. The member name will be present, but the
13889// value will be replaced with "sensitive".
13890func (s AwsEc2VpnConnectionVgwTelemetryDetails) String() string {
13891	return awsutil.Prettify(s)
13892}
13893
13894// GoString returns the string representation.
13895//
13896// API parameter values that are decorated as "sensitive" in the API will not
13897// be included in the string output. The member name will be present, but the
13898// value will be replaced with "sensitive".
13899func (s AwsEc2VpnConnectionVgwTelemetryDetails) GoString() string {
13900	return s.String()
13901}
13902
13903// SetAcceptedRouteCount sets the AcceptedRouteCount field's value.
13904func (s *AwsEc2VpnConnectionVgwTelemetryDetails) SetAcceptedRouteCount(v int64) *AwsEc2VpnConnectionVgwTelemetryDetails {
13905	s.AcceptedRouteCount = &v
13906	return s
13907}
13908
13909// SetCertificateArn sets the CertificateArn field's value.
13910func (s *AwsEc2VpnConnectionVgwTelemetryDetails) SetCertificateArn(v string) *AwsEc2VpnConnectionVgwTelemetryDetails {
13911	s.CertificateArn = &v
13912	return s
13913}
13914
13915// SetLastStatusChange sets the LastStatusChange field's value.
13916func (s *AwsEc2VpnConnectionVgwTelemetryDetails) SetLastStatusChange(v string) *AwsEc2VpnConnectionVgwTelemetryDetails {
13917	s.LastStatusChange = &v
13918	return s
13919}
13920
13921// SetOutsideIpAddress sets the OutsideIpAddress field's value.
13922func (s *AwsEc2VpnConnectionVgwTelemetryDetails) SetOutsideIpAddress(v string) *AwsEc2VpnConnectionVgwTelemetryDetails {
13923	s.OutsideIpAddress = &v
13924	return s
13925}
13926
13927// SetStatus sets the Status field's value.
13928func (s *AwsEc2VpnConnectionVgwTelemetryDetails) SetStatus(v string) *AwsEc2VpnConnectionVgwTelemetryDetails {
13929	s.Status = &v
13930	return s
13931}
13932
13933// SetStatusMessage sets the StatusMessage field's value.
13934func (s *AwsEc2VpnConnectionVgwTelemetryDetails) SetStatusMessage(v string) *AwsEc2VpnConnectionVgwTelemetryDetails {
13935	s.StatusMessage = &v
13936	return s
13937}
13938
13939// Information about an Amazon ECR image.
13940type AwsEcrContainerImageDetails struct {
13941	_ struct{} `type:"structure"`
13942
13943	// The architecture of the image.
13944	Architecture *string `type:"string"`
13945
13946	// The sha256 digest of the image manifest.
13947	ImageDigest *string `type:"string"`
13948
13949	// The date and time when the image was pushed to the repository.
13950	//
13951	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
13952	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
13953	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
13954	ImagePublishedAt *string `type:"string"`
13955
13956	// The list of tags that are associated with the image.
13957	ImageTags []*string `type:"list"`
13958
13959	// The Amazon Web Services account identifier that is associated with the registry
13960	// that the image belongs to.
13961	RegistryId *string `type:"string"`
13962
13963	// The name of the repository that the image belongs to.
13964	RepositoryName *string `type:"string"`
13965}
13966
13967// String returns the string representation.
13968//
13969// API parameter values that are decorated as "sensitive" in the API will not
13970// be included in the string output. The member name will be present, but the
13971// value will be replaced with "sensitive".
13972func (s AwsEcrContainerImageDetails) String() string {
13973	return awsutil.Prettify(s)
13974}
13975
13976// GoString returns the string representation.
13977//
13978// API parameter values that are decorated as "sensitive" in the API will not
13979// be included in the string output. The member name will be present, but the
13980// value will be replaced with "sensitive".
13981func (s AwsEcrContainerImageDetails) GoString() string {
13982	return s.String()
13983}
13984
13985// SetArchitecture sets the Architecture field's value.
13986func (s *AwsEcrContainerImageDetails) SetArchitecture(v string) *AwsEcrContainerImageDetails {
13987	s.Architecture = &v
13988	return s
13989}
13990
13991// SetImageDigest sets the ImageDigest field's value.
13992func (s *AwsEcrContainerImageDetails) SetImageDigest(v string) *AwsEcrContainerImageDetails {
13993	s.ImageDigest = &v
13994	return s
13995}
13996
13997// SetImagePublishedAt sets the ImagePublishedAt field's value.
13998func (s *AwsEcrContainerImageDetails) SetImagePublishedAt(v string) *AwsEcrContainerImageDetails {
13999	s.ImagePublishedAt = &v
14000	return s
14001}
14002
14003// SetImageTags sets the ImageTags field's value.
14004func (s *AwsEcrContainerImageDetails) SetImageTags(v []*string) *AwsEcrContainerImageDetails {
14005	s.ImageTags = v
14006	return s
14007}
14008
14009// SetRegistryId sets the RegistryId field's value.
14010func (s *AwsEcrContainerImageDetails) SetRegistryId(v string) *AwsEcrContainerImageDetails {
14011	s.RegistryId = &v
14012	return s
14013}
14014
14015// SetRepositoryName sets the RepositoryName field's value.
14016func (s *AwsEcrContainerImageDetails) SetRepositoryName(v string) *AwsEcrContainerImageDetails {
14017	s.RepositoryName = &v
14018	return s
14019}
14020
14021// Provides information about an Amazon Elastic Container Registry repository.
14022type AwsEcrRepositoryDetails struct {
14023	_ struct{} `type:"structure"`
14024
14025	// The ARN of the repository.
14026	Arn *string `type:"string"`
14027
14028	// The image scanning configuration for a repository.
14029	ImageScanningConfiguration *AwsEcrRepositoryImageScanningConfigurationDetails `type:"structure"`
14030
14031	// The tag mutability setting for the repository.
14032	ImageTagMutability *string `type:"string"`
14033
14034	// Information about the lifecycle policy for the repository.
14035	LifecyclePolicy *AwsEcrRepositoryLifecyclePolicyDetails `type:"structure"`
14036
14037	// The name of the repository.
14038	RepositoryName *string `type:"string"`
14039
14040	// The text of the repository policy.
14041	RepositoryPolicyText *string `type:"string"`
14042}
14043
14044// String returns the string representation.
14045//
14046// API parameter values that are decorated as "sensitive" in the API will not
14047// be included in the string output. The member name will be present, but the
14048// value will be replaced with "sensitive".
14049func (s AwsEcrRepositoryDetails) String() string {
14050	return awsutil.Prettify(s)
14051}
14052
14053// GoString returns the string representation.
14054//
14055// API parameter values that are decorated as "sensitive" in the API will not
14056// be included in the string output. The member name will be present, but the
14057// value will be replaced with "sensitive".
14058func (s AwsEcrRepositoryDetails) GoString() string {
14059	return s.String()
14060}
14061
14062// SetArn sets the Arn field's value.
14063func (s *AwsEcrRepositoryDetails) SetArn(v string) *AwsEcrRepositoryDetails {
14064	s.Arn = &v
14065	return s
14066}
14067
14068// SetImageScanningConfiguration sets the ImageScanningConfiguration field's value.
14069func (s *AwsEcrRepositoryDetails) SetImageScanningConfiguration(v *AwsEcrRepositoryImageScanningConfigurationDetails) *AwsEcrRepositoryDetails {
14070	s.ImageScanningConfiguration = v
14071	return s
14072}
14073
14074// SetImageTagMutability sets the ImageTagMutability field's value.
14075func (s *AwsEcrRepositoryDetails) SetImageTagMutability(v string) *AwsEcrRepositoryDetails {
14076	s.ImageTagMutability = &v
14077	return s
14078}
14079
14080// SetLifecyclePolicy sets the LifecyclePolicy field's value.
14081func (s *AwsEcrRepositoryDetails) SetLifecyclePolicy(v *AwsEcrRepositoryLifecyclePolicyDetails) *AwsEcrRepositoryDetails {
14082	s.LifecyclePolicy = v
14083	return s
14084}
14085
14086// SetRepositoryName sets the RepositoryName field's value.
14087func (s *AwsEcrRepositoryDetails) SetRepositoryName(v string) *AwsEcrRepositoryDetails {
14088	s.RepositoryName = &v
14089	return s
14090}
14091
14092// SetRepositoryPolicyText sets the RepositoryPolicyText field's value.
14093func (s *AwsEcrRepositoryDetails) SetRepositoryPolicyText(v string) *AwsEcrRepositoryDetails {
14094	s.RepositoryPolicyText = &v
14095	return s
14096}
14097
14098// The image scanning configuration for a repository.
14099type AwsEcrRepositoryImageScanningConfigurationDetails struct {
14100	_ struct{} `type:"structure"`
14101
14102	// Whether to scan images after they are pushed to a repository.
14103	ScanOnPush *bool `type:"boolean"`
14104}
14105
14106// String returns the string representation.
14107//
14108// API parameter values that are decorated as "sensitive" in the API will not
14109// be included in the string output. The member name will be present, but the
14110// value will be replaced with "sensitive".
14111func (s AwsEcrRepositoryImageScanningConfigurationDetails) String() string {
14112	return awsutil.Prettify(s)
14113}
14114
14115// GoString returns the string representation.
14116//
14117// API parameter values that are decorated as "sensitive" in the API will not
14118// be included in the string output. The member name will be present, but the
14119// value will be replaced with "sensitive".
14120func (s AwsEcrRepositoryImageScanningConfigurationDetails) GoString() string {
14121	return s.String()
14122}
14123
14124// SetScanOnPush sets the ScanOnPush field's value.
14125func (s *AwsEcrRepositoryImageScanningConfigurationDetails) SetScanOnPush(v bool) *AwsEcrRepositoryImageScanningConfigurationDetails {
14126	s.ScanOnPush = &v
14127	return s
14128}
14129
14130// Information about the lifecycle policy for the repository.
14131type AwsEcrRepositoryLifecyclePolicyDetails struct {
14132	_ struct{} `type:"structure"`
14133
14134	// The text of the lifecycle policy.
14135	LifecyclePolicyText *string `type:"string"`
14136
14137	// The Amazon Web Services account identifier that is associated with the registry
14138	// that contains the repository.
14139	RegistryId *string `type:"string"`
14140}
14141
14142// String returns the string representation.
14143//
14144// API parameter values that are decorated as "sensitive" in the API will not
14145// be included in the string output. The member name will be present, but the
14146// value will be replaced with "sensitive".
14147func (s AwsEcrRepositoryLifecyclePolicyDetails) String() string {
14148	return awsutil.Prettify(s)
14149}
14150
14151// GoString returns the string representation.
14152//
14153// API parameter values that are decorated as "sensitive" in the API will not
14154// be included in the string output. The member name will be present, but the
14155// value will be replaced with "sensitive".
14156func (s AwsEcrRepositoryLifecyclePolicyDetails) GoString() string {
14157	return s.String()
14158}
14159
14160// SetLifecyclePolicyText sets the LifecyclePolicyText field's value.
14161func (s *AwsEcrRepositoryLifecyclePolicyDetails) SetLifecyclePolicyText(v string) *AwsEcrRepositoryLifecyclePolicyDetails {
14162	s.LifecyclePolicyText = &v
14163	return s
14164}
14165
14166// SetRegistryId sets the RegistryId field's value.
14167func (s *AwsEcrRepositoryLifecyclePolicyDetails) SetRegistryId(v string) *AwsEcrRepositoryLifecyclePolicyDetails {
14168	s.RegistryId = &v
14169	return s
14170}
14171
14172// Indicates whether to enable CloudWatch Container Insights for the ECS cluster.
14173type AwsEcsClusterClusterSettingsDetails struct {
14174	_ struct{} `type:"structure"`
14175
14176	// The name of the setting.
14177	Name *string `type:"string"`
14178
14179	// The value of the setting.
14180	Value *string `type:"string"`
14181}
14182
14183// String returns the string representation.
14184//
14185// API parameter values that are decorated as "sensitive" in the API will not
14186// be included in the string output. The member name will be present, but the
14187// value will be replaced with "sensitive".
14188func (s AwsEcsClusterClusterSettingsDetails) String() string {
14189	return awsutil.Prettify(s)
14190}
14191
14192// GoString returns the string representation.
14193//
14194// API parameter values that are decorated as "sensitive" in the API will not
14195// be included in the string output. The member name will be present, but the
14196// value will be replaced with "sensitive".
14197func (s AwsEcsClusterClusterSettingsDetails) GoString() string {
14198	return s.String()
14199}
14200
14201// SetName sets the Name field's value.
14202func (s *AwsEcsClusterClusterSettingsDetails) SetName(v string) *AwsEcsClusterClusterSettingsDetails {
14203	s.Name = &v
14204	return s
14205}
14206
14207// SetValue sets the Value field's value.
14208func (s *AwsEcsClusterClusterSettingsDetails) SetValue(v string) *AwsEcsClusterClusterSettingsDetails {
14209	s.Value = &v
14210	return s
14211}
14212
14213// The run command configuration for the cluster.
14214type AwsEcsClusterConfigurationDetails struct {
14215	_ struct{} `type:"structure"`
14216
14217	// Contains the run command configuration for the cluster.
14218	ExecuteCommandConfiguration *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails `type:"structure"`
14219}
14220
14221// String returns the string representation.
14222//
14223// API parameter values that are decorated as "sensitive" in the API will not
14224// be included in the string output. The member name will be present, but the
14225// value will be replaced with "sensitive".
14226func (s AwsEcsClusterConfigurationDetails) String() string {
14227	return awsutil.Prettify(s)
14228}
14229
14230// GoString returns the string representation.
14231//
14232// API parameter values that are decorated as "sensitive" in the API will not
14233// be included in the string output. The member name will be present, but the
14234// value will be replaced with "sensitive".
14235func (s AwsEcsClusterConfigurationDetails) GoString() string {
14236	return s.String()
14237}
14238
14239// SetExecuteCommandConfiguration sets the ExecuteCommandConfiguration field's value.
14240func (s *AwsEcsClusterConfigurationDetails) SetExecuteCommandConfiguration(v *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) *AwsEcsClusterConfigurationDetails {
14241	s.ExecuteCommandConfiguration = v
14242	return s
14243}
14244
14245// Contains the run command configuration for the cluster.
14246type AwsEcsClusterConfigurationExecuteCommandConfigurationDetails struct {
14247	_ struct{} `type:"structure"`
14248
14249	// The identifier of the KMS key that is used to encrypt the data between the
14250	// local client and the container.
14251	KmsKeyId *string `type:"string"`
14252
14253	// The log configuration for the results of the run command actions. Required
14254	// if Logging is NONE.
14255	LogConfiguration *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails `type:"structure"`
14256
14257	// The log setting to use for redirecting logs for run command results.
14258	Logging *string `type:"string"`
14259}
14260
14261// String returns the string representation.
14262//
14263// API parameter values that are decorated as "sensitive" in the API will not
14264// be included in the string output. The member name will be present, but the
14265// value will be replaced with "sensitive".
14266func (s AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) String() string {
14267	return awsutil.Prettify(s)
14268}
14269
14270// GoString returns the string representation.
14271//
14272// API parameter values that are decorated as "sensitive" in the API will not
14273// be included in the string output. The member name will be present, but the
14274// value will be replaced with "sensitive".
14275func (s AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) GoString() string {
14276	return s.String()
14277}
14278
14279// SetKmsKeyId sets the KmsKeyId field's value.
14280func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) SetKmsKeyId(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails {
14281	s.KmsKeyId = &v
14282	return s
14283}
14284
14285// SetLogConfiguration sets the LogConfiguration field's value.
14286func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) SetLogConfiguration(v *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails {
14287	s.LogConfiguration = v
14288	return s
14289}
14290
14291// SetLogging sets the Logging field's value.
14292func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails) SetLogging(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationDetails {
14293	s.Logging = &v
14294	return s
14295}
14296
14297// The log configuration for the results of the run command actions.
14298type AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails struct {
14299	_ struct{} `type:"structure"`
14300
14301	// Whether to enable encryption on the CloudWatch logs.
14302	CloudWatchEncryptionEnabled *bool `type:"boolean"`
14303
14304	// The name of the CloudWatch log group to send the logs to.
14305	CloudWatchLogGroupName *string `type:"string"`
14306
14307	// The name of the S3 bucket to send logs to.
14308	S3BucketName *string `type:"string"`
14309
14310	// Whether to encrypt the logs that are sent to the S3 bucket.
14311	S3EncryptionEnabled *bool `type:"boolean"`
14312
14313	// Identifies the folder in the S3 bucket to send the logs to.
14314	S3KeyPrefix *string `type:"string"`
14315}
14316
14317// String returns the string representation.
14318//
14319// API parameter values that are decorated as "sensitive" in the API will not
14320// be included in the string output. The member name will be present, but the
14321// value will be replaced with "sensitive".
14322func (s AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) String() string {
14323	return awsutil.Prettify(s)
14324}
14325
14326// GoString returns the string representation.
14327//
14328// API parameter values that are decorated as "sensitive" in the API will not
14329// be included in the string output. The member name will be present, but the
14330// value will be replaced with "sensitive".
14331func (s AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) GoString() string {
14332	return s.String()
14333}
14334
14335// SetCloudWatchEncryptionEnabled sets the CloudWatchEncryptionEnabled field's value.
14336func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetCloudWatchEncryptionEnabled(v bool) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
14337	s.CloudWatchEncryptionEnabled = &v
14338	return s
14339}
14340
14341// SetCloudWatchLogGroupName sets the CloudWatchLogGroupName field's value.
14342func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetCloudWatchLogGroupName(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
14343	s.CloudWatchLogGroupName = &v
14344	return s
14345}
14346
14347// SetS3BucketName sets the S3BucketName field's value.
14348func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetS3BucketName(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
14349	s.S3BucketName = &v
14350	return s
14351}
14352
14353// SetS3EncryptionEnabled sets the S3EncryptionEnabled field's value.
14354func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetS3EncryptionEnabled(v bool) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
14355	s.S3EncryptionEnabled = &v
14356	return s
14357}
14358
14359// SetS3KeyPrefix sets the S3KeyPrefix field's value.
14360func (s *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails) SetS3KeyPrefix(v string) *AwsEcsClusterConfigurationExecuteCommandConfigurationLogConfigurationDetails {
14361	s.S3KeyPrefix = &v
14362	return s
14363}
14364
14365// The default capacity provider strategy for the cluster. The default capacity
14366// provider strategy is used when services or tasks are run without a specified
14367// launch type or capacity provider strategy.
14368type AwsEcsClusterDefaultCapacityProviderStrategyDetails struct {
14369	_ struct{} `type:"structure"`
14370
14371	// The minimum number of tasks to run on the specified capacity provider.
14372	Base *int64 `type:"integer"`
14373
14374	// The name of the capacity provider.
14375	CapacityProvider *string `type:"string"`
14376
14377	// The relative percentage of the total number of tasks launched that should
14378	// use the capacity provider.
14379	Weight *int64 `type:"integer"`
14380}
14381
14382// String returns the string representation.
14383//
14384// API parameter values that are decorated as "sensitive" in the API will not
14385// be included in the string output. The member name will be present, but the
14386// value will be replaced with "sensitive".
14387func (s AwsEcsClusterDefaultCapacityProviderStrategyDetails) String() string {
14388	return awsutil.Prettify(s)
14389}
14390
14391// GoString returns the string representation.
14392//
14393// API parameter values that are decorated as "sensitive" in the API will not
14394// be included in the string output. The member name will be present, but the
14395// value will be replaced with "sensitive".
14396func (s AwsEcsClusterDefaultCapacityProviderStrategyDetails) GoString() string {
14397	return s.String()
14398}
14399
14400// SetBase sets the Base field's value.
14401func (s *AwsEcsClusterDefaultCapacityProviderStrategyDetails) SetBase(v int64) *AwsEcsClusterDefaultCapacityProviderStrategyDetails {
14402	s.Base = &v
14403	return s
14404}
14405
14406// SetCapacityProvider sets the CapacityProvider field's value.
14407func (s *AwsEcsClusterDefaultCapacityProviderStrategyDetails) SetCapacityProvider(v string) *AwsEcsClusterDefaultCapacityProviderStrategyDetails {
14408	s.CapacityProvider = &v
14409	return s
14410}
14411
14412// SetWeight sets the Weight field's value.
14413func (s *AwsEcsClusterDefaultCapacityProviderStrategyDetails) SetWeight(v int64) *AwsEcsClusterDefaultCapacityProviderStrategyDetails {
14414	s.Weight = &v
14415	return s
14416}
14417
14418// provides details about an ECS cluster.
14419type AwsEcsClusterDetails struct {
14420	_ struct{} `type:"structure"`
14421
14422	// The short name of one or more capacity providers to associate with the cluster.
14423	CapacityProviders []*string `type:"list"`
14424
14425	// The setting to use to create the cluster. Specifically used to configure
14426	// whether to enable CloudWatch Container Insights for the cluster.
14427	ClusterSettings []*AwsEcsClusterClusterSettingsDetails `type:"list"`
14428
14429	// The run command configuration for the cluster.
14430	Configuration *AwsEcsClusterConfigurationDetails `type:"structure"`
14431
14432	// The default capacity provider strategy for the cluster. The default capacity
14433	// provider strategy is used when services or tasks are run without a specified
14434	// launch type or capacity provider strategy.
14435	DefaultCapacityProviderStrategy []*AwsEcsClusterDefaultCapacityProviderStrategyDetails `type:"list"`
14436}
14437
14438// String returns the string representation.
14439//
14440// API parameter values that are decorated as "sensitive" in the API will not
14441// be included in the string output. The member name will be present, but the
14442// value will be replaced with "sensitive".
14443func (s AwsEcsClusterDetails) String() string {
14444	return awsutil.Prettify(s)
14445}
14446
14447// GoString returns the string representation.
14448//
14449// API parameter values that are decorated as "sensitive" in the API will not
14450// be included in the string output. The member name will be present, but the
14451// value will be replaced with "sensitive".
14452func (s AwsEcsClusterDetails) GoString() string {
14453	return s.String()
14454}
14455
14456// SetCapacityProviders sets the CapacityProviders field's value.
14457func (s *AwsEcsClusterDetails) SetCapacityProviders(v []*string) *AwsEcsClusterDetails {
14458	s.CapacityProviders = v
14459	return s
14460}
14461
14462// SetClusterSettings sets the ClusterSettings field's value.
14463func (s *AwsEcsClusterDetails) SetClusterSettings(v []*AwsEcsClusterClusterSettingsDetails) *AwsEcsClusterDetails {
14464	s.ClusterSettings = v
14465	return s
14466}
14467
14468// SetConfiguration sets the Configuration field's value.
14469func (s *AwsEcsClusterDetails) SetConfiguration(v *AwsEcsClusterConfigurationDetails) *AwsEcsClusterDetails {
14470	s.Configuration = v
14471	return s
14472}
14473
14474// SetDefaultCapacityProviderStrategy sets the DefaultCapacityProviderStrategy field's value.
14475func (s *AwsEcsClusterDetails) SetDefaultCapacityProviderStrategy(v []*AwsEcsClusterDefaultCapacityProviderStrategyDetails) *AwsEcsClusterDetails {
14476	s.DefaultCapacityProviderStrategy = v
14477	return s
14478}
14479
14480// Strategy item for the capacity provider strategy that the service uses.
14481type AwsEcsServiceCapacityProviderStrategyDetails struct {
14482	_ struct{} `type:"structure"`
14483
14484	// The minimum number of tasks to run on the capacity provider. Only one strategy
14485	// item can specify a value for Base.
14486	//
14487	// The value must be between 0 and 100000.
14488	Base *int64 `type:"integer"`
14489
14490	// The short name of the capacity provider.
14491	CapacityProvider *string `type:"string"`
14492
14493	// The relative percentage of the total number of tasks that should use the
14494	// capacity provider.
14495	//
14496	// If no weight is specified, the default value is 0. At least one capacity
14497	// provider must have a weight greater than 0.
14498	//
14499	// The value can be between 0 and 1000.
14500	Weight *int64 `type:"integer"`
14501}
14502
14503// String returns the string representation.
14504//
14505// API parameter values that are decorated as "sensitive" in the API will not
14506// be included in the string output. The member name will be present, but the
14507// value will be replaced with "sensitive".
14508func (s AwsEcsServiceCapacityProviderStrategyDetails) String() string {
14509	return awsutil.Prettify(s)
14510}
14511
14512// GoString returns the string representation.
14513//
14514// API parameter values that are decorated as "sensitive" in the API will not
14515// be included in the string output. The member name will be present, but the
14516// value will be replaced with "sensitive".
14517func (s AwsEcsServiceCapacityProviderStrategyDetails) GoString() string {
14518	return s.String()
14519}
14520
14521// SetBase sets the Base field's value.
14522func (s *AwsEcsServiceCapacityProviderStrategyDetails) SetBase(v int64) *AwsEcsServiceCapacityProviderStrategyDetails {
14523	s.Base = &v
14524	return s
14525}
14526
14527// SetCapacityProvider sets the CapacityProvider field's value.
14528func (s *AwsEcsServiceCapacityProviderStrategyDetails) SetCapacityProvider(v string) *AwsEcsServiceCapacityProviderStrategyDetails {
14529	s.CapacityProvider = &v
14530	return s
14531}
14532
14533// SetWeight sets the Weight field's value.
14534func (s *AwsEcsServiceCapacityProviderStrategyDetails) SetWeight(v int64) *AwsEcsServiceCapacityProviderStrategyDetails {
14535	s.Weight = &v
14536	return s
14537}
14538
14539// Determines whether a service deployment fails if a service cannot reach a
14540// steady state.
14541type AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails struct {
14542	_ struct{} `type:"structure"`
14543
14544	// Whether to enable the deployment circuit breaker logic for the service.
14545	Enable *bool `type:"boolean"`
14546
14547	// Whether to roll back the service if a service deployment fails. If rollback
14548	// is enabled, when a service deployment fails, the service is rolled back to
14549	// the last deployment that completed successfully.
14550	Rollback *bool `type:"boolean"`
14551}
14552
14553// String returns the string representation.
14554//
14555// API parameter values that are decorated as "sensitive" in the API will not
14556// be included in the string output. The member name will be present, but the
14557// value will be replaced with "sensitive".
14558func (s AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) String() string {
14559	return awsutil.Prettify(s)
14560}
14561
14562// GoString returns the string representation.
14563//
14564// API parameter values that are decorated as "sensitive" in the API will not
14565// be included in the string output. The member name will be present, but the
14566// value will be replaced with "sensitive".
14567func (s AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) GoString() string {
14568	return s.String()
14569}
14570
14571// SetEnable sets the Enable field's value.
14572func (s *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) SetEnable(v bool) *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails {
14573	s.Enable = &v
14574	return s
14575}
14576
14577// SetRollback sets the Rollback field's value.
14578func (s *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) SetRollback(v bool) *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails {
14579	s.Rollback = &v
14580	return s
14581}
14582
14583// Optional deployment parameters for the service.
14584type AwsEcsServiceDeploymentConfigurationDetails struct {
14585	_ struct{} `type:"structure"`
14586
14587	// Determines whether a service deployment fails if a service cannot reach a
14588	// steady state.
14589	DeploymentCircuitBreaker *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails `type:"structure"`
14590
14591	// For a service that uses the rolling update (ECS) deployment type, the maximum
14592	// number of tasks in a service that are allowed in the RUNNING or PENDING state
14593	// during a deployment, and for tasks that use the EC2 launch type, when any
14594	// container instances are in the DRAINING state. Provided as a percentage of
14595	// the desired number of tasks. The default value is 200%.
14596	//
14597	// For a service that uses the blue/green (CODE_DEPLOY) or EXTERNAL deployment
14598	// types, and tasks that use the EC2 launch type, the maximum number of tasks
14599	// in the service that remain in the RUNNING state while the container instances
14600	// are in the DRAINING state.
14601	//
14602	// For the Fargate launch type, the maximum percent value is not used.
14603	MaximumPercent *int64 `type:"integer"`
14604
14605	// For a service that uses the rolling update (ECS) deployment type, the minimum
14606	// number of tasks in a service that must remain in the RUNNING state during
14607	// a deployment, and while any container instances are in the DRAINING state
14608	// if the service contains tasks using the EC2 launch type. Expressed as a percentage
14609	// of the desired number of tasks. The default value is 100%.
14610	//
14611	// For a service that uses the blue/green (CODE_DEPLOY) or EXTERNAL deployment
14612	// types and tasks that use the EC2 launch type, the minimum number of the tasks
14613	// in the service that remain in the RUNNING state while the container instances
14614	// are in the DRAINING state.
14615	//
14616	// For the Fargate launch type, the minimum healthy percent value is not used.
14617	MinimumHealthyPercent *int64 `type:"integer"`
14618}
14619
14620// String returns the string representation.
14621//
14622// API parameter values that are decorated as "sensitive" in the API will not
14623// be included in the string output. The member name will be present, but the
14624// value will be replaced with "sensitive".
14625func (s AwsEcsServiceDeploymentConfigurationDetails) String() string {
14626	return awsutil.Prettify(s)
14627}
14628
14629// GoString returns the string representation.
14630//
14631// API parameter values that are decorated as "sensitive" in the API will not
14632// be included in the string output. The member name will be present, but the
14633// value will be replaced with "sensitive".
14634func (s AwsEcsServiceDeploymentConfigurationDetails) GoString() string {
14635	return s.String()
14636}
14637
14638// SetDeploymentCircuitBreaker sets the DeploymentCircuitBreaker field's value.
14639func (s *AwsEcsServiceDeploymentConfigurationDetails) SetDeploymentCircuitBreaker(v *AwsEcsServiceDeploymentConfigurationDeploymentCircuitBreakerDetails) *AwsEcsServiceDeploymentConfigurationDetails {
14640	s.DeploymentCircuitBreaker = v
14641	return s
14642}
14643
14644// SetMaximumPercent sets the MaximumPercent field's value.
14645func (s *AwsEcsServiceDeploymentConfigurationDetails) SetMaximumPercent(v int64) *AwsEcsServiceDeploymentConfigurationDetails {
14646	s.MaximumPercent = &v
14647	return s
14648}
14649
14650// SetMinimumHealthyPercent sets the MinimumHealthyPercent field's value.
14651func (s *AwsEcsServiceDeploymentConfigurationDetails) SetMinimumHealthyPercent(v int64) *AwsEcsServiceDeploymentConfigurationDetails {
14652	s.MinimumHealthyPercent = &v
14653	return s
14654}
14655
14656// Information about the deployment controller type that the service uses.
14657type AwsEcsServiceDeploymentControllerDetails struct {
14658	_ struct{} `type:"structure"`
14659
14660	// The rolling update (ECS) deployment type replaces the current running version
14661	// of the container with the latest version.
14662	//
14663	// The blue/green (CODE_DEPLOY) deployment type uses the blue/green deployment
14664	// model that is powered by CodeDeploy. This deployment model a new deployment
14665	// of a service can be verified before production traffic is sent to it.
14666	//
14667	// The external (EXTERNAL) deployment type allows the use of any third-party
14668	// deployment controller for full control over the deployment process for an
14669	// Amazon ECS service.
14670	//
14671	// Valid values: ECS | CODE_DEPLOY | EXTERNAL
14672	Type *string `type:"string"`
14673}
14674
14675// String returns the string representation.
14676//
14677// API parameter values that are decorated as "sensitive" in the API will not
14678// be included in the string output. The member name will be present, but the
14679// value will be replaced with "sensitive".
14680func (s AwsEcsServiceDeploymentControllerDetails) String() string {
14681	return awsutil.Prettify(s)
14682}
14683
14684// GoString returns the string representation.
14685//
14686// API parameter values that are decorated as "sensitive" in the API will not
14687// be included in the string output. The member name will be present, but the
14688// value will be replaced with "sensitive".
14689func (s AwsEcsServiceDeploymentControllerDetails) GoString() string {
14690	return s.String()
14691}
14692
14693// SetType sets the Type field's value.
14694func (s *AwsEcsServiceDeploymentControllerDetails) SetType(v string) *AwsEcsServiceDeploymentControllerDetails {
14695	s.Type = &v
14696	return s
14697}
14698
14699// Provides details about a service within an ECS cluster.
14700type AwsEcsServiceDetails struct {
14701	_ struct{} `type:"structure"`
14702
14703	// The capacity provider strategy that the service uses.
14704	CapacityProviderStrategy []*AwsEcsServiceCapacityProviderStrategyDetails `type:"list"`
14705
14706	// The ARN of the cluster that hosts the service.
14707	Cluster *string `type:"string"`
14708
14709	// Deployment parameters for the service. Includes the number of tasks that
14710	// run and the order in which to start and stop tasks.
14711	DeploymentConfiguration *AwsEcsServiceDeploymentConfigurationDetails `type:"structure"`
14712
14713	// Contains the deployment controller type that the service uses.
14714	DeploymentController *AwsEcsServiceDeploymentControllerDetails `type:"structure"`
14715
14716	// The number of instantiations of the task definition to run on the service.
14717	DesiredCount *int64 `type:"integer"`
14718
14719	// Whether to enable Amazon ECS managed tags for the tasks in the service.
14720	EnableEcsManagedTags *bool `type:"boolean"`
14721
14722	// Whether the execute command functionality is enabled for the service.
14723	EnableExecuteCommand *bool `type:"boolean"`
14724
14725	// After a task starts, the amount of time in seconds that the Amazon ECS service
14726	// scheduler ignores unhealthy Elastic Load Balancing target health checks.
14727	HealthCheckGracePeriodSeconds *int64 `type:"integer"`
14728
14729	// The launch type that the service uses.
14730	//
14731	// Valid values: EC2 | FARGATE | EXTERNAL
14732	LaunchType *string `type:"string"`
14733
14734	// Information about the load balancers that the service uses.
14735	LoadBalancers []*AwsEcsServiceLoadBalancersDetails `type:"list"`
14736
14737	// The name of the service.
14738	Name *string `type:"string"`
14739
14740	// For tasks that use the awsvpc networking mode, the VPC subnet and security
14741	// group configuration.
14742	NetworkConfiguration *AwsEcsServiceNetworkConfigurationDetails `type:"structure"`
14743
14744	// The placement constraints for the tasks in the service.
14745	PlacementConstraints []*AwsEcsServicePlacementConstraintsDetails `type:"list"`
14746
14747	// Information about how tasks for the service are placed.
14748	PlacementStrategies []*AwsEcsServicePlacementStrategiesDetails `type:"list"`
14749
14750	// The platform version on which to run the service. Only specified for tasks
14751	// that are hosted on Fargate. If a platform version is not specified, the LATEST
14752	// platform version is used by default.
14753	PlatformVersion *string `type:"string"`
14754
14755	// Indicates whether to propagate the tags from the task definition to the task
14756	// or from the service to the task. If no value is provided, then tags are not
14757	// propagated.
14758	//
14759	// Valid values: TASK_DEFINITION | SERVICE
14760	PropagateTags *string `type:"string"`
14761
14762	// The ARN of the IAM role that is associated with the service. The role allows
14763	// the Amazon ECS container agent to register container instances with an Elastic
14764	// Load Balancing load balancer.
14765	Role *string `type:"string"`
14766
14767	// The scheduling strategy to use for the service.
14768	//
14769	// The REPLICA scheduling strategy places and maintains the desired number of
14770	// tasks across the cluster. By default, the service scheduler spreads tasks
14771	// across Availability Zones. Task placement strategies and constraints are
14772	// used to customize task placement decisions.
14773	//
14774	// The DAEMON scheduling strategy deploys exactly one task on each active container
14775	// instance that meets all of the task placement constraints that are specified
14776	// in the cluster. The service scheduler also evaluates the task placement constraints
14777	// for running tasks and stops tasks that do not meet the placement constraints.
14778	//
14779	// Valid values: REPLICA | DAEMON
14780	SchedulingStrategy *string `type:"string"`
14781
14782	// The ARN of the service.
14783	ServiceArn *string `type:"string"`
14784
14785	// The name of the service.
14786	//
14787	// The name can contain up to 255 characters. It can use letters, numbers, underscores,
14788	// and hyphens.
14789	ServiceName *string `type:"string"`
14790
14791	// Information about the service discovery registries to assign to the service.
14792	ServiceRegistries []*AwsEcsServiceServiceRegistriesDetails `type:"list"`
14793
14794	// The task definition to use for tasks in the service.
14795	TaskDefinition *string `type:"string"`
14796}
14797
14798// String returns the string representation.
14799//
14800// API parameter values that are decorated as "sensitive" in the API will not
14801// be included in the string output. The member name will be present, but the
14802// value will be replaced with "sensitive".
14803func (s AwsEcsServiceDetails) String() string {
14804	return awsutil.Prettify(s)
14805}
14806
14807// GoString returns the string representation.
14808//
14809// API parameter values that are decorated as "sensitive" in the API will not
14810// be included in the string output. The member name will be present, but the
14811// value will be replaced with "sensitive".
14812func (s AwsEcsServiceDetails) GoString() string {
14813	return s.String()
14814}
14815
14816// SetCapacityProviderStrategy sets the CapacityProviderStrategy field's value.
14817func (s *AwsEcsServiceDetails) SetCapacityProviderStrategy(v []*AwsEcsServiceCapacityProviderStrategyDetails) *AwsEcsServiceDetails {
14818	s.CapacityProviderStrategy = v
14819	return s
14820}
14821
14822// SetCluster sets the Cluster field's value.
14823func (s *AwsEcsServiceDetails) SetCluster(v string) *AwsEcsServiceDetails {
14824	s.Cluster = &v
14825	return s
14826}
14827
14828// SetDeploymentConfiguration sets the DeploymentConfiguration field's value.
14829func (s *AwsEcsServiceDetails) SetDeploymentConfiguration(v *AwsEcsServiceDeploymentConfigurationDetails) *AwsEcsServiceDetails {
14830	s.DeploymentConfiguration = v
14831	return s
14832}
14833
14834// SetDeploymentController sets the DeploymentController field's value.
14835func (s *AwsEcsServiceDetails) SetDeploymentController(v *AwsEcsServiceDeploymentControllerDetails) *AwsEcsServiceDetails {
14836	s.DeploymentController = v
14837	return s
14838}
14839
14840// SetDesiredCount sets the DesiredCount field's value.
14841func (s *AwsEcsServiceDetails) SetDesiredCount(v int64) *AwsEcsServiceDetails {
14842	s.DesiredCount = &v
14843	return s
14844}
14845
14846// SetEnableEcsManagedTags sets the EnableEcsManagedTags field's value.
14847func (s *AwsEcsServiceDetails) SetEnableEcsManagedTags(v bool) *AwsEcsServiceDetails {
14848	s.EnableEcsManagedTags = &v
14849	return s
14850}
14851
14852// SetEnableExecuteCommand sets the EnableExecuteCommand field's value.
14853func (s *AwsEcsServiceDetails) SetEnableExecuteCommand(v bool) *AwsEcsServiceDetails {
14854	s.EnableExecuteCommand = &v
14855	return s
14856}
14857
14858// SetHealthCheckGracePeriodSeconds sets the HealthCheckGracePeriodSeconds field's value.
14859func (s *AwsEcsServiceDetails) SetHealthCheckGracePeriodSeconds(v int64) *AwsEcsServiceDetails {
14860	s.HealthCheckGracePeriodSeconds = &v
14861	return s
14862}
14863
14864// SetLaunchType sets the LaunchType field's value.
14865func (s *AwsEcsServiceDetails) SetLaunchType(v string) *AwsEcsServiceDetails {
14866	s.LaunchType = &v
14867	return s
14868}
14869
14870// SetLoadBalancers sets the LoadBalancers field's value.
14871func (s *AwsEcsServiceDetails) SetLoadBalancers(v []*AwsEcsServiceLoadBalancersDetails) *AwsEcsServiceDetails {
14872	s.LoadBalancers = v
14873	return s
14874}
14875
14876// SetName sets the Name field's value.
14877func (s *AwsEcsServiceDetails) SetName(v string) *AwsEcsServiceDetails {
14878	s.Name = &v
14879	return s
14880}
14881
14882// SetNetworkConfiguration sets the NetworkConfiguration field's value.
14883func (s *AwsEcsServiceDetails) SetNetworkConfiguration(v *AwsEcsServiceNetworkConfigurationDetails) *AwsEcsServiceDetails {
14884	s.NetworkConfiguration = v
14885	return s
14886}
14887
14888// SetPlacementConstraints sets the PlacementConstraints field's value.
14889func (s *AwsEcsServiceDetails) SetPlacementConstraints(v []*AwsEcsServicePlacementConstraintsDetails) *AwsEcsServiceDetails {
14890	s.PlacementConstraints = v
14891	return s
14892}
14893
14894// SetPlacementStrategies sets the PlacementStrategies field's value.
14895func (s *AwsEcsServiceDetails) SetPlacementStrategies(v []*AwsEcsServicePlacementStrategiesDetails) *AwsEcsServiceDetails {
14896	s.PlacementStrategies = v
14897	return s
14898}
14899
14900// SetPlatformVersion sets the PlatformVersion field's value.
14901func (s *AwsEcsServiceDetails) SetPlatformVersion(v string) *AwsEcsServiceDetails {
14902	s.PlatformVersion = &v
14903	return s
14904}
14905
14906// SetPropagateTags sets the PropagateTags field's value.
14907func (s *AwsEcsServiceDetails) SetPropagateTags(v string) *AwsEcsServiceDetails {
14908	s.PropagateTags = &v
14909	return s
14910}
14911
14912// SetRole sets the Role field's value.
14913func (s *AwsEcsServiceDetails) SetRole(v string) *AwsEcsServiceDetails {
14914	s.Role = &v
14915	return s
14916}
14917
14918// SetSchedulingStrategy sets the SchedulingStrategy field's value.
14919func (s *AwsEcsServiceDetails) SetSchedulingStrategy(v string) *AwsEcsServiceDetails {
14920	s.SchedulingStrategy = &v
14921	return s
14922}
14923
14924// SetServiceArn sets the ServiceArn field's value.
14925func (s *AwsEcsServiceDetails) SetServiceArn(v string) *AwsEcsServiceDetails {
14926	s.ServiceArn = &v
14927	return s
14928}
14929
14930// SetServiceName sets the ServiceName field's value.
14931func (s *AwsEcsServiceDetails) SetServiceName(v string) *AwsEcsServiceDetails {
14932	s.ServiceName = &v
14933	return s
14934}
14935
14936// SetServiceRegistries sets the ServiceRegistries field's value.
14937func (s *AwsEcsServiceDetails) SetServiceRegistries(v []*AwsEcsServiceServiceRegistriesDetails) *AwsEcsServiceDetails {
14938	s.ServiceRegistries = v
14939	return s
14940}
14941
14942// SetTaskDefinition sets the TaskDefinition field's value.
14943func (s *AwsEcsServiceDetails) SetTaskDefinition(v string) *AwsEcsServiceDetails {
14944	s.TaskDefinition = &v
14945	return s
14946}
14947
14948// Information about a load balancer that the service uses.
14949type AwsEcsServiceLoadBalancersDetails struct {
14950	_ struct{} `type:"structure"`
14951
14952	// The name of the container to associate with the load balancer.
14953	ContainerName *string `type:"string"`
14954
14955	// The port on the container to associate with the load balancer. This port
14956	// must correspond to a containerPort in the task definition the tasks in the
14957	// service are using. For tasks that use the EC2 launch type, the container
14958	// instance they are launched on must allow ingress traffic on the hostPort
14959	// of the port mapping.
14960	ContainerPort *int64 `type:"integer"`
14961
14962	// The name of the load balancer to associate with the Amazon ECS service or
14963	// task set.
14964	//
14965	// Only specified when using a Classic Load Balancer. For an Application Load
14966	// Balancer or a Network Load Balancer, the load balancer name is omitted.
14967	LoadBalancerName *string `type:"string"`
14968
14969	// The ARN of the Elastic Load Balancing target group or groups associated with
14970	// a service or task set.
14971	//
14972	// Only specified when using an Application Load Balancer or a Network Load
14973	// Balancer. For a Classic Load Balancer, the target group ARN is omitted.
14974	TargetGroupArn *string `type:"string"`
14975}
14976
14977// String returns the string representation.
14978//
14979// API parameter values that are decorated as "sensitive" in the API will not
14980// be included in the string output. The member name will be present, but the
14981// value will be replaced with "sensitive".
14982func (s AwsEcsServiceLoadBalancersDetails) String() string {
14983	return awsutil.Prettify(s)
14984}
14985
14986// GoString returns the string representation.
14987//
14988// API parameter values that are decorated as "sensitive" in the API will not
14989// be included in the string output. The member name will be present, but the
14990// value will be replaced with "sensitive".
14991func (s AwsEcsServiceLoadBalancersDetails) GoString() string {
14992	return s.String()
14993}
14994
14995// SetContainerName sets the ContainerName field's value.
14996func (s *AwsEcsServiceLoadBalancersDetails) SetContainerName(v string) *AwsEcsServiceLoadBalancersDetails {
14997	s.ContainerName = &v
14998	return s
14999}
15000
15001// SetContainerPort sets the ContainerPort field's value.
15002func (s *AwsEcsServiceLoadBalancersDetails) SetContainerPort(v int64) *AwsEcsServiceLoadBalancersDetails {
15003	s.ContainerPort = &v
15004	return s
15005}
15006
15007// SetLoadBalancerName sets the LoadBalancerName field's value.
15008func (s *AwsEcsServiceLoadBalancersDetails) SetLoadBalancerName(v string) *AwsEcsServiceLoadBalancersDetails {
15009	s.LoadBalancerName = &v
15010	return s
15011}
15012
15013// SetTargetGroupArn sets the TargetGroupArn field's value.
15014func (s *AwsEcsServiceLoadBalancersDetails) SetTargetGroupArn(v string) *AwsEcsServiceLoadBalancersDetails {
15015	s.TargetGroupArn = &v
15016	return s
15017}
15018
15019// For tasks that use the awsvpc networking mode, the VPC subnet and security
15020// group configuration.
15021type AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails struct {
15022	_ struct{} `type:"structure"`
15023
15024	// Whether the task's elastic network interface receives a public IP address.
15025	// The default value is DISABLED.
15026	//
15027	// Valid values: ENABLED | DISABLED
15028	AssignPublicIp *string `type:"string"`
15029
15030	// The IDs of the security groups associated with the task or service.
15031	//
15032	// You can provide up to five security groups.
15033	SecurityGroups []*string `type:"list"`
15034
15035	// The IDs of the subnets associated with the task or service.
15036	//
15037	// You can provide up to 16 subnets.
15038	Subnets []*string `type:"list"`
15039}
15040
15041// String returns the string representation.
15042//
15043// API parameter values that are decorated as "sensitive" in the API will not
15044// be included in the string output. The member name will be present, but the
15045// value will be replaced with "sensitive".
15046func (s AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) String() string {
15047	return awsutil.Prettify(s)
15048}
15049
15050// GoString returns the string representation.
15051//
15052// API parameter values that are decorated as "sensitive" in the API will not
15053// be included in the string output. The member name will be present, but the
15054// value will be replaced with "sensitive".
15055func (s AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) GoString() string {
15056	return s.String()
15057}
15058
15059// SetAssignPublicIp sets the AssignPublicIp field's value.
15060func (s *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) SetAssignPublicIp(v string) *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails {
15061	s.AssignPublicIp = &v
15062	return s
15063}
15064
15065// SetSecurityGroups sets the SecurityGroups field's value.
15066func (s *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) SetSecurityGroups(v []*string) *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails {
15067	s.SecurityGroups = v
15068	return s
15069}
15070
15071// SetSubnets sets the Subnets field's value.
15072func (s *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) SetSubnets(v []*string) *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails {
15073	s.Subnets = v
15074	return s
15075}
15076
15077// For tasks that use the awsvpc networking mode, the VPC subnet and security
15078// group configuration.
15079type AwsEcsServiceNetworkConfigurationDetails struct {
15080	_ struct{} `type:"structure"`
15081
15082	// The VPC subnet and security group configuration.
15083	AwsVpcConfiguration *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails `type:"structure"`
15084}
15085
15086// String returns the string representation.
15087//
15088// API parameter values that are decorated as "sensitive" in the API will not
15089// be included in the string output. The member name will be present, but the
15090// value will be replaced with "sensitive".
15091func (s AwsEcsServiceNetworkConfigurationDetails) String() string {
15092	return awsutil.Prettify(s)
15093}
15094
15095// GoString returns the string representation.
15096//
15097// API parameter values that are decorated as "sensitive" in the API will not
15098// be included in the string output. The member name will be present, but the
15099// value will be replaced with "sensitive".
15100func (s AwsEcsServiceNetworkConfigurationDetails) GoString() string {
15101	return s.String()
15102}
15103
15104// SetAwsVpcConfiguration sets the AwsVpcConfiguration field's value.
15105func (s *AwsEcsServiceNetworkConfigurationDetails) SetAwsVpcConfiguration(v *AwsEcsServiceNetworkConfigurationAwsVpcConfigurationDetails) *AwsEcsServiceNetworkConfigurationDetails {
15106	s.AwsVpcConfiguration = v
15107	return s
15108}
15109
15110// A placement constraint for the tasks in the service.
15111type AwsEcsServicePlacementConstraintsDetails struct {
15112	_ struct{} `type:"structure"`
15113
15114	// A cluster query language expression to apply to the constraint. You cannot
15115	// specify an expression if the constraint type is distinctInstance.
15116	Expression *string `type:"string"`
15117
15118	// The type of constraint. Use distinctInstance to run each task in a particular
15119	// group on a different container instance. Use memberOf to restrict the selection
15120	// to a group of valid candidates.
15121	//
15122	// Valid values: distinctInstance | memberOf
15123	Type *string `type:"string"`
15124}
15125
15126// String returns the string representation.
15127//
15128// API parameter values that are decorated as "sensitive" in the API will not
15129// be included in the string output. The member name will be present, but the
15130// value will be replaced with "sensitive".
15131func (s AwsEcsServicePlacementConstraintsDetails) String() string {
15132	return awsutil.Prettify(s)
15133}
15134
15135// GoString returns the string representation.
15136//
15137// API parameter values that are decorated as "sensitive" in the API will not
15138// be included in the string output. The member name will be present, but the
15139// value will be replaced with "sensitive".
15140func (s AwsEcsServicePlacementConstraintsDetails) GoString() string {
15141	return s.String()
15142}
15143
15144// SetExpression sets the Expression field's value.
15145func (s *AwsEcsServicePlacementConstraintsDetails) SetExpression(v string) *AwsEcsServicePlacementConstraintsDetails {
15146	s.Expression = &v
15147	return s
15148}
15149
15150// SetType sets the Type field's value.
15151func (s *AwsEcsServicePlacementConstraintsDetails) SetType(v string) *AwsEcsServicePlacementConstraintsDetails {
15152	s.Type = &v
15153	return s
15154}
15155
15156// A placement strategy that determines how to place the tasks for the service.
15157type AwsEcsServicePlacementStrategiesDetails struct {
15158	_ struct{} `type:"structure"`
15159
15160	// The field to apply the placement strategy against.
15161	//
15162	// For the spread placement strategy, valid values are instanceId (or host,
15163	// which has the same effect), or any platform or custom attribute that is applied
15164	// to a container instance, such as attribute:ecs.availability-zone.
15165	//
15166	// For the binpack placement strategy, valid values are cpu and memory.
15167	//
15168	// For the random placement strategy, this attribute is not used.
15169	Field *string `type:"string"`
15170
15171	// The type of placement strategy.
15172	//
15173	// The random placement strategy randomly places tasks on available candidates.
15174	//
15175	// The spread placement strategy spreads placement across available candidates
15176	// evenly based on the value of Field.
15177	//
15178	// The binpack strategy places tasks on available candidates that have the least
15179	// available amount of the resource that is specified in Field.
15180	//
15181	// Valid values: random | spread | binpack
15182	Type *string `type:"string"`
15183}
15184
15185// String returns the string representation.
15186//
15187// API parameter values that are decorated as "sensitive" in the API will not
15188// be included in the string output. The member name will be present, but the
15189// value will be replaced with "sensitive".
15190func (s AwsEcsServicePlacementStrategiesDetails) String() string {
15191	return awsutil.Prettify(s)
15192}
15193
15194// GoString returns the string representation.
15195//
15196// API parameter values that are decorated as "sensitive" in the API will not
15197// be included in the string output. The member name will be present, but the
15198// value will be replaced with "sensitive".
15199func (s AwsEcsServicePlacementStrategiesDetails) GoString() string {
15200	return s.String()
15201}
15202
15203// SetField sets the Field field's value.
15204func (s *AwsEcsServicePlacementStrategiesDetails) SetField(v string) *AwsEcsServicePlacementStrategiesDetails {
15205	s.Field = &v
15206	return s
15207}
15208
15209// SetType sets the Type field's value.
15210func (s *AwsEcsServicePlacementStrategiesDetails) SetType(v string) *AwsEcsServicePlacementStrategiesDetails {
15211	s.Type = &v
15212	return s
15213}
15214
15215// Information about a service discovery registry to assign to the service.
15216type AwsEcsServiceServiceRegistriesDetails struct {
15217	_ struct{} `type:"structure"`
15218
15219	// The container name value to use for the service discovery service.
15220	//
15221	// If the task definition uses the bridge or host network mode, you must specify
15222	// ContainerName and ContainerPort.
15223	//
15224	// If the task definition uses the awsvpc network mode and a type SRV DNS record,
15225	// you must specify either ContainerName and ContainerPort, or Port , but not
15226	// both.
15227	ContainerName *string `type:"string"`
15228
15229	// The port value to use for the service discovery service.
15230	//
15231	// If the task definition uses the bridge or host network mode, you must specify
15232	// ContainerName and ContainerPort.
15233	//
15234	// If the task definition uses the awsvpc network mode and a type SRV DNS record,
15235	// you must specify either ContainerName and ContainerPort, or Port , but not
15236	// both.
15237	ContainerPort *int64 `type:"integer"`
15238
15239	// The port value to use for a service discovery service that specifies an SRV
15240	// record. This field can be used if both the awsvpcawsvpc network mode and
15241	// SRV records are used.
15242	Port *int64 `type:"integer"`
15243
15244	// The ARN of the service registry.
15245	RegistryArn *string `type:"string"`
15246}
15247
15248// String returns the string representation.
15249//
15250// API parameter values that are decorated as "sensitive" in the API will not
15251// be included in the string output. The member name will be present, but the
15252// value will be replaced with "sensitive".
15253func (s AwsEcsServiceServiceRegistriesDetails) String() string {
15254	return awsutil.Prettify(s)
15255}
15256
15257// GoString returns the string representation.
15258//
15259// API parameter values that are decorated as "sensitive" in the API will not
15260// be included in the string output. The member name will be present, but the
15261// value will be replaced with "sensitive".
15262func (s AwsEcsServiceServiceRegistriesDetails) GoString() string {
15263	return s.String()
15264}
15265
15266// SetContainerName sets the ContainerName field's value.
15267func (s *AwsEcsServiceServiceRegistriesDetails) SetContainerName(v string) *AwsEcsServiceServiceRegistriesDetails {
15268	s.ContainerName = &v
15269	return s
15270}
15271
15272// SetContainerPort sets the ContainerPort field's value.
15273func (s *AwsEcsServiceServiceRegistriesDetails) SetContainerPort(v int64) *AwsEcsServiceServiceRegistriesDetails {
15274	s.ContainerPort = &v
15275	return s
15276}
15277
15278// SetPort sets the Port field's value.
15279func (s *AwsEcsServiceServiceRegistriesDetails) SetPort(v int64) *AwsEcsServiceServiceRegistriesDetails {
15280	s.Port = &v
15281	return s
15282}
15283
15284// SetRegistryArn sets the RegistryArn field's value.
15285func (s *AwsEcsServiceServiceRegistriesDetails) SetRegistryArn(v string) *AwsEcsServiceServiceRegistriesDetails {
15286	s.RegistryArn = &v
15287	return s
15288}
15289
15290// A dependency that is defined for container startup and shutdown.
15291type AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails struct {
15292	_ struct{} `type:"structure"`
15293
15294	// The dependency condition of the dependent container. Indicates the required
15295	// status of the dependent container before the current container can start.
15296	Condition *string `type:"string"`
15297
15298	// The name of the dependent container.
15299	ContainerName *string `type:"string"`
15300}
15301
15302// String returns the string representation.
15303//
15304// API parameter values that are decorated as "sensitive" in the API will not
15305// be included in the string output. The member name will be present, but the
15306// value will be replaced with "sensitive".
15307func (s AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) String() string {
15308	return awsutil.Prettify(s)
15309}
15310
15311// GoString returns the string representation.
15312//
15313// API parameter values that are decorated as "sensitive" in the API will not
15314// be included in the string output. The member name will be present, but the
15315// value will be replaced with "sensitive".
15316func (s AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) GoString() string {
15317	return s.String()
15318}
15319
15320// SetCondition sets the Condition field's value.
15321func (s *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) SetCondition(v string) *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails {
15322	s.Condition = &v
15323	return s
15324}
15325
15326// SetContainerName sets the ContainerName field's value.
15327func (s *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) SetContainerName(v string) *AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails {
15328	s.ContainerName = &v
15329	return s
15330}
15331
15332// A container definition that describes a container in the task.
15333type AwsEcsTaskDefinitionContainerDefinitionsDetails struct {
15334	_ struct{} `type:"structure"`
15335
15336	// The command that is passed to the container.
15337	Command []*string `type:"list"`
15338
15339	// The number of CPU units reserved for the container.
15340	Cpu *int64 `type:"integer"`
15341
15342	// The dependencies that are defined for container startup and shutdown.
15343	DependsOn []*AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails `type:"list"`
15344
15345	// Whether to disable networking within the container.
15346	DisableNetworking *bool `type:"boolean"`
15347
15348	// A list of DNS search domains that are presented to the container.
15349	DnsSearchDomains []*string `type:"list"`
15350
15351	// A list of DNS servers that are presented to the container.
15352	DnsServers []*string `type:"list"`
15353
15354	// A key-value map of labels to add to the container.
15355	DockerLabels map[string]*string `type:"map"`
15356
15357	// A list of strings to provide custom labels for SELinux and AppArmor multi-level
15358	// security systems.
15359	DockerSecurityOptions []*string `type:"list"`
15360
15361	// The entry point that is passed to the container.
15362	EntryPoint []*string `type:"list"`
15363
15364	// The environment variables to pass to a container.
15365	Environment []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails `type:"list"`
15366
15367	// A list of files containing the environment variables to pass to a container.
15368	EnvironmentFiles []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails `type:"list"`
15369
15370	// Whether the container is essential. All tasks must have at least one essential
15371	// container.
15372	Essential *bool `type:"boolean"`
15373
15374	// A list of hostnames and IP address mappings to append to the /etc/hosts file
15375	// on the container.
15376	ExtraHosts []*AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails `type:"list"`
15377
15378	// The FireLens configuration for the container. Specifies and configures a
15379	// log router for container logs.
15380	FirelensConfiguration *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails `type:"structure"`
15381
15382	// The container health check command and associated configuration parameters
15383	// for the container.
15384	HealthCheck *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails `type:"structure"`
15385
15386	// The hostname to use for the container.
15387	Hostname *string `type:"string"`
15388
15389	// The image used to start the container.
15390	Image *string `type:"string"`
15391
15392	// If set to true, then containerized applications can be deployed that require
15393	// stdin or a tty to be allocated.
15394	Interactive *bool `type:"boolean"`
15395
15396	// A list of links for the container in the form container_name:alias . Allows
15397	// containers to communicate with each other without the need for port mappings.
15398	Links []*string `type:"list"`
15399
15400	// Linux-specific modifications that are applied to the container, such as Linux
15401	// kernel capabilities.
15402	LinuxParameters *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails `type:"structure"`
15403
15404	// The log configuration specification for the container.
15405	LogConfiguration *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails `type:"structure"`
15406
15407	// The amount (in MiB) of memory to present to the container. If the container
15408	// attempts to exceed the memory specified here, the container is shut down.
15409	// The total amount of memory reserved for all containers within a task must
15410	// be lower than the task memory value, if one is specified.
15411	Memory *int64 `type:"integer"`
15412
15413	// The soft limit (in MiB) of memory to reserve for the container.
15414	MemoryReservation *int64 `type:"integer"`
15415
15416	// The mount points for the data volumes in the container.
15417	MountPoints []*AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails `type:"list"`
15418
15419	// The name of the container.
15420	Name *string `type:"string"`
15421
15422	// The list of port mappings for the container.
15423	PortMappings []*AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails `type:"list"`
15424
15425	// Whether the container is given elevated privileges on the host container
15426	// instance. The elevated privileges are similar to the root user.
15427	Privileged *bool `type:"boolean"`
15428
15429	// Whether to allocate a TTY to the container.
15430	PseudoTerminal *bool `type:"boolean"`
15431
15432	// Whether the container is given read-only access to its root file system.
15433	ReadonlyRootFilesystem *bool `type:"boolean"`
15434
15435	// The private repository authentication credentials to use.
15436	RepositoryCredentials *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails `type:"structure"`
15437
15438	// The type and amount of a resource to assign to a container. The only supported
15439	// resource is a GPU.
15440	ResourceRequirements []*AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails `type:"list"`
15441
15442	// The secrets to pass to the container.
15443	Secrets []*AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails `type:"list"`
15444
15445	// The number of seconds to wait before giving up on resolving dependencies
15446	// for a container.
15447	StartTimeout *int64 `type:"integer"`
15448
15449	// The number of seconds to wait before the container is stopped if it doesn't
15450	// shut down normally on its own.
15451	StopTimeout *int64 `type:"integer"`
15452
15453	// A list of namespaced kernel parameters to set in the container.
15454	SystemControls []*AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails `type:"list"`
15455
15456	// A list of ulimits to set in the container.
15457	Ulimits []*AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails `type:"list"`
15458
15459	// The user to use inside the container.
15460	//
15461	// The value can use one of the following formats.
15462	//
15463	//    * user
15464	//
15465	//    * user :group
15466	//
15467	//    * uid
15468	//
15469	//    * uid :gid
15470	//
15471	//    * user :gid
15472	//
15473	//    * uid :group
15474	User *string `type:"string"`
15475
15476	// Data volumes to mount from another container.
15477	VolumesFrom []*AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails `type:"list"`
15478
15479	// The working directory in which to run commands inside the container.
15480	WorkingDirectory *string `type:"string"`
15481}
15482
15483// String returns the string representation.
15484//
15485// API parameter values that are decorated as "sensitive" in the API will not
15486// be included in the string output. The member name will be present, but the
15487// value will be replaced with "sensitive".
15488func (s AwsEcsTaskDefinitionContainerDefinitionsDetails) String() string {
15489	return awsutil.Prettify(s)
15490}
15491
15492// GoString returns the string representation.
15493//
15494// API parameter values that are decorated as "sensitive" in the API will not
15495// be included in the string output. The member name will be present, but the
15496// value will be replaced with "sensitive".
15497func (s AwsEcsTaskDefinitionContainerDefinitionsDetails) GoString() string {
15498	return s.String()
15499}
15500
15501// SetCommand sets the Command field's value.
15502func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetCommand(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15503	s.Command = v
15504	return s
15505}
15506
15507// SetCpu sets the Cpu field's value.
15508func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetCpu(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15509	s.Cpu = &v
15510	return s
15511}
15512
15513// SetDependsOn sets the DependsOn field's value.
15514func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDependsOn(v []*AwsEcsTaskDefinitionContainerDefinitionsDependsOnDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15515	s.DependsOn = v
15516	return s
15517}
15518
15519// SetDisableNetworking sets the DisableNetworking field's value.
15520func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDisableNetworking(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15521	s.DisableNetworking = &v
15522	return s
15523}
15524
15525// SetDnsSearchDomains sets the DnsSearchDomains field's value.
15526func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDnsSearchDomains(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15527	s.DnsSearchDomains = v
15528	return s
15529}
15530
15531// SetDnsServers sets the DnsServers field's value.
15532func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDnsServers(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15533	s.DnsServers = v
15534	return s
15535}
15536
15537// SetDockerLabels sets the DockerLabels field's value.
15538func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDockerLabels(v map[string]*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15539	s.DockerLabels = v
15540	return s
15541}
15542
15543// SetDockerSecurityOptions sets the DockerSecurityOptions field's value.
15544func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetDockerSecurityOptions(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15545	s.DockerSecurityOptions = v
15546	return s
15547}
15548
15549// SetEntryPoint sets the EntryPoint field's value.
15550func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEntryPoint(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15551	s.EntryPoint = v
15552	return s
15553}
15554
15555// SetEnvironment sets the Environment field's value.
15556func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEnvironment(v []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15557	s.Environment = v
15558	return s
15559}
15560
15561// SetEnvironmentFiles sets the EnvironmentFiles field's value.
15562func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEnvironmentFiles(v []*AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15563	s.EnvironmentFiles = v
15564	return s
15565}
15566
15567// SetEssential sets the Essential field's value.
15568func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetEssential(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15569	s.Essential = &v
15570	return s
15571}
15572
15573// SetExtraHosts sets the ExtraHosts field's value.
15574func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetExtraHosts(v []*AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15575	s.ExtraHosts = v
15576	return s
15577}
15578
15579// SetFirelensConfiguration sets the FirelensConfiguration field's value.
15580func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetFirelensConfiguration(v *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15581	s.FirelensConfiguration = v
15582	return s
15583}
15584
15585// SetHealthCheck sets the HealthCheck field's value.
15586func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetHealthCheck(v *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15587	s.HealthCheck = v
15588	return s
15589}
15590
15591// SetHostname sets the Hostname field's value.
15592func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetHostname(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15593	s.Hostname = &v
15594	return s
15595}
15596
15597// SetImage sets the Image field's value.
15598func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetImage(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15599	s.Image = &v
15600	return s
15601}
15602
15603// SetInteractive sets the Interactive field's value.
15604func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetInteractive(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15605	s.Interactive = &v
15606	return s
15607}
15608
15609// SetLinks sets the Links field's value.
15610func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetLinks(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15611	s.Links = v
15612	return s
15613}
15614
15615// SetLinuxParameters sets the LinuxParameters field's value.
15616func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetLinuxParameters(v *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15617	s.LinuxParameters = v
15618	return s
15619}
15620
15621// SetLogConfiguration sets the LogConfiguration field's value.
15622func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetLogConfiguration(v *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15623	s.LogConfiguration = v
15624	return s
15625}
15626
15627// SetMemory sets the Memory field's value.
15628func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetMemory(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15629	s.Memory = &v
15630	return s
15631}
15632
15633// SetMemoryReservation sets the MemoryReservation field's value.
15634func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetMemoryReservation(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15635	s.MemoryReservation = &v
15636	return s
15637}
15638
15639// SetMountPoints sets the MountPoints field's value.
15640func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetMountPoints(v []*AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15641	s.MountPoints = v
15642	return s
15643}
15644
15645// SetName sets the Name field's value.
15646func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15647	s.Name = &v
15648	return s
15649}
15650
15651// SetPortMappings sets the PortMappings field's value.
15652func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetPortMappings(v []*AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15653	s.PortMappings = v
15654	return s
15655}
15656
15657// SetPrivileged sets the Privileged field's value.
15658func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetPrivileged(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15659	s.Privileged = &v
15660	return s
15661}
15662
15663// SetPseudoTerminal sets the PseudoTerminal field's value.
15664func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetPseudoTerminal(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15665	s.PseudoTerminal = &v
15666	return s
15667}
15668
15669// SetReadonlyRootFilesystem sets the ReadonlyRootFilesystem field's value.
15670func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetReadonlyRootFilesystem(v bool) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15671	s.ReadonlyRootFilesystem = &v
15672	return s
15673}
15674
15675// SetRepositoryCredentials sets the RepositoryCredentials field's value.
15676func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetRepositoryCredentials(v *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15677	s.RepositoryCredentials = v
15678	return s
15679}
15680
15681// SetResourceRequirements sets the ResourceRequirements field's value.
15682func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetResourceRequirements(v []*AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15683	s.ResourceRequirements = v
15684	return s
15685}
15686
15687// SetSecrets sets the Secrets field's value.
15688func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetSecrets(v []*AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15689	s.Secrets = v
15690	return s
15691}
15692
15693// SetStartTimeout sets the StartTimeout field's value.
15694func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetStartTimeout(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15695	s.StartTimeout = &v
15696	return s
15697}
15698
15699// SetStopTimeout sets the StopTimeout field's value.
15700func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetStopTimeout(v int64) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15701	s.StopTimeout = &v
15702	return s
15703}
15704
15705// SetSystemControls sets the SystemControls field's value.
15706func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetSystemControls(v []*AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15707	s.SystemControls = v
15708	return s
15709}
15710
15711// SetUlimits sets the Ulimits field's value.
15712func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetUlimits(v []*AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15713	s.Ulimits = v
15714	return s
15715}
15716
15717// SetUser sets the User field's value.
15718func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetUser(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15719	s.User = &v
15720	return s
15721}
15722
15723// SetVolumesFrom sets the VolumesFrom field's value.
15724func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetVolumesFrom(v []*AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15725	s.VolumesFrom = v
15726	return s
15727}
15728
15729// SetWorkingDirectory sets the WorkingDirectory field's value.
15730func (s *AwsEcsTaskDefinitionContainerDefinitionsDetails) SetWorkingDirectory(v string) *AwsEcsTaskDefinitionContainerDefinitionsDetails {
15731	s.WorkingDirectory = &v
15732	return s
15733}
15734
15735// An environment variable to pass to the container.
15736type AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails struct {
15737	_ struct{} `type:"structure"`
15738
15739	// The name of the environment variable.
15740	Name *string `type:"string"`
15741
15742	// The value of the environment variable.
15743	Value *string `type:"string"`
15744}
15745
15746// String returns the string representation.
15747//
15748// API parameter values that are decorated as "sensitive" in the API will not
15749// be included in the string output. The member name will be present, but the
15750// value will be replaced with "sensitive".
15751func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) String() string {
15752	return awsutil.Prettify(s)
15753}
15754
15755// GoString returns the string representation.
15756//
15757// API parameter values that are decorated as "sensitive" in the API will not
15758// be included in the string output. The member name will be present, but the
15759// value will be replaced with "sensitive".
15760func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) GoString() string {
15761	return s.String()
15762}
15763
15764// SetName sets the Name field's value.
15765func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails {
15766	s.Name = &v
15767	return s
15768}
15769
15770// SetValue sets the Value field's value.
15771func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentDetails {
15772	s.Value = &v
15773	return s
15774}
15775
15776// A file that contain environment variables to pass to a container.
15777type AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails struct {
15778	_ struct{} `type:"structure"`
15779
15780	// The type of environment file.
15781	Type *string `type:"string"`
15782
15783	// The ARN of the S3 object that contains the environment variable file.
15784	Value *string `type:"string"`
15785}
15786
15787// String returns the string representation.
15788//
15789// API parameter values that are decorated as "sensitive" in the API will not
15790// be included in the string output. The member name will be present, but the
15791// value will be replaced with "sensitive".
15792func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) String() string {
15793	return awsutil.Prettify(s)
15794}
15795
15796// GoString returns the string representation.
15797//
15798// API parameter values that are decorated as "sensitive" in the API will not
15799// be included in the string output. The member name will be present, but the
15800// value will be replaced with "sensitive".
15801func (s AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) GoString() string {
15802	return s.String()
15803}
15804
15805// SetType sets the Type field's value.
15806func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) SetType(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails {
15807	s.Type = &v
15808	return s
15809}
15810
15811// SetValue sets the Value field's value.
15812func (s *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsEnvironmentFilesDetails {
15813	s.Value = &v
15814	return s
15815}
15816
15817// A hostname and IP address mapping to append to the /etc/hosts file on the
15818// container.
15819type AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails struct {
15820	_ struct{} `type:"structure"`
15821
15822	// The hostname to use in the /etc/hosts entry.
15823	Hostname *string `type:"string"`
15824
15825	// The IP address to use in the /etc/hosts entry.
15826	IpAddress *string `type:"string"`
15827}
15828
15829// String returns the string representation.
15830//
15831// API parameter values that are decorated as "sensitive" in the API will not
15832// be included in the string output. The member name will be present, but the
15833// value will be replaced with "sensitive".
15834func (s AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) String() string {
15835	return awsutil.Prettify(s)
15836}
15837
15838// GoString returns the string representation.
15839//
15840// API parameter values that are decorated as "sensitive" in the API will not
15841// be included in the string output. The member name will be present, but the
15842// value will be replaced with "sensitive".
15843func (s AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) GoString() string {
15844	return s.String()
15845}
15846
15847// SetHostname sets the Hostname field's value.
15848func (s *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) SetHostname(v string) *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails {
15849	s.Hostname = &v
15850	return s
15851}
15852
15853// SetIpAddress sets the IpAddress field's value.
15854func (s *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails) SetIpAddress(v string) *AwsEcsTaskDefinitionContainerDefinitionsExtraHostsDetails {
15855	s.IpAddress = &v
15856	return s
15857}
15858
15859// The FireLens configuration for the container. The configuration specifies
15860// and configures a log router for container logs.
15861type AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails struct {
15862	_ struct{} `type:"structure"`
15863
15864	// The options to use to configure the log router.
15865	//
15866	// The valid option keys are as follows:
15867	//
15868	//    * enable-ecs-log-metadata. The value can be true or false.
15869	//
15870	//    * config-file-type. The value can be s3 or file.
15871	//
15872	//    * config-file-value. The value is either an S3 ARN or a file path.
15873	Options map[string]*string `type:"map"`
15874
15875	// The log router to use.
15876	Type *string `type:"string"`
15877}
15878
15879// String returns the string representation.
15880//
15881// API parameter values that are decorated as "sensitive" in the API will not
15882// be included in the string output. The member name will be present, but the
15883// value will be replaced with "sensitive".
15884func (s AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) String() string {
15885	return awsutil.Prettify(s)
15886}
15887
15888// GoString returns the string representation.
15889//
15890// API parameter values that are decorated as "sensitive" in the API will not
15891// be included in the string output. The member name will be present, but the
15892// value will be replaced with "sensitive".
15893func (s AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) GoString() string {
15894	return s.String()
15895}
15896
15897// SetOptions sets the Options field's value.
15898func (s *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) SetOptions(v map[string]*string) *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails {
15899	s.Options = v
15900	return s
15901}
15902
15903// SetType sets the Type field's value.
15904func (s *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails) SetType(v string) *AwsEcsTaskDefinitionContainerDefinitionsFirelensConfigurationDetails {
15905	s.Type = &v
15906	return s
15907}
15908
15909// The container health check command and associated configuration parameters
15910// for the container.
15911type AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails struct {
15912	_ struct{} `type:"structure"`
15913
15914	// The command that the container runs to determine whether it is healthy.
15915	Command []*string `type:"list"`
15916
15917	// The time period in seconds between each health check execution. The default
15918	// value is 30 seconds.
15919	Interval *int64 `type:"integer"`
15920
15921	// The number of times to retry a failed health check before the container is
15922	// considered unhealthy. The default value is 3.
15923	Retries *int64 `type:"integer"`
15924
15925	// The optional grace period in seconds that allows containers time to bootstrap
15926	// before failed health checks count towards the maximum number of retries.
15927	StartPeriod *int64 `type:"integer"`
15928
15929	// The time period in seconds to wait for a health check to succeed before it
15930	// is considered a failure. The default value is 5.
15931	Timeout *int64 `type:"integer"`
15932}
15933
15934// String returns the string representation.
15935//
15936// API parameter values that are decorated as "sensitive" in the API will not
15937// be included in the string output. The member name will be present, but the
15938// value will be replaced with "sensitive".
15939func (s AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) String() string {
15940	return awsutil.Prettify(s)
15941}
15942
15943// GoString returns the string representation.
15944//
15945// API parameter values that are decorated as "sensitive" in the API will not
15946// be included in the string output. The member name will be present, but the
15947// value will be replaced with "sensitive".
15948func (s AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) GoString() string {
15949	return s.String()
15950}
15951
15952// SetCommand sets the Command field's value.
15953func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetCommand(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
15954	s.Command = v
15955	return s
15956}
15957
15958// SetInterval sets the Interval field's value.
15959func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetInterval(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
15960	s.Interval = &v
15961	return s
15962}
15963
15964// SetRetries sets the Retries field's value.
15965func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetRetries(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
15966	s.Retries = &v
15967	return s
15968}
15969
15970// SetStartPeriod sets the StartPeriod field's value.
15971func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetStartPeriod(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
15972	s.StartPeriod = &v
15973	return s
15974}
15975
15976// SetTimeout sets the Timeout field's value.
15977func (s *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails) SetTimeout(v int64) *AwsEcsTaskDefinitionContainerDefinitionsHealthCheckDetails {
15978	s.Timeout = &v
15979	return s
15980}
15981
15982// The Linux capabilities for the container that are added to or dropped from
15983// the default configuration provided by Docker.
15984type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails struct {
15985	_ struct{} `type:"structure"`
15986
15987	// The Linux capabilities for the container that are added to the default configuration
15988	// provided by Docker.
15989	Add []*string `type:"list"`
15990
15991	// The Linux capabilities for the container that are dropped from the default
15992	// configuration provided by Docker.
15993	Drop []*string `type:"list"`
15994}
15995
15996// String returns the string representation.
15997//
15998// API parameter values that are decorated as "sensitive" in the API will not
15999// be included in the string output. The member name will be present, but the
16000// value will be replaced with "sensitive".
16001func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) String() string {
16002	return awsutil.Prettify(s)
16003}
16004
16005// GoString returns the string representation.
16006//
16007// API parameter values that are decorated as "sensitive" in the API will not
16008// be included in the string output. The member name will be present, but the
16009// value will be replaced with "sensitive".
16010func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) GoString() string {
16011	return s.String()
16012}
16013
16014// SetAdd sets the Add field's value.
16015func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) SetAdd(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails {
16016	s.Add = v
16017	return s
16018}
16019
16020// SetDrop sets the Drop field's value.
16021func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) SetDrop(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails {
16022	s.Drop = v
16023	return s
16024}
16025
16026// >Linux-specific modifications that are applied to the container, such as
16027// Linux kernel capabilities.
16028type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails struct {
16029	_ struct{} `type:"structure"`
16030
16031	// The Linux capabilities for the container that are added to or dropped from
16032	// the default configuration provided by Docker.
16033	Capabilities *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails `type:"structure"`
16034
16035	// The host devices to expose to the container.
16036	Devices []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails `type:"list"`
16037
16038	// Whether to run an init process inside the container that forwards signals
16039	// and reaps processes.
16040	InitProcessEnabled *bool `type:"boolean"`
16041
16042	// The total amount of swap memory (in MiB) that a container can use.
16043	MaxSwap *int64 `type:"integer"`
16044
16045	// The value for the size (in MiB) of the /dev/shm volume.
16046	SharedMemorySize *int64 `type:"integer"`
16047
16048	// Configures the container's memory swappiness behavior. Determines how aggressively
16049	// pages are swapped. The higher the value, the more aggressive the swappiness.
16050	// The default is 60.
16051	Swappiness *int64 `type:"integer"`
16052
16053	// The container path, mount options, and size (in MiB) of the tmpfs mount.
16054	Tmpfs []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails `type:"list"`
16055}
16056
16057// String returns the string representation.
16058//
16059// API parameter values that are decorated as "sensitive" in the API will not
16060// be included in the string output. The member name will be present, but the
16061// value will be replaced with "sensitive".
16062func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) String() string {
16063	return awsutil.Prettify(s)
16064}
16065
16066// GoString returns the string representation.
16067//
16068// API parameter values that are decorated as "sensitive" in the API will not
16069// be included in the string output. The member name will be present, but the
16070// value will be replaced with "sensitive".
16071func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) GoString() string {
16072	return s.String()
16073}
16074
16075// SetCapabilities sets the Capabilities field's value.
16076func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetCapabilities(v *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersCapabilitiesDetails) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
16077	s.Capabilities = v
16078	return s
16079}
16080
16081// SetDevices sets the Devices field's value.
16082func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetDevices(v []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
16083	s.Devices = v
16084	return s
16085}
16086
16087// SetInitProcessEnabled sets the InitProcessEnabled field's value.
16088func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetInitProcessEnabled(v bool) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
16089	s.InitProcessEnabled = &v
16090	return s
16091}
16092
16093// SetMaxSwap sets the MaxSwap field's value.
16094func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetMaxSwap(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
16095	s.MaxSwap = &v
16096	return s
16097}
16098
16099// SetSharedMemorySize sets the SharedMemorySize field's value.
16100func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetSharedMemorySize(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
16101	s.SharedMemorySize = &v
16102	return s
16103}
16104
16105// SetSwappiness sets the Swappiness field's value.
16106func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetSwappiness(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
16107	s.Swappiness = &v
16108	return s
16109}
16110
16111// SetTmpfs sets the Tmpfs field's value.
16112func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails) SetTmpfs(v []*AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDetails {
16113	s.Tmpfs = v
16114	return s
16115}
16116
16117// A host device to expose to the container.
16118type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails struct {
16119	_ struct{} `type:"structure"`
16120
16121	// The path inside the container at which to expose the host device.
16122	ContainerPath *string `type:"string"`
16123
16124	// The path for the device on the host container instance.
16125	HostPath *string `type:"string"`
16126
16127	// The explicit permissions to provide to the container for the device. By default,
16128	// the container has permissions for read, write, and mknod for the device.
16129	Permissions []*string `type:"list"`
16130}
16131
16132// String returns the string representation.
16133//
16134// API parameter values that are decorated as "sensitive" in the API will not
16135// be included in the string output. The member name will be present, but the
16136// value will be replaced with "sensitive".
16137func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) String() string {
16138	return awsutil.Prettify(s)
16139}
16140
16141// GoString returns the string representation.
16142//
16143// API parameter values that are decorated as "sensitive" in the API will not
16144// be included in the string output. The member name will be present, but the
16145// value will be replaced with "sensitive".
16146func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) GoString() string {
16147	return s.String()
16148}
16149
16150// SetContainerPath sets the ContainerPath field's value.
16151func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) SetContainerPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails {
16152	s.ContainerPath = &v
16153	return s
16154}
16155
16156// SetHostPath sets the HostPath field's value.
16157func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) SetHostPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails {
16158	s.HostPath = &v
16159	return s
16160}
16161
16162// SetPermissions sets the Permissions field's value.
16163func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails) SetPermissions(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersDevicesDetails {
16164	s.Permissions = v
16165	return s
16166}
16167
16168// The container path, mount options, and size (in MiB) of a tmpfs mount.
16169type AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails struct {
16170	_ struct{} `type:"structure"`
16171
16172	// The absolute file path where the tmpfs volume is to be mounted.
16173	ContainerPath *string `type:"string"`
16174
16175	// The list of tmpfs volume mount options.
16176	MountOptions []*string `type:"list"`
16177
16178	// The maximum size (in MiB) of the tmpfs volume.
16179	Size *int64 `type:"integer"`
16180}
16181
16182// String returns the string representation.
16183//
16184// API parameter values that are decorated as "sensitive" in the API will not
16185// be included in the string output. The member name will be present, but the
16186// value will be replaced with "sensitive".
16187func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) String() string {
16188	return awsutil.Prettify(s)
16189}
16190
16191// GoString returns the string representation.
16192//
16193// API parameter values that are decorated as "sensitive" in the API will not
16194// be included in the string output. The member name will be present, but the
16195// value will be replaced with "sensitive".
16196func (s AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) GoString() string {
16197	return s.String()
16198}
16199
16200// SetContainerPath sets the ContainerPath field's value.
16201func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) SetContainerPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails {
16202	s.ContainerPath = &v
16203	return s
16204}
16205
16206// SetMountOptions sets the MountOptions field's value.
16207func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) SetMountOptions(v []*string) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails {
16208	s.MountOptions = v
16209	return s
16210}
16211
16212// SetSize sets the Size field's value.
16213func (s *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails) SetSize(v int64) *AwsEcsTaskDefinitionContainerDefinitionsLinuxParametersTmpfsDetails {
16214	s.Size = &v
16215	return s
16216}
16217
16218// The log configuration specification for the container.
16219type AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails struct {
16220	_ struct{} `type:"structure"`
16221
16222	// The log driver to use for the container.
16223	LogDriver *string `type:"string"`
16224
16225	// The configuration options to send to the log driver. Requires version 1.19
16226	// of the Docker Remote API or greater on your container instance.
16227	Options map[string]*string `type:"map"`
16228
16229	// The secrets to pass to the log configuration.
16230	SecretOptions []*AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails `type:"list"`
16231}
16232
16233// String returns the string representation.
16234//
16235// API parameter values that are decorated as "sensitive" in the API will not
16236// be included in the string output. The member name will be present, but the
16237// value will be replaced with "sensitive".
16238func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) String() string {
16239	return awsutil.Prettify(s)
16240}
16241
16242// GoString returns the string representation.
16243//
16244// API parameter values that are decorated as "sensitive" in the API will not
16245// be included in the string output. The member name will be present, but the
16246// value will be replaced with "sensitive".
16247func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) GoString() string {
16248	return s.String()
16249}
16250
16251// SetLogDriver sets the LogDriver field's value.
16252func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) SetLogDriver(v string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
16253	s.LogDriver = &v
16254	return s
16255}
16256
16257// SetOptions sets the Options field's value.
16258func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) SetOptions(v map[string]*string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
16259	s.Options = v
16260	return s
16261}
16262
16263// SetSecretOptions sets the SecretOptions field's value.
16264func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails) SetSecretOptions(v []*AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationDetails {
16265	s.SecretOptions = v
16266	return s
16267}
16268
16269// A secret to pass to the log configuration.
16270type AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails struct {
16271	_ struct{} `type:"structure"`
16272
16273	// The name of the secret.
16274	Name *string `type:"string"`
16275
16276	// The secret to expose to the container.
16277	//
16278	// The value is either the full ARN of the Secrets Manager secret or the full
16279	// ARN of the parameter in the Systems Manager Parameter Store.
16280	ValueFrom *string `type:"string"`
16281}
16282
16283// String returns the string representation.
16284//
16285// API parameter values that are decorated as "sensitive" in the API will not
16286// be included in the string output. The member name will be present, but the
16287// value will be replaced with "sensitive".
16288func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) String() string {
16289	return awsutil.Prettify(s)
16290}
16291
16292// GoString returns the string representation.
16293//
16294// API parameter values that are decorated as "sensitive" in the API will not
16295// be included in the string output. The member name will be present, but the
16296// value will be replaced with "sensitive".
16297func (s AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) GoString() string {
16298	return s.String()
16299}
16300
16301// SetName sets the Name field's value.
16302func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails {
16303	s.Name = &v
16304	return s
16305}
16306
16307// SetValueFrom sets the ValueFrom field's value.
16308func (s *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails) SetValueFrom(v string) *AwsEcsTaskDefinitionContainerDefinitionsLogConfigurationSecretOptionsDetails {
16309	s.ValueFrom = &v
16310	return s
16311}
16312
16313// A mount point for the data volumes in the container.
16314type AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails struct {
16315	_ struct{} `type:"structure"`
16316
16317	// The path on the container to mount the host volume at.
16318	ContainerPath *string `type:"string"`
16319
16320	// Whether the container has read-only access to the volume.
16321	ReadOnly *bool `type:"boolean"`
16322
16323	// The name of the volume to mount. Must match the name of a volume listed in
16324	// VolumeDetails for the task definition.
16325	SourceVolume *string `type:"string"`
16326}
16327
16328// String returns the string representation.
16329//
16330// API parameter values that are decorated as "sensitive" in the API will not
16331// be included in the string output. The member name will be present, but the
16332// value will be replaced with "sensitive".
16333func (s AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) String() string {
16334	return awsutil.Prettify(s)
16335}
16336
16337// GoString returns the string representation.
16338//
16339// API parameter values that are decorated as "sensitive" in the API will not
16340// be included in the string output. The member name will be present, but the
16341// value will be replaced with "sensitive".
16342func (s AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) GoString() string {
16343	return s.String()
16344}
16345
16346// SetContainerPath sets the ContainerPath field's value.
16347func (s *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) SetContainerPath(v string) *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails {
16348	s.ContainerPath = &v
16349	return s
16350}
16351
16352// SetReadOnly sets the ReadOnly field's value.
16353func (s *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) SetReadOnly(v bool) *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails {
16354	s.ReadOnly = &v
16355	return s
16356}
16357
16358// SetSourceVolume sets the SourceVolume field's value.
16359func (s *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails) SetSourceVolume(v string) *AwsEcsTaskDefinitionContainerDefinitionsMountPointsDetails {
16360	s.SourceVolume = &v
16361	return s
16362}
16363
16364// A port mapping for the container.
16365type AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails struct {
16366	_ struct{} `type:"structure"`
16367
16368	// The port number on the container that is bound to the user-specified or automatically
16369	// assigned host port.
16370	ContainerPort *int64 `type:"integer"`
16371
16372	// The port number on the container instance to reserve for the container.
16373	HostPort *int64 `type:"integer"`
16374
16375	// The protocol used for the port mapping. The default is tcp.
16376	Protocol *string `type:"string"`
16377}
16378
16379// String returns the string representation.
16380//
16381// API parameter values that are decorated as "sensitive" in the API will not
16382// be included in the string output. The member name will be present, but the
16383// value will be replaced with "sensitive".
16384func (s AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) String() string {
16385	return awsutil.Prettify(s)
16386}
16387
16388// GoString returns the string representation.
16389//
16390// API parameter values that are decorated as "sensitive" in the API will not
16391// be included in the string output. The member name will be present, but the
16392// value will be replaced with "sensitive".
16393func (s AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) GoString() string {
16394	return s.String()
16395}
16396
16397// SetContainerPort sets the ContainerPort field's value.
16398func (s *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) SetContainerPort(v int64) *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails {
16399	s.ContainerPort = &v
16400	return s
16401}
16402
16403// SetHostPort sets the HostPort field's value.
16404func (s *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) SetHostPort(v int64) *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails {
16405	s.HostPort = &v
16406	return s
16407}
16408
16409// SetProtocol sets the Protocol field's value.
16410func (s *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails) SetProtocol(v string) *AwsEcsTaskDefinitionContainerDefinitionsPortMappingsDetails {
16411	s.Protocol = &v
16412	return s
16413}
16414
16415// The private repository authentication credentials to use.
16416type AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails struct {
16417	_ struct{} `type:"structure"`
16418
16419	// The ARN of the secret that contains the private repository credentials.
16420	CredentialsParameter *string `type:"string"`
16421}
16422
16423// String returns the string representation.
16424//
16425// API parameter values that are decorated as "sensitive" in the API will not
16426// be included in the string output. The member name will be present, but the
16427// value will be replaced with "sensitive".
16428func (s AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) String() string {
16429	return awsutil.Prettify(s)
16430}
16431
16432// GoString returns the string representation.
16433//
16434// API parameter values that are decorated as "sensitive" in the API will not
16435// be included in the string output. The member name will be present, but the
16436// value will be replaced with "sensitive".
16437func (s AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) GoString() string {
16438	return s.String()
16439}
16440
16441// SetCredentialsParameter sets the CredentialsParameter field's value.
16442func (s *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails) SetCredentialsParameter(v string) *AwsEcsTaskDefinitionContainerDefinitionsRepositoryCredentialsDetails {
16443	s.CredentialsParameter = &v
16444	return s
16445}
16446
16447// A resource to assign to a container.
16448type AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails struct {
16449	_ struct{} `type:"structure"`
16450
16451	// The type of resource to assign to a container.
16452	Type *string `type:"string"`
16453
16454	// The value for the specified resource type.
16455	//
16456	// For GPU, the value is the number of physical GPUs the Amazon ECS container
16457	// agent reserves for the container.
16458	//
16459	// For InferenceAccelerator, the value should match the DeviceName attribute
16460	// of an entry in InferenceAccelerators.
16461	Value *string `type:"string"`
16462}
16463
16464// String returns the string representation.
16465//
16466// API parameter values that are decorated as "sensitive" in the API will not
16467// be included in the string output. The member name will be present, but the
16468// value will be replaced with "sensitive".
16469func (s AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) String() string {
16470	return awsutil.Prettify(s)
16471}
16472
16473// GoString returns the string representation.
16474//
16475// API parameter values that are decorated as "sensitive" in the API will not
16476// be included in the string output. The member name will be present, but the
16477// value will be replaced with "sensitive".
16478func (s AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) GoString() string {
16479	return s.String()
16480}
16481
16482// SetType sets the Type field's value.
16483func (s *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) SetType(v string) *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails {
16484	s.Type = &v
16485	return s
16486}
16487
16488// SetValue sets the Value field's value.
16489func (s *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsResourceRequirementsDetails {
16490	s.Value = &v
16491	return s
16492}
16493
16494// A secret to pass to the container.
16495type AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails struct {
16496	_ struct{} `type:"structure"`
16497
16498	// The name of the secret.
16499	Name *string `type:"string"`
16500
16501	// The secret to expose to the container. The value is either the full ARN of
16502	// the Secrets Manager secret or the full ARN of the parameter in the Systems
16503	// Manager Parameter Store.
16504	ValueFrom *string `type:"string"`
16505}
16506
16507// String returns the string representation.
16508//
16509// API parameter values that are decorated as "sensitive" in the API will not
16510// be included in the string output. The member name will be present, but the
16511// value will be replaced with "sensitive".
16512func (s AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) String() string {
16513	return awsutil.Prettify(s)
16514}
16515
16516// GoString returns the string representation.
16517//
16518// API parameter values that are decorated as "sensitive" in the API will not
16519// be included in the string output. The member name will be present, but the
16520// value will be replaced with "sensitive".
16521func (s AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) GoString() string {
16522	return s.String()
16523}
16524
16525// SetName sets the Name field's value.
16526func (s *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails {
16527	s.Name = &v
16528	return s
16529}
16530
16531// SetValueFrom sets the ValueFrom field's value.
16532func (s *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails) SetValueFrom(v string) *AwsEcsTaskDefinitionContainerDefinitionsSecretsDetails {
16533	s.ValueFrom = &v
16534	return s
16535}
16536
16537// A namespaced kernel parameter to set in the container.
16538type AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails struct {
16539	_ struct{} `type:"structure"`
16540
16541	// The namespaced kernel parameter for which to set a value.
16542	Namespace *string `type:"string"`
16543
16544	// The value of the parameter.
16545	Value *string `type:"string"`
16546}
16547
16548// String returns the string representation.
16549//
16550// API parameter values that are decorated as "sensitive" in the API will not
16551// be included in the string output. The member name will be present, but the
16552// value will be replaced with "sensitive".
16553func (s AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) String() string {
16554	return awsutil.Prettify(s)
16555}
16556
16557// GoString returns the string representation.
16558//
16559// API parameter values that are decorated as "sensitive" in the API will not
16560// be included in the string output. The member name will be present, but the
16561// value will be replaced with "sensitive".
16562func (s AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) GoString() string {
16563	return s.String()
16564}
16565
16566// SetNamespace sets the Namespace field's value.
16567func (s *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) SetNamespace(v string) *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails {
16568	s.Namespace = &v
16569	return s
16570}
16571
16572// SetValue sets the Value field's value.
16573func (s *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails) SetValue(v string) *AwsEcsTaskDefinitionContainerDefinitionsSystemControlsDetails {
16574	s.Value = &v
16575	return s
16576}
16577
16578// A ulimit to set in the container.
16579type AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails struct {
16580	_ struct{} `type:"structure"`
16581
16582	// The hard limit for the ulimit type.
16583	HardLimit *int64 `type:"integer"`
16584
16585	// The type of the ulimit.
16586	Name *string `type:"string"`
16587
16588	// The soft limit for the ulimit type.
16589	SoftLimit *int64 `type:"integer"`
16590}
16591
16592// String returns the string representation.
16593//
16594// API parameter values that are decorated as "sensitive" in the API will not
16595// be included in the string output. The member name will be present, but the
16596// value will be replaced with "sensitive".
16597func (s AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) String() string {
16598	return awsutil.Prettify(s)
16599}
16600
16601// GoString returns the string representation.
16602//
16603// API parameter values that are decorated as "sensitive" in the API will not
16604// be included in the string output. The member name will be present, but the
16605// value will be replaced with "sensitive".
16606func (s AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) GoString() string {
16607	return s.String()
16608}
16609
16610// SetHardLimit sets the HardLimit field's value.
16611func (s *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) SetHardLimit(v int64) *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails {
16612	s.HardLimit = &v
16613	return s
16614}
16615
16616// SetName sets the Name field's value.
16617func (s *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) SetName(v string) *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails {
16618	s.Name = &v
16619	return s
16620}
16621
16622// SetSoftLimit sets the SoftLimit field's value.
16623func (s *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails) SetSoftLimit(v int64) *AwsEcsTaskDefinitionContainerDefinitionsUlimitsDetails {
16624	s.SoftLimit = &v
16625	return s
16626}
16627
16628// A data volume to mount from another container.
16629type AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails struct {
16630	_ struct{} `type:"structure"`
16631
16632	// Whether the container has read-only access to the volume.
16633	ReadOnly *bool `type:"boolean"`
16634
16635	// The name of another container within the same task definition from which
16636	// to mount volumes.
16637	SourceContainer *string `type:"string"`
16638}
16639
16640// String returns the string representation.
16641//
16642// API parameter values that are decorated as "sensitive" in the API will not
16643// be included in the string output. The member name will be present, but the
16644// value will be replaced with "sensitive".
16645func (s AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) String() string {
16646	return awsutil.Prettify(s)
16647}
16648
16649// GoString returns the string representation.
16650//
16651// API parameter values that are decorated as "sensitive" in the API will not
16652// be included in the string output. The member name will be present, but the
16653// value will be replaced with "sensitive".
16654func (s AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) GoString() string {
16655	return s.String()
16656}
16657
16658// SetReadOnly sets the ReadOnly field's value.
16659func (s *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) SetReadOnly(v bool) *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails {
16660	s.ReadOnly = &v
16661	return s
16662}
16663
16664// SetSourceContainer sets the SourceContainer field's value.
16665func (s *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails) SetSourceContainer(v string) *AwsEcsTaskDefinitionContainerDefinitionsVolumesFromDetails {
16666	s.SourceContainer = &v
16667	return s
16668}
16669
16670// details about a task definition. A task definition describes the container
16671// and volume definitions of an Amazon Elastic Container Service task.
16672type AwsEcsTaskDefinitionDetails struct {
16673	_ struct{} `type:"structure"`
16674
16675	// The container definitions that describe the containers that make up the task.
16676	ContainerDefinitions []*AwsEcsTaskDefinitionContainerDefinitionsDetails `type:"list"`
16677
16678	// The number of CPU units used by the task.
16679	Cpu *string `type:"string"`
16680
16681	// The ARN of the task execution role that grants the container agent permission
16682	// to make API calls on behalf of the container user.
16683	ExecutionRoleArn *string `type:"string"`
16684
16685	// The name of a family that this task definition is registered to.
16686	Family *string `type:"string"`
16687
16688	// The Elastic Inference accelerators to use for the containers in the task.
16689	InferenceAccelerators []*AwsEcsTaskDefinitionInferenceAcceleratorsDetails `type:"list"`
16690
16691	// The IPC resource namespace to use for the containers in the task.
16692	IpcMode *string `type:"string"`
16693
16694	// The amount (in MiB) of memory used by the task.
16695	Memory *string `type:"string"`
16696
16697	// The Docker networking mode to use for the containers in the task.
16698	NetworkMode *string `type:"string"`
16699
16700	// The process namespace to use for the containers in the task.
16701	PidMode *string `type:"string"`
16702
16703	// The placement constraint objects to use for tasks.
16704	PlacementConstraints []*AwsEcsTaskDefinitionPlacementConstraintsDetails `type:"list"`
16705
16706	// The configuration details for the App Mesh proxy.
16707	ProxyConfiguration *AwsEcsTaskDefinitionProxyConfigurationDetails `type:"structure"`
16708
16709	// The task launch types that the task definition was validated against.
16710	RequiresCompatibilities []*string `type:"list"`
16711
16712	// The short name or ARN of the IAM role that grants containers in the task
16713	// permission to call Amazon Web Services API operations on your behalf.
16714	TaskRoleArn *string `type:"string"`
16715
16716	// The data volume definitions for the task.
16717	Volumes []*AwsEcsTaskDefinitionVolumesDetails `type:"list"`
16718}
16719
16720// String returns the string representation.
16721//
16722// API parameter values that are decorated as "sensitive" in the API will not
16723// be included in the string output. The member name will be present, but the
16724// value will be replaced with "sensitive".
16725func (s AwsEcsTaskDefinitionDetails) String() string {
16726	return awsutil.Prettify(s)
16727}
16728
16729// GoString returns the string representation.
16730//
16731// API parameter values that are decorated as "sensitive" in the API will not
16732// be included in the string output. The member name will be present, but the
16733// value will be replaced with "sensitive".
16734func (s AwsEcsTaskDefinitionDetails) GoString() string {
16735	return s.String()
16736}
16737
16738// SetContainerDefinitions sets the ContainerDefinitions field's value.
16739func (s *AwsEcsTaskDefinitionDetails) SetContainerDefinitions(v []*AwsEcsTaskDefinitionContainerDefinitionsDetails) *AwsEcsTaskDefinitionDetails {
16740	s.ContainerDefinitions = v
16741	return s
16742}
16743
16744// SetCpu sets the Cpu field's value.
16745func (s *AwsEcsTaskDefinitionDetails) SetCpu(v string) *AwsEcsTaskDefinitionDetails {
16746	s.Cpu = &v
16747	return s
16748}
16749
16750// SetExecutionRoleArn sets the ExecutionRoleArn field's value.
16751func (s *AwsEcsTaskDefinitionDetails) SetExecutionRoleArn(v string) *AwsEcsTaskDefinitionDetails {
16752	s.ExecutionRoleArn = &v
16753	return s
16754}
16755
16756// SetFamily sets the Family field's value.
16757func (s *AwsEcsTaskDefinitionDetails) SetFamily(v string) *AwsEcsTaskDefinitionDetails {
16758	s.Family = &v
16759	return s
16760}
16761
16762// SetInferenceAccelerators sets the InferenceAccelerators field's value.
16763func (s *AwsEcsTaskDefinitionDetails) SetInferenceAccelerators(v []*AwsEcsTaskDefinitionInferenceAcceleratorsDetails) *AwsEcsTaskDefinitionDetails {
16764	s.InferenceAccelerators = v
16765	return s
16766}
16767
16768// SetIpcMode sets the IpcMode field's value.
16769func (s *AwsEcsTaskDefinitionDetails) SetIpcMode(v string) *AwsEcsTaskDefinitionDetails {
16770	s.IpcMode = &v
16771	return s
16772}
16773
16774// SetMemory sets the Memory field's value.
16775func (s *AwsEcsTaskDefinitionDetails) SetMemory(v string) *AwsEcsTaskDefinitionDetails {
16776	s.Memory = &v
16777	return s
16778}
16779
16780// SetNetworkMode sets the NetworkMode field's value.
16781func (s *AwsEcsTaskDefinitionDetails) SetNetworkMode(v string) *AwsEcsTaskDefinitionDetails {
16782	s.NetworkMode = &v
16783	return s
16784}
16785
16786// SetPidMode sets the PidMode field's value.
16787func (s *AwsEcsTaskDefinitionDetails) SetPidMode(v string) *AwsEcsTaskDefinitionDetails {
16788	s.PidMode = &v
16789	return s
16790}
16791
16792// SetPlacementConstraints sets the PlacementConstraints field's value.
16793func (s *AwsEcsTaskDefinitionDetails) SetPlacementConstraints(v []*AwsEcsTaskDefinitionPlacementConstraintsDetails) *AwsEcsTaskDefinitionDetails {
16794	s.PlacementConstraints = v
16795	return s
16796}
16797
16798// SetProxyConfiguration sets the ProxyConfiguration field's value.
16799func (s *AwsEcsTaskDefinitionDetails) SetProxyConfiguration(v *AwsEcsTaskDefinitionProxyConfigurationDetails) *AwsEcsTaskDefinitionDetails {
16800	s.ProxyConfiguration = v
16801	return s
16802}
16803
16804// SetRequiresCompatibilities sets the RequiresCompatibilities field's value.
16805func (s *AwsEcsTaskDefinitionDetails) SetRequiresCompatibilities(v []*string) *AwsEcsTaskDefinitionDetails {
16806	s.RequiresCompatibilities = v
16807	return s
16808}
16809
16810// SetTaskRoleArn sets the TaskRoleArn field's value.
16811func (s *AwsEcsTaskDefinitionDetails) SetTaskRoleArn(v string) *AwsEcsTaskDefinitionDetails {
16812	s.TaskRoleArn = &v
16813	return s
16814}
16815
16816// SetVolumes sets the Volumes field's value.
16817func (s *AwsEcsTaskDefinitionDetails) SetVolumes(v []*AwsEcsTaskDefinitionVolumesDetails) *AwsEcsTaskDefinitionDetails {
16818	s.Volumes = v
16819	return s
16820}
16821
16822// An Elastic Inference accelerator to use for the containers in the task.
16823type AwsEcsTaskDefinitionInferenceAcceleratorsDetails struct {
16824	_ struct{} `type:"structure"`
16825
16826	// The Elastic Inference accelerator device name.
16827	DeviceName *string `type:"string"`
16828
16829	// The Elastic Inference accelerator type to use.
16830	DeviceType *string `type:"string"`
16831}
16832
16833// String returns the string representation.
16834//
16835// API parameter values that are decorated as "sensitive" in the API will not
16836// be included in the string output. The member name will be present, but the
16837// value will be replaced with "sensitive".
16838func (s AwsEcsTaskDefinitionInferenceAcceleratorsDetails) String() string {
16839	return awsutil.Prettify(s)
16840}
16841
16842// GoString returns the string representation.
16843//
16844// API parameter values that are decorated as "sensitive" in the API will not
16845// be included in the string output. The member name will be present, but the
16846// value will be replaced with "sensitive".
16847func (s AwsEcsTaskDefinitionInferenceAcceleratorsDetails) GoString() string {
16848	return s.String()
16849}
16850
16851// SetDeviceName sets the DeviceName field's value.
16852func (s *AwsEcsTaskDefinitionInferenceAcceleratorsDetails) SetDeviceName(v string) *AwsEcsTaskDefinitionInferenceAcceleratorsDetails {
16853	s.DeviceName = &v
16854	return s
16855}
16856
16857// SetDeviceType sets the DeviceType field's value.
16858func (s *AwsEcsTaskDefinitionInferenceAcceleratorsDetails) SetDeviceType(v string) *AwsEcsTaskDefinitionInferenceAcceleratorsDetails {
16859	s.DeviceType = &v
16860	return s
16861}
16862
16863// A placement constraint object to use for tasks.
16864type AwsEcsTaskDefinitionPlacementConstraintsDetails struct {
16865	_ struct{} `type:"structure"`
16866
16867	// A cluster query language expression to apply to the constraint.
16868	Expression *string `type:"string"`
16869
16870	// The type of constraint.
16871	Type *string `type:"string"`
16872}
16873
16874// String returns the string representation.
16875//
16876// API parameter values that are decorated as "sensitive" in the API will not
16877// be included in the string output. The member name will be present, but the
16878// value will be replaced with "sensitive".
16879func (s AwsEcsTaskDefinitionPlacementConstraintsDetails) String() string {
16880	return awsutil.Prettify(s)
16881}
16882
16883// GoString returns the string representation.
16884//
16885// API parameter values that are decorated as "sensitive" in the API will not
16886// be included in the string output. The member name will be present, but the
16887// value will be replaced with "sensitive".
16888func (s AwsEcsTaskDefinitionPlacementConstraintsDetails) GoString() string {
16889	return s.String()
16890}
16891
16892// SetExpression sets the Expression field's value.
16893func (s *AwsEcsTaskDefinitionPlacementConstraintsDetails) SetExpression(v string) *AwsEcsTaskDefinitionPlacementConstraintsDetails {
16894	s.Expression = &v
16895	return s
16896}
16897
16898// SetType sets the Type field's value.
16899func (s *AwsEcsTaskDefinitionPlacementConstraintsDetails) SetType(v string) *AwsEcsTaskDefinitionPlacementConstraintsDetails {
16900	s.Type = &v
16901	return s
16902}
16903
16904// The configuration details for the App Mesh proxy.
16905type AwsEcsTaskDefinitionProxyConfigurationDetails struct {
16906	_ struct{} `type:"structure"`
16907
16908	// The name of the container that will serve as the App Mesh proxy.
16909	ContainerName *string `type:"string"`
16910
16911	// The set of network configuration parameters to provide to the Container Network
16912	// Interface (CNI) plugin, specified as key-value pairs.
16913	ProxyConfigurationProperties []*AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails `type:"list"`
16914
16915	// The proxy type.
16916	Type *string `type:"string"`
16917}
16918
16919// String returns the string representation.
16920//
16921// API parameter values that are decorated as "sensitive" in the API will not
16922// be included in the string output. The member name will be present, but the
16923// value will be replaced with "sensitive".
16924func (s AwsEcsTaskDefinitionProxyConfigurationDetails) String() string {
16925	return awsutil.Prettify(s)
16926}
16927
16928// GoString returns the string representation.
16929//
16930// API parameter values that are decorated as "sensitive" in the API will not
16931// be included in the string output. The member name will be present, but the
16932// value will be replaced with "sensitive".
16933func (s AwsEcsTaskDefinitionProxyConfigurationDetails) GoString() string {
16934	return s.String()
16935}
16936
16937// SetContainerName sets the ContainerName field's value.
16938func (s *AwsEcsTaskDefinitionProxyConfigurationDetails) SetContainerName(v string) *AwsEcsTaskDefinitionProxyConfigurationDetails {
16939	s.ContainerName = &v
16940	return s
16941}
16942
16943// SetProxyConfigurationProperties sets the ProxyConfigurationProperties field's value.
16944func (s *AwsEcsTaskDefinitionProxyConfigurationDetails) SetProxyConfigurationProperties(v []*AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) *AwsEcsTaskDefinitionProxyConfigurationDetails {
16945	s.ProxyConfigurationProperties = v
16946	return s
16947}
16948
16949// SetType sets the Type field's value.
16950func (s *AwsEcsTaskDefinitionProxyConfigurationDetails) SetType(v string) *AwsEcsTaskDefinitionProxyConfigurationDetails {
16951	s.Type = &v
16952	return s
16953}
16954
16955// A network configuration parameter to provide to the Container Network Interface
16956// (CNI) plugin.
16957type AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails struct {
16958	_ struct{} `type:"structure"`
16959
16960	// The name of the property.
16961	Name *string `type:"string"`
16962
16963	// The value of the property.
16964	Value *string `type:"string"`
16965}
16966
16967// String returns the string representation.
16968//
16969// API parameter values that are decorated as "sensitive" in the API will not
16970// be included in the string output. The member name will be present, but the
16971// value will be replaced with "sensitive".
16972func (s AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) String() string {
16973	return awsutil.Prettify(s)
16974}
16975
16976// GoString returns the string representation.
16977//
16978// API parameter values that are decorated as "sensitive" in the API will not
16979// be included in the string output. The member name will be present, but the
16980// value will be replaced with "sensitive".
16981func (s AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) GoString() string {
16982	return s.String()
16983}
16984
16985// SetName sets the Name field's value.
16986func (s *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) SetName(v string) *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails {
16987	s.Name = &v
16988	return s
16989}
16990
16991// SetValue sets the Value field's value.
16992func (s *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails) SetValue(v string) *AwsEcsTaskDefinitionProxyConfigurationProxyConfigurationPropertiesDetails {
16993	s.Value = &v
16994	return s
16995}
16996
16997// A data volume to mount from another container.
16998type AwsEcsTaskDefinitionVolumesDetails struct {
16999	_ struct{} `type:"structure"`
17000
17001	// Information about a Docker volume.
17002	DockerVolumeConfiguration *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails `type:"structure"`
17003
17004	// Information about the Amazon Elastic File System file system that is used
17005	// for task storage.
17006	EfsVolumeConfiguration *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails `type:"structure"`
17007
17008	// Information about a bind mount host volume.
17009	Host *AwsEcsTaskDefinitionVolumesHostDetails `type:"structure"`
17010
17011	// The name of the data volume.
17012	Name *string `type:"string"`
17013}
17014
17015// String returns the string representation.
17016//
17017// API parameter values that are decorated as "sensitive" in the API will not
17018// be included in the string output. The member name will be present, but the
17019// value will be replaced with "sensitive".
17020func (s AwsEcsTaskDefinitionVolumesDetails) String() string {
17021	return awsutil.Prettify(s)
17022}
17023
17024// GoString returns the string representation.
17025//
17026// API parameter values that are decorated as "sensitive" in the API will not
17027// be included in the string output. The member name will be present, but the
17028// value will be replaced with "sensitive".
17029func (s AwsEcsTaskDefinitionVolumesDetails) GoString() string {
17030	return s.String()
17031}
17032
17033// SetDockerVolumeConfiguration sets the DockerVolumeConfiguration field's value.
17034func (s *AwsEcsTaskDefinitionVolumesDetails) SetDockerVolumeConfiguration(v *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) *AwsEcsTaskDefinitionVolumesDetails {
17035	s.DockerVolumeConfiguration = v
17036	return s
17037}
17038
17039// SetEfsVolumeConfiguration sets the EfsVolumeConfiguration field's value.
17040func (s *AwsEcsTaskDefinitionVolumesDetails) SetEfsVolumeConfiguration(v *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) *AwsEcsTaskDefinitionVolumesDetails {
17041	s.EfsVolumeConfiguration = v
17042	return s
17043}
17044
17045// SetHost sets the Host field's value.
17046func (s *AwsEcsTaskDefinitionVolumesDetails) SetHost(v *AwsEcsTaskDefinitionVolumesHostDetails) *AwsEcsTaskDefinitionVolumesDetails {
17047	s.Host = v
17048	return s
17049}
17050
17051// SetName sets the Name field's value.
17052func (s *AwsEcsTaskDefinitionVolumesDetails) SetName(v string) *AwsEcsTaskDefinitionVolumesDetails {
17053	s.Name = &v
17054	return s
17055}
17056
17057// Information about a Docker volume.
17058type AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails struct {
17059	_ struct{} `type:"structure"`
17060
17061	// Whether to create the Docker volume automatically if it does not already
17062	// exist.
17063	Autoprovision *bool `type:"boolean"`
17064
17065	// The Docker volume driver to use.
17066	Driver *string `type:"string"`
17067
17068	// A map of Docker driver-specific options that are passed through.
17069	DriverOpts map[string]*string `type:"map"`
17070
17071	// Custom metadata to add to the Docker volume.
17072	Labels map[string]*string `type:"map"`
17073
17074	// The scope for the Docker volume that determines its lifecycle. Docker volumes
17075	// that are scoped to a task are provisioned automatically when the task starts
17076	// and destroyed when the task stops. Docker volumes that are shared persist
17077	// after the task stops.
17078	Scope *string `type:"string"`
17079}
17080
17081// String returns the string representation.
17082//
17083// API parameter values that are decorated as "sensitive" in the API will not
17084// be included in the string output. The member name will be present, but the
17085// value will be replaced with "sensitive".
17086func (s AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) String() string {
17087	return awsutil.Prettify(s)
17088}
17089
17090// GoString returns the string representation.
17091//
17092// API parameter values that are decorated as "sensitive" in the API will not
17093// be included in the string output. The member name will be present, but the
17094// value will be replaced with "sensitive".
17095func (s AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) GoString() string {
17096	return s.String()
17097}
17098
17099// SetAutoprovision sets the Autoprovision field's value.
17100func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetAutoprovision(v bool) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
17101	s.Autoprovision = &v
17102	return s
17103}
17104
17105// SetDriver sets the Driver field's value.
17106func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetDriver(v string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
17107	s.Driver = &v
17108	return s
17109}
17110
17111// SetDriverOpts sets the DriverOpts field's value.
17112func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetDriverOpts(v map[string]*string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
17113	s.DriverOpts = v
17114	return s
17115}
17116
17117// SetLabels sets the Labels field's value.
17118func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetLabels(v map[string]*string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
17119	s.Labels = v
17120	return s
17121}
17122
17123// SetScope sets the Scope field's value.
17124func (s *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails) SetScope(v string) *AwsEcsTaskDefinitionVolumesDockerVolumeConfigurationDetails {
17125	s.Scope = &v
17126	return s
17127}
17128
17129type AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails struct {
17130	_ struct{} `type:"structure"`
17131
17132	// The Amazon EFS access point identifier to use.
17133	AccessPointId *string `type:"string"`
17134
17135	// Whether to use the Amazon ECS task IAM role defined in a task definition
17136	// when mounting the Amazon EFS file system.
17137	Iam *string `type:"string"`
17138}
17139
17140// String returns the string representation.
17141//
17142// API parameter values that are decorated as "sensitive" in the API will not
17143// be included in the string output. The member name will be present, but the
17144// value will be replaced with "sensitive".
17145func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) String() string {
17146	return awsutil.Prettify(s)
17147}
17148
17149// GoString returns the string representation.
17150//
17151// API parameter values that are decorated as "sensitive" in the API will not
17152// be included in the string output. The member name will be present, but the
17153// value will be replaced with "sensitive".
17154func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) GoString() string {
17155	return s.String()
17156}
17157
17158// SetAccessPointId sets the AccessPointId field's value.
17159func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) SetAccessPointId(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails {
17160	s.AccessPointId = &v
17161	return s
17162}
17163
17164// SetIam sets the Iam field's value.
17165func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) SetIam(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails {
17166	s.Iam = &v
17167	return s
17168}
17169
17170// Information about the Amazon Elastic File System file system that is used
17171// for task storage.
17172type AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails struct {
17173	_ struct{} `type:"structure"`
17174
17175	// The authorization configuration details for the Amazon EFS file system.
17176	AuthorizationConfig *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails `type:"structure"`
17177
17178	// The Amazon EFS file system identifier to use.
17179	FilesystemId *string `type:"string"`
17180
17181	// The directory within the Amazon EFS file system to mount as the root directory
17182	// inside the host.
17183	RootDirectory *string `type:"string"`
17184
17185	// Whether to enable encryption for Amazon EFS data in transit between the Amazon
17186	// ECS host and the Amazon EFS server.
17187	TransitEncryption *string `type:"string"`
17188
17189	// The port to use when sending encrypted data between the Amazon ECS host and
17190	// the Amazon EFS server.
17191	TransitEncryptionPort *int64 `type:"integer"`
17192}
17193
17194// String returns the string representation.
17195//
17196// API parameter values that are decorated as "sensitive" in the API will not
17197// be included in the string output. The member name will be present, but the
17198// value will be replaced with "sensitive".
17199func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) String() string {
17200	return awsutil.Prettify(s)
17201}
17202
17203// GoString returns the string representation.
17204//
17205// API parameter values that are decorated as "sensitive" in the API will not
17206// be included in the string output. The member name will be present, but the
17207// value will be replaced with "sensitive".
17208func (s AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) GoString() string {
17209	return s.String()
17210}
17211
17212// SetAuthorizationConfig sets the AuthorizationConfig field's value.
17213func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetAuthorizationConfig(v *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationAuthorizationConfigDetails) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
17214	s.AuthorizationConfig = v
17215	return s
17216}
17217
17218// SetFilesystemId sets the FilesystemId field's value.
17219func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetFilesystemId(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
17220	s.FilesystemId = &v
17221	return s
17222}
17223
17224// SetRootDirectory sets the RootDirectory field's value.
17225func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetRootDirectory(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
17226	s.RootDirectory = &v
17227	return s
17228}
17229
17230// SetTransitEncryption sets the TransitEncryption field's value.
17231func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetTransitEncryption(v string) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
17232	s.TransitEncryption = &v
17233	return s
17234}
17235
17236// SetTransitEncryptionPort sets the TransitEncryptionPort field's value.
17237func (s *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails) SetTransitEncryptionPort(v int64) *AwsEcsTaskDefinitionVolumesEfsVolumeConfigurationDetails {
17238	s.TransitEncryptionPort = &v
17239	return s
17240}
17241
17242// Information about a bind mount host volume.
17243type AwsEcsTaskDefinitionVolumesHostDetails struct {
17244	_ struct{} `type:"structure"`
17245
17246	// The path on the host container instance that is presented to the container.
17247	SourcePath *string `type:"string"`
17248}
17249
17250// String returns the string representation.
17251//
17252// API parameter values that are decorated as "sensitive" in the API will not
17253// be included in the string output. The member name will be present, but the
17254// value will be replaced with "sensitive".
17255func (s AwsEcsTaskDefinitionVolumesHostDetails) String() string {
17256	return awsutil.Prettify(s)
17257}
17258
17259// GoString returns the string representation.
17260//
17261// API parameter values that are decorated as "sensitive" in the API will not
17262// be included in the string output. The member name will be present, but the
17263// value will be replaced with "sensitive".
17264func (s AwsEcsTaskDefinitionVolumesHostDetails) GoString() string {
17265	return s.String()
17266}
17267
17268// SetSourcePath sets the SourcePath field's value.
17269func (s *AwsEcsTaskDefinitionVolumesHostDetails) SetSourcePath(v string) *AwsEcsTaskDefinitionVolumesHostDetails {
17270	s.SourcePath = &v
17271	return s
17272}
17273
17274// Provides details about an Amazon EKS cluster.
17275type AwsEksClusterDetails struct {
17276	_ struct{} `type:"structure"`
17277
17278	// The ARN of the cluster.
17279	Arn *string `type:"string"`
17280
17281	// The certificate authority data for the cluster.
17282	CertificateAuthorityData *string `type:"string"`
17283
17284	// The status of the cluster.
17285	ClusterStatus *string `type:"string"`
17286
17287	// The endpoint for the Amazon EKS API server.
17288	Endpoint *string `type:"string"`
17289
17290	// The logging configuration for the cluster.
17291	Logging *AwsEksClusterLoggingDetails `type:"structure"`
17292
17293	// The name of the cluster.
17294	Name *string `type:"string"`
17295
17296	// The VPC configuration used by the cluster control plane.
17297	ResourcesVpcConfig *AwsEksClusterResourcesVpcConfigDetails `type:"structure"`
17298
17299	// The ARN of the IAM role that provides permissions for the Amazon EKS control
17300	// plane to make calls to Amazon Web Services API operations on your behalf.
17301	RoleArn *string `type:"string"`
17302
17303	// The Amazon EKS server version for the cluster.
17304	Version *string `type:"string"`
17305}
17306
17307// String returns the string representation.
17308//
17309// API parameter values that are decorated as "sensitive" in the API will not
17310// be included in the string output. The member name will be present, but the
17311// value will be replaced with "sensitive".
17312func (s AwsEksClusterDetails) String() string {
17313	return awsutil.Prettify(s)
17314}
17315
17316// GoString returns the string representation.
17317//
17318// API parameter values that are decorated as "sensitive" in the API will not
17319// be included in the string output. The member name will be present, but the
17320// value will be replaced with "sensitive".
17321func (s AwsEksClusterDetails) GoString() string {
17322	return s.String()
17323}
17324
17325// SetArn sets the Arn field's value.
17326func (s *AwsEksClusterDetails) SetArn(v string) *AwsEksClusterDetails {
17327	s.Arn = &v
17328	return s
17329}
17330
17331// SetCertificateAuthorityData sets the CertificateAuthorityData field's value.
17332func (s *AwsEksClusterDetails) SetCertificateAuthorityData(v string) *AwsEksClusterDetails {
17333	s.CertificateAuthorityData = &v
17334	return s
17335}
17336
17337// SetClusterStatus sets the ClusterStatus field's value.
17338func (s *AwsEksClusterDetails) SetClusterStatus(v string) *AwsEksClusterDetails {
17339	s.ClusterStatus = &v
17340	return s
17341}
17342
17343// SetEndpoint sets the Endpoint field's value.
17344func (s *AwsEksClusterDetails) SetEndpoint(v string) *AwsEksClusterDetails {
17345	s.Endpoint = &v
17346	return s
17347}
17348
17349// SetLogging sets the Logging field's value.
17350func (s *AwsEksClusterDetails) SetLogging(v *AwsEksClusterLoggingDetails) *AwsEksClusterDetails {
17351	s.Logging = v
17352	return s
17353}
17354
17355// SetName sets the Name field's value.
17356func (s *AwsEksClusterDetails) SetName(v string) *AwsEksClusterDetails {
17357	s.Name = &v
17358	return s
17359}
17360
17361// SetResourcesVpcConfig sets the ResourcesVpcConfig field's value.
17362func (s *AwsEksClusterDetails) SetResourcesVpcConfig(v *AwsEksClusterResourcesVpcConfigDetails) *AwsEksClusterDetails {
17363	s.ResourcesVpcConfig = v
17364	return s
17365}
17366
17367// SetRoleArn sets the RoleArn field's value.
17368func (s *AwsEksClusterDetails) SetRoleArn(v string) *AwsEksClusterDetails {
17369	s.RoleArn = &v
17370	return s
17371}
17372
17373// SetVersion sets the Version field's value.
17374func (s *AwsEksClusterDetails) SetVersion(v string) *AwsEksClusterDetails {
17375	s.Version = &v
17376	return s
17377}
17378
17379// Details for a cluster logging configuration.
17380type AwsEksClusterLoggingClusterLoggingDetails struct {
17381	_ struct{} `type:"structure"`
17382
17383	// Whether the logging types that are listed in Types are enabled.
17384	Enabled *bool `type:"boolean"`
17385
17386	// A list of logging types.
17387	Types []*string `type:"list"`
17388}
17389
17390// String returns the string representation.
17391//
17392// API parameter values that are decorated as "sensitive" in the API will not
17393// be included in the string output. The member name will be present, but the
17394// value will be replaced with "sensitive".
17395func (s AwsEksClusterLoggingClusterLoggingDetails) String() string {
17396	return awsutil.Prettify(s)
17397}
17398
17399// GoString returns the string representation.
17400//
17401// API parameter values that are decorated as "sensitive" in the API will not
17402// be included in the string output. The member name will be present, but the
17403// value will be replaced with "sensitive".
17404func (s AwsEksClusterLoggingClusterLoggingDetails) GoString() string {
17405	return s.String()
17406}
17407
17408// SetEnabled sets the Enabled field's value.
17409func (s *AwsEksClusterLoggingClusterLoggingDetails) SetEnabled(v bool) *AwsEksClusterLoggingClusterLoggingDetails {
17410	s.Enabled = &v
17411	return s
17412}
17413
17414// SetTypes sets the Types field's value.
17415func (s *AwsEksClusterLoggingClusterLoggingDetails) SetTypes(v []*string) *AwsEksClusterLoggingClusterLoggingDetails {
17416	s.Types = v
17417	return s
17418}
17419
17420// The logging configuration for an Amazon EKS cluster.
17421type AwsEksClusterLoggingDetails struct {
17422	_ struct{} `type:"structure"`
17423
17424	// Cluster logging configurations.
17425	ClusterLogging []*AwsEksClusterLoggingClusterLoggingDetails `type:"list"`
17426}
17427
17428// String returns the string representation.
17429//
17430// API parameter values that are decorated as "sensitive" in the API will not
17431// be included in the string output. The member name will be present, but the
17432// value will be replaced with "sensitive".
17433func (s AwsEksClusterLoggingDetails) String() string {
17434	return awsutil.Prettify(s)
17435}
17436
17437// GoString returns the string representation.
17438//
17439// API parameter values that are decorated as "sensitive" in the API will not
17440// be included in the string output. The member name will be present, but the
17441// value will be replaced with "sensitive".
17442func (s AwsEksClusterLoggingDetails) GoString() string {
17443	return s.String()
17444}
17445
17446// SetClusterLogging sets the ClusterLogging field's value.
17447func (s *AwsEksClusterLoggingDetails) SetClusterLogging(v []*AwsEksClusterLoggingClusterLoggingDetails) *AwsEksClusterLoggingDetails {
17448	s.ClusterLogging = v
17449	return s
17450}
17451
17452// Information about the VPC configuration used by the cluster control plane.
17453type AwsEksClusterResourcesVpcConfigDetails struct {
17454	_ struct{} `type:"structure"`
17455
17456	// The security groups that are associated with the cross-account elastic network
17457	// interfaces that are used to allow communication between your nodes and the
17458	// Amazon EKS control plane.
17459	SecurityGroupIds []*string `type:"list"`
17460
17461	// The subnets that are associated with the cluster.
17462	SubnetIds []*string `type:"list"`
17463}
17464
17465// String returns the string representation.
17466//
17467// API parameter values that are decorated as "sensitive" in the API will not
17468// be included in the string output. The member name will be present, but the
17469// value will be replaced with "sensitive".
17470func (s AwsEksClusterResourcesVpcConfigDetails) String() string {
17471	return awsutil.Prettify(s)
17472}
17473
17474// GoString returns the string representation.
17475//
17476// API parameter values that are decorated as "sensitive" in the API will not
17477// be included in the string output. The member name will be present, but the
17478// value will be replaced with "sensitive".
17479func (s AwsEksClusterResourcesVpcConfigDetails) GoString() string {
17480	return s.String()
17481}
17482
17483// SetSecurityGroupIds sets the SecurityGroupIds field's value.
17484func (s *AwsEksClusterResourcesVpcConfigDetails) SetSecurityGroupIds(v []*string) *AwsEksClusterResourcesVpcConfigDetails {
17485	s.SecurityGroupIds = v
17486	return s
17487}
17488
17489// SetSubnetIds sets the SubnetIds field's value.
17490func (s *AwsEksClusterResourcesVpcConfigDetails) SetSubnetIds(v []*string) *AwsEksClusterResourcesVpcConfigDetails {
17491	s.SubnetIds = v
17492	return s
17493}
17494
17495// Contains details about an Elastic Beanstalk environment.
17496type AwsElasticBeanstalkEnvironmentDetails struct {
17497	_ struct{} `type:"structure"`
17498
17499	// The name of the application that is associated with the environment.
17500	ApplicationName *string `type:"string"`
17501
17502	// The URL to the CNAME for this environment.
17503	Cname *string `type:"string"`
17504
17505	// The creation date for this environment.
17506	DateCreated *string `type:"string"`
17507
17508	// The date when this environment was last modified.
17509	DateUpdated *string `type:"string"`
17510
17511	// A description of the environment.
17512	Description *string `type:"string"`
17513
17514	// For load-balanced, autoscaling environments, the URL to the load balancer.
17515	// For single-instance environments, the IP address of the instance.
17516	EndpointUrl *string `type:"string"`
17517
17518	// The ARN of the environment.
17519	EnvironmentArn *string `type:"string"`
17520
17521	// The identifier of the environment.
17522	EnvironmentId *string `type:"string"`
17523
17524	// Links to other environments in the same group.
17525	EnvironmentLinks []*AwsElasticBeanstalkEnvironmentEnvironmentLink `type:"list"`
17526
17527	// The name of the environment.
17528	EnvironmentName *string `type:"string"`
17529
17530	// The configuration setting for the environment.
17531	OptionSettings []*AwsElasticBeanstalkEnvironmentOptionSetting `type:"list"`
17532
17533	// The ARN of the platform version for the environment.
17534	PlatformArn *string `type:"string"`
17535
17536	// The name of the solution stack that is deployed with the environment.
17537	SolutionStackName *string `type:"string"`
17538
17539	// The current operational status of the environment.
17540	Status *string `type:"string"`
17541
17542	// The tier of the environment.
17543	Tier *AwsElasticBeanstalkEnvironmentTier `type:"structure"`
17544
17545	// The application version of the environment.
17546	VersionLabel *string `type:"string"`
17547}
17548
17549// String returns the string representation.
17550//
17551// API parameter values that are decorated as "sensitive" in the API will not
17552// be included in the string output. The member name will be present, but the
17553// value will be replaced with "sensitive".
17554func (s AwsElasticBeanstalkEnvironmentDetails) String() string {
17555	return awsutil.Prettify(s)
17556}
17557
17558// GoString returns the string representation.
17559//
17560// API parameter values that are decorated as "sensitive" in the API will not
17561// be included in the string output. The member name will be present, but the
17562// value will be replaced with "sensitive".
17563func (s AwsElasticBeanstalkEnvironmentDetails) GoString() string {
17564	return s.String()
17565}
17566
17567// SetApplicationName sets the ApplicationName field's value.
17568func (s *AwsElasticBeanstalkEnvironmentDetails) SetApplicationName(v string) *AwsElasticBeanstalkEnvironmentDetails {
17569	s.ApplicationName = &v
17570	return s
17571}
17572
17573// SetCname sets the Cname field's value.
17574func (s *AwsElasticBeanstalkEnvironmentDetails) SetCname(v string) *AwsElasticBeanstalkEnvironmentDetails {
17575	s.Cname = &v
17576	return s
17577}
17578
17579// SetDateCreated sets the DateCreated field's value.
17580func (s *AwsElasticBeanstalkEnvironmentDetails) SetDateCreated(v string) *AwsElasticBeanstalkEnvironmentDetails {
17581	s.DateCreated = &v
17582	return s
17583}
17584
17585// SetDateUpdated sets the DateUpdated field's value.
17586func (s *AwsElasticBeanstalkEnvironmentDetails) SetDateUpdated(v string) *AwsElasticBeanstalkEnvironmentDetails {
17587	s.DateUpdated = &v
17588	return s
17589}
17590
17591// SetDescription sets the Description field's value.
17592func (s *AwsElasticBeanstalkEnvironmentDetails) SetDescription(v string) *AwsElasticBeanstalkEnvironmentDetails {
17593	s.Description = &v
17594	return s
17595}
17596
17597// SetEndpointUrl sets the EndpointUrl field's value.
17598func (s *AwsElasticBeanstalkEnvironmentDetails) SetEndpointUrl(v string) *AwsElasticBeanstalkEnvironmentDetails {
17599	s.EndpointUrl = &v
17600	return s
17601}
17602
17603// SetEnvironmentArn sets the EnvironmentArn field's value.
17604func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentArn(v string) *AwsElasticBeanstalkEnvironmentDetails {
17605	s.EnvironmentArn = &v
17606	return s
17607}
17608
17609// SetEnvironmentId sets the EnvironmentId field's value.
17610func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentId(v string) *AwsElasticBeanstalkEnvironmentDetails {
17611	s.EnvironmentId = &v
17612	return s
17613}
17614
17615// SetEnvironmentLinks sets the EnvironmentLinks field's value.
17616func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentLinks(v []*AwsElasticBeanstalkEnvironmentEnvironmentLink) *AwsElasticBeanstalkEnvironmentDetails {
17617	s.EnvironmentLinks = v
17618	return s
17619}
17620
17621// SetEnvironmentName sets the EnvironmentName field's value.
17622func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentName(v string) *AwsElasticBeanstalkEnvironmentDetails {
17623	s.EnvironmentName = &v
17624	return s
17625}
17626
17627// SetOptionSettings sets the OptionSettings field's value.
17628func (s *AwsElasticBeanstalkEnvironmentDetails) SetOptionSettings(v []*AwsElasticBeanstalkEnvironmentOptionSetting) *AwsElasticBeanstalkEnvironmentDetails {
17629	s.OptionSettings = v
17630	return s
17631}
17632
17633// SetPlatformArn sets the PlatformArn field's value.
17634func (s *AwsElasticBeanstalkEnvironmentDetails) SetPlatformArn(v string) *AwsElasticBeanstalkEnvironmentDetails {
17635	s.PlatformArn = &v
17636	return s
17637}
17638
17639// SetSolutionStackName sets the SolutionStackName field's value.
17640func (s *AwsElasticBeanstalkEnvironmentDetails) SetSolutionStackName(v string) *AwsElasticBeanstalkEnvironmentDetails {
17641	s.SolutionStackName = &v
17642	return s
17643}
17644
17645// SetStatus sets the Status field's value.
17646func (s *AwsElasticBeanstalkEnvironmentDetails) SetStatus(v string) *AwsElasticBeanstalkEnvironmentDetails {
17647	s.Status = &v
17648	return s
17649}
17650
17651// SetTier sets the Tier field's value.
17652func (s *AwsElasticBeanstalkEnvironmentDetails) SetTier(v *AwsElasticBeanstalkEnvironmentTier) *AwsElasticBeanstalkEnvironmentDetails {
17653	s.Tier = v
17654	return s
17655}
17656
17657// SetVersionLabel sets the VersionLabel field's value.
17658func (s *AwsElasticBeanstalkEnvironmentDetails) SetVersionLabel(v string) *AwsElasticBeanstalkEnvironmentDetails {
17659	s.VersionLabel = &v
17660	return s
17661}
17662
17663// Contains information about a link to another environment that is in the same
17664// group.
17665type AwsElasticBeanstalkEnvironmentEnvironmentLink struct {
17666	_ struct{} `type:"structure"`
17667
17668	// The name of the linked environment.
17669	EnvironmentName *string `type:"string"`
17670
17671	// The name of the environment link.
17672	LinkName *string `type:"string"`
17673}
17674
17675// String returns the string representation.
17676//
17677// API parameter values that are decorated as "sensitive" in the API will not
17678// be included in the string output. The member name will be present, but the
17679// value will be replaced with "sensitive".
17680func (s AwsElasticBeanstalkEnvironmentEnvironmentLink) String() string {
17681	return awsutil.Prettify(s)
17682}
17683
17684// GoString returns the string representation.
17685//
17686// API parameter values that are decorated as "sensitive" in the API will not
17687// be included in the string output. The member name will be present, but the
17688// value will be replaced with "sensitive".
17689func (s AwsElasticBeanstalkEnvironmentEnvironmentLink) GoString() string {
17690	return s.String()
17691}
17692
17693// SetEnvironmentName sets the EnvironmentName field's value.
17694func (s *AwsElasticBeanstalkEnvironmentEnvironmentLink) SetEnvironmentName(v string) *AwsElasticBeanstalkEnvironmentEnvironmentLink {
17695	s.EnvironmentName = &v
17696	return s
17697}
17698
17699// SetLinkName sets the LinkName field's value.
17700func (s *AwsElasticBeanstalkEnvironmentEnvironmentLink) SetLinkName(v string) *AwsElasticBeanstalkEnvironmentEnvironmentLink {
17701	s.LinkName = &v
17702	return s
17703}
17704
17705// A configuration option setting for the environment.
17706type AwsElasticBeanstalkEnvironmentOptionSetting struct {
17707	_ struct{} `type:"structure"`
17708
17709	// The type of resource that the configuration option is associated with.
17710	Namespace *string `type:"string"`
17711
17712	// The name of the option.
17713	OptionName *string `type:"string"`
17714
17715	// The name of the resource.
17716	ResourceName *string `type:"string"`
17717
17718	// The value of the configuration setting.
17719	Value *string `type:"string"`
17720}
17721
17722// String returns the string representation.
17723//
17724// API parameter values that are decorated as "sensitive" in the API will not
17725// be included in the string output. The member name will be present, but the
17726// value will be replaced with "sensitive".
17727func (s AwsElasticBeanstalkEnvironmentOptionSetting) String() string {
17728	return awsutil.Prettify(s)
17729}
17730
17731// GoString returns the string representation.
17732//
17733// API parameter values that are decorated as "sensitive" in the API will not
17734// be included in the string output. The member name will be present, but the
17735// value will be replaced with "sensitive".
17736func (s AwsElasticBeanstalkEnvironmentOptionSetting) GoString() string {
17737	return s.String()
17738}
17739
17740// SetNamespace sets the Namespace field's value.
17741func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetNamespace(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
17742	s.Namespace = &v
17743	return s
17744}
17745
17746// SetOptionName sets the OptionName field's value.
17747func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetOptionName(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
17748	s.OptionName = &v
17749	return s
17750}
17751
17752// SetResourceName sets the ResourceName field's value.
17753func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetResourceName(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
17754	s.ResourceName = &v
17755	return s
17756}
17757
17758// SetValue sets the Value field's value.
17759func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetValue(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
17760	s.Value = &v
17761	return s
17762}
17763
17764// Contains information about the tier of the environment.
17765type AwsElasticBeanstalkEnvironmentTier struct {
17766	_ struct{} `type:"structure"`
17767
17768	// The name of the environment tier.
17769	Name *string `type:"string"`
17770
17771	// The type of environment tier.
17772	Type *string `type:"string"`
17773
17774	// The version of the environment tier.
17775	Version *string `type:"string"`
17776}
17777
17778// String returns the string representation.
17779//
17780// API parameter values that are decorated as "sensitive" in the API will not
17781// be included in the string output. The member name will be present, but the
17782// value will be replaced with "sensitive".
17783func (s AwsElasticBeanstalkEnvironmentTier) String() string {
17784	return awsutil.Prettify(s)
17785}
17786
17787// GoString returns the string representation.
17788//
17789// API parameter values that are decorated as "sensitive" in the API will not
17790// be included in the string output. The member name will be present, but the
17791// value will be replaced with "sensitive".
17792func (s AwsElasticBeanstalkEnvironmentTier) GoString() string {
17793	return s.String()
17794}
17795
17796// SetName sets the Name field's value.
17797func (s *AwsElasticBeanstalkEnvironmentTier) SetName(v string) *AwsElasticBeanstalkEnvironmentTier {
17798	s.Name = &v
17799	return s
17800}
17801
17802// SetType sets the Type field's value.
17803func (s *AwsElasticBeanstalkEnvironmentTier) SetType(v string) *AwsElasticBeanstalkEnvironmentTier {
17804	s.Type = &v
17805	return s
17806}
17807
17808// SetVersion sets the Version field's value.
17809func (s *AwsElasticBeanstalkEnvironmentTier) SetVersion(v string) *AwsElasticBeanstalkEnvironmentTier {
17810	s.Version = &v
17811	return s
17812}
17813
17814// Information about an Elasticsearch domain.
17815type AwsElasticsearchDomainDetails struct {
17816	_ struct{} `type:"structure"`
17817
17818	// IAM policy document specifying the access policies for the new Elasticsearch
17819	// domain.
17820	AccessPolicies *string `type:"string"`
17821
17822	// Additional options for the domain endpoint.
17823	DomainEndpointOptions *AwsElasticsearchDomainDomainEndpointOptions `type:"structure"`
17824
17825	// Unique identifier for an Elasticsearch domain.
17826	DomainId *string `type:"string"`
17827
17828	// Name of an Elasticsearch domain.
17829	//
17830	// Domain names are unique across all domains owned by the same account within
17831	// an Amazon Web Services Region.
17832	//
17833	// Domain names must start with a lowercase letter and must be between 3 and
17834	// 28 characters.
17835	//
17836	// Valid characters are a-z (lowercase only), 0-9, and – (hyphen).
17837	DomainName *string `type:"string"`
17838
17839	// Information about an OpenSearch cluster configuration.
17840	ElasticsearchClusterConfig *AwsElasticsearchDomainElasticsearchClusterConfigDetails `type:"structure"`
17841
17842	// OpenSearch version.
17843	ElasticsearchVersion *string `type:"string"`
17844
17845	// Details about the configuration for encryption at rest.
17846	EncryptionAtRestOptions *AwsElasticsearchDomainEncryptionAtRestOptions `type:"structure"`
17847
17848	// Domain-specific endpoint used to submit index, search, and data upload requests
17849	// to an Elasticsearch domain.
17850	//
17851	// The endpoint is a service URL.
17852	Endpoint *string `type:"string"`
17853
17854	// The key-value pair that exists if the Elasticsearch domain uses VPC endpoints.
17855	Endpoints map[string]*string `type:"map"`
17856
17857	// Configures the CloudWatch Logs to publish for the Elasticsearch domain.
17858	LogPublishingOptions *AwsElasticsearchDomainLogPublishingOptions `type:"structure"`
17859
17860	// Details about the configuration for node-to-node encryption.
17861	NodeToNodeEncryptionOptions *AwsElasticsearchDomainNodeToNodeEncryptionOptions `type:"structure"`
17862
17863	// Information about the status of a domain relative to the latest service software.
17864	ServiceSoftwareOptions *AwsElasticsearchDomainServiceSoftwareOptions `type:"structure"`
17865
17866	// Information that OpenSearch derives based on VPCOptions for the domain.
17867	VPCOptions *AwsElasticsearchDomainVPCOptions `type:"structure"`
17868}
17869
17870// String returns the string representation.
17871//
17872// API parameter values that are decorated as "sensitive" in the API will not
17873// be included in the string output. The member name will be present, but the
17874// value will be replaced with "sensitive".
17875func (s AwsElasticsearchDomainDetails) String() string {
17876	return awsutil.Prettify(s)
17877}
17878
17879// GoString returns the string representation.
17880//
17881// API parameter values that are decorated as "sensitive" in the API will not
17882// be included in the string output. The member name will be present, but the
17883// value will be replaced with "sensitive".
17884func (s AwsElasticsearchDomainDetails) GoString() string {
17885	return s.String()
17886}
17887
17888// SetAccessPolicies sets the AccessPolicies field's value.
17889func (s *AwsElasticsearchDomainDetails) SetAccessPolicies(v string) *AwsElasticsearchDomainDetails {
17890	s.AccessPolicies = &v
17891	return s
17892}
17893
17894// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
17895func (s *AwsElasticsearchDomainDetails) SetDomainEndpointOptions(v *AwsElasticsearchDomainDomainEndpointOptions) *AwsElasticsearchDomainDetails {
17896	s.DomainEndpointOptions = v
17897	return s
17898}
17899
17900// SetDomainId sets the DomainId field's value.
17901func (s *AwsElasticsearchDomainDetails) SetDomainId(v string) *AwsElasticsearchDomainDetails {
17902	s.DomainId = &v
17903	return s
17904}
17905
17906// SetDomainName sets the DomainName field's value.
17907func (s *AwsElasticsearchDomainDetails) SetDomainName(v string) *AwsElasticsearchDomainDetails {
17908	s.DomainName = &v
17909	return s
17910}
17911
17912// SetElasticsearchClusterConfig sets the ElasticsearchClusterConfig field's value.
17913func (s *AwsElasticsearchDomainDetails) SetElasticsearchClusterConfig(v *AwsElasticsearchDomainElasticsearchClusterConfigDetails) *AwsElasticsearchDomainDetails {
17914	s.ElasticsearchClusterConfig = v
17915	return s
17916}
17917
17918// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
17919func (s *AwsElasticsearchDomainDetails) SetElasticsearchVersion(v string) *AwsElasticsearchDomainDetails {
17920	s.ElasticsearchVersion = &v
17921	return s
17922}
17923
17924// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
17925func (s *AwsElasticsearchDomainDetails) SetEncryptionAtRestOptions(v *AwsElasticsearchDomainEncryptionAtRestOptions) *AwsElasticsearchDomainDetails {
17926	s.EncryptionAtRestOptions = v
17927	return s
17928}
17929
17930// SetEndpoint sets the Endpoint field's value.
17931func (s *AwsElasticsearchDomainDetails) SetEndpoint(v string) *AwsElasticsearchDomainDetails {
17932	s.Endpoint = &v
17933	return s
17934}
17935
17936// SetEndpoints sets the Endpoints field's value.
17937func (s *AwsElasticsearchDomainDetails) SetEndpoints(v map[string]*string) *AwsElasticsearchDomainDetails {
17938	s.Endpoints = v
17939	return s
17940}
17941
17942// SetLogPublishingOptions sets the LogPublishingOptions field's value.
17943func (s *AwsElasticsearchDomainDetails) SetLogPublishingOptions(v *AwsElasticsearchDomainLogPublishingOptions) *AwsElasticsearchDomainDetails {
17944	s.LogPublishingOptions = v
17945	return s
17946}
17947
17948// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
17949func (s *AwsElasticsearchDomainDetails) SetNodeToNodeEncryptionOptions(v *AwsElasticsearchDomainNodeToNodeEncryptionOptions) *AwsElasticsearchDomainDetails {
17950	s.NodeToNodeEncryptionOptions = v
17951	return s
17952}
17953
17954// SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
17955func (s *AwsElasticsearchDomainDetails) SetServiceSoftwareOptions(v *AwsElasticsearchDomainServiceSoftwareOptions) *AwsElasticsearchDomainDetails {
17956	s.ServiceSoftwareOptions = v
17957	return s
17958}
17959
17960// SetVPCOptions sets the VPCOptions field's value.
17961func (s *AwsElasticsearchDomainDetails) SetVPCOptions(v *AwsElasticsearchDomainVPCOptions) *AwsElasticsearchDomainDetails {
17962	s.VPCOptions = v
17963	return s
17964}
17965
17966// Additional options for the domain endpoint, such as whether to require HTTPS
17967// for all traffic.
17968type AwsElasticsearchDomainDomainEndpointOptions struct {
17969	_ struct{} `type:"structure"`
17970
17971	// Whether to require that all traffic to the domain arrive over HTTPS.
17972	EnforceHTTPS *bool `type:"boolean"`
17973
17974	// The TLS security policy to apply to the HTTPS endpoint of the OpenSearch
17975	// domain.
17976	//
17977	// Valid values:
17978	//
17979	//    * Policy-Min-TLS-1-0-2019-07, which supports TLSv1.0 and higher
17980	//
17981	//    * Policy-Min-TLS-1-2-2019-07, which only supports TLSv1.2
17982	TLSSecurityPolicy *string `type:"string"`
17983}
17984
17985// String returns the string representation.
17986//
17987// API parameter values that are decorated as "sensitive" in the API will not
17988// be included in the string output. The member name will be present, but the
17989// value will be replaced with "sensitive".
17990func (s AwsElasticsearchDomainDomainEndpointOptions) String() string {
17991	return awsutil.Prettify(s)
17992}
17993
17994// GoString returns the string representation.
17995//
17996// API parameter values that are decorated as "sensitive" in the API will not
17997// be included in the string output. The member name will be present, but the
17998// value will be replaced with "sensitive".
17999func (s AwsElasticsearchDomainDomainEndpointOptions) GoString() string {
18000	return s.String()
18001}
18002
18003// SetEnforceHTTPS sets the EnforceHTTPS field's value.
18004func (s *AwsElasticsearchDomainDomainEndpointOptions) SetEnforceHTTPS(v bool) *AwsElasticsearchDomainDomainEndpointOptions {
18005	s.EnforceHTTPS = &v
18006	return s
18007}
18008
18009// SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value.
18010func (s *AwsElasticsearchDomainDomainEndpointOptions) SetTLSSecurityPolicy(v string) *AwsElasticsearchDomainDomainEndpointOptions {
18011	s.TLSSecurityPolicy = &v
18012	return s
18013}
18014
18015// details about the configuration of an OpenSearch cluster.
18016type AwsElasticsearchDomainElasticsearchClusterConfigDetails struct {
18017	_ struct{} `type:"structure"`
18018
18019	// The number of instances to use for the master node. If this attribute is
18020	// specified, then DedicatedMasterEnabled must be true.
18021	DedicatedMasterCount *int64 `type:"integer"`
18022
18023	// Whether to use a dedicated master node for the Elasticsearch domain. A dedicated
18024	// master node performs cluster management tasks, but doesn't hold data or respond
18025	// to data upload requests.
18026	DedicatedMasterEnabled *bool `type:"boolean"`
18027
18028	// The hardware configuration of the computer that hosts the dedicated master
18029	// node. For example, m3.medium.elasticsearch. If this attribute is specified,
18030	// then DedicatedMasterEnabled must be true.
18031	DedicatedMasterType *string `type:"string"`
18032
18033	// The number of data nodes to use in the Elasticsearch domain.
18034	InstanceCount *int64 `type:"integer"`
18035
18036	// The instance type for your data nodes. For example, m3.medium.elasticsearch.
18037	InstanceType *string `type:"string"`
18038
18039	// Configuration options for zone awareness. Provided if ZoneAwarenessEnabled
18040	// is true.
18041	ZoneAwarenessConfig *AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails `type:"structure"`
18042
18043	// Whether to enable zone awareness for the Elasticsearch domain. When zone
18044	// awareness is enabled, OpenSearch allocates the cluster's nodes and replica
18045	// index shards across Availability Zones in the same Region. This prevents
18046	// data loss and minimizes downtime if a node or data center fails.
18047	ZoneAwarenessEnabled *bool `type:"boolean"`
18048}
18049
18050// String returns the string representation.
18051//
18052// API parameter values that are decorated as "sensitive" in the API will not
18053// be included in the string output. The member name will be present, but the
18054// value will be replaced with "sensitive".
18055func (s AwsElasticsearchDomainElasticsearchClusterConfigDetails) String() string {
18056	return awsutil.Prettify(s)
18057}
18058
18059// GoString returns the string representation.
18060//
18061// API parameter values that are decorated as "sensitive" in the API will not
18062// be included in the string output. The member name will be present, but the
18063// value will be replaced with "sensitive".
18064func (s AwsElasticsearchDomainElasticsearchClusterConfigDetails) GoString() string {
18065	return s.String()
18066}
18067
18068// SetDedicatedMasterCount sets the DedicatedMasterCount field's value.
18069func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetDedicatedMasterCount(v int64) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
18070	s.DedicatedMasterCount = &v
18071	return s
18072}
18073
18074// SetDedicatedMasterEnabled sets the DedicatedMasterEnabled field's value.
18075func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetDedicatedMasterEnabled(v bool) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
18076	s.DedicatedMasterEnabled = &v
18077	return s
18078}
18079
18080// SetDedicatedMasterType sets the DedicatedMasterType field's value.
18081func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetDedicatedMasterType(v string) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
18082	s.DedicatedMasterType = &v
18083	return s
18084}
18085
18086// SetInstanceCount sets the InstanceCount field's value.
18087func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetInstanceCount(v int64) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
18088	s.InstanceCount = &v
18089	return s
18090}
18091
18092// SetInstanceType sets the InstanceType field's value.
18093func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetInstanceType(v string) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
18094	s.InstanceType = &v
18095	return s
18096}
18097
18098// SetZoneAwarenessConfig sets the ZoneAwarenessConfig field's value.
18099func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetZoneAwarenessConfig(v *AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
18100	s.ZoneAwarenessConfig = v
18101	return s
18102}
18103
18104// SetZoneAwarenessEnabled sets the ZoneAwarenessEnabled field's value.
18105func (s *AwsElasticsearchDomainElasticsearchClusterConfigDetails) SetZoneAwarenessEnabled(v bool) *AwsElasticsearchDomainElasticsearchClusterConfigDetails {
18106	s.ZoneAwarenessEnabled = &v
18107	return s
18108}
18109
18110// Configuration options for zone awareness.
18111type AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails struct {
18112	_ struct{} `type:"structure"`
18113
18114	// he number of Availability Zones that the domain uses. Valid values are 2
18115	// and 3. The default is 2.
18116	AvailabilityZoneCount *int64 `type:"integer"`
18117}
18118
18119// String returns the string representation.
18120//
18121// API parameter values that are decorated as "sensitive" in the API will not
18122// be included in the string output. The member name will be present, but the
18123// value will be replaced with "sensitive".
18124func (s AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails) String() string {
18125	return awsutil.Prettify(s)
18126}
18127
18128// GoString returns the string representation.
18129//
18130// API parameter values that are decorated as "sensitive" in the API will not
18131// be included in the string output. The member name will be present, but the
18132// value will be replaced with "sensitive".
18133func (s AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails) GoString() string {
18134	return s.String()
18135}
18136
18137// SetAvailabilityZoneCount sets the AvailabilityZoneCount field's value.
18138func (s *AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails) SetAvailabilityZoneCount(v int64) *AwsElasticsearchDomainElasticsearchClusterConfigZoneAwarenessConfigDetails {
18139	s.AvailabilityZoneCount = &v
18140	return s
18141}
18142
18143// Details about the configuration for encryption at rest.
18144type AwsElasticsearchDomainEncryptionAtRestOptions struct {
18145	_ struct{} `type:"structure"`
18146
18147	// Whether encryption at rest is enabled.
18148	Enabled *bool `type:"boolean"`
18149
18150	// The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a.
18151	KmsKeyId *string `type:"string"`
18152}
18153
18154// String returns the string representation.
18155//
18156// API parameter values that are decorated as "sensitive" in the API will not
18157// be included in the string output. The member name will be present, but the
18158// value will be replaced with "sensitive".
18159func (s AwsElasticsearchDomainEncryptionAtRestOptions) String() string {
18160	return awsutil.Prettify(s)
18161}
18162
18163// GoString returns the string representation.
18164//
18165// API parameter values that are decorated as "sensitive" in the API will not
18166// be included in the string output. The member name will be present, but the
18167// value will be replaced with "sensitive".
18168func (s AwsElasticsearchDomainEncryptionAtRestOptions) GoString() string {
18169	return s.String()
18170}
18171
18172// SetEnabled sets the Enabled field's value.
18173func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetEnabled(v bool) *AwsElasticsearchDomainEncryptionAtRestOptions {
18174	s.Enabled = &v
18175	return s
18176}
18177
18178// SetKmsKeyId sets the KmsKeyId field's value.
18179func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetKmsKeyId(v string) *AwsElasticsearchDomainEncryptionAtRestOptions {
18180	s.KmsKeyId = &v
18181	return s
18182}
18183
18184// configures the CloudWatch Logs to publish for the Elasticsearch domain.
18185type AwsElasticsearchDomainLogPublishingOptions struct {
18186	_ struct{} `type:"structure"`
18187
18188	// The log configuration.
18189	AuditLogs *AwsElasticsearchDomainLogPublishingOptionsLogConfig `type:"structure"`
18190
18191	// Configures the OpenSearch index logs publishing.
18192	IndexSlowLogs *AwsElasticsearchDomainLogPublishingOptionsLogConfig `type:"structure"`
18193
18194	// Configures the OpenSearch search slow log publishing.
18195	SearchSlowLogs *AwsElasticsearchDomainLogPublishingOptionsLogConfig `type:"structure"`
18196}
18197
18198// String returns the string representation.
18199//
18200// API parameter values that are decorated as "sensitive" in the API will not
18201// be included in the string output. The member name will be present, but the
18202// value will be replaced with "sensitive".
18203func (s AwsElasticsearchDomainLogPublishingOptions) String() string {
18204	return awsutil.Prettify(s)
18205}
18206
18207// GoString returns the string representation.
18208//
18209// API parameter values that are decorated as "sensitive" in the API will not
18210// be included in the string output. The member name will be present, but the
18211// value will be replaced with "sensitive".
18212func (s AwsElasticsearchDomainLogPublishingOptions) GoString() string {
18213	return s.String()
18214}
18215
18216// SetAuditLogs sets the AuditLogs field's value.
18217func (s *AwsElasticsearchDomainLogPublishingOptions) SetAuditLogs(v *AwsElasticsearchDomainLogPublishingOptionsLogConfig) *AwsElasticsearchDomainLogPublishingOptions {
18218	s.AuditLogs = v
18219	return s
18220}
18221
18222// SetIndexSlowLogs sets the IndexSlowLogs field's value.
18223func (s *AwsElasticsearchDomainLogPublishingOptions) SetIndexSlowLogs(v *AwsElasticsearchDomainLogPublishingOptionsLogConfig) *AwsElasticsearchDomainLogPublishingOptions {
18224	s.IndexSlowLogs = v
18225	return s
18226}
18227
18228// SetSearchSlowLogs sets the SearchSlowLogs field's value.
18229func (s *AwsElasticsearchDomainLogPublishingOptions) SetSearchSlowLogs(v *AwsElasticsearchDomainLogPublishingOptionsLogConfig) *AwsElasticsearchDomainLogPublishingOptions {
18230	s.SearchSlowLogs = v
18231	return s
18232}
18233
18234// The log configuration.
18235type AwsElasticsearchDomainLogPublishingOptionsLogConfig struct {
18236	_ struct{} `type:"structure"`
18237
18238	// The ARN of the CloudWatch Logs group to publish the logs to.
18239	CloudWatchLogsLogGroupArn *string `type:"string"`
18240
18241	// Whether the log publishing is enabled.
18242	Enabled *bool `type:"boolean"`
18243}
18244
18245// String returns the string representation.
18246//
18247// API parameter values that are decorated as "sensitive" in the API will not
18248// be included in the string output. The member name will be present, but the
18249// value will be replaced with "sensitive".
18250func (s AwsElasticsearchDomainLogPublishingOptionsLogConfig) String() string {
18251	return awsutil.Prettify(s)
18252}
18253
18254// GoString returns the string representation.
18255//
18256// API parameter values that are decorated as "sensitive" in the API will not
18257// be included in the string output. The member name will be present, but the
18258// value will be replaced with "sensitive".
18259func (s AwsElasticsearchDomainLogPublishingOptionsLogConfig) GoString() string {
18260	return s.String()
18261}
18262
18263// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
18264func (s *AwsElasticsearchDomainLogPublishingOptionsLogConfig) SetCloudWatchLogsLogGroupArn(v string) *AwsElasticsearchDomainLogPublishingOptionsLogConfig {
18265	s.CloudWatchLogsLogGroupArn = &v
18266	return s
18267}
18268
18269// SetEnabled sets the Enabled field's value.
18270func (s *AwsElasticsearchDomainLogPublishingOptionsLogConfig) SetEnabled(v bool) *AwsElasticsearchDomainLogPublishingOptionsLogConfig {
18271	s.Enabled = &v
18272	return s
18273}
18274
18275// Details about the configuration for node-to-node encryption.
18276type AwsElasticsearchDomainNodeToNodeEncryptionOptions struct {
18277	_ struct{} `type:"structure"`
18278
18279	// Whether node-to-node encryption is enabled.
18280	Enabled *bool `type:"boolean"`
18281}
18282
18283// String returns the string representation.
18284//
18285// API parameter values that are decorated as "sensitive" in the API will not
18286// be included in the string output. The member name will be present, but the
18287// value will be replaced with "sensitive".
18288func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) String() string {
18289	return awsutil.Prettify(s)
18290}
18291
18292// GoString returns the string representation.
18293//
18294// API parameter values that are decorated as "sensitive" in the API will not
18295// be included in the string output. The member name will be present, but the
18296// value will be replaced with "sensitive".
18297func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) GoString() string {
18298	return s.String()
18299}
18300
18301// SetEnabled sets the Enabled field's value.
18302func (s *AwsElasticsearchDomainNodeToNodeEncryptionOptions) SetEnabled(v bool) *AwsElasticsearchDomainNodeToNodeEncryptionOptions {
18303	s.Enabled = &v
18304	return s
18305}
18306
18307// Information about the state of the domain relative to the latest service
18308// software.
18309type AwsElasticsearchDomainServiceSoftwareOptions struct {
18310	_ struct{} `type:"structure"`
18311
18312	// The epoch time when the deployment window closes for required updates. After
18313	// this time, Amazon OpenSearch Service schedules the software upgrade automatically.
18314	AutomatedUpdateDate *string `type:"string"`
18315
18316	// Whether a request to update the domain can be canceled.
18317	Cancellable *bool `type:"boolean"`
18318
18319	// The version of the service software that is currently installed on the domain.
18320	CurrentVersion *string `type:"string"`
18321
18322	// A more detailed description of the service software status.
18323	Description *string `type:"string"`
18324
18325	// The most recent version of the service software.
18326	NewVersion *string `type:"string"`
18327
18328	// Whether a service software update is available for the domain.
18329	UpdateAvailable *bool `type:"boolean"`
18330
18331	// The status of the service software update.
18332	UpdateStatus *string `type:"string"`
18333}
18334
18335// String returns the string representation.
18336//
18337// API parameter values that are decorated as "sensitive" in the API will not
18338// be included in the string output. The member name will be present, but the
18339// value will be replaced with "sensitive".
18340func (s AwsElasticsearchDomainServiceSoftwareOptions) String() string {
18341	return awsutil.Prettify(s)
18342}
18343
18344// GoString returns the string representation.
18345//
18346// API parameter values that are decorated as "sensitive" in the API will not
18347// be included in the string output. The member name will be present, but the
18348// value will be replaced with "sensitive".
18349func (s AwsElasticsearchDomainServiceSoftwareOptions) GoString() string {
18350	return s.String()
18351}
18352
18353// SetAutomatedUpdateDate sets the AutomatedUpdateDate field's value.
18354func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetAutomatedUpdateDate(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
18355	s.AutomatedUpdateDate = &v
18356	return s
18357}
18358
18359// SetCancellable sets the Cancellable field's value.
18360func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetCancellable(v bool) *AwsElasticsearchDomainServiceSoftwareOptions {
18361	s.Cancellable = &v
18362	return s
18363}
18364
18365// SetCurrentVersion sets the CurrentVersion field's value.
18366func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetCurrentVersion(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
18367	s.CurrentVersion = &v
18368	return s
18369}
18370
18371// SetDescription sets the Description field's value.
18372func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetDescription(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
18373	s.Description = &v
18374	return s
18375}
18376
18377// SetNewVersion sets the NewVersion field's value.
18378func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetNewVersion(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
18379	s.NewVersion = &v
18380	return s
18381}
18382
18383// SetUpdateAvailable sets the UpdateAvailable field's value.
18384func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetUpdateAvailable(v bool) *AwsElasticsearchDomainServiceSoftwareOptions {
18385	s.UpdateAvailable = &v
18386	return s
18387}
18388
18389// SetUpdateStatus sets the UpdateStatus field's value.
18390func (s *AwsElasticsearchDomainServiceSoftwareOptions) SetUpdateStatus(v string) *AwsElasticsearchDomainServiceSoftwareOptions {
18391	s.UpdateStatus = &v
18392	return s
18393}
18394
18395// Information that OpenSearch derives based on VPCOptions for the domain.
18396type AwsElasticsearchDomainVPCOptions struct {
18397	_ struct{} `type:"structure"`
18398
18399	// The list of Availability Zones associated with the VPC subnets.
18400	AvailabilityZones []*string `type:"list"`
18401
18402	// The list of security group IDs associated with the VPC endpoints for the
18403	// domain.
18404	SecurityGroupIds []*string `type:"list"`
18405
18406	// A list of subnet IDs associated with the VPC endpoints for the domain.
18407	SubnetIds []*string `type:"list"`
18408
18409	// ID for the VPC.
18410	VPCId *string `type:"string"`
18411}
18412
18413// String returns the string representation.
18414//
18415// API parameter values that are decorated as "sensitive" in the API will not
18416// be included in the string output. The member name will be present, but the
18417// value will be replaced with "sensitive".
18418func (s AwsElasticsearchDomainVPCOptions) String() string {
18419	return awsutil.Prettify(s)
18420}
18421
18422// GoString returns the string representation.
18423//
18424// API parameter values that are decorated as "sensitive" in the API will not
18425// be included in the string output. The member name will be present, but the
18426// value will be replaced with "sensitive".
18427func (s AwsElasticsearchDomainVPCOptions) GoString() string {
18428	return s.String()
18429}
18430
18431// SetAvailabilityZones sets the AvailabilityZones field's value.
18432func (s *AwsElasticsearchDomainVPCOptions) SetAvailabilityZones(v []*string) *AwsElasticsearchDomainVPCOptions {
18433	s.AvailabilityZones = v
18434	return s
18435}
18436
18437// SetSecurityGroupIds sets the SecurityGroupIds field's value.
18438func (s *AwsElasticsearchDomainVPCOptions) SetSecurityGroupIds(v []*string) *AwsElasticsearchDomainVPCOptions {
18439	s.SecurityGroupIds = v
18440	return s
18441}
18442
18443// SetSubnetIds sets the SubnetIds field's value.
18444func (s *AwsElasticsearchDomainVPCOptions) SetSubnetIds(v []*string) *AwsElasticsearchDomainVPCOptions {
18445	s.SubnetIds = v
18446	return s
18447}
18448
18449// SetVPCId sets the VPCId field's value.
18450func (s *AwsElasticsearchDomainVPCOptions) SetVPCId(v string) *AwsElasticsearchDomainVPCOptions {
18451	s.VPCId = &v
18452	return s
18453}
18454
18455// Contains information about a stickiness policy that was created using CreateAppCookieStickinessPolicy.
18456type AwsElbAppCookieStickinessPolicy struct {
18457	_ struct{} `type:"structure"`
18458
18459	// The name of the application cookie used for stickiness.
18460	CookieName *string `type:"string"`
18461
18462	// The mnemonic name for the policy being created. The name must be unique within
18463	// the set of policies for the load balancer.
18464	PolicyName *string `type:"string"`
18465}
18466
18467// String returns the string representation.
18468//
18469// API parameter values that are decorated as "sensitive" in the API will not
18470// be included in the string output. The member name will be present, but the
18471// value will be replaced with "sensitive".
18472func (s AwsElbAppCookieStickinessPolicy) String() string {
18473	return awsutil.Prettify(s)
18474}
18475
18476// GoString returns the string representation.
18477//
18478// API parameter values that are decorated as "sensitive" in the API will not
18479// be included in the string output. The member name will be present, but the
18480// value will be replaced with "sensitive".
18481func (s AwsElbAppCookieStickinessPolicy) GoString() string {
18482	return s.String()
18483}
18484
18485// SetCookieName sets the CookieName field's value.
18486func (s *AwsElbAppCookieStickinessPolicy) SetCookieName(v string) *AwsElbAppCookieStickinessPolicy {
18487	s.CookieName = &v
18488	return s
18489}
18490
18491// SetPolicyName sets the PolicyName field's value.
18492func (s *AwsElbAppCookieStickinessPolicy) SetPolicyName(v string) *AwsElbAppCookieStickinessPolicy {
18493	s.PolicyName = &v
18494	return s
18495}
18496
18497// Contains information about a stickiness policy that was created using CreateLBCookieStickinessPolicy.
18498type AwsElbLbCookieStickinessPolicy struct {
18499	_ struct{} `type:"structure"`
18500
18501	// The amount of time, in seconds, after which the cookie is considered stale.
18502	// If an expiration period is not specified, the stickiness session lasts for
18503	// the duration of the browser session.
18504	CookieExpirationPeriod *int64 `type:"long"`
18505
18506	// The name of the policy. The name must be unique within the set of policies
18507	// for the load balancer.
18508	PolicyName *string `type:"string"`
18509}
18510
18511// String returns the string representation.
18512//
18513// API parameter values that are decorated as "sensitive" in the API will not
18514// be included in the string output. The member name will be present, but the
18515// value will be replaced with "sensitive".
18516func (s AwsElbLbCookieStickinessPolicy) String() string {
18517	return awsutil.Prettify(s)
18518}
18519
18520// GoString returns the string representation.
18521//
18522// API parameter values that are decorated as "sensitive" in the API will not
18523// be included in the string output. The member name will be present, but the
18524// value will be replaced with "sensitive".
18525func (s AwsElbLbCookieStickinessPolicy) GoString() string {
18526	return s.String()
18527}
18528
18529// SetCookieExpirationPeriod sets the CookieExpirationPeriod field's value.
18530func (s *AwsElbLbCookieStickinessPolicy) SetCookieExpirationPeriod(v int64) *AwsElbLbCookieStickinessPolicy {
18531	s.CookieExpirationPeriod = &v
18532	return s
18533}
18534
18535// SetPolicyName sets the PolicyName field's value.
18536func (s *AwsElbLbCookieStickinessPolicy) SetPolicyName(v string) *AwsElbLbCookieStickinessPolicy {
18537	s.PolicyName = &v
18538	return s
18539}
18540
18541// Contains information about the access log configuration for the load balancer.
18542type AwsElbLoadBalancerAccessLog struct {
18543	_ struct{} `type:"structure"`
18544
18545	// The interval in minutes for publishing the access logs.
18546	//
18547	// You can publish access logs either every 5 minutes or every 60 minutes.
18548	EmitInterval *int64 `type:"integer"`
18549
18550	// Indicates whether access logs are enabled for the load balancer.
18551	Enabled *bool `type:"boolean"`
18552
18553	// The name of the S3 bucket where the access logs are stored.
18554	S3BucketName *string `type:"string"`
18555
18556	// The logical hierarchy that was created for the S3 bucket.
18557	//
18558	// If a prefix is not provided, the log is placed at the root level of the bucket.
18559	S3BucketPrefix *string `type:"string"`
18560}
18561
18562// String returns the string representation.
18563//
18564// API parameter values that are decorated as "sensitive" in the API will not
18565// be included in the string output. The member name will be present, but the
18566// value will be replaced with "sensitive".
18567func (s AwsElbLoadBalancerAccessLog) String() string {
18568	return awsutil.Prettify(s)
18569}
18570
18571// GoString returns the string representation.
18572//
18573// API parameter values that are decorated as "sensitive" in the API will not
18574// be included in the string output. The member name will be present, but the
18575// value will be replaced with "sensitive".
18576func (s AwsElbLoadBalancerAccessLog) GoString() string {
18577	return s.String()
18578}
18579
18580// SetEmitInterval sets the EmitInterval field's value.
18581func (s *AwsElbLoadBalancerAccessLog) SetEmitInterval(v int64) *AwsElbLoadBalancerAccessLog {
18582	s.EmitInterval = &v
18583	return s
18584}
18585
18586// SetEnabled sets the Enabled field's value.
18587func (s *AwsElbLoadBalancerAccessLog) SetEnabled(v bool) *AwsElbLoadBalancerAccessLog {
18588	s.Enabled = &v
18589	return s
18590}
18591
18592// SetS3BucketName sets the S3BucketName field's value.
18593func (s *AwsElbLoadBalancerAccessLog) SetS3BucketName(v string) *AwsElbLoadBalancerAccessLog {
18594	s.S3BucketName = &v
18595	return s
18596}
18597
18598// SetS3BucketPrefix sets the S3BucketPrefix field's value.
18599func (s *AwsElbLoadBalancerAccessLog) SetS3BucketPrefix(v string) *AwsElbLoadBalancerAccessLog {
18600	s.S3BucketPrefix = &v
18601	return s
18602}
18603
18604// Contains attributes for the load balancer.
18605type AwsElbLoadBalancerAttributes struct {
18606	_ struct{} `type:"structure"`
18607
18608	// Information about the access log configuration for the load balancer.
18609	//
18610	// If the access log is enabled, the load balancer captures detailed information
18611	// about all requests. It delivers the information to a specified S3 bucket.
18612	AccessLog *AwsElbLoadBalancerAccessLog `type:"structure"`
18613
18614	// Information about the connection draining configuration for the load balancer.
18615	//
18616	// If connection draining is enabled, the load balancer allows existing requests
18617	// to complete before it shifts traffic away from a deregistered or unhealthy
18618	// instance.
18619	ConnectionDraining *AwsElbLoadBalancerConnectionDraining `type:"structure"`
18620
18621	// Connection settings for the load balancer.
18622	//
18623	// If an idle timeout is configured, the load balancer allows connections to
18624	// remain idle for the specified duration. When a connection is idle, no data
18625	// is sent over the connection.
18626	ConnectionSettings *AwsElbLoadBalancerConnectionSettings `type:"structure"`
18627
18628	// Cross-zone load balancing settings for the load balancer.
18629	//
18630	// If cross-zone load balancing is enabled, the load balancer routes the request
18631	// traffic evenly across all instances regardless of the Availability Zones.
18632	CrossZoneLoadBalancing *AwsElbLoadBalancerCrossZoneLoadBalancing `type:"structure"`
18633}
18634
18635// String returns the string representation.
18636//
18637// API parameter values that are decorated as "sensitive" in the API will not
18638// be included in the string output. The member name will be present, but the
18639// value will be replaced with "sensitive".
18640func (s AwsElbLoadBalancerAttributes) String() string {
18641	return awsutil.Prettify(s)
18642}
18643
18644// GoString returns the string representation.
18645//
18646// API parameter values that are decorated as "sensitive" in the API will not
18647// be included in the string output. The member name will be present, but the
18648// value will be replaced with "sensitive".
18649func (s AwsElbLoadBalancerAttributes) GoString() string {
18650	return s.String()
18651}
18652
18653// SetAccessLog sets the AccessLog field's value.
18654func (s *AwsElbLoadBalancerAttributes) SetAccessLog(v *AwsElbLoadBalancerAccessLog) *AwsElbLoadBalancerAttributes {
18655	s.AccessLog = v
18656	return s
18657}
18658
18659// SetConnectionDraining sets the ConnectionDraining field's value.
18660func (s *AwsElbLoadBalancerAttributes) SetConnectionDraining(v *AwsElbLoadBalancerConnectionDraining) *AwsElbLoadBalancerAttributes {
18661	s.ConnectionDraining = v
18662	return s
18663}
18664
18665// SetConnectionSettings sets the ConnectionSettings field's value.
18666func (s *AwsElbLoadBalancerAttributes) SetConnectionSettings(v *AwsElbLoadBalancerConnectionSettings) *AwsElbLoadBalancerAttributes {
18667	s.ConnectionSettings = v
18668	return s
18669}
18670
18671// SetCrossZoneLoadBalancing sets the CrossZoneLoadBalancing field's value.
18672func (s *AwsElbLoadBalancerAttributes) SetCrossZoneLoadBalancing(v *AwsElbLoadBalancerCrossZoneLoadBalancing) *AwsElbLoadBalancerAttributes {
18673	s.CrossZoneLoadBalancing = v
18674	return s
18675}
18676
18677// Provides information about the configuration of an EC2 instance for the load
18678// balancer.
18679type AwsElbLoadBalancerBackendServerDescription struct {
18680	_ struct{} `type:"structure"`
18681
18682	// The port on which the EC2 instance is listening.
18683	InstancePort *int64 `type:"integer"`
18684
18685	// The names of the policies that are enabled for the EC2 instance.
18686	PolicyNames []*string `type:"list"`
18687}
18688
18689// String returns the string representation.
18690//
18691// API parameter values that are decorated as "sensitive" in the API will not
18692// be included in the string output. The member name will be present, but the
18693// value will be replaced with "sensitive".
18694func (s AwsElbLoadBalancerBackendServerDescription) String() string {
18695	return awsutil.Prettify(s)
18696}
18697
18698// GoString returns the string representation.
18699//
18700// API parameter values that are decorated as "sensitive" in the API will not
18701// be included in the string output. The member name will be present, but the
18702// value will be replaced with "sensitive".
18703func (s AwsElbLoadBalancerBackendServerDescription) GoString() string {
18704	return s.String()
18705}
18706
18707// SetInstancePort sets the InstancePort field's value.
18708func (s *AwsElbLoadBalancerBackendServerDescription) SetInstancePort(v int64) *AwsElbLoadBalancerBackendServerDescription {
18709	s.InstancePort = &v
18710	return s
18711}
18712
18713// SetPolicyNames sets the PolicyNames field's value.
18714func (s *AwsElbLoadBalancerBackendServerDescription) SetPolicyNames(v []*string) *AwsElbLoadBalancerBackendServerDescription {
18715	s.PolicyNames = v
18716	return s
18717}
18718
18719// Contains information about the connection draining configuration for the
18720// load balancer.
18721type AwsElbLoadBalancerConnectionDraining struct {
18722	_ struct{} `type:"structure"`
18723
18724	// Indicates whether connection draining is enabled for the load balancer.
18725	Enabled *bool `type:"boolean"`
18726
18727	// The maximum time, in seconds, to keep the existing connections open before
18728	// deregistering the instances.
18729	Timeout *int64 `type:"integer"`
18730}
18731
18732// String returns the string representation.
18733//
18734// API parameter values that are decorated as "sensitive" in the API will not
18735// be included in the string output. The member name will be present, but the
18736// value will be replaced with "sensitive".
18737func (s AwsElbLoadBalancerConnectionDraining) String() string {
18738	return awsutil.Prettify(s)
18739}
18740
18741// GoString returns the string representation.
18742//
18743// API parameter values that are decorated as "sensitive" in the API will not
18744// be included in the string output. The member name will be present, but the
18745// value will be replaced with "sensitive".
18746func (s AwsElbLoadBalancerConnectionDraining) GoString() string {
18747	return s.String()
18748}
18749
18750// SetEnabled sets the Enabled field's value.
18751func (s *AwsElbLoadBalancerConnectionDraining) SetEnabled(v bool) *AwsElbLoadBalancerConnectionDraining {
18752	s.Enabled = &v
18753	return s
18754}
18755
18756// SetTimeout sets the Timeout field's value.
18757func (s *AwsElbLoadBalancerConnectionDraining) SetTimeout(v int64) *AwsElbLoadBalancerConnectionDraining {
18758	s.Timeout = &v
18759	return s
18760}
18761
18762// Contains connection settings for the load balancer.
18763type AwsElbLoadBalancerConnectionSettings struct {
18764	_ struct{} `type:"structure"`
18765
18766	// The time, in seconds, that the connection can be idle (no data is sent over
18767	// the connection) before it is closed by the load balancer.
18768	IdleTimeout *int64 `type:"integer"`
18769}
18770
18771// String returns the string representation.
18772//
18773// API parameter values that are decorated as "sensitive" in the API will not
18774// be included in the string output. The member name will be present, but the
18775// value will be replaced with "sensitive".
18776func (s AwsElbLoadBalancerConnectionSettings) String() string {
18777	return awsutil.Prettify(s)
18778}
18779
18780// GoString returns the string representation.
18781//
18782// API parameter values that are decorated as "sensitive" in the API will not
18783// be included in the string output. The member name will be present, but the
18784// value will be replaced with "sensitive".
18785func (s AwsElbLoadBalancerConnectionSettings) GoString() string {
18786	return s.String()
18787}
18788
18789// SetIdleTimeout sets the IdleTimeout field's value.
18790func (s *AwsElbLoadBalancerConnectionSettings) SetIdleTimeout(v int64) *AwsElbLoadBalancerConnectionSettings {
18791	s.IdleTimeout = &v
18792	return s
18793}
18794
18795// Contains cross-zone load balancing settings for the load balancer.
18796type AwsElbLoadBalancerCrossZoneLoadBalancing struct {
18797	_ struct{} `type:"structure"`
18798
18799	// Indicates whether cross-zone load balancing is enabled for the load balancer.
18800	Enabled *bool `type:"boolean"`
18801}
18802
18803// String returns the string representation.
18804//
18805// API parameter values that are decorated as "sensitive" in the API will not
18806// be included in the string output. The member name will be present, but the
18807// value will be replaced with "sensitive".
18808func (s AwsElbLoadBalancerCrossZoneLoadBalancing) String() string {
18809	return awsutil.Prettify(s)
18810}
18811
18812// GoString returns the string representation.
18813//
18814// API parameter values that are decorated as "sensitive" in the API will not
18815// be included in the string output. The member name will be present, but the
18816// value will be replaced with "sensitive".
18817func (s AwsElbLoadBalancerCrossZoneLoadBalancing) GoString() string {
18818	return s.String()
18819}
18820
18821// SetEnabled sets the Enabled field's value.
18822func (s *AwsElbLoadBalancerCrossZoneLoadBalancing) SetEnabled(v bool) *AwsElbLoadBalancerCrossZoneLoadBalancing {
18823	s.Enabled = &v
18824	return s
18825}
18826
18827// Contains details about a Classic Load Balancer.
18828type AwsElbLoadBalancerDetails struct {
18829	_ struct{} `type:"structure"`
18830
18831	// The list of Availability Zones for the load balancer.
18832	AvailabilityZones []*string `type:"list"`
18833
18834	// Information about the configuration of the EC2 instances.
18835	BackendServerDescriptions []*AwsElbLoadBalancerBackendServerDescription `type:"list"`
18836
18837	// The name of the Amazon Route 53 hosted zone for the load balancer.
18838	CanonicalHostedZoneName *string `type:"string"`
18839
18840	// The ID of the Amazon Route 53 hosted zone for the load balancer.
18841	CanonicalHostedZoneNameID *string `type:"string"`
18842
18843	// Indicates when the load balancer was created.
18844	//
18845	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
18846	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
18847	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
18848	CreatedTime *string `type:"string"`
18849
18850	// The DNS name of the load balancer.
18851	DnsName *string `type:"string"`
18852
18853	// Information about the health checks that are conducted on the load balancer.
18854	HealthCheck *AwsElbLoadBalancerHealthCheck `type:"structure"`
18855
18856	// List of EC2 instances for the load balancer.
18857	Instances []*AwsElbLoadBalancerInstance `type:"list"`
18858
18859	// The policies that are enabled for the load balancer listeners.
18860	ListenerDescriptions []*AwsElbLoadBalancerListenerDescription `type:"list"`
18861
18862	// The attributes for a load balancer.
18863	LoadBalancerAttributes *AwsElbLoadBalancerAttributes `type:"structure"`
18864
18865	// The name of the load balancer.
18866	LoadBalancerName *string `type:"string"`
18867
18868	// The policies for a load balancer.
18869	Policies *AwsElbLoadBalancerPolicies `type:"structure"`
18870
18871	// The type of load balancer. Only provided if the load balancer is in a VPC.
18872	//
18873	// If Scheme is internet-facing, the load balancer has a public DNS name that
18874	// resolves to a public IP address.
18875	//
18876	// If Scheme is internal, the load balancer has a public DNS name that resolves
18877	// to a private IP address.
18878	Scheme *string `type:"string"`
18879
18880	// The security groups for the load balancer. Only provided if the load balancer
18881	// is in a VPC.
18882	SecurityGroups []*string `type:"list"`
18883
18884	// Information about the security group for the load balancer. This is the security
18885	// group that is used for inbound rules.
18886	SourceSecurityGroup *AwsElbLoadBalancerSourceSecurityGroup `type:"structure"`
18887
18888	// The list of subnet identifiers for the load balancer.
18889	Subnets []*string `type:"list"`
18890
18891	// The identifier of the VPC for the load balancer.
18892	VpcId *string `type:"string"`
18893}
18894
18895// String returns the string representation.
18896//
18897// API parameter values that are decorated as "sensitive" in the API will not
18898// be included in the string output. The member name will be present, but the
18899// value will be replaced with "sensitive".
18900func (s AwsElbLoadBalancerDetails) String() string {
18901	return awsutil.Prettify(s)
18902}
18903
18904// GoString returns the string representation.
18905//
18906// API parameter values that are decorated as "sensitive" in the API will not
18907// be included in the string output. The member name will be present, but the
18908// value will be replaced with "sensitive".
18909func (s AwsElbLoadBalancerDetails) GoString() string {
18910	return s.String()
18911}
18912
18913// SetAvailabilityZones sets the AvailabilityZones field's value.
18914func (s *AwsElbLoadBalancerDetails) SetAvailabilityZones(v []*string) *AwsElbLoadBalancerDetails {
18915	s.AvailabilityZones = v
18916	return s
18917}
18918
18919// SetBackendServerDescriptions sets the BackendServerDescriptions field's value.
18920func (s *AwsElbLoadBalancerDetails) SetBackendServerDescriptions(v []*AwsElbLoadBalancerBackendServerDescription) *AwsElbLoadBalancerDetails {
18921	s.BackendServerDescriptions = v
18922	return s
18923}
18924
18925// SetCanonicalHostedZoneName sets the CanonicalHostedZoneName field's value.
18926func (s *AwsElbLoadBalancerDetails) SetCanonicalHostedZoneName(v string) *AwsElbLoadBalancerDetails {
18927	s.CanonicalHostedZoneName = &v
18928	return s
18929}
18930
18931// SetCanonicalHostedZoneNameID sets the CanonicalHostedZoneNameID field's value.
18932func (s *AwsElbLoadBalancerDetails) SetCanonicalHostedZoneNameID(v string) *AwsElbLoadBalancerDetails {
18933	s.CanonicalHostedZoneNameID = &v
18934	return s
18935}
18936
18937// SetCreatedTime sets the CreatedTime field's value.
18938func (s *AwsElbLoadBalancerDetails) SetCreatedTime(v string) *AwsElbLoadBalancerDetails {
18939	s.CreatedTime = &v
18940	return s
18941}
18942
18943// SetDnsName sets the DnsName field's value.
18944func (s *AwsElbLoadBalancerDetails) SetDnsName(v string) *AwsElbLoadBalancerDetails {
18945	s.DnsName = &v
18946	return s
18947}
18948
18949// SetHealthCheck sets the HealthCheck field's value.
18950func (s *AwsElbLoadBalancerDetails) SetHealthCheck(v *AwsElbLoadBalancerHealthCheck) *AwsElbLoadBalancerDetails {
18951	s.HealthCheck = v
18952	return s
18953}
18954
18955// SetInstances sets the Instances field's value.
18956func (s *AwsElbLoadBalancerDetails) SetInstances(v []*AwsElbLoadBalancerInstance) *AwsElbLoadBalancerDetails {
18957	s.Instances = v
18958	return s
18959}
18960
18961// SetListenerDescriptions sets the ListenerDescriptions field's value.
18962func (s *AwsElbLoadBalancerDetails) SetListenerDescriptions(v []*AwsElbLoadBalancerListenerDescription) *AwsElbLoadBalancerDetails {
18963	s.ListenerDescriptions = v
18964	return s
18965}
18966
18967// SetLoadBalancerAttributes sets the LoadBalancerAttributes field's value.
18968func (s *AwsElbLoadBalancerDetails) SetLoadBalancerAttributes(v *AwsElbLoadBalancerAttributes) *AwsElbLoadBalancerDetails {
18969	s.LoadBalancerAttributes = v
18970	return s
18971}
18972
18973// SetLoadBalancerName sets the LoadBalancerName field's value.
18974func (s *AwsElbLoadBalancerDetails) SetLoadBalancerName(v string) *AwsElbLoadBalancerDetails {
18975	s.LoadBalancerName = &v
18976	return s
18977}
18978
18979// SetPolicies sets the Policies field's value.
18980func (s *AwsElbLoadBalancerDetails) SetPolicies(v *AwsElbLoadBalancerPolicies) *AwsElbLoadBalancerDetails {
18981	s.Policies = v
18982	return s
18983}
18984
18985// SetScheme sets the Scheme field's value.
18986func (s *AwsElbLoadBalancerDetails) SetScheme(v string) *AwsElbLoadBalancerDetails {
18987	s.Scheme = &v
18988	return s
18989}
18990
18991// SetSecurityGroups sets the SecurityGroups field's value.
18992func (s *AwsElbLoadBalancerDetails) SetSecurityGroups(v []*string) *AwsElbLoadBalancerDetails {
18993	s.SecurityGroups = v
18994	return s
18995}
18996
18997// SetSourceSecurityGroup sets the SourceSecurityGroup field's value.
18998func (s *AwsElbLoadBalancerDetails) SetSourceSecurityGroup(v *AwsElbLoadBalancerSourceSecurityGroup) *AwsElbLoadBalancerDetails {
18999	s.SourceSecurityGroup = v
19000	return s
19001}
19002
19003// SetSubnets sets the Subnets field's value.
19004func (s *AwsElbLoadBalancerDetails) SetSubnets(v []*string) *AwsElbLoadBalancerDetails {
19005	s.Subnets = v
19006	return s
19007}
19008
19009// SetVpcId sets the VpcId field's value.
19010func (s *AwsElbLoadBalancerDetails) SetVpcId(v string) *AwsElbLoadBalancerDetails {
19011	s.VpcId = &v
19012	return s
19013}
19014
19015// Contains information about the health checks that are conducted on the load
19016// balancer.
19017type AwsElbLoadBalancerHealthCheck struct {
19018	_ struct{} `type:"structure"`
19019
19020	// The number of consecutive health check successes required before the instance
19021	// is moved to the Healthy state.
19022	HealthyThreshold *int64 `type:"integer"`
19023
19024	// The approximate interval, in seconds, between health checks of an individual
19025	// instance.
19026	Interval *int64 `type:"integer"`
19027
19028	// The instance that is being checked. The target specifies the protocol and
19029	// port. The available protocols are TCP, SSL, HTTP, and HTTPS. The range of
19030	// valid ports is 1 through 65535.
19031	//
19032	// For the HTTP and HTTPS protocols, the target also specifies the ping path.
19033	//
19034	// For the TCP protocol, the target is specified as TCP: <port> .
19035	//
19036	// For the SSL protocol, the target is specified as SSL.<port> .
19037	//
19038	// For the HTTP and HTTPS protocols, the target is specified as <protocol>:<port>/<path
19039	// to ping> .
19040	Target *string `type:"string"`
19041
19042	// The amount of time, in seconds, during which no response means a failed health
19043	// check.
19044	Timeout *int64 `type:"integer"`
19045
19046	// The number of consecutive health check failures that must occur before the
19047	// instance is moved to the Unhealthy state.
19048	UnhealthyThreshold *int64 `type:"integer"`
19049}
19050
19051// String returns the string representation.
19052//
19053// API parameter values that are decorated as "sensitive" in the API will not
19054// be included in the string output. The member name will be present, but the
19055// value will be replaced with "sensitive".
19056func (s AwsElbLoadBalancerHealthCheck) String() string {
19057	return awsutil.Prettify(s)
19058}
19059
19060// GoString returns the string representation.
19061//
19062// API parameter values that are decorated as "sensitive" in the API will not
19063// be included in the string output. The member name will be present, but the
19064// value will be replaced with "sensitive".
19065func (s AwsElbLoadBalancerHealthCheck) GoString() string {
19066	return s.String()
19067}
19068
19069// SetHealthyThreshold sets the HealthyThreshold field's value.
19070func (s *AwsElbLoadBalancerHealthCheck) SetHealthyThreshold(v int64) *AwsElbLoadBalancerHealthCheck {
19071	s.HealthyThreshold = &v
19072	return s
19073}
19074
19075// SetInterval sets the Interval field's value.
19076func (s *AwsElbLoadBalancerHealthCheck) SetInterval(v int64) *AwsElbLoadBalancerHealthCheck {
19077	s.Interval = &v
19078	return s
19079}
19080
19081// SetTarget sets the Target field's value.
19082func (s *AwsElbLoadBalancerHealthCheck) SetTarget(v string) *AwsElbLoadBalancerHealthCheck {
19083	s.Target = &v
19084	return s
19085}
19086
19087// SetTimeout sets the Timeout field's value.
19088func (s *AwsElbLoadBalancerHealthCheck) SetTimeout(v int64) *AwsElbLoadBalancerHealthCheck {
19089	s.Timeout = &v
19090	return s
19091}
19092
19093// SetUnhealthyThreshold sets the UnhealthyThreshold field's value.
19094func (s *AwsElbLoadBalancerHealthCheck) SetUnhealthyThreshold(v int64) *AwsElbLoadBalancerHealthCheck {
19095	s.UnhealthyThreshold = &v
19096	return s
19097}
19098
19099// Provides information about an EC2 instance for a load balancer.
19100type AwsElbLoadBalancerInstance struct {
19101	_ struct{} `type:"structure"`
19102
19103	// The instance identifier.
19104	InstanceId *string `type:"string"`
19105}
19106
19107// String returns the string representation.
19108//
19109// API parameter values that are decorated as "sensitive" in the API will not
19110// be included in the string output. The member name will be present, but the
19111// value will be replaced with "sensitive".
19112func (s AwsElbLoadBalancerInstance) String() string {
19113	return awsutil.Prettify(s)
19114}
19115
19116// GoString returns the string representation.
19117//
19118// API parameter values that are decorated as "sensitive" in the API will not
19119// be included in the string output. The member name will be present, but the
19120// value will be replaced with "sensitive".
19121func (s AwsElbLoadBalancerInstance) GoString() string {
19122	return s.String()
19123}
19124
19125// SetInstanceId sets the InstanceId field's value.
19126func (s *AwsElbLoadBalancerInstance) SetInstanceId(v string) *AwsElbLoadBalancerInstance {
19127	s.InstanceId = &v
19128	return s
19129}
19130
19131// Information about a load balancer listener.
19132type AwsElbLoadBalancerListener struct {
19133	_ struct{} `type:"structure"`
19134
19135	// The port on which the instance is listening.
19136	InstancePort *int64 `type:"integer"`
19137
19138	// The protocol to use to route traffic to instances.
19139	//
19140	// Valid values: HTTP | HTTPS | TCP | SSL
19141	InstanceProtocol *string `type:"string"`
19142
19143	// The port on which the load balancer is listening.
19144	//
19145	// On EC2-VPC, you can specify any port from the range 1-65535.
19146	//
19147	// On EC2-Classic, you can specify any port from the following list: 25, 80,
19148	// 443, 465, 587, 1024-65535.
19149	LoadBalancerPort *int64 `type:"integer"`
19150
19151	// The load balancer transport protocol to use for routing.
19152	//
19153	// Valid values: HTTP | HTTPS | TCP | SSL
19154	Protocol *string `type:"string"`
19155
19156	// The ARN of the server certificate.
19157	SslCertificateId *string `type:"string"`
19158}
19159
19160// String returns the string representation.
19161//
19162// API parameter values that are decorated as "sensitive" in the API will not
19163// be included in the string output. The member name will be present, but the
19164// value will be replaced with "sensitive".
19165func (s AwsElbLoadBalancerListener) String() string {
19166	return awsutil.Prettify(s)
19167}
19168
19169// GoString returns the string representation.
19170//
19171// API parameter values that are decorated as "sensitive" in the API will not
19172// be included in the string output. The member name will be present, but the
19173// value will be replaced with "sensitive".
19174func (s AwsElbLoadBalancerListener) GoString() string {
19175	return s.String()
19176}
19177
19178// SetInstancePort sets the InstancePort field's value.
19179func (s *AwsElbLoadBalancerListener) SetInstancePort(v int64) *AwsElbLoadBalancerListener {
19180	s.InstancePort = &v
19181	return s
19182}
19183
19184// SetInstanceProtocol sets the InstanceProtocol field's value.
19185func (s *AwsElbLoadBalancerListener) SetInstanceProtocol(v string) *AwsElbLoadBalancerListener {
19186	s.InstanceProtocol = &v
19187	return s
19188}
19189
19190// SetLoadBalancerPort sets the LoadBalancerPort field's value.
19191func (s *AwsElbLoadBalancerListener) SetLoadBalancerPort(v int64) *AwsElbLoadBalancerListener {
19192	s.LoadBalancerPort = &v
19193	return s
19194}
19195
19196// SetProtocol sets the Protocol field's value.
19197func (s *AwsElbLoadBalancerListener) SetProtocol(v string) *AwsElbLoadBalancerListener {
19198	s.Protocol = &v
19199	return s
19200}
19201
19202// SetSslCertificateId sets the SslCertificateId field's value.
19203func (s *AwsElbLoadBalancerListener) SetSslCertificateId(v string) *AwsElbLoadBalancerListener {
19204	s.SslCertificateId = &v
19205	return s
19206}
19207
19208// Lists the policies that are enabled for a load balancer listener.
19209type AwsElbLoadBalancerListenerDescription struct {
19210	_ struct{} `type:"structure"`
19211
19212	// Information about the listener.
19213	Listener *AwsElbLoadBalancerListener `type:"structure"`
19214
19215	// The policies enabled for the listener.
19216	PolicyNames []*string `type:"list"`
19217}
19218
19219// String returns the string representation.
19220//
19221// API parameter values that are decorated as "sensitive" in the API will not
19222// be included in the string output. The member name will be present, but the
19223// value will be replaced with "sensitive".
19224func (s AwsElbLoadBalancerListenerDescription) String() string {
19225	return awsutil.Prettify(s)
19226}
19227
19228// GoString returns the string representation.
19229//
19230// API parameter values that are decorated as "sensitive" in the API will not
19231// be included in the string output. The member name will be present, but the
19232// value will be replaced with "sensitive".
19233func (s AwsElbLoadBalancerListenerDescription) GoString() string {
19234	return s.String()
19235}
19236
19237// SetListener sets the Listener field's value.
19238func (s *AwsElbLoadBalancerListenerDescription) SetListener(v *AwsElbLoadBalancerListener) *AwsElbLoadBalancerListenerDescription {
19239	s.Listener = v
19240	return s
19241}
19242
19243// SetPolicyNames sets the PolicyNames field's value.
19244func (s *AwsElbLoadBalancerListenerDescription) SetPolicyNames(v []*string) *AwsElbLoadBalancerListenerDescription {
19245	s.PolicyNames = v
19246	return s
19247}
19248
19249// Contains information about the policies for a load balancer.
19250type AwsElbLoadBalancerPolicies struct {
19251	_ struct{} `type:"structure"`
19252
19253	// The stickiness policies that are created using CreateAppCookieStickinessPolicy.
19254	AppCookieStickinessPolicies []*AwsElbAppCookieStickinessPolicy `type:"list"`
19255
19256	// The stickiness policies that are created using CreateLBCookieStickinessPolicy.
19257	LbCookieStickinessPolicies []*AwsElbLbCookieStickinessPolicy `type:"list"`
19258
19259	// The policies other than the stickiness policies.
19260	OtherPolicies []*string `type:"list"`
19261}
19262
19263// String returns the string representation.
19264//
19265// API parameter values that are decorated as "sensitive" in the API will not
19266// be included in the string output. The member name will be present, but the
19267// value will be replaced with "sensitive".
19268func (s AwsElbLoadBalancerPolicies) String() string {
19269	return awsutil.Prettify(s)
19270}
19271
19272// GoString returns the string representation.
19273//
19274// API parameter values that are decorated as "sensitive" in the API will not
19275// be included in the string output. The member name will be present, but the
19276// value will be replaced with "sensitive".
19277func (s AwsElbLoadBalancerPolicies) GoString() string {
19278	return s.String()
19279}
19280
19281// SetAppCookieStickinessPolicies sets the AppCookieStickinessPolicies field's value.
19282func (s *AwsElbLoadBalancerPolicies) SetAppCookieStickinessPolicies(v []*AwsElbAppCookieStickinessPolicy) *AwsElbLoadBalancerPolicies {
19283	s.AppCookieStickinessPolicies = v
19284	return s
19285}
19286
19287// SetLbCookieStickinessPolicies sets the LbCookieStickinessPolicies field's value.
19288func (s *AwsElbLoadBalancerPolicies) SetLbCookieStickinessPolicies(v []*AwsElbLbCookieStickinessPolicy) *AwsElbLoadBalancerPolicies {
19289	s.LbCookieStickinessPolicies = v
19290	return s
19291}
19292
19293// SetOtherPolicies sets the OtherPolicies field's value.
19294func (s *AwsElbLoadBalancerPolicies) SetOtherPolicies(v []*string) *AwsElbLoadBalancerPolicies {
19295	s.OtherPolicies = v
19296	return s
19297}
19298
19299// Contains information about the security group for the load balancer.
19300type AwsElbLoadBalancerSourceSecurityGroup struct {
19301	_ struct{} `type:"structure"`
19302
19303	// The name of the security group.
19304	GroupName *string `type:"string"`
19305
19306	// The owner of the security group.
19307	OwnerAlias *string `type:"string"`
19308}
19309
19310// String returns the string representation.
19311//
19312// API parameter values that are decorated as "sensitive" in the API will not
19313// be included in the string output. The member name will be present, but the
19314// value will be replaced with "sensitive".
19315func (s AwsElbLoadBalancerSourceSecurityGroup) String() string {
19316	return awsutil.Prettify(s)
19317}
19318
19319// GoString returns the string representation.
19320//
19321// API parameter values that are decorated as "sensitive" in the API will not
19322// be included in the string output. The member name will be present, but the
19323// value will be replaced with "sensitive".
19324func (s AwsElbLoadBalancerSourceSecurityGroup) GoString() string {
19325	return s.String()
19326}
19327
19328// SetGroupName sets the GroupName field's value.
19329func (s *AwsElbLoadBalancerSourceSecurityGroup) SetGroupName(v string) *AwsElbLoadBalancerSourceSecurityGroup {
19330	s.GroupName = &v
19331	return s
19332}
19333
19334// SetOwnerAlias sets the OwnerAlias field's value.
19335func (s *AwsElbLoadBalancerSourceSecurityGroup) SetOwnerAlias(v string) *AwsElbLoadBalancerSourceSecurityGroup {
19336	s.OwnerAlias = &v
19337	return s
19338}
19339
19340// A load balancer attribute.
19341type AwsElbv2LoadBalancerAttribute struct {
19342	_ struct{} `type:"structure"`
19343
19344	// The name of the load balancer attribute.
19345	Key *string `type:"string"`
19346
19347	// The value of the load balancer attribute.
19348	Value *string `type:"string"`
19349}
19350
19351// String returns the string representation.
19352//
19353// API parameter values that are decorated as "sensitive" in the API will not
19354// be included in the string output. The member name will be present, but the
19355// value will be replaced with "sensitive".
19356func (s AwsElbv2LoadBalancerAttribute) String() string {
19357	return awsutil.Prettify(s)
19358}
19359
19360// GoString returns the string representation.
19361//
19362// API parameter values that are decorated as "sensitive" in the API will not
19363// be included in the string output. The member name will be present, but the
19364// value will be replaced with "sensitive".
19365func (s AwsElbv2LoadBalancerAttribute) GoString() string {
19366	return s.String()
19367}
19368
19369// SetKey sets the Key field's value.
19370func (s *AwsElbv2LoadBalancerAttribute) SetKey(v string) *AwsElbv2LoadBalancerAttribute {
19371	s.Key = &v
19372	return s
19373}
19374
19375// SetValue sets the Value field's value.
19376func (s *AwsElbv2LoadBalancerAttribute) SetValue(v string) *AwsElbv2LoadBalancerAttribute {
19377	s.Value = &v
19378	return s
19379}
19380
19381// Information about a load balancer.
19382type AwsElbv2LoadBalancerDetails struct {
19383	_ struct{} `type:"structure"`
19384
19385	// The Availability Zones for the load balancer.
19386	AvailabilityZones []*AvailabilityZone `type:"list"`
19387
19388	// The ID of the Amazon Route 53 hosted zone associated with the load balancer.
19389	CanonicalHostedZoneId *string `type:"string"`
19390
19391	// Indicates when the load balancer was created.
19392	//
19393	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
19394	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
19395	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
19396	CreatedTime *string `type:"string"`
19397
19398	// The public DNS name of the load balancer.
19399	DNSName *string `type:"string"`
19400
19401	// The type of IP addresses used by the subnets for your load balancer. The
19402	// possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and
19403	// IPv6 addresses).
19404	IpAddressType *string `type:"string"`
19405
19406	// Attributes of the load balancer.
19407	LoadBalancerAttributes []*AwsElbv2LoadBalancerAttribute `type:"list"`
19408
19409	// The nodes of an Internet-facing load balancer have public IP addresses.
19410	Scheme *string `type:"string"`
19411
19412	// The IDs of the security groups for the load balancer.
19413	SecurityGroups []*string `type:"list"`
19414
19415	// The state of the load balancer.
19416	State *LoadBalancerState `type:"structure"`
19417
19418	// The type of load balancer.
19419	Type *string `type:"string"`
19420
19421	// The ID of the VPC for the load balancer.
19422	VpcId *string `type:"string"`
19423}
19424
19425// String returns the string representation.
19426//
19427// API parameter values that are decorated as "sensitive" in the API will not
19428// be included in the string output. The member name will be present, but the
19429// value will be replaced with "sensitive".
19430func (s AwsElbv2LoadBalancerDetails) String() string {
19431	return awsutil.Prettify(s)
19432}
19433
19434// GoString returns the string representation.
19435//
19436// API parameter values that are decorated as "sensitive" in the API will not
19437// be included in the string output. The member name will be present, but the
19438// value will be replaced with "sensitive".
19439func (s AwsElbv2LoadBalancerDetails) GoString() string {
19440	return s.String()
19441}
19442
19443// SetAvailabilityZones sets the AvailabilityZones field's value.
19444func (s *AwsElbv2LoadBalancerDetails) SetAvailabilityZones(v []*AvailabilityZone) *AwsElbv2LoadBalancerDetails {
19445	s.AvailabilityZones = v
19446	return s
19447}
19448
19449// SetCanonicalHostedZoneId sets the CanonicalHostedZoneId field's value.
19450func (s *AwsElbv2LoadBalancerDetails) SetCanonicalHostedZoneId(v string) *AwsElbv2LoadBalancerDetails {
19451	s.CanonicalHostedZoneId = &v
19452	return s
19453}
19454
19455// SetCreatedTime sets the CreatedTime field's value.
19456func (s *AwsElbv2LoadBalancerDetails) SetCreatedTime(v string) *AwsElbv2LoadBalancerDetails {
19457	s.CreatedTime = &v
19458	return s
19459}
19460
19461// SetDNSName sets the DNSName field's value.
19462func (s *AwsElbv2LoadBalancerDetails) SetDNSName(v string) *AwsElbv2LoadBalancerDetails {
19463	s.DNSName = &v
19464	return s
19465}
19466
19467// SetIpAddressType sets the IpAddressType field's value.
19468func (s *AwsElbv2LoadBalancerDetails) SetIpAddressType(v string) *AwsElbv2LoadBalancerDetails {
19469	s.IpAddressType = &v
19470	return s
19471}
19472
19473// SetLoadBalancerAttributes sets the LoadBalancerAttributes field's value.
19474func (s *AwsElbv2LoadBalancerDetails) SetLoadBalancerAttributes(v []*AwsElbv2LoadBalancerAttribute) *AwsElbv2LoadBalancerDetails {
19475	s.LoadBalancerAttributes = v
19476	return s
19477}
19478
19479// SetScheme sets the Scheme field's value.
19480func (s *AwsElbv2LoadBalancerDetails) SetScheme(v string) *AwsElbv2LoadBalancerDetails {
19481	s.Scheme = &v
19482	return s
19483}
19484
19485// SetSecurityGroups sets the SecurityGroups field's value.
19486func (s *AwsElbv2LoadBalancerDetails) SetSecurityGroups(v []*string) *AwsElbv2LoadBalancerDetails {
19487	s.SecurityGroups = v
19488	return s
19489}
19490
19491// SetState sets the State field's value.
19492func (s *AwsElbv2LoadBalancerDetails) SetState(v *LoadBalancerState) *AwsElbv2LoadBalancerDetails {
19493	s.State = v
19494	return s
19495}
19496
19497// SetType sets the Type field's value.
19498func (s *AwsElbv2LoadBalancerDetails) SetType(v string) *AwsElbv2LoadBalancerDetails {
19499	s.Type = &v
19500	return s
19501}
19502
19503// SetVpcId sets the VpcId field's value.
19504func (s *AwsElbv2LoadBalancerDetails) SetVpcId(v string) *AwsElbv2LoadBalancerDetails {
19505	s.VpcId = &v
19506	return s
19507}
19508
19509// IAM access key details related to a finding.
19510type AwsIamAccessKeyDetails struct {
19511	_ struct{} `type:"structure"`
19512
19513	// The identifier of the access key.
19514	AccessKeyId *string `type:"string"`
19515
19516	// The Amazon Web Services account ID of the account for the key.
19517	AccountId *string `type:"string"`
19518
19519	// Indicates when the IAM access key was created.
19520	//
19521	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
19522	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
19523	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
19524	CreatedAt *string `type:"string"`
19525
19526	// The ID of the principal associated with an access key.
19527	PrincipalId *string `type:"string"`
19528
19529	// The name of the principal.
19530	PrincipalName *string `type:"string"`
19531
19532	// The type of principal associated with an access key.
19533	PrincipalType *string `type:"string"`
19534
19535	// Information about the session that the key was used for.
19536	SessionContext *AwsIamAccessKeySessionContext `type:"structure"`
19537
19538	// The status of the IAM access key related to a finding.
19539	Status *string `type:"string" enum:"AwsIamAccessKeyStatus"`
19540
19541	// The user associated with the IAM access key related to a finding.
19542	//
19543	// The UserName parameter has been replaced with the PrincipalName parameter
19544	// because access keys can also be assigned to principals that are not IAM users.
19545	//
19546	// Deprecated: This filter is deprecated. Instead, use PrincipalName.
19547	UserName *string `deprecated:"true" type:"string"`
19548}
19549
19550// String returns the string representation.
19551//
19552// API parameter values that are decorated as "sensitive" in the API will not
19553// be included in the string output. The member name will be present, but the
19554// value will be replaced with "sensitive".
19555func (s AwsIamAccessKeyDetails) String() string {
19556	return awsutil.Prettify(s)
19557}
19558
19559// GoString returns the string representation.
19560//
19561// API parameter values that are decorated as "sensitive" in the API will not
19562// be included in the string output. The member name will be present, but the
19563// value will be replaced with "sensitive".
19564func (s AwsIamAccessKeyDetails) GoString() string {
19565	return s.String()
19566}
19567
19568// SetAccessKeyId sets the AccessKeyId field's value.
19569func (s *AwsIamAccessKeyDetails) SetAccessKeyId(v string) *AwsIamAccessKeyDetails {
19570	s.AccessKeyId = &v
19571	return s
19572}
19573
19574// SetAccountId sets the AccountId field's value.
19575func (s *AwsIamAccessKeyDetails) SetAccountId(v string) *AwsIamAccessKeyDetails {
19576	s.AccountId = &v
19577	return s
19578}
19579
19580// SetCreatedAt sets the CreatedAt field's value.
19581func (s *AwsIamAccessKeyDetails) SetCreatedAt(v string) *AwsIamAccessKeyDetails {
19582	s.CreatedAt = &v
19583	return s
19584}
19585
19586// SetPrincipalId sets the PrincipalId field's value.
19587func (s *AwsIamAccessKeyDetails) SetPrincipalId(v string) *AwsIamAccessKeyDetails {
19588	s.PrincipalId = &v
19589	return s
19590}
19591
19592// SetPrincipalName sets the PrincipalName field's value.
19593func (s *AwsIamAccessKeyDetails) SetPrincipalName(v string) *AwsIamAccessKeyDetails {
19594	s.PrincipalName = &v
19595	return s
19596}
19597
19598// SetPrincipalType sets the PrincipalType field's value.
19599func (s *AwsIamAccessKeyDetails) SetPrincipalType(v string) *AwsIamAccessKeyDetails {
19600	s.PrincipalType = &v
19601	return s
19602}
19603
19604// SetSessionContext sets the SessionContext field's value.
19605func (s *AwsIamAccessKeyDetails) SetSessionContext(v *AwsIamAccessKeySessionContext) *AwsIamAccessKeyDetails {
19606	s.SessionContext = v
19607	return s
19608}
19609
19610// SetStatus sets the Status field's value.
19611func (s *AwsIamAccessKeyDetails) SetStatus(v string) *AwsIamAccessKeyDetails {
19612	s.Status = &v
19613	return s
19614}
19615
19616// SetUserName sets the UserName field's value.
19617func (s *AwsIamAccessKeyDetails) SetUserName(v string) *AwsIamAccessKeyDetails {
19618	s.UserName = &v
19619	return s
19620}
19621
19622// Provides information about the session that the key was used for.
19623type AwsIamAccessKeySessionContext struct {
19624	_ struct{} `type:"structure"`
19625
19626	// Attributes of the session that the key was used for.
19627	Attributes *AwsIamAccessKeySessionContextAttributes `type:"structure"`
19628
19629	// Information about the entity that created the session.
19630	SessionIssuer *AwsIamAccessKeySessionContextSessionIssuer `type:"structure"`
19631}
19632
19633// String returns the string representation.
19634//
19635// API parameter values that are decorated as "sensitive" in the API will not
19636// be included in the string output. The member name will be present, but the
19637// value will be replaced with "sensitive".
19638func (s AwsIamAccessKeySessionContext) String() string {
19639	return awsutil.Prettify(s)
19640}
19641
19642// GoString returns the string representation.
19643//
19644// API parameter values that are decorated as "sensitive" in the API will not
19645// be included in the string output. The member name will be present, but the
19646// value will be replaced with "sensitive".
19647func (s AwsIamAccessKeySessionContext) GoString() string {
19648	return s.String()
19649}
19650
19651// SetAttributes sets the Attributes field's value.
19652func (s *AwsIamAccessKeySessionContext) SetAttributes(v *AwsIamAccessKeySessionContextAttributes) *AwsIamAccessKeySessionContext {
19653	s.Attributes = v
19654	return s
19655}
19656
19657// SetSessionIssuer sets the SessionIssuer field's value.
19658func (s *AwsIamAccessKeySessionContext) SetSessionIssuer(v *AwsIamAccessKeySessionContextSessionIssuer) *AwsIamAccessKeySessionContext {
19659	s.SessionIssuer = v
19660	return s
19661}
19662
19663// Attributes of the session that the key was used for.
19664type AwsIamAccessKeySessionContextAttributes struct {
19665	_ struct{} `type:"structure"`
19666
19667	// Indicates when the session was created.
19668	//
19669	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
19670	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
19671	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
19672	CreationDate *string `type:"string"`
19673
19674	// Indicates whether the session used multi-factor authentication (MFA).
19675	MfaAuthenticated *bool `type:"boolean"`
19676}
19677
19678// String returns the string representation.
19679//
19680// API parameter values that are decorated as "sensitive" in the API will not
19681// be included in the string output. The member name will be present, but the
19682// value will be replaced with "sensitive".
19683func (s AwsIamAccessKeySessionContextAttributes) String() string {
19684	return awsutil.Prettify(s)
19685}
19686
19687// GoString returns the string representation.
19688//
19689// API parameter values that are decorated as "sensitive" in the API will not
19690// be included in the string output. The member name will be present, but the
19691// value will be replaced with "sensitive".
19692func (s AwsIamAccessKeySessionContextAttributes) GoString() string {
19693	return s.String()
19694}
19695
19696// SetCreationDate sets the CreationDate field's value.
19697func (s *AwsIamAccessKeySessionContextAttributes) SetCreationDate(v string) *AwsIamAccessKeySessionContextAttributes {
19698	s.CreationDate = &v
19699	return s
19700}
19701
19702// SetMfaAuthenticated sets the MfaAuthenticated field's value.
19703func (s *AwsIamAccessKeySessionContextAttributes) SetMfaAuthenticated(v bool) *AwsIamAccessKeySessionContextAttributes {
19704	s.MfaAuthenticated = &v
19705	return s
19706}
19707
19708// Information about the entity that created the session.
19709type AwsIamAccessKeySessionContextSessionIssuer struct {
19710	_ struct{} `type:"structure"`
19711
19712	// The identifier of the Amazon Web Services account that created the session.
19713	AccountId *string `type:"string"`
19714
19715	// The ARN of the session.
19716	Arn *string `type:"string"`
19717
19718	// The principal ID of the principal (user, role, or group) that created the
19719	// session.
19720	PrincipalId *string `type:"string"`
19721
19722	// The type of principal (user, role, or group) that created the session.
19723	Type *string `type:"string"`
19724
19725	// The name of the principal that created the session.
19726	UserName *string `type:"string"`
19727}
19728
19729// String returns the string representation.
19730//
19731// API parameter values that are decorated as "sensitive" in the API will not
19732// be included in the string output. The member name will be present, but the
19733// value will be replaced with "sensitive".
19734func (s AwsIamAccessKeySessionContextSessionIssuer) String() string {
19735	return awsutil.Prettify(s)
19736}
19737
19738// GoString returns the string representation.
19739//
19740// API parameter values that are decorated as "sensitive" in the API will not
19741// be included in the string output. The member name will be present, but the
19742// value will be replaced with "sensitive".
19743func (s AwsIamAccessKeySessionContextSessionIssuer) GoString() string {
19744	return s.String()
19745}
19746
19747// SetAccountId sets the AccountId field's value.
19748func (s *AwsIamAccessKeySessionContextSessionIssuer) SetAccountId(v string) *AwsIamAccessKeySessionContextSessionIssuer {
19749	s.AccountId = &v
19750	return s
19751}
19752
19753// SetArn sets the Arn field's value.
19754func (s *AwsIamAccessKeySessionContextSessionIssuer) SetArn(v string) *AwsIamAccessKeySessionContextSessionIssuer {
19755	s.Arn = &v
19756	return s
19757}
19758
19759// SetPrincipalId sets the PrincipalId field's value.
19760func (s *AwsIamAccessKeySessionContextSessionIssuer) SetPrincipalId(v string) *AwsIamAccessKeySessionContextSessionIssuer {
19761	s.PrincipalId = &v
19762	return s
19763}
19764
19765// SetType sets the Type field's value.
19766func (s *AwsIamAccessKeySessionContextSessionIssuer) SetType(v string) *AwsIamAccessKeySessionContextSessionIssuer {
19767	s.Type = &v
19768	return s
19769}
19770
19771// SetUserName sets the UserName field's value.
19772func (s *AwsIamAccessKeySessionContextSessionIssuer) SetUserName(v string) *AwsIamAccessKeySessionContextSessionIssuer {
19773	s.UserName = &v
19774	return s
19775}
19776
19777// A managed policy that is attached to an IAM principal.
19778type AwsIamAttachedManagedPolicy struct {
19779	_ struct{} `type:"structure"`
19780
19781	// The ARN of the policy.
19782	PolicyArn *string `type:"string"`
19783
19784	// The name of the policy.
19785	PolicyName *string `type:"string"`
19786}
19787
19788// String returns the string representation.
19789//
19790// API parameter values that are decorated as "sensitive" in the API will not
19791// be included in the string output. The member name will be present, but the
19792// value will be replaced with "sensitive".
19793func (s AwsIamAttachedManagedPolicy) String() string {
19794	return awsutil.Prettify(s)
19795}
19796
19797// GoString returns the string representation.
19798//
19799// API parameter values that are decorated as "sensitive" in the API will not
19800// be included in the string output. The member name will be present, but the
19801// value will be replaced with "sensitive".
19802func (s AwsIamAttachedManagedPolicy) GoString() string {
19803	return s.String()
19804}
19805
19806// SetPolicyArn sets the PolicyArn field's value.
19807func (s *AwsIamAttachedManagedPolicy) SetPolicyArn(v string) *AwsIamAttachedManagedPolicy {
19808	s.PolicyArn = &v
19809	return s
19810}
19811
19812// SetPolicyName sets the PolicyName field's value.
19813func (s *AwsIamAttachedManagedPolicy) SetPolicyName(v string) *AwsIamAttachedManagedPolicy {
19814	s.PolicyName = &v
19815	return s
19816}
19817
19818// Contains details about an IAM group.
19819type AwsIamGroupDetails struct {
19820	_ struct{} `type:"structure"`
19821
19822	// A list of the managed policies that are attached to the IAM group.
19823	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
19824
19825	// Indicates when the IAM group was created.
19826	//
19827	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
19828	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
19829	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
19830	CreateDate *string `type:"string"`
19831
19832	// The identifier of the IAM group.
19833	GroupId *string `type:"string"`
19834
19835	// The name of the IAM group.
19836	GroupName *string `type:"string"`
19837
19838	// The list of inline policies that are embedded in the group.
19839	GroupPolicyList []*AwsIamGroupPolicy `type:"list"`
19840
19841	// The path to the group.
19842	Path *string `type:"string"`
19843}
19844
19845// String returns the string representation.
19846//
19847// API parameter values that are decorated as "sensitive" in the API will not
19848// be included in the string output. The member name will be present, but the
19849// value will be replaced with "sensitive".
19850func (s AwsIamGroupDetails) String() string {
19851	return awsutil.Prettify(s)
19852}
19853
19854// GoString returns the string representation.
19855//
19856// API parameter values that are decorated as "sensitive" in the API will not
19857// be included in the string output. The member name will be present, but the
19858// value will be replaced with "sensitive".
19859func (s AwsIamGroupDetails) GoString() string {
19860	return s.String()
19861}
19862
19863// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
19864func (s *AwsIamGroupDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamGroupDetails {
19865	s.AttachedManagedPolicies = v
19866	return s
19867}
19868
19869// SetCreateDate sets the CreateDate field's value.
19870func (s *AwsIamGroupDetails) SetCreateDate(v string) *AwsIamGroupDetails {
19871	s.CreateDate = &v
19872	return s
19873}
19874
19875// SetGroupId sets the GroupId field's value.
19876func (s *AwsIamGroupDetails) SetGroupId(v string) *AwsIamGroupDetails {
19877	s.GroupId = &v
19878	return s
19879}
19880
19881// SetGroupName sets the GroupName field's value.
19882func (s *AwsIamGroupDetails) SetGroupName(v string) *AwsIamGroupDetails {
19883	s.GroupName = &v
19884	return s
19885}
19886
19887// SetGroupPolicyList sets the GroupPolicyList field's value.
19888func (s *AwsIamGroupDetails) SetGroupPolicyList(v []*AwsIamGroupPolicy) *AwsIamGroupDetails {
19889	s.GroupPolicyList = v
19890	return s
19891}
19892
19893// SetPath sets the Path field's value.
19894func (s *AwsIamGroupDetails) SetPath(v string) *AwsIamGroupDetails {
19895	s.Path = &v
19896	return s
19897}
19898
19899// A managed policy that is attached to the IAM group.
19900type AwsIamGroupPolicy struct {
19901	_ struct{} `type:"structure"`
19902
19903	// The name of the policy.
19904	PolicyName *string `type:"string"`
19905}
19906
19907// String returns the string representation.
19908//
19909// API parameter values that are decorated as "sensitive" in the API will not
19910// be included in the string output. The member name will be present, but the
19911// value will be replaced with "sensitive".
19912func (s AwsIamGroupPolicy) String() string {
19913	return awsutil.Prettify(s)
19914}
19915
19916// GoString returns the string representation.
19917//
19918// API parameter values that are decorated as "sensitive" in the API will not
19919// be included in the string output. The member name will be present, but the
19920// value will be replaced with "sensitive".
19921func (s AwsIamGroupPolicy) GoString() string {
19922	return s.String()
19923}
19924
19925// SetPolicyName sets the PolicyName field's value.
19926func (s *AwsIamGroupPolicy) SetPolicyName(v string) *AwsIamGroupPolicy {
19927	s.PolicyName = &v
19928	return s
19929}
19930
19931// Information about an instance profile.
19932type AwsIamInstanceProfile struct {
19933	_ struct{} `type:"structure"`
19934
19935	// The ARN of the instance profile.
19936	Arn *string `type:"string"`
19937
19938	// Indicates when the instance profile was created.
19939	//
19940	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
19941	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
19942	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
19943	CreateDate *string `type:"string"`
19944
19945	// The identifier of the instance profile.
19946	InstanceProfileId *string `type:"string"`
19947
19948	// The name of the instance profile.
19949	InstanceProfileName *string `type:"string"`
19950
19951	// The path to the instance profile.
19952	Path *string `type:"string"`
19953
19954	// The roles associated with the instance profile.
19955	Roles []*AwsIamInstanceProfileRole `type:"list"`
19956}
19957
19958// String returns the string representation.
19959//
19960// API parameter values that are decorated as "sensitive" in the API will not
19961// be included in the string output. The member name will be present, but the
19962// value will be replaced with "sensitive".
19963func (s AwsIamInstanceProfile) String() string {
19964	return awsutil.Prettify(s)
19965}
19966
19967// GoString returns the string representation.
19968//
19969// API parameter values that are decorated as "sensitive" in the API will not
19970// be included in the string output. The member name will be present, but the
19971// value will be replaced with "sensitive".
19972func (s AwsIamInstanceProfile) GoString() string {
19973	return s.String()
19974}
19975
19976// Validate inspects the fields of the type to determine if they are valid.
19977func (s *AwsIamInstanceProfile) Validate() error {
19978	invalidParams := request.ErrInvalidParams{Context: "AwsIamInstanceProfile"}
19979	if s.Roles != nil {
19980		for i, v := range s.Roles {
19981			if v == nil {
19982				continue
19983			}
19984			if err := v.Validate(); err != nil {
19985				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Roles", i), err.(request.ErrInvalidParams))
19986			}
19987		}
19988	}
19989
19990	if invalidParams.Len() > 0 {
19991		return invalidParams
19992	}
19993	return nil
19994}
19995
19996// SetArn sets the Arn field's value.
19997func (s *AwsIamInstanceProfile) SetArn(v string) *AwsIamInstanceProfile {
19998	s.Arn = &v
19999	return s
20000}
20001
20002// SetCreateDate sets the CreateDate field's value.
20003func (s *AwsIamInstanceProfile) SetCreateDate(v string) *AwsIamInstanceProfile {
20004	s.CreateDate = &v
20005	return s
20006}
20007
20008// SetInstanceProfileId sets the InstanceProfileId field's value.
20009func (s *AwsIamInstanceProfile) SetInstanceProfileId(v string) *AwsIamInstanceProfile {
20010	s.InstanceProfileId = &v
20011	return s
20012}
20013
20014// SetInstanceProfileName sets the InstanceProfileName field's value.
20015func (s *AwsIamInstanceProfile) SetInstanceProfileName(v string) *AwsIamInstanceProfile {
20016	s.InstanceProfileName = &v
20017	return s
20018}
20019
20020// SetPath sets the Path field's value.
20021func (s *AwsIamInstanceProfile) SetPath(v string) *AwsIamInstanceProfile {
20022	s.Path = &v
20023	return s
20024}
20025
20026// SetRoles sets the Roles field's value.
20027func (s *AwsIamInstanceProfile) SetRoles(v []*AwsIamInstanceProfileRole) *AwsIamInstanceProfile {
20028	s.Roles = v
20029	return s
20030}
20031
20032// Information about a role associated with an instance profile.
20033type AwsIamInstanceProfileRole struct {
20034	_ struct{} `type:"structure"`
20035
20036	// The ARN of the role.
20037	Arn *string `type:"string"`
20038
20039	// The policy that grants an entity permission to assume the role.
20040	AssumeRolePolicyDocument *string `min:"1" type:"string"`
20041
20042	// Indicates when the role was created.
20043	//
20044	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20045	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20046	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20047	CreateDate *string `type:"string"`
20048
20049	// The path to the role.
20050	Path *string `type:"string"`
20051
20052	// The identifier of the role.
20053	RoleId *string `type:"string"`
20054
20055	// The name of the role.
20056	RoleName *string `type:"string"`
20057}
20058
20059// String returns the string representation.
20060//
20061// API parameter values that are decorated as "sensitive" in the API will not
20062// be included in the string output. The member name will be present, but the
20063// value will be replaced with "sensitive".
20064func (s AwsIamInstanceProfileRole) String() string {
20065	return awsutil.Prettify(s)
20066}
20067
20068// GoString returns the string representation.
20069//
20070// API parameter values that are decorated as "sensitive" in the API will not
20071// be included in the string output. The member name will be present, but the
20072// value will be replaced with "sensitive".
20073func (s AwsIamInstanceProfileRole) GoString() string {
20074	return s.String()
20075}
20076
20077// Validate inspects the fields of the type to determine if they are valid.
20078func (s *AwsIamInstanceProfileRole) Validate() error {
20079	invalidParams := request.ErrInvalidParams{Context: "AwsIamInstanceProfileRole"}
20080	if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 {
20081		invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1))
20082	}
20083
20084	if invalidParams.Len() > 0 {
20085		return invalidParams
20086	}
20087	return nil
20088}
20089
20090// SetArn sets the Arn field's value.
20091func (s *AwsIamInstanceProfileRole) SetArn(v string) *AwsIamInstanceProfileRole {
20092	s.Arn = &v
20093	return s
20094}
20095
20096// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value.
20097func (s *AwsIamInstanceProfileRole) SetAssumeRolePolicyDocument(v string) *AwsIamInstanceProfileRole {
20098	s.AssumeRolePolicyDocument = &v
20099	return s
20100}
20101
20102// SetCreateDate sets the CreateDate field's value.
20103func (s *AwsIamInstanceProfileRole) SetCreateDate(v string) *AwsIamInstanceProfileRole {
20104	s.CreateDate = &v
20105	return s
20106}
20107
20108// SetPath sets the Path field's value.
20109func (s *AwsIamInstanceProfileRole) SetPath(v string) *AwsIamInstanceProfileRole {
20110	s.Path = &v
20111	return s
20112}
20113
20114// SetRoleId sets the RoleId field's value.
20115func (s *AwsIamInstanceProfileRole) SetRoleId(v string) *AwsIamInstanceProfileRole {
20116	s.RoleId = &v
20117	return s
20118}
20119
20120// SetRoleName sets the RoleName field's value.
20121func (s *AwsIamInstanceProfileRole) SetRoleName(v string) *AwsIamInstanceProfileRole {
20122	s.RoleName = &v
20123	return s
20124}
20125
20126// Information about the policy used to set the permissions boundary for an
20127// IAM principal.
20128type AwsIamPermissionsBoundary struct {
20129	_ struct{} `type:"structure"`
20130
20131	// The ARN of the policy used to set the permissions boundary.
20132	PermissionsBoundaryArn *string `type:"string"`
20133
20134	// The usage type for the permissions boundary.
20135	PermissionsBoundaryType *string `type:"string"`
20136}
20137
20138// String returns the string representation.
20139//
20140// API parameter values that are decorated as "sensitive" in the API will not
20141// be included in the string output. The member name will be present, but the
20142// value will be replaced with "sensitive".
20143func (s AwsIamPermissionsBoundary) String() string {
20144	return awsutil.Prettify(s)
20145}
20146
20147// GoString returns the string representation.
20148//
20149// API parameter values that are decorated as "sensitive" in the API will not
20150// be included in the string output. The member name will be present, but the
20151// value will be replaced with "sensitive".
20152func (s AwsIamPermissionsBoundary) GoString() string {
20153	return s.String()
20154}
20155
20156// SetPermissionsBoundaryArn sets the PermissionsBoundaryArn field's value.
20157func (s *AwsIamPermissionsBoundary) SetPermissionsBoundaryArn(v string) *AwsIamPermissionsBoundary {
20158	s.PermissionsBoundaryArn = &v
20159	return s
20160}
20161
20162// SetPermissionsBoundaryType sets the PermissionsBoundaryType field's value.
20163func (s *AwsIamPermissionsBoundary) SetPermissionsBoundaryType(v string) *AwsIamPermissionsBoundary {
20164	s.PermissionsBoundaryType = &v
20165	return s
20166}
20167
20168// Represents an IAM permissions policy.
20169type AwsIamPolicyDetails struct {
20170	_ struct{} `type:"structure"`
20171
20172	// The number of users, groups, and roles that the policy is attached to.
20173	AttachmentCount *int64 `type:"integer"`
20174
20175	// When the policy was created.
20176	//
20177	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20178	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20179	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20180	CreateDate *string `type:"string"`
20181
20182	// The identifier of the default version of the policy.
20183	DefaultVersionId *string `type:"string"`
20184
20185	// A description of the policy.
20186	Description *string `type:"string"`
20187
20188	// Whether the policy can be attached to a user, group, or role.
20189	IsAttachable *bool `type:"boolean"`
20190
20191	// The path to the policy.
20192	Path *string `type:"string"`
20193
20194	// The number of users and roles that use the policy to set the permissions
20195	// boundary.
20196	PermissionsBoundaryUsageCount *int64 `type:"integer"`
20197
20198	// The unique identifier of the policy.
20199	PolicyId *string `type:"string"`
20200
20201	// The name of the policy.
20202	PolicyName *string `type:"string"`
20203
20204	// List of versions of the policy.
20205	PolicyVersionList []*AwsIamPolicyVersion `type:"list"`
20206
20207	// When the policy was most recently updated.
20208	//
20209	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20210	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20211	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20212	UpdateDate *string `type:"string"`
20213}
20214
20215// String returns the string representation.
20216//
20217// API parameter values that are decorated as "sensitive" in the API will not
20218// be included in the string output. The member name will be present, but the
20219// value will be replaced with "sensitive".
20220func (s AwsIamPolicyDetails) String() string {
20221	return awsutil.Prettify(s)
20222}
20223
20224// GoString returns the string representation.
20225//
20226// API parameter values that are decorated as "sensitive" in the API will not
20227// be included in the string output. The member name will be present, but the
20228// value will be replaced with "sensitive".
20229func (s AwsIamPolicyDetails) GoString() string {
20230	return s.String()
20231}
20232
20233// SetAttachmentCount sets the AttachmentCount field's value.
20234func (s *AwsIamPolicyDetails) SetAttachmentCount(v int64) *AwsIamPolicyDetails {
20235	s.AttachmentCount = &v
20236	return s
20237}
20238
20239// SetCreateDate sets the CreateDate field's value.
20240func (s *AwsIamPolicyDetails) SetCreateDate(v string) *AwsIamPolicyDetails {
20241	s.CreateDate = &v
20242	return s
20243}
20244
20245// SetDefaultVersionId sets the DefaultVersionId field's value.
20246func (s *AwsIamPolicyDetails) SetDefaultVersionId(v string) *AwsIamPolicyDetails {
20247	s.DefaultVersionId = &v
20248	return s
20249}
20250
20251// SetDescription sets the Description field's value.
20252func (s *AwsIamPolicyDetails) SetDescription(v string) *AwsIamPolicyDetails {
20253	s.Description = &v
20254	return s
20255}
20256
20257// SetIsAttachable sets the IsAttachable field's value.
20258func (s *AwsIamPolicyDetails) SetIsAttachable(v bool) *AwsIamPolicyDetails {
20259	s.IsAttachable = &v
20260	return s
20261}
20262
20263// SetPath sets the Path field's value.
20264func (s *AwsIamPolicyDetails) SetPath(v string) *AwsIamPolicyDetails {
20265	s.Path = &v
20266	return s
20267}
20268
20269// SetPermissionsBoundaryUsageCount sets the PermissionsBoundaryUsageCount field's value.
20270func (s *AwsIamPolicyDetails) SetPermissionsBoundaryUsageCount(v int64) *AwsIamPolicyDetails {
20271	s.PermissionsBoundaryUsageCount = &v
20272	return s
20273}
20274
20275// SetPolicyId sets the PolicyId field's value.
20276func (s *AwsIamPolicyDetails) SetPolicyId(v string) *AwsIamPolicyDetails {
20277	s.PolicyId = &v
20278	return s
20279}
20280
20281// SetPolicyName sets the PolicyName field's value.
20282func (s *AwsIamPolicyDetails) SetPolicyName(v string) *AwsIamPolicyDetails {
20283	s.PolicyName = &v
20284	return s
20285}
20286
20287// SetPolicyVersionList sets the PolicyVersionList field's value.
20288func (s *AwsIamPolicyDetails) SetPolicyVersionList(v []*AwsIamPolicyVersion) *AwsIamPolicyDetails {
20289	s.PolicyVersionList = v
20290	return s
20291}
20292
20293// SetUpdateDate sets the UpdateDate field's value.
20294func (s *AwsIamPolicyDetails) SetUpdateDate(v string) *AwsIamPolicyDetails {
20295	s.UpdateDate = &v
20296	return s
20297}
20298
20299// A version of an IAM policy.
20300type AwsIamPolicyVersion struct {
20301	_ struct{} `type:"structure"`
20302
20303	// Indicates when the version was created.
20304	//
20305	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20306	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20307	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20308	CreateDate *string `type:"string"`
20309
20310	// Whether the version is the default version.
20311	IsDefaultVersion *bool `type:"boolean"`
20312
20313	// The identifier of the policy version.
20314	VersionId *string `type:"string"`
20315}
20316
20317// String returns the string representation.
20318//
20319// API parameter values that are decorated as "sensitive" in the API will not
20320// be included in the string output. The member name will be present, but the
20321// value will be replaced with "sensitive".
20322func (s AwsIamPolicyVersion) String() string {
20323	return awsutil.Prettify(s)
20324}
20325
20326// GoString returns the string representation.
20327//
20328// API parameter values that are decorated as "sensitive" in the API will not
20329// be included in the string output. The member name will be present, but the
20330// value will be replaced with "sensitive".
20331func (s AwsIamPolicyVersion) GoString() string {
20332	return s.String()
20333}
20334
20335// SetCreateDate sets the CreateDate field's value.
20336func (s *AwsIamPolicyVersion) SetCreateDate(v string) *AwsIamPolicyVersion {
20337	s.CreateDate = &v
20338	return s
20339}
20340
20341// SetIsDefaultVersion sets the IsDefaultVersion field's value.
20342func (s *AwsIamPolicyVersion) SetIsDefaultVersion(v bool) *AwsIamPolicyVersion {
20343	s.IsDefaultVersion = &v
20344	return s
20345}
20346
20347// SetVersionId sets the VersionId field's value.
20348func (s *AwsIamPolicyVersion) SetVersionId(v string) *AwsIamPolicyVersion {
20349	s.VersionId = &v
20350	return s
20351}
20352
20353// Contains information about an IAM role, including all of the role's policies.
20354type AwsIamRoleDetails struct {
20355	_ struct{} `type:"structure"`
20356
20357	// The trust policy that grants permission to assume the role.
20358	AssumeRolePolicyDocument *string `min:"1" type:"string"`
20359
20360	// The list of the managed policies that are attached to the role.
20361	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
20362
20363	// Indicates when the role was created.
20364	//
20365	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20366	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20367	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20368	CreateDate *string `type:"string"`
20369
20370	// The list of instance profiles that contain this role.
20371	InstanceProfileList []*AwsIamInstanceProfile `type:"list"`
20372
20373	// The maximum session duration (in seconds) that you want to set for the specified
20374	// role.
20375	MaxSessionDuration *int64 `type:"integer"`
20376
20377	// The path to the role.
20378	Path *string `type:"string"`
20379
20380	// Information about the policy used to set the permissions boundary for an
20381	// IAM principal.
20382	PermissionsBoundary *AwsIamPermissionsBoundary `type:"structure"`
20383
20384	// The stable and unique string identifying the role.
20385	RoleId *string `type:"string"`
20386
20387	// The friendly name that identifies the role.
20388	RoleName *string `type:"string"`
20389
20390	// The list of inline policies that are embedded in the role.
20391	RolePolicyList []*AwsIamRolePolicy `type:"list"`
20392}
20393
20394// String returns the string representation.
20395//
20396// API parameter values that are decorated as "sensitive" in the API will not
20397// be included in the string output. The member name will be present, but the
20398// value will be replaced with "sensitive".
20399func (s AwsIamRoleDetails) String() string {
20400	return awsutil.Prettify(s)
20401}
20402
20403// GoString returns the string representation.
20404//
20405// API parameter values that are decorated as "sensitive" in the API will not
20406// be included in the string output. The member name will be present, but the
20407// value will be replaced with "sensitive".
20408func (s AwsIamRoleDetails) GoString() string {
20409	return s.String()
20410}
20411
20412// Validate inspects the fields of the type to determine if they are valid.
20413func (s *AwsIamRoleDetails) Validate() error {
20414	invalidParams := request.ErrInvalidParams{Context: "AwsIamRoleDetails"}
20415	if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 {
20416		invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1))
20417	}
20418	if s.InstanceProfileList != nil {
20419		for i, v := range s.InstanceProfileList {
20420			if v == nil {
20421				continue
20422			}
20423			if err := v.Validate(); err != nil {
20424				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceProfileList", i), err.(request.ErrInvalidParams))
20425			}
20426		}
20427	}
20428
20429	if invalidParams.Len() > 0 {
20430		return invalidParams
20431	}
20432	return nil
20433}
20434
20435// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value.
20436func (s *AwsIamRoleDetails) SetAssumeRolePolicyDocument(v string) *AwsIamRoleDetails {
20437	s.AssumeRolePolicyDocument = &v
20438	return s
20439}
20440
20441// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
20442func (s *AwsIamRoleDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamRoleDetails {
20443	s.AttachedManagedPolicies = v
20444	return s
20445}
20446
20447// SetCreateDate sets the CreateDate field's value.
20448func (s *AwsIamRoleDetails) SetCreateDate(v string) *AwsIamRoleDetails {
20449	s.CreateDate = &v
20450	return s
20451}
20452
20453// SetInstanceProfileList sets the InstanceProfileList field's value.
20454func (s *AwsIamRoleDetails) SetInstanceProfileList(v []*AwsIamInstanceProfile) *AwsIamRoleDetails {
20455	s.InstanceProfileList = v
20456	return s
20457}
20458
20459// SetMaxSessionDuration sets the MaxSessionDuration field's value.
20460func (s *AwsIamRoleDetails) SetMaxSessionDuration(v int64) *AwsIamRoleDetails {
20461	s.MaxSessionDuration = &v
20462	return s
20463}
20464
20465// SetPath sets the Path field's value.
20466func (s *AwsIamRoleDetails) SetPath(v string) *AwsIamRoleDetails {
20467	s.Path = &v
20468	return s
20469}
20470
20471// SetPermissionsBoundary sets the PermissionsBoundary field's value.
20472func (s *AwsIamRoleDetails) SetPermissionsBoundary(v *AwsIamPermissionsBoundary) *AwsIamRoleDetails {
20473	s.PermissionsBoundary = v
20474	return s
20475}
20476
20477// SetRoleId sets the RoleId field's value.
20478func (s *AwsIamRoleDetails) SetRoleId(v string) *AwsIamRoleDetails {
20479	s.RoleId = &v
20480	return s
20481}
20482
20483// SetRoleName sets the RoleName field's value.
20484func (s *AwsIamRoleDetails) SetRoleName(v string) *AwsIamRoleDetails {
20485	s.RoleName = &v
20486	return s
20487}
20488
20489// SetRolePolicyList sets the RolePolicyList field's value.
20490func (s *AwsIamRoleDetails) SetRolePolicyList(v []*AwsIamRolePolicy) *AwsIamRoleDetails {
20491	s.RolePolicyList = v
20492	return s
20493}
20494
20495// An inline policy that is embedded in the role.
20496type AwsIamRolePolicy struct {
20497	_ struct{} `type:"structure"`
20498
20499	// The name of the policy.
20500	PolicyName *string `type:"string"`
20501}
20502
20503// String returns the string representation.
20504//
20505// API parameter values that are decorated as "sensitive" in the API will not
20506// be included in the string output. The member name will be present, but the
20507// value will be replaced with "sensitive".
20508func (s AwsIamRolePolicy) String() string {
20509	return awsutil.Prettify(s)
20510}
20511
20512// GoString returns the string representation.
20513//
20514// API parameter values that are decorated as "sensitive" in the API will not
20515// be included in the string output. The member name will be present, but the
20516// value will be replaced with "sensitive".
20517func (s AwsIamRolePolicy) GoString() string {
20518	return s.String()
20519}
20520
20521// SetPolicyName sets the PolicyName field's value.
20522func (s *AwsIamRolePolicy) SetPolicyName(v string) *AwsIamRolePolicy {
20523	s.PolicyName = &v
20524	return s
20525}
20526
20527// Information about an IAM user.
20528type AwsIamUserDetails struct {
20529	_ struct{} `type:"structure"`
20530
20531	// A list of the managed policies that are attached to the user.
20532	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
20533
20534	// Indicates when the user was created.
20535	//
20536	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20537	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20538	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20539	CreateDate *string `type:"string"`
20540
20541	// A list of IAM groups that the user belongs to.
20542	GroupList []*string `type:"list"`
20543
20544	// The path to the user.
20545	Path *string `type:"string"`
20546
20547	// The permissions boundary for the user.
20548	PermissionsBoundary *AwsIamPermissionsBoundary `type:"structure"`
20549
20550	// The unique identifier for the user.
20551	UserId *string `type:"string"`
20552
20553	// The name of the user.
20554	UserName *string `type:"string"`
20555
20556	// The list of inline policies that are embedded in the user.
20557	UserPolicyList []*AwsIamUserPolicy `type:"list"`
20558}
20559
20560// String returns the string representation.
20561//
20562// API parameter values that are decorated as "sensitive" in the API will not
20563// be included in the string output. The member name will be present, but the
20564// value will be replaced with "sensitive".
20565func (s AwsIamUserDetails) String() string {
20566	return awsutil.Prettify(s)
20567}
20568
20569// GoString returns the string representation.
20570//
20571// API parameter values that are decorated as "sensitive" in the API will not
20572// be included in the string output. The member name will be present, but the
20573// value will be replaced with "sensitive".
20574func (s AwsIamUserDetails) GoString() string {
20575	return s.String()
20576}
20577
20578// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
20579func (s *AwsIamUserDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamUserDetails {
20580	s.AttachedManagedPolicies = v
20581	return s
20582}
20583
20584// SetCreateDate sets the CreateDate field's value.
20585func (s *AwsIamUserDetails) SetCreateDate(v string) *AwsIamUserDetails {
20586	s.CreateDate = &v
20587	return s
20588}
20589
20590// SetGroupList sets the GroupList field's value.
20591func (s *AwsIamUserDetails) SetGroupList(v []*string) *AwsIamUserDetails {
20592	s.GroupList = v
20593	return s
20594}
20595
20596// SetPath sets the Path field's value.
20597func (s *AwsIamUserDetails) SetPath(v string) *AwsIamUserDetails {
20598	s.Path = &v
20599	return s
20600}
20601
20602// SetPermissionsBoundary sets the PermissionsBoundary field's value.
20603func (s *AwsIamUserDetails) SetPermissionsBoundary(v *AwsIamPermissionsBoundary) *AwsIamUserDetails {
20604	s.PermissionsBoundary = v
20605	return s
20606}
20607
20608// SetUserId sets the UserId field's value.
20609func (s *AwsIamUserDetails) SetUserId(v string) *AwsIamUserDetails {
20610	s.UserId = &v
20611	return s
20612}
20613
20614// SetUserName sets the UserName field's value.
20615func (s *AwsIamUserDetails) SetUserName(v string) *AwsIamUserDetails {
20616	s.UserName = &v
20617	return s
20618}
20619
20620// SetUserPolicyList sets the UserPolicyList field's value.
20621func (s *AwsIamUserDetails) SetUserPolicyList(v []*AwsIamUserPolicy) *AwsIamUserDetails {
20622	s.UserPolicyList = v
20623	return s
20624}
20625
20626// Information about an inline policy that is embedded in the user.
20627type AwsIamUserPolicy struct {
20628	_ struct{} `type:"structure"`
20629
20630	// The name of the policy.
20631	PolicyName *string `type:"string"`
20632}
20633
20634// String returns the string representation.
20635//
20636// API parameter values that are decorated as "sensitive" in the API will not
20637// be included in the string output. The member name will be present, but the
20638// value will be replaced with "sensitive".
20639func (s AwsIamUserPolicy) String() string {
20640	return awsutil.Prettify(s)
20641}
20642
20643// GoString returns the string representation.
20644//
20645// API parameter values that are decorated as "sensitive" in the API will not
20646// be included in the string output. The member name will be present, but the
20647// value will be replaced with "sensitive".
20648func (s AwsIamUserPolicy) GoString() string {
20649	return s.String()
20650}
20651
20652// SetPolicyName sets the PolicyName field's value.
20653func (s *AwsIamUserPolicy) SetPolicyName(v string) *AwsIamUserPolicy {
20654	s.PolicyName = &v
20655	return s
20656}
20657
20658// Contains metadata about an KMS key.
20659type AwsKmsKeyDetails struct {
20660	_ struct{} `type:"structure"`
20661
20662	// The twelve-digit account ID of the Amazon Web Services account that owns
20663	// the KMS key.
20664	AWSAccountId *string `type:"string"`
20665
20666	// Indicates when the KMS key was created.
20667	//
20668	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20669	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20670	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20671	CreationDate *float64 `type:"double"`
20672
20673	// A description of the key.
20674	Description *string `type:"string"`
20675
20676	// The globally unique identifier for the KMS key.
20677	KeyId *string `type:"string"`
20678
20679	// The manager of the KMS key. KMS keys in your Amazon Web Services account
20680	// are either customer managed or Amazon Web Services managed.
20681	KeyManager *string `type:"string"`
20682
20683	// Whether the key has key rotation enabled.
20684	KeyRotationStatus *bool `type:"boolean"`
20685
20686	// The state of the KMS key.
20687	KeyState *string `type:"string"`
20688
20689	// The source of the KMS key material.
20690	//
20691	// When this value is AWS_KMS, KMS created the key material.
20692	//
20693	// When this value is EXTERNAL, the key material was imported from your existing
20694	// key management infrastructure or the KMS key lacks key material.
20695	//
20696	// When this value is AWS_CLOUDHSM, the key material was created in the CloudHSM
20697	// cluster associated with a custom key store.
20698	Origin *string `type:"string"`
20699}
20700
20701// String returns the string representation.
20702//
20703// API parameter values that are decorated as "sensitive" in the API will not
20704// be included in the string output. The member name will be present, but the
20705// value will be replaced with "sensitive".
20706func (s AwsKmsKeyDetails) String() string {
20707	return awsutil.Prettify(s)
20708}
20709
20710// GoString returns the string representation.
20711//
20712// API parameter values that are decorated as "sensitive" in the API will not
20713// be included in the string output. The member name will be present, but the
20714// value will be replaced with "sensitive".
20715func (s AwsKmsKeyDetails) GoString() string {
20716	return s.String()
20717}
20718
20719// SetAWSAccountId sets the AWSAccountId field's value.
20720func (s *AwsKmsKeyDetails) SetAWSAccountId(v string) *AwsKmsKeyDetails {
20721	s.AWSAccountId = &v
20722	return s
20723}
20724
20725// SetCreationDate sets the CreationDate field's value.
20726func (s *AwsKmsKeyDetails) SetCreationDate(v float64) *AwsKmsKeyDetails {
20727	s.CreationDate = &v
20728	return s
20729}
20730
20731// SetDescription sets the Description field's value.
20732func (s *AwsKmsKeyDetails) SetDescription(v string) *AwsKmsKeyDetails {
20733	s.Description = &v
20734	return s
20735}
20736
20737// SetKeyId sets the KeyId field's value.
20738func (s *AwsKmsKeyDetails) SetKeyId(v string) *AwsKmsKeyDetails {
20739	s.KeyId = &v
20740	return s
20741}
20742
20743// SetKeyManager sets the KeyManager field's value.
20744func (s *AwsKmsKeyDetails) SetKeyManager(v string) *AwsKmsKeyDetails {
20745	s.KeyManager = &v
20746	return s
20747}
20748
20749// SetKeyRotationStatus sets the KeyRotationStatus field's value.
20750func (s *AwsKmsKeyDetails) SetKeyRotationStatus(v bool) *AwsKmsKeyDetails {
20751	s.KeyRotationStatus = &v
20752	return s
20753}
20754
20755// SetKeyState sets the KeyState field's value.
20756func (s *AwsKmsKeyDetails) SetKeyState(v string) *AwsKmsKeyDetails {
20757	s.KeyState = &v
20758	return s
20759}
20760
20761// SetOrigin sets the Origin field's value.
20762func (s *AwsKmsKeyDetails) SetOrigin(v string) *AwsKmsKeyDetails {
20763	s.Origin = &v
20764	return s
20765}
20766
20767// The code for the Lambda function. You can specify either an object in Amazon
20768// S3, or upload a deployment package directly.
20769type AwsLambdaFunctionCode struct {
20770	_ struct{} `type:"structure"`
20771
20772	// An Amazon S3 bucket in the same Amazon Web Services Region as your function.
20773	// The bucket can be in a different Amazon Web Services account.
20774	S3Bucket *string `type:"string"`
20775
20776	// The Amazon S3 key of the deployment package.
20777	S3Key *string `type:"string"`
20778
20779	// For versioned objects, the version of the deployment package object to use.
20780	S3ObjectVersion *string `type:"string"`
20781
20782	// The base64-encoded contents of the deployment package. Amazon Web Services
20783	// SDK and Amazon Web Services CLI clients handle the encoding for you.
20784	ZipFile *string `type:"string"`
20785}
20786
20787// String returns the string representation.
20788//
20789// API parameter values that are decorated as "sensitive" in the API will not
20790// be included in the string output. The member name will be present, but the
20791// value will be replaced with "sensitive".
20792func (s AwsLambdaFunctionCode) String() string {
20793	return awsutil.Prettify(s)
20794}
20795
20796// GoString returns the string representation.
20797//
20798// API parameter values that are decorated as "sensitive" in the API will not
20799// be included in the string output. The member name will be present, but the
20800// value will be replaced with "sensitive".
20801func (s AwsLambdaFunctionCode) GoString() string {
20802	return s.String()
20803}
20804
20805// SetS3Bucket sets the S3Bucket field's value.
20806func (s *AwsLambdaFunctionCode) SetS3Bucket(v string) *AwsLambdaFunctionCode {
20807	s.S3Bucket = &v
20808	return s
20809}
20810
20811// SetS3Key sets the S3Key field's value.
20812func (s *AwsLambdaFunctionCode) SetS3Key(v string) *AwsLambdaFunctionCode {
20813	s.S3Key = &v
20814	return s
20815}
20816
20817// SetS3ObjectVersion sets the S3ObjectVersion field's value.
20818func (s *AwsLambdaFunctionCode) SetS3ObjectVersion(v string) *AwsLambdaFunctionCode {
20819	s.S3ObjectVersion = &v
20820	return s
20821}
20822
20823// SetZipFile sets the ZipFile field's value.
20824func (s *AwsLambdaFunctionCode) SetZipFile(v string) *AwsLambdaFunctionCode {
20825	s.ZipFile = &v
20826	return s
20827}
20828
20829// The dead-letter queue for failed asynchronous invocations.
20830type AwsLambdaFunctionDeadLetterConfig struct {
20831	_ struct{} `type:"structure"`
20832
20833	// The ARN of an SQS queue or SNS topic.
20834	TargetArn *string `type:"string"`
20835}
20836
20837// String returns the string representation.
20838//
20839// API parameter values that are decorated as "sensitive" in the API will not
20840// be included in the string output. The member name will be present, but the
20841// value will be replaced with "sensitive".
20842func (s AwsLambdaFunctionDeadLetterConfig) String() string {
20843	return awsutil.Prettify(s)
20844}
20845
20846// GoString returns the string representation.
20847//
20848// API parameter values that are decorated as "sensitive" in the API will not
20849// be included in the string output. The member name will be present, but the
20850// value will be replaced with "sensitive".
20851func (s AwsLambdaFunctionDeadLetterConfig) GoString() string {
20852	return s.String()
20853}
20854
20855// SetTargetArn sets the TargetArn field's value.
20856func (s *AwsLambdaFunctionDeadLetterConfig) SetTargetArn(v string) *AwsLambdaFunctionDeadLetterConfig {
20857	s.TargetArn = &v
20858	return s
20859}
20860
20861// Details about a function's configuration.
20862type AwsLambdaFunctionDetails struct {
20863	_ struct{} `type:"structure"`
20864
20865	// An AwsLambdaFunctionCode object.
20866	Code *AwsLambdaFunctionCode `type:"structure"`
20867
20868	// The SHA256 hash of the function's deployment package.
20869	CodeSha256 *string `type:"string"`
20870
20871	// The function's dead letter queue.
20872	DeadLetterConfig *AwsLambdaFunctionDeadLetterConfig `type:"structure"`
20873
20874	// The function's environment variables.
20875	Environment *AwsLambdaFunctionEnvironment `type:"structure"`
20876
20877	// The name of the function.
20878	FunctionName *string `type:"string"`
20879
20880	// The function that Lambda calls to begin executing your function.
20881	Handler *string `type:"string"`
20882
20883	// The KMS key that is used to encrypt the function's environment variables.
20884	// This key is only returned if you've configured a customer managed customer
20885	// managed key.
20886	KmsKeyArn *string `type:"string"`
20887
20888	// Indicates when the function was last updated.
20889	//
20890	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20891	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20892	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20893	LastModified *string `type:"string"`
20894
20895	// The function's layers.
20896	Layers []*AwsLambdaFunctionLayer `type:"list"`
20897
20898	// For Lambda@Edge functions, the ARN of the master function.
20899	MasterArn *string `type:"string"`
20900
20901	// The memory that is allocated to the function.
20902	MemorySize *int64 `type:"integer"`
20903
20904	// The latest updated revision of the function or alias.
20905	RevisionId *string `type:"string"`
20906
20907	// The function's execution role.
20908	Role *string `type:"string"`
20909
20910	// The runtime environment for the Lambda function.
20911	Runtime *string `type:"string"`
20912
20913	// The amount of time that Lambda allows a function to run before stopping it.
20914	Timeout *int64 `type:"integer"`
20915
20916	// The function's X-Ray tracing configuration.
20917	TracingConfig *AwsLambdaFunctionTracingConfig `type:"structure"`
20918
20919	// The version of the Lambda function.
20920	Version *string `type:"string"`
20921
20922	// The function's networking configuration.
20923	VpcConfig *AwsLambdaFunctionVpcConfig `type:"structure"`
20924}
20925
20926// String returns the string representation.
20927//
20928// API parameter values that are decorated as "sensitive" in the API will not
20929// be included in the string output. The member name will be present, but the
20930// value will be replaced with "sensitive".
20931func (s AwsLambdaFunctionDetails) String() string {
20932	return awsutil.Prettify(s)
20933}
20934
20935// GoString returns the string representation.
20936//
20937// API parameter values that are decorated as "sensitive" in the API will not
20938// be included in the string output. The member name will be present, but the
20939// value will be replaced with "sensitive".
20940func (s AwsLambdaFunctionDetails) GoString() string {
20941	return s.String()
20942}
20943
20944// SetCode sets the Code field's value.
20945func (s *AwsLambdaFunctionDetails) SetCode(v *AwsLambdaFunctionCode) *AwsLambdaFunctionDetails {
20946	s.Code = v
20947	return s
20948}
20949
20950// SetCodeSha256 sets the CodeSha256 field's value.
20951func (s *AwsLambdaFunctionDetails) SetCodeSha256(v string) *AwsLambdaFunctionDetails {
20952	s.CodeSha256 = &v
20953	return s
20954}
20955
20956// SetDeadLetterConfig sets the DeadLetterConfig field's value.
20957func (s *AwsLambdaFunctionDetails) SetDeadLetterConfig(v *AwsLambdaFunctionDeadLetterConfig) *AwsLambdaFunctionDetails {
20958	s.DeadLetterConfig = v
20959	return s
20960}
20961
20962// SetEnvironment sets the Environment field's value.
20963func (s *AwsLambdaFunctionDetails) SetEnvironment(v *AwsLambdaFunctionEnvironment) *AwsLambdaFunctionDetails {
20964	s.Environment = v
20965	return s
20966}
20967
20968// SetFunctionName sets the FunctionName field's value.
20969func (s *AwsLambdaFunctionDetails) SetFunctionName(v string) *AwsLambdaFunctionDetails {
20970	s.FunctionName = &v
20971	return s
20972}
20973
20974// SetHandler sets the Handler field's value.
20975func (s *AwsLambdaFunctionDetails) SetHandler(v string) *AwsLambdaFunctionDetails {
20976	s.Handler = &v
20977	return s
20978}
20979
20980// SetKmsKeyArn sets the KmsKeyArn field's value.
20981func (s *AwsLambdaFunctionDetails) SetKmsKeyArn(v string) *AwsLambdaFunctionDetails {
20982	s.KmsKeyArn = &v
20983	return s
20984}
20985
20986// SetLastModified sets the LastModified field's value.
20987func (s *AwsLambdaFunctionDetails) SetLastModified(v string) *AwsLambdaFunctionDetails {
20988	s.LastModified = &v
20989	return s
20990}
20991
20992// SetLayers sets the Layers field's value.
20993func (s *AwsLambdaFunctionDetails) SetLayers(v []*AwsLambdaFunctionLayer) *AwsLambdaFunctionDetails {
20994	s.Layers = v
20995	return s
20996}
20997
20998// SetMasterArn sets the MasterArn field's value.
20999func (s *AwsLambdaFunctionDetails) SetMasterArn(v string) *AwsLambdaFunctionDetails {
21000	s.MasterArn = &v
21001	return s
21002}
21003
21004// SetMemorySize sets the MemorySize field's value.
21005func (s *AwsLambdaFunctionDetails) SetMemorySize(v int64) *AwsLambdaFunctionDetails {
21006	s.MemorySize = &v
21007	return s
21008}
21009
21010// SetRevisionId sets the RevisionId field's value.
21011func (s *AwsLambdaFunctionDetails) SetRevisionId(v string) *AwsLambdaFunctionDetails {
21012	s.RevisionId = &v
21013	return s
21014}
21015
21016// SetRole sets the Role field's value.
21017func (s *AwsLambdaFunctionDetails) SetRole(v string) *AwsLambdaFunctionDetails {
21018	s.Role = &v
21019	return s
21020}
21021
21022// SetRuntime sets the Runtime field's value.
21023func (s *AwsLambdaFunctionDetails) SetRuntime(v string) *AwsLambdaFunctionDetails {
21024	s.Runtime = &v
21025	return s
21026}
21027
21028// SetTimeout sets the Timeout field's value.
21029func (s *AwsLambdaFunctionDetails) SetTimeout(v int64) *AwsLambdaFunctionDetails {
21030	s.Timeout = &v
21031	return s
21032}
21033
21034// SetTracingConfig sets the TracingConfig field's value.
21035func (s *AwsLambdaFunctionDetails) SetTracingConfig(v *AwsLambdaFunctionTracingConfig) *AwsLambdaFunctionDetails {
21036	s.TracingConfig = v
21037	return s
21038}
21039
21040// SetVersion sets the Version field's value.
21041func (s *AwsLambdaFunctionDetails) SetVersion(v string) *AwsLambdaFunctionDetails {
21042	s.Version = &v
21043	return s
21044}
21045
21046// SetVpcConfig sets the VpcConfig field's value.
21047func (s *AwsLambdaFunctionDetails) SetVpcConfig(v *AwsLambdaFunctionVpcConfig) *AwsLambdaFunctionDetails {
21048	s.VpcConfig = v
21049	return s
21050}
21051
21052// A function's environment variable settings.
21053type AwsLambdaFunctionEnvironment struct {
21054	_ struct{} `type:"structure"`
21055
21056	// An AwsLambdaFunctionEnvironmentError object.
21057	Error *AwsLambdaFunctionEnvironmentError `type:"structure"`
21058
21059	// Environment variable key-value pairs.
21060	Variables map[string]*string `type:"map"`
21061}
21062
21063// String returns the string representation.
21064//
21065// API parameter values that are decorated as "sensitive" in the API will not
21066// be included in the string output. The member name will be present, but the
21067// value will be replaced with "sensitive".
21068func (s AwsLambdaFunctionEnvironment) String() string {
21069	return awsutil.Prettify(s)
21070}
21071
21072// GoString returns the string representation.
21073//
21074// API parameter values that are decorated as "sensitive" in the API will not
21075// be included in the string output. The member name will be present, but the
21076// value will be replaced with "sensitive".
21077func (s AwsLambdaFunctionEnvironment) GoString() string {
21078	return s.String()
21079}
21080
21081// SetError sets the Error field's value.
21082func (s *AwsLambdaFunctionEnvironment) SetError(v *AwsLambdaFunctionEnvironmentError) *AwsLambdaFunctionEnvironment {
21083	s.Error = v
21084	return s
21085}
21086
21087// SetVariables sets the Variables field's value.
21088func (s *AwsLambdaFunctionEnvironment) SetVariables(v map[string]*string) *AwsLambdaFunctionEnvironment {
21089	s.Variables = v
21090	return s
21091}
21092
21093// Error messages for environment variables that could not be applied.
21094type AwsLambdaFunctionEnvironmentError struct {
21095	_ struct{} `type:"structure"`
21096
21097	// The error code.
21098	ErrorCode *string `type:"string"`
21099
21100	// The error message.
21101	Message *string `type:"string"`
21102}
21103
21104// String returns the string representation.
21105//
21106// API parameter values that are decorated as "sensitive" in the API will not
21107// be included in the string output. The member name will be present, but the
21108// value will be replaced with "sensitive".
21109func (s AwsLambdaFunctionEnvironmentError) String() string {
21110	return awsutil.Prettify(s)
21111}
21112
21113// GoString returns the string representation.
21114//
21115// API parameter values that are decorated as "sensitive" in the API will not
21116// be included in the string output. The member name will be present, but the
21117// value will be replaced with "sensitive".
21118func (s AwsLambdaFunctionEnvironmentError) GoString() string {
21119	return s.String()
21120}
21121
21122// SetErrorCode sets the ErrorCode field's value.
21123func (s *AwsLambdaFunctionEnvironmentError) SetErrorCode(v string) *AwsLambdaFunctionEnvironmentError {
21124	s.ErrorCode = &v
21125	return s
21126}
21127
21128// SetMessage sets the Message field's value.
21129func (s *AwsLambdaFunctionEnvironmentError) SetMessage(v string) *AwsLambdaFunctionEnvironmentError {
21130	s.Message = &v
21131	return s
21132}
21133
21134// An Lambda layer.
21135type AwsLambdaFunctionLayer struct {
21136	_ struct{} `type:"structure"`
21137
21138	// The ARN of the function layer.
21139	Arn *string `type:"string"`
21140
21141	// The size of the layer archive in bytes.
21142	CodeSize *int64 `type:"integer"`
21143}
21144
21145// String returns the string representation.
21146//
21147// API parameter values that are decorated as "sensitive" in the API will not
21148// be included in the string output. The member name will be present, but the
21149// value will be replaced with "sensitive".
21150func (s AwsLambdaFunctionLayer) String() string {
21151	return awsutil.Prettify(s)
21152}
21153
21154// GoString returns the string representation.
21155//
21156// API parameter values that are decorated as "sensitive" in the API will not
21157// be included in the string output. The member name will be present, but the
21158// value will be replaced with "sensitive".
21159func (s AwsLambdaFunctionLayer) GoString() string {
21160	return s.String()
21161}
21162
21163// SetArn sets the Arn field's value.
21164func (s *AwsLambdaFunctionLayer) SetArn(v string) *AwsLambdaFunctionLayer {
21165	s.Arn = &v
21166	return s
21167}
21168
21169// SetCodeSize sets the CodeSize field's value.
21170func (s *AwsLambdaFunctionLayer) SetCodeSize(v int64) *AwsLambdaFunctionLayer {
21171	s.CodeSize = &v
21172	return s
21173}
21174
21175// The function's X-Ray tracing configuration.
21176type AwsLambdaFunctionTracingConfig struct {
21177	_ struct{} `type:"structure"`
21178
21179	// The tracing mode.
21180	Mode *string `type:"string"`
21181}
21182
21183// String returns the string representation.
21184//
21185// API parameter values that are decorated as "sensitive" in the API will not
21186// be included in the string output. The member name will be present, but the
21187// value will be replaced with "sensitive".
21188func (s AwsLambdaFunctionTracingConfig) String() string {
21189	return awsutil.Prettify(s)
21190}
21191
21192// GoString returns the string representation.
21193//
21194// API parameter values that are decorated as "sensitive" in the API will not
21195// be included in the string output. The member name will be present, but the
21196// value will be replaced with "sensitive".
21197func (s AwsLambdaFunctionTracingConfig) GoString() string {
21198	return s.String()
21199}
21200
21201// SetMode sets the Mode field's value.
21202func (s *AwsLambdaFunctionTracingConfig) SetMode(v string) *AwsLambdaFunctionTracingConfig {
21203	s.Mode = &v
21204	return s
21205}
21206
21207// The VPC security groups and subnets that are attached to a Lambda function.
21208type AwsLambdaFunctionVpcConfig struct {
21209	_ struct{} `type:"structure"`
21210
21211	// A list of VPC security groups IDs.
21212	SecurityGroupIds []*string `type:"list"`
21213
21214	// A list of VPC subnet IDs.
21215	SubnetIds []*string `type:"list"`
21216
21217	// The ID of the VPC.
21218	VpcId *string `type:"string"`
21219}
21220
21221// String returns the string representation.
21222//
21223// API parameter values that are decorated as "sensitive" in the API will not
21224// be included in the string output. The member name will be present, but the
21225// value will be replaced with "sensitive".
21226func (s AwsLambdaFunctionVpcConfig) String() string {
21227	return awsutil.Prettify(s)
21228}
21229
21230// GoString returns the string representation.
21231//
21232// API parameter values that are decorated as "sensitive" in the API will not
21233// be included in the string output. The member name will be present, but the
21234// value will be replaced with "sensitive".
21235func (s AwsLambdaFunctionVpcConfig) GoString() string {
21236	return s.String()
21237}
21238
21239// SetSecurityGroupIds sets the SecurityGroupIds field's value.
21240func (s *AwsLambdaFunctionVpcConfig) SetSecurityGroupIds(v []*string) *AwsLambdaFunctionVpcConfig {
21241	s.SecurityGroupIds = v
21242	return s
21243}
21244
21245// SetSubnetIds sets the SubnetIds field's value.
21246func (s *AwsLambdaFunctionVpcConfig) SetSubnetIds(v []*string) *AwsLambdaFunctionVpcConfig {
21247	s.SubnetIds = v
21248	return s
21249}
21250
21251// SetVpcId sets the VpcId field's value.
21252func (s *AwsLambdaFunctionVpcConfig) SetVpcId(v string) *AwsLambdaFunctionVpcConfig {
21253	s.VpcId = &v
21254	return s
21255}
21256
21257// Details about a Lambda layer version.
21258type AwsLambdaLayerVersionDetails struct {
21259	_ struct{} `type:"structure"`
21260
21261	// The layer's compatible runtimes. Maximum number of five items.
21262	//
21263	// Valid values: nodejs10.x | nodejs12.x | java8 | java11 | python2.7 | python3.6
21264	// | python3.7 | python3.8 | dotnetcore1.0 | dotnetcore2.1 | go1.x | ruby2.5
21265	// | provided
21266	CompatibleRuntimes []*string `type:"list"`
21267
21268	// Indicates when the version was created.
21269	//
21270	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
21271	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
21272	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
21273	CreatedDate *string `type:"string"`
21274
21275	// The version number.
21276	Version *int64 `type:"long"`
21277}
21278
21279// String returns the string representation.
21280//
21281// API parameter values that are decorated as "sensitive" in the API will not
21282// be included in the string output. The member name will be present, but the
21283// value will be replaced with "sensitive".
21284func (s AwsLambdaLayerVersionDetails) String() string {
21285	return awsutil.Prettify(s)
21286}
21287
21288// GoString returns the string representation.
21289//
21290// API parameter values that are decorated as "sensitive" in the API will not
21291// be included in the string output. The member name will be present, but the
21292// value will be replaced with "sensitive".
21293func (s AwsLambdaLayerVersionDetails) GoString() string {
21294	return s.String()
21295}
21296
21297// SetCompatibleRuntimes sets the CompatibleRuntimes field's value.
21298func (s *AwsLambdaLayerVersionDetails) SetCompatibleRuntimes(v []*string) *AwsLambdaLayerVersionDetails {
21299	s.CompatibleRuntimes = v
21300	return s
21301}
21302
21303// SetCreatedDate sets the CreatedDate field's value.
21304func (s *AwsLambdaLayerVersionDetails) SetCreatedDate(v string) *AwsLambdaLayerVersionDetails {
21305	s.CreatedDate = &v
21306	return s
21307}
21308
21309// SetVersion sets the Version field's value.
21310func (s *AwsLambdaLayerVersionDetails) SetVersion(v int64) *AwsLambdaLayerVersionDetails {
21311	s.Version = &v
21312	return s
21313}
21314
21315// Details about the configuration of an OpenSearch cluster.
21316type AwsOpenSearchServiceDomainClusterConfigDetails struct {
21317	_ struct{} `type:"structure"`
21318
21319	// The number of instances to use for the master node. If this attribute is
21320	// specified, then DedicatedMasterEnabled must be true.
21321	DedicatedMasterCount *int64 `type:"integer"`
21322
21323	// Whether to use a dedicated master node for the OpenSearch domain. A dedicated
21324	// master node performs cluster management tasks, but does not hold data or
21325	// respond to data upload requests.
21326	DedicatedMasterEnabled *bool `type:"boolean"`
21327
21328	// The hardware configuration of the computer that hosts the dedicated master
21329	// node.
21330	//
21331	// If this attribute is specified, then DedicatedMasterEnabled must be true.
21332	DedicatedMasterType *string `type:"string"`
21333
21334	// The number of data nodes to use in the OpenSearch domain.
21335	InstanceCount *int64 `type:"integer"`
21336
21337	// The instance type for your data nodes.
21338	InstanceType *string `type:"string"`
21339
21340	// The number of UltraWarm instances.
21341	WarmCount *int64 `type:"integer"`
21342
21343	// Whether UltraWarm is enabled.
21344	WarmEnabled *bool `type:"boolean"`
21345
21346	// The type of UltraWarm instance.
21347	WarmType *string `type:"string"`
21348
21349	// Configuration options for zone awareness. Provided if ZoneAwarenessEnabled
21350	// is true.
21351	ZoneAwarenessConfig *AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails `type:"structure"`
21352
21353	// Whether to enable zone awareness for the OpenSearch domain. When zone awareness
21354	// is enabled, OpenSearch Service allocates the cluster's nodes and replica
21355	// index shards across Availability Zones (AZs) in the same Region. This prevents
21356	// data loss and minimizes downtime if a node or data center fails.
21357	ZoneAwarenessEnabled *bool `type:"boolean"`
21358}
21359
21360// String returns the string representation.
21361//
21362// API parameter values that are decorated as "sensitive" in the API will not
21363// be included in the string output. The member name will be present, but the
21364// value will be replaced with "sensitive".
21365func (s AwsOpenSearchServiceDomainClusterConfigDetails) String() string {
21366	return awsutil.Prettify(s)
21367}
21368
21369// GoString returns the string representation.
21370//
21371// API parameter values that are decorated as "sensitive" in the API will not
21372// be included in the string output. The member name will be present, but the
21373// value will be replaced with "sensitive".
21374func (s AwsOpenSearchServiceDomainClusterConfigDetails) GoString() string {
21375	return s.String()
21376}
21377
21378// SetDedicatedMasterCount sets the DedicatedMasterCount field's value.
21379func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetDedicatedMasterCount(v int64) *AwsOpenSearchServiceDomainClusterConfigDetails {
21380	s.DedicatedMasterCount = &v
21381	return s
21382}
21383
21384// SetDedicatedMasterEnabled sets the DedicatedMasterEnabled field's value.
21385func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetDedicatedMasterEnabled(v bool) *AwsOpenSearchServiceDomainClusterConfigDetails {
21386	s.DedicatedMasterEnabled = &v
21387	return s
21388}
21389
21390// SetDedicatedMasterType sets the DedicatedMasterType field's value.
21391func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetDedicatedMasterType(v string) *AwsOpenSearchServiceDomainClusterConfigDetails {
21392	s.DedicatedMasterType = &v
21393	return s
21394}
21395
21396// SetInstanceCount sets the InstanceCount field's value.
21397func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetInstanceCount(v int64) *AwsOpenSearchServiceDomainClusterConfigDetails {
21398	s.InstanceCount = &v
21399	return s
21400}
21401
21402// SetInstanceType sets the InstanceType field's value.
21403func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetInstanceType(v string) *AwsOpenSearchServiceDomainClusterConfigDetails {
21404	s.InstanceType = &v
21405	return s
21406}
21407
21408// SetWarmCount sets the WarmCount field's value.
21409func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetWarmCount(v int64) *AwsOpenSearchServiceDomainClusterConfigDetails {
21410	s.WarmCount = &v
21411	return s
21412}
21413
21414// SetWarmEnabled sets the WarmEnabled field's value.
21415func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetWarmEnabled(v bool) *AwsOpenSearchServiceDomainClusterConfigDetails {
21416	s.WarmEnabled = &v
21417	return s
21418}
21419
21420// SetWarmType sets the WarmType field's value.
21421func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetWarmType(v string) *AwsOpenSearchServiceDomainClusterConfigDetails {
21422	s.WarmType = &v
21423	return s
21424}
21425
21426// SetZoneAwarenessConfig sets the ZoneAwarenessConfig field's value.
21427func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetZoneAwarenessConfig(v *AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails) *AwsOpenSearchServiceDomainClusterConfigDetails {
21428	s.ZoneAwarenessConfig = v
21429	return s
21430}
21431
21432// SetZoneAwarenessEnabled sets the ZoneAwarenessEnabled field's value.
21433func (s *AwsOpenSearchServiceDomainClusterConfigDetails) SetZoneAwarenessEnabled(v bool) *AwsOpenSearchServiceDomainClusterConfigDetails {
21434	s.ZoneAwarenessEnabled = &v
21435	return s
21436}
21437
21438// Configuration options for zone awareness.
21439type AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails struct {
21440	_ struct{} `type:"structure"`
21441
21442	// The number of Availability Zones that the domain uses. Valid values are 2
21443	// and 3. The default is 2.
21444	AvailabilityZoneCount *int64 `type:"integer"`
21445}
21446
21447// String returns the string representation.
21448//
21449// API parameter values that are decorated as "sensitive" in the API will not
21450// be included in the string output. The member name will be present, but the
21451// value will be replaced with "sensitive".
21452func (s AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails) String() string {
21453	return awsutil.Prettify(s)
21454}
21455
21456// GoString returns the string representation.
21457//
21458// API parameter values that are decorated as "sensitive" in the API will not
21459// be included in the string output. The member name will be present, but the
21460// value will be replaced with "sensitive".
21461func (s AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails) GoString() string {
21462	return s.String()
21463}
21464
21465// SetAvailabilityZoneCount sets the AvailabilityZoneCount field's value.
21466func (s *AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails) SetAvailabilityZoneCount(v int64) *AwsOpenSearchServiceDomainClusterConfigZoneAwarenessConfigDetails {
21467	s.AvailabilityZoneCount = &v
21468	return s
21469}
21470
21471// Information about an Amazon OpenSearch Service domain.
21472type AwsOpenSearchServiceDomainDetails struct {
21473	_ struct{} `type:"structure"`
21474
21475	// IAM policy document that specifies the access policies for the OpenSearch
21476	// Service domain.
21477	AccessPolicies *string `type:"string"`
21478
21479	// The ARN of the OpenSearch Service domain.
21480	Arn *string `type:"string"`
21481
21482	// Details about the configuration of an OpenSearch cluster.
21483	ClusterConfig *AwsOpenSearchServiceDomainClusterConfigDetails `type:"structure"`
21484
21485	// The domain endpoint.
21486	DomainEndpoint *string `type:"string"`
21487
21488	// Additional options for the domain endpoint.
21489	DomainEndpointOptions *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails `type:"structure"`
21490
21491	// The domain endpoints. Used if the OpenSearch domain resides in a VPC.
21492	//
21493	// This is a map of key-value pairs. The key is always vpc. The value is the
21494	// endpoint.
21495	DomainEndpoints map[string]*string `type:"map"`
21496
21497	// The name of the endpoint.
21498	DomainName *string `type:"string"`
21499
21500	// Details about the configuration for encryption at rest.
21501	EncryptionAtRestOptions *AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails `type:"structure"`
21502
21503	// The version of the domain engine.
21504	EngineVersion *string `type:"string"`
21505
21506	// The identifier of the domain.
21507	Id *string `type:"string"`
21508
21509	// Configures the CloudWatch Logs to publish for the OpenSearch domain.
21510	LogPublishingOptions *AwsOpenSearchServiceDomainLogPublishingOptionsDetails `type:"structure"`
21511
21512	// Details about the configuration for node-to-node encryption.
21513	NodeToNodeEncryptionOptions *AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails `type:"structure"`
21514
21515	// Information about the status of a domain relative to the latest service software.
21516	ServiceSoftwareOptions *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails `type:"structure"`
21517
21518	// Information that OpenSearch Service derives based on VPCOptions for the domain.
21519	VpcOptions *AwsOpenSearchServiceDomainVpcOptionsDetails `type:"structure"`
21520}
21521
21522// String returns the string representation.
21523//
21524// API parameter values that are decorated as "sensitive" in the API will not
21525// be included in the string output. The member name will be present, but the
21526// value will be replaced with "sensitive".
21527func (s AwsOpenSearchServiceDomainDetails) String() string {
21528	return awsutil.Prettify(s)
21529}
21530
21531// GoString returns the string representation.
21532//
21533// API parameter values that are decorated as "sensitive" in the API will not
21534// be included in the string output. The member name will be present, but the
21535// value will be replaced with "sensitive".
21536func (s AwsOpenSearchServiceDomainDetails) GoString() string {
21537	return s.String()
21538}
21539
21540// SetAccessPolicies sets the AccessPolicies field's value.
21541func (s *AwsOpenSearchServiceDomainDetails) SetAccessPolicies(v string) *AwsOpenSearchServiceDomainDetails {
21542	s.AccessPolicies = &v
21543	return s
21544}
21545
21546// SetArn sets the Arn field's value.
21547func (s *AwsOpenSearchServiceDomainDetails) SetArn(v string) *AwsOpenSearchServiceDomainDetails {
21548	s.Arn = &v
21549	return s
21550}
21551
21552// SetClusterConfig sets the ClusterConfig field's value.
21553func (s *AwsOpenSearchServiceDomainDetails) SetClusterConfig(v *AwsOpenSearchServiceDomainClusterConfigDetails) *AwsOpenSearchServiceDomainDetails {
21554	s.ClusterConfig = v
21555	return s
21556}
21557
21558// SetDomainEndpoint sets the DomainEndpoint field's value.
21559func (s *AwsOpenSearchServiceDomainDetails) SetDomainEndpoint(v string) *AwsOpenSearchServiceDomainDetails {
21560	s.DomainEndpoint = &v
21561	return s
21562}
21563
21564// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
21565func (s *AwsOpenSearchServiceDomainDetails) SetDomainEndpointOptions(v *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails) *AwsOpenSearchServiceDomainDetails {
21566	s.DomainEndpointOptions = v
21567	return s
21568}
21569
21570// SetDomainEndpoints sets the DomainEndpoints field's value.
21571func (s *AwsOpenSearchServiceDomainDetails) SetDomainEndpoints(v map[string]*string) *AwsOpenSearchServiceDomainDetails {
21572	s.DomainEndpoints = v
21573	return s
21574}
21575
21576// SetDomainName sets the DomainName field's value.
21577func (s *AwsOpenSearchServiceDomainDetails) SetDomainName(v string) *AwsOpenSearchServiceDomainDetails {
21578	s.DomainName = &v
21579	return s
21580}
21581
21582// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
21583func (s *AwsOpenSearchServiceDomainDetails) SetEncryptionAtRestOptions(v *AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails) *AwsOpenSearchServiceDomainDetails {
21584	s.EncryptionAtRestOptions = v
21585	return s
21586}
21587
21588// SetEngineVersion sets the EngineVersion field's value.
21589func (s *AwsOpenSearchServiceDomainDetails) SetEngineVersion(v string) *AwsOpenSearchServiceDomainDetails {
21590	s.EngineVersion = &v
21591	return s
21592}
21593
21594// SetId sets the Id field's value.
21595func (s *AwsOpenSearchServiceDomainDetails) SetId(v string) *AwsOpenSearchServiceDomainDetails {
21596	s.Id = &v
21597	return s
21598}
21599
21600// SetLogPublishingOptions sets the LogPublishingOptions field's value.
21601func (s *AwsOpenSearchServiceDomainDetails) SetLogPublishingOptions(v *AwsOpenSearchServiceDomainLogPublishingOptionsDetails) *AwsOpenSearchServiceDomainDetails {
21602	s.LogPublishingOptions = v
21603	return s
21604}
21605
21606// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
21607func (s *AwsOpenSearchServiceDomainDetails) SetNodeToNodeEncryptionOptions(v *AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails) *AwsOpenSearchServiceDomainDetails {
21608	s.NodeToNodeEncryptionOptions = v
21609	return s
21610}
21611
21612// SetServiceSoftwareOptions sets the ServiceSoftwareOptions field's value.
21613func (s *AwsOpenSearchServiceDomainDetails) SetServiceSoftwareOptions(v *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) *AwsOpenSearchServiceDomainDetails {
21614	s.ServiceSoftwareOptions = v
21615	return s
21616}
21617
21618// SetVpcOptions sets the VpcOptions field's value.
21619func (s *AwsOpenSearchServiceDomainDetails) SetVpcOptions(v *AwsOpenSearchServiceDomainVpcOptionsDetails) *AwsOpenSearchServiceDomainDetails {
21620	s.VpcOptions = v
21621	return s
21622}
21623
21624// Information about additional options for the domain endpoint.
21625type AwsOpenSearchServiceDomainDomainEndpointOptionsDetails struct {
21626	_ struct{} `type:"structure"`
21627
21628	// The fully qualified URL for the custom endpoint.
21629	CustomEndpoint *string `type:"string"`
21630
21631	// The ARN for the security certificate. The certificate is managed in ACM.
21632	CustomEndpointCertificateArn *string `type:"string"`
21633
21634	// Whether to enable a custom endpoint for the domain.
21635	CustomEndpointEnabled *bool `type:"boolean"`
21636
21637	// Whether to require that all traffic to the domain arrive over HTTPS.
21638	EnforceHTTPS *bool `type:"boolean"`
21639
21640	// The TLS security policy to apply to the HTTPS endpoint of the OpenSearch
21641	// domain.
21642	TLSSecurityPolicy *string `type:"string"`
21643}
21644
21645// String returns the string representation.
21646//
21647// API parameter values that are decorated as "sensitive" in the API will not
21648// be included in the string output. The member name will be present, but the
21649// value will be replaced with "sensitive".
21650func (s AwsOpenSearchServiceDomainDomainEndpointOptionsDetails) String() string {
21651	return awsutil.Prettify(s)
21652}
21653
21654// GoString returns the string representation.
21655//
21656// API parameter values that are decorated as "sensitive" in the API will not
21657// be included in the string output. The member name will be present, but the
21658// value will be replaced with "sensitive".
21659func (s AwsOpenSearchServiceDomainDomainEndpointOptionsDetails) GoString() string {
21660	return s.String()
21661}
21662
21663// SetCustomEndpoint sets the CustomEndpoint field's value.
21664func (s *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails) SetCustomEndpoint(v string) *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails {
21665	s.CustomEndpoint = &v
21666	return s
21667}
21668
21669// SetCustomEndpointCertificateArn sets the CustomEndpointCertificateArn field's value.
21670func (s *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails) SetCustomEndpointCertificateArn(v string) *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails {
21671	s.CustomEndpointCertificateArn = &v
21672	return s
21673}
21674
21675// SetCustomEndpointEnabled sets the CustomEndpointEnabled field's value.
21676func (s *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails) SetCustomEndpointEnabled(v bool) *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails {
21677	s.CustomEndpointEnabled = &v
21678	return s
21679}
21680
21681// SetEnforceHTTPS sets the EnforceHTTPS field's value.
21682func (s *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails) SetEnforceHTTPS(v bool) *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails {
21683	s.EnforceHTTPS = &v
21684	return s
21685}
21686
21687// SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value.
21688func (s *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails) SetTLSSecurityPolicy(v string) *AwsOpenSearchServiceDomainDomainEndpointOptionsDetails {
21689	s.TLSSecurityPolicy = &v
21690	return s
21691}
21692
21693// Details about the configuration for encryption at rest for the OpenSearch
21694// domain.
21695type AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails struct {
21696	_ struct{} `type:"structure"`
21697
21698	// Whether encryption at rest is enabled.
21699	Enabled *bool `type:"boolean"`
21700
21701	// The KMS key ID.
21702	KmsKeyId *string `type:"string"`
21703}
21704
21705// String returns the string representation.
21706//
21707// API parameter values that are decorated as "sensitive" in the API will not
21708// be included in the string output. The member name will be present, but the
21709// value will be replaced with "sensitive".
21710func (s AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails) String() string {
21711	return awsutil.Prettify(s)
21712}
21713
21714// GoString returns the string representation.
21715//
21716// API parameter values that are decorated as "sensitive" in the API will not
21717// be included in the string output. The member name will be present, but the
21718// value will be replaced with "sensitive".
21719func (s AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails) GoString() string {
21720	return s.String()
21721}
21722
21723// SetEnabled sets the Enabled field's value.
21724func (s *AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails) SetEnabled(v bool) *AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails {
21725	s.Enabled = &v
21726	return s
21727}
21728
21729// SetKmsKeyId sets the KmsKeyId field's value.
21730func (s *AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails) SetKmsKeyId(v string) *AwsOpenSearchServiceDomainEncryptionAtRestOptionsDetails {
21731	s.KmsKeyId = &v
21732	return s
21733}
21734
21735// Configuration details for a log publishing option.
21736type AwsOpenSearchServiceDomainLogPublishingOption struct {
21737	_ struct{} `type:"structure"`
21738
21739	// The ARN of the CloudWatch Logs group to publish the logs to.
21740	CloudWatchLogsLogGroupArn *string `type:"string"`
21741
21742	// Whether the log publishing is enabled.
21743	Enabled *bool `type:"boolean"`
21744}
21745
21746// String returns the string representation.
21747//
21748// API parameter values that are decorated as "sensitive" in the API will not
21749// be included in the string output. The member name will be present, but the
21750// value will be replaced with "sensitive".
21751func (s AwsOpenSearchServiceDomainLogPublishingOption) String() string {
21752	return awsutil.Prettify(s)
21753}
21754
21755// GoString returns the string representation.
21756//
21757// API parameter values that are decorated as "sensitive" in the API will not
21758// be included in the string output. The member name will be present, but the
21759// value will be replaced with "sensitive".
21760func (s AwsOpenSearchServiceDomainLogPublishingOption) GoString() string {
21761	return s.String()
21762}
21763
21764// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
21765func (s *AwsOpenSearchServiceDomainLogPublishingOption) SetCloudWatchLogsLogGroupArn(v string) *AwsOpenSearchServiceDomainLogPublishingOption {
21766	s.CloudWatchLogsLogGroupArn = &v
21767	return s
21768}
21769
21770// SetEnabled sets the Enabled field's value.
21771func (s *AwsOpenSearchServiceDomainLogPublishingOption) SetEnabled(v bool) *AwsOpenSearchServiceDomainLogPublishingOption {
21772	s.Enabled = &v
21773	return s
21774}
21775
21776// Configures the CloudWatch Logs to publish for the OpenSearch domain.
21777type AwsOpenSearchServiceDomainLogPublishingOptionsDetails struct {
21778	_ struct{} `type:"structure"`
21779
21780	// Configures the OpenSearch audit logs publishing.
21781	AuditLogs *AwsOpenSearchServiceDomainLogPublishingOption `type:"structure"`
21782
21783	// Configures the OpenSearch index logs publishing.
21784	IndexSlowLogs *AwsOpenSearchServiceDomainLogPublishingOption `type:"structure"`
21785
21786	// Configures the OpenSearch search slow log publishing.
21787	SearchSlowLogs *AwsOpenSearchServiceDomainLogPublishingOption `type:"structure"`
21788}
21789
21790// String returns the string representation.
21791//
21792// API parameter values that are decorated as "sensitive" in the API will not
21793// be included in the string output. The member name will be present, but the
21794// value will be replaced with "sensitive".
21795func (s AwsOpenSearchServiceDomainLogPublishingOptionsDetails) String() string {
21796	return awsutil.Prettify(s)
21797}
21798
21799// GoString returns the string representation.
21800//
21801// API parameter values that are decorated as "sensitive" in the API will not
21802// be included in the string output. The member name will be present, but the
21803// value will be replaced with "sensitive".
21804func (s AwsOpenSearchServiceDomainLogPublishingOptionsDetails) GoString() string {
21805	return s.String()
21806}
21807
21808// SetAuditLogs sets the AuditLogs field's value.
21809func (s *AwsOpenSearchServiceDomainLogPublishingOptionsDetails) SetAuditLogs(v *AwsOpenSearchServiceDomainLogPublishingOption) *AwsOpenSearchServiceDomainLogPublishingOptionsDetails {
21810	s.AuditLogs = v
21811	return s
21812}
21813
21814// SetIndexSlowLogs sets the IndexSlowLogs field's value.
21815func (s *AwsOpenSearchServiceDomainLogPublishingOptionsDetails) SetIndexSlowLogs(v *AwsOpenSearchServiceDomainLogPublishingOption) *AwsOpenSearchServiceDomainLogPublishingOptionsDetails {
21816	s.IndexSlowLogs = v
21817	return s
21818}
21819
21820// SetSearchSlowLogs sets the SearchSlowLogs field's value.
21821func (s *AwsOpenSearchServiceDomainLogPublishingOptionsDetails) SetSearchSlowLogs(v *AwsOpenSearchServiceDomainLogPublishingOption) *AwsOpenSearchServiceDomainLogPublishingOptionsDetails {
21822	s.SearchSlowLogs = v
21823	return s
21824}
21825
21826// Provides details about the configuration for node-to-node encryption.
21827type AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails struct {
21828	_ struct{} `type:"structure"`
21829
21830	// Whether node-to-node encryption is enabled.
21831	Enabled *bool `type:"boolean"`
21832}
21833
21834// String returns the string representation.
21835//
21836// API parameter values that are decorated as "sensitive" in the API will not
21837// be included in the string output. The member name will be present, but the
21838// value will be replaced with "sensitive".
21839func (s AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails) String() string {
21840	return awsutil.Prettify(s)
21841}
21842
21843// GoString returns the string representation.
21844//
21845// API parameter values that are decorated as "sensitive" in the API will not
21846// be included in the string output. The member name will be present, but the
21847// value will be replaced with "sensitive".
21848func (s AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails) GoString() string {
21849	return s.String()
21850}
21851
21852// SetEnabled sets the Enabled field's value.
21853func (s *AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails) SetEnabled(v bool) *AwsOpenSearchServiceDomainNodeToNodeEncryptionOptionsDetails {
21854	s.Enabled = &v
21855	return s
21856}
21857
21858// Provides information about the state of the domain relative to the latest
21859// service software.
21860type AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails struct {
21861	_ struct{} `type:"structure"`
21862
21863	// The epoch time when the deployment window closes for required updates. After
21864	// this time, OpenSearch Service schedules the software upgrade automatically.
21865	AutomatedUpdateDate *string `type:"string"`
21866
21867	// Whether a request to update the domain can be canceled.
21868	Cancellable *bool `type:"boolean"`
21869
21870	// The version of the service software that is currently installed on the domain.
21871	CurrentVersion *string `type:"string"`
21872
21873	// A more detailed description of the service software status.
21874	Description *string `type:"string"`
21875
21876	// The most recent version of the service software.
21877	NewVersion *string `type:"string"`
21878
21879	// Whether the service software update is optional.
21880	OptionalDeployment *bool `type:"boolean"`
21881
21882	// Whether a service software update is available for the domain.
21883	UpdateAvailable *bool `type:"boolean"`
21884
21885	// The status of the service software update.
21886	UpdateStatus *string `type:"string"`
21887}
21888
21889// String returns the string representation.
21890//
21891// API parameter values that are decorated as "sensitive" in the API will not
21892// be included in the string output. The member name will be present, but the
21893// value will be replaced with "sensitive".
21894func (s AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) String() string {
21895	return awsutil.Prettify(s)
21896}
21897
21898// GoString returns the string representation.
21899//
21900// API parameter values that are decorated as "sensitive" in the API will not
21901// be included in the string output. The member name will be present, but the
21902// value will be replaced with "sensitive".
21903func (s AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) GoString() string {
21904	return s.String()
21905}
21906
21907// SetAutomatedUpdateDate sets the AutomatedUpdateDate field's value.
21908func (s *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) SetAutomatedUpdateDate(v string) *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails {
21909	s.AutomatedUpdateDate = &v
21910	return s
21911}
21912
21913// SetCancellable sets the Cancellable field's value.
21914func (s *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) SetCancellable(v bool) *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails {
21915	s.Cancellable = &v
21916	return s
21917}
21918
21919// SetCurrentVersion sets the CurrentVersion field's value.
21920func (s *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) SetCurrentVersion(v string) *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails {
21921	s.CurrentVersion = &v
21922	return s
21923}
21924
21925// SetDescription sets the Description field's value.
21926func (s *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) SetDescription(v string) *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails {
21927	s.Description = &v
21928	return s
21929}
21930
21931// SetNewVersion sets the NewVersion field's value.
21932func (s *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) SetNewVersion(v string) *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails {
21933	s.NewVersion = &v
21934	return s
21935}
21936
21937// SetOptionalDeployment sets the OptionalDeployment field's value.
21938func (s *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) SetOptionalDeployment(v bool) *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails {
21939	s.OptionalDeployment = &v
21940	return s
21941}
21942
21943// SetUpdateAvailable sets the UpdateAvailable field's value.
21944func (s *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) SetUpdateAvailable(v bool) *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails {
21945	s.UpdateAvailable = &v
21946	return s
21947}
21948
21949// SetUpdateStatus sets the UpdateStatus field's value.
21950func (s *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails) SetUpdateStatus(v string) *AwsOpenSearchServiceDomainServiceSoftwareOptionsDetails {
21951	s.UpdateStatus = &v
21952	return s
21953}
21954
21955// Contains information that OpenSearch Service derives based on the VPCOptions
21956// for the domain.
21957type AwsOpenSearchServiceDomainVpcOptionsDetails struct {
21958	_ struct{} `type:"structure"`
21959
21960	// The list of security group IDs that are associated with the VPC endpoints
21961	// for the domain.
21962	SecurityGroupIds []*string `type:"list"`
21963
21964	// A list of subnet IDs that are associated with the VPC endpoints for the domain.
21965	SubnetIds []*string `type:"list"`
21966}
21967
21968// String returns the string representation.
21969//
21970// API parameter values that are decorated as "sensitive" in the API will not
21971// be included in the string output. The member name will be present, but the
21972// value will be replaced with "sensitive".
21973func (s AwsOpenSearchServiceDomainVpcOptionsDetails) String() string {
21974	return awsutil.Prettify(s)
21975}
21976
21977// GoString returns the string representation.
21978//
21979// API parameter values that are decorated as "sensitive" in the API will not
21980// be included in the string output. The member name will be present, but the
21981// value will be replaced with "sensitive".
21982func (s AwsOpenSearchServiceDomainVpcOptionsDetails) GoString() string {
21983	return s.String()
21984}
21985
21986// SetSecurityGroupIds sets the SecurityGroupIds field's value.
21987func (s *AwsOpenSearchServiceDomainVpcOptionsDetails) SetSecurityGroupIds(v []*string) *AwsOpenSearchServiceDomainVpcOptionsDetails {
21988	s.SecurityGroupIds = v
21989	return s
21990}
21991
21992// SetSubnetIds sets the SubnetIds field's value.
21993func (s *AwsOpenSearchServiceDomainVpcOptionsDetails) SetSubnetIds(v []*string) *AwsOpenSearchServiceDomainVpcOptionsDetails {
21994	s.SubnetIds = v
21995	return s
21996}
21997
21998// An IAM role that is associated with the Amazon RDS DB cluster.
21999type AwsRdsDbClusterAssociatedRole struct {
22000	_ struct{} `type:"structure"`
22001
22002	// The ARN of the IAM role.
22003	RoleArn *string `type:"string"`
22004
22005	// The status of the association between the IAM role and the DB cluster.
22006	Status *string `type:"string"`
22007}
22008
22009// String returns the string representation.
22010//
22011// API parameter values that are decorated as "sensitive" in the API will not
22012// be included in the string output. The member name will be present, but the
22013// value will be replaced with "sensitive".
22014func (s AwsRdsDbClusterAssociatedRole) String() string {
22015	return awsutil.Prettify(s)
22016}
22017
22018// GoString returns the string representation.
22019//
22020// API parameter values that are decorated as "sensitive" in the API will not
22021// be included in the string output. The member name will be present, but the
22022// value will be replaced with "sensitive".
22023func (s AwsRdsDbClusterAssociatedRole) GoString() string {
22024	return s.String()
22025}
22026
22027// SetRoleArn sets the RoleArn field's value.
22028func (s *AwsRdsDbClusterAssociatedRole) SetRoleArn(v string) *AwsRdsDbClusterAssociatedRole {
22029	s.RoleArn = &v
22030	return s
22031}
22032
22033// SetStatus sets the Status field's value.
22034func (s *AwsRdsDbClusterAssociatedRole) SetStatus(v string) *AwsRdsDbClusterAssociatedRole {
22035	s.Status = &v
22036	return s
22037}
22038
22039// Information about an Amazon RDS DB cluster.
22040type AwsRdsDbClusterDetails struct {
22041	_ struct{} `type:"structure"`
22042
22043	// The status of the database activity stream.
22044	ActivityStreamStatus *string `type:"string"`
22045
22046	// For all database engines except Aurora, specifies the allocated storage size
22047	// in gibibytes (GiB).
22048	AllocatedStorage *int64 `type:"integer"`
22049
22050	// A list of the IAM roles that are associated with the DB cluster.
22051	AssociatedRoles []*AwsRdsDbClusterAssociatedRole `type:"list"`
22052
22053	// A list of Availability Zones (AZs) where instances in the DB cluster can
22054	// be created.
22055	AvailabilityZones []*string `type:"list"`
22056
22057	// The number of days for which automated backups are retained.
22058	BackupRetentionPeriod *int64 `type:"integer"`
22059
22060	// Indicates when the DB cluster was created, in Universal Coordinated Time
22061	// (UTC).
22062	//
22063	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
22064	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
22065	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
22066	ClusterCreateTime *string `type:"string"`
22067
22068	// Whether tags are copied from the DB cluster to snapshots of the DB cluster.
22069	CopyTagsToSnapshot *bool `type:"boolean"`
22070
22071	// Whether the DB cluster is a clone of a DB cluster owned by a different Amazon
22072	// Web Services account.
22073	CrossAccountClone *bool `type:"boolean"`
22074
22075	// A list of custom endpoints for the DB cluster.
22076	CustomEndpoints []*string `type:"list"`
22077
22078	// The name of the database.
22079	DatabaseName *string `type:"string"`
22080
22081	// The DB cluster identifier that the user assigned to the cluster. This identifier
22082	// is the unique key that identifies a DB cluster.
22083	DbClusterIdentifier *string `type:"string"`
22084
22085	// The list of instances that make up the DB cluster.
22086	DbClusterMembers []*AwsRdsDbClusterMember `type:"list"`
22087
22088	// The list of option group memberships for this DB cluster.
22089	DbClusterOptionGroupMemberships []*AwsRdsDbClusterOptionGroupMembership `type:"list"`
22090
22091	// The name of the DB cluster parameter group for the DB cluster.
22092	DbClusterParameterGroup *string `type:"string"`
22093
22094	// The identifier of the DB cluster. The identifier must be unique within each
22095	// Amazon Web Services Region and is immutable.
22096	DbClusterResourceId *string `type:"string"`
22097
22098	// The subnet group that is associated with the DB cluster, including the name,
22099	// description, and subnets in the subnet group.
22100	DbSubnetGroup *string `type:"string"`
22101
22102	// Whether the DB cluster has deletion protection enabled.
22103	DeletionProtection *bool `type:"boolean"`
22104
22105	// The Active Directory domain membership records that are associated with the
22106	// DB cluster.
22107	DomainMemberships []*AwsRdsDbDomainMembership `type:"list"`
22108
22109	// A list of log types that this DB cluster is configured to export to CloudWatch
22110	// Logs.
22111	EnabledCloudWatchLogsExports []*string `type:"list"`
22112
22113	// The connection endpoint for the primary instance of the DB cluster.
22114	Endpoint *string `type:"string"`
22115
22116	// The name of the database engine to use for this DB cluster.
22117	Engine *string `type:"string"`
22118
22119	// The database engine mode of the DB cluster.
22120	EngineMode *string `type:"string"`
22121
22122	// The version number of the database engine to use.
22123	EngineVersion *string `type:"string"`
22124
22125	// Specifies the identifier that Amazon Route 53 assigns when you create a hosted
22126	// zone.
22127	HostedZoneId *string `type:"string"`
22128
22129	// Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.
22130	HttpEndpointEnabled *bool `type:"boolean"`
22131
22132	// Whether the mapping of IAM accounts to database accounts is enabled.
22133	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
22134
22135	// The ARN of the KMS master key that is used to encrypt the database instances
22136	// in the DB cluster.
22137	KmsKeyId *string `type:"string"`
22138
22139	// The name of the master user for the DB cluster.
22140	MasterUsername *string `type:"string"`
22141
22142	// Whether the DB cluster has instances in multiple Availability Zones.
22143	MultiAz *bool `type:"boolean"`
22144
22145	// The port number on which the DB instances in the DB cluster accept connections.
22146	Port *int64 `type:"integer"`
22147
22148	// The range of time each day when automated backups are created, if automated
22149	// backups are enabled.
22150	//
22151	// Uses the format HH:MM-HH:MM. For example, 04:52-05:22.
22152	PreferredBackupWindow *string `type:"string"`
22153
22154	// The weekly time range during which system maintenance can occur, in Universal
22155	// Coordinated Time (UTC).
22156	//
22157	// Uses the format <day>:HH:MM-<day>:HH:MM.
22158	//
22159	// For the day values, use mon|tue|wed|thu|fri|sat|sun.
22160	//
22161	// For example, sun:09:32-sun:10:02.
22162	PreferredMaintenanceWindow *string `type:"string"`
22163
22164	// The identifiers of the read replicas that are associated with this DB cluster.
22165	ReadReplicaIdentifiers []*string `type:"list"`
22166
22167	// The reader endpoint for the DB cluster.
22168	ReaderEndpoint *string `type:"string"`
22169
22170	// The current status of this DB cluster.
22171	Status *string `type:"string"`
22172
22173	// Whether the DB cluster is encrypted.
22174	StorageEncrypted *bool `type:"boolean"`
22175
22176	// A list of VPC security groups that the DB cluster belongs to.
22177	VpcSecurityGroups []*AwsRdsDbInstanceVpcSecurityGroup `type:"list"`
22178}
22179
22180// String returns the string representation.
22181//
22182// API parameter values that are decorated as "sensitive" in the API will not
22183// be included in the string output. The member name will be present, but the
22184// value will be replaced with "sensitive".
22185func (s AwsRdsDbClusterDetails) String() string {
22186	return awsutil.Prettify(s)
22187}
22188
22189// GoString returns the string representation.
22190//
22191// API parameter values that are decorated as "sensitive" in the API will not
22192// be included in the string output. The member name will be present, but the
22193// value will be replaced with "sensitive".
22194func (s AwsRdsDbClusterDetails) GoString() string {
22195	return s.String()
22196}
22197
22198// SetActivityStreamStatus sets the ActivityStreamStatus field's value.
22199func (s *AwsRdsDbClusterDetails) SetActivityStreamStatus(v string) *AwsRdsDbClusterDetails {
22200	s.ActivityStreamStatus = &v
22201	return s
22202}
22203
22204// SetAllocatedStorage sets the AllocatedStorage field's value.
22205func (s *AwsRdsDbClusterDetails) SetAllocatedStorage(v int64) *AwsRdsDbClusterDetails {
22206	s.AllocatedStorage = &v
22207	return s
22208}
22209
22210// SetAssociatedRoles sets the AssociatedRoles field's value.
22211func (s *AwsRdsDbClusterDetails) SetAssociatedRoles(v []*AwsRdsDbClusterAssociatedRole) *AwsRdsDbClusterDetails {
22212	s.AssociatedRoles = v
22213	return s
22214}
22215
22216// SetAvailabilityZones sets the AvailabilityZones field's value.
22217func (s *AwsRdsDbClusterDetails) SetAvailabilityZones(v []*string) *AwsRdsDbClusterDetails {
22218	s.AvailabilityZones = v
22219	return s
22220}
22221
22222// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
22223func (s *AwsRdsDbClusterDetails) SetBackupRetentionPeriod(v int64) *AwsRdsDbClusterDetails {
22224	s.BackupRetentionPeriod = &v
22225	return s
22226}
22227
22228// SetClusterCreateTime sets the ClusterCreateTime field's value.
22229func (s *AwsRdsDbClusterDetails) SetClusterCreateTime(v string) *AwsRdsDbClusterDetails {
22230	s.ClusterCreateTime = &v
22231	return s
22232}
22233
22234// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
22235func (s *AwsRdsDbClusterDetails) SetCopyTagsToSnapshot(v bool) *AwsRdsDbClusterDetails {
22236	s.CopyTagsToSnapshot = &v
22237	return s
22238}
22239
22240// SetCrossAccountClone sets the CrossAccountClone field's value.
22241func (s *AwsRdsDbClusterDetails) SetCrossAccountClone(v bool) *AwsRdsDbClusterDetails {
22242	s.CrossAccountClone = &v
22243	return s
22244}
22245
22246// SetCustomEndpoints sets the CustomEndpoints field's value.
22247func (s *AwsRdsDbClusterDetails) SetCustomEndpoints(v []*string) *AwsRdsDbClusterDetails {
22248	s.CustomEndpoints = v
22249	return s
22250}
22251
22252// SetDatabaseName sets the DatabaseName field's value.
22253func (s *AwsRdsDbClusterDetails) SetDatabaseName(v string) *AwsRdsDbClusterDetails {
22254	s.DatabaseName = &v
22255	return s
22256}
22257
22258// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
22259func (s *AwsRdsDbClusterDetails) SetDbClusterIdentifier(v string) *AwsRdsDbClusterDetails {
22260	s.DbClusterIdentifier = &v
22261	return s
22262}
22263
22264// SetDbClusterMembers sets the DbClusterMembers field's value.
22265func (s *AwsRdsDbClusterDetails) SetDbClusterMembers(v []*AwsRdsDbClusterMember) *AwsRdsDbClusterDetails {
22266	s.DbClusterMembers = v
22267	return s
22268}
22269
22270// SetDbClusterOptionGroupMemberships sets the DbClusterOptionGroupMemberships field's value.
22271func (s *AwsRdsDbClusterDetails) SetDbClusterOptionGroupMemberships(v []*AwsRdsDbClusterOptionGroupMembership) *AwsRdsDbClusterDetails {
22272	s.DbClusterOptionGroupMemberships = v
22273	return s
22274}
22275
22276// SetDbClusterParameterGroup sets the DbClusterParameterGroup field's value.
22277func (s *AwsRdsDbClusterDetails) SetDbClusterParameterGroup(v string) *AwsRdsDbClusterDetails {
22278	s.DbClusterParameterGroup = &v
22279	return s
22280}
22281
22282// SetDbClusterResourceId sets the DbClusterResourceId field's value.
22283func (s *AwsRdsDbClusterDetails) SetDbClusterResourceId(v string) *AwsRdsDbClusterDetails {
22284	s.DbClusterResourceId = &v
22285	return s
22286}
22287
22288// SetDbSubnetGroup sets the DbSubnetGroup field's value.
22289func (s *AwsRdsDbClusterDetails) SetDbSubnetGroup(v string) *AwsRdsDbClusterDetails {
22290	s.DbSubnetGroup = &v
22291	return s
22292}
22293
22294// SetDeletionProtection sets the DeletionProtection field's value.
22295func (s *AwsRdsDbClusterDetails) SetDeletionProtection(v bool) *AwsRdsDbClusterDetails {
22296	s.DeletionProtection = &v
22297	return s
22298}
22299
22300// SetDomainMemberships sets the DomainMemberships field's value.
22301func (s *AwsRdsDbClusterDetails) SetDomainMemberships(v []*AwsRdsDbDomainMembership) *AwsRdsDbClusterDetails {
22302	s.DomainMemberships = v
22303	return s
22304}
22305
22306// SetEnabledCloudWatchLogsExports sets the EnabledCloudWatchLogsExports field's value.
22307func (s *AwsRdsDbClusterDetails) SetEnabledCloudWatchLogsExports(v []*string) *AwsRdsDbClusterDetails {
22308	s.EnabledCloudWatchLogsExports = v
22309	return s
22310}
22311
22312// SetEndpoint sets the Endpoint field's value.
22313func (s *AwsRdsDbClusterDetails) SetEndpoint(v string) *AwsRdsDbClusterDetails {
22314	s.Endpoint = &v
22315	return s
22316}
22317
22318// SetEngine sets the Engine field's value.
22319func (s *AwsRdsDbClusterDetails) SetEngine(v string) *AwsRdsDbClusterDetails {
22320	s.Engine = &v
22321	return s
22322}
22323
22324// SetEngineMode sets the EngineMode field's value.
22325func (s *AwsRdsDbClusterDetails) SetEngineMode(v string) *AwsRdsDbClusterDetails {
22326	s.EngineMode = &v
22327	return s
22328}
22329
22330// SetEngineVersion sets the EngineVersion field's value.
22331func (s *AwsRdsDbClusterDetails) SetEngineVersion(v string) *AwsRdsDbClusterDetails {
22332	s.EngineVersion = &v
22333	return s
22334}
22335
22336// SetHostedZoneId sets the HostedZoneId field's value.
22337func (s *AwsRdsDbClusterDetails) SetHostedZoneId(v string) *AwsRdsDbClusterDetails {
22338	s.HostedZoneId = &v
22339	return s
22340}
22341
22342// SetHttpEndpointEnabled sets the HttpEndpointEnabled field's value.
22343func (s *AwsRdsDbClusterDetails) SetHttpEndpointEnabled(v bool) *AwsRdsDbClusterDetails {
22344	s.HttpEndpointEnabled = &v
22345	return s
22346}
22347
22348// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
22349func (s *AwsRdsDbClusterDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbClusterDetails {
22350	s.IamDatabaseAuthenticationEnabled = &v
22351	return s
22352}
22353
22354// SetKmsKeyId sets the KmsKeyId field's value.
22355func (s *AwsRdsDbClusterDetails) SetKmsKeyId(v string) *AwsRdsDbClusterDetails {
22356	s.KmsKeyId = &v
22357	return s
22358}
22359
22360// SetMasterUsername sets the MasterUsername field's value.
22361func (s *AwsRdsDbClusterDetails) SetMasterUsername(v string) *AwsRdsDbClusterDetails {
22362	s.MasterUsername = &v
22363	return s
22364}
22365
22366// SetMultiAz sets the MultiAz field's value.
22367func (s *AwsRdsDbClusterDetails) SetMultiAz(v bool) *AwsRdsDbClusterDetails {
22368	s.MultiAz = &v
22369	return s
22370}
22371
22372// SetPort sets the Port field's value.
22373func (s *AwsRdsDbClusterDetails) SetPort(v int64) *AwsRdsDbClusterDetails {
22374	s.Port = &v
22375	return s
22376}
22377
22378// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
22379func (s *AwsRdsDbClusterDetails) SetPreferredBackupWindow(v string) *AwsRdsDbClusterDetails {
22380	s.PreferredBackupWindow = &v
22381	return s
22382}
22383
22384// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
22385func (s *AwsRdsDbClusterDetails) SetPreferredMaintenanceWindow(v string) *AwsRdsDbClusterDetails {
22386	s.PreferredMaintenanceWindow = &v
22387	return s
22388}
22389
22390// SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
22391func (s *AwsRdsDbClusterDetails) SetReadReplicaIdentifiers(v []*string) *AwsRdsDbClusterDetails {
22392	s.ReadReplicaIdentifiers = v
22393	return s
22394}
22395
22396// SetReaderEndpoint sets the ReaderEndpoint field's value.
22397func (s *AwsRdsDbClusterDetails) SetReaderEndpoint(v string) *AwsRdsDbClusterDetails {
22398	s.ReaderEndpoint = &v
22399	return s
22400}
22401
22402// SetStatus sets the Status field's value.
22403func (s *AwsRdsDbClusterDetails) SetStatus(v string) *AwsRdsDbClusterDetails {
22404	s.Status = &v
22405	return s
22406}
22407
22408// SetStorageEncrypted sets the StorageEncrypted field's value.
22409func (s *AwsRdsDbClusterDetails) SetStorageEncrypted(v bool) *AwsRdsDbClusterDetails {
22410	s.StorageEncrypted = &v
22411	return s
22412}
22413
22414// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
22415func (s *AwsRdsDbClusterDetails) SetVpcSecurityGroups(v []*AwsRdsDbInstanceVpcSecurityGroup) *AwsRdsDbClusterDetails {
22416	s.VpcSecurityGroups = v
22417	return s
22418}
22419
22420// Information about an instance in the DB cluster.
22421type AwsRdsDbClusterMember struct {
22422	_ struct{} `type:"structure"`
22423
22424	// The status of the DB cluster parameter group for this member of the DB cluster.
22425	DbClusterParameterGroupStatus *string `type:"string"`
22426
22427	// The instance identifier for this member of the DB cluster.
22428	DbInstanceIdentifier *string `type:"string"`
22429
22430	// Whether the cluster member is the primary instance for the DB cluster.
22431	IsClusterWriter *bool `type:"boolean"`
22432
22433	// Specifies the order in which an Aurora replica is promoted to the primary
22434	// instance when the existing primary instance fails.
22435	PromotionTier *int64 `type:"integer"`
22436}
22437
22438// String returns the string representation.
22439//
22440// API parameter values that are decorated as "sensitive" in the API will not
22441// be included in the string output. The member name will be present, but the
22442// value will be replaced with "sensitive".
22443func (s AwsRdsDbClusterMember) String() string {
22444	return awsutil.Prettify(s)
22445}
22446
22447// GoString returns the string representation.
22448//
22449// API parameter values that are decorated as "sensitive" in the API will not
22450// be included in the string output. The member name will be present, but the
22451// value will be replaced with "sensitive".
22452func (s AwsRdsDbClusterMember) GoString() string {
22453	return s.String()
22454}
22455
22456// SetDbClusterParameterGroupStatus sets the DbClusterParameterGroupStatus field's value.
22457func (s *AwsRdsDbClusterMember) SetDbClusterParameterGroupStatus(v string) *AwsRdsDbClusterMember {
22458	s.DbClusterParameterGroupStatus = &v
22459	return s
22460}
22461
22462// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
22463func (s *AwsRdsDbClusterMember) SetDbInstanceIdentifier(v string) *AwsRdsDbClusterMember {
22464	s.DbInstanceIdentifier = &v
22465	return s
22466}
22467
22468// SetIsClusterWriter sets the IsClusterWriter field's value.
22469func (s *AwsRdsDbClusterMember) SetIsClusterWriter(v bool) *AwsRdsDbClusterMember {
22470	s.IsClusterWriter = &v
22471	return s
22472}
22473
22474// SetPromotionTier sets the PromotionTier field's value.
22475func (s *AwsRdsDbClusterMember) SetPromotionTier(v int64) *AwsRdsDbClusterMember {
22476	s.PromotionTier = &v
22477	return s
22478}
22479
22480// Information about an option group membership for a DB cluster.
22481type AwsRdsDbClusterOptionGroupMembership struct {
22482	_ struct{} `type:"structure"`
22483
22484	// The name of the DB cluster option group.
22485	DbClusterOptionGroupName *string `type:"string"`
22486
22487	// The status of the DB cluster option group.
22488	Status *string `type:"string"`
22489}
22490
22491// String returns the string representation.
22492//
22493// API parameter values that are decorated as "sensitive" in the API will not
22494// be included in the string output. The member name will be present, but the
22495// value will be replaced with "sensitive".
22496func (s AwsRdsDbClusterOptionGroupMembership) String() string {
22497	return awsutil.Prettify(s)
22498}
22499
22500// GoString returns the string representation.
22501//
22502// API parameter values that are decorated as "sensitive" in the API will not
22503// be included in the string output. The member name will be present, but the
22504// value will be replaced with "sensitive".
22505func (s AwsRdsDbClusterOptionGroupMembership) GoString() string {
22506	return s.String()
22507}
22508
22509// SetDbClusterOptionGroupName sets the DbClusterOptionGroupName field's value.
22510func (s *AwsRdsDbClusterOptionGroupMembership) SetDbClusterOptionGroupName(v string) *AwsRdsDbClusterOptionGroupMembership {
22511	s.DbClusterOptionGroupName = &v
22512	return s
22513}
22514
22515// SetStatus sets the Status field's value.
22516func (s *AwsRdsDbClusterOptionGroupMembership) SetStatus(v string) *AwsRdsDbClusterOptionGroupMembership {
22517	s.Status = &v
22518	return s
22519}
22520
22521// Information about an Amazon RDS DB cluster snapshot.
22522type AwsRdsDbClusterSnapshotDetails struct {
22523	_ struct{} `type:"structure"`
22524
22525	// Specifies the allocated storage size in gibibytes (GiB).
22526	AllocatedStorage *int64 `type:"integer"`
22527
22528	// A list of Availability Zones where instances in the DB cluster can be created.
22529	AvailabilityZones []*string `type:"list"`
22530
22531	// Indicates when the DB cluster was created, in Universal Coordinated Time
22532	// (UTC).
22533	//
22534	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
22535	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
22536	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
22537	ClusterCreateTime *string `type:"string"`
22538
22539	// The DB cluster identifier.
22540	DbClusterIdentifier *string `type:"string"`
22541
22542	// The identifier of the DB cluster snapshot.
22543	DbClusterSnapshotIdentifier *string `type:"string"`
22544
22545	// The name of the database engine that you want to use for this DB instance.
22546	Engine *string `type:"string"`
22547
22548	// The version of the database engine to use.
22549	EngineVersion *string `type:"string"`
22550
22551	// Whether mapping of IAM accounts to database accounts is enabled.
22552	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
22553
22554	// The ARN of the KMS master key that is used to encrypt the database instances
22555	// in the DB cluster.
22556	KmsKeyId *string `type:"string"`
22557
22558	// The license model information for this DB cluster snapshot.
22559	LicenseModel *string `type:"string"`
22560
22561	// The name of the master user for the DB cluster.
22562	MasterUsername *string `type:"string"`
22563
22564	// Specifies the percentage of the estimated data that has been transferred.
22565	PercentProgress *int64 `type:"integer"`
22566
22567	// The port number on which the DB instances in the DB cluster accept connections.
22568	Port *int64 `type:"integer"`
22569
22570	// Indicates when the snapshot was taken.
22571	//
22572	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
22573	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
22574	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
22575	SnapshotCreateTime *string `type:"string"`
22576
22577	// The type of DB cluster snapshot.
22578	SnapshotType *string `type:"string"`
22579
22580	// The status of this DB cluster snapshot.
22581	Status *string `type:"string"`
22582
22583	// Whether the DB cluster is encrypted.
22584	StorageEncrypted *bool `type:"boolean"`
22585
22586	// The VPC ID that is associated with the DB cluster snapshot.
22587	VpcId *string `type:"string"`
22588}
22589
22590// String returns the string representation.
22591//
22592// API parameter values that are decorated as "sensitive" in the API will not
22593// be included in the string output. The member name will be present, but the
22594// value will be replaced with "sensitive".
22595func (s AwsRdsDbClusterSnapshotDetails) String() string {
22596	return awsutil.Prettify(s)
22597}
22598
22599// GoString returns the string representation.
22600//
22601// API parameter values that are decorated as "sensitive" in the API will not
22602// be included in the string output. The member name will be present, but the
22603// value will be replaced with "sensitive".
22604func (s AwsRdsDbClusterSnapshotDetails) GoString() string {
22605	return s.String()
22606}
22607
22608// SetAllocatedStorage sets the AllocatedStorage field's value.
22609func (s *AwsRdsDbClusterSnapshotDetails) SetAllocatedStorage(v int64) *AwsRdsDbClusterSnapshotDetails {
22610	s.AllocatedStorage = &v
22611	return s
22612}
22613
22614// SetAvailabilityZones sets the AvailabilityZones field's value.
22615func (s *AwsRdsDbClusterSnapshotDetails) SetAvailabilityZones(v []*string) *AwsRdsDbClusterSnapshotDetails {
22616	s.AvailabilityZones = v
22617	return s
22618}
22619
22620// SetClusterCreateTime sets the ClusterCreateTime field's value.
22621func (s *AwsRdsDbClusterSnapshotDetails) SetClusterCreateTime(v string) *AwsRdsDbClusterSnapshotDetails {
22622	s.ClusterCreateTime = &v
22623	return s
22624}
22625
22626// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
22627func (s *AwsRdsDbClusterSnapshotDetails) SetDbClusterIdentifier(v string) *AwsRdsDbClusterSnapshotDetails {
22628	s.DbClusterIdentifier = &v
22629	return s
22630}
22631
22632// SetDbClusterSnapshotIdentifier sets the DbClusterSnapshotIdentifier field's value.
22633func (s *AwsRdsDbClusterSnapshotDetails) SetDbClusterSnapshotIdentifier(v string) *AwsRdsDbClusterSnapshotDetails {
22634	s.DbClusterSnapshotIdentifier = &v
22635	return s
22636}
22637
22638// SetEngine sets the Engine field's value.
22639func (s *AwsRdsDbClusterSnapshotDetails) SetEngine(v string) *AwsRdsDbClusterSnapshotDetails {
22640	s.Engine = &v
22641	return s
22642}
22643
22644// SetEngineVersion sets the EngineVersion field's value.
22645func (s *AwsRdsDbClusterSnapshotDetails) SetEngineVersion(v string) *AwsRdsDbClusterSnapshotDetails {
22646	s.EngineVersion = &v
22647	return s
22648}
22649
22650// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
22651func (s *AwsRdsDbClusterSnapshotDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbClusterSnapshotDetails {
22652	s.IamDatabaseAuthenticationEnabled = &v
22653	return s
22654}
22655
22656// SetKmsKeyId sets the KmsKeyId field's value.
22657func (s *AwsRdsDbClusterSnapshotDetails) SetKmsKeyId(v string) *AwsRdsDbClusterSnapshotDetails {
22658	s.KmsKeyId = &v
22659	return s
22660}
22661
22662// SetLicenseModel sets the LicenseModel field's value.
22663func (s *AwsRdsDbClusterSnapshotDetails) SetLicenseModel(v string) *AwsRdsDbClusterSnapshotDetails {
22664	s.LicenseModel = &v
22665	return s
22666}
22667
22668// SetMasterUsername sets the MasterUsername field's value.
22669func (s *AwsRdsDbClusterSnapshotDetails) SetMasterUsername(v string) *AwsRdsDbClusterSnapshotDetails {
22670	s.MasterUsername = &v
22671	return s
22672}
22673
22674// SetPercentProgress sets the PercentProgress field's value.
22675func (s *AwsRdsDbClusterSnapshotDetails) SetPercentProgress(v int64) *AwsRdsDbClusterSnapshotDetails {
22676	s.PercentProgress = &v
22677	return s
22678}
22679
22680// SetPort sets the Port field's value.
22681func (s *AwsRdsDbClusterSnapshotDetails) SetPort(v int64) *AwsRdsDbClusterSnapshotDetails {
22682	s.Port = &v
22683	return s
22684}
22685
22686// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
22687func (s *AwsRdsDbClusterSnapshotDetails) SetSnapshotCreateTime(v string) *AwsRdsDbClusterSnapshotDetails {
22688	s.SnapshotCreateTime = &v
22689	return s
22690}
22691
22692// SetSnapshotType sets the SnapshotType field's value.
22693func (s *AwsRdsDbClusterSnapshotDetails) SetSnapshotType(v string) *AwsRdsDbClusterSnapshotDetails {
22694	s.SnapshotType = &v
22695	return s
22696}
22697
22698// SetStatus sets the Status field's value.
22699func (s *AwsRdsDbClusterSnapshotDetails) SetStatus(v string) *AwsRdsDbClusterSnapshotDetails {
22700	s.Status = &v
22701	return s
22702}
22703
22704// SetStorageEncrypted sets the StorageEncrypted field's value.
22705func (s *AwsRdsDbClusterSnapshotDetails) SetStorageEncrypted(v bool) *AwsRdsDbClusterSnapshotDetails {
22706	s.StorageEncrypted = &v
22707	return s
22708}
22709
22710// SetVpcId sets the VpcId field's value.
22711func (s *AwsRdsDbClusterSnapshotDetails) SetVpcId(v string) *AwsRdsDbClusterSnapshotDetails {
22712	s.VpcId = &v
22713	return s
22714}
22715
22716// Information about an Active Directory domain membership record associated
22717// with the DB instance.
22718type AwsRdsDbDomainMembership struct {
22719	_ struct{} `type:"structure"`
22720
22721	// The identifier of the Active Directory domain.
22722	Domain *string `type:"string"`
22723
22724	// The fully qualified domain name of the Active Directory domain.
22725	Fqdn *string `type:"string"`
22726
22727	// The name of the IAM role to use when making API calls to the Directory Service.
22728	IamRoleName *string `type:"string"`
22729
22730	// The status of the Active Directory Domain membership for the DB instance.
22731	Status *string `type:"string"`
22732}
22733
22734// String returns the string representation.
22735//
22736// API parameter values that are decorated as "sensitive" in the API will not
22737// be included in the string output. The member name will be present, but the
22738// value will be replaced with "sensitive".
22739func (s AwsRdsDbDomainMembership) String() string {
22740	return awsutil.Prettify(s)
22741}
22742
22743// GoString returns the string representation.
22744//
22745// API parameter values that are decorated as "sensitive" in the API will not
22746// be included in the string output. The member name will be present, but the
22747// value will be replaced with "sensitive".
22748func (s AwsRdsDbDomainMembership) GoString() string {
22749	return s.String()
22750}
22751
22752// SetDomain sets the Domain field's value.
22753func (s *AwsRdsDbDomainMembership) SetDomain(v string) *AwsRdsDbDomainMembership {
22754	s.Domain = &v
22755	return s
22756}
22757
22758// SetFqdn sets the Fqdn field's value.
22759func (s *AwsRdsDbDomainMembership) SetFqdn(v string) *AwsRdsDbDomainMembership {
22760	s.Fqdn = &v
22761	return s
22762}
22763
22764// SetIamRoleName sets the IamRoleName field's value.
22765func (s *AwsRdsDbDomainMembership) SetIamRoleName(v string) *AwsRdsDbDomainMembership {
22766	s.IamRoleName = &v
22767	return s
22768}
22769
22770// SetStatus sets the Status field's value.
22771func (s *AwsRdsDbDomainMembership) SetStatus(v string) *AwsRdsDbDomainMembership {
22772	s.Status = &v
22773	return s
22774}
22775
22776// An IAM role associated with the DB instance.
22777type AwsRdsDbInstanceAssociatedRole struct {
22778	_ struct{} `type:"structure"`
22779
22780	// The name of the feature associated with the IAM role.
22781	FeatureName *string `type:"string"`
22782
22783	// The ARN of the IAM role that is associated with the DB instance.
22784	RoleArn *string `type:"string"`
22785
22786	// Describes the state of the association between the IAM role and the DB instance.
22787	// The Status property returns one of the following values:
22788	//
22789	//    * ACTIVE - The IAM role ARN is associated with the DB instance and can
22790	//    be used to access other Amazon Web Services services on your behalf.
22791	//
22792	//    * PENDING - The IAM role ARN is being associated with the DB instance.
22793	//
22794	//    * INVALID - The IAM role ARN is associated with the DB instance. But the
22795	//    DB instance is unable to assume the IAM role in order to access other
22796	//    Amazon Web Services services on your behalf.
22797	Status *string `type:"string"`
22798}
22799
22800// String returns the string representation.
22801//
22802// API parameter values that are decorated as "sensitive" in the API will not
22803// be included in the string output. The member name will be present, but the
22804// value will be replaced with "sensitive".
22805func (s AwsRdsDbInstanceAssociatedRole) String() string {
22806	return awsutil.Prettify(s)
22807}
22808
22809// GoString returns the string representation.
22810//
22811// API parameter values that are decorated as "sensitive" in the API will not
22812// be included in the string output. The member name will be present, but the
22813// value will be replaced with "sensitive".
22814func (s AwsRdsDbInstanceAssociatedRole) GoString() string {
22815	return s.String()
22816}
22817
22818// SetFeatureName sets the FeatureName field's value.
22819func (s *AwsRdsDbInstanceAssociatedRole) SetFeatureName(v string) *AwsRdsDbInstanceAssociatedRole {
22820	s.FeatureName = &v
22821	return s
22822}
22823
22824// SetRoleArn sets the RoleArn field's value.
22825func (s *AwsRdsDbInstanceAssociatedRole) SetRoleArn(v string) *AwsRdsDbInstanceAssociatedRole {
22826	s.RoleArn = &v
22827	return s
22828}
22829
22830// SetStatus sets the Status field's value.
22831func (s *AwsRdsDbInstanceAssociatedRole) SetStatus(v string) *AwsRdsDbInstanceAssociatedRole {
22832	s.Status = &v
22833	return s
22834}
22835
22836// Contains the details of an Amazon RDS DB instance.
22837type AwsRdsDbInstanceDetails struct {
22838	_ struct{} `type:"structure"`
22839
22840	// The amount of storage (in gigabytes) to initially allocate for the DB instance.
22841	AllocatedStorage *int64 `type:"integer"`
22842
22843	// The IAM roles associated with the DB instance.
22844	AssociatedRoles []*AwsRdsDbInstanceAssociatedRole `type:"list"`
22845
22846	// Indicates whether minor version patches are applied automatically.
22847	AutoMinorVersionUpgrade *bool `type:"boolean"`
22848
22849	// The Availability Zone where the DB instance will be created.
22850	AvailabilityZone *string `type:"string"`
22851
22852	// The number of days for which to retain automated backups.
22853	BackupRetentionPeriod *int64 `type:"integer"`
22854
22855	// The identifier of the CA certificate for this DB instance.
22856	CACertificateIdentifier *string `type:"string"`
22857
22858	// The name of the character set that this DB instance is associated with.
22859	CharacterSetName *string `type:"string"`
22860
22861	// Whether to copy resource tags to snapshots of the DB instance.
22862	CopyTagsToSnapshot *bool `type:"boolean"`
22863
22864	// If the DB instance is a member of a DB cluster, contains the name of the
22865	// DB cluster that the DB instance is a member of.
22866	DBClusterIdentifier *string `type:"string"`
22867
22868	// Contains the name of the compute and memory capacity class of the DB instance.
22869	DBInstanceClass *string `type:"string"`
22870
22871	// Contains a user-supplied database identifier. This identifier is the unique
22872	// key that identifies a DB instance.
22873	DBInstanceIdentifier *string `type:"string"`
22874
22875	// The meaning of this parameter differs according to the database engine you
22876	// use.
22877	//
22878	// MySQL, MariaDB, SQL Server, PostgreSQL
22879	//
22880	// Contains the name of the initial database of this instance that was provided
22881	// at create time, if one was specified when the DB instance was created. This
22882	// same name is returned for the life of the DB instance.
22883	//
22884	// Oracle
22885	//
22886	// Contains the Oracle System ID (SID) of the created DB instance. Not shown
22887	// when the returned parameters do not apply to an Oracle DB instance.
22888	DBName *string `type:"string"`
22889
22890	// Specifies the port that the DB instance listens on. If the DB instance is
22891	// part of a DB cluster, this can be a different port than the DB cluster port.
22892	DbInstancePort *int64 `type:"integer"`
22893
22894	// The current status of the DB instance.
22895	DbInstanceStatus *string `type:"string"`
22896
22897	// A list of the DB parameter groups to assign to the DB instance.
22898	DbParameterGroups []*AwsRdsDbParameterGroup `type:"list"`
22899
22900	// A list of the DB security groups to assign to the DB instance.
22901	DbSecurityGroups []*string `type:"list"`
22902
22903	// Information about the subnet group that is associated with the DB instance.
22904	DbSubnetGroup *AwsRdsDbSubnetGroup `type:"structure"`
22905
22906	// The Amazon Web Services Region-unique, immutable identifier for the DB instance.
22907	// This identifier is found in CloudTrail log entries whenever the KMS key for
22908	// the DB instance is accessed.
22909	DbiResourceId *string `type:"string"`
22910
22911	// Indicates whether the DB instance has deletion protection enabled.
22912	//
22913	// When deletion protection is enabled, the database cannot be deleted.
22914	DeletionProtection *bool `type:"boolean"`
22915
22916	// The Active Directory domain membership records associated with the DB instance.
22917	DomainMemberships []*AwsRdsDbDomainMembership `type:"list"`
22918
22919	// A list of log types that this DB instance is configured to export to CloudWatch
22920	// Logs.
22921	EnabledCloudWatchLogsExports []*string `type:"list"`
22922
22923	// Specifies the connection endpoint.
22924	Endpoint *AwsRdsDbInstanceEndpoint `type:"structure"`
22925
22926	// Provides the name of the database engine to use for this DB instance.
22927	Engine *string `type:"string"`
22928
22929	// Indicates the database engine version.
22930	EngineVersion *string `type:"string"`
22931
22932	// The ARN of the CloudWatch Logs log stream that receives the enhanced monitoring
22933	// metrics data for the DB instance.
22934	EnhancedMonitoringResourceArn *string `type:"string"`
22935
22936	// True if mapping of IAM accounts to database accounts is enabled, and otherwise
22937	// false.
22938	//
22939	// IAM database authentication can be enabled for the following database engines.
22940	//
22941	//    * For MySQL 5.6, minor version 5.6.34 or higher
22942	//
22943	//    * For MySQL 5.7, minor version 5.7.16 or higher
22944	//
22945	//    * Aurora 5.6 or higher
22946	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
22947
22948	// Indicates when the DB instance was created.
22949	//
22950	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
22951	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
22952	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
22953	InstanceCreateTime *string `type:"string"`
22954
22955	// Specifies the provisioned IOPS (I/O operations per second) for this DB instance.
22956	Iops *int64 `type:"integer"`
22957
22958	// If StorageEncrypted is true, the KMS key identifier for the encrypted DB
22959	// instance.
22960	KmsKeyId *string `type:"string"`
22961
22962	// Specifies the latest time to which a database can be restored with point-in-time
22963	// restore.
22964	//
22965	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
22966	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
22967	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
22968	LatestRestorableTime *string `type:"string"`
22969
22970	// License model information for this DB instance.
22971	LicenseModel *string `type:"string"`
22972
22973	// Specifies the connection endpoint.
22974	ListenerEndpoint *AwsRdsDbInstanceEndpoint `type:"structure"`
22975
22976	// The master user name of the DB instance.
22977	MasterUsername *string `type:"string"`
22978
22979	// The upper limit to which Amazon RDS can automatically scale the storage of
22980	// the DB instance.
22981	MaxAllocatedStorage *int64 `type:"integer"`
22982
22983	// The interval, in seconds, between points when enhanced monitoring metrics
22984	// are collected for the DB instance.
22985	MonitoringInterval *int64 `type:"integer"`
22986
22987	// The ARN for the IAM role that permits Amazon RDS to send enhanced monitoring
22988	// metrics to CloudWatch Logs.
22989	MonitoringRoleArn *string `type:"string"`
22990
22991	// Whether the DB instance is a multiple Availability Zone deployment.
22992	MultiAz *bool `type:"boolean"`
22993
22994	// The list of option group memberships for this DB instance.
22995	OptionGroupMemberships []*AwsRdsDbOptionGroupMembership `type:"list"`
22996
22997	// Changes to the DB instance that are currently pending.
22998	PendingModifiedValues *AwsRdsDbPendingModifiedValues `type:"structure"`
22999
23000	// Indicates whether Performance Insights is enabled for the DB instance.
23001	PerformanceInsightsEnabled *bool `type:"boolean"`
23002
23003	// The identifier of the KMS key used to encrypt the Performance Insights data.
23004	PerformanceInsightsKmsKeyId *string `type:"string"`
23005
23006	// The number of days to retain Performance Insights data.
23007	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
23008
23009	// The range of time each day when automated backups are created, if automated
23010	// backups are enabled.
23011	//
23012	// Uses the format HH:MM-HH:MM. For example, 04:52-05:22.
23013	PreferredBackupWindow *string `type:"string"`
23014
23015	// The weekly time range during which system maintenance can occur, in Universal
23016	// Coordinated Time (UTC).
23017	//
23018	// Uses the format <day>:HH:MM-<day>:HH:MM.
23019	//
23020	// For the day values, use mon|tue|wed|thu|fri|sat|sun.
23021	//
23022	// For example, sun:09:32-sun:10:02.
23023	PreferredMaintenanceWindow *string `type:"string"`
23024
23025	// The number of CPU cores and the number of threads per core for the DB instance
23026	// class of the DB instance.
23027	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
23028
23029	// The order in which to promote an Aurora replica to the primary instance after
23030	// a failure of the existing primary instance.
23031	PromotionTier *int64 `type:"integer"`
23032
23033	// Specifies the accessibility options for the DB instance.
23034	//
23035	// A value of true specifies an Internet-facing instance with a publicly resolvable
23036	// DNS name, which resolves to a public IP address.
23037	//
23038	// A value of false specifies an internal instance with a DNS name that resolves
23039	// to a private IP address.
23040	PubliclyAccessible *bool `type:"boolean"`
23041
23042	// List of identifiers of Aurora DB clusters to which the RDS DB instance is
23043	// replicated as a read replica.
23044	ReadReplicaDBClusterIdentifiers []*string `type:"list"`
23045
23046	// List of identifiers of the read replicas associated with this DB instance.
23047	ReadReplicaDBInstanceIdentifiers []*string `type:"list"`
23048
23049	// If this DB instance is a read replica, contains the identifier of the source
23050	// DB instance.
23051	ReadReplicaSourceDBInstanceIdentifier *string `type:"string"`
23052
23053	// For a DB instance with multi-Availability Zone support, the name of the secondary
23054	// Availability Zone.
23055	SecondaryAvailabilityZone *string `type:"string"`
23056
23057	// The status of a read replica. If the instance isn't a read replica, this
23058	// is empty.
23059	StatusInfos []*AwsRdsDbStatusInfo `type:"list"`
23060
23061	// Specifies whether the DB instance is encrypted.
23062	StorageEncrypted *bool `type:"boolean"`
23063
23064	// The storage type for the DB instance.
23065	StorageType *string `type:"string"`
23066
23067	// The ARN from the key store with which the instance is associated for TDE
23068	// encryption.
23069	TdeCredentialArn *string `type:"string"`
23070
23071	// The time zone of the DB instance.
23072	Timezone *string `type:"string"`
23073
23074	// A list of VPC security groups that the DB instance belongs to.
23075	VpcSecurityGroups []*AwsRdsDbInstanceVpcSecurityGroup `type:"list"`
23076}
23077
23078// String returns the string representation.
23079//
23080// API parameter values that are decorated as "sensitive" in the API will not
23081// be included in the string output. The member name will be present, but the
23082// value will be replaced with "sensitive".
23083func (s AwsRdsDbInstanceDetails) String() string {
23084	return awsutil.Prettify(s)
23085}
23086
23087// GoString returns the string representation.
23088//
23089// API parameter values that are decorated as "sensitive" in the API will not
23090// be included in the string output. The member name will be present, but the
23091// value will be replaced with "sensitive".
23092func (s AwsRdsDbInstanceDetails) GoString() string {
23093	return s.String()
23094}
23095
23096// SetAllocatedStorage sets the AllocatedStorage field's value.
23097func (s *AwsRdsDbInstanceDetails) SetAllocatedStorage(v int64) *AwsRdsDbInstanceDetails {
23098	s.AllocatedStorage = &v
23099	return s
23100}
23101
23102// SetAssociatedRoles sets the AssociatedRoles field's value.
23103func (s *AwsRdsDbInstanceDetails) SetAssociatedRoles(v []*AwsRdsDbInstanceAssociatedRole) *AwsRdsDbInstanceDetails {
23104	s.AssociatedRoles = v
23105	return s
23106}
23107
23108// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
23109func (s *AwsRdsDbInstanceDetails) SetAutoMinorVersionUpgrade(v bool) *AwsRdsDbInstanceDetails {
23110	s.AutoMinorVersionUpgrade = &v
23111	return s
23112}
23113
23114// SetAvailabilityZone sets the AvailabilityZone field's value.
23115func (s *AwsRdsDbInstanceDetails) SetAvailabilityZone(v string) *AwsRdsDbInstanceDetails {
23116	s.AvailabilityZone = &v
23117	return s
23118}
23119
23120// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
23121func (s *AwsRdsDbInstanceDetails) SetBackupRetentionPeriod(v int64) *AwsRdsDbInstanceDetails {
23122	s.BackupRetentionPeriod = &v
23123	return s
23124}
23125
23126// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
23127func (s *AwsRdsDbInstanceDetails) SetCACertificateIdentifier(v string) *AwsRdsDbInstanceDetails {
23128	s.CACertificateIdentifier = &v
23129	return s
23130}
23131
23132// SetCharacterSetName sets the CharacterSetName field's value.
23133func (s *AwsRdsDbInstanceDetails) SetCharacterSetName(v string) *AwsRdsDbInstanceDetails {
23134	s.CharacterSetName = &v
23135	return s
23136}
23137
23138// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
23139func (s *AwsRdsDbInstanceDetails) SetCopyTagsToSnapshot(v bool) *AwsRdsDbInstanceDetails {
23140	s.CopyTagsToSnapshot = &v
23141	return s
23142}
23143
23144// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
23145func (s *AwsRdsDbInstanceDetails) SetDBClusterIdentifier(v string) *AwsRdsDbInstanceDetails {
23146	s.DBClusterIdentifier = &v
23147	return s
23148}
23149
23150// SetDBInstanceClass sets the DBInstanceClass field's value.
23151func (s *AwsRdsDbInstanceDetails) SetDBInstanceClass(v string) *AwsRdsDbInstanceDetails {
23152	s.DBInstanceClass = &v
23153	return s
23154}
23155
23156// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
23157func (s *AwsRdsDbInstanceDetails) SetDBInstanceIdentifier(v string) *AwsRdsDbInstanceDetails {
23158	s.DBInstanceIdentifier = &v
23159	return s
23160}
23161
23162// SetDBName sets the DBName field's value.
23163func (s *AwsRdsDbInstanceDetails) SetDBName(v string) *AwsRdsDbInstanceDetails {
23164	s.DBName = &v
23165	return s
23166}
23167
23168// SetDbInstancePort sets the DbInstancePort field's value.
23169func (s *AwsRdsDbInstanceDetails) SetDbInstancePort(v int64) *AwsRdsDbInstanceDetails {
23170	s.DbInstancePort = &v
23171	return s
23172}
23173
23174// SetDbInstanceStatus sets the DbInstanceStatus field's value.
23175func (s *AwsRdsDbInstanceDetails) SetDbInstanceStatus(v string) *AwsRdsDbInstanceDetails {
23176	s.DbInstanceStatus = &v
23177	return s
23178}
23179
23180// SetDbParameterGroups sets the DbParameterGroups field's value.
23181func (s *AwsRdsDbInstanceDetails) SetDbParameterGroups(v []*AwsRdsDbParameterGroup) *AwsRdsDbInstanceDetails {
23182	s.DbParameterGroups = v
23183	return s
23184}
23185
23186// SetDbSecurityGroups sets the DbSecurityGroups field's value.
23187func (s *AwsRdsDbInstanceDetails) SetDbSecurityGroups(v []*string) *AwsRdsDbInstanceDetails {
23188	s.DbSecurityGroups = v
23189	return s
23190}
23191
23192// SetDbSubnetGroup sets the DbSubnetGroup field's value.
23193func (s *AwsRdsDbInstanceDetails) SetDbSubnetGroup(v *AwsRdsDbSubnetGroup) *AwsRdsDbInstanceDetails {
23194	s.DbSubnetGroup = v
23195	return s
23196}
23197
23198// SetDbiResourceId sets the DbiResourceId field's value.
23199func (s *AwsRdsDbInstanceDetails) SetDbiResourceId(v string) *AwsRdsDbInstanceDetails {
23200	s.DbiResourceId = &v
23201	return s
23202}
23203
23204// SetDeletionProtection sets the DeletionProtection field's value.
23205func (s *AwsRdsDbInstanceDetails) SetDeletionProtection(v bool) *AwsRdsDbInstanceDetails {
23206	s.DeletionProtection = &v
23207	return s
23208}
23209
23210// SetDomainMemberships sets the DomainMemberships field's value.
23211func (s *AwsRdsDbInstanceDetails) SetDomainMemberships(v []*AwsRdsDbDomainMembership) *AwsRdsDbInstanceDetails {
23212	s.DomainMemberships = v
23213	return s
23214}
23215
23216// SetEnabledCloudWatchLogsExports sets the EnabledCloudWatchLogsExports field's value.
23217func (s *AwsRdsDbInstanceDetails) SetEnabledCloudWatchLogsExports(v []*string) *AwsRdsDbInstanceDetails {
23218	s.EnabledCloudWatchLogsExports = v
23219	return s
23220}
23221
23222// SetEndpoint sets the Endpoint field's value.
23223func (s *AwsRdsDbInstanceDetails) SetEndpoint(v *AwsRdsDbInstanceEndpoint) *AwsRdsDbInstanceDetails {
23224	s.Endpoint = v
23225	return s
23226}
23227
23228// SetEngine sets the Engine field's value.
23229func (s *AwsRdsDbInstanceDetails) SetEngine(v string) *AwsRdsDbInstanceDetails {
23230	s.Engine = &v
23231	return s
23232}
23233
23234// SetEngineVersion sets the EngineVersion field's value.
23235func (s *AwsRdsDbInstanceDetails) SetEngineVersion(v string) *AwsRdsDbInstanceDetails {
23236	s.EngineVersion = &v
23237	return s
23238}
23239
23240// SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value.
23241func (s *AwsRdsDbInstanceDetails) SetEnhancedMonitoringResourceArn(v string) *AwsRdsDbInstanceDetails {
23242	s.EnhancedMonitoringResourceArn = &v
23243	return s
23244}
23245
23246// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
23247func (s *AwsRdsDbInstanceDetails) SetIAMDatabaseAuthenticationEnabled(v bool) *AwsRdsDbInstanceDetails {
23248	s.IAMDatabaseAuthenticationEnabled = &v
23249	return s
23250}
23251
23252// SetInstanceCreateTime sets the InstanceCreateTime field's value.
23253func (s *AwsRdsDbInstanceDetails) SetInstanceCreateTime(v string) *AwsRdsDbInstanceDetails {
23254	s.InstanceCreateTime = &v
23255	return s
23256}
23257
23258// SetIops sets the Iops field's value.
23259func (s *AwsRdsDbInstanceDetails) SetIops(v int64) *AwsRdsDbInstanceDetails {
23260	s.Iops = &v
23261	return s
23262}
23263
23264// SetKmsKeyId sets the KmsKeyId field's value.
23265func (s *AwsRdsDbInstanceDetails) SetKmsKeyId(v string) *AwsRdsDbInstanceDetails {
23266	s.KmsKeyId = &v
23267	return s
23268}
23269
23270// SetLatestRestorableTime sets the LatestRestorableTime field's value.
23271func (s *AwsRdsDbInstanceDetails) SetLatestRestorableTime(v string) *AwsRdsDbInstanceDetails {
23272	s.LatestRestorableTime = &v
23273	return s
23274}
23275
23276// SetLicenseModel sets the LicenseModel field's value.
23277func (s *AwsRdsDbInstanceDetails) SetLicenseModel(v string) *AwsRdsDbInstanceDetails {
23278	s.LicenseModel = &v
23279	return s
23280}
23281
23282// SetListenerEndpoint sets the ListenerEndpoint field's value.
23283func (s *AwsRdsDbInstanceDetails) SetListenerEndpoint(v *AwsRdsDbInstanceEndpoint) *AwsRdsDbInstanceDetails {
23284	s.ListenerEndpoint = v
23285	return s
23286}
23287
23288// SetMasterUsername sets the MasterUsername field's value.
23289func (s *AwsRdsDbInstanceDetails) SetMasterUsername(v string) *AwsRdsDbInstanceDetails {
23290	s.MasterUsername = &v
23291	return s
23292}
23293
23294// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
23295func (s *AwsRdsDbInstanceDetails) SetMaxAllocatedStorage(v int64) *AwsRdsDbInstanceDetails {
23296	s.MaxAllocatedStorage = &v
23297	return s
23298}
23299
23300// SetMonitoringInterval sets the MonitoringInterval field's value.
23301func (s *AwsRdsDbInstanceDetails) SetMonitoringInterval(v int64) *AwsRdsDbInstanceDetails {
23302	s.MonitoringInterval = &v
23303	return s
23304}
23305
23306// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
23307func (s *AwsRdsDbInstanceDetails) SetMonitoringRoleArn(v string) *AwsRdsDbInstanceDetails {
23308	s.MonitoringRoleArn = &v
23309	return s
23310}
23311
23312// SetMultiAz sets the MultiAz field's value.
23313func (s *AwsRdsDbInstanceDetails) SetMultiAz(v bool) *AwsRdsDbInstanceDetails {
23314	s.MultiAz = &v
23315	return s
23316}
23317
23318// SetOptionGroupMemberships sets the OptionGroupMemberships field's value.
23319func (s *AwsRdsDbInstanceDetails) SetOptionGroupMemberships(v []*AwsRdsDbOptionGroupMembership) *AwsRdsDbInstanceDetails {
23320	s.OptionGroupMemberships = v
23321	return s
23322}
23323
23324// SetPendingModifiedValues sets the PendingModifiedValues field's value.
23325func (s *AwsRdsDbInstanceDetails) SetPendingModifiedValues(v *AwsRdsDbPendingModifiedValues) *AwsRdsDbInstanceDetails {
23326	s.PendingModifiedValues = v
23327	return s
23328}
23329
23330// SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value.
23331func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsEnabled(v bool) *AwsRdsDbInstanceDetails {
23332	s.PerformanceInsightsEnabled = &v
23333	return s
23334}
23335
23336// SetPerformanceInsightsKmsKeyId sets the PerformanceInsightsKmsKeyId field's value.
23337func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsKmsKeyId(v string) *AwsRdsDbInstanceDetails {
23338	s.PerformanceInsightsKmsKeyId = &v
23339	return s
23340}
23341
23342// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
23343func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsRetentionPeriod(v int64) *AwsRdsDbInstanceDetails {
23344	s.PerformanceInsightsRetentionPeriod = &v
23345	return s
23346}
23347
23348// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
23349func (s *AwsRdsDbInstanceDetails) SetPreferredBackupWindow(v string) *AwsRdsDbInstanceDetails {
23350	s.PreferredBackupWindow = &v
23351	return s
23352}
23353
23354// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
23355func (s *AwsRdsDbInstanceDetails) SetPreferredMaintenanceWindow(v string) *AwsRdsDbInstanceDetails {
23356	s.PreferredMaintenanceWindow = &v
23357	return s
23358}
23359
23360// SetProcessorFeatures sets the ProcessorFeatures field's value.
23361func (s *AwsRdsDbInstanceDetails) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbInstanceDetails {
23362	s.ProcessorFeatures = v
23363	return s
23364}
23365
23366// SetPromotionTier sets the PromotionTier field's value.
23367func (s *AwsRdsDbInstanceDetails) SetPromotionTier(v int64) *AwsRdsDbInstanceDetails {
23368	s.PromotionTier = &v
23369	return s
23370}
23371
23372// SetPubliclyAccessible sets the PubliclyAccessible field's value.
23373func (s *AwsRdsDbInstanceDetails) SetPubliclyAccessible(v bool) *AwsRdsDbInstanceDetails {
23374	s.PubliclyAccessible = &v
23375	return s
23376}
23377
23378// SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value.
23379func (s *AwsRdsDbInstanceDetails) SetReadReplicaDBClusterIdentifiers(v []*string) *AwsRdsDbInstanceDetails {
23380	s.ReadReplicaDBClusterIdentifiers = v
23381	return s
23382}
23383
23384// SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value.
23385func (s *AwsRdsDbInstanceDetails) SetReadReplicaDBInstanceIdentifiers(v []*string) *AwsRdsDbInstanceDetails {
23386	s.ReadReplicaDBInstanceIdentifiers = v
23387	return s
23388}
23389
23390// SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value.
23391func (s *AwsRdsDbInstanceDetails) SetReadReplicaSourceDBInstanceIdentifier(v string) *AwsRdsDbInstanceDetails {
23392	s.ReadReplicaSourceDBInstanceIdentifier = &v
23393	return s
23394}
23395
23396// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
23397func (s *AwsRdsDbInstanceDetails) SetSecondaryAvailabilityZone(v string) *AwsRdsDbInstanceDetails {
23398	s.SecondaryAvailabilityZone = &v
23399	return s
23400}
23401
23402// SetStatusInfos sets the StatusInfos field's value.
23403func (s *AwsRdsDbInstanceDetails) SetStatusInfos(v []*AwsRdsDbStatusInfo) *AwsRdsDbInstanceDetails {
23404	s.StatusInfos = v
23405	return s
23406}
23407
23408// SetStorageEncrypted sets the StorageEncrypted field's value.
23409func (s *AwsRdsDbInstanceDetails) SetStorageEncrypted(v bool) *AwsRdsDbInstanceDetails {
23410	s.StorageEncrypted = &v
23411	return s
23412}
23413
23414// SetStorageType sets the StorageType field's value.
23415func (s *AwsRdsDbInstanceDetails) SetStorageType(v string) *AwsRdsDbInstanceDetails {
23416	s.StorageType = &v
23417	return s
23418}
23419
23420// SetTdeCredentialArn sets the TdeCredentialArn field's value.
23421func (s *AwsRdsDbInstanceDetails) SetTdeCredentialArn(v string) *AwsRdsDbInstanceDetails {
23422	s.TdeCredentialArn = &v
23423	return s
23424}
23425
23426// SetTimezone sets the Timezone field's value.
23427func (s *AwsRdsDbInstanceDetails) SetTimezone(v string) *AwsRdsDbInstanceDetails {
23428	s.Timezone = &v
23429	return s
23430}
23431
23432// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
23433func (s *AwsRdsDbInstanceDetails) SetVpcSecurityGroups(v []*AwsRdsDbInstanceVpcSecurityGroup) *AwsRdsDbInstanceDetails {
23434	s.VpcSecurityGroups = v
23435	return s
23436}
23437
23438// Specifies the connection endpoint.
23439type AwsRdsDbInstanceEndpoint struct {
23440	_ struct{} `type:"structure"`
23441
23442	// Specifies the DNS address of the DB instance.
23443	Address *string `type:"string"`
23444
23445	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
23446	HostedZoneId *string `type:"string"`
23447
23448	// Specifies the port that the database engine is listening on.
23449	Port *int64 `type:"integer"`
23450}
23451
23452// String returns the string representation.
23453//
23454// API parameter values that are decorated as "sensitive" in the API will not
23455// be included in the string output. The member name will be present, but the
23456// value will be replaced with "sensitive".
23457func (s AwsRdsDbInstanceEndpoint) String() string {
23458	return awsutil.Prettify(s)
23459}
23460
23461// GoString returns the string representation.
23462//
23463// API parameter values that are decorated as "sensitive" in the API will not
23464// be included in the string output. The member name will be present, but the
23465// value will be replaced with "sensitive".
23466func (s AwsRdsDbInstanceEndpoint) GoString() string {
23467	return s.String()
23468}
23469
23470// SetAddress sets the Address field's value.
23471func (s *AwsRdsDbInstanceEndpoint) SetAddress(v string) *AwsRdsDbInstanceEndpoint {
23472	s.Address = &v
23473	return s
23474}
23475
23476// SetHostedZoneId sets the HostedZoneId field's value.
23477func (s *AwsRdsDbInstanceEndpoint) SetHostedZoneId(v string) *AwsRdsDbInstanceEndpoint {
23478	s.HostedZoneId = &v
23479	return s
23480}
23481
23482// SetPort sets the Port field's value.
23483func (s *AwsRdsDbInstanceEndpoint) SetPort(v int64) *AwsRdsDbInstanceEndpoint {
23484	s.Port = &v
23485	return s
23486}
23487
23488// A VPC security groups that the DB instance belongs to.
23489type AwsRdsDbInstanceVpcSecurityGroup struct {
23490	_ struct{} `type:"structure"`
23491
23492	// The status of the VPC security group.
23493	Status *string `type:"string"`
23494
23495	// The name of the VPC security group.
23496	VpcSecurityGroupId *string `type:"string"`
23497}
23498
23499// String returns the string representation.
23500//
23501// API parameter values that are decorated as "sensitive" in the API will not
23502// be included in the string output. The member name will be present, but the
23503// value will be replaced with "sensitive".
23504func (s AwsRdsDbInstanceVpcSecurityGroup) String() string {
23505	return awsutil.Prettify(s)
23506}
23507
23508// GoString returns the string representation.
23509//
23510// API parameter values that are decorated as "sensitive" in the API will not
23511// be included in the string output. The member name will be present, but the
23512// value will be replaced with "sensitive".
23513func (s AwsRdsDbInstanceVpcSecurityGroup) GoString() string {
23514	return s.String()
23515}
23516
23517// SetStatus sets the Status field's value.
23518func (s *AwsRdsDbInstanceVpcSecurityGroup) SetStatus(v string) *AwsRdsDbInstanceVpcSecurityGroup {
23519	s.Status = &v
23520	return s
23521}
23522
23523// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
23524func (s *AwsRdsDbInstanceVpcSecurityGroup) SetVpcSecurityGroupId(v string) *AwsRdsDbInstanceVpcSecurityGroup {
23525	s.VpcSecurityGroupId = &v
23526	return s
23527}
23528
23529// An option group membership.
23530type AwsRdsDbOptionGroupMembership struct {
23531	_ struct{} `type:"structure"`
23532
23533	// The name of the option group.
23534	OptionGroupName *string `type:"string"`
23535
23536	// The status of the option group membership.
23537	Status *string `type:"string"`
23538}
23539
23540// String returns the string representation.
23541//
23542// API parameter values that are decorated as "sensitive" in the API will not
23543// be included in the string output. The member name will be present, but the
23544// value will be replaced with "sensitive".
23545func (s AwsRdsDbOptionGroupMembership) String() string {
23546	return awsutil.Prettify(s)
23547}
23548
23549// GoString returns the string representation.
23550//
23551// API parameter values that are decorated as "sensitive" in the API will not
23552// be included in the string output. The member name will be present, but the
23553// value will be replaced with "sensitive".
23554func (s AwsRdsDbOptionGroupMembership) GoString() string {
23555	return s.String()
23556}
23557
23558// SetOptionGroupName sets the OptionGroupName field's value.
23559func (s *AwsRdsDbOptionGroupMembership) SetOptionGroupName(v string) *AwsRdsDbOptionGroupMembership {
23560	s.OptionGroupName = &v
23561	return s
23562}
23563
23564// SetStatus sets the Status field's value.
23565func (s *AwsRdsDbOptionGroupMembership) SetStatus(v string) *AwsRdsDbOptionGroupMembership {
23566	s.Status = &v
23567	return s
23568}
23569
23570// Provides information about a parameter group for a DB instance.
23571type AwsRdsDbParameterGroup struct {
23572	_ struct{} `type:"structure"`
23573
23574	// The name of the parameter group.
23575	DbParameterGroupName *string `type:"string"`
23576
23577	// The status of parameter updates.
23578	ParameterApplyStatus *string `type:"string"`
23579}
23580
23581// String returns the string representation.
23582//
23583// API parameter values that are decorated as "sensitive" in the API will not
23584// be included in the string output. The member name will be present, but the
23585// value will be replaced with "sensitive".
23586func (s AwsRdsDbParameterGroup) String() string {
23587	return awsutil.Prettify(s)
23588}
23589
23590// GoString returns the string representation.
23591//
23592// API parameter values that are decorated as "sensitive" in the API will not
23593// be included in the string output. The member name will be present, but the
23594// value will be replaced with "sensitive".
23595func (s AwsRdsDbParameterGroup) GoString() string {
23596	return s.String()
23597}
23598
23599// SetDbParameterGroupName sets the DbParameterGroupName field's value.
23600func (s *AwsRdsDbParameterGroup) SetDbParameterGroupName(v string) *AwsRdsDbParameterGroup {
23601	s.DbParameterGroupName = &v
23602	return s
23603}
23604
23605// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
23606func (s *AwsRdsDbParameterGroup) SetParameterApplyStatus(v string) *AwsRdsDbParameterGroup {
23607	s.ParameterApplyStatus = &v
23608	return s
23609}
23610
23611// Changes to a DB instance that are currently pending.
23612type AwsRdsDbPendingModifiedValues struct {
23613	_ struct{} `type:"structure"`
23614
23615	// The new value of the allocated storage for the DB instance.
23616	AllocatedStorage *int64 `type:"integer"`
23617
23618	// The new backup retention period for the DB instance.
23619	BackupRetentionPeriod *int64 `type:"integer"`
23620
23621	// The new CA certificate identifier for the DB instance.
23622	CaCertificateIdentifier *string `type:"string"`
23623
23624	// The new DB instance class for the DB instance.
23625	DbInstanceClass *string `type:"string"`
23626
23627	// The new DB instance identifier for the DB instance.
23628	DbInstanceIdentifier *string `type:"string"`
23629
23630	// The name of the new subnet group for the DB instance.
23631	DbSubnetGroupName *string `type:"string"`
23632
23633	// The new engine version for the DB instance.
23634	EngineVersion *string `type:"string"`
23635
23636	// The new provisioned IOPS value for the DB instance.
23637	Iops *int64 `type:"integer"`
23638
23639	// The new license model value for the DB instance.
23640	LicenseModel *string `type:"string"`
23641
23642	// The new master user password for the DB instance.
23643	MasterUserPassword *string `type:"string"`
23644
23645	// Indicates that a single Availability Zone DB instance is changing to a multiple
23646	// Availability Zone deployment.
23647	MultiAZ *bool `type:"boolean"`
23648
23649	// A list of log types that are being enabled or disabled.
23650	PendingCloudWatchLogsExports *AwsRdsPendingCloudWatchLogsExports `type:"structure"`
23651
23652	// The new port for the DB instance.
23653	Port *int64 `type:"integer"`
23654
23655	// Processor features that are being updated.
23656	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
23657
23658	// The new storage type for the DB instance.
23659	StorageType *string `type:"string"`
23660}
23661
23662// String returns the string representation.
23663//
23664// API parameter values that are decorated as "sensitive" in the API will not
23665// be included in the string output. The member name will be present, but the
23666// value will be replaced with "sensitive".
23667func (s AwsRdsDbPendingModifiedValues) String() string {
23668	return awsutil.Prettify(s)
23669}
23670
23671// GoString returns the string representation.
23672//
23673// API parameter values that are decorated as "sensitive" in the API will not
23674// be included in the string output. The member name will be present, but the
23675// value will be replaced with "sensitive".
23676func (s AwsRdsDbPendingModifiedValues) GoString() string {
23677	return s.String()
23678}
23679
23680// SetAllocatedStorage sets the AllocatedStorage field's value.
23681func (s *AwsRdsDbPendingModifiedValues) SetAllocatedStorage(v int64) *AwsRdsDbPendingModifiedValues {
23682	s.AllocatedStorage = &v
23683	return s
23684}
23685
23686// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
23687func (s *AwsRdsDbPendingModifiedValues) SetBackupRetentionPeriod(v int64) *AwsRdsDbPendingModifiedValues {
23688	s.BackupRetentionPeriod = &v
23689	return s
23690}
23691
23692// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
23693func (s *AwsRdsDbPendingModifiedValues) SetCaCertificateIdentifier(v string) *AwsRdsDbPendingModifiedValues {
23694	s.CaCertificateIdentifier = &v
23695	return s
23696}
23697
23698// SetDbInstanceClass sets the DbInstanceClass field's value.
23699func (s *AwsRdsDbPendingModifiedValues) SetDbInstanceClass(v string) *AwsRdsDbPendingModifiedValues {
23700	s.DbInstanceClass = &v
23701	return s
23702}
23703
23704// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
23705func (s *AwsRdsDbPendingModifiedValues) SetDbInstanceIdentifier(v string) *AwsRdsDbPendingModifiedValues {
23706	s.DbInstanceIdentifier = &v
23707	return s
23708}
23709
23710// SetDbSubnetGroupName sets the DbSubnetGroupName field's value.
23711func (s *AwsRdsDbPendingModifiedValues) SetDbSubnetGroupName(v string) *AwsRdsDbPendingModifiedValues {
23712	s.DbSubnetGroupName = &v
23713	return s
23714}
23715
23716// SetEngineVersion sets the EngineVersion field's value.
23717func (s *AwsRdsDbPendingModifiedValues) SetEngineVersion(v string) *AwsRdsDbPendingModifiedValues {
23718	s.EngineVersion = &v
23719	return s
23720}
23721
23722// SetIops sets the Iops field's value.
23723func (s *AwsRdsDbPendingModifiedValues) SetIops(v int64) *AwsRdsDbPendingModifiedValues {
23724	s.Iops = &v
23725	return s
23726}
23727
23728// SetLicenseModel sets the LicenseModel field's value.
23729func (s *AwsRdsDbPendingModifiedValues) SetLicenseModel(v string) *AwsRdsDbPendingModifiedValues {
23730	s.LicenseModel = &v
23731	return s
23732}
23733
23734// SetMasterUserPassword sets the MasterUserPassword field's value.
23735func (s *AwsRdsDbPendingModifiedValues) SetMasterUserPassword(v string) *AwsRdsDbPendingModifiedValues {
23736	s.MasterUserPassword = &v
23737	return s
23738}
23739
23740// SetMultiAZ sets the MultiAZ field's value.
23741func (s *AwsRdsDbPendingModifiedValues) SetMultiAZ(v bool) *AwsRdsDbPendingModifiedValues {
23742	s.MultiAZ = &v
23743	return s
23744}
23745
23746// SetPendingCloudWatchLogsExports sets the PendingCloudWatchLogsExports field's value.
23747func (s *AwsRdsDbPendingModifiedValues) SetPendingCloudWatchLogsExports(v *AwsRdsPendingCloudWatchLogsExports) *AwsRdsDbPendingModifiedValues {
23748	s.PendingCloudWatchLogsExports = v
23749	return s
23750}
23751
23752// SetPort sets the Port field's value.
23753func (s *AwsRdsDbPendingModifiedValues) SetPort(v int64) *AwsRdsDbPendingModifiedValues {
23754	s.Port = &v
23755	return s
23756}
23757
23758// SetProcessorFeatures sets the ProcessorFeatures field's value.
23759func (s *AwsRdsDbPendingModifiedValues) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbPendingModifiedValues {
23760	s.ProcessorFeatures = v
23761	return s
23762}
23763
23764// SetStorageType sets the StorageType field's value.
23765func (s *AwsRdsDbPendingModifiedValues) SetStorageType(v string) *AwsRdsDbPendingModifiedValues {
23766	s.StorageType = &v
23767	return s
23768}
23769
23770// A processor feature.
23771type AwsRdsDbProcessorFeature struct {
23772	_ struct{} `type:"structure"`
23773
23774	// The name of the processor feature.
23775	Name *string `type:"string"`
23776
23777	// The value of the processor feature.
23778	Value *string `type:"string"`
23779}
23780
23781// String returns the string representation.
23782//
23783// API parameter values that are decorated as "sensitive" in the API will not
23784// be included in the string output. The member name will be present, but the
23785// value will be replaced with "sensitive".
23786func (s AwsRdsDbProcessorFeature) String() string {
23787	return awsutil.Prettify(s)
23788}
23789
23790// GoString returns the string representation.
23791//
23792// API parameter values that are decorated as "sensitive" in the API will not
23793// be included in the string output. The member name will be present, but the
23794// value will be replaced with "sensitive".
23795func (s AwsRdsDbProcessorFeature) GoString() string {
23796	return s.String()
23797}
23798
23799// SetName sets the Name field's value.
23800func (s *AwsRdsDbProcessorFeature) SetName(v string) *AwsRdsDbProcessorFeature {
23801	s.Name = &v
23802	return s
23803}
23804
23805// SetValue sets the Value field's value.
23806func (s *AwsRdsDbProcessorFeature) SetValue(v string) *AwsRdsDbProcessorFeature {
23807	s.Value = &v
23808	return s
23809}
23810
23811// Provides details about an Amazon RDS DB cluster snapshot.
23812type AwsRdsDbSnapshotDetails struct {
23813	_ struct{} `type:"structure"`
23814
23815	// The amount of storage (in gigabytes) to be initially allocated for the database
23816	// instance.
23817	AllocatedStorage *int64 `type:"integer"`
23818
23819	// Specifies the name of the Availability Zone in which the DB instance was
23820	// located at the time of the DB snapshot.
23821	AvailabilityZone *string `type:"string"`
23822
23823	// A name for the DB instance.
23824	DbInstanceIdentifier *string `type:"string"`
23825
23826	// The name or ARN of the DB snapshot that is used to restore the DB instance.
23827	DbSnapshotIdentifier *string `type:"string"`
23828
23829	// The identifier for the source DB instance.
23830	DbiResourceId *string `type:"string"`
23831
23832	// Whether the DB snapshot is encrypted.
23833	Encrypted *bool `type:"boolean"`
23834
23835	// The name of the database engine to use for this DB instance.
23836	Engine *string `type:"string"`
23837
23838	// The version of the database engine.
23839	EngineVersion *string `type:"string"`
23840
23841	// Whether mapping of IAM accounts to database accounts is enabled.
23842	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
23843
23844	// Specifies the time in Coordinated Universal Time (UTC) when the DB instance,
23845	// from which the snapshot was taken, was created.
23846	InstanceCreateTime *string `type:"string"`
23847
23848	// The provisioned IOPS (I/O operations per second) value of the DB instance
23849	// at the time of the snapshot.
23850	Iops *int64 `type:"integer"`
23851
23852	// If Encrypted is true, the KMS key identifier for the encrypted DB snapshot.
23853	KmsKeyId *string `type:"string"`
23854
23855	// License model information for the restored DB instance.
23856	LicenseModel *string `type:"string"`
23857
23858	// The master user name for the DB snapshot.
23859	MasterUsername *string `type:"string"`
23860
23861	// The option group name for the DB snapshot.
23862	OptionGroupName *string `type:"string"`
23863
23864	// The percentage of the estimated data that has been transferred.
23865	PercentProgress *int64 `type:"integer"`
23866
23867	// The port that the database engine was listening on at the time of the snapshot.
23868	Port *int64 `type:"integer"`
23869
23870	// The number of CPU cores and the number of threads per core for the DB instance
23871	// class of the DB instance.
23872	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
23873
23874	// When the snapshot was taken in Coordinated Universal Time (UTC).
23875	SnapshotCreateTime *string `type:"string"`
23876
23877	// The type of the DB snapshot.
23878	SnapshotType *string `type:"string"`
23879
23880	// The DB snapshot ARN that the DB snapshot was copied from.
23881	SourceDbSnapshotIdentifier *string `type:"string"`
23882
23883	// The Amazon Web Services Region that the DB snapshot was created in or copied
23884	// from.
23885	SourceRegion *string `type:"string"`
23886
23887	// The status of this DB snapshot.
23888	Status *string `type:"string"`
23889
23890	// The storage type associated with the DB snapshot.
23891	StorageType *string `type:"string"`
23892
23893	// The ARN from the key store with which to associate the instance for TDE encryption.
23894	TdeCredentialArn *string `type:"string"`
23895
23896	// The time zone of the DB snapshot.
23897	Timezone *string `type:"string"`
23898
23899	// The VPC ID associated with the DB snapshot.
23900	VpcId *string `type:"string"`
23901}
23902
23903// String returns the string representation.
23904//
23905// API parameter values that are decorated as "sensitive" in the API will not
23906// be included in the string output. The member name will be present, but the
23907// value will be replaced with "sensitive".
23908func (s AwsRdsDbSnapshotDetails) String() string {
23909	return awsutil.Prettify(s)
23910}
23911
23912// GoString returns the string representation.
23913//
23914// API parameter values that are decorated as "sensitive" in the API will not
23915// be included in the string output. The member name will be present, but the
23916// value will be replaced with "sensitive".
23917func (s AwsRdsDbSnapshotDetails) GoString() string {
23918	return s.String()
23919}
23920
23921// SetAllocatedStorage sets the AllocatedStorage field's value.
23922func (s *AwsRdsDbSnapshotDetails) SetAllocatedStorage(v int64) *AwsRdsDbSnapshotDetails {
23923	s.AllocatedStorage = &v
23924	return s
23925}
23926
23927// SetAvailabilityZone sets the AvailabilityZone field's value.
23928func (s *AwsRdsDbSnapshotDetails) SetAvailabilityZone(v string) *AwsRdsDbSnapshotDetails {
23929	s.AvailabilityZone = &v
23930	return s
23931}
23932
23933// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
23934func (s *AwsRdsDbSnapshotDetails) SetDbInstanceIdentifier(v string) *AwsRdsDbSnapshotDetails {
23935	s.DbInstanceIdentifier = &v
23936	return s
23937}
23938
23939// SetDbSnapshotIdentifier sets the DbSnapshotIdentifier field's value.
23940func (s *AwsRdsDbSnapshotDetails) SetDbSnapshotIdentifier(v string) *AwsRdsDbSnapshotDetails {
23941	s.DbSnapshotIdentifier = &v
23942	return s
23943}
23944
23945// SetDbiResourceId sets the DbiResourceId field's value.
23946func (s *AwsRdsDbSnapshotDetails) SetDbiResourceId(v string) *AwsRdsDbSnapshotDetails {
23947	s.DbiResourceId = &v
23948	return s
23949}
23950
23951// SetEncrypted sets the Encrypted field's value.
23952func (s *AwsRdsDbSnapshotDetails) SetEncrypted(v bool) *AwsRdsDbSnapshotDetails {
23953	s.Encrypted = &v
23954	return s
23955}
23956
23957// SetEngine sets the Engine field's value.
23958func (s *AwsRdsDbSnapshotDetails) SetEngine(v string) *AwsRdsDbSnapshotDetails {
23959	s.Engine = &v
23960	return s
23961}
23962
23963// SetEngineVersion sets the EngineVersion field's value.
23964func (s *AwsRdsDbSnapshotDetails) SetEngineVersion(v string) *AwsRdsDbSnapshotDetails {
23965	s.EngineVersion = &v
23966	return s
23967}
23968
23969// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
23970func (s *AwsRdsDbSnapshotDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbSnapshotDetails {
23971	s.IamDatabaseAuthenticationEnabled = &v
23972	return s
23973}
23974
23975// SetInstanceCreateTime sets the InstanceCreateTime field's value.
23976func (s *AwsRdsDbSnapshotDetails) SetInstanceCreateTime(v string) *AwsRdsDbSnapshotDetails {
23977	s.InstanceCreateTime = &v
23978	return s
23979}
23980
23981// SetIops sets the Iops field's value.
23982func (s *AwsRdsDbSnapshotDetails) SetIops(v int64) *AwsRdsDbSnapshotDetails {
23983	s.Iops = &v
23984	return s
23985}
23986
23987// SetKmsKeyId sets the KmsKeyId field's value.
23988func (s *AwsRdsDbSnapshotDetails) SetKmsKeyId(v string) *AwsRdsDbSnapshotDetails {
23989	s.KmsKeyId = &v
23990	return s
23991}
23992
23993// SetLicenseModel sets the LicenseModel field's value.
23994func (s *AwsRdsDbSnapshotDetails) SetLicenseModel(v string) *AwsRdsDbSnapshotDetails {
23995	s.LicenseModel = &v
23996	return s
23997}
23998
23999// SetMasterUsername sets the MasterUsername field's value.
24000func (s *AwsRdsDbSnapshotDetails) SetMasterUsername(v string) *AwsRdsDbSnapshotDetails {
24001	s.MasterUsername = &v
24002	return s
24003}
24004
24005// SetOptionGroupName sets the OptionGroupName field's value.
24006func (s *AwsRdsDbSnapshotDetails) SetOptionGroupName(v string) *AwsRdsDbSnapshotDetails {
24007	s.OptionGroupName = &v
24008	return s
24009}
24010
24011// SetPercentProgress sets the PercentProgress field's value.
24012func (s *AwsRdsDbSnapshotDetails) SetPercentProgress(v int64) *AwsRdsDbSnapshotDetails {
24013	s.PercentProgress = &v
24014	return s
24015}
24016
24017// SetPort sets the Port field's value.
24018func (s *AwsRdsDbSnapshotDetails) SetPort(v int64) *AwsRdsDbSnapshotDetails {
24019	s.Port = &v
24020	return s
24021}
24022
24023// SetProcessorFeatures sets the ProcessorFeatures field's value.
24024func (s *AwsRdsDbSnapshotDetails) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbSnapshotDetails {
24025	s.ProcessorFeatures = v
24026	return s
24027}
24028
24029// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
24030func (s *AwsRdsDbSnapshotDetails) SetSnapshotCreateTime(v string) *AwsRdsDbSnapshotDetails {
24031	s.SnapshotCreateTime = &v
24032	return s
24033}
24034
24035// SetSnapshotType sets the SnapshotType field's value.
24036func (s *AwsRdsDbSnapshotDetails) SetSnapshotType(v string) *AwsRdsDbSnapshotDetails {
24037	s.SnapshotType = &v
24038	return s
24039}
24040
24041// SetSourceDbSnapshotIdentifier sets the SourceDbSnapshotIdentifier field's value.
24042func (s *AwsRdsDbSnapshotDetails) SetSourceDbSnapshotIdentifier(v string) *AwsRdsDbSnapshotDetails {
24043	s.SourceDbSnapshotIdentifier = &v
24044	return s
24045}
24046
24047// SetSourceRegion sets the SourceRegion field's value.
24048func (s *AwsRdsDbSnapshotDetails) SetSourceRegion(v string) *AwsRdsDbSnapshotDetails {
24049	s.SourceRegion = &v
24050	return s
24051}
24052
24053// SetStatus sets the Status field's value.
24054func (s *AwsRdsDbSnapshotDetails) SetStatus(v string) *AwsRdsDbSnapshotDetails {
24055	s.Status = &v
24056	return s
24057}
24058
24059// SetStorageType sets the StorageType field's value.
24060func (s *AwsRdsDbSnapshotDetails) SetStorageType(v string) *AwsRdsDbSnapshotDetails {
24061	s.StorageType = &v
24062	return s
24063}
24064
24065// SetTdeCredentialArn sets the TdeCredentialArn field's value.
24066func (s *AwsRdsDbSnapshotDetails) SetTdeCredentialArn(v string) *AwsRdsDbSnapshotDetails {
24067	s.TdeCredentialArn = &v
24068	return s
24069}
24070
24071// SetTimezone sets the Timezone field's value.
24072func (s *AwsRdsDbSnapshotDetails) SetTimezone(v string) *AwsRdsDbSnapshotDetails {
24073	s.Timezone = &v
24074	return s
24075}
24076
24077// SetVpcId sets the VpcId field's value.
24078func (s *AwsRdsDbSnapshotDetails) SetVpcId(v string) *AwsRdsDbSnapshotDetails {
24079	s.VpcId = &v
24080	return s
24081}
24082
24083// Information about the status of a read replica.
24084type AwsRdsDbStatusInfo struct {
24085	_ struct{} `type:"structure"`
24086
24087	// If the read replica is currently in an error state, provides the error details.
24088	Message *string `type:"string"`
24089
24090	// Whether the read replica instance is operating normally.
24091	Normal *bool `type:"boolean"`
24092
24093	// The status of the read replica instance.
24094	Status *string `type:"string"`
24095
24096	// The type of status. For a read replica, the status type is read replication.
24097	StatusType *string `type:"string"`
24098}
24099
24100// String returns the string representation.
24101//
24102// API parameter values that are decorated as "sensitive" in the API will not
24103// be included in the string output. The member name will be present, but the
24104// value will be replaced with "sensitive".
24105func (s AwsRdsDbStatusInfo) String() string {
24106	return awsutil.Prettify(s)
24107}
24108
24109// GoString returns the string representation.
24110//
24111// API parameter values that are decorated as "sensitive" in the API will not
24112// be included in the string output. The member name will be present, but the
24113// value will be replaced with "sensitive".
24114func (s AwsRdsDbStatusInfo) GoString() string {
24115	return s.String()
24116}
24117
24118// SetMessage sets the Message field's value.
24119func (s *AwsRdsDbStatusInfo) SetMessage(v string) *AwsRdsDbStatusInfo {
24120	s.Message = &v
24121	return s
24122}
24123
24124// SetNormal sets the Normal field's value.
24125func (s *AwsRdsDbStatusInfo) SetNormal(v bool) *AwsRdsDbStatusInfo {
24126	s.Normal = &v
24127	return s
24128}
24129
24130// SetStatus sets the Status field's value.
24131func (s *AwsRdsDbStatusInfo) SetStatus(v string) *AwsRdsDbStatusInfo {
24132	s.Status = &v
24133	return s
24134}
24135
24136// SetStatusType sets the StatusType field's value.
24137func (s *AwsRdsDbStatusInfo) SetStatusType(v string) *AwsRdsDbStatusInfo {
24138	s.StatusType = &v
24139	return s
24140}
24141
24142// Information about the subnet group for the database instance.
24143type AwsRdsDbSubnetGroup struct {
24144	_ struct{} `type:"structure"`
24145
24146	// The ARN of the subnet group.
24147	DbSubnetGroupArn *string `type:"string"`
24148
24149	// The description of the subnet group.
24150	DbSubnetGroupDescription *string `type:"string"`
24151
24152	// The name of the subnet group.
24153	DbSubnetGroupName *string `type:"string"`
24154
24155	// The status of the subnet group.
24156	SubnetGroupStatus *string `type:"string"`
24157
24158	// A list of subnets in the subnet group.
24159	Subnets []*AwsRdsDbSubnetGroupSubnet `type:"list"`
24160
24161	// The VPC ID of the subnet group.
24162	VpcId *string `type:"string"`
24163}
24164
24165// String returns the string representation.
24166//
24167// API parameter values that are decorated as "sensitive" in the API will not
24168// be included in the string output. The member name will be present, but the
24169// value will be replaced with "sensitive".
24170func (s AwsRdsDbSubnetGroup) String() string {
24171	return awsutil.Prettify(s)
24172}
24173
24174// GoString returns the string representation.
24175//
24176// API parameter values that are decorated as "sensitive" in the API will not
24177// be included in the string output. The member name will be present, but the
24178// value will be replaced with "sensitive".
24179func (s AwsRdsDbSubnetGroup) GoString() string {
24180	return s.String()
24181}
24182
24183// SetDbSubnetGroupArn sets the DbSubnetGroupArn field's value.
24184func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupArn(v string) *AwsRdsDbSubnetGroup {
24185	s.DbSubnetGroupArn = &v
24186	return s
24187}
24188
24189// SetDbSubnetGroupDescription sets the DbSubnetGroupDescription field's value.
24190func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupDescription(v string) *AwsRdsDbSubnetGroup {
24191	s.DbSubnetGroupDescription = &v
24192	return s
24193}
24194
24195// SetDbSubnetGroupName sets the DbSubnetGroupName field's value.
24196func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupName(v string) *AwsRdsDbSubnetGroup {
24197	s.DbSubnetGroupName = &v
24198	return s
24199}
24200
24201// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
24202func (s *AwsRdsDbSubnetGroup) SetSubnetGroupStatus(v string) *AwsRdsDbSubnetGroup {
24203	s.SubnetGroupStatus = &v
24204	return s
24205}
24206
24207// SetSubnets sets the Subnets field's value.
24208func (s *AwsRdsDbSubnetGroup) SetSubnets(v []*AwsRdsDbSubnetGroupSubnet) *AwsRdsDbSubnetGroup {
24209	s.Subnets = v
24210	return s
24211}
24212
24213// SetVpcId sets the VpcId field's value.
24214func (s *AwsRdsDbSubnetGroup) SetVpcId(v string) *AwsRdsDbSubnetGroup {
24215	s.VpcId = &v
24216	return s
24217}
24218
24219// Information about a subnet in a subnet group.
24220type AwsRdsDbSubnetGroupSubnet struct {
24221	_ struct{} `type:"structure"`
24222
24223	// Information about the Availability Zone for a subnet in the subnet group.
24224	SubnetAvailabilityZone *AwsRdsDbSubnetGroupSubnetAvailabilityZone `type:"structure"`
24225
24226	// The identifier of a subnet in the subnet group.
24227	SubnetIdentifier *string `type:"string"`
24228
24229	// The status of a subnet in the subnet group.
24230	SubnetStatus *string `type:"string"`
24231}
24232
24233// String returns the string representation.
24234//
24235// API parameter values that are decorated as "sensitive" in the API will not
24236// be included in the string output. The member name will be present, but the
24237// value will be replaced with "sensitive".
24238func (s AwsRdsDbSubnetGroupSubnet) String() string {
24239	return awsutil.Prettify(s)
24240}
24241
24242// GoString returns the string representation.
24243//
24244// API parameter values that are decorated as "sensitive" in the API will not
24245// be included in the string output. The member name will be present, but the
24246// value will be replaced with "sensitive".
24247func (s AwsRdsDbSubnetGroupSubnet) GoString() string {
24248	return s.String()
24249}
24250
24251// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
24252func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetAvailabilityZone(v *AwsRdsDbSubnetGroupSubnetAvailabilityZone) *AwsRdsDbSubnetGroupSubnet {
24253	s.SubnetAvailabilityZone = v
24254	return s
24255}
24256
24257// SetSubnetIdentifier sets the SubnetIdentifier field's value.
24258func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetIdentifier(v string) *AwsRdsDbSubnetGroupSubnet {
24259	s.SubnetIdentifier = &v
24260	return s
24261}
24262
24263// SetSubnetStatus sets the SubnetStatus field's value.
24264func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetStatus(v string) *AwsRdsDbSubnetGroupSubnet {
24265	s.SubnetStatus = &v
24266	return s
24267}
24268
24269// An Availability Zone for a subnet in a subnet group.
24270type AwsRdsDbSubnetGroupSubnetAvailabilityZone struct {
24271	_ struct{} `type:"structure"`
24272
24273	// The name of the Availability Zone for a subnet in the subnet group.
24274	Name *string `type:"string"`
24275}
24276
24277// String returns the string representation.
24278//
24279// API parameter values that are decorated as "sensitive" in the API will not
24280// be included in the string output. The member name will be present, but the
24281// value will be replaced with "sensitive".
24282func (s AwsRdsDbSubnetGroupSubnetAvailabilityZone) String() string {
24283	return awsutil.Prettify(s)
24284}
24285
24286// GoString returns the string representation.
24287//
24288// API parameter values that are decorated as "sensitive" in the API will not
24289// be included in the string output. The member name will be present, but the
24290// value will be replaced with "sensitive".
24291func (s AwsRdsDbSubnetGroupSubnetAvailabilityZone) GoString() string {
24292	return s.String()
24293}
24294
24295// SetName sets the Name field's value.
24296func (s *AwsRdsDbSubnetGroupSubnetAvailabilityZone) SetName(v string) *AwsRdsDbSubnetGroupSubnetAvailabilityZone {
24297	s.Name = &v
24298	return s
24299}
24300
24301// Details about an Amazon RDS event notification subscription. The subscription
24302// allows Amazon RDS to post events to an SNS topic.
24303type AwsRdsEventSubscriptionDetails struct {
24304	_ struct{} `type:"structure"`
24305
24306	// The identifier of the account that is associated with the event notification
24307	// subscription.
24308	CustSubscriptionId *string `type:"string"`
24309
24310	// The identifier of the event notification subscription.
24311	CustomerAwsId *string `type:"string"`
24312
24313	// Whether the event notification subscription is enabled.
24314	Enabled *bool `type:"boolean"`
24315
24316	// The list of event categories for the event notification subscription.
24317	EventCategoriesList []*string `type:"list"`
24318
24319	// The ARN of the event notification subscription.
24320	EventSubscriptionArn *string `type:"string"`
24321
24322	// The ARN of the SNS topic to post the event notifications to.
24323	SnsTopicArn *string `type:"string"`
24324
24325	// A list of source identifiers for the event notification subscription.
24326	SourceIdsList []*string `type:"list"`
24327
24328	// The source type for the event notification subscription.
24329	SourceType *string `type:"string"`
24330
24331	// The status of the event notification subscription.
24332	//
24333	// Valid values: creating | modifying | deleting | active | no-permission |
24334	// topic-not-exist
24335	Status *string `type:"string"`
24336
24337	// The datetime when the event notification subscription was created.
24338	//
24339	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
24340	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
24341	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
24342	SubscriptionCreationTime *string `type:"string"`
24343}
24344
24345// String returns the string representation.
24346//
24347// API parameter values that are decorated as "sensitive" in the API will not
24348// be included in the string output. The member name will be present, but the
24349// value will be replaced with "sensitive".
24350func (s AwsRdsEventSubscriptionDetails) String() string {
24351	return awsutil.Prettify(s)
24352}
24353
24354// GoString returns the string representation.
24355//
24356// API parameter values that are decorated as "sensitive" in the API will not
24357// be included in the string output. The member name will be present, but the
24358// value will be replaced with "sensitive".
24359func (s AwsRdsEventSubscriptionDetails) GoString() string {
24360	return s.String()
24361}
24362
24363// SetCustSubscriptionId sets the CustSubscriptionId field's value.
24364func (s *AwsRdsEventSubscriptionDetails) SetCustSubscriptionId(v string) *AwsRdsEventSubscriptionDetails {
24365	s.CustSubscriptionId = &v
24366	return s
24367}
24368
24369// SetCustomerAwsId sets the CustomerAwsId field's value.
24370func (s *AwsRdsEventSubscriptionDetails) SetCustomerAwsId(v string) *AwsRdsEventSubscriptionDetails {
24371	s.CustomerAwsId = &v
24372	return s
24373}
24374
24375// SetEnabled sets the Enabled field's value.
24376func (s *AwsRdsEventSubscriptionDetails) SetEnabled(v bool) *AwsRdsEventSubscriptionDetails {
24377	s.Enabled = &v
24378	return s
24379}
24380
24381// SetEventCategoriesList sets the EventCategoriesList field's value.
24382func (s *AwsRdsEventSubscriptionDetails) SetEventCategoriesList(v []*string) *AwsRdsEventSubscriptionDetails {
24383	s.EventCategoriesList = v
24384	return s
24385}
24386
24387// SetEventSubscriptionArn sets the EventSubscriptionArn field's value.
24388func (s *AwsRdsEventSubscriptionDetails) SetEventSubscriptionArn(v string) *AwsRdsEventSubscriptionDetails {
24389	s.EventSubscriptionArn = &v
24390	return s
24391}
24392
24393// SetSnsTopicArn sets the SnsTopicArn field's value.
24394func (s *AwsRdsEventSubscriptionDetails) SetSnsTopicArn(v string) *AwsRdsEventSubscriptionDetails {
24395	s.SnsTopicArn = &v
24396	return s
24397}
24398
24399// SetSourceIdsList sets the SourceIdsList field's value.
24400func (s *AwsRdsEventSubscriptionDetails) SetSourceIdsList(v []*string) *AwsRdsEventSubscriptionDetails {
24401	s.SourceIdsList = v
24402	return s
24403}
24404
24405// SetSourceType sets the SourceType field's value.
24406func (s *AwsRdsEventSubscriptionDetails) SetSourceType(v string) *AwsRdsEventSubscriptionDetails {
24407	s.SourceType = &v
24408	return s
24409}
24410
24411// SetStatus sets the Status field's value.
24412func (s *AwsRdsEventSubscriptionDetails) SetStatus(v string) *AwsRdsEventSubscriptionDetails {
24413	s.Status = &v
24414	return s
24415}
24416
24417// SetSubscriptionCreationTime sets the SubscriptionCreationTime field's value.
24418func (s *AwsRdsEventSubscriptionDetails) SetSubscriptionCreationTime(v string) *AwsRdsEventSubscriptionDetails {
24419	s.SubscriptionCreationTime = &v
24420	return s
24421}
24422
24423// Identifies the log types to enable and disable.
24424type AwsRdsPendingCloudWatchLogsExports struct {
24425	_ struct{} `type:"structure"`
24426
24427	// A list of log types that are being disabled.
24428	LogTypesToDisable []*string `type:"list"`
24429
24430	// A list of log types that are being enabled.
24431	LogTypesToEnable []*string `type:"list"`
24432}
24433
24434// String returns the string representation.
24435//
24436// API parameter values that are decorated as "sensitive" in the API will not
24437// be included in the string output. The member name will be present, but the
24438// value will be replaced with "sensitive".
24439func (s AwsRdsPendingCloudWatchLogsExports) String() string {
24440	return awsutil.Prettify(s)
24441}
24442
24443// GoString returns the string representation.
24444//
24445// API parameter values that are decorated as "sensitive" in the API will not
24446// be included in the string output. The member name will be present, but the
24447// value will be replaced with "sensitive".
24448func (s AwsRdsPendingCloudWatchLogsExports) GoString() string {
24449	return s.String()
24450}
24451
24452// SetLogTypesToDisable sets the LogTypesToDisable field's value.
24453func (s *AwsRdsPendingCloudWatchLogsExports) SetLogTypesToDisable(v []*string) *AwsRdsPendingCloudWatchLogsExports {
24454	s.LogTypesToDisable = v
24455	return s
24456}
24457
24458// SetLogTypesToEnable sets the LogTypesToEnable field's value.
24459func (s *AwsRdsPendingCloudWatchLogsExports) SetLogTypesToEnable(v []*string) *AwsRdsPendingCloudWatchLogsExports {
24460	s.LogTypesToEnable = v
24461	return s
24462}
24463
24464// A node in an Amazon Redshift cluster.
24465type AwsRedshiftClusterClusterNode struct {
24466	_ struct{} `type:"structure"`
24467
24468	// The role of the node. A node might be a leader node or a compute node.
24469	NodeRole *string `type:"string"`
24470
24471	// The private IP address of the node.
24472	PrivateIpAddress *string `type:"string"`
24473
24474	// The public IP address of the node.
24475	PublicIpAddress *string `type:"string"`
24476}
24477
24478// String returns the string representation.
24479//
24480// API parameter values that are decorated as "sensitive" in the API will not
24481// be included in the string output. The member name will be present, but the
24482// value will be replaced with "sensitive".
24483func (s AwsRedshiftClusterClusterNode) String() string {
24484	return awsutil.Prettify(s)
24485}
24486
24487// GoString returns the string representation.
24488//
24489// API parameter values that are decorated as "sensitive" in the API will not
24490// be included in the string output. The member name will be present, but the
24491// value will be replaced with "sensitive".
24492func (s AwsRedshiftClusterClusterNode) GoString() string {
24493	return s.String()
24494}
24495
24496// SetNodeRole sets the NodeRole field's value.
24497func (s *AwsRedshiftClusterClusterNode) SetNodeRole(v string) *AwsRedshiftClusterClusterNode {
24498	s.NodeRole = &v
24499	return s
24500}
24501
24502// SetPrivateIpAddress sets the PrivateIpAddress field's value.
24503func (s *AwsRedshiftClusterClusterNode) SetPrivateIpAddress(v string) *AwsRedshiftClusterClusterNode {
24504	s.PrivateIpAddress = &v
24505	return s
24506}
24507
24508// SetPublicIpAddress sets the PublicIpAddress field's value.
24509func (s *AwsRedshiftClusterClusterNode) SetPublicIpAddress(v string) *AwsRedshiftClusterClusterNode {
24510	s.PublicIpAddress = &v
24511	return s
24512}
24513
24514// A cluster parameter group that is associated with an Amazon Redshift cluster.
24515type AwsRedshiftClusterClusterParameterGroup struct {
24516	_ struct{} `type:"structure"`
24517
24518	// The list of parameter statuses.
24519	ClusterParameterStatusList []*AwsRedshiftClusterClusterParameterStatus `type:"list"`
24520
24521	// The status of updates to the parameters.
24522	ParameterApplyStatus *string `type:"string"`
24523
24524	// The name of the parameter group.
24525	ParameterGroupName *string `type:"string"`
24526}
24527
24528// String returns the string representation.
24529//
24530// API parameter values that are decorated as "sensitive" in the API will not
24531// be included in the string output. The member name will be present, but the
24532// value will be replaced with "sensitive".
24533func (s AwsRedshiftClusterClusterParameterGroup) String() string {
24534	return awsutil.Prettify(s)
24535}
24536
24537// GoString returns the string representation.
24538//
24539// API parameter values that are decorated as "sensitive" in the API will not
24540// be included in the string output. The member name will be present, but the
24541// value will be replaced with "sensitive".
24542func (s AwsRedshiftClusterClusterParameterGroup) GoString() string {
24543	return s.String()
24544}
24545
24546// SetClusterParameterStatusList sets the ClusterParameterStatusList field's value.
24547func (s *AwsRedshiftClusterClusterParameterGroup) SetClusterParameterStatusList(v []*AwsRedshiftClusterClusterParameterStatus) *AwsRedshiftClusterClusterParameterGroup {
24548	s.ClusterParameterStatusList = v
24549	return s
24550}
24551
24552// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
24553func (s *AwsRedshiftClusterClusterParameterGroup) SetParameterApplyStatus(v string) *AwsRedshiftClusterClusterParameterGroup {
24554	s.ParameterApplyStatus = &v
24555	return s
24556}
24557
24558// SetParameterGroupName sets the ParameterGroupName field's value.
24559func (s *AwsRedshiftClusterClusterParameterGroup) SetParameterGroupName(v string) *AwsRedshiftClusterClusterParameterGroup {
24560	s.ParameterGroupName = &v
24561	return s
24562}
24563
24564// The status of a parameter in a cluster parameter group for an Amazon Redshift
24565// cluster.
24566type AwsRedshiftClusterClusterParameterStatus struct {
24567	_ struct{} `type:"structure"`
24568
24569	// The error that prevented the parameter from being applied to the database.
24570	ParameterApplyErrorDescription *string `type:"string"`
24571
24572	// The status of the parameter. Indicates whether the parameter is in sync with
24573	// the database, waiting for a cluster reboot, or encountered an error when
24574	// it was applied.
24575	//
24576	// Valid values: in-sync | pending-reboot | applying | invalid-parameter | apply-deferred
24577	// | apply-error | unknown-error
24578	ParameterApplyStatus *string `type:"string"`
24579
24580	// The name of the parameter.
24581	ParameterName *string `type:"string"`
24582}
24583
24584// String returns the string representation.
24585//
24586// API parameter values that are decorated as "sensitive" in the API will not
24587// be included in the string output. The member name will be present, but the
24588// value will be replaced with "sensitive".
24589func (s AwsRedshiftClusterClusterParameterStatus) String() string {
24590	return awsutil.Prettify(s)
24591}
24592
24593// GoString returns the string representation.
24594//
24595// API parameter values that are decorated as "sensitive" in the API will not
24596// be included in the string output. The member name will be present, but the
24597// value will be replaced with "sensitive".
24598func (s AwsRedshiftClusterClusterParameterStatus) GoString() string {
24599	return s.String()
24600}
24601
24602// SetParameterApplyErrorDescription sets the ParameterApplyErrorDescription field's value.
24603func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterApplyErrorDescription(v string) *AwsRedshiftClusterClusterParameterStatus {
24604	s.ParameterApplyErrorDescription = &v
24605	return s
24606}
24607
24608// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
24609func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterApplyStatus(v string) *AwsRedshiftClusterClusterParameterStatus {
24610	s.ParameterApplyStatus = &v
24611	return s
24612}
24613
24614// SetParameterName sets the ParameterName field's value.
24615func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterName(v string) *AwsRedshiftClusterClusterParameterStatus {
24616	s.ParameterName = &v
24617	return s
24618}
24619
24620// A security group that is associated with the cluster.
24621type AwsRedshiftClusterClusterSecurityGroup struct {
24622	_ struct{} `type:"structure"`
24623
24624	// The name of the cluster security group.
24625	ClusterSecurityGroupName *string `type:"string"`
24626
24627	// The status of the cluster security group.
24628	Status *string `type:"string"`
24629}
24630
24631// String returns the string representation.
24632//
24633// API parameter values that are decorated as "sensitive" in the API will not
24634// be included in the string output. The member name will be present, but the
24635// value will be replaced with "sensitive".
24636func (s AwsRedshiftClusterClusterSecurityGroup) String() string {
24637	return awsutil.Prettify(s)
24638}
24639
24640// GoString returns the string representation.
24641//
24642// API parameter values that are decorated as "sensitive" in the API will not
24643// be included in the string output. The member name will be present, but the
24644// value will be replaced with "sensitive".
24645func (s AwsRedshiftClusterClusterSecurityGroup) GoString() string {
24646	return s.String()
24647}
24648
24649// SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value.
24650func (s *AwsRedshiftClusterClusterSecurityGroup) SetClusterSecurityGroupName(v string) *AwsRedshiftClusterClusterSecurityGroup {
24651	s.ClusterSecurityGroupName = &v
24652	return s
24653}
24654
24655// SetStatus sets the Status field's value.
24656func (s *AwsRedshiftClusterClusterSecurityGroup) SetStatus(v string) *AwsRedshiftClusterClusterSecurityGroup {
24657	s.Status = &v
24658	return s
24659}
24660
24661// Information about a cross-Region snapshot copy.
24662type AwsRedshiftClusterClusterSnapshotCopyStatus struct {
24663	_ struct{} `type:"structure"`
24664
24665	// The destination Region that snapshots are automatically copied to when cross-Region
24666	// snapshot copy is enabled.
24667	DestinationRegion *string `type:"string"`
24668
24669	// The number of days that manual snapshots are retained in the destination
24670	// region after they are copied from a source region.
24671	//
24672	// If the value is -1, then the manual snapshot is retained indefinitely.
24673	//
24674	// Valid values: Either -1 or an integer between 1 and 3,653
24675	ManualSnapshotRetentionPeriod *int64 `type:"integer"`
24676
24677	// The number of days to retain automated snapshots in the destination Region
24678	// after they are copied from a source Region.
24679	RetentionPeriod *int64 `type:"integer"`
24680
24681	// The name of the snapshot copy grant.
24682	SnapshotCopyGrantName *string `type:"string"`
24683}
24684
24685// String returns the string representation.
24686//
24687// API parameter values that are decorated as "sensitive" in the API will not
24688// be included in the string output. The member name will be present, but the
24689// value will be replaced with "sensitive".
24690func (s AwsRedshiftClusterClusterSnapshotCopyStatus) String() string {
24691	return awsutil.Prettify(s)
24692}
24693
24694// GoString returns the string representation.
24695//
24696// API parameter values that are decorated as "sensitive" in the API will not
24697// be included in the string output. The member name will be present, but the
24698// value will be replaced with "sensitive".
24699func (s AwsRedshiftClusterClusterSnapshotCopyStatus) GoString() string {
24700	return s.String()
24701}
24702
24703// SetDestinationRegion sets the DestinationRegion field's value.
24704func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetDestinationRegion(v string) *AwsRedshiftClusterClusterSnapshotCopyStatus {
24705	s.DestinationRegion = &v
24706	return s
24707}
24708
24709// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
24710func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetManualSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterClusterSnapshotCopyStatus {
24711	s.ManualSnapshotRetentionPeriod = &v
24712	return s
24713}
24714
24715// SetRetentionPeriod sets the RetentionPeriod field's value.
24716func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetRetentionPeriod(v int64) *AwsRedshiftClusterClusterSnapshotCopyStatus {
24717	s.RetentionPeriod = &v
24718	return s
24719}
24720
24721// SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value.
24722func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetSnapshotCopyGrantName(v string) *AwsRedshiftClusterClusterSnapshotCopyStatus {
24723	s.SnapshotCopyGrantName = &v
24724	return s
24725}
24726
24727// A time windows during which maintenance was deferred for an Amazon Redshift
24728// cluster.
24729type AwsRedshiftClusterDeferredMaintenanceWindow struct {
24730	_ struct{} `type:"structure"`
24731
24732	// The end of the time window for which maintenance was deferred.
24733	//
24734	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
24735	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
24736	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
24737	DeferMaintenanceEndTime *string `type:"string"`
24738
24739	// The identifier of the maintenance window.
24740	DeferMaintenanceIdentifier *string `type:"string"`
24741
24742	// The start of the time window for which maintenance was deferred.
24743	//
24744	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
24745	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
24746	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
24747	DeferMaintenanceStartTime *string `type:"string"`
24748}
24749
24750// String returns the string representation.
24751//
24752// API parameter values that are decorated as "sensitive" in the API will not
24753// be included in the string output. The member name will be present, but the
24754// value will be replaced with "sensitive".
24755func (s AwsRedshiftClusterDeferredMaintenanceWindow) String() string {
24756	return awsutil.Prettify(s)
24757}
24758
24759// GoString returns the string representation.
24760//
24761// API parameter values that are decorated as "sensitive" in the API will not
24762// be included in the string output. The member name will be present, but the
24763// value will be replaced with "sensitive".
24764func (s AwsRedshiftClusterDeferredMaintenanceWindow) GoString() string {
24765	return s.String()
24766}
24767
24768// SetDeferMaintenanceEndTime sets the DeferMaintenanceEndTime field's value.
24769func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceEndTime(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
24770	s.DeferMaintenanceEndTime = &v
24771	return s
24772}
24773
24774// SetDeferMaintenanceIdentifier sets the DeferMaintenanceIdentifier field's value.
24775func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceIdentifier(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
24776	s.DeferMaintenanceIdentifier = &v
24777	return s
24778}
24779
24780// SetDeferMaintenanceStartTime sets the DeferMaintenanceStartTime field's value.
24781func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceStartTime(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
24782	s.DeferMaintenanceStartTime = &v
24783	return s
24784}
24785
24786// Details about an Amazon Redshift cluster.
24787type AwsRedshiftClusterDetails struct {
24788	_ struct{} `type:"structure"`
24789
24790	// Indicates whether major version upgrades are applied automatically to the
24791	// cluster during the maintenance window.
24792	AllowVersionUpgrade *bool `type:"boolean"`
24793
24794	// The number of days that automatic cluster snapshots are retained.
24795	AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
24796
24797	// The name of the Availability Zone in which the cluster is located.
24798	AvailabilityZone *string `type:"string"`
24799
24800	// The availability status of the cluster for queries. Possible values are the
24801	// following:
24802	//
24803	//    * Available - The cluster is available for queries.
24804	//
24805	//    * Unavailable - The cluster is not available for queries.
24806	//
24807	//    * Maintenance - The cluster is intermittently available for queries due
24808	//    to maintenance activities.
24809	//
24810	//    * Modifying -The cluster is intermittently available for queries due to
24811	//    changes that modify the cluster.
24812	//
24813	//    * Failed - The cluster failed and is not available for queries.
24814	ClusterAvailabilityStatus *string `type:"string"`
24815
24816	// Indicates when the cluster was created.
24817	//
24818	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
24819	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
24820	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
24821	ClusterCreateTime *string `type:"string"`
24822
24823	// The unique identifier of the cluster.
24824	ClusterIdentifier *string `type:"string"`
24825
24826	// The nodes in the cluster.
24827	ClusterNodes []*AwsRedshiftClusterClusterNode `type:"list"`
24828
24829	// The list of cluster parameter groups that are associated with this cluster.
24830	ClusterParameterGroups []*AwsRedshiftClusterClusterParameterGroup `type:"list"`
24831
24832	// The public key for the cluster.
24833	ClusterPublicKey *string `type:"string"`
24834
24835	// The specific revision number of the database in the cluster.
24836	ClusterRevisionNumber *string `type:"string"`
24837
24838	// A list of cluster security groups that are associated with the cluster.
24839	ClusterSecurityGroups []*AwsRedshiftClusterClusterSecurityGroup `type:"list"`
24840
24841	// Information about the destination Region and retention period for the cross-Region
24842	// snapshot copy.
24843	ClusterSnapshotCopyStatus *AwsRedshiftClusterClusterSnapshotCopyStatus `type:"structure"`
24844
24845	// The current status of the cluster.
24846	//
24847	// Valid values: available | available, prep-for-resize | available, resize-cleanup
24848	// |cancelling-resize | creating | deleting | final-snapshot | hardware-failure
24849	// | incompatible-hsm |incompatible-network | incompatible-parameters | incompatible-restore
24850	// | modifying | paused | rebooting | renaming | resizing | rotating-keys |
24851	// storage-full | updating-hsm
24852	ClusterStatus *string `type:"string"`
24853
24854	// The name of the subnet group that is associated with the cluster. This parameter
24855	// is valid only when the cluster is in a VPC.
24856	ClusterSubnetGroupName *string `type:"string"`
24857
24858	// The version ID of the Amazon Redshift engine that runs on the cluster.
24859	ClusterVersion *string `type:"string"`
24860
24861	// The name of the initial database that was created when the cluster was created.
24862	//
24863	// The same name is returned for the life of the cluster.
24864	//
24865	// If an initial database is not specified, a database named devdev is created
24866	// by default.
24867	DBName *string `type:"string"`
24868
24869	// List of time windows during which maintenance was deferred.
24870	DeferredMaintenanceWindows []*AwsRedshiftClusterDeferredMaintenanceWindow `type:"list"`
24871
24872	// Information about the status of the Elastic IP (EIP) address.
24873	ElasticIpStatus *AwsRedshiftClusterElasticIpStatus `type:"structure"`
24874
24875	// The number of nodes that you can use the elastic resize method to resize
24876	// the cluster to.
24877	ElasticResizeNumberOfNodeOptions *string `type:"string"`
24878
24879	// Indicates whether the data in the cluster is encrypted at rest.
24880	Encrypted *bool `type:"boolean"`
24881
24882	// The connection endpoint.
24883	Endpoint *AwsRedshiftClusterEndpoint `type:"structure"`
24884
24885	// Indicates whether to create the cluster with enhanced VPC routing enabled.
24886	EnhancedVpcRouting *bool `type:"boolean"`
24887
24888	// Indicates when the next snapshot is expected to be taken. The cluster must
24889	// have a valid snapshot schedule and have backups enabled.
24890	//
24891	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
24892	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
24893	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
24894	ExpectedNextSnapshotScheduleTime *string `type:"string"`
24895
24896	// The status of the next expected snapshot.
24897	//
24898	// Valid values: OnTrack | Pending
24899	ExpectedNextSnapshotScheduleTimeStatus *string `type:"string"`
24900
24901	// Information about whether the Amazon Redshift cluster finished applying any
24902	// changes to hardware security module (HSM) settings that were specified in
24903	// a modify cluster command.
24904	HsmStatus *AwsRedshiftClusterHsmStatus `type:"structure"`
24905
24906	// A list of IAM roles that the cluster can use to access other Amazon Web Services
24907	// services.
24908	IamRoles []*AwsRedshiftClusterIamRole `type:"list"`
24909
24910	// The identifier of the KMS encryption key that is used to encrypt data in
24911	// the cluster.
24912	KmsKeyId *string `type:"string"`
24913
24914	// The name of the maintenance track for the cluster.
24915	MaintenanceTrackName *string `type:"string"`
24916
24917	// The default number of days to retain a manual snapshot.
24918	//
24919	// If the value is -1, the snapshot is retained indefinitely.
24920	//
24921	// This setting doesn't change the retention period of existing snapshots.
24922	//
24923	// Valid values: Either -1 or an integer between 1 and 3,653
24924	ManualSnapshotRetentionPeriod *int64 `type:"integer"`
24925
24926	// The master user name for the cluster. This name is used to connect to the
24927	// database that is specified in as the value of DBName.
24928	MasterUsername *string `type:"string"`
24929
24930	// Indicates the start of the next maintenance window.
24931	//
24932	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
24933	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
24934	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
24935	NextMaintenanceWindowStartTime *string `type:"string"`
24936
24937	// The node type for the nodes in the cluster.
24938	NodeType *string `type:"string"`
24939
24940	// The number of compute nodes in the cluster.
24941	NumberOfNodes *int64 `type:"integer"`
24942
24943	// A list of cluster operations that are waiting to start.
24944	PendingActions []*string `type:"list"`
24945
24946	// A list of changes to the cluster that are currently pending.
24947	PendingModifiedValues *AwsRedshiftClusterPendingModifiedValues `type:"structure"`
24948
24949	// The weekly time range, in Universal Coordinated Time (UTC), during which
24950	// system maintenance can occur.
24951	//
24952	// Format: <day>:HH:MM-<day>:HH:MM
24953	//
24954	// For the day values, use mon | tue | wed | thu | fri | sat | sun
24955	//
24956	// For example, sun:09:32-sun:10:02
24957	PreferredMaintenanceWindow *string `type:"string"`
24958
24959	// Whether the cluster can be accessed from a public network.
24960	PubliclyAccessible *bool `type:"boolean"`
24961
24962	// Information about the resize operation for the cluster.
24963	ResizeInfo *AwsRedshiftClusterResizeInfo `type:"structure"`
24964
24965	// Information about the status of a cluster restore action. Only applies to
24966	// a cluster that was created by restoring a snapshot.
24967	RestoreStatus *AwsRedshiftClusterRestoreStatus `type:"structure"`
24968
24969	// A unique identifier for the cluster snapshot schedule.
24970	SnapshotScheduleIdentifier *string `type:"string"`
24971
24972	// The current state of the cluster snapshot schedule.
24973	//
24974	// Valid values: MODIFYING | ACTIVE | FAILED
24975	SnapshotScheduleState *string `type:"string"`
24976
24977	// The identifier of the VPC that the cluster is in, if the cluster is in a
24978	// VPC.
24979	VpcId *string `type:"string"`
24980
24981	// The list of VPC security groups that the cluster belongs to, if the cluster
24982	// is in a VPC.
24983	VpcSecurityGroups []*AwsRedshiftClusterVpcSecurityGroup `type:"list"`
24984}
24985
24986// String returns the string representation.
24987//
24988// API parameter values that are decorated as "sensitive" in the API will not
24989// be included in the string output. The member name will be present, but the
24990// value will be replaced with "sensitive".
24991func (s AwsRedshiftClusterDetails) String() string {
24992	return awsutil.Prettify(s)
24993}
24994
24995// GoString returns the string representation.
24996//
24997// API parameter values that are decorated as "sensitive" in the API will not
24998// be included in the string output. The member name will be present, but the
24999// value will be replaced with "sensitive".
25000func (s AwsRedshiftClusterDetails) GoString() string {
25001	return s.String()
25002}
25003
25004// SetAllowVersionUpgrade sets the AllowVersionUpgrade field's value.
25005func (s *AwsRedshiftClusterDetails) SetAllowVersionUpgrade(v bool) *AwsRedshiftClusterDetails {
25006	s.AllowVersionUpgrade = &v
25007	return s
25008}
25009
25010// SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
25011func (s *AwsRedshiftClusterDetails) SetAutomatedSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterDetails {
25012	s.AutomatedSnapshotRetentionPeriod = &v
25013	return s
25014}
25015
25016// SetAvailabilityZone sets the AvailabilityZone field's value.
25017func (s *AwsRedshiftClusterDetails) SetAvailabilityZone(v string) *AwsRedshiftClusterDetails {
25018	s.AvailabilityZone = &v
25019	return s
25020}
25021
25022// SetClusterAvailabilityStatus sets the ClusterAvailabilityStatus field's value.
25023func (s *AwsRedshiftClusterDetails) SetClusterAvailabilityStatus(v string) *AwsRedshiftClusterDetails {
25024	s.ClusterAvailabilityStatus = &v
25025	return s
25026}
25027
25028// SetClusterCreateTime sets the ClusterCreateTime field's value.
25029func (s *AwsRedshiftClusterDetails) SetClusterCreateTime(v string) *AwsRedshiftClusterDetails {
25030	s.ClusterCreateTime = &v
25031	return s
25032}
25033
25034// SetClusterIdentifier sets the ClusterIdentifier field's value.
25035func (s *AwsRedshiftClusterDetails) SetClusterIdentifier(v string) *AwsRedshiftClusterDetails {
25036	s.ClusterIdentifier = &v
25037	return s
25038}
25039
25040// SetClusterNodes sets the ClusterNodes field's value.
25041func (s *AwsRedshiftClusterDetails) SetClusterNodes(v []*AwsRedshiftClusterClusterNode) *AwsRedshiftClusterDetails {
25042	s.ClusterNodes = v
25043	return s
25044}
25045
25046// SetClusterParameterGroups sets the ClusterParameterGroups field's value.
25047func (s *AwsRedshiftClusterDetails) SetClusterParameterGroups(v []*AwsRedshiftClusterClusterParameterGroup) *AwsRedshiftClusterDetails {
25048	s.ClusterParameterGroups = v
25049	return s
25050}
25051
25052// SetClusterPublicKey sets the ClusterPublicKey field's value.
25053func (s *AwsRedshiftClusterDetails) SetClusterPublicKey(v string) *AwsRedshiftClusterDetails {
25054	s.ClusterPublicKey = &v
25055	return s
25056}
25057
25058// SetClusterRevisionNumber sets the ClusterRevisionNumber field's value.
25059func (s *AwsRedshiftClusterDetails) SetClusterRevisionNumber(v string) *AwsRedshiftClusterDetails {
25060	s.ClusterRevisionNumber = &v
25061	return s
25062}
25063
25064// SetClusterSecurityGroups sets the ClusterSecurityGroups field's value.
25065func (s *AwsRedshiftClusterDetails) SetClusterSecurityGroups(v []*AwsRedshiftClusterClusterSecurityGroup) *AwsRedshiftClusterDetails {
25066	s.ClusterSecurityGroups = v
25067	return s
25068}
25069
25070// SetClusterSnapshotCopyStatus sets the ClusterSnapshotCopyStatus field's value.
25071func (s *AwsRedshiftClusterDetails) SetClusterSnapshotCopyStatus(v *AwsRedshiftClusterClusterSnapshotCopyStatus) *AwsRedshiftClusterDetails {
25072	s.ClusterSnapshotCopyStatus = v
25073	return s
25074}
25075
25076// SetClusterStatus sets the ClusterStatus field's value.
25077func (s *AwsRedshiftClusterDetails) SetClusterStatus(v string) *AwsRedshiftClusterDetails {
25078	s.ClusterStatus = &v
25079	return s
25080}
25081
25082// SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value.
25083func (s *AwsRedshiftClusterDetails) SetClusterSubnetGroupName(v string) *AwsRedshiftClusterDetails {
25084	s.ClusterSubnetGroupName = &v
25085	return s
25086}
25087
25088// SetClusterVersion sets the ClusterVersion field's value.
25089func (s *AwsRedshiftClusterDetails) SetClusterVersion(v string) *AwsRedshiftClusterDetails {
25090	s.ClusterVersion = &v
25091	return s
25092}
25093
25094// SetDBName sets the DBName field's value.
25095func (s *AwsRedshiftClusterDetails) SetDBName(v string) *AwsRedshiftClusterDetails {
25096	s.DBName = &v
25097	return s
25098}
25099
25100// SetDeferredMaintenanceWindows sets the DeferredMaintenanceWindows field's value.
25101func (s *AwsRedshiftClusterDetails) SetDeferredMaintenanceWindows(v []*AwsRedshiftClusterDeferredMaintenanceWindow) *AwsRedshiftClusterDetails {
25102	s.DeferredMaintenanceWindows = v
25103	return s
25104}
25105
25106// SetElasticIpStatus sets the ElasticIpStatus field's value.
25107func (s *AwsRedshiftClusterDetails) SetElasticIpStatus(v *AwsRedshiftClusterElasticIpStatus) *AwsRedshiftClusterDetails {
25108	s.ElasticIpStatus = v
25109	return s
25110}
25111
25112// SetElasticResizeNumberOfNodeOptions sets the ElasticResizeNumberOfNodeOptions field's value.
25113func (s *AwsRedshiftClusterDetails) SetElasticResizeNumberOfNodeOptions(v string) *AwsRedshiftClusterDetails {
25114	s.ElasticResizeNumberOfNodeOptions = &v
25115	return s
25116}
25117
25118// SetEncrypted sets the Encrypted field's value.
25119func (s *AwsRedshiftClusterDetails) SetEncrypted(v bool) *AwsRedshiftClusterDetails {
25120	s.Encrypted = &v
25121	return s
25122}
25123
25124// SetEndpoint sets the Endpoint field's value.
25125func (s *AwsRedshiftClusterDetails) SetEndpoint(v *AwsRedshiftClusterEndpoint) *AwsRedshiftClusterDetails {
25126	s.Endpoint = v
25127	return s
25128}
25129
25130// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
25131func (s *AwsRedshiftClusterDetails) SetEnhancedVpcRouting(v bool) *AwsRedshiftClusterDetails {
25132	s.EnhancedVpcRouting = &v
25133	return s
25134}
25135
25136// SetExpectedNextSnapshotScheduleTime sets the ExpectedNextSnapshotScheduleTime field's value.
25137func (s *AwsRedshiftClusterDetails) SetExpectedNextSnapshotScheduleTime(v string) *AwsRedshiftClusterDetails {
25138	s.ExpectedNextSnapshotScheduleTime = &v
25139	return s
25140}
25141
25142// SetExpectedNextSnapshotScheduleTimeStatus sets the ExpectedNextSnapshotScheduleTimeStatus field's value.
25143func (s *AwsRedshiftClusterDetails) SetExpectedNextSnapshotScheduleTimeStatus(v string) *AwsRedshiftClusterDetails {
25144	s.ExpectedNextSnapshotScheduleTimeStatus = &v
25145	return s
25146}
25147
25148// SetHsmStatus sets the HsmStatus field's value.
25149func (s *AwsRedshiftClusterDetails) SetHsmStatus(v *AwsRedshiftClusterHsmStatus) *AwsRedshiftClusterDetails {
25150	s.HsmStatus = v
25151	return s
25152}
25153
25154// SetIamRoles sets the IamRoles field's value.
25155func (s *AwsRedshiftClusterDetails) SetIamRoles(v []*AwsRedshiftClusterIamRole) *AwsRedshiftClusterDetails {
25156	s.IamRoles = v
25157	return s
25158}
25159
25160// SetKmsKeyId sets the KmsKeyId field's value.
25161func (s *AwsRedshiftClusterDetails) SetKmsKeyId(v string) *AwsRedshiftClusterDetails {
25162	s.KmsKeyId = &v
25163	return s
25164}
25165
25166// SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
25167func (s *AwsRedshiftClusterDetails) SetMaintenanceTrackName(v string) *AwsRedshiftClusterDetails {
25168	s.MaintenanceTrackName = &v
25169	return s
25170}
25171
25172// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
25173func (s *AwsRedshiftClusterDetails) SetManualSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterDetails {
25174	s.ManualSnapshotRetentionPeriod = &v
25175	return s
25176}
25177
25178// SetMasterUsername sets the MasterUsername field's value.
25179func (s *AwsRedshiftClusterDetails) SetMasterUsername(v string) *AwsRedshiftClusterDetails {
25180	s.MasterUsername = &v
25181	return s
25182}
25183
25184// SetNextMaintenanceWindowStartTime sets the NextMaintenanceWindowStartTime field's value.
25185func (s *AwsRedshiftClusterDetails) SetNextMaintenanceWindowStartTime(v string) *AwsRedshiftClusterDetails {
25186	s.NextMaintenanceWindowStartTime = &v
25187	return s
25188}
25189
25190// SetNodeType sets the NodeType field's value.
25191func (s *AwsRedshiftClusterDetails) SetNodeType(v string) *AwsRedshiftClusterDetails {
25192	s.NodeType = &v
25193	return s
25194}
25195
25196// SetNumberOfNodes sets the NumberOfNodes field's value.
25197func (s *AwsRedshiftClusterDetails) SetNumberOfNodes(v int64) *AwsRedshiftClusterDetails {
25198	s.NumberOfNodes = &v
25199	return s
25200}
25201
25202// SetPendingActions sets the PendingActions field's value.
25203func (s *AwsRedshiftClusterDetails) SetPendingActions(v []*string) *AwsRedshiftClusterDetails {
25204	s.PendingActions = v
25205	return s
25206}
25207
25208// SetPendingModifiedValues sets the PendingModifiedValues field's value.
25209func (s *AwsRedshiftClusterDetails) SetPendingModifiedValues(v *AwsRedshiftClusterPendingModifiedValues) *AwsRedshiftClusterDetails {
25210	s.PendingModifiedValues = v
25211	return s
25212}
25213
25214// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
25215func (s *AwsRedshiftClusterDetails) SetPreferredMaintenanceWindow(v string) *AwsRedshiftClusterDetails {
25216	s.PreferredMaintenanceWindow = &v
25217	return s
25218}
25219
25220// SetPubliclyAccessible sets the PubliclyAccessible field's value.
25221func (s *AwsRedshiftClusterDetails) SetPubliclyAccessible(v bool) *AwsRedshiftClusterDetails {
25222	s.PubliclyAccessible = &v
25223	return s
25224}
25225
25226// SetResizeInfo sets the ResizeInfo field's value.
25227func (s *AwsRedshiftClusterDetails) SetResizeInfo(v *AwsRedshiftClusterResizeInfo) *AwsRedshiftClusterDetails {
25228	s.ResizeInfo = v
25229	return s
25230}
25231
25232// SetRestoreStatus sets the RestoreStatus field's value.
25233func (s *AwsRedshiftClusterDetails) SetRestoreStatus(v *AwsRedshiftClusterRestoreStatus) *AwsRedshiftClusterDetails {
25234	s.RestoreStatus = v
25235	return s
25236}
25237
25238// SetSnapshotScheduleIdentifier sets the SnapshotScheduleIdentifier field's value.
25239func (s *AwsRedshiftClusterDetails) SetSnapshotScheduleIdentifier(v string) *AwsRedshiftClusterDetails {
25240	s.SnapshotScheduleIdentifier = &v
25241	return s
25242}
25243
25244// SetSnapshotScheduleState sets the SnapshotScheduleState field's value.
25245func (s *AwsRedshiftClusterDetails) SetSnapshotScheduleState(v string) *AwsRedshiftClusterDetails {
25246	s.SnapshotScheduleState = &v
25247	return s
25248}
25249
25250// SetVpcId sets the VpcId field's value.
25251func (s *AwsRedshiftClusterDetails) SetVpcId(v string) *AwsRedshiftClusterDetails {
25252	s.VpcId = &v
25253	return s
25254}
25255
25256// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
25257func (s *AwsRedshiftClusterDetails) SetVpcSecurityGroups(v []*AwsRedshiftClusterVpcSecurityGroup) *AwsRedshiftClusterDetails {
25258	s.VpcSecurityGroups = v
25259	return s
25260}
25261
25262// The status of the elastic IP (EIP) address for an Amazon Redshift cluster.
25263type AwsRedshiftClusterElasticIpStatus struct {
25264	_ struct{} `type:"structure"`
25265
25266	// The elastic IP address for the cluster.
25267	ElasticIp *string `type:"string"`
25268
25269	// The status of the elastic IP address.
25270	Status *string `type:"string"`
25271}
25272
25273// String returns the string representation.
25274//
25275// API parameter values that are decorated as "sensitive" in the API will not
25276// be included in the string output. The member name will be present, but the
25277// value will be replaced with "sensitive".
25278func (s AwsRedshiftClusterElasticIpStatus) String() string {
25279	return awsutil.Prettify(s)
25280}
25281
25282// GoString returns the string representation.
25283//
25284// API parameter values that are decorated as "sensitive" in the API will not
25285// be included in the string output. The member name will be present, but the
25286// value will be replaced with "sensitive".
25287func (s AwsRedshiftClusterElasticIpStatus) GoString() string {
25288	return s.String()
25289}
25290
25291// SetElasticIp sets the ElasticIp field's value.
25292func (s *AwsRedshiftClusterElasticIpStatus) SetElasticIp(v string) *AwsRedshiftClusterElasticIpStatus {
25293	s.ElasticIp = &v
25294	return s
25295}
25296
25297// SetStatus sets the Status field's value.
25298func (s *AwsRedshiftClusterElasticIpStatus) SetStatus(v string) *AwsRedshiftClusterElasticIpStatus {
25299	s.Status = &v
25300	return s
25301}
25302
25303// The connection endpoint for an Amazon Redshift cluster.
25304type AwsRedshiftClusterEndpoint struct {
25305	_ struct{} `type:"structure"`
25306
25307	// The DNS address of the cluster.
25308	Address *string `type:"string"`
25309
25310	// The port that the database engine listens on.
25311	Port *int64 `type:"integer"`
25312}
25313
25314// String returns the string representation.
25315//
25316// API parameter values that are decorated as "sensitive" in the API will not
25317// be included in the string output. The member name will be present, but the
25318// value will be replaced with "sensitive".
25319func (s AwsRedshiftClusterEndpoint) String() string {
25320	return awsutil.Prettify(s)
25321}
25322
25323// GoString returns the string representation.
25324//
25325// API parameter values that are decorated as "sensitive" in the API will not
25326// be included in the string output. The member name will be present, but the
25327// value will be replaced with "sensitive".
25328func (s AwsRedshiftClusterEndpoint) GoString() string {
25329	return s.String()
25330}
25331
25332// SetAddress sets the Address field's value.
25333func (s *AwsRedshiftClusterEndpoint) SetAddress(v string) *AwsRedshiftClusterEndpoint {
25334	s.Address = &v
25335	return s
25336}
25337
25338// SetPort sets the Port field's value.
25339func (s *AwsRedshiftClusterEndpoint) SetPort(v int64) *AwsRedshiftClusterEndpoint {
25340	s.Port = &v
25341	return s
25342}
25343
25344// Information about whether an Amazon Redshift cluster finished applying any
25345// hardware changes to security module (HSM) settings that were specified in
25346// a modify cluster command.
25347type AwsRedshiftClusterHsmStatus struct {
25348	_ struct{} `type:"structure"`
25349
25350	// The name of the HSM client certificate that the Amazon Redshift cluster uses
25351	// to retrieve the data encryption keys that are stored in an HSM.
25352	HsmClientCertificateIdentifier *string `type:"string"`
25353
25354	// The name of the HSM configuration that contains the information that the
25355	// Amazon Redshift cluster can use to retrieve and store keys in an HSM.
25356	HsmConfigurationIdentifier *string `type:"string"`
25357
25358	// Indicates whether the Amazon Redshift cluster has finished applying any HSM
25359	// settings changes specified in a modify cluster command.
25360	//
25361	// Type: String
25362	//
25363	// Valid values: active | applying
25364	Status *string `type:"string"`
25365}
25366
25367// String returns the string representation.
25368//
25369// API parameter values that are decorated as "sensitive" in the API will not
25370// be included in the string output. The member name will be present, but the
25371// value will be replaced with "sensitive".
25372func (s AwsRedshiftClusterHsmStatus) String() string {
25373	return awsutil.Prettify(s)
25374}
25375
25376// GoString returns the string representation.
25377//
25378// API parameter values that are decorated as "sensitive" in the API will not
25379// be included in the string output. The member name will be present, but the
25380// value will be replaced with "sensitive".
25381func (s AwsRedshiftClusterHsmStatus) GoString() string {
25382	return s.String()
25383}
25384
25385// SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value.
25386func (s *AwsRedshiftClusterHsmStatus) SetHsmClientCertificateIdentifier(v string) *AwsRedshiftClusterHsmStatus {
25387	s.HsmClientCertificateIdentifier = &v
25388	return s
25389}
25390
25391// SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value.
25392func (s *AwsRedshiftClusterHsmStatus) SetHsmConfigurationIdentifier(v string) *AwsRedshiftClusterHsmStatus {
25393	s.HsmConfigurationIdentifier = &v
25394	return s
25395}
25396
25397// SetStatus sets the Status field's value.
25398func (s *AwsRedshiftClusterHsmStatus) SetStatus(v string) *AwsRedshiftClusterHsmStatus {
25399	s.Status = &v
25400	return s
25401}
25402
25403// An IAM role that the cluster can use to access other Amazon Web Services
25404// services.
25405type AwsRedshiftClusterIamRole struct {
25406	_ struct{} `type:"structure"`
25407
25408	// The status of the IAM role's association with the cluster.
25409	//
25410	// Valid values: in-sync | adding | removing
25411	ApplyStatus *string `type:"string"`
25412
25413	// The ARN of the IAM role.
25414	IamRoleArn *string `type:"string"`
25415}
25416
25417// String returns the string representation.
25418//
25419// API parameter values that are decorated as "sensitive" in the API will not
25420// be included in the string output. The member name will be present, but the
25421// value will be replaced with "sensitive".
25422func (s AwsRedshiftClusterIamRole) String() string {
25423	return awsutil.Prettify(s)
25424}
25425
25426// GoString returns the string representation.
25427//
25428// API parameter values that are decorated as "sensitive" in the API will not
25429// be included in the string output. The member name will be present, but the
25430// value will be replaced with "sensitive".
25431func (s AwsRedshiftClusterIamRole) GoString() string {
25432	return s.String()
25433}
25434
25435// SetApplyStatus sets the ApplyStatus field's value.
25436func (s *AwsRedshiftClusterIamRole) SetApplyStatus(v string) *AwsRedshiftClusterIamRole {
25437	s.ApplyStatus = &v
25438	return s
25439}
25440
25441// SetIamRoleArn sets the IamRoleArn field's value.
25442func (s *AwsRedshiftClusterIamRole) SetIamRoleArn(v string) *AwsRedshiftClusterIamRole {
25443	s.IamRoleArn = &v
25444	return s
25445}
25446
25447// Changes to the Amazon Redshift cluster that are currently pending.
25448type AwsRedshiftClusterPendingModifiedValues struct {
25449	_ struct{} `type:"structure"`
25450
25451	// The pending or in-progress change to the automated snapshot retention period.
25452	AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
25453
25454	// The pending or in-progress change to the identifier for the cluster.
25455	ClusterIdentifier *string `type:"string"`
25456
25457	// The pending or in-progress change to the cluster type.
25458	ClusterType *string `type:"string"`
25459
25460	// The pending or in-progress change to the service version.
25461	ClusterVersion *string `type:"string"`
25462
25463	// The encryption type for a cluster.
25464	EncryptionType *string `type:"string"`
25465
25466	// Indicates whether to create the cluster with enhanced VPC routing enabled.
25467	EnhancedVpcRouting *bool `type:"boolean"`
25468
25469	// The name of the maintenance track that the cluster changes to during the
25470	// next maintenance window.
25471	MaintenanceTrackName *string `type:"string"`
25472
25473	// The pending or in-progress change to the master user password for the cluster.
25474	MasterUserPassword *string `type:"string"`
25475
25476	// The pending or in-progress change to the cluster's node type.
25477	NodeType *string `type:"string"`
25478
25479	// The pending or in-progress change to the number of nodes in the cluster.
25480	NumberOfNodes *int64 `type:"integer"`
25481
25482	// The pending or in-progress change to whether the cluster can be connected
25483	// to from the public network.
25484	PubliclyAccessible *bool `type:"boolean"`
25485}
25486
25487// String returns the string representation.
25488//
25489// API parameter values that are decorated as "sensitive" in the API will not
25490// be included in the string output. The member name will be present, but the
25491// value will be replaced with "sensitive".
25492func (s AwsRedshiftClusterPendingModifiedValues) String() string {
25493	return awsutil.Prettify(s)
25494}
25495
25496// GoString returns the string representation.
25497//
25498// API parameter values that are decorated as "sensitive" in the API will not
25499// be included in the string output. The member name will be present, but the
25500// value will be replaced with "sensitive".
25501func (s AwsRedshiftClusterPendingModifiedValues) GoString() string {
25502	return s.String()
25503}
25504
25505// SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
25506func (s *AwsRedshiftClusterPendingModifiedValues) SetAutomatedSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterPendingModifiedValues {
25507	s.AutomatedSnapshotRetentionPeriod = &v
25508	return s
25509}
25510
25511// SetClusterIdentifier sets the ClusterIdentifier field's value.
25512func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterIdentifier(v string) *AwsRedshiftClusterPendingModifiedValues {
25513	s.ClusterIdentifier = &v
25514	return s
25515}
25516
25517// SetClusterType sets the ClusterType field's value.
25518func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterType(v string) *AwsRedshiftClusterPendingModifiedValues {
25519	s.ClusterType = &v
25520	return s
25521}
25522
25523// SetClusterVersion sets the ClusterVersion field's value.
25524func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterVersion(v string) *AwsRedshiftClusterPendingModifiedValues {
25525	s.ClusterVersion = &v
25526	return s
25527}
25528
25529// SetEncryptionType sets the EncryptionType field's value.
25530func (s *AwsRedshiftClusterPendingModifiedValues) SetEncryptionType(v string) *AwsRedshiftClusterPendingModifiedValues {
25531	s.EncryptionType = &v
25532	return s
25533}
25534
25535// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
25536func (s *AwsRedshiftClusterPendingModifiedValues) SetEnhancedVpcRouting(v bool) *AwsRedshiftClusterPendingModifiedValues {
25537	s.EnhancedVpcRouting = &v
25538	return s
25539}
25540
25541// SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
25542func (s *AwsRedshiftClusterPendingModifiedValues) SetMaintenanceTrackName(v string) *AwsRedshiftClusterPendingModifiedValues {
25543	s.MaintenanceTrackName = &v
25544	return s
25545}
25546
25547// SetMasterUserPassword sets the MasterUserPassword field's value.
25548func (s *AwsRedshiftClusterPendingModifiedValues) SetMasterUserPassword(v string) *AwsRedshiftClusterPendingModifiedValues {
25549	s.MasterUserPassword = &v
25550	return s
25551}
25552
25553// SetNodeType sets the NodeType field's value.
25554func (s *AwsRedshiftClusterPendingModifiedValues) SetNodeType(v string) *AwsRedshiftClusterPendingModifiedValues {
25555	s.NodeType = &v
25556	return s
25557}
25558
25559// SetNumberOfNodes sets the NumberOfNodes field's value.
25560func (s *AwsRedshiftClusterPendingModifiedValues) SetNumberOfNodes(v int64) *AwsRedshiftClusterPendingModifiedValues {
25561	s.NumberOfNodes = &v
25562	return s
25563}
25564
25565// SetPubliclyAccessible sets the PubliclyAccessible field's value.
25566func (s *AwsRedshiftClusterPendingModifiedValues) SetPubliclyAccessible(v bool) *AwsRedshiftClusterPendingModifiedValues {
25567	s.PubliclyAccessible = &v
25568	return s
25569}
25570
25571// Information about the resize operation for the cluster.
25572type AwsRedshiftClusterResizeInfo struct {
25573	_ struct{} `type:"structure"`
25574
25575	// Indicates whether the resize operation can be canceled.
25576	AllowCancelResize *bool `type:"boolean"`
25577
25578	// The type of resize operation.
25579	//
25580	// Valid values: ClassicResize
25581	ResizeType *string `type:"string"`
25582}
25583
25584// String returns the string representation.
25585//
25586// API parameter values that are decorated as "sensitive" in the API will not
25587// be included in the string output. The member name will be present, but the
25588// value will be replaced with "sensitive".
25589func (s AwsRedshiftClusterResizeInfo) String() string {
25590	return awsutil.Prettify(s)
25591}
25592
25593// GoString returns the string representation.
25594//
25595// API parameter values that are decorated as "sensitive" in the API will not
25596// be included in the string output. The member name will be present, but the
25597// value will be replaced with "sensitive".
25598func (s AwsRedshiftClusterResizeInfo) GoString() string {
25599	return s.String()
25600}
25601
25602// SetAllowCancelResize sets the AllowCancelResize field's value.
25603func (s *AwsRedshiftClusterResizeInfo) SetAllowCancelResize(v bool) *AwsRedshiftClusterResizeInfo {
25604	s.AllowCancelResize = &v
25605	return s
25606}
25607
25608// SetResizeType sets the ResizeType field's value.
25609func (s *AwsRedshiftClusterResizeInfo) SetResizeType(v string) *AwsRedshiftClusterResizeInfo {
25610	s.ResizeType = &v
25611	return s
25612}
25613
25614// Information about the status of a cluster restore action. It only applies
25615// if the cluster was created by restoring a snapshot.
25616type AwsRedshiftClusterRestoreStatus struct {
25617	_ struct{} `type:"structure"`
25618
25619	// The number of megabytes per second being transferred from the backup storage.
25620	// Returns the average rate for a completed backup.
25621	//
25622	// This field is only updated when you restore to DC2 and DS2 node types.
25623	CurrentRestoreRateInMegaBytesPerSecond *float64 `type:"double"`
25624
25625	// The amount of time an in-progress restore has been running, or the amount
25626	// of time it took a completed restore to finish.
25627	//
25628	// This field is only updated when you restore to DC2 and DS2 node types.
25629	ElapsedTimeInSeconds *int64 `type:"long"`
25630
25631	// The estimate of the time remaining before the restore is complete. Returns
25632	// 0 for a completed restore.
25633	//
25634	// This field is only updated when you restore to DC2 and DS2 node types.
25635	EstimatedTimeToCompletionInSeconds *int64 `type:"long"`
25636
25637	// The number of megabytes that were transferred from snapshot storage.
25638	//
25639	// This field is only updated when you restore to DC2 and DS2 node types.
25640	ProgressInMegaBytes *int64 `type:"long"`
25641
25642	// The size of the set of snapshot data that was used to restore the cluster.
25643	//
25644	// This field is only updated when you restore to DC2 and DS2 node types.
25645	SnapshotSizeInMegaBytes *int64 `type:"long"`
25646
25647	// The status of the restore action.
25648	//
25649	// Valid values: starting | restoring | completed | failed
25650	Status *string `type:"string"`
25651}
25652
25653// String returns the string representation.
25654//
25655// API parameter values that are decorated as "sensitive" in the API will not
25656// be included in the string output. The member name will be present, but the
25657// value will be replaced with "sensitive".
25658func (s AwsRedshiftClusterRestoreStatus) String() string {
25659	return awsutil.Prettify(s)
25660}
25661
25662// GoString returns the string representation.
25663//
25664// API parameter values that are decorated as "sensitive" in the API will not
25665// be included in the string output. The member name will be present, but the
25666// value will be replaced with "sensitive".
25667func (s AwsRedshiftClusterRestoreStatus) GoString() string {
25668	return s.String()
25669}
25670
25671// SetCurrentRestoreRateInMegaBytesPerSecond sets the CurrentRestoreRateInMegaBytesPerSecond field's value.
25672func (s *AwsRedshiftClusterRestoreStatus) SetCurrentRestoreRateInMegaBytesPerSecond(v float64) *AwsRedshiftClusterRestoreStatus {
25673	s.CurrentRestoreRateInMegaBytesPerSecond = &v
25674	return s
25675}
25676
25677// SetElapsedTimeInSeconds sets the ElapsedTimeInSeconds field's value.
25678func (s *AwsRedshiftClusterRestoreStatus) SetElapsedTimeInSeconds(v int64) *AwsRedshiftClusterRestoreStatus {
25679	s.ElapsedTimeInSeconds = &v
25680	return s
25681}
25682
25683// SetEstimatedTimeToCompletionInSeconds sets the EstimatedTimeToCompletionInSeconds field's value.
25684func (s *AwsRedshiftClusterRestoreStatus) SetEstimatedTimeToCompletionInSeconds(v int64) *AwsRedshiftClusterRestoreStatus {
25685	s.EstimatedTimeToCompletionInSeconds = &v
25686	return s
25687}
25688
25689// SetProgressInMegaBytes sets the ProgressInMegaBytes field's value.
25690func (s *AwsRedshiftClusterRestoreStatus) SetProgressInMegaBytes(v int64) *AwsRedshiftClusterRestoreStatus {
25691	s.ProgressInMegaBytes = &v
25692	return s
25693}
25694
25695// SetSnapshotSizeInMegaBytes sets the SnapshotSizeInMegaBytes field's value.
25696func (s *AwsRedshiftClusterRestoreStatus) SetSnapshotSizeInMegaBytes(v int64) *AwsRedshiftClusterRestoreStatus {
25697	s.SnapshotSizeInMegaBytes = &v
25698	return s
25699}
25700
25701// SetStatus sets the Status field's value.
25702func (s *AwsRedshiftClusterRestoreStatus) SetStatus(v string) *AwsRedshiftClusterRestoreStatus {
25703	s.Status = &v
25704	return s
25705}
25706
25707// A VPC security group that the cluster belongs to, if the cluster is in a
25708// VPC.
25709type AwsRedshiftClusterVpcSecurityGroup struct {
25710	_ struct{} `type:"structure"`
25711
25712	// The status of the VPC security group.
25713	Status *string `type:"string"`
25714
25715	// The identifier of the VPC security group.
25716	VpcSecurityGroupId *string `type:"string"`
25717}
25718
25719// String returns the string representation.
25720//
25721// API parameter values that are decorated as "sensitive" in the API will not
25722// be included in the string output. The member name will be present, but the
25723// value will be replaced with "sensitive".
25724func (s AwsRedshiftClusterVpcSecurityGroup) String() string {
25725	return awsutil.Prettify(s)
25726}
25727
25728// GoString returns the string representation.
25729//
25730// API parameter values that are decorated as "sensitive" in the API will not
25731// be included in the string output. The member name will be present, but the
25732// value will be replaced with "sensitive".
25733func (s AwsRedshiftClusterVpcSecurityGroup) GoString() string {
25734	return s.String()
25735}
25736
25737// SetStatus sets the Status field's value.
25738func (s *AwsRedshiftClusterVpcSecurityGroup) SetStatus(v string) *AwsRedshiftClusterVpcSecurityGroup {
25739	s.Status = &v
25740	return s
25741}
25742
25743// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
25744func (s *AwsRedshiftClusterVpcSecurityGroup) SetVpcSecurityGroupId(v string) *AwsRedshiftClusterVpcSecurityGroup {
25745	s.VpcSecurityGroupId = &v
25746	return s
25747}
25748
25749// provides information about the Amazon S3 Public Access Block configuration
25750// for accounts.
25751type AwsS3AccountPublicAccessBlockDetails struct {
25752	_ struct{} `type:"structure"`
25753
25754	// Indicates whether to reject calls to update an S3 bucket if the calls include
25755	// a public access control list (ACL).
25756	BlockPublicAcls *bool `type:"boolean"`
25757
25758	// Indicates whether to reject calls to update the access policy for an S3 bucket
25759	// or access point if the policy allows public access.
25760	BlockPublicPolicy *bool `type:"boolean"`
25761
25762	// Indicates whether Amazon S3 ignores public ACLs that are associated with
25763	// an S3 bucket.
25764	IgnorePublicAcls *bool `type:"boolean"`
25765
25766	// Indicates whether to restrict access to an access point or S3 bucket that
25767	// has a public policy to only Amazon Web Services service principals and authorized
25768	// users within the S3 bucket owner's account.
25769	RestrictPublicBuckets *bool `type:"boolean"`
25770}
25771
25772// String returns the string representation.
25773//
25774// API parameter values that are decorated as "sensitive" in the API will not
25775// be included in the string output. The member name will be present, but the
25776// value will be replaced with "sensitive".
25777func (s AwsS3AccountPublicAccessBlockDetails) String() string {
25778	return awsutil.Prettify(s)
25779}
25780
25781// GoString returns the string representation.
25782//
25783// API parameter values that are decorated as "sensitive" in the API will not
25784// be included in the string output. The member name will be present, but the
25785// value will be replaced with "sensitive".
25786func (s AwsS3AccountPublicAccessBlockDetails) GoString() string {
25787	return s.String()
25788}
25789
25790// SetBlockPublicAcls sets the BlockPublicAcls field's value.
25791func (s *AwsS3AccountPublicAccessBlockDetails) SetBlockPublicAcls(v bool) *AwsS3AccountPublicAccessBlockDetails {
25792	s.BlockPublicAcls = &v
25793	return s
25794}
25795
25796// SetBlockPublicPolicy sets the BlockPublicPolicy field's value.
25797func (s *AwsS3AccountPublicAccessBlockDetails) SetBlockPublicPolicy(v bool) *AwsS3AccountPublicAccessBlockDetails {
25798	s.BlockPublicPolicy = &v
25799	return s
25800}
25801
25802// SetIgnorePublicAcls sets the IgnorePublicAcls field's value.
25803func (s *AwsS3AccountPublicAccessBlockDetails) SetIgnorePublicAcls(v bool) *AwsS3AccountPublicAccessBlockDetails {
25804	s.IgnorePublicAcls = &v
25805	return s
25806}
25807
25808// SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value.
25809func (s *AwsS3AccountPublicAccessBlockDetails) SetRestrictPublicBuckets(v bool) *AwsS3AccountPublicAccessBlockDetails {
25810	s.RestrictPublicBuckets = &v
25811	return s
25812}
25813
25814// The lifecycle configuration for the objects in the S3 bucket.
25815type AwsS3BucketBucketLifecycleConfigurationDetails struct {
25816	_ struct{} `type:"structure"`
25817
25818	// The lifecycle rules.
25819	Rules []*AwsS3BucketBucketLifecycleConfigurationRulesDetails `type:"list"`
25820}
25821
25822// String returns the string representation.
25823//
25824// API parameter values that are decorated as "sensitive" in the API will not
25825// be included in the string output. The member name will be present, but the
25826// value will be replaced with "sensitive".
25827func (s AwsS3BucketBucketLifecycleConfigurationDetails) String() string {
25828	return awsutil.Prettify(s)
25829}
25830
25831// GoString returns the string representation.
25832//
25833// API parameter values that are decorated as "sensitive" in the API will not
25834// be included in the string output. The member name will be present, but the
25835// value will be replaced with "sensitive".
25836func (s AwsS3BucketBucketLifecycleConfigurationDetails) GoString() string {
25837	return s.String()
25838}
25839
25840// SetRules sets the Rules field's value.
25841func (s *AwsS3BucketBucketLifecycleConfigurationDetails) SetRules(v []*AwsS3BucketBucketLifecycleConfigurationRulesDetails) *AwsS3BucketBucketLifecycleConfigurationDetails {
25842	s.Rules = v
25843	return s
25844}
25845
25846// Information about what Amazon S3 does when a multipart upload is incomplete.
25847type AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails struct {
25848	_ struct{} `type:"structure"`
25849
25850	// The number of days after which Amazon S3 cancels an incomplete multipart
25851	// upload.
25852	DaysAfterInitiation *int64 `type:"integer"`
25853}
25854
25855// String returns the string representation.
25856//
25857// API parameter values that are decorated as "sensitive" in the API will not
25858// be included in the string output. The member name will be present, but the
25859// value will be replaced with "sensitive".
25860func (s AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) String() string {
25861	return awsutil.Prettify(s)
25862}
25863
25864// GoString returns the string representation.
25865//
25866// API parameter values that are decorated as "sensitive" in the API will not
25867// be included in the string output. The member name will be present, but the
25868// value will be replaced with "sensitive".
25869func (s AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) GoString() string {
25870	return s.String()
25871}
25872
25873// SetDaysAfterInitiation sets the DaysAfterInitiation field's value.
25874func (s *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) SetDaysAfterInitiation(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails {
25875	s.DaysAfterInitiation = &v
25876	return s
25877}
25878
25879// Configuration for a lifecycle rule.
25880type AwsS3BucketBucketLifecycleConfigurationRulesDetails struct {
25881	_ struct{} `type:"structure"`
25882
25883	// How Amazon S3 responds when a multipart upload is incomplete. Specifically,
25884	// provides a number of days before Amazon S3 cancels the entire upload.
25885	AbortIncompleteMultipartUpload *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails `type:"structure"`
25886
25887	// The date when objects are moved or deleted.
25888	//
25889	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
25890	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
25891	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
25892	ExpirationDate *string `type:"string"`
25893
25894	// The length in days of the lifetime for objects that are subject to the rule.
25895	ExpirationInDays *int64 `type:"integer"`
25896
25897	// Whether Amazon S3 removes a delete marker that has no noncurrent versions.
25898	// If set to true, the delete marker is expired. If set to false, the policy
25899	// takes no action.
25900	//
25901	// If you provide ExpiredObjectDeleteMarker, you cannot provide ExpirationInDays
25902	// or ExpirationDate.
25903	ExpiredObjectDeleteMarker *bool `type:"boolean"`
25904
25905	// Identifies the objects that a rule applies to.
25906	Filter *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails `type:"structure"`
25907
25908	// The unique identifier of the rule.
25909	ID *string `type:"string"`
25910
25911	// The number of days that an object is noncurrent before Amazon S3 can perform
25912	// the associated action.
25913	NoncurrentVersionExpirationInDays *int64 `type:"integer"`
25914
25915	// Transition rules that describe when noncurrent objects transition to a specified
25916	// storage class.
25917	NoncurrentVersionTransitions []*AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails `type:"list"`
25918
25919	// A prefix that identifies one or more objects that the rule applies to.
25920	Prefix *string `type:"string"`
25921
25922	// The current status of the rule. Indicates whether the rule is currently being
25923	// applied.
25924	Status *string `type:"string"`
25925
25926	// Transition rules that indicate when objects transition to a specified storage
25927	// class.
25928	Transitions []*AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails `type:"list"`
25929}
25930
25931// String returns the string representation.
25932//
25933// API parameter values that are decorated as "sensitive" in the API will not
25934// be included in the string output. The member name will be present, but the
25935// value will be replaced with "sensitive".
25936func (s AwsS3BucketBucketLifecycleConfigurationRulesDetails) String() string {
25937	return awsutil.Prettify(s)
25938}
25939
25940// GoString returns the string representation.
25941//
25942// API parameter values that are decorated as "sensitive" in the API will not
25943// be included in the string output. The member name will be present, but the
25944// value will be replaced with "sensitive".
25945func (s AwsS3BucketBucketLifecycleConfigurationRulesDetails) GoString() string {
25946	return s.String()
25947}
25948
25949// SetAbortIncompleteMultipartUpload sets the AbortIncompleteMultipartUpload field's value.
25950func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetAbortIncompleteMultipartUpload(v *AwsS3BucketBucketLifecycleConfigurationRulesAbortIncompleteMultipartUploadDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
25951	s.AbortIncompleteMultipartUpload = v
25952	return s
25953}
25954
25955// SetExpirationDate sets the ExpirationDate field's value.
25956func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetExpirationDate(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
25957	s.ExpirationDate = &v
25958	return s
25959}
25960
25961// SetExpirationInDays sets the ExpirationInDays field's value.
25962func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetExpirationInDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
25963	s.ExpirationInDays = &v
25964	return s
25965}
25966
25967// SetExpiredObjectDeleteMarker sets the ExpiredObjectDeleteMarker field's value.
25968func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetExpiredObjectDeleteMarker(v bool) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
25969	s.ExpiredObjectDeleteMarker = &v
25970	return s
25971}
25972
25973// SetFilter sets the Filter field's value.
25974func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetFilter(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
25975	s.Filter = v
25976	return s
25977}
25978
25979// SetID sets the ID field's value.
25980func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetID(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
25981	s.ID = &v
25982	return s
25983}
25984
25985// SetNoncurrentVersionExpirationInDays sets the NoncurrentVersionExpirationInDays field's value.
25986func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetNoncurrentVersionExpirationInDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
25987	s.NoncurrentVersionExpirationInDays = &v
25988	return s
25989}
25990
25991// SetNoncurrentVersionTransitions sets the NoncurrentVersionTransitions field's value.
25992func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetNoncurrentVersionTransitions(v []*AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
25993	s.NoncurrentVersionTransitions = v
25994	return s
25995}
25996
25997// SetPrefix sets the Prefix field's value.
25998func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetPrefix(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
25999	s.Prefix = &v
26000	return s
26001}
26002
26003// SetStatus sets the Status field's value.
26004func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetStatus(v string) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
26005	s.Status = &v
26006	return s
26007}
26008
26009// SetTransitions sets the Transitions field's value.
26010func (s *AwsS3BucketBucketLifecycleConfigurationRulesDetails) SetTransitions(v []*AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) *AwsS3BucketBucketLifecycleConfigurationRulesDetails {
26011	s.Transitions = v
26012	return s
26013}
26014
26015// Identifies the objects that a rule applies to.
26016type AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails struct {
26017	_ struct{} `type:"structure"`
26018
26019	// The configuration for the filter.
26020	Predicate *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails `type:"structure"`
26021}
26022
26023// String returns the string representation.
26024//
26025// API parameter values that are decorated as "sensitive" in the API will not
26026// be included in the string output. The member name will be present, but the
26027// value will be replaced with "sensitive".
26028func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) String() string {
26029	return awsutil.Prettify(s)
26030}
26031
26032// GoString returns the string representation.
26033//
26034// API parameter values that are decorated as "sensitive" in the API will not
26035// be included in the string output. The member name will be present, but the
26036// value will be replaced with "sensitive".
26037func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) GoString() string {
26038	return s.String()
26039}
26040
26041// SetPredicate sets the Predicate field's value.
26042func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails) SetPredicate(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterDetails {
26043	s.Predicate = v
26044	return s
26045}
26046
26047// The configuration for the filter.
26048type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails struct {
26049	_ struct{} `type:"structure"`
26050
26051	// The values to use for the filter.
26052	Operands []*AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails `type:"list"`
26053
26054	// A prefix filter.
26055	Prefix *string `type:"string"`
26056
26057	// A tag filter.
26058	Tag *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails `type:"structure"`
26059
26060	// Whether to use AND or OR to join the operands.
26061	Type *string `type:"string"`
26062}
26063
26064// String returns the string representation.
26065//
26066// API parameter values that are decorated as "sensitive" in the API will not
26067// be included in the string output. The member name will be present, but the
26068// value will be replaced with "sensitive".
26069func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) String() string {
26070	return awsutil.Prettify(s)
26071}
26072
26073// GoString returns the string representation.
26074//
26075// API parameter values that are decorated as "sensitive" in the API will not
26076// be included in the string output. The member name will be present, but the
26077// value will be replaced with "sensitive".
26078func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) GoString() string {
26079	return s.String()
26080}
26081
26082// SetOperands sets the Operands field's value.
26083func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetOperands(v []*AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
26084	s.Operands = v
26085	return s
26086}
26087
26088// SetPrefix sets the Prefix field's value.
26089func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetPrefix(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
26090	s.Prefix = &v
26091	return s
26092}
26093
26094// SetTag sets the Tag field's value.
26095func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetTag(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
26096	s.Tag = v
26097	return s
26098}
26099
26100// SetType sets the Type field's value.
26101func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails) SetType(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateDetails {
26102	s.Type = &v
26103	return s
26104}
26105
26106// A value to use for the filter.
26107type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails struct {
26108	_ struct{} `type:"structure"`
26109
26110	// Prefix text for matching objects.
26111	Prefix *string `type:"string"`
26112
26113	// A tag that is assigned to matching objects.
26114	Tag *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails `type:"structure"`
26115
26116	// The type of filter value.
26117	Type *string `type:"string"`
26118}
26119
26120// String returns the string representation.
26121//
26122// API parameter values that are decorated as "sensitive" in the API will not
26123// be included in the string output. The member name will be present, but the
26124// value will be replaced with "sensitive".
26125func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) String() string {
26126	return awsutil.Prettify(s)
26127}
26128
26129// GoString returns the string representation.
26130//
26131// API parameter values that are decorated as "sensitive" in the API will not
26132// be included in the string output. The member name will be present, but the
26133// value will be replaced with "sensitive".
26134func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) GoString() string {
26135	return s.String()
26136}
26137
26138// SetPrefix sets the Prefix field's value.
26139func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) SetPrefix(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails {
26140	s.Prefix = &v
26141	return s
26142}
26143
26144// SetTag sets the Tag field's value.
26145func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) SetTag(v *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails {
26146	s.Tag = v
26147	return s
26148}
26149
26150// SetType sets the Type field's value.
26151func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails) SetType(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsDetails {
26152	s.Type = &v
26153	return s
26154}
26155
26156// A tag that is assigned to matching objects.
26157type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails struct {
26158	_ struct{} `type:"structure"`
26159
26160	// The tag key.
26161	Key *string `type:"string"`
26162
26163	// The tag value.
26164	Value *string `type:"string"`
26165}
26166
26167// String returns the string representation.
26168//
26169// API parameter values that are decorated as "sensitive" in the API will not
26170// be included in the string output. The member name will be present, but the
26171// value will be replaced with "sensitive".
26172func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) String() string {
26173	return awsutil.Prettify(s)
26174}
26175
26176// GoString returns the string representation.
26177//
26178// API parameter values that are decorated as "sensitive" in the API will not
26179// be included in the string output. The member name will be present, but the
26180// value will be replaced with "sensitive".
26181func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) GoString() string {
26182	return s.String()
26183}
26184
26185// SetKey sets the Key field's value.
26186func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) SetKey(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails {
26187	s.Key = &v
26188	return s
26189}
26190
26191// SetValue sets the Value field's value.
26192func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails) SetValue(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateOperandsTagDetails {
26193	s.Value = &v
26194	return s
26195}
26196
26197// A tag filter.
26198type AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails struct {
26199	_ struct{} `type:"structure"`
26200
26201	// The tag key.
26202	Key *string `type:"string"`
26203
26204	// The tag value
26205	Value *string `type:"string"`
26206}
26207
26208// String returns the string representation.
26209//
26210// API parameter values that are decorated as "sensitive" in the API will not
26211// be included in the string output. The member name will be present, but the
26212// value will be replaced with "sensitive".
26213func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) String() string {
26214	return awsutil.Prettify(s)
26215}
26216
26217// GoString returns the string representation.
26218//
26219// API parameter values that are decorated as "sensitive" in the API will not
26220// be included in the string output. The member name will be present, but the
26221// value will be replaced with "sensitive".
26222func (s AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) GoString() string {
26223	return s.String()
26224}
26225
26226// SetKey sets the Key field's value.
26227func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) SetKey(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails {
26228	s.Key = &v
26229	return s
26230}
26231
26232// SetValue sets the Value field's value.
26233func (s *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails) SetValue(v string) *AwsS3BucketBucketLifecycleConfigurationRulesFilterPredicateTagDetails {
26234	s.Value = &v
26235	return s
26236}
26237
26238// A transition rule that describes when noncurrent objects transition to a
26239// specified storage class.
26240type AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails struct {
26241	_ struct{} `type:"structure"`
26242
26243	// The number of days that an object is noncurrent before Amazon S3 can perform
26244	// the associated action.
26245	Days *int64 `type:"integer"`
26246
26247	// The class of storage to change the object to after the object is noncurrent
26248	// for the specified number of days.
26249	StorageClass *string `type:"string"`
26250}
26251
26252// String returns the string representation.
26253//
26254// API parameter values that are decorated as "sensitive" in the API will not
26255// be included in the string output. The member name will be present, but the
26256// value will be replaced with "sensitive".
26257func (s AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) String() string {
26258	return awsutil.Prettify(s)
26259}
26260
26261// GoString returns the string representation.
26262//
26263// API parameter values that are decorated as "sensitive" in the API will not
26264// be included in the string output. The member name will be present, but the
26265// value will be replaced with "sensitive".
26266func (s AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) GoString() string {
26267	return s.String()
26268}
26269
26270// SetDays sets the Days field's value.
26271func (s *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) SetDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails {
26272	s.Days = &v
26273	return s
26274}
26275
26276// SetStorageClass sets the StorageClass field's value.
26277func (s *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails) SetStorageClass(v string) *AwsS3BucketBucketLifecycleConfigurationRulesNoncurrentVersionTransitionsDetails {
26278	s.StorageClass = &v
26279	return s
26280}
26281
26282// A rule for when objects transition to specific storage classes.
26283type AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails struct {
26284	_ struct{} `type:"structure"`
26285
26286	// A date on which to transition objects to the specified storage class. If
26287	// you provide Date, you cannot provide Days.
26288	//
26289	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
26290	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
26291	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
26292	Date *string `type:"string"`
26293
26294	// The number of days after which to transition the object to the specified
26295	// storage class. If you provide Days, you cannot provide Date.
26296	Days *int64 `type:"integer"`
26297
26298	// The storage class to transition the object to.
26299	StorageClass *string `type:"string"`
26300}
26301
26302// String returns the string representation.
26303//
26304// API parameter values that are decorated as "sensitive" in the API will not
26305// be included in the string output. The member name will be present, but the
26306// value will be replaced with "sensitive".
26307func (s AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) String() string {
26308	return awsutil.Prettify(s)
26309}
26310
26311// GoString returns the string representation.
26312//
26313// API parameter values that are decorated as "sensitive" in the API will not
26314// be included in the string output. The member name will be present, but the
26315// value will be replaced with "sensitive".
26316func (s AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) GoString() string {
26317	return s.String()
26318}
26319
26320// SetDate sets the Date field's value.
26321func (s *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) SetDate(v string) *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails {
26322	s.Date = &v
26323	return s
26324}
26325
26326// SetDays sets the Days field's value.
26327func (s *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) SetDays(v int64) *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails {
26328	s.Days = &v
26329	return s
26330}
26331
26332// SetStorageClass sets the StorageClass field's value.
26333func (s *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails) SetStorageClass(v string) *AwsS3BucketBucketLifecycleConfigurationRulesTransitionsDetails {
26334	s.StorageClass = &v
26335	return s
26336}
26337
26338// The details of an Amazon S3 bucket.
26339type AwsS3BucketDetails struct {
26340	_ struct{} `type:"structure"`
26341
26342	// The access control list for the S3 bucket.
26343	AccessControlList *string `type:"string"`
26344
26345	// The lifecycle configuration for objects in the S3 bucket.
26346	BucketLifecycleConfiguration *AwsS3BucketBucketLifecycleConfigurationDetails `type:"structure"`
26347
26348	// The logging configuration for the S3 bucket.
26349	BucketLoggingConfiguration *AwsS3BucketLoggingConfiguration `type:"structure"`
26350
26351	// The notification configuration for the S3 bucket.
26352	BucketNotificationConfiguration *AwsS3BucketNotificationConfiguration `type:"structure"`
26353
26354	// The website configuration parameters for the S3 bucket.
26355	BucketWebsiteConfiguration *AwsS3BucketWebsiteConfiguration `type:"structure"`
26356
26357	// Indicates when the S3 bucket was created.
26358	//
26359	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
26360	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
26361	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
26362	CreatedAt *string `type:"string"`
26363
26364	// The Amazon Web Services account identifier of the account that owns the S3
26365	// bucket.
26366	OwnerAccountId *string `type:"string"`
26367
26368	// The canonical user ID of the owner of the S3 bucket.
26369	OwnerId *string `type:"string"`
26370
26371	// The display name of the owner of the S3 bucket.
26372	OwnerName *string `type:"string"`
26373
26374	// Provides information about the Amazon S3 Public Access Block configuration
26375	// for the S3 bucket.
26376	PublicAccessBlockConfiguration *AwsS3AccountPublicAccessBlockDetails `type:"structure"`
26377
26378	// The encryption rules that are applied to the S3 bucket.
26379	ServerSideEncryptionConfiguration *AwsS3BucketServerSideEncryptionConfiguration `type:"structure"`
26380}
26381
26382// String returns the string representation.
26383//
26384// API parameter values that are decorated as "sensitive" in the API will not
26385// be included in the string output. The member name will be present, but the
26386// value will be replaced with "sensitive".
26387func (s AwsS3BucketDetails) String() string {
26388	return awsutil.Prettify(s)
26389}
26390
26391// GoString returns the string representation.
26392//
26393// API parameter values that are decorated as "sensitive" in the API will not
26394// be included in the string output. The member name will be present, but the
26395// value will be replaced with "sensitive".
26396func (s AwsS3BucketDetails) GoString() string {
26397	return s.String()
26398}
26399
26400// SetAccessControlList sets the AccessControlList field's value.
26401func (s *AwsS3BucketDetails) SetAccessControlList(v string) *AwsS3BucketDetails {
26402	s.AccessControlList = &v
26403	return s
26404}
26405
26406// SetBucketLifecycleConfiguration sets the BucketLifecycleConfiguration field's value.
26407func (s *AwsS3BucketDetails) SetBucketLifecycleConfiguration(v *AwsS3BucketBucketLifecycleConfigurationDetails) *AwsS3BucketDetails {
26408	s.BucketLifecycleConfiguration = v
26409	return s
26410}
26411
26412// SetBucketLoggingConfiguration sets the BucketLoggingConfiguration field's value.
26413func (s *AwsS3BucketDetails) SetBucketLoggingConfiguration(v *AwsS3BucketLoggingConfiguration) *AwsS3BucketDetails {
26414	s.BucketLoggingConfiguration = v
26415	return s
26416}
26417
26418// SetBucketNotificationConfiguration sets the BucketNotificationConfiguration field's value.
26419func (s *AwsS3BucketDetails) SetBucketNotificationConfiguration(v *AwsS3BucketNotificationConfiguration) *AwsS3BucketDetails {
26420	s.BucketNotificationConfiguration = v
26421	return s
26422}
26423
26424// SetBucketWebsiteConfiguration sets the BucketWebsiteConfiguration field's value.
26425func (s *AwsS3BucketDetails) SetBucketWebsiteConfiguration(v *AwsS3BucketWebsiteConfiguration) *AwsS3BucketDetails {
26426	s.BucketWebsiteConfiguration = v
26427	return s
26428}
26429
26430// SetCreatedAt sets the CreatedAt field's value.
26431func (s *AwsS3BucketDetails) SetCreatedAt(v string) *AwsS3BucketDetails {
26432	s.CreatedAt = &v
26433	return s
26434}
26435
26436// SetOwnerAccountId sets the OwnerAccountId field's value.
26437func (s *AwsS3BucketDetails) SetOwnerAccountId(v string) *AwsS3BucketDetails {
26438	s.OwnerAccountId = &v
26439	return s
26440}
26441
26442// SetOwnerId sets the OwnerId field's value.
26443func (s *AwsS3BucketDetails) SetOwnerId(v string) *AwsS3BucketDetails {
26444	s.OwnerId = &v
26445	return s
26446}
26447
26448// SetOwnerName sets the OwnerName field's value.
26449func (s *AwsS3BucketDetails) SetOwnerName(v string) *AwsS3BucketDetails {
26450	s.OwnerName = &v
26451	return s
26452}
26453
26454// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value.
26455func (s *AwsS3BucketDetails) SetPublicAccessBlockConfiguration(v *AwsS3AccountPublicAccessBlockDetails) *AwsS3BucketDetails {
26456	s.PublicAccessBlockConfiguration = v
26457	return s
26458}
26459
26460// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
26461func (s *AwsS3BucketDetails) SetServerSideEncryptionConfiguration(v *AwsS3BucketServerSideEncryptionConfiguration) *AwsS3BucketDetails {
26462	s.ServerSideEncryptionConfiguration = v
26463	return s
26464}
26465
26466// Information about logging for the S3 bucket
26467type AwsS3BucketLoggingConfiguration struct {
26468	_ struct{} `type:"structure"`
26469
26470	// The name of the S3 bucket where log files for the S3 bucket are stored.
26471	DestinationBucketName *string `type:"string"`
26472
26473	// The prefix added to log files for the S3 bucket.
26474	LogFilePrefix *string `type:"string"`
26475}
26476
26477// String returns the string representation.
26478//
26479// API parameter values that are decorated as "sensitive" in the API will not
26480// be included in the string output. The member name will be present, but the
26481// value will be replaced with "sensitive".
26482func (s AwsS3BucketLoggingConfiguration) String() string {
26483	return awsutil.Prettify(s)
26484}
26485
26486// GoString returns the string representation.
26487//
26488// API parameter values that are decorated as "sensitive" in the API will not
26489// be included in the string output. The member name will be present, but the
26490// value will be replaced with "sensitive".
26491func (s AwsS3BucketLoggingConfiguration) GoString() string {
26492	return s.String()
26493}
26494
26495// SetDestinationBucketName sets the DestinationBucketName field's value.
26496func (s *AwsS3BucketLoggingConfiguration) SetDestinationBucketName(v string) *AwsS3BucketLoggingConfiguration {
26497	s.DestinationBucketName = &v
26498	return s
26499}
26500
26501// SetLogFilePrefix sets the LogFilePrefix field's value.
26502func (s *AwsS3BucketLoggingConfiguration) SetLogFilePrefix(v string) *AwsS3BucketLoggingConfiguration {
26503	s.LogFilePrefix = &v
26504	return s
26505}
26506
26507// The notification configuration for the S3 bucket.
26508type AwsS3BucketNotificationConfiguration struct {
26509	_ struct{} `type:"structure"`
26510
26511	// Configurations for S3 bucket notifications.
26512	Configurations []*AwsS3BucketNotificationConfigurationDetail `type:"list"`
26513}
26514
26515// String returns the string representation.
26516//
26517// API parameter values that are decorated as "sensitive" in the API will not
26518// be included in the string output. The member name will be present, but the
26519// value will be replaced with "sensitive".
26520func (s AwsS3BucketNotificationConfiguration) String() string {
26521	return awsutil.Prettify(s)
26522}
26523
26524// GoString returns the string representation.
26525//
26526// API parameter values that are decorated as "sensitive" in the API will not
26527// be included in the string output. The member name will be present, but the
26528// value will be replaced with "sensitive".
26529func (s AwsS3BucketNotificationConfiguration) GoString() string {
26530	return s.String()
26531}
26532
26533// SetConfigurations sets the Configurations field's value.
26534func (s *AwsS3BucketNotificationConfiguration) SetConfigurations(v []*AwsS3BucketNotificationConfigurationDetail) *AwsS3BucketNotificationConfiguration {
26535	s.Configurations = v
26536	return s
26537}
26538
26539// Details for an S3 bucket notification configuration.
26540type AwsS3BucketNotificationConfigurationDetail struct {
26541	_ struct{} `type:"structure"`
26542
26543	// The ARN of the Lambda function, Amazon SQS queue, or Amazon SNS topic that
26544	// generates the notification.
26545	Destination *string `type:"string"`
26546
26547	// The list of events that trigger a notification.
26548	Events []*string `type:"list"`
26549
26550	// The filters that determine which S3 buckets generate notifications.
26551	Filter *AwsS3BucketNotificationConfigurationFilter `type:"structure"`
26552
26553	// Indicates the type of notification. Notifications can be generated using
26554	// Lambda functions, Amazon SQS queues or Amazon SNS topics.
26555	Type *string `type:"string"`
26556}
26557
26558// String returns the string representation.
26559//
26560// API parameter values that are decorated as "sensitive" in the API will not
26561// be included in the string output. The member name will be present, but the
26562// value will be replaced with "sensitive".
26563func (s AwsS3BucketNotificationConfigurationDetail) String() string {
26564	return awsutil.Prettify(s)
26565}
26566
26567// GoString returns the string representation.
26568//
26569// API parameter values that are decorated as "sensitive" in the API will not
26570// be included in the string output. The member name will be present, but the
26571// value will be replaced with "sensitive".
26572func (s AwsS3BucketNotificationConfigurationDetail) GoString() string {
26573	return s.String()
26574}
26575
26576// SetDestination sets the Destination field's value.
26577func (s *AwsS3BucketNotificationConfigurationDetail) SetDestination(v string) *AwsS3BucketNotificationConfigurationDetail {
26578	s.Destination = &v
26579	return s
26580}
26581
26582// SetEvents sets the Events field's value.
26583func (s *AwsS3BucketNotificationConfigurationDetail) SetEvents(v []*string) *AwsS3BucketNotificationConfigurationDetail {
26584	s.Events = v
26585	return s
26586}
26587
26588// SetFilter sets the Filter field's value.
26589func (s *AwsS3BucketNotificationConfigurationDetail) SetFilter(v *AwsS3BucketNotificationConfigurationFilter) *AwsS3BucketNotificationConfigurationDetail {
26590	s.Filter = v
26591	return s
26592}
26593
26594// SetType sets the Type field's value.
26595func (s *AwsS3BucketNotificationConfigurationDetail) SetType(v string) *AwsS3BucketNotificationConfigurationDetail {
26596	s.Type = &v
26597	return s
26598}
26599
26600// Filtering information for the notifications. The filtering is based on Amazon
26601// S3 key names.
26602type AwsS3BucketNotificationConfigurationFilter struct {
26603	_ struct{} `type:"structure"`
26604
26605	// Details for an Amazon S3 filter.
26606	S3KeyFilter *AwsS3BucketNotificationConfigurationS3KeyFilter `type:"structure"`
26607}
26608
26609// String returns the string representation.
26610//
26611// API parameter values that are decorated as "sensitive" in the API will not
26612// be included in the string output. The member name will be present, but the
26613// value will be replaced with "sensitive".
26614func (s AwsS3BucketNotificationConfigurationFilter) String() string {
26615	return awsutil.Prettify(s)
26616}
26617
26618// GoString returns the string representation.
26619//
26620// API parameter values that are decorated as "sensitive" in the API will not
26621// be included in the string output. The member name will be present, but the
26622// value will be replaced with "sensitive".
26623func (s AwsS3BucketNotificationConfigurationFilter) GoString() string {
26624	return s.String()
26625}
26626
26627// SetS3KeyFilter sets the S3KeyFilter field's value.
26628func (s *AwsS3BucketNotificationConfigurationFilter) SetS3KeyFilter(v *AwsS3BucketNotificationConfigurationS3KeyFilter) *AwsS3BucketNotificationConfigurationFilter {
26629	s.S3KeyFilter = v
26630	return s
26631}
26632
26633// Details for an Amazon S3 filter.
26634type AwsS3BucketNotificationConfigurationS3KeyFilter struct {
26635	_ struct{} `type:"structure"`
26636
26637	// The filter rules for the filter.
26638	FilterRules []*AwsS3BucketNotificationConfigurationS3KeyFilterRule `type:"list"`
26639}
26640
26641// String returns the string representation.
26642//
26643// API parameter values that are decorated as "sensitive" in the API will not
26644// be included in the string output. The member name will be present, but the
26645// value will be replaced with "sensitive".
26646func (s AwsS3BucketNotificationConfigurationS3KeyFilter) String() string {
26647	return awsutil.Prettify(s)
26648}
26649
26650// GoString returns the string representation.
26651//
26652// API parameter values that are decorated as "sensitive" in the API will not
26653// be included in the string output. The member name will be present, but the
26654// value will be replaced with "sensitive".
26655func (s AwsS3BucketNotificationConfigurationS3KeyFilter) GoString() string {
26656	return s.String()
26657}
26658
26659// SetFilterRules sets the FilterRules field's value.
26660func (s *AwsS3BucketNotificationConfigurationS3KeyFilter) SetFilterRules(v []*AwsS3BucketNotificationConfigurationS3KeyFilterRule) *AwsS3BucketNotificationConfigurationS3KeyFilter {
26661	s.FilterRules = v
26662	return s
26663}
26664
26665// Details for a filter rule.
26666type AwsS3BucketNotificationConfigurationS3KeyFilterRule struct {
26667	_ struct{} `type:"structure"`
26668
26669	// Indicates whether the filter is based on the prefix or suffix of the Amazon
26670	// S3 key.
26671	Name *string `type:"string" enum:"AwsS3BucketNotificationConfigurationS3KeyFilterRuleName"`
26672
26673	// The filter value.
26674	Value *string `type:"string"`
26675}
26676
26677// String returns the string representation.
26678//
26679// API parameter values that are decorated as "sensitive" in the API will not
26680// be included in the string output. The member name will be present, but the
26681// value will be replaced with "sensitive".
26682func (s AwsS3BucketNotificationConfigurationS3KeyFilterRule) String() string {
26683	return awsutil.Prettify(s)
26684}
26685
26686// GoString returns the string representation.
26687//
26688// API parameter values that are decorated as "sensitive" in the API will not
26689// be included in the string output. The member name will be present, but the
26690// value will be replaced with "sensitive".
26691func (s AwsS3BucketNotificationConfigurationS3KeyFilterRule) GoString() string {
26692	return s.String()
26693}
26694
26695// SetName sets the Name field's value.
26696func (s *AwsS3BucketNotificationConfigurationS3KeyFilterRule) SetName(v string) *AwsS3BucketNotificationConfigurationS3KeyFilterRule {
26697	s.Name = &v
26698	return s
26699}
26700
26701// SetValue sets the Value field's value.
26702func (s *AwsS3BucketNotificationConfigurationS3KeyFilterRule) SetValue(v string) *AwsS3BucketNotificationConfigurationS3KeyFilterRule {
26703	s.Value = &v
26704	return s
26705}
26706
26707// Specifies the default server-side encryption to apply to new objects in the
26708// bucket.
26709type AwsS3BucketServerSideEncryptionByDefault struct {
26710	_ struct{} `type:"structure"`
26711
26712	// KMS key ID to use for the default encryption.
26713	KMSMasterKeyID *string `type:"string"`
26714
26715	// Server-side encryption algorithm to use for the default encryption.
26716	SSEAlgorithm *string `type:"string"`
26717}
26718
26719// String returns the string representation.
26720//
26721// API parameter values that are decorated as "sensitive" in the API will not
26722// be included in the string output. The member name will be present, but the
26723// value will be replaced with "sensitive".
26724func (s AwsS3BucketServerSideEncryptionByDefault) String() string {
26725	return awsutil.Prettify(s)
26726}
26727
26728// GoString returns the string representation.
26729//
26730// API parameter values that are decorated as "sensitive" in the API will not
26731// be included in the string output. The member name will be present, but the
26732// value will be replaced with "sensitive".
26733func (s AwsS3BucketServerSideEncryptionByDefault) GoString() string {
26734	return s.String()
26735}
26736
26737// SetKMSMasterKeyID sets the KMSMasterKeyID field's value.
26738func (s *AwsS3BucketServerSideEncryptionByDefault) SetKMSMasterKeyID(v string) *AwsS3BucketServerSideEncryptionByDefault {
26739	s.KMSMasterKeyID = &v
26740	return s
26741}
26742
26743// SetSSEAlgorithm sets the SSEAlgorithm field's value.
26744func (s *AwsS3BucketServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *AwsS3BucketServerSideEncryptionByDefault {
26745	s.SSEAlgorithm = &v
26746	return s
26747}
26748
26749// The encryption configuration for the S3 bucket.
26750type AwsS3BucketServerSideEncryptionConfiguration struct {
26751	_ struct{} `type:"structure"`
26752
26753	// The encryption rules that are applied to the S3 bucket.
26754	Rules []*AwsS3BucketServerSideEncryptionRule `type:"list"`
26755}
26756
26757// String returns the string representation.
26758//
26759// API parameter values that are decorated as "sensitive" in the API will not
26760// be included in the string output. The member name will be present, but the
26761// value will be replaced with "sensitive".
26762func (s AwsS3BucketServerSideEncryptionConfiguration) String() string {
26763	return awsutil.Prettify(s)
26764}
26765
26766// GoString returns the string representation.
26767//
26768// API parameter values that are decorated as "sensitive" in the API will not
26769// be included in the string output. The member name will be present, but the
26770// value will be replaced with "sensitive".
26771func (s AwsS3BucketServerSideEncryptionConfiguration) GoString() string {
26772	return s.String()
26773}
26774
26775// SetRules sets the Rules field's value.
26776func (s *AwsS3BucketServerSideEncryptionConfiguration) SetRules(v []*AwsS3BucketServerSideEncryptionRule) *AwsS3BucketServerSideEncryptionConfiguration {
26777	s.Rules = v
26778	return s
26779}
26780
26781// An encryption rule to apply to the S3 bucket.
26782type AwsS3BucketServerSideEncryptionRule struct {
26783	_ struct{} `type:"structure"`
26784
26785	// Specifies the default server-side encryption to apply to new objects in the
26786	// bucket. If a PUT object request doesn't specify any server-side encryption,
26787	// this default encryption is applied.
26788	ApplyServerSideEncryptionByDefault *AwsS3BucketServerSideEncryptionByDefault `type:"structure"`
26789}
26790
26791// String returns the string representation.
26792//
26793// API parameter values that are decorated as "sensitive" in the API will not
26794// be included in the string output. The member name will be present, but the
26795// value will be replaced with "sensitive".
26796func (s AwsS3BucketServerSideEncryptionRule) String() string {
26797	return awsutil.Prettify(s)
26798}
26799
26800// GoString returns the string representation.
26801//
26802// API parameter values that are decorated as "sensitive" in the API will not
26803// be included in the string output. The member name will be present, but the
26804// value will be replaced with "sensitive".
26805func (s AwsS3BucketServerSideEncryptionRule) GoString() string {
26806	return s.String()
26807}
26808
26809// SetApplyServerSideEncryptionByDefault sets the ApplyServerSideEncryptionByDefault field's value.
26810func (s *AwsS3BucketServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *AwsS3BucketServerSideEncryptionByDefault) *AwsS3BucketServerSideEncryptionRule {
26811	s.ApplyServerSideEncryptionByDefault = v
26812	return s
26813}
26814
26815// Website parameters for the S3 bucket.
26816type AwsS3BucketWebsiteConfiguration struct {
26817	_ struct{} `type:"structure"`
26818
26819	// The name of the error document for the website.
26820	ErrorDocument *string `type:"string"`
26821
26822	// The name of the index document for the website.
26823	IndexDocumentSuffix *string `type:"string"`
26824
26825	// The redirect behavior for requests to the website.
26826	RedirectAllRequestsTo *AwsS3BucketWebsiteConfigurationRedirectTo `type:"structure"`
26827
26828	// The rules for applying redirects for requests to the website.
26829	RoutingRules []*AwsS3BucketWebsiteConfigurationRoutingRule `type:"list"`
26830}
26831
26832// String returns the string representation.
26833//
26834// API parameter values that are decorated as "sensitive" in the API will not
26835// be included in the string output. The member name will be present, but the
26836// value will be replaced with "sensitive".
26837func (s AwsS3BucketWebsiteConfiguration) String() string {
26838	return awsutil.Prettify(s)
26839}
26840
26841// GoString returns the string representation.
26842//
26843// API parameter values that are decorated as "sensitive" in the API will not
26844// be included in the string output. The member name will be present, but the
26845// value will be replaced with "sensitive".
26846func (s AwsS3BucketWebsiteConfiguration) GoString() string {
26847	return s.String()
26848}
26849
26850// SetErrorDocument sets the ErrorDocument field's value.
26851func (s *AwsS3BucketWebsiteConfiguration) SetErrorDocument(v string) *AwsS3BucketWebsiteConfiguration {
26852	s.ErrorDocument = &v
26853	return s
26854}
26855
26856// SetIndexDocumentSuffix sets the IndexDocumentSuffix field's value.
26857func (s *AwsS3BucketWebsiteConfiguration) SetIndexDocumentSuffix(v string) *AwsS3BucketWebsiteConfiguration {
26858	s.IndexDocumentSuffix = &v
26859	return s
26860}
26861
26862// SetRedirectAllRequestsTo sets the RedirectAllRequestsTo field's value.
26863func (s *AwsS3BucketWebsiteConfiguration) SetRedirectAllRequestsTo(v *AwsS3BucketWebsiteConfigurationRedirectTo) *AwsS3BucketWebsiteConfiguration {
26864	s.RedirectAllRequestsTo = v
26865	return s
26866}
26867
26868// SetRoutingRules sets the RoutingRules field's value.
26869func (s *AwsS3BucketWebsiteConfiguration) SetRoutingRules(v []*AwsS3BucketWebsiteConfigurationRoutingRule) *AwsS3BucketWebsiteConfiguration {
26870	s.RoutingRules = v
26871	return s
26872}
26873
26874// The redirect behavior for requests to the website.
26875type AwsS3BucketWebsiteConfigurationRedirectTo struct {
26876	_ struct{} `type:"structure"`
26877
26878	// The name of the host to redirect requests to.
26879	Hostname *string `type:"string"`
26880
26881	// The protocol to use when redirecting requests. By default, uses the same
26882	// protocol as the original request.
26883	Protocol *string `type:"string"`
26884}
26885
26886// String returns the string representation.
26887//
26888// API parameter values that are decorated as "sensitive" in the API will not
26889// be included in the string output. The member name will be present, but the
26890// value will be replaced with "sensitive".
26891func (s AwsS3BucketWebsiteConfigurationRedirectTo) String() string {
26892	return awsutil.Prettify(s)
26893}
26894
26895// GoString returns the string representation.
26896//
26897// API parameter values that are decorated as "sensitive" in the API will not
26898// be included in the string output. The member name will be present, but the
26899// value will be replaced with "sensitive".
26900func (s AwsS3BucketWebsiteConfigurationRedirectTo) GoString() string {
26901	return s.String()
26902}
26903
26904// SetHostname sets the Hostname field's value.
26905func (s *AwsS3BucketWebsiteConfigurationRedirectTo) SetHostname(v string) *AwsS3BucketWebsiteConfigurationRedirectTo {
26906	s.Hostname = &v
26907	return s
26908}
26909
26910// SetProtocol sets the Protocol field's value.
26911func (s *AwsS3BucketWebsiteConfigurationRedirectTo) SetProtocol(v string) *AwsS3BucketWebsiteConfigurationRedirectTo {
26912	s.Protocol = &v
26913	return s
26914}
26915
26916// A rule for redirecting requests to the website.
26917type AwsS3BucketWebsiteConfigurationRoutingRule struct {
26918	_ struct{} `type:"structure"`
26919
26920	// Provides the condition that must be met in order to apply the routing rule.
26921	Condition *AwsS3BucketWebsiteConfigurationRoutingRuleCondition `type:"structure"`
26922
26923	// Provides the rules to redirect the request if the condition in Condition
26924	// is met.
26925	Redirect *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect `type:"structure"`
26926}
26927
26928// String returns the string representation.
26929//
26930// API parameter values that are decorated as "sensitive" in the API will not
26931// be included in the string output. The member name will be present, but the
26932// value will be replaced with "sensitive".
26933func (s AwsS3BucketWebsiteConfigurationRoutingRule) String() string {
26934	return awsutil.Prettify(s)
26935}
26936
26937// GoString returns the string representation.
26938//
26939// API parameter values that are decorated as "sensitive" in the API will not
26940// be included in the string output. The member name will be present, but the
26941// value will be replaced with "sensitive".
26942func (s AwsS3BucketWebsiteConfigurationRoutingRule) GoString() string {
26943	return s.String()
26944}
26945
26946// SetCondition sets the Condition field's value.
26947func (s *AwsS3BucketWebsiteConfigurationRoutingRule) SetCondition(v *AwsS3BucketWebsiteConfigurationRoutingRuleCondition) *AwsS3BucketWebsiteConfigurationRoutingRule {
26948	s.Condition = v
26949	return s
26950}
26951
26952// SetRedirect sets the Redirect field's value.
26953func (s *AwsS3BucketWebsiteConfigurationRoutingRule) SetRedirect(v *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) *AwsS3BucketWebsiteConfigurationRoutingRule {
26954	s.Redirect = v
26955	return s
26956}
26957
26958// The condition that must be met in order to apply the routing rule.
26959type AwsS3BucketWebsiteConfigurationRoutingRuleCondition struct {
26960	_ struct{} `type:"structure"`
26961
26962	// Indicates to redirect the request if the HTTP error code matches this value.
26963	HttpErrorCodeReturnedEquals *string `type:"string"`
26964
26965	// Indicates to redirect the request if the key prefix matches this value.
26966	KeyPrefixEquals *string `type:"string"`
26967}
26968
26969// String returns the string representation.
26970//
26971// API parameter values that are decorated as "sensitive" in the API will not
26972// be included in the string output. The member name will be present, but the
26973// value will be replaced with "sensitive".
26974func (s AwsS3BucketWebsiteConfigurationRoutingRuleCondition) String() string {
26975	return awsutil.Prettify(s)
26976}
26977
26978// GoString returns the string representation.
26979//
26980// API parameter values that are decorated as "sensitive" in the API will not
26981// be included in the string output. The member name will be present, but the
26982// value will be replaced with "sensitive".
26983func (s AwsS3BucketWebsiteConfigurationRoutingRuleCondition) GoString() string {
26984	return s.String()
26985}
26986
26987// SetHttpErrorCodeReturnedEquals sets the HttpErrorCodeReturnedEquals field's value.
26988func (s *AwsS3BucketWebsiteConfigurationRoutingRuleCondition) SetHttpErrorCodeReturnedEquals(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleCondition {
26989	s.HttpErrorCodeReturnedEquals = &v
26990	return s
26991}
26992
26993// SetKeyPrefixEquals sets the KeyPrefixEquals field's value.
26994func (s *AwsS3BucketWebsiteConfigurationRoutingRuleCondition) SetKeyPrefixEquals(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleCondition {
26995	s.KeyPrefixEquals = &v
26996	return s
26997}
26998
26999// The rules to redirect the request if the condition in Condition is met.
27000type AwsS3BucketWebsiteConfigurationRoutingRuleRedirect struct {
27001	_ struct{} `type:"structure"`
27002
27003	// The host name to use in the redirect request.
27004	Hostname *string `type:"string"`
27005
27006	// The HTTP redirect code to use in the response.
27007	HttpRedirectCode *string `type:"string"`
27008
27009	// The protocol to use to redirect the request. By default, uses the protocol
27010	// from the original request.
27011	Protocol *string `type:"string"`
27012
27013	// The object key prefix to use in the redirect request.
27014	//
27015	// Cannot be provided if ReplaceKeyWith is present.
27016	ReplaceKeyPrefixWith *string `type:"string"`
27017
27018	// The specific object key to use in the redirect request.
27019	//
27020	// Cannot be provided if ReplaceKeyPrefixWith is present.
27021	ReplaceKeyWith *string `type:"string"`
27022}
27023
27024// String returns the string representation.
27025//
27026// API parameter values that are decorated as "sensitive" in the API will not
27027// be included in the string output. The member name will be present, but the
27028// value will be replaced with "sensitive".
27029func (s AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) String() string {
27030	return awsutil.Prettify(s)
27031}
27032
27033// GoString returns the string representation.
27034//
27035// API parameter values that are decorated as "sensitive" in the API will not
27036// be included in the string output. The member name will be present, but the
27037// value will be replaced with "sensitive".
27038func (s AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) GoString() string {
27039	return s.String()
27040}
27041
27042// SetHostname sets the Hostname field's value.
27043func (s *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) SetHostname(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect {
27044	s.Hostname = &v
27045	return s
27046}
27047
27048// SetHttpRedirectCode sets the HttpRedirectCode field's value.
27049func (s *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) SetHttpRedirectCode(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect {
27050	s.HttpRedirectCode = &v
27051	return s
27052}
27053
27054// SetProtocol sets the Protocol field's value.
27055func (s *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) SetProtocol(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect {
27056	s.Protocol = &v
27057	return s
27058}
27059
27060// SetReplaceKeyPrefixWith sets the ReplaceKeyPrefixWith field's value.
27061func (s *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) SetReplaceKeyPrefixWith(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect {
27062	s.ReplaceKeyPrefixWith = &v
27063	return s
27064}
27065
27066// SetReplaceKeyWith sets the ReplaceKeyWith field's value.
27067func (s *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect) SetReplaceKeyWith(v string) *AwsS3BucketWebsiteConfigurationRoutingRuleRedirect {
27068	s.ReplaceKeyWith = &v
27069	return s
27070}
27071
27072// Details about an Amazon S3 object.
27073type AwsS3ObjectDetails struct {
27074	_ struct{} `type:"structure"`
27075
27076	// A standard MIME type describing the format of the object data.
27077	ContentType *string `type:"string"`
27078
27079	// The opaque identifier assigned by a web server to a specific version of a
27080	// resource found at a URL.
27081	ETag *string `type:"string"`
27082
27083	// Indicates when the object was last modified.
27084	//
27085	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
27086	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
27087	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
27088	LastModified *string `type:"string"`
27089
27090	// The identifier of the KMS symmetric customer managed key that was used for
27091	// the object.
27092	SSEKMSKeyId *string `type:"string"`
27093
27094	// If the object is stored using server-side encryption, the value of the server-side
27095	// encryption algorithm used when storing this object in Amazon S3.
27096	ServerSideEncryption *string `type:"string"`
27097
27098	// The version of the object.
27099	VersionId *string `type:"string"`
27100}
27101
27102// String returns the string representation.
27103//
27104// API parameter values that are decorated as "sensitive" in the API will not
27105// be included in the string output. The member name will be present, but the
27106// value will be replaced with "sensitive".
27107func (s AwsS3ObjectDetails) String() string {
27108	return awsutil.Prettify(s)
27109}
27110
27111// GoString returns the string representation.
27112//
27113// API parameter values that are decorated as "sensitive" in the API will not
27114// be included in the string output. The member name will be present, but the
27115// value will be replaced with "sensitive".
27116func (s AwsS3ObjectDetails) GoString() string {
27117	return s.String()
27118}
27119
27120// SetContentType sets the ContentType field's value.
27121func (s *AwsS3ObjectDetails) SetContentType(v string) *AwsS3ObjectDetails {
27122	s.ContentType = &v
27123	return s
27124}
27125
27126// SetETag sets the ETag field's value.
27127func (s *AwsS3ObjectDetails) SetETag(v string) *AwsS3ObjectDetails {
27128	s.ETag = &v
27129	return s
27130}
27131
27132// SetLastModified sets the LastModified field's value.
27133func (s *AwsS3ObjectDetails) SetLastModified(v string) *AwsS3ObjectDetails {
27134	s.LastModified = &v
27135	return s
27136}
27137
27138// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
27139func (s *AwsS3ObjectDetails) SetSSEKMSKeyId(v string) *AwsS3ObjectDetails {
27140	s.SSEKMSKeyId = &v
27141	return s
27142}
27143
27144// SetServerSideEncryption sets the ServerSideEncryption field's value.
27145func (s *AwsS3ObjectDetails) SetServerSideEncryption(v string) *AwsS3ObjectDetails {
27146	s.ServerSideEncryption = &v
27147	return s
27148}
27149
27150// SetVersionId sets the VersionId field's value.
27151func (s *AwsS3ObjectDetails) SetVersionId(v string) *AwsS3ObjectDetails {
27152	s.VersionId = &v
27153	return s
27154}
27155
27156// Details about an Secrets Manager secret.
27157type AwsSecretsManagerSecretDetails struct {
27158	_ struct{} `type:"structure"`
27159
27160	// Whether the secret is deleted.
27161	Deleted *bool `type:"boolean"`
27162
27163	// The user-provided description of the secret.
27164	Description *string `type:"string"`
27165
27166	// The ARN, Key ID, or alias of the KMS key used to encrypt the SecretString
27167	// or SecretBinary values for versions of this secret.
27168	KmsKeyId *string `type:"string"`
27169
27170	// The name of the secret.
27171	Name *string `type:"string"`
27172
27173	// Whether rotation is enabled.
27174	RotationEnabled *bool `type:"boolean"`
27175
27176	// The ARN of the Lambda function that rotates the secret.
27177	RotationLambdaArn *string `type:"string"`
27178
27179	// Whether the rotation occurred within the specified rotation frequency.
27180	RotationOccurredWithinFrequency *bool `type:"boolean"`
27181
27182	// Defines the rotation schedule for the secret.
27183	RotationRules *AwsSecretsManagerSecretRotationRules `type:"structure"`
27184}
27185
27186// String returns the string representation.
27187//
27188// API parameter values that are decorated as "sensitive" in the API will not
27189// be included in the string output. The member name will be present, but the
27190// value will be replaced with "sensitive".
27191func (s AwsSecretsManagerSecretDetails) String() string {
27192	return awsutil.Prettify(s)
27193}
27194
27195// GoString returns the string representation.
27196//
27197// API parameter values that are decorated as "sensitive" in the API will not
27198// be included in the string output. The member name will be present, but the
27199// value will be replaced with "sensitive".
27200func (s AwsSecretsManagerSecretDetails) GoString() string {
27201	return s.String()
27202}
27203
27204// SetDeleted sets the Deleted field's value.
27205func (s *AwsSecretsManagerSecretDetails) SetDeleted(v bool) *AwsSecretsManagerSecretDetails {
27206	s.Deleted = &v
27207	return s
27208}
27209
27210// SetDescription sets the Description field's value.
27211func (s *AwsSecretsManagerSecretDetails) SetDescription(v string) *AwsSecretsManagerSecretDetails {
27212	s.Description = &v
27213	return s
27214}
27215
27216// SetKmsKeyId sets the KmsKeyId field's value.
27217func (s *AwsSecretsManagerSecretDetails) SetKmsKeyId(v string) *AwsSecretsManagerSecretDetails {
27218	s.KmsKeyId = &v
27219	return s
27220}
27221
27222// SetName sets the Name field's value.
27223func (s *AwsSecretsManagerSecretDetails) SetName(v string) *AwsSecretsManagerSecretDetails {
27224	s.Name = &v
27225	return s
27226}
27227
27228// SetRotationEnabled sets the RotationEnabled field's value.
27229func (s *AwsSecretsManagerSecretDetails) SetRotationEnabled(v bool) *AwsSecretsManagerSecretDetails {
27230	s.RotationEnabled = &v
27231	return s
27232}
27233
27234// SetRotationLambdaArn sets the RotationLambdaArn field's value.
27235func (s *AwsSecretsManagerSecretDetails) SetRotationLambdaArn(v string) *AwsSecretsManagerSecretDetails {
27236	s.RotationLambdaArn = &v
27237	return s
27238}
27239
27240// SetRotationOccurredWithinFrequency sets the RotationOccurredWithinFrequency field's value.
27241func (s *AwsSecretsManagerSecretDetails) SetRotationOccurredWithinFrequency(v bool) *AwsSecretsManagerSecretDetails {
27242	s.RotationOccurredWithinFrequency = &v
27243	return s
27244}
27245
27246// SetRotationRules sets the RotationRules field's value.
27247func (s *AwsSecretsManagerSecretDetails) SetRotationRules(v *AwsSecretsManagerSecretRotationRules) *AwsSecretsManagerSecretDetails {
27248	s.RotationRules = v
27249	return s
27250}
27251
27252// Defines the rotation schedule for the secret.
27253type AwsSecretsManagerSecretRotationRules struct {
27254	_ struct{} `type:"structure"`
27255
27256	// The number of days after the previous rotation to rotate the secret.
27257	AutomaticallyAfterDays *int64 `type:"integer"`
27258}
27259
27260// String returns the string representation.
27261//
27262// API parameter values that are decorated as "sensitive" in the API will not
27263// be included in the string output. The member name will be present, but the
27264// value will be replaced with "sensitive".
27265func (s AwsSecretsManagerSecretRotationRules) String() string {
27266	return awsutil.Prettify(s)
27267}
27268
27269// GoString returns the string representation.
27270//
27271// API parameter values that are decorated as "sensitive" in the API will not
27272// be included in the string output. The member name will be present, but the
27273// value will be replaced with "sensitive".
27274func (s AwsSecretsManagerSecretRotationRules) GoString() string {
27275	return s.String()
27276}
27277
27278// SetAutomaticallyAfterDays sets the AutomaticallyAfterDays field's value.
27279func (s *AwsSecretsManagerSecretRotationRules) SetAutomaticallyAfterDays(v int64) *AwsSecretsManagerSecretRotationRules {
27280	s.AutomaticallyAfterDays = &v
27281	return s
27282}
27283
27284// Provides consistent format for the contents of the Security Hub-aggregated
27285// findings. AwsSecurityFinding format enables you to share findings between
27286// Amazon Web Services security services and third-party solutions, and security
27287// standards checks.
27288//
27289// A finding is a potential security issue generated either by Amazon Web Services
27290// services or by the integrated third-party solutions and standards checks.
27291type AwsSecurityFinding struct {
27292	_ struct{} `type:"structure"`
27293
27294	// Provides details about an action that affects or that was taken on a resource.
27295	Action *Action `type:"structure"`
27296
27297	// The Amazon Web Services account ID that a finding is generated in.
27298	//
27299	// AwsAccountId is a required field
27300	AwsAccountId *string `type:"string" required:"true"`
27301
27302	// The name of the company for the product that generated the finding.
27303	//
27304	// Security Hub populates this attribute automatically for each finding. You
27305	// cannot be updated using BatchImportFindings or BatchUpdateFindings. The exception
27306	// to this is when you use a custom integration.
27307	//
27308	// When you use the Security Hub console to filter findings by company name,
27309	// you use this attribute.
27310	//
27311	// When you use the Security Hub API to filter findings by company name, you
27312	// use the aws/securityhub/CompanyName attribute under ProductFields.
27313	//
27314	// Security Hub does not synchronize those two attributes.
27315	CompanyName *string `type:"string"`
27316
27317	// This data type is exclusive to findings that are generated as the result
27318	// of a check run against a specific rule in a supported security standard,
27319	// such as CIS Amazon Web Services Foundations. Contains security standard-related
27320	// finding details.
27321	Compliance *Compliance `type:"structure"`
27322
27323	// A finding's confidence. Confidence is defined as the likelihood that a finding
27324	// accurately identifies the behavior or issue that it was intended to identify.
27325	//
27326	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
27327	// zero percent confidence and 100 means 100 percent confidence.
27328	Confidence *int64 `type:"integer"`
27329
27330	// Indicates when the security-findings provider created the potential security
27331	// issue that a finding captured.
27332	//
27333	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
27334	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
27335	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
27336	//
27337	// CreatedAt is a required field
27338	CreatedAt *string `type:"string" required:"true"`
27339
27340	// The level of importance assigned to the resources associated with the finding.
27341	//
27342	// A score of 0 means that the underlying resources have no criticality, and
27343	// a score of 100 is reserved for the most critical resources.
27344	Criticality *int64 `type:"integer"`
27345
27346	// A finding's description.
27347	//
27348	// In this release, Description is a required property.
27349	//
27350	// Description is a required field
27351	Description *string `type:"string" required:"true"`
27352
27353	// In a BatchImportFindings request, finding providers use FindingProviderFields
27354	// to provide and update their own values for confidence, criticality, related
27355	// findings, severity, and types.
27356	FindingProviderFields *FindingProviderFields `type:"structure"`
27357
27358	// Indicates when the security-findings provider first observed the potential
27359	// security issue that a finding captured.
27360	//
27361	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
27362	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
27363	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
27364	FirstObservedAt *string `type:"string"`
27365
27366	// The identifier for the solution-specific component (a discrete unit of logic)
27367	// that generated a finding. In various security-findings providers' solutions,
27368	// this generator can be called a rule, a check, a detector, a plugin, etc.
27369	//
27370	// GeneratorId is a required field
27371	GeneratorId *string `type:"string" required:"true"`
27372
27373	// The security findings provider-specific identifier for a finding.
27374	//
27375	// Id is a required field
27376	Id *string `type:"string" required:"true"`
27377
27378	// Indicates when the security-findings provider most recently observed the
27379	// potential security issue that a finding captured.
27380	//
27381	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
27382	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
27383	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
27384	LastObservedAt *string `type:"string"`
27385
27386	// A list of malware related to a finding.
27387	Malware []*Malware `type:"list"`
27388
27389	// The details of network-related information about a finding.
27390	Network *Network `type:"structure"`
27391
27392	// Provides information about a network path that is relevant to a finding.
27393	// Each entry under NetworkPath represents a component of that path.
27394	NetworkPath []*NetworkPathComponent `type:"list"`
27395
27396	// A user-defined note added to a finding.
27397	Note *Note `type:"structure"`
27398
27399	// Provides an overview of the patch compliance status for an instance against
27400	// a selected compliance standard.
27401	PatchSummary *PatchSummary `type:"structure"`
27402
27403	// The details of process-related information about a finding.
27404	Process *ProcessDetails `type:"structure"`
27405
27406	// The ARN generated by Security Hub that uniquely identifies a product that
27407	// generates findings. This can be the ARN for a third-party product that is
27408	// integrated with Security Hub, or the ARN for a custom integration.
27409	//
27410	// ProductArn is a required field
27411	ProductArn *string `type:"string" required:"true"`
27412
27413	// A data type where security-findings providers can include additional solution-specific
27414	// details that aren't part of the defined AwsSecurityFinding format.
27415	//
27416	// Can contain up to 50 key-value pairs. For each key-value pair, the key can
27417	// contain up to 128 characters, and the value can contain up to 2048 characters.
27418	ProductFields map[string]*string `type:"map"`
27419
27420	// The name of the product that generated the finding.
27421	//
27422	// Security Hub populates this attribute automatically for each finding. You
27423	// cannot update it using BatchImportFindings or BatchUpdateFindings. The exception
27424	// to this is when you use a custom integration.
27425	//
27426	// When you use the Security Hub console to filter findings by product name,
27427	// you use this attribute.
27428	//
27429	// When you use the Security Hub API to filter findings by product name, you
27430	// use the aws/securityhub/ProductName attribute under ProductFields.
27431	//
27432	// Security Hub does not synchronize those two attributes.
27433	ProductName *string `type:"string"`
27434
27435	// The record state of a finding.
27436	RecordState *string `type:"string" enum:"RecordState"`
27437
27438	// The Region from which the finding was generated.
27439	//
27440	// Security Hub populates this attribute automatically for each finding. You
27441	// cannot update it using BatchImportFindings or BatchUpdateFindings.
27442	Region *string `type:"string"`
27443
27444	// A list of related findings.
27445	RelatedFindings []*RelatedFinding `type:"list"`
27446
27447	// A data type that describes the remediation options for a finding.
27448	Remediation *Remediation `type:"structure"`
27449
27450	// A set of resource data types that describe the resources that the finding
27451	// refers to.
27452	//
27453	// Resources is a required field
27454	Resources []*Resource `type:"list" required:"true"`
27455
27456	// The schema version that a finding is formatted for.
27457	//
27458	// SchemaVersion is a required field
27459	SchemaVersion *string `type:"string" required:"true"`
27460
27461	// A finding's severity.
27462	Severity *Severity `type:"structure"`
27463
27464	// A URL that links to a page about the current finding in the security-findings
27465	// provider's solution.
27466	SourceUrl *string `type:"string"`
27467
27468	// Threat intelligence details related to a finding.
27469	ThreatIntelIndicators []*ThreatIntelIndicator `type:"list"`
27470
27471	// A finding's title.
27472	//
27473	// In this release, Title is a required property.
27474	//
27475	// Title is a required field
27476	Title *string `type:"string" required:"true"`
27477
27478	// One or more finding types in the format of namespace/category/classifier
27479	// that classify a finding.
27480	//
27481	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
27482	// | Unusual Behaviors | Sensitive Data Identifications
27483	Types []*string `type:"list"`
27484
27485	// Indicates when the security-findings provider last updated the finding record.
27486	//
27487	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
27488	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
27489	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
27490	//
27491	// UpdatedAt is a required field
27492	UpdatedAt *string `type:"string" required:"true"`
27493
27494	// A list of name/value string pairs associated with the finding. These are
27495	// custom, user-defined fields added to a finding.
27496	UserDefinedFields map[string]*string `type:"map"`
27497
27498	// Indicates the veracity of a finding.
27499	VerificationState *string `type:"string" enum:"VerificationState"`
27500
27501	// Provides a list of vulnerabilities associated with the findings.
27502	Vulnerabilities []*Vulnerability `type:"list"`
27503
27504	// Provides information about the status of the investigation into a finding.
27505	Workflow *Workflow `type:"structure"`
27506
27507	// The workflow state of a finding.
27508	WorkflowState *string `deprecated:"true" type:"string" enum:"WorkflowState"`
27509}
27510
27511// String returns the string representation.
27512//
27513// API parameter values that are decorated as "sensitive" in the API will not
27514// be included in the string output. The member name will be present, but the
27515// value will be replaced with "sensitive".
27516func (s AwsSecurityFinding) String() string {
27517	return awsutil.Prettify(s)
27518}
27519
27520// GoString returns the string representation.
27521//
27522// API parameter values that are decorated as "sensitive" in the API will not
27523// be included in the string output. The member name will be present, but the
27524// value will be replaced with "sensitive".
27525func (s AwsSecurityFinding) GoString() string {
27526	return s.String()
27527}
27528
27529// Validate inspects the fields of the type to determine if they are valid.
27530func (s *AwsSecurityFinding) Validate() error {
27531	invalidParams := request.ErrInvalidParams{Context: "AwsSecurityFinding"}
27532	if s.AwsAccountId == nil {
27533		invalidParams.Add(request.NewErrParamRequired("AwsAccountId"))
27534	}
27535	if s.CreatedAt == nil {
27536		invalidParams.Add(request.NewErrParamRequired("CreatedAt"))
27537	}
27538	if s.Description == nil {
27539		invalidParams.Add(request.NewErrParamRequired("Description"))
27540	}
27541	if s.GeneratorId == nil {
27542		invalidParams.Add(request.NewErrParamRequired("GeneratorId"))
27543	}
27544	if s.Id == nil {
27545		invalidParams.Add(request.NewErrParamRequired("Id"))
27546	}
27547	if s.ProductArn == nil {
27548		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
27549	}
27550	if s.Resources == nil {
27551		invalidParams.Add(request.NewErrParamRequired("Resources"))
27552	}
27553	if s.SchemaVersion == nil {
27554		invalidParams.Add(request.NewErrParamRequired("SchemaVersion"))
27555	}
27556	if s.Title == nil {
27557		invalidParams.Add(request.NewErrParamRequired("Title"))
27558	}
27559	if s.UpdatedAt == nil {
27560		invalidParams.Add(request.NewErrParamRequired("UpdatedAt"))
27561	}
27562	if s.Compliance != nil {
27563		if err := s.Compliance.Validate(); err != nil {
27564			invalidParams.AddNested("Compliance", err.(request.ErrInvalidParams))
27565		}
27566	}
27567	if s.FindingProviderFields != nil {
27568		if err := s.FindingProviderFields.Validate(); err != nil {
27569			invalidParams.AddNested("FindingProviderFields", err.(request.ErrInvalidParams))
27570		}
27571	}
27572	if s.Malware != nil {
27573		for i, v := range s.Malware {
27574			if v == nil {
27575				continue
27576			}
27577			if err := v.Validate(); err != nil {
27578				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Malware", i), err.(request.ErrInvalidParams))
27579			}
27580		}
27581	}
27582	if s.Note != nil {
27583		if err := s.Note.Validate(); err != nil {
27584			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
27585		}
27586	}
27587	if s.PatchSummary != nil {
27588		if err := s.PatchSummary.Validate(); err != nil {
27589			invalidParams.AddNested("PatchSummary", err.(request.ErrInvalidParams))
27590		}
27591	}
27592	if s.RelatedFindings != nil {
27593		for i, v := range s.RelatedFindings {
27594			if v == nil {
27595				continue
27596			}
27597			if err := v.Validate(); err != nil {
27598				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
27599			}
27600		}
27601	}
27602	if s.Resources != nil {
27603		for i, v := range s.Resources {
27604			if v == nil {
27605				continue
27606			}
27607			if err := v.Validate(); err != nil {
27608				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Resources", i), err.(request.ErrInvalidParams))
27609			}
27610		}
27611	}
27612	if s.Vulnerabilities != nil {
27613		for i, v := range s.Vulnerabilities {
27614			if v == nil {
27615				continue
27616			}
27617			if err := v.Validate(); err != nil {
27618				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Vulnerabilities", i), err.(request.ErrInvalidParams))
27619			}
27620		}
27621	}
27622
27623	if invalidParams.Len() > 0 {
27624		return invalidParams
27625	}
27626	return nil
27627}
27628
27629// SetAction sets the Action field's value.
27630func (s *AwsSecurityFinding) SetAction(v *Action) *AwsSecurityFinding {
27631	s.Action = v
27632	return s
27633}
27634
27635// SetAwsAccountId sets the AwsAccountId field's value.
27636func (s *AwsSecurityFinding) SetAwsAccountId(v string) *AwsSecurityFinding {
27637	s.AwsAccountId = &v
27638	return s
27639}
27640
27641// SetCompanyName sets the CompanyName field's value.
27642func (s *AwsSecurityFinding) SetCompanyName(v string) *AwsSecurityFinding {
27643	s.CompanyName = &v
27644	return s
27645}
27646
27647// SetCompliance sets the Compliance field's value.
27648func (s *AwsSecurityFinding) SetCompliance(v *Compliance) *AwsSecurityFinding {
27649	s.Compliance = v
27650	return s
27651}
27652
27653// SetConfidence sets the Confidence field's value.
27654func (s *AwsSecurityFinding) SetConfidence(v int64) *AwsSecurityFinding {
27655	s.Confidence = &v
27656	return s
27657}
27658
27659// SetCreatedAt sets the CreatedAt field's value.
27660func (s *AwsSecurityFinding) SetCreatedAt(v string) *AwsSecurityFinding {
27661	s.CreatedAt = &v
27662	return s
27663}
27664
27665// SetCriticality sets the Criticality field's value.
27666func (s *AwsSecurityFinding) SetCriticality(v int64) *AwsSecurityFinding {
27667	s.Criticality = &v
27668	return s
27669}
27670
27671// SetDescription sets the Description field's value.
27672func (s *AwsSecurityFinding) SetDescription(v string) *AwsSecurityFinding {
27673	s.Description = &v
27674	return s
27675}
27676
27677// SetFindingProviderFields sets the FindingProviderFields field's value.
27678func (s *AwsSecurityFinding) SetFindingProviderFields(v *FindingProviderFields) *AwsSecurityFinding {
27679	s.FindingProviderFields = v
27680	return s
27681}
27682
27683// SetFirstObservedAt sets the FirstObservedAt field's value.
27684func (s *AwsSecurityFinding) SetFirstObservedAt(v string) *AwsSecurityFinding {
27685	s.FirstObservedAt = &v
27686	return s
27687}
27688
27689// SetGeneratorId sets the GeneratorId field's value.
27690func (s *AwsSecurityFinding) SetGeneratorId(v string) *AwsSecurityFinding {
27691	s.GeneratorId = &v
27692	return s
27693}
27694
27695// SetId sets the Id field's value.
27696func (s *AwsSecurityFinding) SetId(v string) *AwsSecurityFinding {
27697	s.Id = &v
27698	return s
27699}
27700
27701// SetLastObservedAt sets the LastObservedAt field's value.
27702func (s *AwsSecurityFinding) SetLastObservedAt(v string) *AwsSecurityFinding {
27703	s.LastObservedAt = &v
27704	return s
27705}
27706
27707// SetMalware sets the Malware field's value.
27708func (s *AwsSecurityFinding) SetMalware(v []*Malware) *AwsSecurityFinding {
27709	s.Malware = v
27710	return s
27711}
27712
27713// SetNetwork sets the Network field's value.
27714func (s *AwsSecurityFinding) SetNetwork(v *Network) *AwsSecurityFinding {
27715	s.Network = v
27716	return s
27717}
27718
27719// SetNetworkPath sets the NetworkPath field's value.
27720func (s *AwsSecurityFinding) SetNetworkPath(v []*NetworkPathComponent) *AwsSecurityFinding {
27721	s.NetworkPath = v
27722	return s
27723}
27724
27725// SetNote sets the Note field's value.
27726func (s *AwsSecurityFinding) SetNote(v *Note) *AwsSecurityFinding {
27727	s.Note = v
27728	return s
27729}
27730
27731// SetPatchSummary sets the PatchSummary field's value.
27732func (s *AwsSecurityFinding) SetPatchSummary(v *PatchSummary) *AwsSecurityFinding {
27733	s.PatchSummary = v
27734	return s
27735}
27736
27737// SetProcess sets the Process field's value.
27738func (s *AwsSecurityFinding) SetProcess(v *ProcessDetails) *AwsSecurityFinding {
27739	s.Process = v
27740	return s
27741}
27742
27743// SetProductArn sets the ProductArn field's value.
27744func (s *AwsSecurityFinding) SetProductArn(v string) *AwsSecurityFinding {
27745	s.ProductArn = &v
27746	return s
27747}
27748
27749// SetProductFields sets the ProductFields field's value.
27750func (s *AwsSecurityFinding) SetProductFields(v map[string]*string) *AwsSecurityFinding {
27751	s.ProductFields = v
27752	return s
27753}
27754
27755// SetProductName sets the ProductName field's value.
27756func (s *AwsSecurityFinding) SetProductName(v string) *AwsSecurityFinding {
27757	s.ProductName = &v
27758	return s
27759}
27760
27761// SetRecordState sets the RecordState field's value.
27762func (s *AwsSecurityFinding) SetRecordState(v string) *AwsSecurityFinding {
27763	s.RecordState = &v
27764	return s
27765}
27766
27767// SetRegion sets the Region field's value.
27768func (s *AwsSecurityFinding) SetRegion(v string) *AwsSecurityFinding {
27769	s.Region = &v
27770	return s
27771}
27772
27773// SetRelatedFindings sets the RelatedFindings field's value.
27774func (s *AwsSecurityFinding) SetRelatedFindings(v []*RelatedFinding) *AwsSecurityFinding {
27775	s.RelatedFindings = v
27776	return s
27777}
27778
27779// SetRemediation sets the Remediation field's value.
27780func (s *AwsSecurityFinding) SetRemediation(v *Remediation) *AwsSecurityFinding {
27781	s.Remediation = v
27782	return s
27783}
27784
27785// SetResources sets the Resources field's value.
27786func (s *AwsSecurityFinding) SetResources(v []*Resource) *AwsSecurityFinding {
27787	s.Resources = v
27788	return s
27789}
27790
27791// SetSchemaVersion sets the SchemaVersion field's value.
27792func (s *AwsSecurityFinding) SetSchemaVersion(v string) *AwsSecurityFinding {
27793	s.SchemaVersion = &v
27794	return s
27795}
27796
27797// SetSeverity sets the Severity field's value.
27798func (s *AwsSecurityFinding) SetSeverity(v *Severity) *AwsSecurityFinding {
27799	s.Severity = v
27800	return s
27801}
27802
27803// SetSourceUrl sets the SourceUrl field's value.
27804func (s *AwsSecurityFinding) SetSourceUrl(v string) *AwsSecurityFinding {
27805	s.SourceUrl = &v
27806	return s
27807}
27808
27809// SetThreatIntelIndicators sets the ThreatIntelIndicators field's value.
27810func (s *AwsSecurityFinding) SetThreatIntelIndicators(v []*ThreatIntelIndicator) *AwsSecurityFinding {
27811	s.ThreatIntelIndicators = v
27812	return s
27813}
27814
27815// SetTitle sets the Title field's value.
27816func (s *AwsSecurityFinding) SetTitle(v string) *AwsSecurityFinding {
27817	s.Title = &v
27818	return s
27819}
27820
27821// SetTypes sets the Types field's value.
27822func (s *AwsSecurityFinding) SetTypes(v []*string) *AwsSecurityFinding {
27823	s.Types = v
27824	return s
27825}
27826
27827// SetUpdatedAt sets the UpdatedAt field's value.
27828func (s *AwsSecurityFinding) SetUpdatedAt(v string) *AwsSecurityFinding {
27829	s.UpdatedAt = &v
27830	return s
27831}
27832
27833// SetUserDefinedFields sets the UserDefinedFields field's value.
27834func (s *AwsSecurityFinding) SetUserDefinedFields(v map[string]*string) *AwsSecurityFinding {
27835	s.UserDefinedFields = v
27836	return s
27837}
27838
27839// SetVerificationState sets the VerificationState field's value.
27840func (s *AwsSecurityFinding) SetVerificationState(v string) *AwsSecurityFinding {
27841	s.VerificationState = &v
27842	return s
27843}
27844
27845// SetVulnerabilities sets the Vulnerabilities field's value.
27846func (s *AwsSecurityFinding) SetVulnerabilities(v []*Vulnerability) *AwsSecurityFinding {
27847	s.Vulnerabilities = v
27848	return s
27849}
27850
27851// SetWorkflow sets the Workflow field's value.
27852func (s *AwsSecurityFinding) SetWorkflow(v *Workflow) *AwsSecurityFinding {
27853	s.Workflow = v
27854	return s
27855}
27856
27857// SetWorkflowState sets the WorkflowState field's value.
27858func (s *AwsSecurityFinding) SetWorkflowState(v string) *AwsSecurityFinding {
27859	s.WorkflowState = &v
27860	return s
27861}
27862
27863// A collection of attributes that are applied to all active Security Hub-aggregated
27864// findings and that result in a subset of findings that are included in this
27865// insight.
27866//
27867// You can filter by up to 10 finding attributes. For each attribute, you can
27868// provide up to 20 filter values.
27869type AwsSecurityFindingFilters struct {
27870	_ struct{} `type:"structure"`
27871
27872	// The Amazon Web Services account ID that a finding is generated in.
27873	AwsAccountId []*StringFilter `type:"list"`
27874
27875	// The name of the findings provider (company) that owns the solution (product)
27876	// that generates findings.
27877	//
27878	// Note that this is a filter against the aws/securityhub/CompanyName field
27879	// in ProductFields. It is not a filter for the top-level CompanyName field.
27880	CompanyName []*StringFilter `type:"list"`
27881
27882	// Exclusive to findings that are generated as the result of a check run against
27883	// a specific rule in a supported standard, such as CIS Amazon Web Services
27884	// Foundations. Contains security standard-related finding details.
27885	ComplianceStatus []*StringFilter `type:"list"`
27886
27887	// A finding's confidence. Confidence is defined as the likelihood that a finding
27888	// accurately identifies the behavior or issue that it was intended to identify.
27889	//
27890	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
27891	// zero percent confidence and 100 means 100 percent confidence.
27892	Confidence []*NumberFilter `type:"list"`
27893
27894	// An ISO8601-formatted timestamp that indicates when the security-findings
27895	// provider captured the potential security issue that a finding captured.
27896	CreatedAt []*DateFilter `type:"list"`
27897
27898	// The level of importance assigned to the resources associated with the finding.
27899	//
27900	// A score of 0 means that the underlying resources have no criticality, and
27901	// a score of 100 is reserved for the most critical resources.
27902	Criticality []*NumberFilter `type:"list"`
27903
27904	// A finding's description.
27905	Description []*StringFilter `type:"list"`
27906
27907	// The finding provider value for the finding confidence. Confidence is defined
27908	// as the likelihood that a finding accurately identifies the behavior or issue
27909	// that it was intended to identify.
27910	//
27911	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
27912	// zero percent confidence and 100 means 100 percent confidence.
27913	FindingProviderFieldsConfidence []*NumberFilter `type:"list"`
27914
27915	// The finding provider value for the level of importance assigned to the resources
27916	// associated with the findings.
27917	//
27918	// A score of 0 means that the underlying resources have no criticality, and
27919	// a score of 100 is reserved for the most critical resources.
27920	FindingProviderFieldsCriticality []*NumberFilter `type:"list"`
27921
27922	// The finding identifier of a related finding that is identified by the finding
27923	// provider.
27924	FindingProviderFieldsRelatedFindingsId []*StringFilter `type:"list"`
27925
27926	// The ARN of the solution that generated a related finding that is identified
27927	// by the finding provider.
27928	FindingProviderFieldsRelatedFindingsProductArn []*StringFilter `type:"list"`
27929
27930	// The finding provider value for the severity label.
27931	FindingProviderFieldsSeverityLabel []*StringFilter `type:"list"`
27932
27933	// The finding provider's original value for the severity.
27934	FindingProviderFieldsSeverityOriginal []*StringFilter `type:"list"`
27935
27936	// One or more finding types that the finding provider assigned to the finding.
27937	// Uses the format of namespace/category/classifier that classify a finding.
27938	//
27939	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
27940	// | Unusual Behaviors | Sensitive Data Identifications
27941	FindingProviderFieldsTypes []*StringFilter `type:"list"`
27942
27943	// An ISO8601-formatted timestamp that indicates when the security-findings
27944	// provider first observed the potential security issue that a finding captured.
27945	FirstObservedAt []*DateFilter `type:"list"`
27946
27947	// The identifier for the solution-specific component (a discrete unit of logic)
27948	// that generated a finding. In various security-findings providers' solutions,
27949	// this generator can be called a rule, a check, a detector, a plugin, etc.
27950	GeneratorId []*StringFilter `type:"list"`
27951
27952	// The security findings provider-specific identifier for a finding.
27953	Id []*StringFilter `type:"list"`
27954
27955	// A keyword for a finding.
27956	//
27957	// Deprecated: The Keyword property is deprecated.
27958	Keyword []*KeywordFilter `deprecated:"true" type:"list"`
27959
27960	// An ISO8601-formatted timestamp that indicates when the security-findings
27961	// provider most recently observed the potential security issue that a finding
27962	// captured.
27963	LastObservedAt []*DateFilter `type:"list"`
27964
27965	// The name of the malware that was observed.
27966	MalwareName []*StringFilter `type:"list"`
27967
27968	// The filesystem path of the malware that was observed.
27969	MalwarePath []*StringFilter `type:"list"`
27970
27971	// The state of the malware that was observed.
27972	MalwareState []*StringFilter `type:"list"`
27973
27974	// The type of the malware that was observed.
27975	MalwareType []*StringFilter `type:"list"`
27976
27977	// The destination domain of network-related information about a finding.
27978	NetworkDestinationDomain []*StringFilter `type:"list"`
27979
27980	// The destination IPv4 address of network-related information about a finding.
27981	NetworkDestinationIpV4 []*IpFilter `type:"list"`
27982
27983	// The destination IPv6 address of network-related information about a finding.
27984	NetworkDestinationIpV6 []*IpFilter `type:"list"`
27985
27986	// The destination port of network-related information about a finding.
27987	NetworkDestinationPort []*NumberFilter `type:"list"`
27988
27989	// Indicates the direction of network traffic associated with a finding.
27990	NetworkDirection []*StringFilter `type:"list"`
27991
27992	// The protocol of network-related information about a finding.
27993	NetworkProtocol []*StringFilter `type:"list"`
27994
27995	// The source domain of network-related information about a finding.
27996	NetworkSourceDomain []*StringFilter `type:"list"`
27997
27998	// The source IPv4 address of network-related information about a finding.
27999	NetworkSourceIpV4 []*IpFilter `type:"list"`
28000
28001	// The source IPv6 address of network-related information about a finding.
28002	NetworkSourceIpV6 []*IpFilter `type:"list"`
28003
28004	// The source media access control (MAC) address of network-related information
28005	// about a finding.
28006	NetworkSourceMac []*StringFilter `type:"list"`
28007
28008	// The source port of network-related information about a finding.
28009	NetworkSourcePort []*NumberFilter `type:"list"`
28010
28011	// The text of a note.
28012	NoteText []*StringFilter `type:"list"`
28013
28014	// The timestamp of when the note was updated.
28015	NoteUpdatedAt []*DateFilter `type:"list"`
28016
28017	// The principal that created a note.
28018	NoteUpdatedBy []*StringFilter `type:"list"`
28019
28020	// The date/time that the process was launched.
28021	ProcessLaunchedAt []*DateFilter `type:"list"`
28022
28023	// The name of the process.
28024	ProcessName []*StringFilter `type:"list"`
28025
28026	// The parent process ID.
28027	ProcessParentPid []*NumberFilter `type:"list"`
28028
28029	// The path to the process executable.
28030	ProcessPath []*StringFilter `type:"list"`
28031
28032	// The process ID.
28033	ProcessPid []*NumberFilter `type:"list"`
28034
28035	// The date/time that the process was terminated.
28036	ProcessTerminatedAt []*DateFilter `type:"list"`
28037
28038	// The ARN generated by Security Hub that uniquely identifies a third-party
28039	// company (security findings provider) after this provider's product (solution
28040	// that generates findings) is registered with Security Hub.
28041	ProductArn []*StringFilter `type:"list"`
28042
28043	// A data type where security-findings providers can include additional solution-specific
28044	// details that aren't part of the defined AwsSecurityFinding format.
28045	ProductFields []*MapFilter `type:"list"`
28046
28047	// The name of the solution (product) that generates findings.
28048	//
28049	// Note that this is a filter against the aws/securityhub/ProductName field
28050	// in ProductFields. It is not a filter for the top-level ProductName field.
28051	ProductName []*StringFilter `type:"list"`
28052
28053	// The recommendation of what to do about the issue described in a finding.
28054	RecommendationText []*StringFilter `type:"list"`
28055
28056	// The updated record state for the finding.
28057	RecordState []*StringFilter `type:"list"`
28058
28059	// The Region from which the finding was generated.
28060	Region []*StringFilter `type:"list"`
28061
28062	// The solution-generated identifier for a related finding.
28063	RelatedFindingsId []*StringFilter `type:"list"`
28064
28065	// The ARN of the solution that generated a related finding.
28066	RelatedFindingsProductArn []*StringFilter `type:"list"`
28067
28068	// The IAM profile ARN of the instance.
28069	ResourceAwsEc2InstanceIamInstanceProfileArn []*StringFilter `type:"list"`
28070
28071	// The Amazon Machine Image (AMI) ID of the instance.
28072	ResourceAwsEc2InstanceImageId []*StringFilter `type:"list"`
28073
28074	// The IPv4 addresses associated with the instance.
28075	ResourceAwsEc2InstanceIpV4Addresses []*IpFilter `type:"list"`
28076
28077	// The IPv6 addresses associated with the instance.
28078	ResourceAwsEc2InstanceIpV6Addresses []*IpFilter `type:"list"`
28079
28080	// The key name associated with the instance.
28081	ResourceAwsEc2InstanceKeyName []*StringFilter `type:"list"`
28082
28083	// The date and time the instance was launched.
28084	ResourceAwsEc2InstanceLaunchedAt []*DateFilter `type:"list"`
28085
28086	// The identifier of the subnet that the instance was launched in.
28087	ResourceAwsEc2InstanceSubnetId []*StringFilter `type:"list"`
28088
28089	// The instance type of the instance.
28090	ResourceAwsEc2InstanceType []*StringFilter `type:"list"`
28091
28092	// The identifier of the VPC that the instance was launched in.
28093	ResourceAwsEc2InstanceVpcId []*StringFilter `type:"list"`
28094
28095	// The creation date/time of the IAM access key related to a finding.
28096	ResourceAwsIamAccessKeyCreatedAt []*DateFilter `type:"list"`
28097
28098	// The name of the principal that is associated with an IAM access key.
28099	ResourceAwsIamAccessKeyPrincipalName []*StringFilter `type:"list"`
28100
28101	// The status of the IAM access key related to a finding.
28102	ResourceAwsIamAccessKeyStatus []*StringFilter `type:"list"`
28103
28104	// The user associated with the IAM access key related to a finding.
28105	//
28106	// Deprecated: This filter is deprecated. Instead, use ResourceAwsIamAccessKeyPrincipalName.
28107	ResourceAwsIamAccessKeyUserName []*StringFilter `deprecated:"true" type:"list"`
28108
28109	// The name of an IAM user.
28110	ResourceAwsIamUserUserName []*StringFilter `type:"list"`
28111
28112	// The canonical user ID of the owner of the S3 bucket.
28113	ResourceAwsS3BucketOwnerId []*StringFilter `type:"list"`
28114
28115	// The display name of the owner of the S3 bucket.
28116	ResourceAwsS3BucketOwnerName []*StringFilter `type:"list"`
28117
28118	// The identifier of the image related to a finding.
28119	ResourceContainerImageId []*StringFilter `type:"list"`
28120
28121	// The name of the image related to a finding.
28122	ResourceContainerImageName []*StringFilter `type:"list"`
28123
28124	// The date/time that the container was started.
28125	ResourceContainerLaunchedAt []*DateFilter `type:"list"`
28126
28127	// The name of the container related to a finding.
28128	ResourceContainerName []*StringFilter `type:"list"`
28129
28130	// The details of a resource that doesn't have a specific subfield for the resource
28131	// type defined.
28132	ResourceDetailsOther []*MapFilter `type:"list"`
28133
28134	// The canonical identifier for the given resource type.
28135	ResourceId []*StringFilter `type:"list"`
28136
28137	// The canonical Amazon Web Services partition name that the Region is assigned
28138	// to.
28139	ResourcePartition []*StringFilter `type:"list"`
28140
28141	// The canonical Amazon Web Services external Region name where this resource
28142	// is located.
28143	ResourceRegion []*StringFilter `type:"list"`
28144
28145	// A list of Amazon Web Services tags associated with a resource at the time
28146	// the finding was processed.
28147	ResourceTags []*MapFilter `type:"list"`
28148
28149	// Specifies the type of the resource that details are provided for.
28150	ResourceType []*StringFilter `type:"list"`
28151
28152	// The label of a finding's severity.
28153	SeverityLabel []*StringFilter `type:"list"`
28154
28155	// The normalized severity of a finding.
28156	//
28157	// Deprecated: This filter is deprecated. Instead, use SeverityLabel or FindingProviderFieldsSeverityLabel.
28158	SeverityNormalized []*NumberFilter `deprecated:"true" type:"list"`
28159
28160	// The native severity as defined by the security-findings provider's solution
28161	// that generated the finding.
28162	//
28163	// Deprecated: This filter is deprecated. Instead, use FindingProviderSeverityOriginal.
28164	SeverityProduct []*NumberFilter `deprecated:"true" type:"list"`
28165
28166	// A URL that links to a page about the current finding in the security-findings
28167	// provider's solution.
28168	SourceUrl []*StringFilter `type:"list"`
28169
28170	// The category of a threat intelligence indicator.
28171	ThreatIntelIndicatorCategory []*StringFilter `type:"list"`
28172
28173	// The date/time of the last observation of a threat intelligence indicator.
28174	ThreatIntelIndicatorLastObservedAt []*DateFilter `type:"list"`
28175
28176	// The source of the threat intelligence.
28177	ThreatIntelIndicatorSource []*StringFilter `type:"list"`
28178
28179	// The URL for more details from the source of the threat intelligence.
28180	ThreatIntelIndicatorSourceUrl []*StringFilter `type:"list"`
28181
28182	// The type of a threat intelligence indicator.
28183	ThreatIntelIndicatorType []*StringFilter `type:"list"`
28184
28185	// The value of a threat intelligence indicator.
28186	ThreatIntelIndicatorValue []*StringFilter `type:"list"`
28187
28188	// A finding's title.
28189	Title []*StringFilter `type:"list"`
28190
28191	// A finding type in the format of namespace/category/classifier that classifies
28192	// a finding.
28193	Type []*StringFilter `type:"list"`
28194
28195	// An ISO8601-formatted timestamp that indicates when the security-findings
28196	// provider last updated the finding record.
28197	UpdatedAt []*DateFilter `type:"list"`
28198
28199	// A list of name/value string pairs associated with the finding. These are
28200	// custom, user-defined fields added to a finding.
28201	UserDefinedFields []*MapFilter `type:"list"`
28202
28203	// The veracity of a finding.
28204	VerificationState []*StringFilter `type:"list"`
28205
28206	// The workflow state of a finding.
28207	//
28208	// Note that this field is deprecated. To search for a finding based on its
28209	// workflow status, use WorkflowStatus.
28210	WorkflowState []*StringFilter `type:"list"`
28211
28212	// The status of the investigation into a finding. Allowed values are the following.
28213	//
28214	//    * NEW - The initial state of a finding, before it is reviewed. Security
28215	//    Hub also resets the workflow status from NOTIFIED or RESOLVED to NEW in
28216	//    the following cases: The record state changes from ARCHIVED to ACTIVE.
28217	//    The compliance status changes from PASSED to either WARNING, FAILED, or
28218	//    NOT_AVAILABLE.
28219	//
28220	//    * NOTIFIED - Indicates that the resource owner has been notified about
28221	//    the security issue. Used when the initial reviewer is not the resource
28222	//    owner, and needs intervention from the resource owner.
28223	//
28224	//    * SUPPRESSED - The finding will not be reviewed again and will not be
28225	//    acted upon.
28226	//
28227	//    * RESOLVED - The finding was reviewed and remediated and is now considered
28228	//    resolved.
28229	WorkflowStatus []*StringFilter `type:"list"`
28230}
28231
28232// String returns the string representation.
28233//
28234// API parameter values that are decorated as "sensitive" in the API will not
28235// be included in the string output. The member name will be present, but the
28236// value will be replaced with "sensitive".
28237func (s AwsSecurityFindingFilters) String() string {
28238	return awsutil.Prettify(s)
28239}
28240
28241// GoString returns the string representation.
28242//
28243// API parameter values that are decorated as "sensitive" in the API will not
28244// be included in the string output. The member name will be present, but the
28245// value will be replaced with "sensitive".
28246func (s AwsSecurityFindingFilters) GoString() string {
28247	return s.String()
28248}
28249
28250// SetAwsAccountId sets the AwsAccountId field's value.
28251func (s *AwsSecurityFindingFilters) SetAwsAccountId(v []*StringFilter) *AwsSecurityFindingFilters {
28252	s.AwsAccountId = v
28253	return s
28254}
28255
28256// SetCompanyName sets the CompanyName field's value.
28257func (s *AwsSecurityFindingFilters) SetCompanyName(v []*StringFilter) *AwsSecurityFindingFilters {
28258	s.CompanyName = v
28259	return s
28260}
28261
28262// SetComplianceStatus sets the ComplianceStatus field's value.
28263func (s *AwsSecurityFindingFilters) SetComplianceStatus(v []*StringFilter) *AwsSecurityFindingFilters {
28264	s.ComplianceStatus = v
28265	return s
28266}
28267
28268// SetConfidence sets the Confidence field's value.
28269func (s *AwsSecurityFindingFilters) SetConfidence(v []*NumberFilter) *AwsSecurityFindingFilters {
28270	s.Confidence = v
28271	return s
28272}
28273
28274// SetCreatedAt sets the CreatedAt field's value.
28275func (s *AwsSecurityFindingFilters) SetCreatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
28276	s.CreatedAt = v
28277	return s
28278}
28279
28280// SetCriticality sets the Criticality field's value.
28281func (s *AwsSecurityFindingFilters) SetCriticality(v []*NumberFilter) *AwsSecurityFindingFilters {
28282	s.Criticality = v
28283	return s
28284}
28285
28286// SetDescription sets the Description field's value.
28287func (s *AwsSecurityFindingFilters) SetDescription(v []*StringFilter) *AwsSecurityFindingFilters {
28288	s.Description = v
28289	return s
28290}
28291
28292// SetFindingProviderFieldsConfidence sets the FindingProviderFieldsConfidence field's value.
28293func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsConfidence(v []*NumberFilter) *AwsSecurityFindingFilters {
28294	s.FindingProviderFieldsConfidence = v
28295	return s
28296}
28297
28298// SetFindingProviderFieldsCriticality sets the FindingProviderFieldsCriticality field's value.
28299func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsCriticality(v []*NumberFilter) *AwsSecurityFindingFilters {
28300	s.FindingProviderFieldsCriticality = v
28301	return s
28302}
28303
28304// SetFindingProviderFieldsRelatedFindingsId sets the FindingProviderFieldsRelatedFindingsId field's value.
28305func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsRelatedFindingsId(v []*StringFilter) *AwsSecurityFindingFilters {
28306	s.FindingProviderFieldsRelatedFindingsId = v
28307	return s
28308}
28309
28310// SetFindingProviderFieldsRelatedFindingsProductArn sets the FindingProviderFieldsRelatedFindingsProductArn field's value.
28311func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsRelatedFindingsProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
28312	s.FindingProviderFieldsRelatedFindingsProductArn = v
28313	return s
28314}
28315
28316// SetFindingProviderFieldsSeverityLabel sets the FindingProviderFieldsSeverityLabel field's value.
28317func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsSeverityLabel(v []*StringFilter) *AwsSecurityFindingFilters {
28318	s.FindingProviderFieldsSeverityLabel = v
28319	return s
28320}
28321
28322// SetFindingProviderFieldsSeverityOriginal sets the FindingProviderFieldsSeverityOriginal field's value.
28323func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsSeverityOriginal(v []*StringFilter) *AwsSecurityFindingFilters {
28324	s.FindingProviderFieldsSeverityOriginal = v
28325	return s
28326}
28327
28328// SetFindingProviderFieldsTypes sets the FindingProviderFieldsTypes field's value.
28329func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsTypes(v []*StringFilter) *AwsSecurityFindingFilters {
28330	s.FindingProviderFieldsTypes = v
28331	return s
28332}
28333
28334// SetFirstObservedAt sets the FirstObservedAt field's value.
28335func (s *AwsSecurityFindingFilters) SetFirstObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
28336	s.FirstObservedAt = v
28337	return s
28338}
28339
28340// SetGeneratorId sets the GeneratorId field's value.
28341func (s *AwsSecurityFindingFilters) SetGeneratorId(v []*StringFilter) *AwsSecurityFindingFilters {
28342	s.GeneratorId = v
28343	return s
28344}
28345
28346// SetId sets the Id field's value.
28347func (s *AwsSecurityFindingFilters) SetId(v []*StringFilter) *AwsSecurityFindingFilters {
28348	s.Id = v
28349	return s
28350}
28351
28352// SetKeyword sets the Keyword field's value.
28353func (s *AwsSecurityFindingFilters) SetKeyword(v []*KeywordFilter) *AwsSecurityFindingFilters {
28354	s.Keyword = v
28355	return s
28356}
28357
28358// SetLastObservedAt sets the LastObservedAt field's value.
28359func (s *AwsSecurityFindingFilters) SetLastObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
28360	s.LastObservedAt = v
28361	return s
28362}
28363
28364// SetMalwareName sets the MalwareName field's value.
28365func (s *AwsSecurityFindingFilters) SetMalwareName(v []*StringFilter) *AwsSecurityFindingFilters {
28366	s.MalwareName = v
28367	return s
28368}
28369
28370// SetMalwarePath sets the MalwarePath field's value.
28371func (s *AwsSecurityFindingFilters) SetMalwarePath(v []*StringFilter) *AwsSecurityFindingFilters {
28372	s.MalwarePath = v
28373	return s
28374}
28375
28376// SetMalwareState sets the MalwareState field's value.
28377func (s *AwsSecurityFindingFilters) SetMalwareState(v []*StringFilter) *AwsSecurityFindingFilters {
28378	s.MalwareState = v
28379	return s
28380}
28381
28382// SetMalwareType sets the MalwareType field's value.
28383func (s *AwsSecurityFindingFilters) SetMalwareType(v []*StringFilter) *AwsSecurityFindingFilters {
28384	s.MalwareType = v
28385	return s
28386}
28387
28388// SetNetworkDestinationDomain sets the NetworkDestinationDomain field's value.
28389func (s *AwsSecurityFindingFilters) SetNetworkDestinationDomain(v []*StringFilter) *AwsSecurityFindingFilters {
28390	s.NetworkDestinationDomain = v
28391	return s
28392}
28393
28394// SetNetworkDestinationIpV4 sets the NetworkDestinationIpV4 field's value.
28395func (s *AwsSecurityFindingFilters) SetNetworkDestinationIpV4(v []*IpFilter) *AwsSecurityFindingFilters {
28396	s.NetworkDestinationIpV4 = v
28397	return s
28398}
28399
28400// SetNetworkDestinationIpV6 sets the NetworkDestinationIpV6 field's value.
28401func (s *AwsSecurityFindingFilters) SetNetworkDestinationIpV6(v []*IpFilter) *AwsSecurityFindingFilters {
28402	s.NetworkDestinationIpV6 = v
28403	return s
28404}
28405
28406// SetNetworkDestinationPort sets the NetworkDestinationPort field's value.
28407func (s *AwsSecurityFindingFilters) SetNetworkDestinationPort(v []*NumberFilter) *AwsSecurityFindingFilters {
28408	s.NetworkDestinationPort = v
28409	return s
28410}
28411
28412// SetNetworkDirection sets the NetworkDirection field's value.
28413func (s *AwsSecurityFindingFilters) SetNetworkDirection(v []*StringFilter) *AwsSecurityFindingFilters {
28414	s.NetworkDirection = v
28415	return s
28416}
28417
28418// SetNetworkProtocol sets the NetworkProtocol field's value.
28419func (s *AwsSecurityFindingFilters) SetNetworkProtocol(v []*StringFilter) *AwsSecurityFindingFilters {
28420	s.NetworkProtocol = v
28421	return s
28422}
28423
28424// SetNetworkSourceDomain sets the NetworkSourceDomain field's value.
28425func (s *AwsSecurityFindingFilters) SetNetworkSourceDomain(v []*StringFilter) *AwsSecurityFindingFilters {
28426	s.NetworkSourceDomain = v
28427	return s
28428}
28429
28430// SetNetworkSourceIpV4 sets the NetworkSourceIpV4 field's value.
28431func (s *AwsSecurityFindingFilters) SetNetworkSourceIpV4(v []*IpFilter) *AwsSecurityFindingFilters {
28432	s.NetworkSourceIpV4 = v
28433	return s
28434}
28435
28436// SetNetworkSourceIpV6 sets the NetworkSourceIpV6 field's value.
28437func (s *AwsSecurityFindingFilters) SetNetworkSourceIpV6(v []*IpFilter) *AwsSecurityFindingFilters {
28438	s.NetworkSourceIpV6 = v
28439	return s
28440}
28441
28442// SetNetworkSourceMac sets the NetworkSourceMac field's value.
28443func (s *AwsSecurityFindingFilters) SetNetworkSourceMac(v []*StringFilter) *AwsSecurityFindingFilters {
28444	s.NetworkSourceMac = v
28445	return s
28446}
28447
28448// SetNetworkSourcePort sets the NetworkSourcePort field's value.
28449func (s *AwsSecurityFindingFilters) SetNetworkSourcePort(v []*NumberFilter) *AwsSecurityFindingFilters {
28450	s.NetworkSourcePort = v
28451	return s
28452}
28453
28454// SetNoteText sets the NoteText field's value.
28455func (s *AwsSecurityFindingFilters) SetNoteText(v []*StringFilter) *AwsSecurityFindingFilters {
28456	s.NoteText = v
28457	return s
28458}
28459
28460// SetNoteUpdatedAt sets the NoteUpdatedAt field's value.
28461func (s *AwsSecurityFindingFilters) SetNoteUpdatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
28462	s.NoteUpdatedAt = v
28463	return s
28464}
28465
28466// SetNoteUpdatedBy sets the NoteUpdatedBy field's value.
28467func (s *AwsSecurityFindingFilters) SetNoteUpdatedBy(v []*StringFilter) *AwsSecurityFindingFilters {
28468	s.NoteUpdatedBy = v
28469	return s
28470}
28471
28472// SetProcessLaunchedAt sets the ProcessLaunchedAt field's value.
28473func (s *AwsSecurityFindingFilters) SetProcessLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
28474	s.ProcessLaunchedAt = v
28475	return s
28476}
28477
28478// SetProcessName sets the ProcessName field's value.
28479func (s *AwsSecurityFindingFilters) SetProcessName(v []*StringFilter) *AwsSecurityFindingFilters {
28480	s.ProcessName = v
28481	return s
28482}
28483
28484// SetProcessParentPid sets the ProcessParentPid field's value.
28485func (s *AwsSecurityFindingFilters) SetProcessParentPid(v []*NumberFilter) *AwsSecurityFindingFilters {
28486	s.ProcessParentPid = v
28487	return s
28488}
28489
28490// SetProcessPath sets the ProcessPath field's value.
28491func (s *AwsSecurityFindingFilters) SetProcessPath(v []*StringFilter) *AwsSecurityFindingFilters {
28492	s.ProcessPath = v
28493	return s
28494}
28495
28496// SetProcessPid sets the ProcessPid field's value.
28497func (s *AwsSecurityFindingFilters) SetProcessPid(v []*NumberFilter) *AwsSecurityFindingFilters {
28498	s.ProcessPid = v
28499	return s
28500}
28501
28502// SetProcessTerminatedAt sets the ProcessTerminatedAt field's value.
28503func (s *AwsSecurityFindingFilters) SetProcessTerminatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
28504	s.ProcessTerminatedAt = v
28505	return s
28506}
28507
28508// SetProductArn sets the ProductArn field's value.
28509func (s *AwsSecurityFindingFilters) SetProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
28510	s.ProductArn = v
28511	return s
28512}
28513
28514// SetProductFields sets the ProductFields field's value.
28515func (s *AwsSecurityFindingFilters) SetProductFields(v []*MapFilter) *AwsSecurityFindingFilters {
28516	s.ProductFields = v
28517	return s
28518}
28519
28520// SetProductName sets the ProductName field's value.
28521func (s *AwsSecurityFindingFilters) SetProductName(v []*StringFilter) *AwsSecurityFindingFilters {
28522	s.ProductName = v
28523	return s
28524}
28525
28526// SetRecommendationText sets the RecommendationText field's value.
28527func (s *AwsSecurityFindingFilters) SetRecommendationText(v []*StringFilter) *AwsSecurityFindingFilters {
28528	s.RecommendationText = v
28529	return s
28530}
28531
28532// SetRecordState sets the RecordState field's value.
28533func (s *AwsSecurityFindingFilters) SetRecordState(v []*StringFilter) *AwsSecurityFindingFilters {
28534	s.RecordState = v
28535	return s
28536}
28537
28538// SetRegion sets the Region field's value.
28539func (s *AwsSecurityFindingFilters) SetRegion(v []*StringFilter) *AwsSecurityFindingFilters {
28540	s.Region = v
28541	return s
28542}
28543
28544// SetRelatedFindingsId sets the RelatedFindingsId field's value.
28545func (s *AwsSecurityFindingFilters) SetRelatedFindingsId(v []*StringFilter) *AwsSecurityFindingFilters {
28546	s.RelatedFindingsId = v
28547	return s
28548}
28549
28550// SetRelatedFindingsProductArn sets the RelatedFindingsProductArn field's value.
28551func (s *AwsSecurityFindingFilters) SetRelatedFindingsProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
28552	s.RelatedFindingsProductArn = v
28553	return s
28554}
28555
28556// SetResourceAwsEc2InstanceIamInstanceProfileArn sets the ResourceAwsEc2InstanceIamInstanceProfileArn field's value.
28557func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIamInstanceProfileArn(v []*StringFilter) *AwsSecurityFindingFilters {
28558	s.ResourceAwsEc2InstanceIamInstanceProfileArn = v
28559	return s
28560}
28561
28562// SetResourceAwsEc2InstanceImageId sets the ResourceAwsEc2InstanceImageId field's value.
28563func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceImageId(v []*StringFilter) *AwsSecurityFindingFilters {
28564	s.ResourceAwsEc2InstanceImageId = v
28565	return s
28566}
28567
28568// SetResourceAwsEc2InstanceIpV4Addresses sets the ResourceAwsEc2InstanceIpV4Addresses field's value.
28569func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIpV4Addresses(v []*IpFilter) *AwsSecurityFindingFilters {
28570	s.ResourceAwsEc2InstanceIpV4Addresses = v
28571	return s
28572}
28573
28574// SetResourceAwsEc2InstanceIpV6Addresses sets the ResourceAwsEc2InstanceIpV6Addresses field's value.
28575func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIpV6Addresses(v []*IpFilter) *AwsSecurityFindingFilters {
28576	s.ResourceAwsEc2InstanceIpV6Addresses = v
28577	return s
28578}
28579
28580// SetResourceAwsEc2InstanceKeyName sets the ResourceAwsEc2InstanceKeyName field's value.
28581func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceKeyName(v []*StringFilter) *AwsSecurityFindingFilters {
28582	s.ResourceAwsEc2InstanceKeyName = v
28583	return s
28584}
28585
28586// SetResourceAwsEc2InstanceLaunchedAt sets the ResourceAwsEc2InstanceLaunchedAt field's value.
28587func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
28588	s.ResourceAwsEc2InstanceLaunchedAt = v
28589	return s
28590}
28591
28592// SetResourceAwsEc2InstanceSubnetId sets the ResourceAwsEc2InstanceSubnetId field's value.
28593func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceSubnetId(v []*StringFilter) *AwsSecurityFindingFilters {
28594	s.ResourceAwsEc2InstanceSubnetId = v
28595	return s
28596}
28597
28598// SetResourceAwsEc2InstanceType sets the ResourceAwsEc2InstanceType field's value.
28599func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceType(v []*StringFilter) *AwsSecurityFindingFilters {
28600	s.ResourceAwsEc2InstanceType = v
28601	return s
28602}
28603
28604// SetResourceAwsEc2InstanceVpcId sets the ResourceAwsEc2InstanceVpcId field's value.
28605func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceVpcId(v []*StringFilter) *AwsSecurityFindingFilters {
28606	s.ResourceAwsEc2InstanceVpcId = v
28607	return s
28608}
28609
28610// SetResourceAwsIamAccessKeyCreatedAt sets the ResourceAwsIamAccessKeyCreatedAt field's value.
28611func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyCreatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
28612	s.ResourceAwsIamAccessKeyCreatedAt = v
28613	return s
28614}
28615
28616// SetResourceAwsIamAccessKeyPrincipalName sets the ResourceAwsIamAccessKeyPrincipalName field's value.
28617func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyPrincipalName(v []*StringFilter) *AwsSecurityFindingFilters {
28618	s.ResourceAwsIamAccessKeyPrincipalName = v
28619	return s
28620}
28621
28622// SetResourceAwsIamAccessKeyStatus sets the ResourceAwsIamAccessKeyStatus field's value.
28623func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyStatus(v []*StringFilter) *AwsSecurityFindingFilters {
28624	s.ResourceAwsIamAccessKeyStatus = v
28625	return s
28626}
28627
28628// SetResourceAwsIamAccessKeyUserName sets the ResourceAwsIamAccessKeyUserName field's value.
28629func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyUserName(v []*StringFilter) *AwsSecurityFindingFilters {
28630	s.ResourceAwsIamAccessKeyUserName = v
28631	return s
28632}
28633
28634// SetResourceAwsIamUserUserName sets the ResourceAwsIamUserUserName field's value.
28635func (s *AwsSecurityFindingFilters) SetResourceAwsIamUserUserName(v []*StringFilter) *AwsSecurityFindingFilters {
28636	s.ResourceAwsIamUserUserName = v
28637	return s
28638}
28639
28640// SetResourceAwsS3BucketOwnerId sets the ResourceAwsS3BucketOwnerId field's value.
28641func (s *AwsSecurityFindingFilters) SetResourceAwsS3BucketOwnerId(v []*StringFilter) *AwsSecurityFindingFilters {
28642	s.ResourceAwsS3BucketOwnerId = v
28643	return s
28644}
28645
28646// SetResourceAwsS3BucketOwnerName sets the ResourceAwsS3BucketOwnerName field's value.
28647func (s *AwsSecurityFindingFilters) SetResourceAwsS3BucketOwnerName(v []*StringFilter) *AwsSecurityFindingFilters {
28648	s.ResourceAwsS3BucketOwnerName = v
28649	return s
28650}
28651
28652// SetResourceContainerImageId sets the ResourceContainerImageId field's value.
28653func (s *AwsSecurityFindingFilters) SetResourceContainerImageId(v []*StringFilter) *AwsSecurityFindingFilters {
28654	s.ResourceContainerImageId = v
28655	return s
28656}
28657
28658// SetResourceContainerImageName sets the ResourceContainerImageName field's value.
28659func (s *AwsSecurityFindingFilters) SetResourceContainerImageName(v []*StringFilter) *AwsSecurityFindingFilters {
28660	s.ResourceContainerImageName = v
28661	return s
28662}
28663
28664// SetResourceContainerLaunchedAt sets the ResourceContainerLaunchedAt field's value.
28665func (s *AwsSecurityFindingFilters) SetResourceContainerLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
28666	s.ResourceContainerLaunchedAt = v
28667	return s
28668}
28669
28670// SetResourceContainerName sets the ResourceContainerName field's value.
28671func (s *AwsSecurityFindingFilters) SetResourceContainerName(v []*StringFilter) *AwsSecurityFindingFilters {
28672	s.ResourceContainerName = v
28673	return s
28674}
28675
28676// SetResourceDetailsOther sets the ResourceDetailsOther field's value.
28677func (s *AwsSecurityFindingFilters) SetResourceDetailsOther(v []*MapFilter) *AwsSecurityFindingFilters {
28678	s.ResourceDetailsOther = v
28679	return s
28680}
28681
28682// SetResourceId sets the ResourceId field's value.
28683func (s *AwsSecurityFindingFilters) SetResourceId(v []*StringFilter) *AwsSecurityFindingFilters {
28684	s.ResourceId = v
28685	return s
28686}
28687
28688// SetResourcePartition sets the ResourcePartition field's value.
28689func (s *AwsSecurityFindingFilters) SetResourcePartition(v []*StringFilter) *AwsSecurityFindingFilters {
28690	s.ResourcePartition = v
28691	return s
28692}
28693
28694// SetResourceRegion sets the ResourceRegion field's value.
28695func (s *AwsSecurityFindingFilters) SetResourceRegion(v []*StringFilter) *AwsSecurityFindingFilters {
28696	s.ResourceRegion = v
28697	return s
28698}
28699
28700// SetResourceTags sets the ResourceTags field's value.
28701func (s *AwsSecurityFindingFilters) SetResourceTags(v []*MapFilter) *AwsSecurityFindingFilters {
28702	s.ResourceTags = v
28703	return s
28704}
28705
28706// SetResourceType sets the ResourceType field's value.
28707func (s *AwsSecurityFindingFilters) SetResourceType(v []*StringFilter) *AwsSecurityFindingFilters {
28708	s.ResourceType = v
28709	return s
28710}
28711
28712// SetSeverityLabel sets the SeverityLabel field's value.
28713func (s *AwsSecurityFindingFilters) SetSeverityLabel(v []*StringFilter) *AwsSecurityFindingFilters {
28714	s.SeverityLabel = v
28715	return s
28716}
28717
28718// SetSeverityNormalized sets the SeverityNormalized field's value.
28719func (s *AwsSecurityFindingFilters) SetSeverityNormalized(v []*NumberFilter) *AwsSecurityFindingFilters {
28720	s.SeverityNormalized = v
28721	return s
28722}
28723
28724// SetSeverityProduct sets the SeverityProduct field's value.
28725func (s *AwsSecurityFindingFilters) SetSeverityProduct(v []*NumberFilter) *AwsSecurityFindingFilters {
28726	s.SeverityProduct = v
28727	return s
28728}
28729
28730// SetSourceUrl sets the SourceUrl field's value.
28731func (s *AwsSecurityFindingFilters) SetSourceUrl(v []*StringFilter) *AwsSecurityFindingFilters {
28732	s.SourceUrl = v
28733	return s
28734}
28735
28736// SetThreatIntelIndicatorCategory sets the ThreatIntelIndicatorCategory field's value.
28737func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorCategory(v []*StringFilter) *AwsSecurityFindingFilters {
28738	s.ThreatIntelIndicatorCategory = v
28739	return s
28740}
28741
28742// SetThreatIntelIndicatorLastObservedAt sets the ThreatIntelIndicatorLastObservedAt field's value.
28743func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorLastObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
28744	s.ThreatIntelIndicatorLastObservedAt = v
28745	return s
28746}
28747
28748// SetThreatIntelIndicatorSource sets the ThreatIntelIndicatorSource field's value.
28749func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorSource(v []*StringFilter) *AwsSecurityFindingFilters {
28750	s.ThreatIntelIndicatorSource = v
28751	return s
28752}
28753
28754// SetThreatIntelIndicatorSourceUrl sets the ThreatIntelIndicatorSourceUrl field's value.
28755func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorSourceUrl(v []*StringFilter) *AwsSecurityFindingFilters {
28756	s.ThreatIntelIndicatorSourceUrl = v
28757	return s
28758}
28759
28760// SetThreatIntelIndicatorType sets the ThreatIntelIndicatorType field's value.
28761func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorType(v []*StringFilter) *AwsSecurityFindingFilters {
28762	s.ThreatIntelIndicatorType = v
28763	return s
28764}
28765
28766// SetThreatIntelIndicatorValue sets the ThreatIntelIndicatorValue field's value.
28767func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorValue(v []*StringFilter) *AwsSecurityFindingFilters {
28768	s.ThreatIntelIndicatorValue = v
28769	return s
28770}
28771
28772// SetTitle sets the Title field's value.
28773func (s *AwsSecurityFindingFilters) SetTitle(v []*StringFilter) *AwsSecurityFindingFilters {
28774	s.Title = v
28775	return s
28776}
28777
28778// SetType sets the Type field's value.
28779func (s *AwsSecurityFindingFilters) SetType(v []*StringFilter) *AwsSecurityFindingFilters {
28780	s.Type = v
28781	return s
28782}
28783
28784// SetUpdatedAt sets the UpdatedAt field's value.
28785func (s *AwsSecurityFindingFilters) SetUpdatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
28786	s.UpdatedAt = v
28787	return s
28788}
28789
28790// SetUserDefinedFields sets the UserDefinedFields field's value.
28791func (s *AwsSecurityFindingFilters) SetUserDefinedFields(v []*MapFilter) *AwsSecurityFindingFilters {
28792	s.UserDefinedFields = v
28793	return s
28794}
28795
28796// SetVerificationState sets the VerificationState field's value.
28797func (s *AwsSecurityFindingFilters) SetVerificationState(v []*StringFilter) *AwsSecurityFindingFilters {
28798	s.VerificationState = v
28799	return s
28800}
28801
28802// SetWorkflowState sets the WorkflowState field's value.
28803func (s *AwsSecurityFindingFilters) SetWorkflowState(v []*StringFilter) *AwsSecurityFindingFilters {
28804	s.WorkflowState = v
28805	return s
28806}
28807
28808// SetWorkflowStatus sets the WorkflowStatus field's value.
28809func (s *AwsSecurityFindingFilters) SetWorkflowStatus(v []*StringFilter) *AwsSecurityFindingFilters {
28810	s.WorkflowStatus = v
28811	return s
28812}
28813
28814// Identifies a finding to update using BatchUpdateFindings.
28815type AwsSecurityFindingIdentifier struct {
28816	_ struct{} `type:"structure"`
28817
28818	// The identifier of the finding that was specified by the finding provider.
28819	//
28820	// Id is a required field
28821	Id *string `type:"string" required:"true"`
28822
28823	// The ARN generated by Security Hub that uniquely identifies a product that
28824	// generates findings. This can be the ARN for a third-party product that is
28825	// integrated with Security Hub, or the ARN for a custom integration.
28826	//
28827	// ProductArn is a required field
28828	ProductArn *string `type:"string" required:"true"`
28829}
28830
28831// String returns the string representation.
28832//
28833// API parameter values that are decorated as "sensitive" in the API will not
28834// be included in the string output. The member name will be present, but the
28835// value will be replaced with "sensitive".
28836func (s AwsSecurityFindingIdentifier) String() string {
28837	return awsutil.Prettify(s)
28838}
28839
28840// GoString returns the string representation.
28841//
28842// API parameter values that are decorated as "sensitive" in the API will not
28843// be included in the string output. The member name will be present, but the
28844// value will be replaced with "sensitive".
28845func (s AwsSecurityFindingIdentifier) GoString() string {
28846	return s.String()
28847}
28848
28849// Validate inspects the fields of the type to determine if they are valid.
28850func (s *AwsSecurityFindingIdentifier) Validate() error {
28851	invalidParams := request.ErrInvalidParams{Context: "AwsSecurityFindingIdentifier"}
28852	if s.Id == nil {
28853		invalidParams.Add(request.NewErrParamRequired("Id"))
28854	}
28855	if s.ProductArn == nil {
28856		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
28857	}
28858
28859	if invalidParams.Len() > 0 {
28860		return invalidParams
28861	}
28862	return nil
28863}
28864
28865// SetId sets the Id field's value.
28866func (s *AwsSecurityFindingIdentifier) SetId(v string) *AwsSecurityFindingIdentifier {
28867	s.Id = &v
28868	return s
28869}
28870
28871// SetProductArn sets the ProductArn field's value.
28872func (s *AwsSecurityFindingIdentifier) SetProductArn(v string) *AwsSecurityFindingIdentifier {
28873	s.ProductArn = &v
28874	return s
28875}
28876
28877// A wrapper type for the topic's ARN.
28878type AwsSnsTopicDetails struct {
28879	_ struct{} `type:"structure"`
28880
28881	// The ID of an Amazon Web Services managed key for Amazon SNS or a customer
28882	// managed key.
28883	KmsMasterKeyId *string `type:"string"`
28884
28885	// The subscription's owner.
28886	Owner *string `type:"string"`
28887
28888	// Subscription is an embedded property that describes the subscription endpoints
28889	// of an SNS topic.
28890	Subscription []*AwsSnsTopicSubscription `type:"list"`
28891
28892	// The name of the topic.
28893	TopicName *string `type:"string"`
28894}
28895
28896// String returns the string representation.
28897//
28898// API parameter values that are decorated as "sensitive" in the API will not
28899// be included in the string output. The member name will be present, but the
28900// value will be replaced with "sensitive".
28901func (s AwsSnsTopicDetails) String() string {
28902	return awsutil.Prettify(s)
28903}
28904
28905// GoString returns the string representation.
28906//
28907// API parameter values that are decorated as "sensitive" in the API will not
28908// be included in the string output. The member name will be present, but the
28909// value will be replaced with "sensitive".
28910func (s AwsSnsTopicDetails) GoString() string {
28911	return s.String()
28912}
28913
28914// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
28915func (s *AwsSnsTopicDetails) SetKmsMasterKeyId(v string) *AwsSnsTopicDetails {
28916	s.KmsMasterKeyId = &v
28917	return s
28918}
28919
28920// SetOwner sets the Owner field's value.
28921func (s *AwsSnsTopicDetails) SetOwner(v string) *AwsSnsTopicDetails {
28922	s.Owner = &v
28923	return s
28924}
28925
28926// SetSubscription sets the Subscription field's value.
28927func (s *AwsSnsTopicDetails) SetSubscription(v []*AwsSnsTopicSubscription) *AwsSnsTopicDetails {
28928	s.Subscription = v
28929	return s
28930}
28931
28932// SetTopicName sets the TopicName field's value.
28933func (s *AwsSnsTopicDetails) SetTopicName(v string) *AwsSnsTopicDetails {
28934	s.TopicName = &v
28935	return s
28936}
28937
28938// A wrapper type for the attributes of an Amazon SNS subscription.
28939type AwsSnsTopicSubscription struct {
28940	_ struct{} `type:"structure"`
28941
28942	// The subscription's endpoint (format depends on the protocol).
28943	Endpoint *string `type:"string"`
28944
28945	// The subscription's protocol.
28946	Protocol *string `type:"string"`
28947}
28948
28949// String returns the string representation.
28950//
28951// API parameter values that are decorated as "sensitive" in the API will not
28952// be included in the string output. The member name will be present, but the
28953// value will be replaced with "sensitive".
28954func (s AwsSnsTopicSubscription) String() string {
28955	return awsutil.Prettify(s)
28956}
28957
28958// GoString returns the string representation.
28959//
28960// API parameter values that are decorated as "sensitive" in the API will not
28961// be included in the string output. The member name will be present, but the
28962// value will be replaced with "sensitive".
28963func (s AwsSnsTopicSubscription) GoString() string {
28964	return s.String()
28965}
28966
28967// SetEndpoint sets the Endpoint field's value.
28968func (s *AwsSnsTopicSubscription) SetEndpoint(v string) *AwsSnsTopicSubscription {
28969	s.Endpoint = &v
28970	return s
28971}
28972
28973// SetProtocol sets the Protocol field's value.
28974func (s *AwsSnsTopicSubscription) SetProtocol(v string) *AwsSnsTopicSubscription {
28975	s.Protocol = &v
28976	return s
28977}
28978
28979// Data about a queue.
28980type AwsSqsQueueDetails struct {
28981	_ struct{} `type:"structure"`
28982
28983	// The ARN of the dead-letter queue to which Amazon SQS moves messages after
28984	// the value of maxReceiveCount is exceeded.
28985	DeadLetterTargetArn *string `type:"string"`
28986
28987	// The length of time, in seconds, for which Amazon SQS can reuse a data key
28988	// to encrypt or decrypt messages before calling KMS again.
28989	KmsDataKeyReusePeriodSeconds *int64 `type:"integer"`
28990
28991	// The ID of an Amazon Web Services managed key for Amazon SQS or a custom KMS
28992	// key.
28993	KmsMasterKeyId *string `type:"string"`
28994
28995	// The name of the new queue.
28996	QueueName *string `type:"string"`
28997}
28998
28999// String returns the string representation.
29000//
29001// API parameter values that are decorated as "sensitive" in the API will not
29002// be included in the string output. The member name will be present, but the
29003// value will be replaced with "sensitive".
29004func (s AwsSqsQueueDetails) String() string {
29005	return awsutil.Prettify(s)
29006}
29007
29008// GoString returns the string representation.
29009//
29010// API parameter values that are decorated as "sensitive" in the API will not
29011// be included in the string output. The member name will be present, but the
29012// value will be replaced with "sensitive".
29013func (s AwsSqsQueueDetails) GoString() string {
29014	return s.String()
29015}
29016
29017// SetDeadLetterTargetArn sets the DeadLetterTargetArn field's value.
29018func (s *AwsSqsQueueDetails) SetDeadLetterTargetArn(v string) *AwsSqsQueueDetails {
29019	s.DeadLetterTargetArn = &v
29020	return s
29021}
29022
29023// SetKmsDataKeyReusePeriodSeconds sets the KmsDataKeyReusePeriodSeconds field's value.
29024func (s *AwsSqsQueueDetails) SetKmsDataKeyReusePeriodSeconds(v int64) *AwsSqsQueueDetails {
29025	s.KmsDataKeyReusePeriodSeconds = &v
29026	return s
29027}
29028
29029// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
29030func (s *AwsSqsQueueDetails) SetKmsMasterKeyId(v string) *AwsSqsQueueDetails {
29031	s.KmsMasterKeyId = &v
29032	return s
29033}
29034
29035// SetQueueName sets the QueueName field's value.
29036func (s *AwsSqsQueueDetails) SetQueueName(v string) *AwsSqsQueueDetails {
29037	s.QueueName = &v
29038	return s
29039}
29040
29041// Provides the details about the compliance status for a patch.
29042type AwsSsmComplianceSummary struct {
29043	_ struct{} `type:"structure"`
29044
29045	// The type of resource for which the compliance was determined. For AwsSsmPatchCompliance,
29046	// ComplianceType is Patch.
29047	ComplianceType *string `type:"string"`
29048
29049	// For the patches that are compliant, the number that have a severity of CRITICAL.
29050	CompliantCriticalCount *int64 `type:"integer"`
29051
29052	// For the patches that are compliant, the number that have a severity of HIGH.
29053	CompliantHighCount *int64 `type:"integer"`
29054
29055	// For the patches that are compliant, the number that have a severity of INFORMATIONAL.
29056	CompliantInformationalCount *int64 `type:"integer"`
29057
29058	// For the patches that are compliant, the number that have a severity of LOW.
29059	CompliantLowCount *int64 `type:"integer"`
29060
29061	// For the patches that are compliant, the number that have a severity of MEDIUM.
29062	CompliantMediumCount *int64 `type:"integer"`
29063
29064	// For the patches that are compliant, the number that have a severity of UNSPECIFIED.
29065	CompliantUnspecifiedCount *int64 `type:"integer"`
29066
29067	// The type of execution that was used determine compliance.
29068	ExecutionType *string `type:"string"`
29069
29070	// For the patch items that are noncompliant, the number of items that have
29071	// a severity of CRITICAL.
29072	NonCompliantCriticalCount *int64 `type:"integer"`
29073
29074	// For the patches that are noncompliant, the number that have a severity of
29075	// HIGH.
29076	NonCompliantHighCount *int64 `type:"integer"`
29077
29078	// For the patches that are noncompliant, the number that have a severity of
29079	// INFORMATIONAL.
29080	NonCompliantInformationalCount *int64 `type:"integer"`
29081
29082	// For the patches that are noncompliant, the number that have a severity of
29083	// LOW.
29084	NonCompliantLowCount *int64 `type:"integer"`
29085
29086	// For the patches that are noncompliant, the number that have a severity of
29087	// MEDIUM.
29088	NonCompliantMediumCount *int64 `type:"integer"`
29089
29090	// For the patches that are noncompliant, the number that have a severity of
29091	// UNSPECIFIED.
29092	NonCompliantUnspecifiedCount *int64 `type:"integer"`
29093
29094	// The highest severity for the patches.
29095	OverallSeverity *string `type:"string"`
29096
29097	// The identifier of the patch baseline. The patch baseline lists the patches
29098	// that are approved for installation.
29099	PatchBaselineId *string `type:"string"`
29100
29101	// The identifier of the patch group for which compliance was determined. A
29102	// patch group uses tags to group EC2 instances that should have the same patch
29103	// compliance.
29104	PatchGroup *string `type:"string"`
29105
29106	// The current patch compliance status.
29107	//
29108	// The possible status values are:
29109	//
29110	//    * COMPLIANT
29111	//
29112	//    * NON_COMPLIANT
29113	//
29114	//    * UNSPECIFIED_DATA
29115	Status *string `type:"string"`
29116}
29117
29118// String returns the string representation.
29119//
29120// API parameter values that are decorated as "sensitive" in the API will not
29121// be included in the string output. The member name will be present, but the
29122// value will be replaced with "sensitive".
29123func (s AwsSsmComplianceSummary) String() string {
29124	return awsutil.Prettify(s)
29125}
29126
29127// GoString returns the string representation.
29128//
29129// API parameter values that are decorated as "sensitive" in the API will not
29130// be included in the string output. The member name will be present, but the
29131// value will be replaced with "sensitive".
29132func (s AwsSsmComplianceSummary) GoString() string {
29133	return s.String()
29134}
29135
29136// SetComplianceType sets the ComplianceType field's value.
29137func (s *AwsSsmComplianceSummary) SetComplianceType(v string) *AwsSsmComplianceSummary {
29138	s.ComplianceType = &v
29139	return s
29140}
29141
29142// SetCompliantCriticalCount sets the CompliantCriticalCount field's value.
29143func (s *AwsSsmComplianceSummary) SetCompliantCriticalCount(v int64) *AwsSsmComplianceSummary {
29144	s.CompliantCriticalCount = &v
29145	return s
29146}
29147
29148// SetCompliantHighCount sets the CompliantHighCount field's value.
29149func (s *AwsSsmComplianceSummary) SetCompliantHighCount(v int64) *AwsSsmComplianceSummary {
29150	s.CompliantHighCount = &v
29151	return s
29152}
29153
29154// SetCompliantInformationalCount sets the CompliantInformationalCount field's value.
29155func (s *AwsSsmComplianceSummary) SetCompliantInformationalCount(v int64) *AwsSsmComplianceSummary {
29156	s.CompliantInformationalCount = &v
29157	return s
29158}
29159
29160// SetCompliantLowCount sets the CompliantLowCount field's value.
29161func (s *AwsSsmComplianceSummary) SetCompliantLowCount(v int64) *AwsSsmComplianceSummary {
29162	s.CompliantLowCount = &v
29163	return s
29164}
29165
29166// SetCompliantMediumCount sets the CompliantMediumCount field's value.
29167func (s *AwsSsmComplianceSummary) SetCompliantMediumCount(v int64) *AwsSsmComplianceSummary {
29168	s.CompliantMediumCount = &v
29169	return s
29170}
29171
29172// SetCompliantUnspecifiedCount sets the CompliantUnspecifiedCount field's value.
29173func (s *AwsSsmComplianceSummary) SetCompliantUnspecifiedCount(v int64) *AwsSsmComplianceSummary {
29174	s.CompliantUnspecifiedCount = &v
29175	return s
29176}
29177
29178// SetExecutionType sets the ExecutionType field's value.
29179func (s *AwsSsmComplianceSummary) SetExecutionType(v string) *AwsSsmComplianceSummary {
29180	s.ExecutionType = &v
29181	return s
29182}
29183
29184// SetNonCompliantCriticalCount sets the NonCompliantCriticalCount field's value.
29185func (s *AwsSsmComplianceSummary) SetNonCompliantCriticalCount(v int64) *AwsSsmComplianceSummary {
29186	s.NonCompliantCriticalCount = &v
29187	return s
29188}
29189
29190// SetNonCompliantHighCount sets the NonCompliantHighCount field's value.
29191func (s *AwsSsmComplianceSummary) SetNonCompliantHighCount(v int64) *AwsSsmComplianceSummary {
29192	s.NonCompliantHighCount = &v
29193	return s
29194}
29195
29196// SetNonCompliantInformationalCount sets the NonCompliantInformationalCount field's value.
29197func (s *AwsSsmComplianceSummary) SetNonCompliantInformationalCount(v int64) *AwsSsmComplianceSummary {
29198	s.NonCompliantInformationalCount = &v
29199	return s
29200}
29201
29202// SetNonCompliantLowCount sets the NonCompliantLowCount field's value.
29203func (s *AwsSsmComplianceSummary) SetNonCompliantLowCount(v int64) *AwsSsmComplianceSummary {
29204	s.NonCompliantLowCount = &v
29205	return s
29206}
29207
29208// SetNonCompliantMediumCount sets the NonCompliantMediumCount field's value.
29209func (s *AwsSsmComplianceSummary) SetNonCompliantMediumCount(v int64) *AwsSsmComplianceSummary {
29210	s.NonCompliantMediumCount = &v
29211	return s
29212}
29213
29214// SetNonCompliantUnspecifiedCount sets the NonCompliantUnspecifiedCount field's value.
29215func (s *AwsSsmComplianceSummary) SetNonCompliantUnspecifiedCount(v int64) *AwsSsmComplianceSummary {
29216	s.NonCompliantUnspecifiedCount = &v
29217	return s
29218}
29219
29220// SetOverallSeverity sets the OverallSeverity field's value.
29221func (s *AwsSsmComplianceSummary) SetOverallSeverity(v string) *AwsSsmComplianceSummary {
29222	s.OverallSeverity = &v
29223	return s
29224}
29225
29226// SetPatchBaselineId sets the PatchBaselineId field's value.
29227func (s *AwsSsmComplianceSummary) SetPatchBaselineId(v string) *AwsSsmComplianceSummary {
29228	s.PatchBaselineId = &v
29229	return s
29230}
29231
29232// SetPatchGroup sets the PatchGroup field's value.
29233func (s *AwsSsmComplianceSummary) SetPatchGroup(v string) *AwsSsmComplianceSummary {
29234	s.PatchGroup = &v
29235	return s
29236}
29237
29238// SetStatus sets the Status field's value.
29239func (s *AwsSsmComplianceSummary) SetStatus(v string) *AwsSsmComplianceSummary {
29240	s.Status = &v
29241	return s
29242}
29243
29244// Provides details about the compliance for a patch.
29245type AwsSsmPatch struct {
29246	_ struct{} `type:"structure"`
29247
29248	// The compliance status details for the patch.
29249	ComplianceSummary *AwsSsmComplianceSummary `type:"structure"`
29250}
29251
29252// String returns the string representation.
29253//
29254// API parameter values that are decorated as "sensitive" in the API will not
29255// be included in the string output. The member name will be present, but the
29256// value will be replaced with "sensitive".
29257func (s AwsSsmPatch) String() string {
29258	return awsutil.Prettify(s)
29259}
29260
29261// GoString returns the string representation.
29262//
29263// API parameter values that are decorated as "sensitive" in the API will not
29264// be included in the string output. The member name will be present, but the
29265// value will be replaced with "sensitive".
29266func (s AwsSsmPatch) GoString() string {
29267	return s.String()
29268}
29269
29270// SetComplianceSummary sets the ComplianceSummary field's value.
29271func (s *AwsSsmPatch) SetComplianceSummary(v *AwsSsmComplianceSummary) *AwsSsmPatch {
29272	s.ComplianceSummary = v
29273	return s
29274}
29275
29276// Provides information about the state of a patch on an instance based on the
29277// patch baseline that was used to patch the instance.
29278type AwsSsmPatchComplianceDetails struct {
29279	_ struct{} `type:"structure"`
29280
29281	// Information about the status of a patch.
29282	Patch *AwsSsmPatch `type:"structure"`
29283}
29284
29285// String returns the string representation.
29286//
29287// API parameter values that are decorated as "sensitive" in the API will not
29288// be included in the string output. The member name will be present, but the
29289// value will be replaced with "sensitive".
29290func (s AwsSsmPatchComplianceDetails) String() string {
29291	return awsutil.Prettify(s)
29292}
29293
29294// GoString returns the string representation.
29295//
29296// API parameter values that are decorated as "sensitive" in the API will not
29297// be included in the string output. The member name will be present, but the
29298// value will be replaced with "sensitive".
29299func (s AwsSsmPatchComplianceDetails) GoString() string {
29300	return s.String()
29301}
29302
29303// SetPatch sets the Patch field's value.
29304func (s *AwsSsmPatchComplianceDetails) SetPatch(v *AwsSsmPatch) *AwsSsmPatchComplianceDetails {
29305	s.Patch = v
29306	return s
29307}
29308
29309// Details about a rate-based rule for global resources. A rate-based rule provides
29310// settings to indicate when to allow, block, or count a request. Rate-based
29311// rules include the number of requests that arrive over a specified period
29312// of time.
29313type AwsWafRateBasedRuleDetails struct {
29314	_ struct{} `type:"structure"`
29315
29316	// The predicates to include in the rate-based rule.
29317	MatchPredicates []*AwsWafRateBasedRuleMatchPredicate `type:"list"`
29318
29319	// The name of the metrics for the rate-based rule.
29320	MetricName *string `type:"string"`
29321
29322	// The name of the rate-based rule.
29323	Name *string `type:"string"`
29324
29325	// The field that WAF uses to determine whether requests are likely arriving
29326	// from single source and are subject to rate monitoring.
29327	RateKey *string `type:"string"`
29328
29329	// The maximum number of requests that have an identical value for the field
29330	// specified in RateKey that are allowed within a five-minute period. If the
29331	// number of requests exceeds RateLimit and the other predicates specified in
29332	// the rule are met, WAF triggers the action for the rule.
29333	RateLimit *int64 `type:"long"`
29334
29335	// The unique identifier for the rate-based rule.
29336	RuleId *string `type:"string"`
29337}
29338
29339// String returns the string representation.
29340//
29341// API parameter values that are decorated as "sensitive" in the API will not
29342// be included in the string output. The member name will be present, but the
29343// value will be replaced with "sensitive".
29344func (s AwsWafRateBasedRuleDetails) String() string {
29345	return awsutil.Prettify(s)
29346}
29347
29348// GoString returns the string representation.
29349//
29350// API parameter values that are decorated as "sensitive" in the API will not
29351// be included in the string output. The member name will be present, but the
29352// value will be replaced with "sensitive".
29353func (s AwsWafRateBasedRuleDetails) GoString() string {
29354	return s.String()
29355}
29356
29357// SetMatchPredicates sets the MatchPredicates field's value.
29358func (s *AwsWafRateBasedRuleDetails) SetMatchPredicates(v []*AwsWafRateBasedRuleMatchPredicate) *AwsWafRateBasedRuleDetails {
29359	s.MatchPredicates = v
29360	return s
29361}
29362
29363// SetMetricName sets the MetricName field's value.
29364func (s *AwsWafRateBasedRuleDetails) SetMetricName(v string) *AwsWafRateBasedRuleDetails {
29365	s.MetricName = &v
29366	return s
29367}
29368
29369// SetName sets the Name field's value.
29370func (s *AwsWafRateBasedRuleDetails) SetName(v string) *AwsWafRateBasedRuleDetails {
29371	s.Name = &v
29372	return s
29373}
29374
29375// SetRateKey sets the RateKey field's value.
29376func (s *AwsWafRateBasedRuleDetails) SetRateKey(v string) *AwsWafRateBasedRuleDetails {
29377	s.RateKey = &v
29378	return s
29379}
29380
29381// SetRateLimit sets the RateLimit field's value.
29382func (s *AwsWafRateBasedRuleDetails) SetRateLimit(v int64) *AwsWafRateBasedRuleDetails {
29383	s.RateLimit = &v
29384	return s
29385}
29386
29387// SetRuleId sets the RuleId field's value.
29388func (s *AwsWafRateBasedRuleDetails) SetRuleId(v string) *AwsWafRateBasedRuleDetails {
29389	s.RuleId = &v
29390	return s
29391}
29392
29393// A match predicate. A predicate might look for characteristics such as specific
29394// IP addresses, geographic locations, or sizes.
29395type AwsWafRateBasedRuleMatchPredicate struct {
29396	_ struct{} `type:"structure"`
29397
29398	// The unique identifier for the predicate.
29399	DataId *string `type:"string"`
29400
29401	// If set to true, then the rule actions are performed on requests that match
29402	// the predicate settings.
29403	//
29404	// If set to false, then the rule actions are performed on all requests except
29405	// those that match the predicate settings.
29406	Negated *bool `type:"boolean"`
29407
29408	// The type of predicate.
29409	Type *string `type:"string"`
29410}
29411
29412// String returns the string representation.
29413//
29414// API parameter values that are decorated as "sensitive" in the API will not
29415// be included in the string output. The member name will be present, but the
29416// value will be replaced with "sensitive".
29417func (s AwsWafRateBasedRuleMatchPredicate) String() string {
29418	return awsutil.Prettify(s)
29419}
29420
29421// GoString returns the string representation.
29422//
29423// API parameter values that are decorated as "sensitive" in the API will not
29424// be included in the string output. The member name will be present, but the
29425// value will be replaced with "sensitive".
29426func (s AwsWafRateBasedRuleMatchPredicate) GoString() string {
29427	return s.String()
29428}
29429
29430// SetDataId sets the DataId field's value.
29431func (s *AwsWafRateBasedRuleMatchPredicate) SetDataId(v string) *AwsWafRateBasedRuleMatchPredicate {
29432	s.DataId = &v
29433	return s
29434}
29435
29436// SetNegated sets the Negated field's value.
29437func (s *AwsWafRateBasedRuleMatchPredicate) SetNegated(v bool) *AwsWafRateBasedRuleMatchPredicate {
29438	s.Negated = &v
29439	return s
29440}
29441
29442// SetType sets the Type field's value.
29443func (s *AwsWafRateBasedRuleMatchPredicate) SetType(v string) *AwsWafRateBasedRuleMatchPredicate {
29444	s.Type = &v
29445	return s
29446}
29447
29448// contains details about a rate-based rule for Regional resources. A rate-based
29449// rule provides settings to indicate when to allow, block, or count a request.
29450// Rate-based rules include the number of requests that arrive over a specified
29451// period of time.
29452type AwsWafRegionalRateBasedRuleDetails struct {
29453	_ struct{} `type:"structure"`
29454
29455	// The predicates to include in the rate-based rule.
29456	MatchPredicates []*AwsWafRegionalRateBasedRuleMatchPredicate `type:"list"`
29457
29458	// The name of the metrics for the rate-based rule.
29459	MetricName *string `type:"string"`
29460
29461	// The name of the rate-based rule.
29462	Name *string `type:"string"`
29463
29464	// The field that WAF uses to determine whether requests are likely arriving
29465	// from single source and are subject to rate monitoring.
29466	RateKey *string `type:"string"`
29467
29468	// The maximum number of requests that have an identical value for the field
29469	// specified in RateKey that are allowed within a five-minute period. If the
29470	// number of requests exceeds RateLimit and the other predicates specified in
29471	// the rule are met, WAF triggers the action for the rule.
29472	RateLimit *int64 `type:"long"`
29473
29474	// The unique identifier for the rate-based rule.
29475	RuleId *string `type:"string"`
29476}
29477
29478// String returns the string representation.
29479//
29480// API parameter values that are decorated as "sensitive" in the API will not
29481// be included in the string output. The member name will be present, but the
29482// value will be replaced with "sensitive".
29483func (s AwsWafRegionalRateBasedRuleDetails) String() string {
29484	return awsutil.Prettify(s)
29485}
29486
29487// GoString returns the string representation.
29488//
29489// API parameter values that are decorated as "sensitive" in the API will not
29490// be included in the string output. The member name will be present, but the
29491// value will be replaced with "sensitive".
29492func (s AwsWafRegionalRateBasedRuleDetails) GoString() string {
29493	return s.String()
29494}
29495
29496// SetMatchPredicates sets the MatchPredicates field's value.
29497func (s *AwsWafRegionalRateBasedRuleDetails) SetMatchPredicates(v []*AwsWafRegionalRateBasedRuleMatchPredicate) *AwsWafRegionalRateBasedRuleDetails {
29498	s.MatchPredicates = v
29499	return s
29500}
29501
29502// SetMetricName sets the MetricName field's value.
29503func (s *AwsWafRegionalRateBasedRuleDetails) SetMetricName(v string) *AwsWafRegionalRateBasedRuleDetails {
29504	s.MetricName = &v
29505	return s
29506}
29507
29508// SetName sets the Name field's value.
29509func (s *AwsWafRegionalRateBasedRuleDetails) SetName(v string) *AwsWafRegionalRateBasedRuleDetails {
29510	s.Name = &v
29511	return s
29512}
29513
29514// SetRateKey sets the RateKey field's value.
29515func (s *AwsWafRegionalRateBasedRuleDetails) SetRateKey(v string) *AwsWafRegionalRateBasedRuleDetails {
29516	s.RateKey = &v
29517	return s
29518}
29519
29520// SetRateLimit sets the RateLimit field's value.
29521func (s *AwsWafRegionalRateBasedRuleDetails) SetRateLimit(v int64) *AwsWafRegionalRateBasedRuleDetails {
29522	s.RateLimit = &v
29523	return s
29524}
29525
29526// SetRuleId sets the RuleId field's value.
29527func (s *AwsWafRegionalRateBasedRuleDetails) SetRuleId(v string) *AwsWafRegionalRateBasedRuleDetails {
29528	s.RuleId = &v
29529	return s
29530}
29531
29532// Details for a match predicate. A predicate might look for characteristics
29533// such as specific IP addresses, geographic locations, or sizes.
29534type AwsWafRegionalRateBasedRuleMatchPredicate struct {
29535	_ struct{} `type:"structure"`
29536
29537	// The unique identifier for the predicate.
29538	DataId *string `type:"string"`
29539
29540	// If set to true, then the rule actions are performed on requests that match
29541	// the predicate settings.
29542	//
29543	// If set to false, then the rule actions are performed on all requests except
29544	// those that match the predicate settings.
29545	Negated *bool `type:"boolean"`
29546
29547	// The type of predicate.
29548	Type *string `type:"string"`
29549}
29550
29551// String returns the string representation.
29552//
29553// API parameter values that are decorated as "sensitive" in the API will not
29554// be included in the string output. The member name will be present, but the
29555// value will be replaced with "sensitive".
29556func (s AwsWafRegionalRateBasedRuleMatchPredicate) String() string {
29557	return awsutil.Prettify(s)
29558}
29559
29560// GoString returns the string representation.
29561//
29562// API parameter values that are decorated as "sensitive" in the API will not
29563// be included in the string output. The member name will be present, but the
29564// value will be replaced with "sensitive".
29565func (s AwsWafRegionalRateBasedRuleMatchPredicate) GoString() string {
29566	return s.String()
29567}
29568
29569// SetDataId sets the DataId field's value.
29570func (s *AwsWafRegionalRateBasedRuleMatchPredicate) SetDataId(v string) *AwsWafRegionalRateBasedRuleMatchPredicate {
29571	s.DataId = &v
29572	return s
29573}
29574
29575// SetNegated sets the Negated field's value.
29576func (s *AwsWafRegionalRateBasedRuleMatchPredicate) SetNegated(v bool) *AwsWafRegionalRateBasedRuleMatchPredicate {
29577	s.Negated = &v
29578	return s
29579}
29580
29581// SetType sets the Type field's value.
29582func (s *AwsWafRegionalRateBasedRuleMatchPredicate) SetType(v string) *AwsWafRegionalRateBasedRuleMatchPredicate {
29583	s.Type = &v
29584	return s
29585}
29586
29587// Details about an WAF WebACL.
29588type AwsWafWebAclDetails struct {
29589	_ struct{} `type:"structure"`
29590
29591	// The action to perform if none of the rules contained in the WebACL match.
29592	DefaultAction *string `type:"string"`
29593
29594	// A friendly name or description of the WebACL. You can't change the name of
29595	// a WebACL after you create it.
29596	Name *string `type:"string"`
29597
29598	// An array that contains the action for each rule in a WebACL, the priority
29599	// of the rule, and the ID of the rule.
29600	Rules []*AwsWafWebAclRule `type:"list"`
29601
29602	// A unique identifier for a WebACL.
29603	WebAclId *string `type:"string"`
29604}
29605
29606// String returns the string representation.
29607//
29608// API parameter values that are decorated as "sensitive" in the API will not
29609// be included in the string output. The member name will be present, but the
29610// value will be replaced with "sensitive".
29611func (s AwsWafWebAclDetails) String() string {
29612	return awsutil.Prettify(s)
29613}
29614
29615// GoString returns the string representation.
29616//
29617// API parameter values that are decorated as "sensitive" in the API will not
29618// be included in the string output. The member name will be present, but the
29619// value will be replaced with "sensitive".
29620func (s AwsWafWebAclDetails) GoString() string {
29621	return s.String()
29622}
29623
29624// SetDefaultAction sets the DefaultAction field's value.
29625func (s *AwsWafWebAclDetails) SetDefaultAction(v string) *AwsWafWebAclDetails {
29626	s.DefaultAction = &v
29627	return s
29628}
29629
29630// SetName sets the Name field's value.
29631func (s *AwsWafWebAclDetails) SetName(v string) *AwsWafWebAclDetails {
29632	s.Name = &v
29633	return s
29634}
29635
29636// SetRules sets the Rules field's value.
29637func (s *AwsWafWebAclDetails) SetRules(v []*AwsWafWebAclRule) *AwsWafWebAclDetails {
29638	s.Rules = v
29639	return s
29640}
29641
29642// SetWebAclId sets the WebAclId field's value.
29643func (s *AwsWafWebAclDetails) SetWebAclId(v string) *AwsWafWebAclDetails {
29644	s.WebAclId = &v
29645	return s
29646}
29647
29648// Details for a rule in an WAF WebACL.
29649type AwsWafWebAclRule struct {
29650	_ struct{} `type:"structure"`
29651
29652	// Specifies the action that CloudFront or WAF takes when a web request matches
29653	// the conditions in the rule.
29654	Action *WafAction `type:"structure"`
29655
29656	// Rules to exclude from a rule group.
29657	ExcludedRules []*WafExcludedRule `type:"list"`
29658
29659	// Use the OverrideAction to test your RuleGroup.
29660	//
29661	// Any rule in a RuleGroup can potentially block a request. If you set the OverrideAction
29662	// to None, the RuleGroup blocks a request if any individual rule in the RuleGroup
29663	// matches the request and is configured to block that request.
29664	//
29665	// However, if you first want to test the RuleGroup, set the OverrideAction
29666	// to Count. The RuleGroup then overrides any block action specified by individual
29667	// rules contained within the group. Instead of blocking matching requests,
29668	// those requests are counted.
29669	//
29670	// ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup
29671	// to a WebACL. In this case you do not use ActivatedRule|Action. For all other
29672	// update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.
29673	OverrideAction *WafOverrideAction `type:"structure"`
29674
29675	// Specifies the order in which the rules in a WebACL are evaluated. Rules with
29676	// a lower value for Priority are evaluated before rules with a higher value.
29677	// The value must be a unique integer. If you add multiple rules to a WebACL,
29678	// the values do not need to be consecutive.
29679	Priority *int64 `type:"integer"`
29680
29681	// The identifier for a rule.
29682	RuleId *string `type:"string"`
29683
29684	// The rule type.
29685	//
29686	// Valid values: REGULAR | RATE_BASED | GROUP
29687	//
29688	// The default is REGULAR.
29689	Type *string `type:"string"`
29690}
29691
29692// String returns the string representation.
29693//
29694// API parameter values that are decorated as "sensitive" in the API will not
29695// be included in the string output. The member name will be present, but the
29696// value will be replaced with "sensitive".
29697func (s AwsWafWebAclRule) String() string {
29698	return awsutil.Prettify(s)
29699}
29700
29701// GoString returns the string representation.
29702//
29703// API parameter values that are decorated as "sensitive" in the API will not
29704// be included in the string output. The member name will be present, but the
29705// value will be replaced with "sensitive".
29706func (s AwsWafWebAclRule) GoString() string {
29707	return s.String()
29708}
29709
29710// SetAction sets the Action field's value.
29711func (s *AwsWafWebAclRule) SetAction(v *WafAction) *AwsWafWebAclRule {
29712	s.Action = v
29713	return s
29714}
29715
29716// SetExcludedRules sets the ExcludedRules field's value.
29717func (s *AwsWafWebAclRule) SetExcludedRules(v []*WafExcludedRule) *AwsWafWebAclRule {
29718	s.ExcludedRules = v
29719	return s
29720}
29721
29722// SetOverrideAction sets the OverrideAction field's value.
29723func (s *AwsWafWebAclRule) SetOverrideAction(v *WafOverrideAction) *AwsWafWebAclRule {
29724	s.OverrideAction = v
29725	return s
29726}
29727
29728// SetPriority sets the Priority field's value.
29729func (s *AwsWafWebAclRule) SetPriority(v int64) *AwsWafWebAclRule {
29730	s.Priority = &v
29731	return s
29732}
29733
29734// SetRuleId sets the RuleId field's value.
29735func (s *AwsWafWebAclRule) SetRuleId(v string) *AwsWafWebAclRule {
29736	s.RuleId = &v
29737	return s
29738}
29739
29740// SetType sets the Type field's value.
29741func (s *AwsWafWebAclRule) SetType(v string) *AwsWafWebAclRule {
29742	s.Type = &v
29743	return s
29744}
29745
29746// Information about the encryption configuration for X-Ray.
29747type AwsXrayEncryptionConfigDetails struct {
29748	_ struct{} `type:"structure"`
29749
29750	// The identifier of the KMS key that is used for encryption. Provided if Type
29751	// is KMS.
29752	KeyId *string `type:"string"`
29753
29754	// The current status of the encryption configuration. When Status is UPDATING,
29755	// X-Ray might use both the old and new encryption.
29756	Status *string `type:"string"`
29757
29758	// The type of encryption. KMS indicates that the encryption uses KMS keys.
29759	// NONE indicates to use the default encryption.
29760	Type *string `type:"string"`
29761}
29762
29763// String returns the string representation.
29764//
29765// API parameter values that are decorated as "sensitive" in the API will not
29766// be included in the string output. The member name will be present, but the
29767// value will be replaced with "sensitive".
29768func (s AwsXrayEncryptionConfigDetails) String() string {
29769	return awsutil.Prettify(s)
29770}
29771
29772// GoString returns the string representation.
29773//
29774// API parameter values that are decorated as "sensitive" in the API will not
29775// be included in the string output. The member name will be present, but the
29776// value will be replaced with "sensitive".
29777func (s AwsXrayEncryptionConfigDetails) GoString() string {
29778	return s.String()
29779}
29780
29781// SetKeyId sets the KeyId field's value.
29782func (s *AwsXrayEncryptionConfigDetails) SetKeyId(v string) *AwsXrayEncryptionConfigDetails {
29783	s.KeyId = &v
29784	return s
29785}
29786
29787// SetStatus sets the Status field's value.
29788func (s *AwsXrayEncryptionConfigDetails) SetStatus(v string) *AwsXrayEncryptionConfigDetails {
29789	s.Status = &v
29790	return s
29791}
29792
29793// SetType sets the Type field's value.
29794func (s *AwsXrayEncryptionConfigDetails) SetType(v string) *AwsXrayEncryptionConfigDetails {
29795	s.Type = &v
29796	return s
29797}
29798
29799type BatchDisableStandardsInput struct {
29800	_ struct{} `type:"structure"`
29801
29802	// The ARNs of the standards subscriptions to disable.
29803	//
29804	// StandardsSubscriptionArns is a required field
29805	StandardsSubscriptionArns []*string `min:"1" type:"list" required:"true"`
29806}
29807
29808// String returns the string representation.
29809//
29810// API parameter values that are decorated as "sensitive" in the API will not
29811// be included in the string output. The member name will be present, but the
29812// value will be replaced with "sensitive".
29813func (s BatchDisableStandardsInput) String() string {
29814	return awsutil.Prettify(s)
29815}
29816
29817// GoString returns the string representation.
29818//
29819// API parameter values that are decorated as "sensitive" in the API will not
29820// be included in the string output. The member name will be present, but the
29821// value will be replaced with "sensitive".
29822func (s BatchDisableStandardsInput) GoString() string {
29823	return s.String()
29824}
29825
29826// Validate inspects the fields of the type to determine if they are valid.
29827func (s *BatchDisableStandardsInput) Validate() error {
29828	invalidParams := request.ErrInvalidParams{Context: "BatchDisableStandardsInput"}
29829	if s.StandardsSubscriptionArns == nil {
29830		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionArns"))
29831	}
29832	if s.StandardsSubscriptionArns != nil && len(s.StandardsSubscriptionArns) < 1 {
29833		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArns", 1))
29834	}
29835
29836	if invalidParams.Len() > 0 {
29837		return invalidParams
29838	}
29839	return nil
29840}
29841
29842// SetStandardsSubscriptionArns sets the StandardsSubscriptionArns field's value.
29843func (s *BatchDisableStandardsInput) SetStandardsSubscriptionArns(v []*string) *BatchDisableStandardsInput {
29844	s.StandardsSubscriptionArns = v
29845	return s
29846}
29847
29848type BatchDisableStandardsOutput struct {
29849	_ struct{} `type:"structure"`
29850
29851	// The details of the standards subscriptions that were disabled.
29852	StandardsSubscriptions []*StandardsSubscription `type:"list"`
29853}
29854
29855// String returns the string representation.
29856//
29857// API parameter values that are decorated as "sensitive" in the API will not
29858// be included in the string output. The member name will be present, but the
29859// value will be replaced with "sensitive".
29860func (s BatchDisableStandardsOutput) String() string {
29861	return awsutil.Prettify(s)
29862}
29863
29864// GoString returns the string representation.
29865//
29866// API parameter values that are decorated as "sensitive" in the API will not
29867// be included in the string output. The member name will be present, but the
29868// value will be replaced with "sensitive".
29869func (s BatchDisableStandardsOutput) GoString() string {
29870	return s.String()
29871}
29872
29873// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
29874func (s *BatchDisableStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *BatchDisableStandardsOutput {
29875	s.StandardsSubscriptions = v
29876	return s
29877}
29878
29879type BatchEnableStandardsInput struct {
29880	_ struct{} `type:"structure"`
29881
29882	// The list of standards checks to enable.
29883	//
29884	// StandardsSubscriptionRequests is a required field
29885	StandardsSubscriptionRequests []*StandardsSubscriptionRequest `min:"1" type:"list" required:"true"`
29886}
29887
29888// String returns the string representation.
29889//
29890// API parameter values that are decorated as "sensitive" in the API will not
29891// be included in the string output. The member name will be present, but the
29892// value will be replaced with "sensitive".
29893func (s BatchEnableStandardsInput) String() string {
29894	return awsutil.Prettify(s)
29895}
29896
29897// GoString returns the string representation.
29898//
29899// API parameter values that are decorated as "sensitive" in the API will not
29900// be included in the string output. The member name will be present, but the
29901// value will be replaced with "sensitive".
29902func (s BatchEnableStandardsInput) GoString() string {
29903	return s.String()
29904}
29905
29906// Validate inspects the fields of the type to determine if they are valid.
29907func (s *BatchEnableStandardsInput) Validate() error {
29908	invalidParams := request.ErrInvalidParams{Context: "BatchEnableStandardsInput"}
29909	if s.StandardsSubscriptionRequests == nil {
29910		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionRequests"))
29911	}
29912	if s.StandardsSubscriptionRequests != nil && len(s.StandardsSubscriptionRequests) < 1 {
29913		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionRequests", 1))
29914	}
29915	if s.StandardsSubscriptionRequests != nil {
29916		for i, v := range s.StandardsSubscriptionRequests {
29917			if v == nil {
29918				continue
29919			}
29920			if err := v.Validate(); err != nil {
29921				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StandardsSubscriptionRequests", i), err.(request.ErrInvalidParams))
29922			}
29923		}
29924	}
29925
29926	if invalidParams.Len() > 0 {
29927		return invalidParams
29928	}
29929	return nil
29930}
29931
29932// SetStandardsSubscriptionRequests sets the StandardsSubscriptionRequests field's value.
29933func (s *BatchEnableStandardsInput) SetStandardsSubscriptionRequests(v []*StandardsSubscriptionRequest) *BatchEnableStandardsInput {
29934	s.StandardsSubscriptionRequests = v
29935	return s
29936}
29937
29938type BatchEnableStandardsOutput struct {
29939	_ struct{} `type:"structure"`
29940
29941	// The details of the standards subscriptions that were enabled.
29942	StandardsSubscriptions []*StandardsSubscription `type:"list"`
29943}
29944
29945// String returns the string representation.
29946//
29947// API parameter values that are decorated as "sensitive" in the API will not
29948// be included in the string output. The member name will be present, but the
29949// value will be replaced with "sensitive".
29950func (s BatchEnableStandardsOutput) String() string {
29951	return awsutil.Prettify(s)
29952}
29953
29954// GoString returns the string representation.
29955//
29956// API parameter values that are decorated as "sensitive" in the API will not
29957// be included in the string output. The member name will be present, but the
29958// value will be replaced with "sensitive".
29959func (s BatchEnableStandardsOutput) GoString() string {
29960	return s.String()
29961}
29962
29963// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
29964func (s *BatchEnableStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *BatchEnableStandardsOutput {
29965	s.StandardsSubscriptions = v
29966	return s
29967}
29968
29969type BatchImportFindingsInput struct {
29970	_ struct{} `type:"structure"`
29971
29972	// A list of findings to import. To successfully import a finding, it must follow
29973	// the Amazon Web Services Security Finding Format (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format.html).
29974	// Maximum of 100 findings per request.
29975	//
29976	// Findings is a required field
29977	Findings []*AwsSecurityFinding `min:"1" type:"list" required:"true"`
29978}
29979
29980// String returns the string representation.
29981//
29982// API parameter values that are decorated as "sensitive" in the API will not
29983// be included in the string output. The member name will be present, but the
29984// value will be replaced with "sensitive".
29985func (s BatchImportFindingsInput) String() string {
29986	return awsutil.Prettify(s)
29987}
29988
29989// GoString returns the string representation.
29990//
29991// API parameter values that are decorated as "sensitive" in the API will not
29992// be included in the string output. The member name will be present, but the
29993// value will be replaced with "sensitive".
29994func (s BatchImportFindingsInput) GoString() string {
29995	return s.String()
29996}
29997
29998// Validate inspects the fields of the type to determine if they are valid.
29999func (s *BatchImportFindingsInput) Validate() error {
30000	invalidParams := request.ErrInvalidParams{Context: "BatchImportFindingsInput"}
30001	if s.Findings == nil {
30002		invalidParams.Add(request.NewErrParamRequired("Findings"))
30003	}
30004	if s.Findings != nil && len(s.Findings) < 1 {
30005		invalidParams.Add(request.NewErrParamMinLen("Findings", 1))
30006	}
30007	if s.Findings != nil {
30008		for i, v := range s.Findings {
30009			if v == nil {
30010				continue
30011			}
30012			if err := v.Validate(); err != nil {
30013				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Findings", i), err.(request.ErrInvalidParams))
30014			}
30015		}
30016	}
30017
30018	if invalidParams.Len() > 0 {
30019		return invalidParams
30020	}
30021	return nil
30022}
30023
30024// SetFindings sets the Findings field's value.
30025func (s *BatchImportFindingsInput) SetFindings(v []*AwsSecurityFinding) *BatchImportFindingsInput {
30026	s.Findings = v
30027	return s
30028}
30029
30030type BatchImportFindingsOutput struct {
30031	_ struct{} `type:"structure"`
30032
30033	// The number of findings that failed to import.
30034	//
30035	// FailedCount is a required field
30036	FailedCount *int64 `type:"integer" required:"true"`
30037
30038	// The list of findings that failed to import.
30039	FailedFindings []*ImportFindingsError `type:"list"`
30040
30041	// The number of findings that were successfully imported.
30042	//
30043	// SuccessCount is a required field
30044	SuccessCount *int64 `type:"integer" required:"true"`
30045}
30046
30047// String returns the string representation.
30048//
30049// API parameter values that are decorated as "sensitive" in the API will not
30050// be included in the string output. The member name will be present, but the
30051// value will be replaced with "sensitive".
30052func (s BatchImportFindingsOutput) String() string {
30053	return awsutil.Prettify(s)
30054}
30055
30056// GoString returns the string representation.
30057//
30058// API parameter values that are decorated as "sensitive" in the API will not
30059// be included in the string output. The member name will be present, but the
30060// value will be replaced with "sensitive".
30061func (s BatchImportFindingsOutput) GoString() string {
30062	return s.String()
30063}
30064
30065// SetFailedCount sets the FailedCount field's value.
30066func (s *BatchImportFindingsOutput) SetFailedCount(v int64) *BatchImportFindingsOutput {
30067	s.FailedCount = &v
30068	return s
30069}
30070
30071// SetFailedFindings sets the FailedFindings field's value.
30072func (s *BatchImportFindingsOutput) SetFailedFindings(v []*ImportFindingsError) *BatchImportFindingsOutput {
30073	s.FailedFindings = v
30074	return s
30075}
30076
30077// SetSuccessCount sets the SuccessCount field's value.
30078func (s *BatchImportFindingsOutput) SetSuccessCount(v int64) *BatchImportFindingsOutput {
30079	s.SuccessCount = &v
30080	return s
30081}
30082
30083type BatchUpdateFindingsInput struct {
30084	_ struct{} `type:"structure"`
30085
30086	// The updated value for the finding confidence. Confidence is defined as the
30087	// likelihood that a finding accurately identifies the behavior or issue that
30088	// it was intended to identify.
30089	//
30090	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
30091	// zero percent confidence and 100 means 100 percent confidence.
30092	Confidence *int64 `type:"integer"`
30093
30094	// The updated value for the level of importance assigned to the resources associated
30095	// with the findings.
30096	//
30097	// A score of 0 means that the underlying resources have no criticality, and
30098	// a score of 100 is reserved for the most critical resources.
30099	Criticality *int64 `type:"integer"`
30100
30101	// The list of findings to update. BatchUpdateFindings can be used to update
30102	// up to 100 findings at a time.
30103	//
30104	// For each finding, the list provides the finding identifier and the ARN of
30105	// the finding provider.
30106	//
30107	// FindingIdentifiers is a required field
30108	FindingIdentifiers []*AwsSecurityFindingIdentifier `type:"list" required:"true"`
30109
30110	// The updated note.
30111	Note *NoteUpdate `type:"structure"`
30112
30113	// A list of findings that are related to the updated findings.
30114	RelatedFindings []*RelatedFinding `type:"list"`
30115
30116	// Used to update the finding severity.
30117	Severity *SeverityUpdate `type:"structure"`
30118
30119	// One or more finding types in the format of namespace/category/classifier
30120	// that classify a finding.
30121	//
30122	// Valid namespace values are as follows.
30123	//
30124	//    * Software and Configuration Checks
30125	//
30126	//    * TTPs
30127	//
30128	//    * Effects
30129	//
30130	//    * Unusual Behaviors
30131	//
30132	//    * Sensitive Data Identifications
30133	Types []*string `type:"list"`
30134
30135	// A list of name/value string pairs associated with the finding. These are
30136	// custom, user-defined fields added to a finding.
30137	UserDefinedFields map[string]*string `type:"map"`
30138
30139	// Indicates the veracity of a finding.
30140	//
30141	// The available values for VerificationState are as follows.
30142	//
30143	//    * UNKNOWN – The default disposition of a security finding
30144	//
30145	//    * TRUE_POSITIVE – The security finding is confirmed
30146	//
30147	//    * FALSE_POSITIVE – The security finding was determined to be a false
30148	//    alarm
30149	//
30150	//    * BENIGN_POSITIVE – A special case of TRUE_POSITIVE where the finding
30151	//    doesn't pose any threat, is expected, or both
30152	VerificationState *string `type:"string" enum:"VerificationState"`
30153
30154	// Used to update the workflow status of a finding.
30155	//
30156	// The workflow status indicates the progress of the investigation into the
30157	// finding.
30158	Workflow *WorkflowUpdate `type:"structure"`
30159}
30160
30161// String returns the string representation.
30162//
30163// API parameter values that are decorated as "sensitive" in the API will not
30164// be included in the string output. The member name will be present, but the
30165// value will be replaced with "sensitive".
30166func (s BatchUpdateFindingsInput) String() string {
30167	return awsutil.Prettify(s)
30168}
30169
30170// GoString returns the string representation.
30171//
30172// API parameter values that are decorated as "sensitive" in the API will not
30173// be included in the string output. The member name will be present, but the
30174// value will be replaced with "sensitive".
30175func (s BatchUpdateFindingsInput) GoString() string {
30176	return s.String()
30177}
30178
30179// Validate inspects the fields of the type to determine if they are valid.
30180func (s *BatchUpdateFindingsInput) Validate() error {
30181	invalidParams := request.ErrInvalidParams{Context: "BatchUpdateFindingsInput"}
30182	if s.FindingIdentifiers == nil {
30183		invalidParams.Add(request.NewErrParamRequired("FindingIdentifiers"))
30184	}
30185	if s.FindingIdentifiers != nil {
30186		for i, v := range s.FindingIdentifiers {
30187			if v == nil {
30188				continue
30189			}
30190			if err := v.Validate(); err != nil {
30191				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FindingIdentifiers", i), err.(request.ErrInvalidParams))
30192			}
30193		}
30194	}
30195	if s.Note != nil {
30196		if err := s.Note.Validate(); err != nil {
30197			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
30198		}
30199	}
30200	if s.RelatedFindings != nil {
30201		for i, v := range s.RelatedFindings {
30202			if v == nil {
30203				continue
30204			}
30205			if err := v.Validate(); err != nil {
30206				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
30207			}
30208		}
30209	}
30210
30211	if invalidParams.Len() > 0 {
30212		return invalidParams
30213	}
30214	return nil
30215}
30216
30217// SetConfidence sets the Confidence field's value.
30218func (s *BatchUpdateFindingsInput) SetConfidence(v int64) *BatchUpdateFindingsInput {
30219	s.Confidence = &v
30220	return s
30221}
30222
30223// SetCriticality sets the Criticality field's value.
30224func (s *BatchUpdateFindingsInput) SetCriticality(v int64) *BatchUpdateFindingsInput {
30225	s.Criticality = &v
30226	return s
30227}
30228
30229// SetFindingIdentifiers sets the FindingIdentifiers field's value.
30230func (s *BatchUpdateFindingsInput) SetFindingIdentifiers(v []*AwsSecurityFindingIdentifier) *BatchUpdateFindingsInput {
30231	s.FindingIdentifiers = v
30232	return s
30233}
30234
30235// SetNote sets the Note field's value.
30236func (s *BatchUpdateFindingsInput) SetNote(v *NoteUpdate) *BatchUpdateFindingsInput {
30237	s.Note = v
30238	return s
30239}
30240
30241// SetRelatedFindings sets the RelatedFindings field's value.
30242func (s *BatchUpdateFindingsInput) SetRelatedFindings(v []*RelatedFinding) *BatchUpdateFindingsInput {
30243	s.RelatedFindings = v
30244	return s
30245}
30246
30247// SetSeverity sets the Severity field's value.
30248func (s *BatchUpdateFindingsInput) SetSeverity(v *SeverityUpdate) *BatchUpdateFindingsInput {
30249	s.Severity = v
30250	return s
30251}
30252
30253// SetTypes sets the Types field's value.
30254func (s *BatchUpdateFindingsInput) SetTypes(v []*string) *BatchUpdateFindingsInput {
30255	s.Types = v
30256	return s
30257}
30258
30259// SetUserDefinedFields sets the UserDefinedFields field's value.
30260func (s *BatchUpdateFindingsInput) SetUserDefinedFields(v map[string]*string) *BatchUpdateFindingsInput {
30261	s.UserDefinedFields = v
30262	return s
30263}
30264
30265// SetVerificationState sets the VerificationState field's value.
30266func (s *BatchUpdateFindingsInput) SetVerificationState(v string) *BatchUpdateFindingsInput {
30267	s.VerificationState = &v
30268	return s
30269}
30270
30271// SetWorkflow sets the Workflow field's value.
30272func (s *BatchUpdateFindingsInput) SetWorkflow(v *WorkflowUpdate) *BatchUpdateFindingsInput {
30273	s.Workflow = v
30274	return s
30275}
30276
30277type BatchUpdateFindingsOutput struct {
30278	_ struct{} `type:"structure"`
30279
30280	// The list of findings that were updated successfully.
30281	//
30282	// ProcessedFindings is a required field
30283	ProcessedFindings []*AwsSecurityFindingIdentifier `type:"list" required:"true"`
30284
30285	// The list of findings that were not updated.
30286	//
30287	// UnprocessedFindings is a required field
30288	UnprocessedFindings []*BatchUpdateFindingsUnprocessedFinding `type:"list" required:"true"`
30289}
30290
30291// String returns the string representation.
30292//
30293// API parameter values that are decorated as "sensitive" in the API will not
30294// be included in the string output. The member name will be present, but the
30295// value will be replaced with "sensitive".
30296func (s BatchUpdateFindingsOutput) String() string {
30297	return awsutil.Prettify(s)
30298}
30299
30300// GoString returns the string representation.
30301//
30302// API parameter values that are decorated as "sensitive" in the API will not
30303// be included in the string output. The member name will be present, but the
30304// value will be replaced with "sensitive".
30305func (s BatchUpdateFindingsOutput) GoString() string {
30306	return s.String()
30307}
30308
30309// SetProcessedFindings sets the ProcessedFindings field's value.
30310func (s *BatchUpdateFindingsOutput) SetProcessedFindings(v []*AwsSecurityFindingIdentifier) *BatchUpdateFindingsOutput {
30311	s.ProcessedFindings = v
30312	return s
30313}
30314
30315// SetUnprocessedFindings sets the UnprocessedFindings field's value.
30316func (s *BatchUpdateFindingsOutput) SetUnprocessedFindings(v []*BatchUpdateFindingsUnprocessedFinding) *BatchUpdateFindingsOutput {
30317	s.UnprocessedFindings = v
30318	return s
30319}
30320
30321// A finding from a BatchUpdateFindings request that Security Hub was unable
30322// to update.
30323type BatchUpdateFindingsUnprocessedFinding struct {
30324	_ struct{} `type:"structure"`
30325
30326	// The code associated with the error.
30327	//
30328	// ErrorCode is a required field
30329	ErrorCode *string `type:"string" required:"true"`
30330
30331	// The message associated with the error.
30332	//
30333	// ErrorMessage is a required field
30334	ErrorMessage *string `type:"string" required:"true"`
30335
30336	// The identifier of the finding that was not updated.
30337	//
30338	// FindingIdentifier is a required field
30339	FindingIdentifier *AwsSecurityFindingIdentifier `type:"structure" required:"true"`
30340}
30341
30342// String returns the string representation.
30343//
30344// API parameter values that are decorated as "sensitive" in the API will not
30345// be included in the string output. The member name will be present, but the
30346// value will be replaced with "sensitive".
30347func (s BatchUpdateFindingsUnprocessedFinding) String() string {
30348	return awsutil.Prettify(s)
30349}
30350
30351// GoString returns the string representation.
30352//
30353// API parameter values that are decorated as "sensitive" in the API will not
30354// be included in the string output. The member name will be present, but the
30355// value will be replaced with "sensitive".
30356func (s BatchUpdateFindingsUnprocessedFinding) GoString() string {
30357	return s.String()
30358}
30359
30360// SetErrorCode sets the ErrorCode field's value.
30361func (s *BatchUpdateFindingsUnprocessedFinding) SetErrorCode(v string) *BatchUpdateFindingsUnprocessedFinding {
30362	s.ErrorCode = &v
30363	return s
30364}
30365
30366// SetErrorMessage sets the ErrorMessage field's value.
30367func (s *BatchUpdateFindingsUnprocessedFinding) SetErrorMessage(v string) *BatchUpdateFindingsUnprocessedFinding {
30368	s.ErrorMessage = &v
30369	return s
30370}
30371
30372// SetFindingIdentifier sets the FindingIdentifier field's value.
30373func (s *BatchUpdateFindingsUnprocessedFinding) SetFindingIdentifier(v *AwsSecurityFindingIdentifier) *BatchUpdateFindingsUnprocessedFinding {
30374	s.FindingIdentifier = v
30375	return s
30376}
30377
30378// An occurrence of sensitive data detected in a Microsoft Excel workbook, comma-separated
30379// value (CSV) file, or tab-separated value (TSV) file.
30380type Cell struct {
30381	_ struct{} `type:"structure"`
30382
30383	// For a Microsoft Excel workbook, provides the location of the cell, as an
30384	// absolute cell reference, that contains the data. For example, Sheet2!C5 for
30385	// cell C5 on Sheet2.
30386	CellReference *string `type:"string"`
30387
30388	// The column number of the column that contains the data. For a Microsoft Excel
30389	// workbook, the column number corresponds to the alphabetical column identifiers.
30390	// For example, a value of 1 for Column corresponds to the A column in the workbook.
30391	Column *int64 `type:"long"`
30392
30393	// The name of the column that contains the data.
30394	ColumnName *string `type:"string"`
30395
30396	// The row number of the row that contains the data.
30397	Row *int64 `type:"long"`
30398}
30399
30400// String returns the string representation.
30401//
30402// API parameter values that are decorated as "sensitive" in the API will not
30403// be included in the string output. The member name will be present, but the
30404// value will be replaced with "sensitive".
30405func (s Cell) String() string {
30406	return awsutil.Prettify(s)
30407}
30408
30409// GoString returns the string representation.
30410//
30411// API parameter values that are decorated as "sensitive" in the API will not
30412// be included in the string output. The member name will be present, but the
30413// value will be replaced with "sensitive".
30414func (s Cell) GoString() string {
30415	return s.String()
30416}
30417
30418// SetCellReference sets the CellReference field's value.
30419func (s *Cell) SetCellReference(v string) *Cell {
30420	s.CellReference = &v
30421	return s
30422}
30423
30424// SetColumn sets the Column field's value.
30425func (s *Cell) SetColumn(v int64) *Cell {
30426	s.Column = &v
30427	return s
30428}
30429
30430// SetColumnName sets the ColumnName field's value.
30431func (s *Cell) SetColumnName(v string) *Cell {
30432	s.ColumnName = &v
30433	return s
30434}
30435
30436// SetRow sets the Row field's value.
30437func (s *Cell) SetRow(v int64) *Cell {
30438	s.Row = &v
30439	return s
30440}
30441
30442// An IPv4 CIDR block association.
30443type CidrBlockAssociation struct {
30444	_ struct{} `type:"structure"`
30445
30446	// The association ID for the IPv4 CIDR block.
30447	AssociationId *string `type:"string"`
30448
30449	// The IPv4 CIDR block.
30450	CidrBlock *string `type:"string"`
30451
30452	// Information about the state of the IPv4 CIDR block.
30453	CidrBlockState *string `type:"string"`
30454}
30455
30456// String returns the string representation.
30457//
30458// API parameter values that are decorated as "sensitive" in the API will not
30459// be included in the string output. The member name will be present, but the
30460// value will be replaced with "sensitive".
30461func (s CidrBlockAssociation) String() string {
30462	return awsutil.Prettify(s)
30463}
30464
30465// GoString returns the string representation.
30466//
30467// API parameter values that are decorated as "sensitive" in the API will not
30468// be included in the string output. The member name will be present, but the
30469// value will be replaced with "sensitive".
30470func (s CidrBlockAssociation) GoString() string {
30471	return s.String()
30472}
30473
30474// SetAssociationId sets the AssociationId field's value.
30475func (s *CidrBlockAssociation) SetAssociationId(v string) *CidrBlockAssociation {
30476	s.AssociationId = &v
30477	return s
30478}
30479
30480// SetCidrBlock sets the CidrBlock field's value.
30481func (s *CidrBlockAssociation) SetCidrBlock(v string) *CidrBlockAssociation {
30482	s.CidrBlock = &v
30483	return s
30484}
30485
30486// SetCidrBlockState sets the CidrBlockState field's value.
30487func (s *CidrBlockAssociation) SetCidrBlockState(v string) *CidrBlockAssociation {
30488	s.CidrBlockState = &v
30489	return s
30490}
30491
30492// Information about a city.
30493type City struct {
30494	_ struct{} `type:"structure"`
30495
30496	// The name of the city.
30497	CityName *string `type:"string"`
30498}
30499
30500// String returns the string representation.
30501//
30502// API parameter values that are decorated as "sensitive" in the API will not
30503// be included in the string output. The member name will be present, but the
30504// value will be replaced with "sensitive".
30505func (s City) String() string {
30506	return awsutil.Prettify(s)
30507}
30508
30509// GoString returns the string representation.
30510//
30511// API parameter values that are decorated as "sensitive" in the API will not
30512// be included in the string output. The member name will be present, but the
30513// value will be replaced with "sensitive".
30514func (s City) GoString() string {
30515	return s.String()
30516}
30517
30518// SetCityName sets the CityName field's value.
30519func (s *City) SetCityName(v string) *City {
30520	s.CityName = &v
30521	return s
30522}
30523
30524// Details about the sensitive data that was detected on the resource.
30525type ClassificationResult struct {
30526	_ struct{} `type:"structure"`
30527
30528	// Indicates whether there are additional occurrences of sensitive data that
30529	// are not included in the finding. This occurs when the number of occurrences
30530	// exceeds the maximum that can be included.
30531	AdditionalOccurrences *bool `type:"boolean"`
30532
30533	// Provides details about sensitive data that was identified based on customer-defined
30534	// configuration.
30535	CustomDataIdentifiers *CustomDataIdentifiersResult `type:"structure"`
30536
30537	// The type of content that the finding applies to.
30538	MimeType *string `type:"string"`
30539
30540	// Provides details about sensitive data that was identified based on built-in
30541	// configuration.
30542	SensitiveData []*SensitiveDataResult `type:"list"`
30543
30544	// The total size in bytes of the affected data.
30545	SizeClassified *int64 `type:"long"`
30546
30547	// The current status of the sensitive data detection.
30548	Status *ClassificationStatus `type:"structure"`
30549}
30550
30551// String returns the string representation.
30552//
30553// API parameter values that are decorated as "sensitive" in the API will not
30554// be included in the string output. The member name will be present, but the
30555// value will be replaced with "sensitive".
30556func (s ClassificationResult) String() string {
30557	return awsutil.Prettify(s)
30558}
30559
30560// GoString returns the string representation.
30561//
30562// API parameter values that are decorated as "sensitive" in the API will not
30563// be included in the string output. The member name will be present, but the
30564// value will be replaced with "sensitive".
30565func (s ClassificationResult) GoString() string {
30566	return s.String()
30567}
30568
30569// SetAdditionalOccurrences sets the AdditionalOccurrences field's value.
30570func (s *ClassificationResult) SetAdditionalOccurrences(v bool) *ClassificationResult {
30571	s.AdditionalOccurrences = &v
30572	return s
30573}
30574
30575// SetCustomDataIdentifiers sets the CustomDataIdentifiers field's value.
30576func (s *ClassificationResult) SetCustomDataIdentifiers(v *CustomDataIdentifiersResult) *ClassificationResult {
30577	s.CustomDataIdentifiers = v
30578	return s
30579}
30580
30581// SetMimeType sets the MimeType field's value.
30582func (s *ClassificationResult) SetMimeType(v string) *ClassificationResult {
30583	s.MimeType = &v
30584	return s
30585}
30586
30587// SetSensitiveData sets the SensitiveData field's value.
30588func (s *ClassificationResult) SetSensitiveData(v []*SensitiveDataResult) *ClassificationResult {
30589	s.SensitiveData = v
30590	return s
30591}
30592
30593// SetSizeClassified sets the SizeClassified field's value.
30594func (s *ClassificationResult) SetSizeClassified(v int64) *ClassificationResult {
30595	s.SizeClassified = &v
30596	return s
30597}
30598
30599// SetStatus sets the Status field's value.
30600func (s *ClassificationResult) SetStatus(v *ClassificationStatus) *ClassificationResult {
30601	s.Status = v
30602	return s
30603}
30604
30605// Provides details about the current status of the sensitive data detection.
30606type ClassificationStatus struct {
30607	_ struct{} `type:"structure"`
30608
30609	// The code that represents the status of the sensitive data detection.
30610	Code *string `type:"string"`
30611
30612	// A longer description of the current status of the sensitive data detection.
30613	Reason *string `type:"string"`
30614}
30615
30616// String returns the string representation.
30617//
30618// API parameter values that are decorated as "sensitive" in the API will not
30619// be included in the string output. The member name will be present, but the
30620// value will be replaced with "sensitive".
30621func (s ClassificationStatus) String() string {
30622	return awsutil.Prettify(s)
30623}
30624
30625// GoString returns the string representation.
30626//
30627// API parameter values that are decorated as "sensitive" in the API will not
30628// be included in the string output. The member name will be present, but the
30629// value will be replaced with "sensitive".
30630func (s ClassificationStatus) GoString() string {
30631	return s.String()
30632}
30633
30634// SetCode sets the Code field's value.
30635func (s *ClassificationStatus) SetCode(v string) *ClassificationStatus {
30636	s.Code = &v
30637	return s
30638}
30639
30640// SetReason sets the Reason field's value.
30641func (s *ClassificationStatus) SetReason(v string) *ClassificationStatus {
30642	s.Reason = &v
30643	return s
30644}
30645
30646// Contains finding details that are specific to control-based findings. Only
30647// returned for findings generated from controls.
30648type Compliance struct {
30649	_ struct{} `type:"structure"`
30650
30651	// For a control, the industry or regulatory framework requirements that are
30652	// related to the control. The check for that control is aligned with these
30653	// requirements.
30654	RelatedRequirements []*string `type:"list"`
30655
30656	// The result of a standards check.
30657	//
30658	// The valid values for Status are as follows.
30659	//
30660	//    * PASSED - Standards check passed for all evaluated resources. WARNING
30661	//    - Some information is missing or this check is not supported for your
30662	//    configuration. FAILED - Standards check failed for at least one evaluated
30663	//    resource. NOT_AVAILABLE - Check could not be performed due to a service
30664	//    outage, API error, or because the result of the Config evaluation was
30665	//    NOT_APPLICABLE. If the Config evaluation result was NOT_APPLICABLE, then
30666	//    after 3 days, Security Hub automatically archives the finding.
30667	Status *string `type:"string" enum:"ComplianceStatus"`
30668
30669	// For findings generated from controls, a list of reasons behind the value
30670	// of Status. For the list of status reason codes and their meanings, see Standards-related
30671	// information in the ASFF (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-results.html#securityhub-standards-results-asff)
30672	// in the Security Hub User Guide.
30673	StatusReasons []*StatusReason `type:"list"`
30674}
30675
30676// String returns the string representation.
30677//
30678// API parameter values that are decorated as "sensitive" in the API will not
30679// be included in the string output. The member name will be present, but the
30680// value will be replaced with "sensitive".
30681func (s Compliance) String() string {
30682	return awsutil.Prettify(s)
30683}
30684
30685// GoString returns the string representation.
30686//
30687// API parameter values that are decorated as "sensitive" in the API will not
30688// be included in the string output. The member name will be present, but the
30689// value will be replaced with "sensitive".
30690func (s Compliance) GoString() string {
30691	return s.String()
30692}
30693
30694// Validate inspects the fields of the type to determine if they are valid.
30695func (s *Compliance) Validate() error {
30696	invalidParams := request.ErrInvalidParams{Context: "Compliance"}
30697	if s.StatusReasons != nil {
30698		for i, v := range s.StatusReasons {
30699			if v == nil {
30700				continue
30701			}
30702			if err := v.Validate(); err != nil {
30703				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StatusReasons", i), err.(request.ErrInvalidParams))
30704			}
30705		}
30706	}
30707
30708	if invalidParams.Len() > 0 {
30709		return invalidParams
30710	}
30711	return nil
30712}
30713
30714// SetRelatedRequirements sets the RelatedRequirements field's value.
30715func (s *Compliance) SetRelatedRequirements(v []*string) *Compliance {
30716	s.RelatedRequirements = v
30717	return s
30718}
30719
30720// SetStatus sets the Status field's value.
30721func (s *Compliance) SetStatus(v string) *Compliance {
30722	s.Status = &v
30723	return s
30724}
30725
30726// SetStatusReasons sets the StatusReasons field's value.
30727func (s *Compliance) SetStatusReasons(v []*StatusReason) *Compliance {
30728	s.StatusReasons = v
30729	return s
30730}
30731
30732// Container details related to a finding.
30733type ContainerDetails struct {
30734	_ struct{} `type:"structure"`
30735
30736	// The identifier of the image related to a finding.
30737	ImageId *string `type:"string"`
30738
30739	// The name of the image related to a finding.
30740	ImageName *string `type:"string"`
30741
30742	// Indicates when the container started.
30743	//
30744	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
30745	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
30746	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
30747	LaunchedAt *string `type:"string"`
30748
30749	// The name of the container related to a finding.
30750	Name *string `type:"string"`
30751}
30752
30753// String returns the string representation.
30754//
30755// API parameter values that are decorated as "sensitive" in the API will not
30756// be included in the string output. The member name will be present, but the
30757// value will be replaced with "sensitive".
30758func (s ContainerDetails) String() string {
30759	return awsutil.Prettify(s)
30760}
30761
30762// GoString returns the string representation.
30763//
30764// API parameter values that are decorated as "sensitive" in the API will not
30765// be included in the string output. The member name will be present, but the
30766// value will be replaced with "sensitive".
30767func (s ContainerDetails) GoString() string {
30768	return s.String()
30769}
30770
30771// SetImageId sets the ImageId field's value.
30772func (s *ContainerDetails) SetImageId(v string) *ContainerDetails {
30773	s.ImageId = &v
30774	return s
30775}
30776
30777// SetImageName sets the ImageName field's value.
30778func (s *ContainerDetails) SetImageName(v string) *ContainerDetails {
30779	s.ImageName = &v
30780	return s
30781}
30782
30783// SetLaunchedAt sets the LaunchedAt field's value.
30784func (s *ContainerDetails) SetLaunchedAt(v string) *ContainerDetails {
30785	s.LaunchedAt = &v
30786	return s
30787}
30788
30789// SetName sets the Name field's value.
30790func (s *ContainerDetails) SetName(v string) *ContainerDetails {
30791	s.Name = &v
30792	return s
30793}
30794
30795// Information about a country.
30796type Country struct {
30797	_ struct{} `type:"structure"`
30798
30799	// The 2-letter ISO 3166 country code for the country.
30800	CountryCode *string `type:"string"`
30801
30802	// The name of the country.
30803	CountryName *string `type:"string"`
30804}
30805
30806// String returns the string representation.
30807//
30808// API parameter values that are decorated as "sensitive" in the API will not
30809// be included in the string output. The member name will be present, but the
30810// value will be replaced with "sensitive".
30811func (s Country) String() string {
30812	return awsutil.Prettify(s)
30813}
30814
30815// GoString returns the string representation.
30816//
30817// API parameter values that are decorated as "sensitive" in the API will not
30818// be included in the string output. The member name will be present, but the
30819// value will be replaced with "sensitive".
30820func (s Country) GoString() string {
30821	return s.String()
30822}
30823
30824// SetCountryCode sets the CountryCode field's value.
30825func (s *Country) SetCountryCode(v string) *Country {
30826	s.CountryCode = &v
30827	return s
30828}
30829
30830// SetCountryName sets the CountryName field's value.
30831func (s *Country) SetCountryName(v string) *Country {
30832	s.CountryName = &v
30833	return s
30834}
30835
30836type CreateActionTargetInput struct {
30837	_ struct{} `type:"structure"`
30838
30839	// The description for the custom action target.
30840	//
30841	// Description is a required field
30842	Description *string `type:"string" required:"true"`
30843
30844	// The ID for the custom action target. Can contain up to 20 alphanumeric characters.
30845	//
30846	// Id is a required field
30847	Id *string `type:"string" required:"true"`
30848
30849	// The name of the custom action target. Can contain up to 20 characters.
30850	//
30851	// Name is a required field
30852	Name *string `type:"string" required:"true"`
30853}
30854
30855// String returns the string representation.
30856//
30857// API parameter values that are decorated as "sensitive" in the API will not
30858// be included in the string output. The member name will be present, but the
30859// value will be replaced with "sensitive".
30860func (s CreateActionTargetInput) String() string {
30861	return awsutil.Prettify(s)
30862}
30863
30864// GoString returns the string representation.
30865//
30866// API parameter values that are decorated as "sensitive" in the API will not
30867// be included in the string output. The member name will be present, but the
30868// value will be replaced with "sensitive".
30869func (s CreateActionTargetInput) GoString() string {
30870	return s.String()
30871}
30872
30873// Validate inspects the fields of the type to determine if they are valid.
30874func (s *CreateActionTargetInput) Validate() error {
30875	invalidParams := request.ErrInvalidParams{Context: "CreateActionTargetInput"}
30876	if s.Description == nil {
30877		invalidParams.Add(request.NewErrParamRequired("Description"))
30878	}
30879	if s.Id == nil {
30880		invalidParams.Add(request.NewErrParamRequired("Id"))
30881	}
30882	if s.Name == nil {
30883		invalidParams.Add(request.NewErrParamRequired("Name"))
30884	}
30885
30886	if invalidParams.Len() > 0 {
30887		return invalidParams
30888	}
30889	return nil
30890}
30891
30892// SetDescription sets the Description field's value.
30893func (s *CreateActionTargetInput) SetDescription(v string) *CreateActionTargetInput {
30894	s.Description = &v
30895	return s
30896}
30897
30898// SetId sets the Id field's value.
30899func (s *CreateActionTargetInput) SetId(v string) *CreateActionTargetInput {
30900	s.Id = &v
30901	return s
30902}
30903
30904// SetName sets the Name field's value.
30905func (s *CreateActionTargetInput) SetName(v string) *CreateActionTargetInput {
30906	s.Name = &v
30907	return s
30908}
30909
30910type CreateActionTargetOutput struct {
30911	_ struct{} `type:"structure"`
30912
30913	// The ARN for the custom action target.
30914	//
30915	// ActionTargetArn is a required field
30916	ActionTargetArn *string `type:"string" required:"true"`
30917}
30918
30919// String returns the string representation.
30920//
30921// API parameter values that are decorated as "sensitive" in the API will not
30922// be included in the string output. The member name will be present, but the
30923// value will be replaced with "sensitive".
30924func (s CreateActionTargetOutput) String() string {
30925	return awsutil.Prettify(s)
30926}
30927
30928// GoString returns the string representation.
30929//
30930// API parameter values that are decorated as "sensitive" in the API will not
30931// be included in the string output. The member name will be present, but the
30932// value will be replaced with "sensitive".
30933func (s CreateActionTargetOutput) GoString() string {
30934	return s.String()
30935}
30936
30937// SetActionTargetArn sets the ActionTargetArn field's value.
30938func (s *CreateActionTargetOutput) SetActionTargetArn(v string) *CreateActionTargetOutput {
30939	s.ActionTargetArn = &v
30940	return s
30941}
30942
30943type CreateFindingAggregatorInput struct {
30944	_ struct{} `type:"structure"`
30945
30946	// Indicates whether to aggregate findings from all of the available Regions
30947	// in the current partition. Also determines whether to automatically aggregate
30948	// findings from new Regions as Security Hub supports them and you opt into
30949	// them.
30950	//
30951	// The selected option also determines how to use the Regions provided in the
30952	// Regions list.
30953	//
30954	// The options are as follows:
30955	//
30956	//    * ALL_REGIONS - Indicates to aggregate findings from all of the Regions
30957	//    where Security Hub is enabled. When you choose this option, Security Hub
30958	//    also automatically aggregates findings from new Regions as Security Hub
30959	//    supports them and you opt into them.
30960	//
30961	//    * ALL_REGIONS_EXCEPT_SPECIFIED - Indicates to aggregate findings from
30962	//    all of the Regions where Security Hub is enabled, except for the Regions
30963	//    listed in the Regions parameter. When you choose this option, Security
30964	//    Hub also automatically aggregates findings from new Regions as Security
30965	//    Hub supports them and you opt into them.
30966	//
30967	//    * SPECIFIED_REGIONS - Indicates to aggregate findings only from the Regions
30968	//    listed in the Regions parameter. Security Hub does not automatically aggregate
30969	//    findings from new Regions.
30970	//
30971	// RegionLinkingMode is a required field
30972	RegionLinkingMode *string `type:"string" required:"true"`
30973
30974	// If RegionLinkingMode is ALL_REGIONS_EXCEPT_SPECIFIED, then this is a comma-separated
30975	// list of Regions that do not aggregate findings to the aggregation Region.
30976	//
30977	// If RegionLinkingMode is SPECIFIED_REGIONS, then this is a comma-separated
30978	// list of Regions that do aggregate findings to the aggregation Region.
30979	Regions []*string `type:"list"`
30980}
30981
30982// String returns the string representation.
30983//
30984// API parameter values that are decorated as "sensitive" in the API will not
30985// be included in the string output. The member name will be present, but the
30986// value will be replaced with "sensitive".
30987func (s CreateFindingAggregatorInput) String() string {
30988	return awsutil.Prettify(s)
30989}
30990
30991// GoString returns the string representation.
30992//
30993// API parameter values that are decorated as "sensitive" in the API will not
30994// be included in the string output. The member name will be present, but the
30995// value will be replaced with "sensitive".
30996func (s CreateFindingAggregatorInput) GoString() string {
30997	return s.String()
30998}
30999
31000// Validate inspects the fields of the type to determine if they are valid.
31001func (s *CreateFindingAggregatorInput) Validate() error {
31002	invalidParams := request.ErrInvalidParams{Context: "CreateFindingAggregatorInput"}
31003	if s.RegionLinkingMode == nil {
31004		invalidParams.Add(request.NewErrParamRequired("RegionLinkingMode"))
31005	}
31006
31007	if invalidParams.Len() > 0 {
31008		return invalidParams
31009	}
31010	return nil
31011}
31012
31013// SetRegionLinkingMode sets the RegionLinkingMode field's value.
31014func (s *CreateFindingAggregatorInput) SetRegionLinkingMode(v string) *CreateFindingAggregatorInput {
31015	s.RegionLinkingMode = &v
31016	return s
31017}
31018
31019// SetRegions sets the Regions field's value.
31020func (s *CreateFindingAggregatorInput) SetRegions(v []*string) *CreateFindingAggregatorInput {
31021	s.Regions = v
31022	return s
31023}
31024
31025type CreateFindingAggregatorOutput struct {
31026	_ struct{} `type:"structure"`
31027
31028	// The aggregation Region.
31029	FindingAggregationRegion *string `type:"string"`
31030
31031	// The ARN of the finding aggregator. You use the finding aggregator ARN to
31032	// retrieve details for, update, and stop finding aggregation.
31033	FindingAggregatorArn *string `type:"string"`
31034
31035	// Indicates whether to link all Regions, all Regions except for a list of excluded
31036	// Regions, or a list of included Regions.
31037	RegionLinkingMode *string `type:"string"`
31038
31039	// The list of excluded Regions or included Regions.
31040	Regions []*string `type:"list"`
31041}
31042
31043// String returns the string representation.
31044//
31045// API parameter values that are decorated as "sensitive" in the API will not
31046// be included in the string output. The member name will be present, but the
31047// value will be replaced with "sensitive".
31048func (s CreateFindingAggregatorOutput) String() string {
31049	return awsutil.Prettify(s)
31050}
31051
31052// GoString returns the string representation.
31053//
31054// API parameter values that are decorated as "sensitive" in the API will not
31055// be included in the string output. The member name will be present, but the
31056// value will be replaced with "sensitive".
31057func (s CreateFindingAggregatorOutput) GoString() string {
31058	return s.String()
31059}
31060
31061// SetFindingAggregationRegion sets the FindingAggregationRegion field's value.
31062func (s *CreateFindingAggregatorOutput) SetFindingAggregationRegion(v string) *CreateFindingAggregatorOutput {
31063	s.FindingAggregationRegion = &v
31064	return s
31065}
31066
31067// SetFindingAggregatorArn sets the FindingAggregatorArn field's value.
31068func (s *CreateFindingAggregatorOutput) SetFindingAggregatorArn(v string) *CreateFindingAggregatorOutput {
31069	s.FindingAggregatorArn = &v
31070	return s
31071}
31072
31073// SetRegionLinkingMode sets the RegionLinkingMode field's value.
31074func (s *CreateFindingAggregatorOutput) SetRegionLinkingMode(v string) *CreateFindingAggregatorOutput {
31075	s.RegionLinkingMode = &v
31076	return s
31077}
31078
31079// SetRegions sets the Regions field's value.
31080func (s *CreateFindingAggregatorOutput) SetRegions(v []*string) *CreateFindingAggregatorOutput {
31081	s.Regions = v
31082	return s
31083}
31084
31085type CreateInsightInput struct {
31086	_ struct{} `type:"structure"`
31087
31088	// One or more attributes used to filter the findings included in the insight.
31089	// The insight only includes findings that match the criteria defined in the
31090	// filters.
31091	//
31092	// Filters is a required field
31093	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
31094
31095	// The attribute used to group the findings for the insight. The grouping attribute
31096	// identifies the type of item that the insight applies to. For example, if
31097	// an insight is grouped by resource identifier, then the insight produces a
31098	// list of resource identifiers.
31099	//
31100	// GroupByAttribute is a required field
31101	GroupByAttribute *string `type:"string" required:"true"`
31102
31103	// The name of the custom insight to create.
31104	//
31105	// Name is a required field
31106	Name *string `type:"string" required:"true"`
31107}
31108
31109// String returns the string representation.
31110//
31111// API parameter values that are decorated as "sensitive" in the API will not
31112// be included in the string output. The member name will be present, but the
31113// value will be replaced with "sensitive".
31114func (s CreateInsightInput) String() string {
31115	return awsutil.Prettify(s)
31116}
31117
31118// GoString returns the string representation.
31119//
31120// API parameter values that are decorated as "sensitive" in the API will not
31121// be included in the string output. The member name will be present, but the
31122// value will be replaced with "sensitive".
31123func (s CreateInsightInput) GoString() string {
31124	return s.String()
31125}
31126
31127// Validate inspects the fields of the type to determine if they are valid.
31128func (s *CreateInsightInput) Validate() error {
31129	invalidParams := request.ErrInvalidParams{Context: "CreateInsightInput"}
31130	if s.Filters == nil {
31131		invalidParams.Add(request.NewErrParamRequired("Filters"))
31132	}
31133	if s.GroupByAttribute == nil {
31134		invalidParams.Add(request.NewErrParamRequired("GroupByAttribute"))
31135	}
31136	if s.Name == nil {
31137		invalidParams.Add(request.NewErrParamRequired("Name"))
31138	}
31139
31140	if invalidParams.Len() > 0 {
31141		return invalidParams
31142	}
31143	return nil
31144}
31145
31146// SetFilters sets the Filters field's value.
31147func (s *CreateInsightInput) SetFilters(v *AwsSecurityFindingFilters) *CreateInsightInput {
31148	s.Filters = v
31149	return s
31150}
31151
31152// SetGroupByAttribute sets the GroupByAttribute field's value.
31153func (s *CreateInsightInput) SetGroupByAttribute(v string) *CreateInsightInput {
31154	s.GroupByAttribute = &v
31155	return s
31156}
31157
31158// SetName sets the Name field's value.
31159func (s *CreateInsightInput) SetName(v string) *CreateInsightInput {
31160	s.Name = &v
31161	return s
31162}
31163
31164type CreateInsightOutput struct {
31165	_ struct{} `type:"structure"`
31166
31167	// The ARN of the insight created.
31168	//
31169	// InsightArn is a required field
31170	InsightArn *string `type:"string" required:"true"`
31171}
31172
31173// String returns the string representation.
31174//
31175// API parameter values that are decorated as "sensitive" in the API will not
31176// be included in the string output. The member name will be present, but the
31177// value will be replaced with "sensitive".
31178func (s CreateInsightOutput) String() string {
31179	return awsutil.Prettify(s)
31180}
31181
31182// GoString returns the string representation.
31183//
31184// API parameter values that are decorated as "sensitive" in the API will not
31185// be included in the string output. The member name will be present, but the
31186// value will be replaced with "sensitive".
31187func (s CreateInsightOutput) GoString() string {
31188	return s.String()
31189}
31190
31191// SetInsightArn sets the InsightArn field's value.
31192func (s *CreateInsightOutput) SetInsightArn(v string) *CreateInsightOutput {
31193	s.InsightArn = &v
31194	return s
31195}
31196
31197type CreateMembersInput struct {
31198	_ struct{} `type:"structure"`
31199
31200	// The list of accounts to associate with the Security Hub administrator account.
31201	// For each account, the list includes the account ID and optionally the email
31202	// address.
31203	//
31204	// AccountDetails is a required field
31205	AccountDetails []*AccountDetails `type:"list" required:"true"`
31206}
31207
31208// String returns the string representation.
31209//
31210// API parameter values that are decorated as "sensitive" in the API will not
31211// be included in the string output. The member name will be present, but the
31212// value will be replaced with "sensitive".
31213func (s CreateMembersInput) String() string {
31214	return awsutil.Prettify(s)
31215}
31216
31217// GoString returns the string representation.
31218//
31219// API parameter values that are decorated as "sensitive" in the API will not
31220// be included in the string output. The member name will be present, but the
31221// value will be replaced with "sensitive".
31222func (s CreateMembersInput) GoString() string {
31223	return s.String()
31224}
31225
31226// Validate inspects the fields of the type to determine if they are valid.
31227func (s *CreateMembersInput) Validate() error {
31228	invalidParams := request.ErrInvalidParams{Context: "CreateMembersInput"}
31229	if s.AccountDetails == nil {
31230		invalidParams.Add(request.NewErrParamRequired("AccountDetails"))
31231	}
31232	if s.AccountDetails != nil {
31233		for i, v := range s.AccountDetails {
31234			if v == nil {
31235				continue
31236			}
31237			if err := v.Validate(); err != nil {
31238				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountDetails", i), err.(request.ErrInvalidParams))
31239			}
31240		}
31241	}
31242
31243	if invalidParams.Len() > 0 {
31244		return invalidParams
31245	}
31246	return nil
31247}
31248
31249// SetAccountDetails sets the AccountDetails field's value.
31250func (s *CreateMembersInput) SetAccountDetails(v []*AccountDetails) *CreateMembersInput {
31251	s.AccountDetails = v
31252	return s
31253}
31254
31255type CreateMembersOutput struct {
31256	_ struct{} `type:"structure"`
31257
31258	// The list of Amazon Web Services accounts that were not processed. For each
31259	// account, the list includes the account ID and the email address.
31260	UnprocessedAccounts []*Result `type:"list"`
31261}
31262
31263// String returns the string representation.
31264//
31265// API parameter values that are decorated as "sensitive" in the API will not
31266// be included in the string output. The member name will be present, but the
31267// value will be replaced with "sensitive".
31268func (s CreateMembersOutput) String() string {
31269	return awsutil.Prettify(s)
31270}
31271
31272// GoString returns the string representation.
31273//
31274// API parameter values that are decorated as "sensitive" in the API will not
31275// be included in the string output. The member name will be present, but the
31276// value will be replaced with "sensitive".
31277func (s CreateMembersOutput) GoString() string {
31278	return s.String()
31279}
31280
31281// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
31282func (s *CreateMembersOutput) SetUnprocessedAccounts(v []*Result) *CreateMembersOutput {
31283	s.UnprocessedAccounts = v
31284	return s
31285}
31286
31287// The list of detected instances of sensitive data.
31288type CustomDataIdentifiersDetections struct {
31289	_ struct{} `type:"structure"`
31290
31291	// The ARN of the custom identifier that was used to detect the sensitive data.
31292	Arn *string `type:"string"`
31293
31294	// The total number of occurrences of sensitive data that were detected.
31295	Count *int64 `type:"long"`
31296
31297	// he name of the custom identifier that detected the sensitive data.
31298	Name *string `type:"string"`
31299
31300	// Details about the sensitive data that was detected.
31301	Occurrences *Occurrences `type:"structure"`
31302}
31303
31304// String returns the string representation.
31305//
31306// API parameter values that are decorated as "sensitive" in the API will not
31307// be included in the string output. The member name will be present, but the
31308// value will be replaced with "sensitive".
31309func (s CustomDataIdentifiersDetections) String() string {
31310	return awsutil.Prettify(s)
31311}
31312
31313// GoString returns the string representation.
31314//
31315// API parameter values that are decorated as "sensitive" in the API will not
31316// be included in the string output. The member name will be present, but the
31317// value will be replaced with "sensitive".
31318func (s CustomDataIdentifiersDetections) GoString() string {
31319	return s.String()
31320}
31321
31322// SetArn sets the Arn field's value.
31323func (s *CustomDataIdentifiersDetections) SetArn(v string) *CustomDataIdentifiersDetections {
31324	s.Arn = &v
31325	return s
31326}
31327
31328// SetCount sets the Count field's value.
31329func (s *CustomDataIdentifiersDetections) SetCount(v int64) *CustomDataIdentifiersDetections {
31330	s.Count = &v
31331	return s
31332}
31333
31334// SetName sets the Name field's value.
31335func (s *CustomDataIdentifiersDetections) SetName(v string) *CustomDataIdentifiersDetections {
31336	s.Name = &v
31337	return s
31338}
31339
31340// SetOccurrences sets the Occurrences field's value.
31341func (s *CustomDataIdentifiersDetections) SetOccurrences(v *Occurrences) *CustomDataIdentifiersDetections {
31342	s.Occurrences = v
31343	return s
31344}
31345
31346// Contains an instance of sensitive data that was detected by a customer-defined
31347// identifier.
31348type CustomDataIdentifiersResult struct {
31349	_ struct{} `type:"structure"`
31350
31351	// The list of detected instances of sensitive data.
31352	Detections []*CustomDataIdentifiersDetections `type:"list"`
31353
31354	// The total number of occurrences of sensitive data.
31355	TotalCount *int64 `type:"long"`
31356}
31357
31358// String returns the string representation.
31359//
31360// API parameter values that are decorated as "sensitive" in the API will not
31361// be included in the string output. The member name will be present, but the
31362// value will be replaced with "sensitive".
31363func (s CustomDataIdentifiersResult) String() string {
31364	return awsutil.Prettify(s)
31365}
31366
31367// GoString returns the string representation.
31368//
31369// API parameter values that are decorated as "sensitive" in the API will not
31370// be included in the string output. The member name will be present, but the
31371// value will be replaced with "sensitive".
31372func (s CustomDataIdentifiersResult) GoString() string {
31373	return s.String()
31374}
31375
31376// SetDetections sets the Detections field's value.
31377func (s *CustomDataIdentifiersResult) SetDetections(v []*CustomDataIdentifiersDetections) *CustomDataIdentifiersResult {
31378	s.Detections = v
31379	return s
31380}
31381
31382// SetTotalCount sets the TotalCount field's value.
31383func (s *CustomDataIdentifiersResult) SetTotalCount(v int64) *CustomDataIdentifiersResult {
31384	s.TotalCount = &v
31385	return s
31386}
31387
31388// CVSS scores from the advisory related to the vulnerability.
31389type Cvss struct {
31390	_ struct{} `type:"structure"`
31391
31392	// Adjustments to the CVSS metrics.
31393	Adjustments []*Adjustment `type:"list"`
31394
31395	// The base CVSS score.
31396	BaseScore *float64 `type:"double"`
31397
31398	// The base scoring vector for the CVSS score.
31399	BaseVector *string `type:"string"`
31400
31401	// The origin of the original CVSS score and vector.
31402	Source *string `type:"string"`
31403
31404	// The version of CVSS for the CVSS score.
31405	Version *string `type:"string"`
31406}
31407
31408// String returns the string representation.
31409//
31410// API parameter values that are decorated as "sensitive" in the API will not
31411// be included in the string output. The member name will be present, but the
31412// value will be replaced with "sensitive".
31413func (s Cvss) String() string {
31414	return awsutil.Prettify(s)
31415}
31416
31417// GoString returns the string representation.
31418//
31419// API parameter values that are decorated as "sensitive" in the API will not
31420// be included in the string output. The member name will be present, but the
31421// value will be replaced with "sensitive".
31422func (s Cvss) GoString() string {
31423	return s.String()
31424}
31425
31426// SetAdjustments sets the Adjustments field's value.
31427func (s *Cvss) SetAdjustments(v []*Adjustment) *Cvss {
31428	s.Adjustments = v
31429	return s
31430}
31431
31432// SetBaseScore sets the BaseScore field's value.
31433func (s *Cvss) SetBaseScore(v float64) *Cvss {
31434	s.BaseScore = &v
31435	return s
31436}
31437
31438// SetBaseVector sets the BaseVector field's value.
31439func (s *Cvss) SetBaseVector(v string) *Cvss {
31440	s.BaseVector = &v
31441	return s
31442}
31443
31444// SetSource sets the Source field's value.
31445func (s *Cvss) SetSource(v string) *Cvss {
31446	s.Source = &v
31447	return s
31448}
31449
31450// SetVersion sets the Version field's value.
31451func (s *Cvss) SetVersion(v string) *Cvss {
31452	s.Version = &v
31453	return s
31454}
31455
31456// Provides details about sensitive data that was detected on a resource.
31457type DataClassificationDetails struct {
31458	_ struct{} `type:"structure"`
31459
31460	// The path to the folder or file that contains the sensitive data.
31461	DetailedResultsLocation *string `type:"string"`
31462
31463	// The details about the sensitive data that was detected on the resource.
31464	Result *ClassificationResult `type:"structure"`
31465}
31466
31467// String returns the string representation.
31468//
31469// API parameter values that are decorated as "sensitive" in the API will not
31470// be included in the string output. The member name will be present, but the
31471// value will be replaced with "sensitive".
31472func (s DataClassificationDetails) String() string {
31473	return awsutil.Prettify(s)
31474}
31475
31476// GoString returns the string representation.
31477//
31478// API parameter values that are decorated as "sensitive" in the API will not
31479// be included in the string output. The member name will be present, but the
31480// value will be replaced with "sensitive".
31481func (s DataClassificationDetails) GoString() string {
31482	return s.String()
31483}
31484
31485// SetDetailedResultsLocation sets the DetailedResultsLocation field's value.
31486func (s *DataClassificationDetails) SetDetailedResultsLocation(v string) *DataClassificationDetails {
31487	s.DetailedResultsLocation = &v
31488	return s
31489}
31490
31491// SetResult sets the Result field's value.
31492func (s *DataClassificationDetails) SetResult(v *ClassificationResult) *DataClassificationDetails {
31493	s.Result = v
31494	return s
31495}
31496
31497// A date filter for querying findings.
31498type DateFilter struct {
31499	_ struct{} `type:"structure"`
31500
31501	// A date range for the date filter.
31502	DateRange *DateRange `type:"structure"`
31503
31504	// An end date for the date filter.
31505	End *string `type:"string"`
31506
31507	// A start date for the date filter.
31508	Start *string `type:"string"`
31509}
31510
31511// String returns the string representation.
31512//
31513// API parameter values that are decorated as "sensitive" in the API will not
31514// be included in the string output. The member name will be present, but the
31515// value will be replaced with "sensitive".
31516func (s DateFilter) String() string {
31517	return awsutil.Prettify(s)
31518}
31519
31520// GoString returns the string representation.
31521//
31522// API parameter values that are decorated as "sensitive" in the API will not
31523// be included in the string output. The member name will be present, but the
31524// value will be replaced with "sensitive".
31525func (s DateFilter) GoString() string {
31526	return s.String()
31527}
31528
31529// SetDateRange sets the DateRange field's value.
31530func (s *DateFilter) SetDateRange(v *DateRange) *DateFilter {
31531	s.DateRange = v
31532	return s
31533}
31534
31535// SetEnd sets the End field's value.
31536func (s *DateFilter) SetEnd(v string) *DateFilter {
31537	s.End = &v
31538	return s
31539}
31540
31541// SetStart sets the Start field's value.
31542func (s *DateFilter) SetStart(v string) *DateFilter {
31543	s.Start = &v
31544	return s
31545}
31546
31547// A date range for the date filter.
31548type DateRange struct {
31549	_ struct{} `type:"structure"`
31550
31551	// A date range unit for the date filter.
31552	Unit *string `type:"string" enum:"DateRangeUnit"`
31553
31554	// A date range value for the date filter.
31555	Value *int64 `type:"integer"`
31556}
31557
31558// String returns the string representation.
31559//
31560// API parameter values that are decorated as "sensitive" in the API will not
31561// be included in the string output. The member name will be present, but the
31562// value will be replaced with "sensitive".
31563func (s DateRange) String() string {
31564	return awsutil.Prettify(s)
31565}
31566
31567// GoString returns the string representation.
31568//
31569// API parameter values that are decorated as "sensitive" in the API will not
31570// be included in the string output. The member name will be present, but the
31571// value will be replaced with "sensitive".
31572func (s DateRange) GoString() string {
31573	return s.String()
31574}
31575
31576// SetUnit sets the Unit field's value.
31577func (s *DateRange) SetUnit(v string) *DateRange {
31578	s.Unit = &v
31579	return s
31580}
31581
31582// SetValue sets the Value field's value.
31583func (s *DateRange) SetValue(v int64) *DateRange {
31584	s.Value = &v
31585	return s
31586}
31587
31588type DeclineInvitationsInput struct {
31589	_ struct{} `type:"structure"`
31590
31591	// The list of account IDs for the accounts from which to decline the invitations
31592	// to Security Hub.
31593	//
31594	// AccountIds is a required field
31595	AccountIds []*string `type:"list" required:"true"`
31596}
31597
31598// String returns the string representation.
31599//
31600// API parameter values that are decorated as "sensitive" in the API will not
31601// be included in the string output. The member name will be present, but the
31602// value will be replaced with "sensitive".
31603func (s DeclineInvitationsInput) String() string {
31604	return awsutil.Prettify(s)
31605}
31606
31607// GoString returns the string representation.
31608//
31609// API parameter values that are decorated as "sensitive" in the API will not
31610// be included in the string output. The member name will be present, but the
31611// value will be replaced with "sensitive".
31612func (s DeclineInvitationsInput) GoString() string {
31613	return s.String()
31614}
31615
31616// Validate inspects the fields of the type to determine if they are valid.
31617func (s *DeclineInvitationsInput) Validate() error {
31618	invalidParams := request.ErrInvalidParams{Context: "DeclineInvitationsInput"}
31619	if s.AccountIds == nil {
31620		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
31621	}
31622
31623	if invalidParams.Len() > 0 {
31624		return invalidParams
31625	}
31626	return nil
31627}
31628
31629// SetAccountIds sets the AccountIds field's value.
31630func (s *DeclineInvitationsInput) SetAccountIds(v []*string) *DeclineInvitationsInput {
31631	s.AccountIds = v
31632	return s
31633}
31634
31635type DeclineInvitationsOutput struct {
31636	_ struct{} `type:"structure"`
31637
31638	// The list of Amazon Web Services accounts that were not processed. For each
31639	// account, the list includes the account ID and the email address.
31640	UnprocessedAccounts []*Result `type:"list"`
31641}
31642
31643// String returns the string representation.
31644//
31645// API parameter values that are decorated as "sensitive" in the API will not
31646// be included in the string output. The member name will be present, but the
31647// value will be replaced with "sensitive".
31648func (s DeclineInvitationsOutput) String() string {
31649	return awsutil.Prettify(s)
31650}
31651
31652// GoString returns the string representation.
31653//
31654// API parameter values that are decorated as "sensitive" in the API will not
31655// be included in the string output. The member name will be present, but the
31656// value will be replaced with "sensitive".
31657func (s DeclineInvitationsOutput) GoString() string {
31658	return s.String()
31659}
31660
31661// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
31662func (s *DeclineInvitationsOutput) SetUnprocessedAccounts(v []*Result) *DeclineInvitationsOutput {
31663	s.UnprocessedAccounts = v
31664	return s
31665}
31666
31667type DeleteActionTargetInput struct {
31668	_ struct{} `type:"structure" nopayload:"true"`
31669
31670	// The ARN of the custom action target to delete.
31671	//
31672	// ActionTargetArn is a required field
31673	ActionTargetArn *string `location:"uri" locationName:"ActionTargetArn" type:"string" required:"true"`
31674}
31675
31676// String returns the string representation.
31677//
31678// API parameter values that are decorated as "sensitive" in the API will not
31679// be included in the string output. The member name will be present, but the
31680// value will be replaced with "sensitive".
31681func (s DeleteActionTargetInput) String() string {
31682	return awsutil.Prettify(s)
31683}
31684
31685// GoString returns the string representation.
31686//
31687// API parameter values that are decorated as "sensitive" in the API will not
31688// be included in the string output. The member name will be present, but the
31689// value will be replaced with "sensitive".
31690func (s DeleteActionTargetInput) GoString() string {
31691	return s.String()
31692}
31693
31694// Validate inspects the fields of the type to determine if they are valid.
31695func (s *DeleteActionTargetInput) Validate() error {
31696	invalidParams := request.ErrInvalidParams{Context: "DeleteActionTargetInput"}
31697	if s.ActionTargetArn == nil {
31698		invalidParams.Add(request.NewErrParamRequired("ActionTargetArn"))
31699	}
31700	if s.ActionTargetArn != nil && len(*s.ActionTargetArn) < 1 {
31701		invalidParams.Add(request.NewErrParamMinLen("ActionTargetArn", 1))
31702	}
31703
31704	if invalidParams.Len() > 0 {
31705		return invalidParams
31706	}
31707	return nil
31708}
31709
31710// SetActionTargetArn sets the ActionTargetArn field's value.
31711func (s *DeleteActionTargetInput) SetActionTargetArn(v string) *DeleteActionTargetInput {
31712	s.ActionTargetArn = &v
31713	return s
31714}
31715
31716type DeleteActionTargetOutput struct {
31717	_ struct{} `type:"structure"`
31718
31719	// The ARN of the custom action target that was deleted.
31720	//
31721	// ActionTargetArn is a required field
31722	ActionTargetArn *string `type:"string" required:"true"`
31723}
31724
31725// String returns the string representation.
31726//
31727// API parameter values that are decorated as "sensitive" in the API will not
31728// be included in the string output. The member name will be present, but the
31729// value will be replaced with "sensitive".
31730func (s DeleteActionTargetOutput) String() string {
31731	return awsutil.Prettify(s)
31732}
31733
31734// GoString returns the string representation.
31735//
31736// API parameter values that are decorated as "sensitive" in the API will not
31737// be included in the string output. The member name will be present, but the
31738// value will be replaced with "sensitive".
31739func (s DeleteActionTargetOutput) GoString() string {
31740	return s.String()
31741}
31742
31743// SetActionTargetArn sets the ActionTargetArn field's value.
31744func (s *DeleteActionTargetOutput) SetActionTargetArn(v string) *DeleteActionTargetOutput {
31745	s.ActionTargetArn = &v
31746	return s
31747}
31748
31749type DeleteFindingAggregatorInput struct {
31750	_ struct{} `type:"structure" nopayload:"true"`
31751
31752	// The ARN of the finding aggregator to delete. To obtain the ARN, use ListFindingAggregators.
31753	//
31754	// FindingAggregatorArn is a required field
31755	FindingAggregatorArn *string `location:"uri" locationName:"FindingAggregatorArn" type:"string" required:"true"`
31756}
31757
31758// String returns the string representation.
31759//
31760// API parameter values that are decorated as "sensitive" in the API will not
31761// be included in the string output. The member name will be present, but the
31762// value will be replaced with "sensitive".
31763func (s DeleteFindingAggregatorInput) String() string {
31764	return awsutil.Prettify(s)
31765}
31766
31767// GoString returns the string representation.
31768//
31769// API parameter values that are decorated as "sensitive" in the API will not
31770// be included in the string output. The member name will be present, but the
31771// value will be replaced with "sensitive".
31772func (s DeleteFindingAggregatorInput) GoString() string {
31773	return s.String()
31774}
31775
31776// Validate inspects the fields of the type to determine if they are valid.
31777func (s *DeleteFindingAggregatorInput) Validate() error {
31778	invalidParams := request.ErrInvalidParams{Context: "DeleteFindingAggregatorInput"}
31779	if s.FindingAggregatorArn == nil {
31780		invalidParams.Add(request.NewErrParamRequired("FindingAggregatorArn"))
31781	}
31782	if s.FindingAggregatorArn != nil && len(*s.FindingAggregatorArn) < 1 {
31783		invalidParams.Add(request.NewErrParamMinLen("FindingAggregatorArn", 1))
31784	}
31785
31786	if invalidParams.Len() > 0 {
31787		return invalidParams
31788	}
31789	return nil
31790}
31791
31792// SetFindingAggregatorArn sets the FindingAggregatorArn field's value.
31793func (s *DeleteFindingAggregatorInput) SetFindingAggregatorArn(v string) *DeleteFindingAggregatorInput {
31794	s.FindingAggregatorArn = &v
31795	return s
31796}
31797
31798type DeleteFindingAggregatorOutput struct {
31799	_ struct{} `type:"structure"`
31800}
31801
31802// String returns the string representation.
31803//
31804// API parameter values that are decorated as "sensitive" in the API will not
31805// be included in the string output. The member name will be present, but the
31806// value will be replaced with "sensitive".
31807func (s DeleteFindingAggregatorOutput) String() string {
31808	return awsutil.Prettify(s)
31809}
31810
31811// GoString returns the string representation.
31812//
31813// API parameter values that are decorated as "sensitive" in the API will not
31814// be included in the string output. The member name will be present, but the
31815// value will be replaced with "sensitive".
31816func (s DeleteFindingAggregatorOutput) GoString() string {
31817	return s.String()
31818}
31819
31820type DeleteInsightInput struct {
31821	_ struct{} `type:"structure" nopayload:"true"`
31822
31823	// The ARN of the insight to delete.
31824	//
31825	// InsightArn is a required field
31826	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
31827}
31828
31829// String returns the string representation.
31830//
31831// API parameter values that are decorated as "sensitive" in the API will not
31832// be included in the string output. The member name will be present, but the
31833// value will be replaced with "sensitive".
31834func (s DeleteInsightInput) String() string {
31835	return awsutil.Prettify(s)
31836}
31837
31838// GoString returns the string representation.
31839//
31840// API parameter values that are decorated as "sensitive" in the API will not
31841// be included in the string output. The member name will be present, but the
31842// value will be replaced with "sensitive".
31843func (s DeleteInsightInput) GoString() string {
31844	return s.String()
31845}
31846
31847// Validate inspects the fields of the type to determine if they are valid.
31848func (s *DeleteInsightInput) Validate() error {
31849	invalidParams := request.ErrInvalidParams{Context: "DeleteInsightInput"}
31850	if s.InsightArn == nil {
31851		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
31852	}
31853	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
31854		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
31855	}
31856
31857	if invalidParams.Len() > 0 {
31858		return invalidParams
31859	}
31860	return nil
31861}
31862
31863// SetInsightArn sets the InsightArn field's value.
31864func (s *DeleteInsightInput) SetInsightArn(v string) *DeleteInsightInput {
31865	s.InsightArn = &v
31866	return s
31867}
31868
31869type DeleteInsightOutput struct {
31870	_ struct{} `type:"structure"`
31871
31872	// The ARN of the insight that was deleted.
31873	//
31874	// InsightArn is a required field
31875	InsightArn *string `type:"string" required:"true"`
31876}
31877
31878// String returns the string representation.
31879//
31880// API parameter values that are decorated as "sensitive" in the API will not
31881// be included in the string output. The member name will be present, but the
31882// value will be replaced with "sensitive".
31883func (s DeleteInsightOutput) String() string {
31884	return awsutil.Prettify(s)
31885}
31886
31887// GoString returns the string representation.
31888//
31889// API parameter values that are decorated as "sensitive" in the API will not
31890// be included in the string output. The member name will be present, but the
31891// value will be replaced with "sensitive".
31892func (s DeleteInsightOutput) GoString() string {
31893	return s.String()
31894}
31895
31896// SetInsightArn sets the InsightArn field's value.
31897func (s *DeleteInsightOutput) SetInsightArn(v string) *DeleteInsightOutput {
31898	s.InsightArn = &v
31899	return s
31900}
31901
31902type DeleteInvitationsInput struct {
31903	_ struct{} `type:"structure"`
31904
31905	// The list of the account IDs that sent the invitations to delete.
31906	//
31907	// AccountIds is a required field
31908	AccountIds []*string `type:"list" required:"true"`
31909}
31910
31911// String returns the string representation.
31912//
31913// API parameter values that are decorated as "sensitive" in the API will not
31914// be included in the string output. The member name will be present, but the
31915// value will be replaced with "sensitive".
31916func (s DeleteInvitationsInput) String() string {
31917	return awsutil.Prettify(s)
31918}
31919
31920// GoString returns the string representation.
31921//
31922// API parameter values that are decorated as "sensitive" in the API will not
31923// be included in the string output. The member name will be present, but the
31924// value will be replaced with "sensitive".
31925func (s DeleteInvitationsInput) GoString() string {
31926	return s.String()
31927}
31928
31929// Validate inspects the fields of the type to determine if they are valid.
31930func (s *DeleteInvitationsInput) Validate() error {
31931	invalidParams := request.ErrInvalidParams{Context: "DeleteInvitationsInput"}
31932	if s.AccountIds == nil {
31933		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
31934	}
31935
31936	if invalidParams.Len() > 0 {
31937		return invalidParams
31938	}
31939	return nil
31940}
31941
31942// SetAccountIds sets the AccountIds field's value.
31943func (s *DeleteInvitationsInput) SetAccountIds(v []*string) *DeleteInvitationsInput {
31944	s.AccountIds = v
31945	return s
31946}
31947
31948type DeleteInvitationsOutput struct {
31949	_ struct{} `type:"structure"`
31950
31951	// The list of Amazon Web Services accounts for which the invitations were not
31952	// deleted. For each account, the list includes the account ID and the email
31953	// address.
31954	UnprocessedAccounts []*Result `type:"list"`
31955}
31956
31957// String returns the string representation.
31958//
31959// API parameter values that are decorated as "sensitive" in the API will not
31960// be included in the string output. The member name will be present, but the
31961// value will be replaced with "sensitive".
31962func (s DeleteInvitationsOutput) String() string {
31963	return awsutil.Prettify(s)
31964}
31965
31966// GoString returns the string representation.
31967//
31968// API parameter values that are decorated as "sensitive" in the API will not
31969// be included in the string output. The member name will be present, but the
31970// value will be replaced with "sensitive".
31971func (s DeleteInvitationsOutput) GoString() string {
31972	return s.String()
31973}
31974
31975// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
31976func (s *DeleteInvitationsOutput) SetUnprocessedAccounts(v []*Result) *DeleteInvitationsOutput {
31977	s.UnprocessedAccounts = v
31978	return s
31979}
31980
31981type DeleteMembersInput struct {
31982	_ struct{} `type:"structure"`
31983
31984	// The list of account IDs for the member accounts to delete.
31985	//
31986	// AccountIds is a required field
31987	AccountIds []*string `type:"list" required:"true"`
31988}
31989
31990// String returns the string representation.
31991//
31992// API parameter values that are decorated as "sensitive" in the API will not
31993// be included in the string output. The member name will be present, but the
31994// value will be replaced with "sensitive".
31995func (s DeleteMembersInput) String() string {
31996	return awsutil.Prettify(s)
31997}
31998
31999// GoString returns the string representation.
32000//
32001// API parameter values that are decorated as "sensitive" in the API will not
32002// be included in the string output. The member name will be present, but the
32003// value will be replaced with "sensitive".
32004func (s DeleteMembersInput) GoString() string {
32005	return s.String()
32006}
32007
32008// Validate inspects the fields of the type to determine if they are valid.
32009func (s *DeleteMembersInput) Validate() error {
32010	invalidParams := request.ErrInvalidParams{Context: "DeleteMembersInput"}
32011	if s.AccountIds == nil {
32012		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
32013	}
32014
32015	if invalidParams.Len() > 0 {
32016		return invalidParams
32017	}
32018	return nil
32019}
32020
32021// SetAccountIds sets the AccountIds field's value.
32022func (s *DeleteMembersInput) SetAccountIds(v []*string) *DeleteMembersInput {
32023	s.AccountIds = v
32024	return s
32025}
32026
32027type DeleteMembersOutput struct {
32028	_ struct{} `type:"structure"`
32029
32030	// The list of Amazon Web Services accounts that were not deleted. For each
32031	// account, the list includes the account ID and the email address.
32032	UnprocessedAccounts []*Result `type:"list"`
32033}
32034
32035// String returns the string representation.
32036//
32037// API parameter values that are decorated as "sensitive" in the API will not
32038// be included in the string output. The member name will be present, but the
32039// value will be replaced with "sensitive".
32040func (s DeleteMembersOutput) String() string {
32041	return awsutil.Prettify(s)
32042}
32043
32044// GoString returns the string representation.
32045//
32046// API parameter values that are decorated as "sensitive" in the API will not
32047// be included in the string output. The member name will be present, but the
32048// value will be replaced with "sensitive".
32049func (s DeleteMembersOutput) GoString() string {
32050	return s.String()
32051}
32052
32053// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
32054func (s *DeleteMembersOutput) SetUnprocessedAccounts(v []*Result) *DeleteMembersOutput {
32055	s.UnprocessedAccounts = v
32056	return s
32057}
32058
32059type DescribeActionTargetsInput struct {
32060	_ struct{} `type:"structure"`
32061
32062	// A list of custom action target ARNs for the custom action targets to retrieve.
32063	ActionTargetArns []*string `type:"list"`
32064
32065	// The maximum number of results to return.
32066	MaxResults *int64 `min:"1" type:"integer"`
32067
32068	// The token that is required for pagination. On your first call to the DescribeActionTargets
32069	// operation, set the value of this parameter to NULL.
32070	//
32071	// For subsequent calls to the operation, to continue listing data, set the
32072	// value of this parameter to the value returned from the previous response.
32073	NextToken *string `type:"string"`
32074}
32075
32076// String returns the string representation.
32077//
32078// API parameter values that are decorated as "sensitive" in the API will not
32079// be included in the string output. The member name will be present, but the
32080// value will be replaced with "sensitive".
32081func (s DescribeActionTargetsInput) String() string {
32082	return awsutil.Prettify(s)
32083}
32084
32085// GoString returns the string representation.
32086//
32087// API parameter values that are decorated as "sensitive" in the API will not
32088// be included in the string output. The member name will be present, but the
32089// value will be replaced with "sensitive".
32090func (s DescribeActionTargetsInput) GoString() string {
32091	return s.String()
32092}
32093
32094// Validate inspects the fields of the type to determine if they are valid.
32095func (s *DescribeActionTargetsInput) Validate() error {
32096	invalidParams := request.ErrInvalidParams{Context: "DescribeActionTargetsInput"}
32097	if s.MaxResults != nil && *s.MaxResults < 1 {
32098		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
32099	}
32100
32101	if invalidParams.Len() > 0 {
32102		return invalidParams
32103	}
32104	return nil
32105}
32106
32107// SetActionTargetArns sets the ActionTargetArns field's value.
32108func (s *DescribeActionTargetsInput) SetActionTargetArns(v []*string) *DescribeActionTargetsInput {
32109	s.ActionTargetArns = v
32110	return s
32111}
32112
32113// SetMaxResults sets the MaxResults field's value.
32114func (s *DescribeActionTargetsInput) SetMaxResults(v int64) *DescribeActionTargetsInput {
32115	s.MaxResults = &v
32116	return s
32117}
32118
32119// SetNextToken sets the NextToken field's value.
32120func (s *DescribeActionTargetsInput) SetNextToken(v string) *DescribeActionTargetsInput {
32121	s.NextToken = &v
32122	return s
32123}
32124
32125type DescribeActionTargetsOutput struct {
32126	_ struct{} `type:"structure"`
32127
32128	// A list of ActionTarget objects. Each object includes the ActionTargetArn,
32129	// Description, and Name of a custom action target available in Security Hub.
32130	//
32131	// ActionTargets is a required field
32132	ActionTargets []*ActionTarget `type:"list" required:"true"`
32133
32134	// The pagination token to use to request the next page of results.
32135	NextToken *string `type:"string"`
32136}
32137
32138// String returns the string representation.
32139//
32140// API parameter values that are decorated as "sensitive" in the API will not
32141// be included in the string output. The member name will be present, but the
32142// value will be replaced with "sensitive".
32143func (s DescribeActionTargetsOutput) String() string {
32144	return awsutil.Prettify(s)
32145}
32146
32147// GoString returns the string representation.
32148//
32149// API parameter values that are decorated as "sensitive" in the API will not
32150// be included in the string output. The member name will be present, but the
32151// value will be replaced with "sensitive".
32152func (s DescribeActionTargetsOutput) GoString() string {
32153	return s.String()
32154}
32155
32156// SetActionTargets sets the ActionTargets field's value.
32157func (s *DescribeActionTargetsOutput) SetActionTargets(v []*ActionTarget) *DescribeActionTargetsOutput {
32158	s.ActionTargets = v
32159	return s
32160}
32161
32162// SetNextToken sets the NextToken field's value.
32163func (s *DescribeActionTargetsOutput) SetNextToken(v string) *DescribeActionTargetsOutput {
32164	s.NextToken = &v
32165	return s
32166}
32167
32168type DescribeHubInput struct {
32169	_ struct{} `type:"structure" nopayload:"true"`
32170
32171	// The ARN of the Hub resource to retrieve.
32172	HubArn *string `location:"querystring" locationName:"HubArn" type:"string"`
32173}
32174
32175// String returns the string representation.
32176//
32177// API parameter values that are decorated as "sensitive" in the API will not
32178// be included in the string output. The member name will be present, but the
32179// value will be replaced with "sensitive".
32180func (s DescribeHubInput) String() string {
32181	return awsutil.Prettify(s)
32182}
32183
32184// GoString returns the string representation.
32185//
32186// API parameter values that are decorated as "sensitive" in the API will not
32187// be included in the string output. The member name will be present, but the
32188// value will be replaced with "sensitive".
32189func (s DescribeHubInput) GoString() string {
32190	return s.String()
32191}
32192
32193// SetHubArn sets the HubArn field's value.
32194func (s *DescribeHubInput) SetHubArn(v string) *DescribeHubInput {
32195	s.HubArn = &v
32196	return s
32197}
32198
32199type DescribeHubOutput struct {
32200	_ struct{} `type:"structure"`
32201
32202	// Whether to automatically enable new controls when they are added to standards
32203	// that are enabled.
32204	//
32205	// If set to true, then new controls for enabled standards are enabled automatically.
32206	// If set to false, then new controls are not enabled.
32207	AutoEnableControls *bool `type:"boolean"`
32208
32209	// The ARN of the Hub resource that was retrieved.
32210	HubArn *string `type:"string"`
32211
32212	// The date and time when Security Hub was enabled in the account.
32213	SubscribedAt *string `type:"string"`
32214}
32215
32216// String returns the string representation.
32217//
32218// API parameter values that are decorated as "sensitive" in the API will not
32219// be included in the string output. The member name will be present, but the
32220// value will be replaced with "sensitive".
32221func (s DescribeHubOutput) String() string {
32222	return awsutil.Prettify(s)
32223}
32224
32225// GoString returns the string representation.
32226//
32227// API parameter values that are decorated as "sensitive" in the API will not
32228// be included in the string output. The member name will be present, but the
32229// value will be replaced with "sensitive".
32230func (s DescribeHubOutput) GoString() string {
32231	return s.String()
32232}
32233
32234// SetAutoEnableControls sets the AutoEnableControls field's value.
32235func (s *DescribeHubOutput) SetAutoEnableControls(v bool) *DescribeHubOutput {
32236	s.AutoEnableControls = &v
32237	return s
32238}
32239
32240// SetHubArn sets the HubArn field's value.
32241func (s *DescribeHubOutput) SetHubArn(v string) *DescribeHubOutput {
32242	s.HubArn = &v
32243	return s
32244}
32245
32246// SetSubscribedAt sets the SubscribedAt field's value.
32247func (s *DescribeHubOutput) SetSubscribedAt(v string) *DescribeHubOutput {
32248	s.SubscribedAt = &v
32249	return s
32250}
32251
32252type DescribeOrganizationConfigurationInput struct {
32253	_ struct{} `type:"structure" nopayload:"true"`
32254}
32255
32256// String returns the string representation.
32257//
32258// API parameter values that are decorated as "sensitive" in the API will not
32259// be included in the string output. The member name will be present, but the
32260// value will be replaced with "sensitive".
32261func (s DescribeOrganizationConfigurationInput) String() string {
32262	return awsutil.Prettify(s)
32263}
32264
32265// GoString returns the string representation.
32266//
32267// API parameter values that are decorated as "sensitive" in the API will not
32268// be included in the string output. The member name will be present, but the
32269// value will be replaced with "sensitive".
32270func (s DescribeOrganizationConfigurationInput) GoString() string {
32271	return s.String()
32272}
32273
32274type DescribeOrganizationConfigurationOutput struct {
32275	_ struct{} `type:"structure"`
32276
32277	// Whether to automatically enable Security Hub for new accounts in the organization.
32278	//
32279	// If set to true, then Security Hub is enabled for new accounts. If set to
32280	// false, then new accounts are not added automatically.
32281	AutoEnable *bool `type:"boolean"`
32282
32283	// Whether the maximum number of allowed member accounts are already associated
32284	// with the Security Hub administrator account.
32285	MemberAccountLimitReached *bool `type:"boolean"`
32286}
32287
32288// String returns the string representation.
32289//
32290// API parameter values that are decorated as "sensitive" in the API will not
32291// be included in the string output. The member name will be present, but the
32292// value will be replaced with "sensitive".
32293func (s DescribeOrganizationConfigurationOutput) String() string {
32294	return awsutil.Prettify(s)
32295}
32296
32297// GoString returns the string representation.
32298//
32299// API parameter values that are decorated as "sensitive" in the API will not
32300// be included in the string output. The member name will be present, but the
32301// value will be replaced with "sensitive".
32302func (s DescribeOrganizationConfigurationOutput) GoString() string {
32303	return s.String()
32304}
32305
32306// SetAutoEnable sets the AutoEnable field's value.
32307func (s *DescribeOrganizationConfigurationOutput) SetAutoEnable(v bool) *DescribeOrganizationConfigurationOutput {
32308	s.AutoEnable = &v
32309	return s
32310}
32311
32312// SetMemberAccountLimitReached sets the MemberAccountLimitReached field's value.
32313func (s *DescribeOrganizationConfigurationOutput) SetMemberAccountLimitReached(v bool) *DescribeOrganizationConfigurationOutput {
32314	s.MemberAccountLimitReached = &v
32315	return s
32316}
32317
32318type DescribeProductsInput struct {
32319	_ struct{} `type:"structure" nopayload:"true"`
32320
32321	// The maximum number of results to return.
32322	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
32323
32324	// The token that is required for pagination. On your first call to the DescribeProducts
32325	// operation, set the value of this parameter to NULL.
32326	//
32327	// For subsequent calls to the operation, to continue listing data, set the
32328	// value of this parameter to the value returned from the previous response.
32329	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
32330
32331	// The ARN of the integration to return.
32332	ProductArn *string `location:"querystring" locationName:"ProductArn" type:"string"`
32333}
32334
32335// String returns the string representation.
32336//
32337// API parameter values that are decorated as "sensitive" in the API will not
32338// be included in the string output. The member name will be present, but the
32339// value will be replaced with "sensitive".
32340func (s DescribeProductsInput) String() string {
32341	return awsutil.Prettify(s)
32342}
32343
32344// GoString returns the string representation.
32345//
32346// API parameter values that are decorated as "sensitive" in the API will not
32347// be included in the string output. The member name will be present, but the
32348// value will be replaced with "sensitive".
32349func (s DescribeProductsInput) GoString() string {
32350	return s.String()
32351}
32352
32353// Validate inspects the fields of the type to determine if they are valid.
32354func (s *DescribeProductsInput) Validate() error {
32355	invalidParams := request.ErrInvalidParams{Context: "DescribeProductsInput"}
32356	if s.MaxResults != nil && *s.MaxResults < 1 {
32357		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
32358	}
32359
32360	if invalidParams.Len() > 0 {
32361		return invalidParams
32362	}
32363	return nil
32364}
32365
32366// SetMaxResults sets the MaxResults field's value.
32367func (s *DescribeProductsInput) SetMaxResults(v int64) *DescribeProductsInput {
32368	s.MaxResults = &v
32369	return s
32370}
32371
32372// SetNextToken sets the NextToken field's value.
32373func (s *DescribeProductsInput) SetNextToken(v string) *DescribeProductsInput {
32374	s.NextToken = &v
32375	return s
32376}
32377
32378// SetProductArn sets the ProductArn field's value.
32379func (s *DescribeProductsInput) SetProductArn(v string) *DescribeProductsInput {
32380	s.ProductArn = &v
32381	return s
32382}
32383
32384type DescribeProductsOutput struct {
32385	_ struct{} `type:"structure"`
32386
32387	// The pagination token to use to request the next page of results.
32388	NextToken *string `type:"string"`
32389
32390	// A list of products, including details for each product.
32391	//
32392	// Products is a required field
32393	Products []*Product `type:"list" required:"true"`
32394}
32395
32396// String returns the string representation.
32397//
32398// API parameter values that are decorated as "sensitive" in the API will not
32399// be included in the string output. The member name will be present, but the
32400// value will be replaced with "sensitive".
32401func (s DescribeProductsOutput) String() string {
32402	return awsutil.Prettify(s)
32403}
32404
32405// GoString returns the string representation.
32406//
32407// API parameter values that are decorated as "sensitive" in the API will not
32408// be included in the string output. The member name will be present, but the
32409// value will be replaced with "sensitive".
32410func (s DescribeProductsOutput) GoString() string {
32411	return s.String()
32412}
32413
32414// SetNextToken sets the NextToken field's value.
32415func (s *DescribeProductsOutput) SetNextToken(v string) *DescribeProductsOutput {
32416	s.NextToken = &v
32417	return s
32418}
32419
32420// SetProducts sets the Products field's value.
32421func (s *DescribeProductsOutput) SetProducts(v []*Product) *DescribeProductsOutput {
32422	s.Products = v
32423	return s
32424}
32425
32426type DescribeStandardsControlsInput struct {
32427	_ struct{} `type:"structure" nopayload:"true"`
32428
32429	// The maximum number of security standard controls to return.
32430	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
32431
32432	// The token that is required for pagination. On your first call to the DescribeStandardsControls
32433	// operation, set the value of this parameter to NULL.
32434	//
32435	// For subsequent calls to the operation, to continue listing data, set the
32436	// value of this parameter to the value returned from the previous response.
32437	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
32438
32439	// The ARN of a resource that represents your subscription to a supported standard.
32440	// To get the subscription ARNs of the standards you have enabled, use the GetEnabledStandards
32441	// operation.
32442	//
32443	// StandardsSubscriptionArn is a required field
32444	StandardsSubscriptionArn *string `location:"uri" locationName:"StandardsSubscriptionArn" type:"string" required:"true"`
32445}
32446
32447// String returns the string representation.
32448//
32449// API parameter values that are decorated as "sensitive" in the API will not
32450// be included in the string output. The member name will be present, but the
32451// value will be replaced with "sensitive".
32452func (s DescribeStandardsControlsInput) String() string {
32453	return awsutil.Prettify(s)
32454}
32455
32456// GoString returns the string representation.
32457//
32458// API parameter values that are decorated as "sensitive" in the API will not
32459// be included in the string output. The member name will be present, but the
32460// value will be replaced with "sensitive".
32461func (s DescribeStandardsControlsInput) GoString() string {
32462	return s.String()
32463}
32464
32465// Validate inspects the fields of the type to determine if they are valid.
32466func (s *DescribeStandardsControlsInput) Validate() error {
32467	invalidParams := request.ErrInvalidParams{Context: "DescribeStandardsControlsInput"}
32468	if s.MaxResults != nil && *s.MaxResults < 1 {
32469		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
32470	}
32471	if s.StandardsSubscriptionArn == nil {
32472		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionArn"))
32473	}
32474	if s.StandardsSubscriptionArn != nil && len(*s.StandardsSubscriptionArn) < 1 {
32475		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArn", 1))
32476	}
32477
32478	if invalidParams.Len() > 0 {
32479		return invalidParams
32480	}
32481	return nil
32482}
32483
32484// SetMaxResults sets the MaxResults field's value.
32485func (s *DescribeStandardsControlsInput) SetMaxResults(v int64) *DescribeStandardsControlsInput {
32486	s.MaxResults = &v
32487	return s
32488}
32489
32490// SetNextToken sets the NextToken field's value.
32491func (s *DescribeStandardsControlsInput) SetNextToken(v string) *DescribeStandardsControlsInput {
32492	s.NextToken = &v
32493	return s
32494}
32495
32496// SetStandardsSubscriptionArn sets the StandardsSubscriptionArn field's value.
32497func (s *DescribeStandardsControlsInput) SetStandardsSubscriptionArn(v string) *DescribeStandardsControlsInput {
32498	s.StandardsSubscriptionArn = &v
32499	return s
32500}
32501
32502type DescribeStandardsControlsOutput struct {
32503	_ struct{} `type:"structure"`
32504
32505	// A list of security standards controls.
32506	Controls []*StandardsControl `type:"list"`
32507
32508	// The pagination token to use to request the next page of results.
32509	NextToken *string `type:"string"`
32510}
32511
32512// String returns the string representation.
32513//
32514// API parameter values that are decorated as "sensitive" in the API will not
32515// be included in the string output. The member name will be present, but the
32516// value will be replaced with "sensitive".
32517func (s DescribeStandardsControlsOutput) String() string {
32518	return awsutil.Prettify(s)
32519}
32520
32521// GoString returns the string representation.
32522//
32523// API parameter values that are decorated as "sensitive" in the API will not
32524// be included in the string output. The member name will be present, but the
32525// value will be replaced with "sensitive".
32526func (s DescribeStandardsControlsOutput) GoString() string {
32527	return s.String()
32528}
32529
32530// SetControls sets the Controls field's value.
32531func (s *DescribeStandardsControlsOutput) SetControls(v []*StandardsControl) *DescribeStandardsControlsOutput {
32532	s.Controls = v
32533	return s
32534}
32535
32536// SetNextToken sets the NextToken field's value.
32537func (s *DescribeStandardsControlsOutput) SetNextToken(v string) *DescribeStandardsControlsOutput {
32538	s.NextToken = &v
32539	return s
32540}
32541
32542type DescribeStandardsInput struct {
32543	_ struct{} `type:"structure" nopayload:"true"`
32544
32545	// The maximum number of standards to return.
32546	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
32547
32548	// The token that is required for pagination. On your first call to the DescribeStandards
32549	// operation, set the value of this parameter to NULL.
32550	//
32551	// For subsequent calls to the operation, to continue listing data, set the
32552	// value of this parameter to the value returned from the previous response.
32553	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
32554}
32555
32556// String returns the string representation.
32557//
32558// API parameter values that are decorated as "sensitive" in the API will not
32559// be included in the string output. The member name will be present, but the
32560// value will be replaced with "sensitive".
32561func (s DescribeStandardsInput) String() string {
32562	return awsutil.Prettify(s)
32563}
32564
32565// GoString returns the string representation.
32566//
32567// API parameter values that are decorated as "sensitive" in the API will not
32568// be included in the string output. The member name will be present, but the
32569// value will be replaced with "sensitive".
32570func (s DescribeStandardsInput) GoString() string {
32571	return s.String()
32572}
32573
32574// Validate inspects the fields of the type to determine if they are valid.
32575func (s *DescribeStandardsInput) Validate() error {
32576	invalidParams := request.ErrInvalidParams{Context: "DescribeStandardsInput"}
32577	if s.MaxResults != nil && *s.MaxResults < 1 {
32578		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
32579	}
32580
32581	if invalidParams.Len() > 0 {
32582		return invalidParams
32583	}
32584	return nil
32585}
32586
32587// SetMaxResults sets the MaxResults field's value.
32588func (s *DescribeStandardsInput) SetMaxResults(v int64) *DescribeStandardsInput {
32589	s.MaxResults = &v
32590	return s
32591}
32592
32593// SetNextToken sets the NextToken field's value.
32594func (s *DescribeStandardsInput) SetNextToken(v string) *DescribeStandardsInput {
32595	s.NextToken = &v
32596	return s
32597}
32598
32599type DescribeStandardsOutput struct {
32600	_ struct{} `type:"structure"`
32601
32602	// The pagination token to use to request the next page of results.
32603	NextToken *string `type:"string"`
32604
32605	// A list of available standards.
32606	Standards []*Standard `type:"list"`
32607}
32608
32609// String returns the string representation.
32610//
32611// API parameter values that are decorated as "sensitive" in the API will not
32612// be included in the string output. The member name will be present, but the
32613// value will be replaced with "sensitive".
32614func (s DescribeStandardsOutput) String() string {
32615	return awsutil.Prettify(s)
32616}
32617
32618// GoString returns the string representation.
32619//
32620// API parameter values that are decorated as "sensitive" in the API will not
32621// be included in the string output. The member name will be present, but the
32622// value will be replaced with "sensitive".
32623func (s DescribeStandardsOutput) GoString() string {
32624	return s.String()
32625}
32626
32627// SetNextToken sets the NextToken field's value.
32628func (s *DescribeStandardsOutput) SetNextToken(v string) *DescribeStandardsOutput {
32629	s.NextToken = &v
32630	return s
32631}
32632
32633// SetStandards sets the Standards field's value.
32634func (s *DescribeStandardsOutput) SetStandards(v []*Standard) *DescribeStandardsOutput {
32635	s.Standards = v
32636	return s
32637}
32638
32639type DisableImportFindingsForProductInput struct {
32640	_ struct{} `type:"structure" nopayload:"true"`
32641
32642	// The ARN of the integrated product to disable the integration for.
32643	//
32644	// ProductSubscriptionArn is a required field
32645	ProductSubscriptionArn *string `location:"uri" locationName:"ProductSubscriptionArn" type:"string" required:"true"`
32646}
32647
32648// String returns the string representation.
32649//
32650// API parameter values that are decorated as "sensitive" in the API will not
32651// be included in the string output. The member name will be present, but the
32652// value will be replaced with "sensitive".
32653func (s DisableImportFindingsForProductInput) String() string {
32654	return awsutil.Prettify(s)
32655}
32656
32657// GoString returns the string representation.
32658//
32659// API parameter values that are decorated as "sensitive" in the API will not
32660// be included in the string output. The member name will be present, but the
32661// value will be replaced with "sensitive".
32662func (s DisableImportFindingsForProductInput) GoString() string {
32663	return s.String()
32664}
32665
32666// Validate inspects the fields of the type to determine if they are valid.
32667func (s *DisableImportFindingsForProductInput) Validate() error {
32668	invalidParams := request.ErrInvalidParams{Context: "DisableImportFindingsForProductInput"}
32669	if s.ProductSubscriptionArn == nil {
32670		invalidParams.Add(request.NewErrParamRequired("ProductSubscriptionArn"))
32671	}
32672	if s.ProductSubscriptionArn != nil && len(*s.ProductSubscriptionArn) < 1 {
32673		invalidParams.Add(request.NewErrParamMinLen("ProductSubscriptionArn", 1))
32674	}
32675
32676	if invalidParams.Len() > 0 {
32677		return invalidParams
32678	}
32679	return nil
32680}
32681
32682// SetProductSubscriptionArn sets the ProductSubscriptionArn field's value.
32683func (s *DisableImportFindingsForProductInput) SetProductSubscriptionArn(v string) *DisableImportFindingsForProductInput {
32684	s.ProductSubscriptionArn = &v
32685	return s
32686}
32687
32688type DisableImportFindingsForProductOutput struct {
32689	_ struct{} `type:"structure"`
32690}
32691
32692// String returns the string representation.
32693//
32694// API parameter values that are decorated as "sensitive" in the API will not
32695// be included in the string output. The member name will be present, but the
32696// value will be replaced with "sensitive".
32697func (s DisableImportFindingsForProductOutput) String() string {
32698	return awsutil.Prettify(s)
32699}
32700
32701// GoString returns the string representation.
32702//
32703// API parameter values that are decorated as "sensitive" in the API will not
32704// be included in the string output. The member name will be present, but the
32705// value will be replaced with "sensitive".
32706func (s DisableImportFindingsForProductOutput) GoString() string {
32707	return s.String()
32708}
32709
32710type DisableOrganizationAdminAccountInput struct {
32711	_ struct{} `type:"structure"`
32712
32713	// The Amazon Web Services account identifier of the Security Hub administrator
32714	// account.
32715	//
32716	// AdminAccountId is a required field
32717	AdminAccountId *string `type:"string" required:"true"`
32718}
32719
32720// String returns the string representation.
32721//
32722// API parameter values that are decorated as "sensitive" in the API will not
32723// be included in the string output. The member name will be present, but the
32724// value will be replaced with "sensitive".
32725func (s DisableOrganizationAdminAccountInput) String() string {
32726	return awsutil.Prettify(s)
32727}
32728
32729// GoString returns the string representation.
32730//
32731// API parameter values that are decorated as "sensitive" in the API will not
32732// be included in the string output. The member name will be present, but the
32733// value will be replaced with "sensitive".
32734func (s DisableOrganizationAdminAccountInput) GoString() string {
32735	return s.String()
32736}
32737
32738// Validate inspects the fields of the type to determine if they are valid.
32739func (s *DisableOrganizationAdminAccountInput) Validate() error {
32740	invalidParams := request.ErrInvalidParams{Context: "DisableOrganizationAdminAccountInput"}
32741	if s.AdminAccountId == nil {
32742		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
32743	}
32744
32745	if invalidParams.Len() > 0 {
32746		return invalidParams
32747	}
32748	return nil
32749}
32750
32751// SetAdminAccountId sets the AdminAccountId field's value.
32752func (s *DisableOrganizationAdminAccountInput) SetAdminAccountId(v string) *DisableOrganizationAdminAccountInput {
32753	s.AdminAccountId = &v
32754	return s
32755}
32756
32757type DisableOrganizationAdminAccountOutput struct {
32758	_ struct{} `type:"structure"`
32759}
32760
32761// String returns the string representation.
32762//
32763// API parameter values that are decorated as "sensitive" in the API will not
32764// be included in the string output. The member name will be present, but the
32765// value will be replaced with "sensitive".
32766func (s DisableOrganizationAdminAccountOutput) String() string {
32767	return awsutil.Prettify(s)
32768}
32769
32770// GoString returns the string representation.
32771//
32772// API parameter values that are decorated as "sensitive" in the API will not
32773// be included in the string output. The member name will be present, but the
32774// value will be replaced with "sensitive".
32775func (s DisableOrganizationAdminAccountOutput) GoString() string {
32776	return s.String()
32777}
32778
32779type DisableSecurityHubInput struct {
32780	_ struct{} `type:"structure" nopayload:"true"`
32781}
32782
32783// String returns the string representation.
32784//
32785// API parameter values that are decorated as "sensitive" in the API will not
32786// be included in the string output. The member name will be present, but the
32787// value will be replaced with "sensitive".
32788func (s DisableSecurityHubInput) String() string {
32789	return awsutil.Prettify(s)
32790}
32791
32792// GoString returns the string representation.
32793//
32794// API parameter values that are decorated as "sensitive" in the API will not
32795// be included in the string output. The member name will be present, but the
32796// value will be replaced with "sensitive".
32797func (s DisableSecurityHubInput) GoString() string {
32798	return s.String()
32799}
32800
32801type DisableSecurityHubOutput struct {
32802	_ struct{} `type:"structure"`
32803}
32804
32805// String returns the string representation.
32806//
32807// API parameter values that are decorated as "sensitive" in the API will not
32808// be included in the string output. The member name will be present, but the
32809// value will be replaced with "sensitive".
32810func (s DisableSecurityHubOutput) String() string {
32811	return awsutil.Prettify(s)
32812}
32813
32814// GoString returns the string representation.
32815//
32816// API parameter values that are decorated as "sensitive" in the API will not
32817// be included in the string output. The member name will be present, but the
32818// value will be replaced with "sensitive".
32819func (s DisableSecurityHubOutput) GoString() string {
32820	return s.String()
32821}
32822
32823type DisassociateFromAdministratorAccountInput struct {
32824	_ struct{} `type:"structure" nopayload:"true"`
32825}
32826
32827// String returns the string representation.
32828//
32829// API parameter values that are decorated as "sensitive" in the API will not
32830// be included in the string output. The member name will be present, but the
32831// value will be replaced with "sensitive".
32832func (s DisassociateFromAdministratorAccountInput) String() string {
32833	return awsutil.Prettify(s)
32834}
32835
32836// GoString returns the string representation.
32837//
32838// API parameter values that are decorated as "sensitive" in the API will not
32839// be included in the string output. The member name will be present, but the
32840// value will be replaced with "sensitive".
32841func (s DisassociateFromAdministratorAccountInput) GoString() string {
32842	return s.String()
32843}
32844
32845type DisassociateFromAdministratorAccountOutput struct {
32846	_ struct{} `type:"structure"`
32847}
32848
32849// String returns the string representation.
32850//
32851// API parameter values that are decorated as "sensitive" in the API will not
32852// be included in the string output. The member name will be present, but the
32853// value will be replaced with "sensitive".
32854func (s DisassociateFromAdministratorAccountOutput) String() string {
32855	return awsutil.Prettify(s)
32856}
32857
32858// GoString returns the string representation.
32859//
32860// API parameter values that are decorated as "sensitive" in the API will not
32861// be included in the string output. The member name will be present, but the
32862// value will be replaced with "sensitive".
32863func (s DisassociateFromAdministratorAccountOutput) GoString() string {
32864	return s.String()
32865}
32866
32867type DisassociateFromMasterAccountInput struct {
32868	_ struct{} `type:"structure" nopayload:"true"`
32869}
32870
32871// String returns the string representation.
32872//
32873// API parameter values that are decorated as "sensitive" in the API will not
32874// be included in the string output. The member name will be present, but the
32875// value will be replaced with "sensitive".
32876func (s DisassociateFromMasterAccountInput) String() string {
32877	return awsutil.Prettify(s)
32878}
32879
32880// GoString returns the string representation.
32881//
32882// API parameter values that are decorated as "sensitive" in the API will not
32883// be included in the string output. The member name will be present, but the
32884// value will be replaced with "sensitive".
32885func (s DisassociateFromMasterAccountInput) GoString() string {
32886	return s.String()
32887}
32888
32889type DisassociateFromMasterAccountOutput struct {
32890	_ struct{} `type:"structure"`
32891}
32892
32893// String returns the string representation.
32894//
32895// API parameter values that are decorated as "sensitive" in the API will not
32896// be included in the string output. The member name will be present, but the
32897// value will be replaced with "sensitive".
32898func (s DisassociateFromMasterAccountOutput) String() string {
32899	return awsutil.Prettify(s)
32900}
32901
32902// GoString returns the string representation.
32903//
32904// API parameter values that are decorated as "sensitive" in the API will not
32905// be included in the string output. The member name will be present, but the
32906// value will be replaced with "sensitive".
32907func (s DisassociateFromMasterAccountOutput) GoString() string {
32908	return s.String()
32909}
32910
32911type DisassociateMembersInput struct {
32912	_ struct{} `type:"structure"`
32913
32914	// The account IDs of the member accounts to disassociate from the administrator
32915	// account.
32916	//
32917	// AccountIds is a required field
32918	AccountIds []*string `type:"list" required:"true"`
32919}
32920
32921// String returns the string representation.
32922//
32923// API parameter values that are decorated as "sensitive" in the API will not
32924// be included in the string output. The member name will be present, but the
32925// value will be replaced with "sensitive".
32926func (s DisassociateMembersInput) String() string {
32927	return awsutil.Prettify(s)
32928}
32929
32930// GoString returns the string representation.
32931//
32932// API parameter values that are decorated as "sensitive" in the API will not
32933// be included in the string output. The member name will be present, but the
32934// value will be replaced with "sensitive".
32935func (s DisassociateMembersInput) GoString() string {
32936	return s.String()
32937}
32938
32939// Validate inspects the fields of the type to determine if they are valid.
32940func (s *DisassociateMembersInput) Validate() error {
32941	invalidParams := request.ErrInvalidParams{Context: "DisassociateMembersInput"}
32942	if s.AccountIds == nil {
32943		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
32944	}
32945
32946	if invalidParams.Len() > 0 {
32947		return invalidParams
32948	}
32949	return nil
32950}
32951
32952// SetAccountIds sets the AccountIds field's value.
32953func (s *DisassociateMembersInput) SetAccountIds(v []*string) *DisassociateMembersInput {
32954	s.AccountIds = v
32955	return s
32956}
32957
32958type DisassociateMembersOutput struct {
32959	_ struct{} `type:"structure"`
32960}
32961
32962// String returns the string representation.
32963//
32964// API parameter values that are decorated as "sensitive" in the API will not
32965// be included in the string output. The member name will be present, but the
32966// value will be replaced with "sensitive".
32967func (s DisassociateMembersOutput) String() string {
32968	return awsutil.Prettify(s)
32969}
32970
32971// GoString returns the string representation.
32972//
32973// API parameter values that are decorated as "sensitive" in the API will not
32974// be included in the string output. The member name will be present, but the
32975// value will be replaced with "sensitive".
32976func (s DisassociateMembersOutput) GoString() string {
32977	return s.String()
32978}
32979
32980// Provided if ActionType is DNS_REQUEST. It provides details about the DNS
32981// request that was detected.
32982type DnsRequestAction struct {
32983	_ struct{} `type:"structure"`
32984
32985	// Indicates whether the DNS request was blocked.
32986	Blocked *bool `type:"boolean"`
32987
32988	// The DNS domain that is associated with the DNS request.
32989	Domain *string `type:"string"`
32990
32991	// The protocol that was used for the DNS request.
32992	Protocol *string `type:"string"`
32993}
32994
32995// String returns the string representation.
32996//
32997// API parameter values that are decorated as "sensitive" in the API will not
32998// be included in the string output. The member name will be present, but the
32999// value will be replaced with "sensitive".
33000func (s DnsRequestAction) String() string {
33001	return awsutil.Prettify(s)
33002}
33003
33004// GoString returns the string representation.
33005//
33006// API parameter values that are decorated as "sensitive" in the API will not
33007// be included in the string output. The member name will be present, but the
33008// value will be replaced with "sensitive".
33009func (s DnsRequestAction) GoString() string {
33010	return s.String()
33011}
33012
33013// SetBlocked sets the Blocked field's value.
33014func (s *DnsRequestAction) SetBlocked(v bool) *DnsRequestAction {
33015	s.Blocked = &v
33016	return s
33017}
33018
33019// SetDomain sets the Domain field's value.
33020func (s *DnsRequestAction) SetDomain(v string) *DnsRequestAction {
33021	s.Domain = &v
33022	return s
33023}
33024
33025// SetProtocol sets the Protocol field's value.
33026func (s *DnsRequestAction) SetProtocol(v string) *DnsRequestAction {
33027	s.Protocol = &v
33028	return s
33029}
33030
33031type EnableImportFindingsForProductInput struct {
33032	_ struct{} `type:"structure"`
33033
33034	// The ARN of the product to enable the integration for.
33035	//
33036	// ProductArn is a required field
33037	ProductArn *string `type:"string" required:"true"`
33038}
33039
33040// String returns the string representation.
33041//
33042// API parameter values that are decorated as "sensitive" in the API will not
33043// be included in the string output. The member name will be present, but the
33044// value will be replaced with "sensitive".
33045func (s EnableImportFindingsForProductInput) String() string {
33046	return awsutil.Prettify(s)
33047}
33048
33049// GoString returns the string representation.
33050//
33051// API parameter values that are decorated as "sensitive" in the API will not
33052// be included in the string output. The member name will be present, but the
33053// value will be replaced with "sensitive".
33054func (s EnableImportFindingsForProductInput) GoString() string {
33055	return s.String()
33056}
33057
33058// Validate inspects the fields of the type to determine if they are valid.
33059func (s *EnableImportFindingsForProductInput) Validate() error {
33060	invalidParams := request.ErrInvalidParams{Context: "EnableImportFindingsForProductInput"}
33061	if s.ProductArn == nil {
33062		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
33063	}
33064
33065	if invalidParams.Len() > 0 {
33066		return invalidParams
33067	}
33068	return nil
33069}
33070
33071// SetProductArn sets the ProductArn field's value.
33072func (s *EnableImportFindingsForProductInput) SetProductArn(v string) *EnableImportFindingsForProductInput {
33073	s.ProductArn = &v
33074	return s
33075}
33076
33077type EnableImportFindingsForProductOutput struct {
33078	_ struct{} `type:"structure"`
33079
33080	// The ARN of your subscription to the product to enable integrations for.
33081	ProductSubscriptionArn *string `type:"string"`
33082}
33083
33084// String returns the string representation.
33085//
33086// API parameter values that are decorated as "sensitive" in the API will not
33087// be included in the string output. The member name will be present, but the
33088// value will be replaced with "sensitive".
33089func (s EnableImportFindingsForProductOutput) String() string {
33090	return awsutil.Prettify(s)
33091}
33092
33093// GoString returns the string representation.
33094//
33095// API parameter values that are decorated as "sensitive" in the API will not
33096// be included in the string output. The member name will be present, but the
33097// value will be replaced with "sensitive".
33098func (s EnableImportFindingsForProductOutput) GoString() string {
33099	return s.String()
33100}
33101
33102// SetProductSubscriptionArn sets the ProductSubscriptionArn field's value.
33103func (s *EnableImportFindingsForProductOutput) SetProductSubscriptionArn(v string) *EnableImportFindingsForProductOutput {
33104	s.ProductSubscriptionArn = &v
33105	return s
33106}
33107
33108type EnableOrganizationAdminAccountInput struct {
33109	_ struct{} `type:"structure"`
33110
33111	// The Amazon Web Services account identifier of the account to designate as
33112	// the Security Hub administrator account.
33113	//
33114	// AdminAccountId is a required field
33115	AdminAccountId *string `type:"string" required:"true"`
33116}
33117
33118// String returns the string representation.
33119//
33120// API parameter values that are decorated as "sensitive" in the API will not
33121// be included in the string output. The member name will be present, but the
33122// value will be replaced with "sensitive".
33123func (s EnableOrganizationAdminAccountInput) String() string {
33124	return awsutil.Prettify(s)
33125}
33126
33127// GoString returns the string representation.
33128//
33129// API parameter values that are decorated as "sensitive" in the API will not
33130// be included in the string output. The member name will be present, but the
33131// value will be replaced with "sensitive".
33132func (s EnableOrganizationAdminAccountInput) GoString() string {
33133	return s.String()
33134}
33135
33136// Validate inspects the fields of the type to determine if they are valid.
33137func (s *EnableOrganizationAdminAccountInput) Validate() error {
33138	invalidParams := request.ErrInvalidParams{Context: "EnableOrganizationAdminAccountInput"}
33139	if s.AdminAccountId == nil {
33140		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
33141	}
33142
33143	if invalidParams.Len() > 0 {
33144		return invalidParams
33145	}
33146	return nil
33147}
33148
33149// SetAdminAccountId sets the AdminAccountId field's value.
33150func (s *EnableOrganizationAdminAccountInput) SetAdminAccountId(v string) *EnableOrganizationAdminAccountInput {
33151	s.AdminAccountId = &v
33152	return s
33153}
33154
33155type EnableOrganizationAdminAccountOutput struct {
33156	_ struct{} `type:"structure"`
33157}
33158
33159// String returns the string representation.
33160//
33161// API parameter values that are decorated as "sensitive" in the API will not
33162// be included in the string output. The member name will be present, but the
33163// value will be replaced with "sensitive".
33164func (s EnableOrganizationAdminAccountOutput) String() string {
33165	return awsutil.Prettify(s)
33166}
33167
33168// GoString returns the string representation.
33169//
33170// API parameter values that are decorated as "sensitive" in the API will not
33171// be included in the string output. The member name will be present, but the
33172// value will be replaced with "sensitive".
33173func (s EnableOrganizationAdminAccountOutput) GoString() string {
33174	return s.String()
33175}
33176
33177type EnableSecurityHubInput struct {
33178	_ struct{} `type:"structure"`
33179
33180	// Whether to enable the security standards that Security Hub has designated
33181	// as automatically enabled. If you do not provide a value for EnableDefaultStandards,
33182	// it is set to true. To not enable the automatically enabled standards, set
33183	// EnableDefaultStandards to false.
33184	EnableDefaultStandards *bool `type:"boolean"`
33185
33186	// The tags to add to the hub resource when you enable Security Hub.
33187	Tags map[string]*string `min:"1" type:"map"`
33188}
33189
33190// String returns the string representation.
33191//
33192// API parameter values that are decorated as "sensitive" in the API will not
33193// be included in the string output. The member name will be present, but the
33194// value will be replaced with "sensitive".
33195func (s EnableSecurityHubInput) String() string {
33196	return awsutil.Prettify(s)
33197}
33198
33199// GoString returns the string representation.
33200//
33201// API parameter values that are decorated as "sensitive" in the API will not
33202// be included in the string output. The member name will be present, but the
33203// value will be replaced with "sensitive".
33204func (s EnableSecurityHubInput) GoString() string {
33205	return s.String()
33206}
33207
33208// Validate inspects the fields of the type to determine if they are valid.
33209func (s *EnableSecurityHubInput) Validate() error {
33210	invalidParams := request.ErrInvalidParams{Context: "EnableSecurityHubInput"}
33211	if s.Tags != nil && len(s.Tags) < 1 {
33212		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
33213	}
33214
33215	if invalidParams.Len() > 0 {
33216		return invalidParams
33217	}
33218	return nil
33219}
33220
33221// SetEnableDefaultStandards sets the EnableDefaultStandards field's value.
33222func (s *EnableSecurityHubInput) SetEnableDefaultStandards(v bool) *EnableSecurityHubInput {
33223	s.EnableDefaultStandards = &v
33224	return s
33225}
33226
33227// SetTags sets the Tags field's value.
33228func (s *EnableSecurityHubInput) SetTags(v map[string]*string) *EnableSecurityHubInput {
33229	s.Tags = v
33230	return s
33231}
33232
33233type EnableSecurityHubOutput struct {
33234	_ struct{} `type:"structure"`
33235}
33236
33237// String returns the string representation.
33238//
33239// API parameter values that are decorated as "sensitive" in the API will not
33240// be included in the string output. The member name will be present, but the
33241// value will be replaced with "sensitive".
33242func (s EnableSecurityHubOutput) String() string {
33243	return awsutil.Prettify(s)
33244}
33245
33246// GoString returns the string representation.
33247//
33248// API parameter values that are decorated as "sensitive" in the API will not
33249// be included in the string output. The member name will be present, but the
33250// value will be replaced with "sensitive".
33251func (s EnableSecurityHubOutput) GoString() string {
33252	return s.String()
33253}
33254
33255// A finding aggregator. A finding aggregator contains the configuration for
33256// finding aggregation.
33257type FindingAggregator struct {
33258	_ struct{} `type:"structure"`
33259
33260	// The ARN of the finding aggregator. You use the finding aggregator ARN to
33261	// retrieve details for, update, and delete the finding aggregator.
33262	FindingAggregatorArn *string `type:"string"`
33263}
33264
33265// String returns the string representation.
33266//
33267// API parameter values that are decorated as "sensitive" in the API will not
33268// be included in the string output. The member name will be present, but the
33269// value will be replaced with "sensitive".
33270func (s FindingAggregator) String() string {
33271	return awsutil.Prettify(s)
33272}
33273
33274// GoString returns the string representation.
33275//
33276// API parameter values that are decorated as "sensitive" in the API will not
33277// be included in the string output. The member name will be present, but the
33278// value will be replaced with "sensitive".
33279func (s FindingAggregator) GoString() string {
33280	return s.String()
33281}
33282
33283// SetFindingAggregatorArn sets the FindingAggregatorArn field's value.
33284func (s *FindingAggregator) SetFindingAggregatorArn(v string) *FindingAggregator {
33285	s.FindingAggregatorArn = &v
33286	return s
33287}
33288
33289// In a BatchImportFindings request, finding providers use FindingProviderFields
33290// to provide and update values for confidence, criticality, related findings,
33291// severity, and types.
33292type FindingProviderFields struct {
33293	_ struct{} `type:"structure"`
33294
33295	// A finding's confidence. Confidence is defined as the likelihood that a finding
33296	// accurately identifies the behavior or issue that it was intended to identify.
33297	//
33298	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
33299	// zero percent confidence and 100 means 100 percent confidence.
33300	Confidence *int64 `type:"integer"`
33301
33302	// The level of importance assigned to the resources associated with the finding.
33303	//
33304	// A score of 0 means that the underlying resources have no criticality, and
33305	// a score of 100 is reserved for the most critical resources.
33306	Criticality *int64 `type:"integer"`
33307
33308	// A list of findings that are related to the current finding.
33309	RelatedFindings []*RelatedFinding `type:"list"`
33310
33311	// The severity of a finding.
33312	Severity *FindingProviderSeverity `type:"structure"`
33313
33314	// One or more finding types in the format of namespace/category/classifier
33315	// that classify a finding.
33316	//
33317	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
33318	// | Unusual Behaviors | Sensitive Data Identifications
33319	Types []*string `type:"list"`
33320}
33321
33322// String returns the string representation.
33323//
33324// API parameter values that are decorated as "sensitive" in the API will not
33325// be included in the string output. The member name will be present, but the
33326// value will be replaced with "sensitive".
33327func (s FindingProviderFields) String() string {
33328	return awsutil.Prettify(s)
33329}
33330
33331// GoString returns the string representation.
33332//
33333// API parameter values that are decorated as "sensitive" in the API will not
33334// be included in the string output. The member name will be present, but the
33335// value will be replaced with "sensitive".
33336func (s FindingProviderFields) GoString() string {
33337	return s.String()
33338}
33339
33340// Validate inspects the fields of the type to determine if they are valid.
33341func (s *FindingProviderFields) Validate() error {
33342	invalidParams := request.ErrInvalidParams{Context: "FindingProviderFields"}
33343	if s.RelatedFindings != nil {
33344		for i, v := range s.RelatedFindings {
33345			if v == nil {
33346				continue
33347			}
33348			if err := v.Validate(); err != nil {
33349				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
33350			}
33351		}
33352	}
33353
33354	if invalidParams.Len() > 0 {
33355		return invalidParams
33356	}
33357	return nil
33358}
33359
33360// SetConfidence sets the Confidence field's value.
33361func (s *FindingProviderFields) SetConfidence(v int64) *FindingProviderFields {
33362	s.Confidence = &v
33363	return s
33364}
33365
33366// SetCriticality sets the Criticality field's value.
33367func (s *FindingProviderFields) SetCriticality(v int64) *FindingProviderFields {
33368	s.Criticality = &v
33369	return s
33370}
33371
33372// SetRelatedFindings sets the RelatedFindings field's value.
33373func (s *FindingProviderFields) SetRelatedFindings(v []*RelatedFinding) *FindingProviderFields {
33374	s.RelatedFindings = v
33375	return s
33376}
33377
33378// SetSeverity sets the Severity field's value.
33379func (s *FindingProviderFields) SetSeverity(v *FindingProviderSeverity) *FindingProviderFields {
33380	s.Severity = v
33381	return s
33382}
33383
33384// SetTypes sets the Types field's value.
33385func (s *FindingProviderFields) SetTypes(v []*string) *FindingProviderFields {
33386	s.Types = v
33387	return s
33388}
33389
33390// The severity assigned to the finding by the finding provider.
33391type FindingProviderSeverity struct {
33392	_ struct{} `type:"structure"`
33393
33394	// The severity label assigned to the finding by the finding provider.
33395	Label *string `type:"string" enum:"SeverityLabel"`
33396
33397	// The finding provider's original value for the severity.
33398	Original *string `type:"string"`
33399}
33400
33401// String returns the string representation.
33402//
33403// API parameter values that are decorated as "sensitive" in the API will not
33404// be included in the string output. The member name will be present, but the
33405// value will be replaced with "sensitive".
33406func (s FindingProviderSeverity) String() string {
33407	return awsutil.Prettify(s)
33408}
33409
33410// GoString returns the string representation.
33411//
33412// API parameter values that are decorated as "sensitive" in the API will not
33413// be included in the string output. The member name will be present, but the
33414// value will be replaced with "sensitive".
33415func (s FindingProviderSeverity) GoString() string {
33416	return s.String()
33417}
33418
33419// SetLabel sets the Label field's value.
33420func (s *FindingProviderSeverity) SetLabel(v string) *FindingProviderSeverity {
33421	s.Label = &v
33422	return s
33423}
33424
33425// SetOriginal sets the Original field's value.
33426func (s *FindingProviderSeverity) SetOriginal(v string) *FindingProviderSeverity {
33427	s.Original = &v
33428	return s
33429}
33430
33431// Provides the latitude and longitude coordinates of a location.
33432type GeoLocation struct {
33433	_ struct{} `type:"structure"`
33434
33435	// The latitude of the location.
33436	Lat *float64 `type:"double"`
33437
33438	// The longitude of the location.
33439	Lon *float64 `type:"double"`
33440}
33441
33442// String returns the string representation.
33443//
33444// API parameter values that are decorated as "sensitive" in the API will not
33445// be included in the string output. The member name will be present, but the
33446// value will be replaced with "sensitive".
33447func (s GeoLocation) String() string {
33448	return awsutil.Prettify(s)
33449}
33450
33451// GoString returns the string representation.
33452//
33453// API parameter values that are decorated as "sensitive" in the API will not
33454// be included in the string output. The member name will be present, but the
33455// value will be replaced with "sensitive".
33456func (s GeoLocation) GoString() string {
33457	return s.String()
33458}
33459
33460// SetLat sets the Lat field's value.
33461func (s *GeoLocation) SetLat(v float64) *GeoLocation {
33462	s.Lat = &v
33463	return s
33464}
33465
33466// SetLon sets the Lon field's value.
33467func (s *GeoLocation) SetLon(v float64) *GeoLocation {
33468	s.Lon = &v
33469	return s
33470}
33471
33472type GetAdministratorAccountInput struct {
33473	_ struct{} `type:"structure" nopayload:"true"`
33474}
33475
33476// String returns the string representation.
33477//
33478// API parameter values that are decorated as "sensitive" in the API will not
33479// be included in the string output. The member name will be present, but the
33480// value will be replaced with "sensitive".
33481func (s GetAdministratorAccountInput) String() string {
33482	return awsutil.Prettify(s)
33483}
33484
33485// GoString returns the string representation.
33486//
33487// API parameter values that are decorated as "sensitive" in the API will not
33488// be included in the string output. The member name will be present, but the
33489// value will be replaced with "sensitive".
33490func (s GetAdministratorAccountInput) GoString() string {
33491	return s.String()
33492}
33493
33494type GetAdministratorAccountOutput struct {
33495	_ struct{} `type:"structure"`
33496
33497	// Details about an invitation.
33498	Administrator *Invitation `type:"structure"`
33499}
33500
33501// String returns the string representation.
33502//
33503// API parameter values that are decorated as "sensitive" in the API will not
33504// be included in the string output. The member name will be present, but the
33505// value will be replaced with "sensitive".
33506func (s GetAdministratorAccountOutput) String() string {
33507	return awsutil.Prettify(s)
33508}
33509
33510// GoString returns the string representation.
33511//
33512// API parameter values that are decorated as "sensitive" in the API will not
33513// be included in the string output. The member name will be present, but the
33514// value will be replaced with "sensitive".
33515func (s GetAdministratorAccountOutput) GoString() string {
33516	return s.String()
33517}
33518
33519// SetAdministrator sets the Administrator field's value.
33520func (s *GetAdministratorAccountOutput) SetAdministrator(v *Invitation) *GetAdministratorAccountOutput {
33521	s.Administrator = v
33522	return s
33523}
33524
33525type GetEnabledStandardsInput struct {
33526	_ struct{} `type:"structure"`
33527
33528	// The maximum number of results to return in the response.
33529	MaxResults *int64 `min:"1" type:"integer"`
33530
33531	// The token that is required for pagination. On your first call to the GetEnabledStandards
33532	// operation, set the value of this parameter to NULL.
33533	//
33534	// For subsequent calls to the operation, to continue listing data, set the
33535	// value of this parameter to the value returned from the previous response.
33536	NextToken *string `type:"string"`
33537
33538	// The list of the standards subscription ARNs for the standards to retrieve.
33539	StandardsSubscriptionArns []*string `min:"1" type:"list"`
33540}
33541
33542// String returns the string representation.
33543//
33544// API parameter values that are decorated as "sensitive" in the API will not
33545// be included in the string output. The member name will be present, but the
33546// value will be replaced with "sensitive".
33547func (s GetEnabledStandardsInput) String() string {
33548	return awsutil.Prettify(s)
33549}
33550
33551// GoString returns the string representation.
33552//
33553// API parameter values that are decorated as "sensitive" in the API will not
33554// be included in the string output. The member name will be present, but the
33555// value will be replaced with "sensitive".
33556func (s GetEnabledStandardsInput) GoString() string {
33557	return s.String()
33558}
33559
33560// Validate inspects the fields of the type to determine if they are valid.
33561func (s *GetEnabledStandardsInput) Validate() error {
33562	invalidParams := request.ErrInvalidParams{Context: "GetEnabledStandardsInput"}
33563	if s.MaxResults != nil && *s.MaxResults < 1 {
33564		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
33565	}
33566	if s.StandardsSubscriptionArns != nil && len(s.StandardsSubscriptionArns) < 1 {
33567		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArns", 1))
33568	}
33569
33570	if invalidParams.Len() > 0 {
33571		return invalidParams
33572	}
33573	return nil
33574}
33575
33576// SetMaxResults sets the MaxResults field's value.
33577func (s *GetEnabledStandardsInput) SetMaxResults(v int64) *GetEnabledStandardsInput {
33578	s.MaxResults = &v
33579	return s
33580}
33581
33582// SetNextToken sets the NextToken field's value.
33583func (s *GetEnabledStandardsInput) SetNextToken(v string) *GetEnabledStandardsInput {
33584	s.NextToken = &v
33585	return s
33586}
33587
33588// SetStandardsSubscriptionArns sets the StandardsSubscriptionArns field's value.
33589func (s *GetEnabledStandardsInput) SetStandardsSubscriptionArns(v []*string) *GetEnabledStandardsInput {
33590	s.StandardsSubscriptionArns = v
33591	return s
33592}
33593
33594type GetEnabledStandardsOutput struct {
33595	_ struct{} `type:"structure"`
33596
33597	// The pagination token to use to request the next page of results.
33598	NextToken *string `type:"string"`
33599
33600	// The list of StandardsSubscriptions objects that include information about
33601	// the enabled standards.
33602	StandardsSubscriptions []*StandardsSubscription `type:"list"`
33603}
33604
33605// String returns the string representation.
33606//
33607// API parameter values that are decorated as "sensitive" in the API will not
33608// be included in the string output. The member name will be present, but the
33609// value will be replaced with "sensitive".
33610func (s GetEnabledStandardsOutput) String() string {
33611	return awsutil.Prettify(s)
33612}
33613
33614// GoString returns the string representation.
33615//
33616// API parameter values that are decorated as "sensitive" in the API will not
33617// be included in the string output. The member name will be present, but the
33618// value will be replaced with "sensitive".
33619func (s GetEnabledStandardsOutput) GoString() string {
33620	return s.String()
33621}
33622
33623// SetNextToken sets the NextToken field's value.
33624func (s *GetEnabledStandardsOutput) SetNextToken(v string) *GetEnabledStandardsOutput {
33625	s.NextToken = &v
33626	return s
33627}
33628
33629// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
33630func (s *GetEnabledStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *GetEnabledStandardsOutput {
33631	s.StandardsSubscriptions = v
33632	return s
33633}
33634
33635type GetFindingAggregatorInput struct {
33636	_ struct{} `type:"structure" nopayload:"true"`
33637
33638	// The ARN of the finding aggregator to return details for. To obtain the ARN,
33639	// use ListFindingAggregators.
33640	//
33641	// FindingAggregatorArn is a required field
33642	FindingAggregatorArn *string `location:"uri" locationName:"FindingAggregatorArn" type:"string" required:"true"`
33643}
33644
33645// String returns the string representation.
33646//
33647// API parameter values that are decorated as "sensitive" in the API will not
33648// be included in the string output. The member name will be present, but the
33649// value will be replaced with "sensitive".
33650func (s GetFindingAggregatorInput) String() string {
33651	return awsutil.Prettify(s)
33652}
33653
33654// GoString returns the string representation.
33655//
33656// API parameter values that are decorated as "sensitive" in the API will not
33657// be included in the string output. The member name will be present, but the
33658// value will be replaced with "sensitive".
33659func (s GetFindingAggregatorInput) GoString() string {
33660	return s.String()
33661}
33662
33663// Validate inspects the fields of the type to determine if they are valid.
33664func (s *GetFindingAggregatorInput) Validate() error {
33665	invalidParams := request.ErrInvalidParams{Context: "GetFindingAggregatorInput"}
33666	if s.FindingAggregatorArn == nil {
33667		invalidParams.Add(request.NewErrParamRequired("FindingAggregatorArn"))
33668	}
33669	if s.FindingAggregatorArn != nil && len(*s.FindingAggregatorArn) < 1 {
33670		invalidParams.Add(request.NewErrParamMinLen("FindingAggregatorArn", 1))
33671	}
33672
33673	if invalidParams.Len() > 0 {
33674		return invalidParams
33675	}
33676	return nil
33677}
33678
33679// SetFindingAggregatorArn sets the FindingAggregatorArn field's value.
33680func (s *GetFindingAggregatorInput) SetFindingAggregatorArn(v string) *GetFindingAggregatorInput {
33681	s.FindingAggregatorArn = &v
33682	return s
33683}
33684
33685type GetFindingAggregatorOutput struct {
33686	_ struct{} `type:"structure"`
33687
33688	// The aggregation Region.
33689	FindingAggregationRegion *string `type:"string"`
33690
33691	// The ARN of the finding aggregator.
33692	FindingAggregatorArn *string `type:"string"`
33693
33694	// Indicates whether to link all Regions, all Regions except for a list of excluded
33695	// Regions, or a list of included Regions.
33696	RegionLinkingMode *string `type:"string"`
33697
33698	// The list of excluded Regions or included Regions.
33699	Regions []*string `type:"list"`
33700}
33701
33702// String returns the string representation.
33703//
33704// API parameter values that are decorated as "sensitive" in the API will not
33705// be included in the string output. The member name will be present, but the
33706// value will be replaced with "sensitive".
33707func (s GetFindingAggregatorOutput) String() string {
33708	return awsutil.Prettify(s)
33709}
33710
33711// GoString returns the string representation.
33712//
33713// API parameter values that are decorated as "sensitive" in the API will not
33714// be included in the string output. The member name will be present, but the
33715// value will be replaced with "sensitive".
33716func (s GetFindingAggregatorOutput) GoString() string {
33717	return s.String()
33718}
33719
33720// SetFindingAggregationRegion sets the FindingAggregationRegion field's value.
33721func (s *GetFindingAggregatorOutput) SetFindingAggregationRegion(v string) *GetFindingAggregatorOutput {
33722	s.FindingAggregationRegion = &v
33723	return s
33724}
33725
33726// SetFindingAggregatorArn sets the FindingAggregatorArn field's value.
33727func (s *GetFindingAggregatorOutput) SetFindingAggregatorArn(v string) *GetFindingAggregatorOutput {
33728	s.FindingAggregatorArn = &v
33729	return s
33730}
33731
33732// SetRegionLinkingMode sets the RegionLinkingMode field's value.
33733func (s *GetFindingAggregatorOutput) SetRegionLinkingMode(v string) *GetFindingAggregatorOutput {
33734	s.RegionLinkingMode = &v
33735	return s
33736}
33737
33738// SetRegions sets the Regions field's value.
33739func (s *GetFindingAggregatorOutput) SetRegions(v []*string) *GetFindingAggregatorOutput {
33740	s.Regions = v
33741	return s
33742}
33743
33744type GetFindingsInput struct {
33745	_ struct{} `type:"structure"`
33746
33747	// The finding attributes used to define a condition to filter the returned
33748	// findings.
33749	//
33750	// You can filter by up to 10 finding attributes. For each attribute, you can
33751	// provide up to 20 filter values.
33752	//
33753	// Note that in the available filter fields, WorkflowState is deprecated. To
33754	// search for a finding based on its workflow status, use WorkflowStatus.
33755	Filters *AwsSecurityFindingFilters `type:"structure"`
33756
33757	// The maximum number of findings to return.
33758	MaxResults *int64 `min:"1" type:"integer"`
33759
33760	// The token that is required for pagination. On your first call to the GetFindings
33761	// operation, set the value of this parameter to NULL.
33762	//
33763	// For subsequent calls to the operation, to continue listing data, set the
33764	// value of this parameter to the value returned from the previous response.
33765	NextToken *string `type:"string"`
33766
33767	// The finding attributes used to sort the list of returned findings.
33768	SortCriteria []*SortCriterion `type:"list"`
33769}
33770
33771// String returns the string representation.
33772//
33773// API parameter values that are decorated as "sensitive" in the API will not
33774// be included in the string output. The member name will be present, but the
33775// value will be replaced with "sensitive".
33776func (s GetFindingsInput) String() string {
33777	return awsutil.Prettify(s)
33778}
33779
33780// GoString returns the string representation.
33781//
33782// API parameter values that are decorated as "sensitive" in the API will not
33783// be included in the string output. The member name will be present, but the
33784// value will be replaced with "sensitive".
33785func (s GetFindingsInput) GoString() string {
33786	return s.String()
33787}
33788
33789// Validate inspects the fields of the type to determine if they are valid.
33790func (s *GetFindingsInput) Validate() error {
33791	invalidParams := request.ErrInvalidParams{Context: "GetFindingsInput"}
33792	if s.MaxResults != nil && *s.MaxResults < 1 {
33793		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
33794	}
33795
33796	if invalidParams.Len() > 0 {
33797		return invalidParams
33798	}
33799	return nil
33800}
33801
33802// SetFilters sets the Filters field's value.
33803func (s *GetFindingsInput) SetFilters(v *AwsSecurityFindingFilters) *GetFindingsInput {
33804	s.Filters = v
33805	return s
33806}
33807
33808// SetMaxResults sets the MaxResults field's value.
33809func (s *GetFindingsInput) SetMaxResults(v int64) *GetFindingsInput {
33810	s.MaxResults = &v
33811	return s
33812}
33813
33814// SetNextToken sets the NextToken field's value.
33815func (s *GetFindingsInput) SetNextToken(v string) *GetFindingsInput {
33816	s.NextToken = &v
33817	return s
33818}
33819
33820// SetSortCriteria sets the SortCriteria field's value.
33821func (s *GetFindingsInput) SetSortCriteria(v []*SortCriterion) *GetFindingsInput {
33822	s.SortCriteria = v
33823	return s
33824}
33825
33826type GetFindingsOutput struct {
33827	_ struct{} `type:"structure"`
33828
33829	// The findings that matched the filters specified in the request.
33830	//
33831	// Findings is a required field
33832	Findings []*AwsSecurityFinding `type:"list" required:"true"`
33833
33834	// The pagination token to use to request the next page of results.
33835	NextToken *string `type:"string"`
33836}
33837
33838// String returns the string representation.
33839//
33840// API parameter values that are decorated as "sensitive" in the API will not
33841// be included in the string output. The member name will be present, but the
33842// value will be replaced with "sensitive".
33843func (s GetFindingsOutput) String() string {
33844	return awsutil.Prettify(s)
33845}
33846
33847// GoString returns the string representation.
33848//
33849// API parameter values that are decorated as "sensitive" in the API will not
33850// be included in the string output. The member name will be present, but the
33851// value will be replaced with "sensitive".
33852func (s GetFindingsOutput) GoString() string {
33853	return s.String()
33854}
33855
33856// SetFindings sets the Findings field's value.
33857func (s *GetFindingsOutput) SetFindings(v []*AwsSecurityFinding) *GetFindingsOutput {
33858	s.Findings = v
33859	return s
33860}
33861
33862// SetNextToken sets the NextToken field's value.
33863func (s *GetFindingsOutput) SetNextToken(v string) *GetFindingsOutput {
33864	s.NextToken = &v
33865	return s
33866}
33867
33868type GetInsightResultsInput struct {
33869	_ struct{} `type:"structure" nopayload:"true"`
33870
33871	// The ARN of the insight for which to return results.
33872	//
33873	// InsightArn is a required field
33874	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
33875}
33876
33877// String returns the string representation.
33878//
33879// API parameter values that are decorated as "sensitive" in the API will not
33880// be included in the string output. The member name will be present, but the
33881// value will be replaced with "sensitive".
33882func (s GetInsightResultsInput) String() string {
33883	return awsutil.Prettify(s)
33884}
33885
33886// GoString returns the string representation.
33887//
33888// API parameter values that are decorated as "sensitive" in the API will not
33889// be included in the string output. The member name will be present, but the
33890// value will be replaced with "sensitive".
33891func (s GetInsightResultsInput) GoString() string {
33892	return s.String()
33893}
33894
33895// Validate inspects the fields of the type to determine if they are valid.
33896func (s *GetInsightResultsInput) Validate() error {
33897	invalidParams := request.ErrInvalidParams{Context: "GetInsightResultsInput"}
33898	if s.InsightArn == nil {
33899		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
33900	}
33901	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
33902		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
33903	}
33904
33905	if invalidParams.Len() > 0 {
33906		return invalidParams
33907	}
33908	return nil
33909}
33910
33911// SetInsightArn sets the InsightArn field's value.
33912func (s *GetInsightResultsInput) SetInsightArn(v string) *GetInsightResultsInput {
33913	s.InsightArn = &v
33914	return s
33915}
33916
33917type GetInsightResultsOutput struct {
33918	_ struct{} `type:"structure"`
33919
33920	// The insight results returned by the operation.
33921	//
33922	// InsightResults is a required field
33923	InsightResults *InsightResults `type:"structure" required:"true"`
33924}
33925
33926// String returns the string representation.
33927//
33928// API parameter values that are decorated as "sensitive" in the API will not
33929// be included in the string output. The member name will be present, but the
33930// value will be replaced with "sensitive".
33931func (s GetInsightResultsOutput) String() string {
33932	return awsutil.Prettify(s)
33933}
33934
33935// GoString returns the string representation.
33936//
33937// API parameter values that are decorated as "sensitive" in the API will not
33938// be included in the string output. The member name will be present, but the
33939// value will be replaced with "sensitive".
33940func (s GetInsightResultsOutput) GoString() string {
33941	return s.String()
33942}
33943
33944// SetInsightResults sets the InsightResults field's value.
33945func (s *GetInsightResultsOutput) SetInsightResults(v *InsightResults) *GetInsightResultsOutput {
33946	s.InsightResults = v
33947	return s
33948}
33949
33950type GetInsightsInput struct {
33951	_ struct{} `type:"structure"`
33952
33953	// The ARNs of the insights to describe. If you do not provide any insight ARNs,
33954	// then GetInsights returns all of your custom insights. It does not return
33955	// any managed insights.
33956	InsightArns []*string `type:"list"`
33957
33958	// The maximum number of items to return in the response.
33959	MaxResults *int64 `min:"1" type:"integer"`
33960
33961	// The token that is required for pagination. On your first call to the GetInsights
33962	// operation, set the value of this parameter to NULL.
33963	//
33964	// For subsequent calls to the operation, to continue listing data, set the
33965	// value of this parameter to the value returned from the previous response.
33966	NextToken *string `type:"string"`
33967}
33968
33969// String returns the string representation.
33970//
33971// API parameter values that are decorated as "sensitive" in the API will not
33972// be included in the string output. The member name will be present, but the
33973// value will be replaced with "sensitive".
33974func (s GetInsightsInput) String() string {
33975	return awsutil.Prettify(s)
33976}
33977
33978// GoString returns the string representation.
33979//
33980// API parameter values that are decorated as "sensitive" in the API will not
33981// be included in the string output. The member name will be present, but the
33982// value will be replaced with "sensitive".
33983func (s GetInsightsInput) GoString() string {
33984	return s.String()
33985}
33986
33987// Validate inspects the fields of the type to determine if they are valid.
33988func (s *GetInsightsInput) Validate() error {
33989	invalidParams := request.ErrInvalidParams{Context: "GetInsightsInput"}
33990	if s.MaxResults != nil && *s.MaxResults < 1 {
33991		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
33992	}
33993
33994	if invalidParams.Len() > 0 {
33995		return invalidParams
33996	}
33997	return nil
33998}
33999
34000// SetInsightArns sets the InsightArns field's value.
34001func (s *GetInsightsInput) SetInsightArns(v []*string) *GetInsightsInput {
34002	s.InsightArns = v
34003	return s
34004}
34005
34006// SetMaxResults sets the MaxResults field's value.
34007func (s *GetInsightsInput) SetMaxResults(v int64) *GetInsightsInput {
34008	s.MaxResults = &v
34009	return s
34010}
34011
34012// SetNextToken sets the NextToken field's value.
34013func (s *GetInsightsInput) SetNextToken(v string) *GetInsightsInput {
34014	s.NextToken = &v
34015	return s
34016}
34017
34018type GetInsightsOutput struct {
34019	_ struct{} `type:"structure"`
34020
34021	// The insights returned by the operation.
34022	//
34023	// Insights is a required field
34024	Insights []*Insight `type:"list" required:"true"`
34025
34026	// The pagination token to use to request the next page of results.
34027	NextToken *string `type:"string"`
34028}
34029
34030// String returns the string representation.
34031//
34032// API parameter values that are decorated as "sensitive" in the API will not
34033// be included in the string output. The member name will be present, but the
34034// value will be replaced with "sensitive".
34035func (s GetInsightsOutput) String() string {
34036	return awsutil.Prettify(s)
34037}
34038
34039// GoString returns the string representation.
34040//
34041// API parameter values that are decorated as "sensitive" in the API will not
34042// be included in the string output. The member name will be present, but the
34043// value will be replaced with "sensitive".
34044func (s GetInsightsOutput) GoString() string {
34045	return s.String()
34046}
34047
34048// SetInsights sets the Insights field's value.
34049func (s *GetInsightsOutput) SetInsights(v []*Insight) *GetInsightsOutput {
34050	s.Insights = v
34051	return s
34052}
34053
34054// SetNextToken sets the NextToken field's value.
34055func (s *GetInsightsOutput) SetNextToken(v string) *GetInsightsOutput {
34056	s.NextToken = &v
34057	return s
34058}
34059
34060type GetInvitationsCountInput struct {
34061	_ struct{} `type:"structure" nopayload:"true"`
34062}
34063
34064// String returns the string representation.
34065//
34066// API parameter values that are decorated as "sensitive" in the API will not
34067// be included in the string output. The member name will be present, but the
34068// value will be replaced with "sensitive".
34069func (s GetInvitationsCountInput) String() string {
34070	return awsutil.Prettify(s)
34071}
34072
34073// GoString returns the string representation.
34074//
34075// API parameter values that are decorated as "sensitive" in the API will not
34076// be included in the string output. The member name will be present, but the
34077// value will be replaced with "sensitive".
34078func (s GetInvitationsCountInput) GoString() string {
34079	return s.String()
34080}
34081
34082type GetInvitationsCountOutput struct {
34083	_ struct{} `type:"structure"`
34084
34085	// The number of all membership invitations sent to this Security Hub member
34086	// account, not including the currently accepted invitation.
34087	InvitationsCount *int64 `type:"integer"`
34088}
34089
34090// String returns the string representation.
34091//
34092// API parameter values that are decorated as "sensitive" in the API will not
34093// be included in the string output. The member name will be present, but the
34094// value will be replaced with "sensitive".
34095func (s GetInvitationsCountOutput) String() string {
34096	return awsutil.Prettify(s)
34097}
34098
34099// GoString returns the string representation.
34100//
34101// API parameter values that are decorated as "sensitive" in the API will not
34102// be included in the string output. The member name will be present, but the
34103// value will be replaced with "sensitive".
34104func (s GetInvitationsCountOutput) GoString() string {
34105	return s.String()
34106}
34107
34108// SetInvitationsCount sets the InvitationsCount field's value.
34109func (s *GetInvitationsCountOutput) SetInvitationsCount(v int64) *GetInvitationsCountOutput {
34110	s.InvitationsCount = &v
34111	return s
34112}
34113
34114type GetMasterAccountInput struct {
34115	_ struct{} `type:"structure" nopayload:"true"`
34116}
34117
34118// String returns the string representation.
34119//
34120// API parameter values that are decorated as "sensitive" in the API will not
34121// be included in the string output. The member name will be present, but the
34122// value will be replaced with "sensitive".
34123func (s GetMasterAccountInput) String() string {
34124	return awsutil.Prettify(s)
34125}
34126
34127// GoString returns the string representation.
34128//
34129// API parameter values that are decorated as "sensitive" in the API will not
34130// be included in the string output. The member name will be present, but the
34131// value will be replaced with "sensitive".
34132func (s GetMasterAccountInput) GoString() string {
34133	return s.String()
34134}
34135
34136type GetMasterAccountOutput struct {
34137	_ struct{} `type:"structure"`
34138
34139	// A list of details about the Security Hub administrator account for the current
34140	// member account.
34141	Master *Invitation `type:"structure"`
34142}
34143
34144// String returns the string representation.
34145//
34146// API parameter values that are decorated as "sensitive" in the API will not
34147// be included in the string output. The member name will be present, but the
34148// value will be replaced with "sensitive".
34149func (s GetMasterAccountOutput) String() string {
34150	return awsutil.Prettify(s)
34151}
34152
34153// GoString returns the string representation.
34154//
34155// API parameter values that are decorated as "sensitive" in the API will not
34156// be included in the string output. The member name will be present, but the
34157// value will be replaced with "sensitive".
34158func (s GetMasterAccountOutput) GoString() string {
34159	return s.String()
34160}
34161
34162// SetMaster sets the Master field's value.
34163func (s *GetMasterAccountOutput) SetMaster(v *Invitation) *GetMasterAccountOutput {
34164	s.Master = v
34165	return s
34166}
34167
34168type GetMembersInput struct {
34169	_ struct{} `type:"structure"`
34170
34171	// The list of account IDs for the Security Hub member accounts to return the
34172	// details for.
34173	//
34174	// AccountIds is a required field
34175	AccountIds []*string `type:"list" required:"true"`
34176}
34177
34178// String returns the string representation.
34179//
34180// API parameter values that are decorated as "sensitive" in the API will not
34181// be included in the string output. The member name will be present, but the
34182// value will be replaced with "sensitive".
34183func (s GetMembersInput) String() string {
34184	return awsutil.Prettify(s)
34185}
34186
34187// GoString returns the string representation.
34188//
34189// API parameter values that are decorated as "sensitive" in the API will not
34190// be included in the string output. The member name will be present, but the
34191// value will be replaced with "sensitive".
34192func (s GetMembersInput) GoString() string {
34193	return s.String()
34194}
34195
34196// Validate inspects the fields of the type to determine if they are valid.
34197func (s *GetMembersInput) Validate() error {
34198	invalidParams := request.ErrInvalidParams{Context: "GetMembersInput"}
34199	if s.AccountIds == nil {
34200		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
34201	}
34202
34203	if invalidParams.Len() > 0 {
34204		return invalidParams
34205	}
34206	return nil
34207}
34208
34209// SetAccountIds sets the AccountIds field's value.
34210func (s *GetMembersInput) SetAccountIds(v []*string) *GetMembersInput {
34211	s.AccountIds = v
34212	return s
34213}
34214
34215type GetMembersOutput struct {
34216	_ struct{} `type:"structure"`
34217
34218	// The list of details about the Security Hub member accounts.
34219	Members []*Member `type:"list"`
34220
34221	// The list of Amazon Web Services accounts that could not be processed. For
34222	// each account, the list includes the account ID and the email address.
34223	UnprocessedAccounts []*Result `type:"list"`
34224}
34225
34226// String returns the string representation.
34227//
34228// API parameter values that are decorated as "sensitive" in the API will not
34229// be included in the string output. The member name will be present, but the
34230// value will be replaced with "sensitive".
34231func (s GetMembersOutput) String() string {
34232	return awsutil.Prettify(s)
34233}
34234
34235// GoString returns the string representation.
34236//
34237// API parameter values that are decorated as "sensitive" in the API will not
34238// be included in the string output. The member name will be present, but the
34239// value will be replaced with "sensitive".
34240func (s GetMembersOutput) GoString() string {
34241	return s.String()
34242}
34243
34244// SetMembers sets the Members field's value.
34245func (s *GetMembersOutput) SetMembers(v []*Member) *GetMembersOutput {
34246	s.Members = v
34247	return s
34248}
34249
34250// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
34251func (s *GetMembersOutput) SetUnprocessedAccounts(v []*Result) *GetMembersOutput {
34252	s.UnprocessedAccounts = v
34253	return s
34254}
34255
34256// An Internet Control Message Protocol (ICMP) type and code.
34257type IcmpTypeCode struct {
34258	_ struct{} `type:"structure"`
34259
34260	// The ICMP code for which to deny or allow access. To deny or allow all codes,
34261	// use the value -1.
34262	Code *int64 `type:"integer"`
34263
34264	// The ICMP type for which to deny or allow access. To deny or allow all types,
34265	// use the value -1.
34266	Type *int64 `type:"integer"`
34267}
34268
34269// String returns the string representation.
34270//
34271// API parameter values that are decorated as "sensitive" in the API will not
34272// be included in the string output. The member name will be present, but the
34273// value will be replaced with "sensitive".
34274func (s IcmpTypeCode) String() string {
34275	return awsutil.Prettify(s)
34276}
34277
34278// GoString returns the string representation.
34279//
34280// API parameter values that are decorated as "sensitive" in the API will not
34281// be included in the string output. The member name will be present, but the
34282// value will be replaced with "sensitive".
34283func (s IcmpTypeCode) GoString() string {
34284	return s.String()
34285}
34286
34287// SetCode sets the Code field's value.
34288func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
34289	s.Code = &v
34290	return s
34291}
34292
34293// SetType sets the Type field's value.
34294func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
34295	s.Type = &v
34296	return s
34297}
34298
34299// The list of the findings that cannot be imported. For each finding, the list
34300// provides the error.
34301type ImportFindingsError struct {
34302	_ struct{} `type:"structure"`
34303
34304	// The code of the error returned by the BatchImportFindings operation.
34305	//
34306	// ErrorCode is a required field
34307	ErrorCode *string `type:"string" required:"true"`
34308
34309	// The message of the error returned by the BatchImportFindings operation.
34310	//
34311	// ErrorMessage is a required field
34312	ErrorMessage *string `type:"string" required:"true"`
34313
34314	// The identifier of the finding that could not be updated.
34315	//
34316	// Id is a required field
34317	Id *string `type:"string" required:"true"`
34318}
34319
34320// String returns the string representation.
34321//
34322// API parameter values that are decorated as "sensitive" in the API will not
34323// be included in the string output. The member name will be present, but the
34324// value will be replaced with "sensitive".
34325func (s ImportFindingsError) String() string {
34326	return awsutil.Prettify(s)
34327}
34328
34329// GoString returns the string representation.
34330//
34331// API parameter values that are decorated as "sensitive" in the API will not
34332// be included in the string output. The member name will be present, but the
34333// value will be replaced with "sensitive".
34334func (s ImportFindingsError) GoString() string {
34335	return s.String()
34336}
34337
34338// SetErrorCode sets the ErrorCode field's value.
34339func (s *ImportFindingsError) SetErrorCode(v string) *ImportFindingsError {
34340	s.ErrorCode = &v
34341	return s
34342}
34343
34344// SetErrorMessage sets the ErrorMessage field's value.
34345func (s *ImportFindingsError) SetErrorMessage(v string) *ImportFindingsError {
34346	s.ErrorMessage = &v
34347	return s
34348}
34349
34350// SetId sets the Id field's value.
34351func (s *ImportFindingsError) SetId(v string) *ImportFindingsError {
34352	s.Id = &v
34353	return s
34354}
34355
34356// Contains information about a Security Hub insight.
34357type Insight struct {
34358	_ struct{} `type:"structure"`
34359
34360	// One or more attributes used to filter the findings included in the insight.
34361	// The insight only includes findings that match the criteria defined in the
34362	// filters.
34363	//
34364	// Filters is a required field
34365	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
34366
34367	// The grouping attribute for the insight's findings. Indicates how to group
34368	// the matching findings, and identifies the type of item that the insight applies
34369	// to. For example, if an insight is grouped by resource identifier, then the
34370	// insight produces a list of resource identifiers.
34371	//
34372	// GroupByAttribute is a required field
34373	GroupByAttribute *string `type:"string" required:"true"`
34374
34375	// The ARN of a Security Hub insight.
34376	//
34377	// InsightArn is a required field
34378	InsightArn *string `type:"string" required:"true"`
34379
34380	// The name of a Security Hub insight.
34381	//
34382	// Name is a required field
34383	Name *string `type:"string" required:"true"`
34384}
34385
34386// String returns the string representation.
34387//
34388// API parameter values that are decorated as "sensitive" in the API will not
34389// be included in the string output. The member name will be present, but the
34390// value will be replaced with "sensitive".
34391func (s Insight) String() string {
34392	return awsutil.Prettify(s)
34393}
34394
34395// GoString returns the string representation.
34396//
34397// API parameter values that are decorated as "sensitive" in the API will not
34398// be included in the string output. The member name will be present, but the
34399// value will be replaced with "sensitive".
34400func (s Insight) GoString() string {
34401	return s.String()
34402}
34403
34404// SetFilters sets the Filters field's value.
34405func (s *Insight) SetFilters(v *AwsSecurityFindingFilters) *Insight {
34406	s.Filters = v
34407	return s
34408}
34409
34410// SetGroupByAttribute sets the GroupByAttribute field's value.
34411func (s *Insight) SetGroupByAttribute(v string) *Insight {
34412	s.GroupByAttribute = &v
34413	return s
34414}
34415
34416// SetInsightArn sets the InsightArn field's value.
34417func (s *Insight) SetInsightArn(v string) *Insight {
34418	s.InsightArn = &v
34419	return s
34420}
34421
34422// SetName sets the Name field's value.
34423func (s *Insight) SetName(v string) *Insight {
34424	s.Name = &v
34425	return s
34426}
34427
34428// The insight result values returned by the GetInsightResults operation.
34429type InsightResultValue struct {
34430	_ struct{} `type:"structure"`
34431
34432	// The number of findings returned for each GroupByAttributeValue.
34433	//
34434	// Count is a required field
34435	Count *int64 `type:"integer" required:"true"`
34436
34437	// The value of the attribute that the findings are grouped by for the insight
34438	// whose results are returned by the GetInsightResults operation.
34439	//
34440	// GroupByAttributeValue is a required field
34441	GroupByAttributeValue *string `type:"string" required:"true"`
34442}
34443
34444// String returns the string representation.
34445//
34446// API parameter values that are decorated as "sensitive" in the API will not
34447// be included in the string output. The member name will be present, but the
34448// value will be replaced with "sensitive".
34449func (s InsightResultValue) String() string {
34450	return awsutil.Prettify(s)
34451}
34452
34453// GoString returns the string representation.
34454//
34455// API parameter values that are decorated as "sensitive" in the API will not
34456// be included in the string output. The member name will be present, but the
34457// value will be replaced with "sensitive".
34458func (s InsightResultValue) GoString() string {
34459	return s.String()
34460}
34461
34462// SetCount sets the Count field's value.
34463func (s *InsightResultValue) SetCount(v int64) *InsightResultValue {
34464	s.Count = &v
34465	return s
34466}
34467
34468// SetGroupByAttributeValue sets the GroupByAttributeValue field's value.
34469func (s *InsightResultValue) SetGroupByAttributeValue(v string) *InsightResultValue {
34470	s.GroupByAttributeValue = &v
34471	return s
34472}
34473
34474// The insight results returned by the GetInsightResults operation.
34475type InsightResults struct {
34476	_ struct{} `type:"structure"`
34477
34478	// The attribute that the findings are grouped by for the insight whose results
34479	// are returned by the GetInsightResults operation.
34480	//
34481	// GroupByAttribute is a required field
34482	GroupByAttribute *string `type:"string" required:"true"`
34483
34484	// The ARN of the insight whose results are returned by the GetInsightResults
34485	// operation.
34486	//
34487	// InsightArn is a required field
34488	InsightArn *string `type:"string" required:"true"`
34489
34490	// The list of insight result values returned by the GetInsightResults operation.
34491	//
34492	// ResultValues is a required field
34493	ResultValues []*InsightResultValue `type:"list" required:"true"`
34494}
34495
34496// String returns the string representation.
34497//
34498// API parameter values that are decorated as "sensitive" in the API will not
34499// be included in the string output. The member name will be present, but the
34500// value will be replaced with "sensitive".
34501func (s InsightResults) String() string {
34502	return awsutil.Prettify(s)
34503}
34504
34505// GoString returns the string representation.
34506//
34507// API parameter values that are decorated as "sensitive" in the API will not
34508// be included in the string output. The member name will be present, but the
34509// value will be replaced with "sensitive".
34510func (s InsightResults) GoString() string {
34511	return s.String()
34512}
34513
34514// SetGroupByAttribute sets the GroupByAttribute field's value.
34515func (s *InsightResults) SetGroupByAttribute(v string) *InsightResults {
34516	s.GroupByAttribute = &v
34517	return s
34518}
34519
34520// SetInsightArn sets the InsightArn field's value.
34521func (s *InsightResults) SetInsightArn(v string) *InsightResults {
34522	s.InsightArn = &v
34523	return s
34524}
34525
34526// SetResultValues sets the ResultValues field's value.
34527func (s *InsightResults) SetResultValues(v []*InsightResultValue) *InsightResults {
34528	s.ResultValues = v
34529	return s
34530}
34531
34532// Internal server error.
34533type InternalException struct {
34534	_            struct{}                  `type:"structure"`
34535	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
34536
34537	Code_ *string `locationName:"Code" type:"string"`
34538
34539	Message_ *string `locationName:"Message" type:"string"`
34540}
34541
34542// String returns the string representation.
34543//
34544// API parameter values that are decorated as "sensitive" in the API will not
34545// be included in the string output. The member name will be present, but the
34546// value will be replaced with "sensitive".
34547func (s InternalException) String() string {
34548	return awsutil.Prettify(s)
34549}
34550
34551// GoString returns the string representation.
34552//
34553// API parameter values that are decorated as "sensitive" in the API will not
34554// be included in the string output. The member name will be present, but the
34555// value will be replaced with "sensitive".
34556func (s InternalException) GoString() string {
34557	return s.String()
34558}
34559
34560func newErrorInternalException(v protocol.ResponseMetadata) error {
34561	return &InternalException{
34562		RespMetadata: v,
34563	}
34564}
34565
34566// Code returns the exception type name.
34567func (s *InternalException) Code() string {
34568	return "InternalException"
34569}
34570
34571// Message returns the exception's message.
34572func (s *InternalException) Message() string {
34573	if s.Message_ != nil {
34574		return *s.Message_
34575	}
34576	return ""
34577}
34578
34579// OrigErr always returns nil, satisfies awserr.Error interface.
34580func (s *InternalException) OrigErr() error {
34581	return nil
34582}
34583
34584func (s *InternalException) Error() string {
34585	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
34586}
34587
34588// Status code returns the HTTP status code for the request's response error.
34589func (s *InternalException) StatusCode() int {
34590	return s.RespMetadata.StatusCode
34591}
34592
34593// RequestID returns the service's response RequestID for request.
34594func (s *InternalException) RequestID() string {
34595	return s.RespMetadata.RequestID
34596}
34597
34598// There is an issue with the account used to make the request. Either Security
34599// Hub is not enabled for the account, or the account does not have permission
34600// to perform this action.
34601type InvalidAccessException struct {
34602	_            struct{}                  `type:"structure"`
34603	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
34604
34605	Code_ *string `locationName:"Code" type:"string"`
34606
34607	Message_ *string `locationName:"Message" type:"string"`
34608}
34609
34610// String returns the string representation.
34611//
34612// API parameter values that are decorated as "sensitive" in the API will not
34613// be included in the string output. The member name will be present, but the
34614// value will be replaced with "sensitive".
34615func (s InvalidAccessException) String() string {
34616	return awsutil.Prettify(s)
34617}
34618
34619// GoString returns the string representation.
34620//
34621// API parameter values that are decorated as "sensitive" in the API will not
34622// be included in the string output. The member name will be present, but the
34623// value will be replaced with "sensitive".
34624func (s InvalidAccessException) GoString() string {
34625	return s.String()
34626}
34627
34628func newErrorInvalidAccessException(v protocol.ResponseMetadata) error {
34629	return &InvalidAccessException{
34630		RespMetadata: v,
34631	}
34632}
34633
34634// Code returns the exception type name.
34635func (s *InvalidAccessException) Code() string {
34636	return "InvalidAccessException"
34637}
34638
34639// Message returns the exception's message.
34640func (s *InvalidAccessException) Message() string {
34641	if s.Message_ != nil {
34642		return *s.Message_
34643	}
34644	return ""
34645}
34646
34647// OrigErr always returns nil, satisfies awserr.Error interface.
34648func (s *InvalidAccessException) OrigErr() error {
34649	return nil
34650}
34651
34652func (s *InvalidAccessException) Error() string {
34653	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
34654}
34655
34656// Status code returns the HTTP status code for the request's response error.
34657func (s *InvalidAccessException) StatusCode() int {
34658	return s.RespMetadata.StatusCode
34659}
34660
34661// RequestID returns the service's response RequestID for request.
34662func (s *InvalidAccessException) RequestID() string {
34663	return s.RespMetadata.RequestID
34664}
34665
34666// The request was rejected because you supplied an invalid or out-of-range
34667// value for an input parameter.
34668type InvalidInputException struct {
34669	_            struct{}                  `type:"structure"`
34670	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
34671
34672	Code_ *string `locationName:"Code" type:"string"`
34673
34674	Message_ *string `locationName:"Message" type:"string"`
34675}
34676
34677// String returns the string representation.
34678//
34679// API parameter values that are decorated as "sensitive" in the API will not
34680// be included in the string output. The member name will be present, but the
34681// value will be replaced with "sensitive".
34682func (s InvalidInputException) String() string {
34683	return awsutil.Prettify(s)
34684}
34685
34686// GoString returns the string representation.
34687//
34688// API parameter values that are decorated as "sensitive" in the API will not
34689// be included in the string output. The member name will be present, but the
34690// value will be replaced with "sensitive".
34691func (s InvalidInputException) GoString() string {
34692	return s.String()
34693}
34694
34695func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
34696	return &InvalidInputException{
34697		RespMetadata: v,
34698	}
34699}
34700
34701// Code returns the exception type name.
34702func (s *InvalidInputException) Code() string {
34703	return "InvalidInputException"
34704}
34705
34706// Message returns the exception's message.
34707func (s *InvalidInputException) Message() string {
34708	if s.Message_ != nil {
34709		return *s.Message_
34710	}
34711	return ""
34712}
34713
34714// OrigErr always returns nil, satisfies awserr.Error interface.
34715func (s *InvalidInputException) OrigErr() error {
34716	return nil
34717}
34718
34719func (s *InvalidInputException) Error() string {
34720	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
34721}
34722
34723// Status code returns the HTTP status code for the request's response error.
34724func (s *InvalidInputException) StatusCode() int {
34725	return s.RespMetadata.StatusCode
34726}
34727
34728// RequestID returns the service's response RequestID for request.
34729func (s *InvalidInputException) RequestID() string {
34730	return s.RespMetadata.RequestID
34731}
34732
34733// Details about an invitation.
34734type Invitation struct {
34735	_ struct{} `type:"structure"`
34736
34737	// The account ID of the Security Hub administrator account that the invitation
34738	// was sent from.
34739	AccountId *string `type:"string"`
34740
34741	// The ID of the invitation sent to the member account.
34742	InvitationId *string `type:"string"`
34743
34744	// The timestamp of when the invitation was sent.
34745	InvitedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
34746
34747	// The current status of the association between the member and administrator
34748	// accounts.
34749	MemberStatus *string `type:"string"`
34750}
34751
34752// String returns the string representation.
34753//
34754// API parameter values that are decorated as "sensitive" in the API will not
34755// be included in the string output. The member name will be present, but the
34756// value will be replaced with "sensitive".
34757func (s Invitation) String() string {
34758	return awsutil.Prettify(s)
34759}
34760
34761// GoString returns the string representation.
34762//
34763// API parameter values that are decorated as "sensitive" in the API will not
34764// be included in the string output. The member name will be present, but the
34765// value will be replaced with "sensitive".
34766func (s Invitation) GoString() string {
34767	return s.String()
34768}
34769
34770// SetAccountId sets the AccountId field's value.
34771func (s *Invitation) SetAccountId(v string) *Invitation {
34772	s.AccountId = &v
34773	return s
34774}
34775
34776// SetInvitationId sets the InvitationId field's value.
34777func (s *Invitation) SetInvitationId(v string) *Invitation {
34778	s.InvitationId = &v
34779	return s
34780}
34781
34782// SetInvitedAt sets the InvitedAt field's value.
34783func (s *Invitation) SetInvitedAt(v time.Time) *Invitation {
34784	s.InvitedAt = &v
34785	return s
34786}
34787
34788// SetMemberStatus sets the MemberStatus field's value.
34789func (s *Invitation) SetMemberStatus(v string) *Invitation {
34790	s.MemberStatus = &v
34791	return s
34792}
34793
34794type InviteMembersInput struct {
34795	_ struct{} `type:"structure"`
34796
34797	// The list of account IDs of the Amazon Web Services accounts to invite to
34798	// Security Hub as members.
34799	//
34800	// AccountIds is a required field
34801	AccountIds []*string `type:"list" required:"true"`
34802}
34803
34804// String returns the string representation.
34805//
34806// API parameter values that are decorated as "sensitive" in the API will not
34807// be included in the string output. The member name will be present, but the
34808// value will be replaced with "sensitive".
34809func (s InviteMembersInput) String() string {
34810	return awsutil.Prettify(s)
34811}
34812
34813// GoString returns the string representation.
34814//
34815// API parameter values that are decorated as "sensitive" in the API will not
34816// be included in the string output. The member name will be present, but the
34817// value will be replaced with "sensitive".
34818func (s InviteMembersInput) GoString() string {
34819	return s.String()
34820}
34821
34822// Validate inspects the fields of the type to determine if they are valid.
34823func (s *InviteMembersInput) Validate() error {
34824	invalidParams := request.ErrInvalidParams{Context: "InviteMembersInput"}
34825	if s.AccountIds == nil {
34826		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
34827	}
34828
34829	if invalidParams.Len() > 0 {
34830		return invalidParams
34831	}
34832	return nil
34833}
34834
34835// SetAccountIds sets the AccountIds field's value.
34836func (s *InviteMembersInput) SetAccountIds(v []*string) *InviteMembersInput {
34837	s.AccountIds = v
34838	return s
34839}
34840
34841type InviteMembersOutput struct {
34842	_ struct{} `type:"structure"`
34843
34844	// The list of Amazon Web Services accounts that could not be processed. For
34845	// each account, the list includes the account ID and the email address.
34846	UnprocessedAccounts []*Result `type:"list"`
34847}
34848
34849// String returns the string representation.
34850//
34851// API parameter values that are decorated as "sensitive" in the API will not
34852// be included in the string output. The member name will be present, but the
34853// value will be replaced with "sensitive".
34854func (s InviteMembersOutput) String() string {
34855	return awsutil.Prettify(s)
34856}
34857
34858// GoString returns the string representation.
34859//
34860// API parameter values that are decorated as "sensitive" in the API will not
34861// be included in the string output. The member name will be present, but the
34862// value will be replaced with "sensitive".
34863func (s InviteMembersOutput) GoString() string {
34864	return s.String()
34865}
34866
34867// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
34868func (s *InviteMembersOutput) SetUnprocessedAccounts(v []*Result) *InviteMembersOutput {
34869	s.UnprocessedAccounts = v
34870	return s
34871}
34872
34873// The IP filter for querying findings.
34874type IpFilter struct {
34875	_ struct{} `type:"structure"`
34876
34877	// A finding's CIDR value.
34878	Cidr *string `type:"string"`
34879}
34880
34881// String returns the string representation.
34882//
34883// API parameter values that are decorated as "sensitive" in the API will not
34884// be included in the string output. The member name will be present, but the
34885// value will be replaced with "sensitive".
34886func (s IpFilter) String() string {
34887	return awsutil.Prettify(s)
34888}
34889
34890// GoString returns the string representation.
34891//
34892// API parameter values that are decorated as "sensitive" in the API will not
34893// be included in the string output. The member name will be present, but the
34894// value will be replaced with "sensitive".
34895func (s IpFilter) GoString() string {
34896	return s.String()
34897}
34898
34899// SetCidr sets the Cidr field's value.
34900func (s *IpFilter) SetCidr(v string) *IpFilter {
34901	s.Cidr = &v
34902	return s
34903}
34904
34905// Provides information about an internet provider.
34906type IpOrganizationDetails struct {
34907	_ struct{} `type:"structure"`
34908
34909	// The Autonomous System Number (ASN) of the internet provider
34910	Asn *int64 `type:"integer"`
34911
34912	// The name of the organization that registered the ASN.
34913	AsnOrg *string `type:"string"`
34914
34915	// The ISP information for the internet provider.
34916	Isp *string `type:"string"`
34917
34918	// The name of the internet provider.
34919	Org *string `type:"string"`
34920}
34921
34922// String returns the string representation.
34923//
34924// API parameter values that are decorated as "sensitive" in the API will not
34925// be included in the string output. The member name will be present, but the
34926// value will be replaced with "sensitive".
34927func (s IpOrganizationDetails) String() string {
34928	return awsutil.Prettify(s)
34929}
34930
34931// GoString returns the string representation.
34932//
34933// API parameter values that are decorated as "sensitive" in the API will not
34934// be included in the string output. The member name will be present, but the
34935// value will be replaced with "sensitive".
34936func (s IpOrganizationDetails) GoString() string {
34937	return s.String()
34938}
34939
34940// SetAsn sets the Asn field's value.
34941func (s *IpOrganizationDetails) SetAsn(v int64) *IpOrganizationDetails {
34942	s.Asn = &v
34943	return s
34944}
34945
34946// SetAsnOrg sets the AsnOrg field's value.
34947func (s *IpOrganizationDetails) SetAsnOrg(v string) *IpOrganizationDetails {
34948	s.AsnOrg = &v
34949	return s
34950}
34951
34952// SetIsp sets the Isp field's value.
34953func (s *IpOrganizationDetails) SetIsp(v string) *IpOrganizationDetails {
34954	s.Isp = &v
34955	return s
34956}
34957
34958// SetOrg sets the Org field's value.
34959func (s *IpOrganizationDetails) SetOrg(v string) *IpOrganizationDetails {
34960	s.Org = &v
34961	return s
34962}
34963
34964// An IPV6 CIDR block association.
34965type Ipv6CidrBlockAssociation struct {
34966	_ struct{} `type:"structure"`
34967
34968	// The association ID for the IPv6 CIDR block.
34969	AssociationId *string `type:"string"`
34970
34971	// Information about the state of the CIDR block.
34972	CidrBlockState *string `type:"string"`
34973
34974	// The IPv6 CIDR block.
34975	Ipv6CidrBlock *string `type:"string"`
34976}
34977
34978// String returns the string representation.
34979//
34980// API parameter values that are decorated as "sensitive" in the API will not
34981// be included in the string output. The member name will be present, but the
34982// value will be replaced with "sensitive".
34983func (s Ipv6CidrBlockAssociation) String() string {
34984	return awsutil.Prettify(s)
34985}
34986
34987// GoString returns the string representation.
34988//
34989// API parameter values that are decorated as "sensitive" in the API will not
34990// be included in the string output. The member name will be present, but the
34991// value will be replaced with "sensitive".
34992func (s Ipv6CidrBlockAssociation) GoString() string {
34993	return s.String()
34994}
34995
34996// SetAssociationId sets the AssociationId field's value.
34997func (s *Ipv6CidrBlockAssociation) SetAssociationId(v string) *Ipv6CidrBlockAssociation {
34998	s.AssociationId = &v
34999	return s
35000}
35001
35002// SetCidrBlockState sets the CidrBlockState field's value.
35003func (s *Ipv6CidrBlockAssociation) SetCidrBlockState(v string) *Ipv6CidrBlockAssociation {
35004	s.CidrBlockState = &v
35005	return s
35006}
35007
35008// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
35009func (s *Ipv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *Ipv6CidrBlockAssociation {
35010	s.Ipv6CidrBlock = &v
35011	return s
35012}
35013
35014// A keyword filter for querying findings.
35015type KeywordFilter struct {
35016	_ struct{} `type:"structure"`
35017
35018	// A value for the keyword.
35019	Value *string `type:"string"`
35020}
35021
35022// String returns the string representation.
35023//
35024// API parameter values that are decorated as "sensitive" in the API will not
35025// be included in the string output. The member name will be present, but the
35026// value will be replaced with "sensitive".
35027func (s KeywordFilter) String() string {
35028	return awsutil.Prettify(s)
35029}
35030
35031// GoString returns the string representation.
35032//
35033// API parameter values that are decorated as "sensitive" in the API will not
35034// be included in the string output. The member name will be present, but the
35035// value will be replaced with "sensitive".
35036func (s KeywordFilter) GoString() string {
35037	return s.String()
35038}
35039
35040// SetValue sets the Value field's value.
35041func (s *KeywordFilter) SetValue(v string) *KeywordFilter {
35042	s.Value = &v
35043	return s
35044}
35045
35046// The request was rejected because it attempted to create resources beyond
35047// the current Amazon Web Services account or throttling limits. The error code
35048// describes the limit exceeded.
35049type LimitExceededException struct {
35050	_            struct{}                  `type:"structure"`
35051	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
35052
35053	Code_ *string `locationName:"Code" type:"string"`
35054
35055	Message_ *string `locationName:"Message" type:"string"`
35056}
35057
35058// String returns the string representation.
35059//
35060// API parameter values that are decorated as "sensitive" in the API will not
35061// be included in the string output. The member name will be present, but the
35062// value will be replaced with "sensitive".
35063func (s LimitExceededException) String() string {
35064	return awsutil.Prettify(s)
35065}
35066
35067// GoString returns the string representation.
35068//
35069// API parameter values that are decorated as "sensitive" in the API will not
35070// be included in the string output. The member name will be present, but the
35071// value will be replaced with "sensitive".
35072func (s LimitExceededException) GoString() string {
35073	return s.String()
35074}
35075
35076func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
35077	return &LimitExceededException{
35078		RespMetadata: v,
35079	}
35080}
35081
35082// Code returns the exception type name.
35083func (s *LimitExceededException) Code() string {
35084	return "LimitExceededException"
35085}
35086
35087// Message returns the exception's message.
35088func (s *LimitExceededException) Message() string {
35089	if s.Message_ != nil {
35090		return *s.Message_
35091	}
35092	return ""
35093}
35094
35095// OrigErr always returns nil, satisfies awserr.Error interface.
35096func (s *LimitExceededException) OrigErr() error {
35097	return nil
35098}
35099
35100func (s *LimitExceededException) Error() string {
35101	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
35102}
35103
35104// Status code returns the HTTP status code for the request's response error.
35105func (s *LimitExceededException) StatusCode() int {
35106	return s.RespMetadata.StatusCode
35107}
35108
35109// RequestID returns the service's response RequestID for request.
35110func (s *LimitExceededException) RequestID() string {
35111	return s.RespMetadata.RequestID
35112}
35113
35114type ListEnabledProductsForImportInput struct {
35115	_ struct{} `type:"structure" nopayload:"true"`
35116
35117	// The maximum number of items to return in the response.
35118	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
35119
35120	// The token that is required for pagination. On your first call to the ListEnabledProductsForImport
35121	// operation, set the value of this parameter to NULL.
35122	//
35123	// For subsequent calls to the operation, to continue listing data, set the
35124	// value of this parameter to the value returned from the previous response.
35125	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
35126}
35127
35128// String returns the string representation.
35129//
35130// API parameter values that are decorated as "sensitive" in the API will not
35131// be included in the string output. The member name will be present, but the
35132// value will be replaced with "sensitive".
35133func (s ListEnabledProductsForImportInput) String() string {
35134	return awsutil.Prettify(s)
35135}
35136
35137// GoString returns the string representation.
35138//
35139// API parameter values that are decorated as "sensitive" in the API will not
35140// be included in the string output. The member name will be present, but the
35141// value will be replaced with "sensitive".
35142func (s ListEnabledProductsForImportInput) GoString() string {
35143	return s.String()
35144}
35145
35146// Validate inspects the fields of the type to determine if they are valid.
35147func (s *ListEnabledProductsForImportInput) Validate() error {
35148	invalidParams := request.ErrInvalidParams{Context: "ListEnabledProductsForImportInput"}
35149	if s.MaxResults != nil && *s.MaxResults < 1 {
35150		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
35151	}
35152
35153	if invalidParams.Len() > 0 {
35154		return invalidParams
35155	}
35156	return nil
35157}
35158
35159// SetMaxResults sets the MaxResults field's value.
35160func (s *ListEnabledProductsForImportInput) SetMaxResults(v int64) *ListEnabledProductsForImportInput {
35161	s.MaxResults = &v
35162	return s
35163}
35164
35165// SetNextToken sets the NextToken field's value.
35166func (s *ListEnabledProductsForImportInput) SetNextToken(v string) *ListEnabledProductsForImportInput {
35167	s.NextToken = &v
35168	return s
35169}
35170
35171type ListEnabledProductsForImportOutput struct {
35172	_ struct{} `type:"structure"`
35173
35174	// The pagination token to use to request the next page of results.
35175	NextToken *string `type:"string"`
35176
35177	// The list of ARNs for the resources that represent your subscriptions to products.
35178	ProductSubscriptions []*string `type:"list"`
35179}
35180
35181// String returns the string representation.
35182//
35183// API parameter values that are decorated as "sensitive" in the API will not
35184// be included in the string output. The member name will be present, but the
35185// value will be replaced with "sensitive".
35186func (s ListEnabledProductsForImportOutput) String() string {
35187	return awsutil.Prettify(s)
35188}
35189
35190// GoString returns the string representation.
35191//
35192// API parameter values that are decorated as "sensitive" in the API will not
35193// be included in the string output. The member name will be present, but the
35194// value will be replaced with "sensitive".
35195func (s ListEnabledProductsForImportOutput) GoString() string {
35196	return s.String()
35197}
35198
35199// SetNextToken sets the NextToken field's value.
35200func (s *ListEnabledProductsForImportOutput) SetNextToken(v string) *ListEnabledProductsForImportOutput {
35201	s.NextToken = &v
35202	return s
35203}
35204
35205// SetProductSubscriptions sets the ProductSubscriptions field's value.
35206func (s *ListEnabledProductsForImportOutput) SetProductSubscriptions(v []*string) *ListEnabledProductsForImportOutput {
35207	s.ProductSubscriptions = v
35208	return s
35209}
35210
35211type ListFindingAggregatorsInput struct {
35212	_ struct{} `type:"structure" nopayload:"true"`
35213
35214	// The maximum number of results to return. This operation currently only returns
35215	// a single result.
35216	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
35217
35218	// The token returned with the previous set of results. Identifies the next
35219	// set of results to return.
35220	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
35221}
35222
35223// String returns the string representation.
35224//
35225// API parameter values that are decorated as "sensitive" in the API will not
35226// be included in the string output. The member name will be present, but the
35227// value will be replaced with "sensitive".
35228func (s ListFindingAggregatorsInput) String() string {
35229	return awsutil.Prettify(s)
35230}
35231
35232// GoString returns the string representation.
35233//
35234// API parameter values that are decorated as "sensitive" in the API will not
35235// be included in the string output. The member name will be present, but the
35236// value will be replaced with "sensitive".
35237func (s ListFindingAggregatorsInput) GoString() string {
35238	return s.String()
35239}
35240
35241// Validate inspects the fields of the type to determine if they are valid.
35242func (s *ListFindingAggregatorsInput) Validate() error {
35243	invalidParams := request.ErrInvalidParams{Context: "ListFindingAggregatorsInput"}
35244	if s.MaxResults != nil && *s.MaxResults < 1 {
35245		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
35246	}
35247
35248	if invalidParams.Len() > 0 {
35249		return invalidParams
35250	}
35251	return nil
35252}
35253
35254// SetMaxResults sets the MaxResults field's value.
35255func (s *ListFindingAggregatorsInput) SetMaxResults(v int64) *ListFindingAggregatorsInput {
35256	s.MaxResults = &v
35257	return s
35258}
35259
35260// SetNextToken sets the NextToken field's value.
35261func (s *ListFindingAggregatorsInput) SetNextToken(v string) *ListFindingAggregatorsInput {
35262	s.NextToken = &v
35263	return s
35264}
35265
35266type ListFindingAggregatorsOutput struct {
35267	_ struct{} `type:"structure"`
35268
35269	// The list of finding aggregators. This operation currently only returns a
35270	// single result.
35271	FindingAggregators []*FindingAggregator `type:"list"`
35272
35273	// If there are more results, this is the token to provide in the next call
35274	// to ListFindingAggregators.
35275	//
35276	// This operation currently only returns a single result.
35277	NextToken *string `type:"string"`
35278}
35279
35280// String returns the string representation.
35281//
35282// API parameter values that are decorated as "sensitive" in the API will not
35283// be included in the string output. The member name will be present, but the
35284// value will be replaced with "sensitive".
35285func (s ListFindingAggregatorsOutput) String() string {
35286	return awsutil.Prettify(s)
35287}
35288
35289// GoString returns the string representation.
35290//
35291// API parameter values that are decorated as "sensitive" in the API will not
35292// be included in the string output. The member name will be present, but the
35293// value will be replaced with "sensitive".
35294func (s ListFindingAggregatorsOutput) GoString() string {
35295	return s.String()
35296}
35297
35298// SetFindingAggregators sets the FindingAggregators field's value.
35299func (s *ListFindingAggregatorsOutput) SetFindingAggregators(v []*FindingAggregator) *ListFindingAggregatorsOutput {
35300	s.FindingAggregators = v
35301	return s
35302}
35303
35304// SetNextToken sets the NextToken field's value.
35305func (s *ListFindingAggregatorsOutput) SetNextToken(v string) *ListFindingAggregatorsOutput {
35306	s.NextToken = &v
35307	return s
35308}
35309
35310type ListInvitationsInput struct {
35311	_ struct{} `type:"structure" nopayload:"true"`
35312
35313	// The maximum number of items to return in the response.
35314	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
35315
35316	// The token that is required for pagination. On your first call to the ListInvitations
35317	// operation, set the value of this parameter to NULL.
35318	//
35319	// For subsequent calls to the operation, to continue listing data, set the
35320	// value of this parameter to the value returned from the previous response.
35321	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
35322}
35323
35324// String returns the string representation.
35325//
35326// API parameter values that are decorated as "sensitive" in the API will not
35327// be included in the string output. The member name will be present, but the
35328// value will be replaced with "sensitive".
35329func (s ListInvitationsInput) String() string {
35330	return awsutil.Prettify(s)
35331}
35332
35333// GoString returns the string representation.
35334//
35335// API parameter values that are decorated as "sensitive" in the API will not
35336// be included in the string output. The member name will be present, but the
35337// value will be replaced with "sensitive".
35338func (s ListInvitationsInput) GoString() string {
35339	return s.String()
35340}
35341
35342// Validate inspects the fields of the type to determine if they are valid.
35343func (s *ListInvitationsInput) Validate() error {
35344	invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"}
35345	if s.MaxResults != nil && *s.MaxResults < 1 {
35346		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
35347	}
35348
35349	if invalidParams.Len() > 0 {
35350		return invalidParams
35351	}
35352	return nil
35353}
35354
35355// SetMaxResults sets the MaxResults field's value.
35356func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput {
35357	s.MaxResults = &v
35358	return s
35359}
35360
35361// SetNextToken sets the NextToken field's value.
35362func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput {
35363	s.NextToken = &v
35364	return s
35365}
35366
35367type ListInvitationsOutput struct {
35368	_ struct{} `type:"structure"`
35369
35370	// The details of the invitations returned by the operation.
35371	Invitations []*Invitation `type:"list"`
35372
35373	// The pagination token to use to request the next page of results.
35374	NextToken *string `type:"string"`
35375}
35376
35377// String returns the string representation.
35378//
35379// API parameter values that are decorated as "sensitive" in the API will not
35380// be included in the string output. The member name will be present, but the
35381// value will be replaced with "sensitive".
35382func (s ListInvitationsOutput) String() string {
35383	return awsutil.Prettify(s)
35384}
35385
35386// GoString returns the string representation.
35387//
35388// API parameter values that are decorated as "sensitive" in the API will not
35389// be included in the string output. The member name will be present, but the
35390// value will be replaced with "sensitive".
35391func (s ListInvitationsOutput) GoString() string {
35392	return s.String()
35393}
35394
35395// SetInvitations sets the Invitations field's value.
35396func (s *ListInvitationsOutput) SetInvitations(v []*Invitation) *ListInvitationsOutput {
35397	s.Invitations = v
35398	return s
35399}
35400
35401// SetNextToken sets the NextToken field's value.
35402func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput {
35403	s.NextToken = &v
35404	return s
35405}
35406
35407type ListMembersInput struct {
35408	_ struct{} `type:"structure" nopayload:"true"`
35409
35410	// The maximum number of items to return in the response.
35411	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
35412
35413	// The token that is required for pagination. On your first call to the ListMembers
35414	// operation, set the value of this parameter to NULL.
35415	//
35416	// For subsequent calls to the operation, to continue listing data, set the
35417	// value of this parameter to the value returned from the previous response.
35418	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
35419
35420	// Specifies which member accounts to include in the response based on their
35421	// relationship status with the administrator account. The default value is
35422	// TRUE.
35423	//
35424	// If OnlyAssociated is set to TRUE, the response includes member accounts whose
35425	// relationship status with the administrator account is set to ENABLED.
35426	//
35427	// If OnlyAssociated is set to FALSE, the response includes all existing member
35428	// accounts.
35429	OnlyAssociated *bool `location:"querystring" locationName:"OnlyAssociated" type:"boolean"`
35430}
35431
35432// String returns the string representation.
35433//
35434// API parameter values that are decorated as "sensitive" in the API will not
35435// be included in the string output. The member name will be present, but the
35436// value will be replaced with "sensitive".
35437func (s ListMembersInput) String() string {
35438	return awsutil.Prettify(s)
35439}
35440
35441// GoString returns the string representation.
35442//
35443// API parameter values that are decorated as "sensitive" in the API will not
35444// be included in the string output. The member name will be present, but the
35445// value will be replaced with "sensitive".
35446func (s ListMembersInput) GoString() string {
35447	return s.String()
35448}
35449
35450// Validate inspects the fields of the type to determine if they are valid.
35451func (s *ListMembersInput) Validate() error {
35452	invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"}
35453	if s.MaxResults != nil && *s.MaxResults < 1 {
35454		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
35455	}
35456
35457	if invalidParams.Len() > 0 {
35458		return invalidParams
35459	}
35460	return nil
35461}
35462
35463// SetMaxResults sets the MaxResults field's value.
35464func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput {
35465	s.MaxResults = &v
35466	return s
35467}
35468
35469// SetNextToken sets the NextToken field's value.
35470func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput {
35471	s.NextToken = &v
35472	return s
35473}
35474
35475// SetOnlyAssociated sets the OnlyAssociated field's value.
35476func (s *ListMembersInput) SetOnlyAssociated(v bool) *ListMembersInput {
35477	s.OnlyAssociated = &v
35478	return s
35479}
35480
35481type ListMembersOutput struct {
35482	_ struct{} `type:"structure"`
35483
35484	// Member details returned by the operation.
35485	Members []*Member `type:"list"`
35486
35487	// The pagination token to use to request the next page of results.
35488	NextToken *string `type:"string"`
35489}
35490
35491// String returns the string representation.
35492//
35493// API parameter values that are decorated as "sensitive" in the API will not
35494// be included in the string output. The member name will be present, but the
35495// value will be replaced with "sensitive".
35496func (s ListMembersOutput) String() string {
35497	return awsutil.Prettify(s)
35498}
35499
35500// GoString returns the string representation.
35501//
35502// API parameter values that are decorated as "sensitive" in the API will not
35503// be included in the string output. The member name will be present, but the
35504// value will be replaced with "sensitive".
35505func (s ListMembersOutput) GoString() string {
35506	return s.String()
35507}
35508
35509// SetMembers sets the Members field's value.
35510func (s *ListMembersOutput) SetMembers(v []*Member) *ListMembersOutput {
35511	s.Members = v
35512	return s
35513}
35514
35515// SetNextToken sets the NextToken field's value.
35516func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput {
35517	s.NextToken = &v
35518	return s
35519}
35520
35521type ListOrganizationAdminAccountsInput struct {
35522	_ struct{} `type:"structure" nopayload:"true"`
35523
35524	// The maximum number of items to return in the response.
35525	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
35526
35527	// The token that is required for pagination. On your first call to the ListOrganizationAdminAccounts
35528	// operation, set the value of this parameter to NULL. For subsequent calls
35529	// to the operation, to continue listing data, set the value of this parameter
35530	// to the value returned from the previous response.
35531	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
35532}
35533
35534// String returns the string representation.
35535//
35536// API parameter values that are decorated as "sensitive" in the API will not
35537// be included in the string output. The member name will be present, but the
35538// value will be replaced with "sensitive".
35539func (s ListOrganizationAdminAccountsInput) String() string {
35540	return awsutil.Prettify(s)
35541}
35542
35543// GoString returns the string representation.
35544//
35545// API parameter values that are decorated as "sensitive" in the API will not
35546// be included in the string output. The member name will be present, but the
35547// value will be replaced with "sensitive".
35548func (s ListOrganizationAdminAccountsInput) GoString() string {
35549	return s.String()
35550}
35551
35552// Validate inspects the fields of the type to determine if they are valid.
35553func (s *ListOrganizationAdminAccountsInput) Validate() error {
35554	invalidParams := request.ErrInvalidParams{Context: "ListOrganizationAdminAccountsInput"}
35555	if s.MaxResults != nil && *s.MaxResults < 1 {
35556		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
35557	}
35558
35559	if invalidParams.Len() > 0 {
35560		return invalidParams
35561	}
35562	return nil
35563}
35564
35565// SetMaxResults sets the MaxResults field's value.
35566func (s *ListOrganizationAdminAccountsInput) SetMaxResults(v int64) *ListOrganizationAdminAccountsInput {
35567	s.MaxResults = &v
35568	return s
35569}
35570
35571// SetNextToken sets the NextToken field's value.
35572func (s *ListOrganizationAdminAccountsInput) SetNextToken(v string) *ListOrganizationAdminAccountsInput {
35573	s.NextToken = &v
35574	return s
35575}
35576
35577type ListOrganizationAdminAccountsOutput struct {
35578	_ struct{} `type:"structure"`
35579
35580	// The list of Security Hub administrator accounts.
35581	AdminAccounts []*AdminAccount `type:"list"`
35582
35583	// The pagination token to use to request the next page of results.
35584	NextToken *string `type:"string"`
35585}
35586
35587// String returns the string representation.
35588//
35589// API parameter values that are decorated as "sensitive" in the API will not
35590// be included in the string output. The member name will be present, but the
35591// value will be replaced with "sensitive".
35592func (s ListOrganizationAdminAccountsOutput) String() string {
35593	return awsutil.Prettify(s)
35594}
35595
35596// GoString returns the string representation.
35597//
35598// API parameter values that are decorated as "sensitive" in the API will not
35599// be included in the string output. The member name will be present, but the
35600// value will be replaced with "sensitive".
35601func (s ListOrganizationAdminAccountsOutput) GoString() string {
35602	return s.String()
35603}
35604
35605// SetAdminAccounts sets the AdminAccounts field's value.
35606func (s *ListOrganizationAdminAccountsOutput) SetAdminAccounts(v []*AdminAccount) *ListOrganizationAdminAccountsOutput {
35607	s.AdminAccounts = v
35608	return s
35609}
35610
35611// SetNextToken sets the NextToken field's value.
35612func (s *ListOrganizationAdminAccountsOutput) SetNextToken(v string) *ListOrganizationAdminAccountsOutput {
35613	s.NextToken = &v
35614	return s
35615}
35616
35617type ListTagsForResourceInput struct {
35618	_ struct{} `type:"structure" nopayload:"true"`
35619
35620	// The ARN of the resource to retrieve tags for.
35621	//
35622	// ResourceArn is a required field
35623	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
35624}
35625
35626// String returns the string representation.
35627//
35628// API parameter values that are decorated as "sensitive" in the API will not
35629// be included in the string output. The member name will be present, but the
35630// value will be replaced with "sensitive".
35631func (s ListTagsForResourceInput) String() string {
35632	return awsutil.Prettify(s)
35633}
35634
35635// GoString returns the string representation.
35636//
35637// API parameter values that are decorated as "sensitive" in the API will not
35638// be included in the string output. The member name will be present, but the
35639// value will be replaced with "sensitive".
35640func (s ListTagsForResourceInput) GoString() string {
35641	return s.String()
35642}
35643
35644// Validate inspects the fields of the type to determine if they are valid.
35645func (s *ListTagsForResourceInput) Validate() error {
35646	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
35647	if s.ResourceArn == nil {
35648		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
35649	}
35650	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
35651		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
35652	}
35653
35654	if invalidParams.Len() > 0 {
35655		return invalidParams
35656	}
35657	return nil
35658}
35659
35660// SetResourceArn sets the ResourceArn field's value.
35661func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
35662	s.ResourceArn = &v
35663	return s
35664}
35665
35666type ListTagsForResourceOutput struct {
35667	_ struct{} `type:"structure"`
35668
35669	// The tags associated with a resource.
35670	Tags map[string]*string `min:"1" type:"map"`
35671}
35672
35673// String returns the string representation.
35674//
35675// API parameter values that are decorated as "sensitive" in the API will not
35676// be included in the string output. The member name will be present, but the
35677// value will be replaced with "sensitive".
35678func (s ListTagsForResourceOutput) String() string {
35679	return awsutil.Prettify(s)
35680}
35681
35682// GoString returns the string representation.
35683//
35684// API parameter values that are decorated as "sensitive" in the API will not
35685// be included in the string output. The member name will be present, but the
35686// value will be replaced with "sensitive".
35687func (s ListTagsForResourceOutput) GoString() string {
35688	return s.String()
35689}
35690
35691// SetTags sets the Tags field's value.
35692func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
35693	s.Tags = v
35694	return s
35695}
35696
35697// Information about the state of the load balancer.
35698type LoadBalancerState struct {
35699	_ struct{} `type:"structure"`
35700
35701	// The state code. The initial state of the load balancer is provisioning.
35702	//
35703	// After the load balancer is fully set up and ready to route traffic, its state
35704	// is active.
35705	//
35706	// If the load balancer could not be set up, its state is failed.
35707	Code *string `type:"string"`
35708
35709	// A description of the state.
35710	Reason *string `type:"string"`
35711}
35712
35713// String returns the string representation.
35714//
35715// API parameter values that are decorated as "sensitive" in the API will not
35716// be included in the string output. The member name will be present, but the
35717// value will be replaced with "sensitive".
35718func (s LoadBalancerState) String() string {
35719	return awsutil.Prettify(s)
35720}
35721
35722// GoString returns the string representation.
35723//
35724// API parameter values that are decorated as "sensitive" in the API will not
35725// be included in the string output. The member name will be present, but the
35726// value will be replaced with "sensitive".
35727func (s LoadBalancerState) GoString() string {
35728	return s.String()
35729}
35730
35731// SetCode sets the Code field's value.
35732func (s *LoadBalancerState) SetCode(v string) *LoadBalancerState {
35733	s.Code = &v
35734	return s
35735}
35736
35737// SetReason sets the Reason field's value.
35738func (s *LoadBalancerState) SetReason(v string) *LoadBalancerState {
35739	s.Reason = &v
35740	return s
35741}
35742
35743// A list of malware related to a finding.
35744type Malware struct {
35745	_ struct{} `type:"structure"`
35746
35747	// The name of the malware that was observed.
35748	//
35749	// Name is a required field
35750	Name *string `type:"string" required:"true"`
35751
35752	// The file system path of the malware that was observed.
35753	Path *string `type:"string"`
35754
35755	// The state of the malware that was observed.
35756	State *string `type:"string" enum:"MalwareState"`
35757
35758	// The type of the malware that was observed.
35759	Type *string `type:"string" enum:"MalwareType"`
35760}
35761
35762// String returns the string representation.
35763//
35764// API parameter values that are decorated as "sensitive" in the API will not
35765// be included in the string output. The member name will be present, but the
35766// value will be replaced with "sensitive".
35767func (s Malware) String() string {
35768	return awsutil.Prettify(s)
35769}
35770
35771// GoString returns the string representation.
35772//
35773// API parameter values that are decorated as "sensitive" in the API will not
35774// be included in the string output. The member name will be present, but the
35775// value will be replaced with "sensitive".
35776func (s Malware) GoString() string {
35777	return s.String()
35778}
35779
35780// Validate inspects the fields of the type to determine if they are valid.
35781func (s *Malware) Validate() error {
35782	invalidParams := request.ErrInvalidParams{Context: "Malware"}
35783	if s.Name == nil {
35784		invalidParams.Add(request.NewErrParamRequired("Name"))
35785	}
35786
35787	if invalidParams.Len() > 0 {
35788		return invalidParams
35789	}
35790	return nil
35791}
35792
35793// SetName sets the Name field's value.
35794func (s *Malware) SetName(v string) *Malware {
35795	s.Name = &v
35796	return s
35797}
35798
35799// SetPath sets the Path field's value.
35800func (s *Malware) SetPath(v string) *Malware {
35801	s.Path = &v
35802	return s
35803}
35804
35805// SetState sets the State field's value.
35806func (s *Malware) SetState(v string) *Malware {
35807	s.State = &v
35808	return s
35809}
35810
35811// SetType sets the Type field's value.
35812func (s *Malware) SetType(v string) *Malware {
35813	s.Type = &v
35814	return s
35815}
35816
35817// A map filter for querying findings. Each map filter provides the field to
35818// check, the value to look for, and the comparison operator.
35819type MapFilter struct {
35820	_ struct{} `type:"structure"`
35821
35822	// The condition to apply to the key value when querying for findings with a
35823	// map filter.
35824	//
35825	// To search for values that exactly match the filter value, use EQUALS. For
35826	// example, for the ResourceTags field, the filter Department EQUALS Security
35827	// matches findings that have the value Security for the tag Department.
35828	//
35829	// To search for values other than the filter value, use NOT_EQUALS. For example,
35830	// for the ResourceTags field, the filter Department NOT_EQUALS Finance matches
35831	// findings that do not have the value Finance for the tag Department.
35832	//
35833	// EQUALS filters on the same field are joined by OR. A finding matches if it
35834	// matches any one of those filters.
35835	//
35836	// NOT_EQUALS filters on the same field are joined by AND. A finding matches
35837	// only if it matches all of those filters.
35838	//
35839	// You cannot have both an EQUALS filter and a NOT_EQUALS filter on the same
35840	// field.
35841	Comparison *string `type:"string" enum:"MapFilterComparison"`
35842
35843	// The key of the map filter. For example, for ResourceTags, Key identifies
35844	// the name of the tag. For UserDefinedFields, Key is the name of the field.
35845	Key *string `type:"string"`
35846
35847	// The value for the key in the map filter. Filter values are case sensitive.
35848	// For example, one of the values for a tag called Department might be Security.
35849	// If you provide security as the filter value, then there is no match.
35850	Value *string `type:"string"`
35851}
35852
35853// String returns the string representation.
35854//
35855// API parameter values that are decorated as "sensitive" in the API will not
35856// be included in the string output. The member name will be present, but the
35857// value will be replaced with "sensitive".
35858func (s MapFilter) String() string {
35859	return awsutil.Prettify(s)
35860}
35861
35862// GoString returns the string representation.
35863//
35864// API parameter values that are decorated as "sensitive" in the API will not
35865// be included in the string output. The member name will be present, but the
35866// value will be replaced with "sensitive".
35867func (s MapFilter) GoString() string {
35868	return s.String()
35869}
35870
35871// SetComparison sets the Comparison field's value.
35872func (s *MapFilter) SetComparison(v string) *MapFilter {
35873	s.Comparison = &v
35874	return s
35875}
35876
35877// SetKey sets the Key field's value.
35878func (s *MapFilter) SetKey(v string) *MapFilter {
35879	s.Key = &v
35880	return s
35881}
35882
35883// SetValue sets the Value field's value.
35884func (s *MapFilter) SetValue(v string) *MapFilter {
35885	s.Value = &v
35886	return s
35887}
35888
35889// The details about a member account.
35890type Member struct {
35891	_ struct{} `type:"structure"`
35892
35893	// The Amazon Web Services account ID of the member account.
35894	AccountId *string `type:"string"`
35895
35896	// The Amazon Web Services account ID of the Security Hub administrator account
35897	// associated with this member account.
35898	AdministratorId *string `type:"string"`
35899
35900	// The email address of the member account.
35901	Email *string `type:"string"`
35902
35903	// A timestamp for the date and time when the invitation was sent to the member
35904	// account.
35905	InvitedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
35906
35907	// This is replaced by AdministratorID.
35908	//
35909	// The Amazon Web Services account ID of the Security Hub administrator account
35910	// associated with this member account.
35911	//
35912	// Deprecated: This field is deprecated, use AdministratorId instead.
35913	MasterId *string `deprecated:"true" type:"string"`
35914
35915	// The status of the relationship between the member account and its administrator
35916	// account.
35917	//
35918	// The status can have one of the following values:
35919	//
35920	//    * CREATED - Indicates that the administrator account added the member
35921	//    account, but has not yet invited the member account.
35922	//
35923	//    * INVITED - Indicates that the administrator account invited the member
35924	//    account. The member account has not yet responded to the invitation.
35925	//
35926	//    * ENABLED - Indicates that the member account is currently active. For
35927	//    manually invited member accounts, indicates that the member account accepted
35928	//    the invitation.
35929	//
35930	//    * REMOVED - Indicates that the administrator account disassociated the
35931	//    member account.
35932	//
35933	//    * RESIGNED - Indicates that the member account disassociated themselves
35934	//    from the administrator account.
35935	//
35936	//    * DELETED - Indicates that the administrator account deleted the member
35937	//    account.
35938	//
35939	//    * ACCOUNT_SUSPENDED - Indicates that an organization account was suspended
35940	//    from Amazon Web Services at the same time that the administrator account
35941	//    tried to enable the organization account as a member account.
35942	MemberStatus *string `type:"string"`
35943
35944	// The timestamp for the date and time when the member account was updated.
35945	UpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
35946}
35947
35948// String returns the string representation.
35949//
35950// API parameter values that are decorated as "sensitive" in the API will not
35951// be included in the string output. The member name will be present, but the
35952// value will be replaced with "sensitive".
35953func (s Member) String() string {
35954	return awsutil.Prettify(s)
35955}
35956
35957// GoString returns the string representation.
35958//
35959// API parameter values that are decorated as "sensitive" in the API will not
35960// be included in the string output. The member name will be present, but the
35961// value will be replaced with "sensitive".
35962func (s Member) GoString() string {
35963	return s.String()
35964}
35965
35966// SetAccountId sets the AccountId field's value.
35967func (s *Member) SetAccountId(v string) *Member {
35968	s.AccountId = &v
35969	return s
35970}
35971
35972// SetAdministratorId sets the AdministratorId field's value.
35973func (s *Member) SetAdministratorId(v string) *Member {
35974	s.AdministratorId = &v
35975	return s
35976}
35977
35978// SetEmail sets the Email field's value.
35979func (s *Member) SetEmail(v string) *Member {
35980	s.Email = &v
35981	return s
35982}
35983
35984// SetInvitedAt sets the InvitedAt field's value.
35985func (s *Member) SetInvitedAt(v time.Time) *Member {
35986	s.InvitedAt = &v
35987	return s
35988}
35989
35990// SetMasterId sets the MasterId field's value.
35991func (s *Member) SetMasterId(v string) *Member {
35992	s.MasterId = &v
35993	return s
35994}
35995
35996// SetMemberStatus sets the MemberStatus field's value.
35997func (s *Member) SetMemberStatus(v string) *Member {
35998	s.MemberStatus = &v
35999	return s
36000}
36001
36002// SetUpdatedAt sets the UpdatedAt field's value.
36003func (s *Member) SetUpdatedAt(v time.Time) *Member {
36004	s.UpdatedAt = &v
36005	return s
36006}
36007
36008// The details of network-related information about a finding.
36009type Network struct {
36010	_ struct{} `type:"structure"`
36011
36012	// The destination domain of network-related information about a finding.
36013	DestinationDomain *string `type:"string"`
36014
36015	// The destination IPv4 address of network-related information about a finding.
36016	DestinationIpV4 *string `type:"string"`
36017
36018	// The destination IPv6 address of network-related information about a finding.
36019	DestinationIpV6 *string `type:"string"`
36020
36021	// The destination port of network-related information about a finding.
36022	DestinationPort *int64 `type:"integer"`
36023
36024	// The direction of network traffic associated with a finding.
36025	Direction *string `type:"string" enum:"NetworkDirection"`
36026
36027	// The range of open ports that is present on the network.
36028	OpenPortRange *PortRange `type:"structure"`
36029
36030	// The protocol of network-related information about a finding.
36031	Protocol *string `type:"string"`
36032
36033	// The source domain of network-related information about a finding.
36034	SourceDomain *string `type:"string"`
36035
36036	// The source IPv4 address of network-related information about a finding.
36037	SourceIpV4 *string `type:"string"`
36038
36039	// The source IPv6 address of network-related information about a finding.
36040	SourceIpV6 *string `type:"string"`
36041
36042	// The source media access control (MAC) address of network-related information
36043	// about a finding.
36044	SourceMac *string `type:"string"`
36045
36046	// The source port of network-related information about a finding.
36047	SourcePort *int64 `type:"integer"`
36048}
36049
36050// String returns the string representation.
36051//
36052// API parameter values that are decorated as "sensitive" in the API will not
36053// be included in the string output. The member name will be present, but the
36054// value will be replaced with "sensitive".
36055func (s Network) String() string {
36056	return awsutil.Prettify(s)
36057}
36058
36059// GoString returns the string representation.
36060//
36061// API parameter values that are decorated as "sensitive" in the API will not
36062// be included in the string output. The member name will be present, but the
36063// value will be replaced with "sensitive".
36064func (s Network) GoString() string {
36065	return s.String()
36066}
36067
36068// SetDestinationDomain sets the DestinationDomain field's value.
36069func (s *Network) SetDestinationDomain(v string) *Network {
36070	s.DestinationDomain = &v
36071	return s
36072}
36073
36074// SetDestinationIpV4 sets the DestinationIpV4 field's value.
36075func (s *Network) SetDestinationIpV4(v string) *Network {
36076	s.DestinationIpV4 = &v
36077	return s
36078}
36079
36080// SetDestinationIpV6 sets the DestinationIpV6 field's value.
36081func (s *Network) SetDestinationIpV6(v string) *Network {
36082	s.DestinationIpV6 = &v
36083	return s
36084}
36085
36086// SetDestinationPort sets the DestinationPort field's value.
36087func (s *Network) SetDestinationPort(v int64) *Network {
36088	s.DestinationPort = &v
36089	return s
36090}
36091
36092// SetDirection sets the Direction field's value.
36093func (s *Network) SetDirection(v string) *Network {
36094	s.Direction = &v
36095	return s
36096}
36097
36098// SetOpenPortRange sets the OpenPortRange field's value.
36099func (s *Network) SetOpenPortRange(v *PortRange) *Network {
36100	s.OpenPortRange = v
36101	return s
36102}
36103
36104// SetProtocol sets the Protocol field's value.
36105func (s *Network) SetProtocol(v string) *Network {
36106	s.Protocol = &v
36107	return s
36108}
36109
36110// SetSourceDomain sets the SourceDomain field's value.
36111func (s *Network) SetSourceDomain(v string) *Network {
36112	s.SourceDomain = &v
36113	return s
36114}
36115
36116// SetSourceIpV4 sets the SourceIpV4 field's value.
36117func (s *Network) SetSourceIpV4(v string) *Network {
36118	s.SourceIpV4 = &v
36119	return s
36120}
36121
36122// SetSourceIpV6 sets the SourceIpV6 field's value.
36123func (s *Network) SetSourceIpV6(v string) *Network {
36124	s.SourceIpV6 = &v
36125	return s
36126}
36127
36128// SetSourceMac sets the SourceMac field's value.
36129func (s *Network) SetSourceMac(v string) *Network {
36130	s.SourceMac = &v
36131	return s
36132}
36133
36134// SetSourcePort sets the SourcePort field's value.
36135func (s *Network) SetSourcePort(v int64) *Network {
36136	s.SourcePort = &v
36137	return s
36138}
36139
36140// Provided if ActionType is NETWORK_CONNECTION. It provides details about the
36141// attempted network connection that was detected.
36142type NetworkConnectionAction struct {
36143	_ struct{} `type:"structure"`
36144
36145	// Indicates whether the network connection attempt was blocked.
36146	Blocked *bool `type:"boolean"`
36147
36148	// The direction of the network connection request (IN or OUT).
36149	ConnectionDirection *string `type:"string"`
36150
36151	// Information about the port on the EC2 instance.
36152	LocalPortDetails *ActionLocalPortDetails `type:"structure"`
36153
36154	// The protocol used to make the network connection request.
36155	Protocol *string `type:"string"`
36156
36157	// Information about the remote IP address that issued the network connection
36158	// request.
36159	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
36160
36161	// Information about the port on the remote IP address.
36162	RemotePortDetails *ActionRemotePortDetails `type:"structure"`
36163}
36164
36165// String returns the string representation.
36166//
36167// API parameter values that are decorated as "sensitive" in the API will not
36168// be included in the string output. The member name will be present, but the
36169// value will be replaced with "sensitive".
36170func (s NetworkConnectionAction) String() string {
36171	return awsutil.Prettify(s)
36172}
36173
36174// GoString returns the string representation.
36175//
36176// API parameter values that are decorated as "sensitive" in the API will not
36177// be included in the string output. The member name will be present, but the
36178// value will be replaced with "sensitive".
36179func (s NetworkConnectionAction) GoString() string {
36180	return s.String()
36181}
36182
36183// SetBlocked sets the Blocked field's value.
36184func (s *NetworkConnectionAction) SetBlocked(v bool) *NetworkConnectionAction {
36185	s.Blocked = &v
36186	return s
36187}
36188
36189// SetConnectionDirection sets the ConnectionDirection field's value.
36190func (s *NetworkConnectionAction) SetConnectionDirection(v string) *NetworkConnectionAction {
36191	s.ConnectionDirection = &v
36192	return s
36193}
36194
36195// SetLocalPortDetails sets the LocalPortDetails field's value.
36196func (s *NetworkConnectionAction) SetLocalPortDetails(v *ActionLocalPortDetails) *NetworkConnectionAction {
36197	s.LocalPortDetails = v
36198	return s
36199}
36200
36201// SetProtocol sets the Protocol field's value.
36202func (s *NetworkConnectionAction) SetProtocol(v string) *NetworkConnectionAction {
36203	s.Protocol = &v
36204	return s
36205}
36206
36207// SetRemoteIpDetails sets the RemoteIpDetails field's value.
36208func (s *NetworkConnectionAction) SetRemoteIpDetails(v *ActionRemoteIpDetails) *NetworkConnectionAction {
36209	s.RemoteIpDetails = v
36210	return s
36211}
36212
36213// SetRemotePortDetails sets the RemotePortDetails field's value.
36214func (s *NetworkConnectionAction) SetRemotePortDetails(v *ActionRemotePortDetails) *NetworkConnectionAction {
36215	s.RemotePortDetails = v
36216	return s
36217}
36218
36219// Details about a network path component that occurs before or after the current
36220// component.
36221type NetworkHeader struct {
36222	_ struct{} `type:"structure"`
36223
36224	// Information about the destination of the component.
36225	Destination *NetworkPathComponentDetails `type:"structure"`
36226
36227	// The protocol used for the component.
36228	Protocol *string `type:"string"`
36229
36230	// Information about the origin of the component.
36231	Source *NetworkPathComponentDetails `type:"structure"`
36232}
36233
36234// String returns the string representation.
36235//
36236// API parameter values that are decorated as "sensitive" in the API will not
36237// be included in the string output. The member name will be present, but the
36238// value will be replaced with "sensitive".
36239func (s NetworkHeader) String() string {
36240	return awsutil.Prettify(s)
36241}
36242
36243// GoString returns the string representation.
36244//
36245// API parameter values that are decorated as "sensitive" in the API will not
36246// be included in the string output. The member name will be present, but the
36247// value will be replaced with "sensitive".
36248func (s NetworkHeader) GoString() string {
36249	return s.String()
36250}
36251
36252// SetDestination sets the Destination field's value.
36253func (s *NetworkHeader) SetDestination(v *NetworkPathComponentDetails) *NetworkHeader {
36254	s.Destination = v
36255	return s
36256}
36257
36258// SetProtocol sets the Protocol field's value.
36259func (s *NetworkHeader) SetProtocol(v string) *NetworkHeader {
36260	s.Protocol = &v
36261	return s
36262}
36263
36264// SetSource sets the Source field's value.
36265func (s *NetworkHeader) SetSource(v *NetworkPathComponentDetails) *NetworkHeader {
36266	s.Source = v
36267	return s
36268}
36269
36270// Information about a network path component.
36271type NetworkPathComponent struct {
36272	_ struct{} `type:"structure"`
36273
36274	// The identifier of a component in the network path.
36275	ComponentId *string `type:"string"`
36276
36277	// The type of component.
36278	ComponentType *string `type:"string"`
36279
36280	// Information about the component that comes after the current component in
36281	// the network path.
36282	Egress *NetworkHeader `type:"structure"`
36283
36284	// Information about the component that comes before the current node in the
36285	// network path.
36286	Ingress *NetworkHeader `type:"structure"`
36287}
36288
36289// String returns the string representation.
36290//
36291// API parameter values that are decorated as "sensitive" in the API will not
36292// be included in the string output. The member name will be present, but the
36293// value will be replaced with "sensitive".
36294func (s NetworkPathComponent) String() string {
36295	return awsutil.Prettify(s)
36296}
36297
36298// GoString returns the string representation.
36299//
36300// API parameter values that are decorated as "sensitive" in the API will not
36301// be included in the string output. The member name will be present, but the
36302// value will be replaced with "sensitive".
36303func (s NetworkPathComponent) GoString() string {
36304	return s.String()
36305}
36306
36307// SetComponentId sets the ComponentId field's value.
36308func (s *NetworkPathComponent) SetComponentId(v string) *NetworkPathComponent {
36309	s.ComponentId = &v
36310	return s
36311}
36312
36313// SetComponentType sets the ComponentType field's value.
36314func (s *NetworkPathComponent) SetComponentType(v string) *NetworkPathComponent {
36315	s.ComponentType = &v
36316	return s
36317}
36318
36319// SetEgress sets the Egress field's value.
36320func (s *NetworkPathComponent) SetEgress(v *NetworkHeader) *NetworkPathComponent {
36321	s.Egress = v
36322	return s
36323}
36324
36325// SetIngress sets the Ingress field's value.
36326func (s *NetworkPathComponent) SetIngress(v *NetworkHeader) *NetworkPathComponent {
36327	s.Ingress = v
36328	return s
36329}
36330
36331// Information about the destination of the next component in the network path.
36332type NetworkPathComponentDetails struct {
36333	_ struct{} `type:"structure"`
36334
36335	// The IP addresses of the destination.
36336	Address []*string `type:"list"`
36337
36338	// A list of port ranges for the destination.
36339	PortRanges []*PortRange `type:"list"`
36340}
36341
36342// String returns the string representation.
36343//
36344// API parameter values that are decorated as "sensitive" in the API will not
36345// be included in the string output. The member name will be present, but the
36346// value will be replaced with "sensitive".
36347func (s NetworkPathComponentDetails) String() string {
36348	return awsutil.Prettify(s)
36349}
36350
36351// GoString returns the string representation.
36352//
36353// API parameter values that are decorated as "sensitive" in the API will not
36354// be included in the string output. The member name will be present, but the
36355// value will be replaced with "sensitive".
36356func (s NetworkPathComponentDetails) GoString() string {
36357	return s.String()
36358}
36359
36360// SetAddress sets the Address field's value.
36361func (s *NetworkPathComponentDetails) SetAddress(v []*string) *NetworkPathComponentDetails {
36362	s.Address = v
36363	return s
36364}
36365
36366// SetPortRanges sets the PortRanges field's value.
36367func (s *NetworkPathComponentDetails) SetPortRanges(v []*PortRange) *NetworkPathComponentDetails {
36368	s.PortRanges = v
36369	return s
36370}
36371
36372// A user-defined note added to a finding.
36373type Note struct {
36374	_ struct{} `type:"structure"`
36375
36376	// The text of a note.
36377	//
36378	// Text is a required field
36379	Text *string `type:"string" required:"true"`
36380
36381	// The timestamp of when the note was updated.
36382	//
36383	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
36384	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
36385	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
36386	//
36387	// UpdatedAt is a required field
36388	UpdatedAt *string `type:"string" required:"true"`
36389
36390	// The principal that created a note.
36391	//
36392	// UpdatedBy is a required field
36393	UpdatedBy *string `type:"string" required:"true"`
36394}
36395
36396// String returns the string representation.
36397//
36398// API parameter values that are decorated as "sensitive" in the API will not
36399// be included in the string output. The member name will be present, but the
36400// value will be replaced with "sensitive".
36401func (s Note) String() string {
36402	return awsutil.Prettify(s)
36403}
36404
36405// GoString returns the string representation.
36406//
36407// API parameter values that are decorated as "sensitive" in the API will not
36408// be included in the string output. The member name will be present, but the
36409// value will be replaced with "sensitive".
36410func (s Note) GoString() string {
36411	return s.String()
36412}
36413
36414// Validate inspects the fields of the type to determine if they are valid.
36415func (s *Note) Validate() error {
36416	invalidParams := request.ErrInvalidParams{Context: "Note"}
36417	if s.Text == nil {
36418		invalidParams.Add(request.NewErrParamRequired("Text"))
36419	}
36420	if s.UpdatedAt == nil {
36421		invalidParams.Add(request.NewErrParamRequired("UpdatedAt"))
36422	}
36423	if s.UpdatedBy == nil {
36424		invalidParams.Add(request.NewErrParamRequired("UpdatedBy"))
36425	}
36426
36427	if invalidParams.Len() > 0 {
36428		return invalidParams
36429	}
36430	return nil
36431}
36432
36433// SetText sets the Text field's value.
36434func (s *Note) SetText(v string) *Note {
36435	s.Text = &v
36436	return s
36437}
36438
36439// SetUpdatedAt sets the UpdatedAt field's value.
36440func (s *Note) SetUpdatedAt(v string) *Note {
36441	s.UpdatedAt = &v
36442	return s
36443}
36444
36445// SetUpdatedBy sets the UpdatedBy field's value.
36446func (s *Note) SetUpdatedBy(v string) *Note {
36447	s.UpdatedBy = &v
36448	return s
36449}
36450
36451// The updated note.
36452type NoteUpdate struct {
36453	_ struct{} `type:"structure"`
36454
36455	// The updated note text.
36456	//
36457	// Text is a required field
36458	Text *string `type:"string" required:"true"`
36459
36460	// The principal that updated the note.
36461	//
36462	// UpdatedBy is a required field
36463	UpdatedBy *string `type:"string" required:"true"`
36464}
36465
36466// String returns the string representation.
36467//
36468// API parameter values that are decorated as "sensitive" in the API will not
36469// be included in the string output. The member name will be present, but the
36470// value will be replaced with "sensitive".
36471func (s NoteUpdate) String() string {
36472	return awsutil.Prettify(s)
36473}
36474
36475// GoString returns the string representation.
36476//
36477// API parameter values that are decorated as "sensitive" in the API will not
36478// be included in the string output. The member name will be present, but the
36479// value will be replaced with "sensitive".
36480func (s NoteUpdate) GoString() string {
36481	return s.String()
36482}
36483
36484// Validate inspects the fields of the type to determine if they are valid.
36485func (s *NoteUpdate) Validate() error {
36486	invalidParams := request.ErrInvalidParams{Context: "NoteUpdate"}
36487	if s.Text == nil {
36488		invalidParams.Add(request.NewErrParamRequired("Text"))
36489	}
36490	if s.UpdatedBy == nil {
36491		invalidParams.Add(request.NewErrParamRequired("UpdatedBy"))
36492	}
36493
36494	if invalidParams.Len() > 0 {
36495		return invalidParams
36496	}
36497	return nil
36498}
36499
36500// SetText sets the Text field's value.
36501func (s *NoteUpdate) SetText(v string) *NoteUpdate {
36502	s.Text = &v
36503	return s
36504}
36505
36506// SetUpdatedBy sets the UpdatedBy field's value.
36507func (s *NoteUpdate) SetUpdatedBy(v string) *NoteUpdate {
36508	s.UpdatedBy = &v
36509	return s
36510}
36511
36512// A number filter for querying findings.
36513type NumberFilter struct {
36514	_ struct{} `type:"structure"`
36515
36516	// The equal-to condition to be applied to a single field when querying for
36517	// findings.
36518	Eq *float64 `type:"double"`
36519
36520	// The greater-than-equal condition to be applied to a single field when querying
36521	// for findings.
36522	Gte *float64 `type:"double"`
36523
36524	// The less-than-equal condition to be applied to a single field when querying
36525	// for findings.
36526	Lte *float64 `type:"double"`
36527}
36528
36529// String returns the string representation.
36530//
36531// API parameter values that are decorated as "sensitive" in the API will not
36532// be included in the string output. The member name will be present, but the
36533// value will be replaced with "sensitive".
36534func (s NumberFilter) String() string {
36535	return awsutil.Prettify(s)
36536}
36537
36538// GoString returns the string representation.
36539//
36540// API parameter values that are decorated as "sensitive" in the API will not
36541// be included in the string output. The member name will be present, but the
36542// value will be replaced with "sensitive".
36543func (s NumberFilter) GoString() string {
36544	return s.String()
36545}
36546
36547// SetEq sets the Eq field's value.
36548func (s *NumberFilter) SetEq(v float64) *NumberFilter {
36549	s.Eq = &v
36550	return s
36551}
36552
36553// SetGte sets the Gte field's value.
36554func (s *NumberFilter) SetGte(v float64) *NumberFilter {
36555	s.Gte = &v
36556	return s
36557}
36558
36559// SetLte sets the Lte field's value.
36560func (s *NumberFilter) SetLte(v float64) *NumberFilter {
36561	s.Lte = &v
36562	return s
36563}
36564
36565// The detected occurrences of sensitive data.
36566type Occurrences struct {
36567	_ struct{} `type:"structure"`
36568
36569	// Occurrences of sensitive data detected in Microsoft Excel workbooks, comma-separated
36570	// value (CSV) files, or tab-separated value (TSV) files.
36571	Cells []*Cell `type:"list"`
36572
36573	// Occurrences of sensitive data detected in a non-binary text file or a Microsoft
36574	// Word file. Non-binary text files include files such as HTML, XML, JSON, and
36575	// TXT files.
36576	LineRanges []*Range `type:"list"`
36577
36578	// Occurrences of sensitive data detected in a binary text file.
36579	OffsetRanges []*Range `type:"list"`
36580
36581	// Occurrences of sensitive data in an Adobe Portable Document Format (PDF)
36582	// file.
36583	Pages []*Page `type:"list"`
36584
36585	// Occurrences of sensitive data in an Apache Avro object container or an Apache
36586	// Parquet file.
36587	Records []*Record `type:"list"`
36588}
36589
36590// String returns the string representation.
36591//
36592// API parameter values that are decorated as "sensitive" in the API will not
36593// be included in the string output. The member name will be present, but the
36594// value will be replaced with "sensitive".
36595func (s Occurrences) String() string {
36596	return awsutil.Prettify(s)
36597}
36598
36599// GoString returns the string representation.
36600//
36601// API parameter values that are decorated as "sensitive" in the API will not
36602// be included in the string output. The member name will be present, but the
36603// value will be replaced with "sensitive".
36604func (s Occurrences) GoString() string {
36605	return s.String()
36606}
36607
36608// SetCells sets the Cells field's value.
36609func (s *Occurrences) SetCells(v []*Cell) *Occurrences {
36610	s.Cells = v
36611	return s
36612}
36613
36614// SetLineRanges sets the LineRanges field's value.
36615func (s *Occurrences) SetLineRanges(v []*Range) *Occurrences {
36616	s.LineRanges = v
36617	return s
36618}
36619
36620// SetOffsetRanges sets the OffsetRanges field's value.
36621func (s *Occurrences) SetOffsetRanges(v []*Range) *Occurrences {
36622	s.OffsetRanges = v
36623	return s
36624}
36625
36626// SetPages sets the Pages field's value.
36627func (s *Occurrences) SetPages(v []*Page) *Occurrences {
36628	s.Pages = v
36629	return s
36630}
36631
36632// SetRecords sets the Records field's value.
36633func (s *Occurrences) SetRecords(v []*Record) *Occurrences {
36634	s.Records = v
36635	return s
36636}
36637
36638// An occurrence of sensitive data in an Adobe Portable Document Format (PDF)
36639// file.
36640type Page struct {
36641	_ struct{} `type:"structure"`
36642
36643	// An occurrence of sensitive data detected in a non-binary text file or a Microsoft
36644	// Word file. Non-binary text files include files such as HTML, XML, JSON, and
36645	// TXT files.
36646	LineRange *Range `type:"structure"`
36647
36648	// An occurrence of sensitive data detected in a binary text file.
36649	OffsetRange *Range `type:"structure"`
36650
36651	// The page number of the page that contains the sensitive data.
36652	PageNumber *int64 `type:"long"`
36653}
36654
36655// String returns the string representation.
36656//
36657// API parameter values that are decorated as "sensitive" in the API will not
36658// be included in the string output. The member name will be present, but the
36659// value will be replaced with "sensitive".
36660func (s Page) String() string {
36661	return awsutil.Prettify(s)
36662}
36663
36664// GoString returns the string representation.
36665//
36666// API parameter values that are decorated as "sensitive" in the API will not
36667// be included in the string output. The member name will be present, but the
36668// value will be replaced with "sensitive".
36669func (s Page) GoString() string {
36670	return s.String()
36671}
36672
36673// SetLineRange sets the LineRange field's value.
36674func (s *Page) SetLineRange(v *Range) *Page {
36675	s.LineRange = v
36676	return s
36677}
36678
36679// SetOffsetRange sets the OffsetRange field's value.
36680func (s *Page) SetOffsetRange(v *Range) *Page {
36681	s.OffsetRange = v
36682	return s
36683}
36684
36685// SetPageNumber sets the PageNumber field's value.
36686func (s *Page) SetPageNumber(v int64) *Page {
36687	s.PageNumber = &v
36688	return s
36689}
36690
36691// Provides an overview of the patch compliance status for an instance against
36692// a selected compliance standard.
36693type PatchSummary struct {
36694	_ struct{} `type:"structure"`
36695
36696	// The number of patches from the compliance standard that failed to install.
36697	FailedCount *int64 `type:"integer"`
36698
36699	// The identifier of the compliance standard that was used to determine the
36700	// patch compliance status.
36701	//
36702	// Id is a required field
36703	Id *string `type:"string" required:"true"`
36704
36705	// The number of patches from the compliance standard that were installed successfully.
36706	InstalledCount *int64 `type:"integer"`
36707
36708	// The number of installed patches that are not part of the compliance standard.
36709	InstalledOtherCount *int64 `type:"integer"`
36710
36711	// The number of patches that were applied, but that require the instance to
36712	// be rebooted in order to be marked as installed.
36713	InstalledPendingReboot *int64 `type:"integer"`
36714
36715	// The number of patches that are installed but are also on a list of patches
36716	// that the customer rejected.
36717	InstalledRejectedCount *int64 `type:"integer"`
36718
36719	// The number of patches that are part of the compliance standard but are not
36720	// installed. The count includes patches that failed to install.
36721	MissingCount *int64 `type:"integer"`
36722
36723	// The type of patch operation performed. For Patch Manager, the values are
36724	// SCAN and INSTALL.
36725	Operation *string `type:"string"`
36726
36727	// Indicates when the operation completed.
36728	//
36729	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
36730	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
36731	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
36732	OperationEndTime *string `type:"string"`
36733
36734	// Indicates when the operation started.
36735	//
36736	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
36737	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
36738	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
36739	OperationStartTime *string `type:"string"`
36740
36741	// The reboot option specified for the instance.
36742	RebootOption *string `type:"string"`
36743}
36744
36745// String returns the string representation.
36746//
36747// API parameter values that are decorated as "sensitive" in the API will not
36748// be included in the string output. The member name will be present, but the
36749// value will be replaced with "sensitive".
36750func (s PatchSummary) String() string {
36751	return awsutil.Prettify(s)
36752}
36753
36754// GoString returns the string representation.
36755//
36756// API parameter values that are decorated as "sensitive" in the API will not
36757// be included in the string output. The member name will be present, but the
36758// value will be replaced with "sensitive".
36759func (s PatchSummary) GoString() string {
36760	return s.String()
36761}
36762
36763// Validate inspects the fields of the type to determine if they are valid.
36764func (s *PatchSummary) Validate() error {
36765	invalidParams := request.ErrInvalidParams{Context: "PatchSummary"}
36766	if s.Id == nil {
36767		invalidParams.Add(request.NewErrParamRequired("Id"))
36768	}
36769
36770	if invalidParams.Len() > 0 {
36771		return invalidParams
36772	}
36773	return nil
36774}
36775
36776// SetFailedCount sets the FailedCount field's value.
36777func (s *PatchSummary) SetFailedCount(v int64) *PatchSummary {
36778	s.FailedCount = &v
36779	return s
36780}
36781
36782// SetId sets the Id field's value.
36783func (s *PatchSummary) SetId(v string) *PatchSummary {
36784	s.Id = &v
36785	return s
36786}
36787
36788// SetInstalledCount sets the InstalledCount field's value.
36789func (s *PatchSummary) SetInstalledCount(v int64) *PatchSummary {
36790	s.InstalledCount = &v
36791	return s
36792}
36793
36794// SetInstalledOtherCount sets the InstalledOtherCount field's value.
36795func (s *PatchSummary) SetInstalledOtherCount(v int64) *PatchSummary {
36796	s.InstalledOtherCount = &v
36797	return s
36798}
36799
36800// SetInstalledPendingReboot sets the InstalledPendingReboot field's value.
36801func (s *PatchSummary) SetInstalledPendingReboot(v int64) *PatchSummary {
36802	s.InstalledPendingReboot = &v
36803	return s
36804}
36805
36806// SetInstalledRejectedCount sets the InstalledRejectedCount field's value.
36807func (s *PatchSummary) SetInstalledRejectedCount(v int64) *PatchSummary {
36808	s.InstalledRejectedCount = &v
36809	return s
36810}
36811
36812// SetMissingCount sets the MissingCount field's value.
36813func (s *PatchSummary) SetMissingCount(v int64) *PatchSummary {
36814	s.MissingCount = &v
36815	return s
36816}
36817
36818// SetOperation sets the Operation field's value.
36819func (s *PatchSummary) SetOperation(v string) *PatchSummary {
36820	s.Operation = &v
36821	return s
36822}
36823
36824// SetOperationEndTime sets the OperationEndTime field's value.
36825func (s *PatchSummary) SetOperationEndTime(v string) *PatchSummary {
36826	s.OperationEndTime = &v
36827	return s
36828}
36829
36830// SetOperationStartTime sets the OperationStartTime field's value.
36831func (s *PatchSummary) SetOperationStartTime(v string) *PatchSummary {
36832	s.OperationStartTime = &v
36833	return s
36834}
36835
36836// SetRebootOption sets the RebootOption field's value.
36837func (s *PatchSummary) SetRebootOption(v string) *PatchSummary {
36838	s.RebootOption = &v
36839	return s
36840}
36841
36842// Provided if ActionType is PORT_PROBE. It provides details about the attempted
36843// port probe that was detected.
36844type PortProbeAction struct {
36845	_ struct{} `type:"structure"`
36846
36847	// Indicates whether the port probe was blocked.
36848	Blocked *bool `type:"boolean"`
36849
36850	// Information about the ports affected by the port probe.
36851	PortProbeDetails []*PortProbeDetail `type:"list"`
36852}
36853
36854// String returns the string representation.
36855//
36856// API parameter values that are decorated as "sensitive" in the API will not
36857// be included in the string output. The member name will be present, but the
36858// value will be replaced with "sensitive".
36859func (s PortProbeAction) String() string {
36860	return awsutil.Prettify(s)
36861}
36862
36863// GoString returns the string representation.
36864//
36865// API parameter values that are decorated as "sensitive" in the API will not
36866// be included in the string output. The member name will be present, but the
36867// value will be replaced with "sensitive".
36868func (s PortProbeAction) GoString() string {
36869	return s.String()
36870}
36871
36872// SetBlocked sets the Blocked field's value.
36873func (s *PortProbeAction) SetBlocked(v bool) *PortProbeAction {
36874	s.Blocked = &v
36875	return s
36876}
36877
36878// SetPortProbeDetails sets the PortProbeDetails field's value.
36879func (s *PortProbeAction) SetPortProbeDetails(v []*PortProbeDetail) *PortProbeAction {
36880	s.PortProbeDetails = v
36881	return s
36882}
36883
36884// A port scan that was part of the port probe. For each scan, PortProbeDetails
36885// provides information about the local IP address and port that were scanned,
36886// and the remote IP address that the scan originated from.
36887type PortProbeDetail struct {
36888	_ struct{} `type:"structure"`
36889
36890	// Provides information about the IP address where the scanned port is located.
36891	LocalIpDetails *ActionLocalIpDetails `type:"structure"`
36892
36893	// Provides information about the port that was scanned.
36894	LocalPortDetails *ActionLocalPortDetails `type:"structure"`
36895
36896	// Provides information about the remote IP address that performed the scan.
36897	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
36898}
36899
36900// String returns the string representation.
36901//
36902// API parameter values that are decorated as "sensitive" in the API will not
36903// be included in the string output. The member name will be present, but the
36904// value will be replaced with "sensitive".
36905func (s PortProbeDetail) String() string {
36906	return awsutil.Prettify(s)
36907}
36908
36909// GoString returns the string representation.
36910//
36911// API parameter values that are decorated as "sensitive" in the API will not
36912// be included in the string output. The member name will be present, but the
36913// value will be replaced with "sensitive".
36914func (s PortProbeDetail) GoString() string {
36915	return s.String()
36916}
36917
36918// SetLocalIpDetails sets the LocalIpDetails field's value.
36919func (s *PortProbeDetail) SetLocalIpDetails(v *ActionLocalIpDetails) *PortProbeDetail {
36920	s.LocalIpDetails = v
36921	return s
36922}
36923
36924// SetLocalPortDetails sets the LocalPortDetails field's value.
36925func (s *PortProbeDetail) SetLocalPortDetails(v *ActionLocalPortDetails) *PortProbeDetail {
36926	s.LocalPortDetails = v
36927	return s
36928}
36929
36930// SetRemoteIpDetails sets the RemoteIpDetails field's value.
36931func (s *PortProbeDetail) SetRemoteIpDetails(v *ActionRemoteIpDetails) *PortProbeDetail {
36932	s.RemoteIpDetails = v
36933	return s
36934}
36935
36936// A range of ports.
36937type PortRange struct {
36938	_ struct{} `type:"structure"`
36939
36940	// The first port in the port range.
36941	Begin *int64 `type:"integer"`
36942
36943	// The last port in the port range.
36944	End *int64 `type:"integer"`
36945}
36946
36947// String returns the string representation.
36948//
36949// API parameter values that are decorated as "sensitive" in the API will not
36950// be included in the string output. The member name will be present, but the
36951// value will be replaced with "sensitive".
36952func (s PortRange) String() string {
36953	return awsutil.Prettify(s)
36954}
36955
36956// GoString returns the string representation.
36957//
36958// API parameter values that are decorated as "sensitive" in the API will not
36959// be included in the string output. The member name will be present, but the
36960// value will be replaced with "sensitive".
36961func (s PortRange) GoString() string {
36962	return s.String()
36963}
36964
36965// SetBegin sets the Begin field's value.
36966func (s *PortRange) SetBegin(v int64) *PortRange {
36967	s.Begin = &v
36968	return s
36969}
36970
36971// SetEnd sets the End field's value.
36972func (s *PortRange) SetEnd(v int64) *PortRange {
36973	s.End = &v
36974	return s
36975}
36976
36977// A range of ports.
36978type PortRangeFromTo struct {
36979	_ struct{} `type:"structure"`
36980
36981	// The first port in the port range.
36982	From *int64 `type:"integer"`
36983
36984	// The last port in the port range.
36985	To *int64 `type:"integer"`
36986}
36987
36988// String returns the string representation.
36989//
36990// API parameter values that are decorated as "sensitive" in the API will not
36991// be included in the string output. The member name will be present, but the
36992// value will be replaced with "sensitive".
36993func (s PortRangeFromTo) String() string {
36994	return awsutil.Prettify(s)
36995}
36996
36997// GoString returns the string representation.
36998//
36999// API parameter values that are decorated as "sensitive" in the API will not
37000// be included in the string output. The member name will be present, but the
37001// value will be replaced with "sensitive".
37002func (s PortRangeFromTo) GoString() string {
37003	return s.String()
37004}
37005
37006// SetFrom sets the From field's value.
37007func (s *PortRangeFromTo) SetFrom(v int64) *PortRangeFromTo {
37008	s.From = &v
37009	return s
37010}
37011
37012// SetTo sets the To field's value.
37013func (s *PortRangeFromTo) SetTo(v int64) *PortRangeFromTo {
37014	s.To = &v
37015	return s
37016}
37017
37018// The details of process-related information about a finding.
37019type ProcessDetails struct {
37020	_ struct{} `type:"structure"`
37021
37022	// Indicates when the process was launched.
37023	//
37024	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
37025	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
37026	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
37027	LaunchedAt *string `type:"string"`
37028
37029	// The name of the process.
37030	Name *string `type:"string"`
37031
37032	// The parent process ID.
37033	ParentPid *int64 `type:"integer"`
37034
37035	// The path to the process executable.
37036	Path *string `type:"string"`
37037
37038	// The process ID.
37039	Pid *int64 `type:"integer"`
37040
37041	// Indicates when the process was terminated.
37042	//
37043	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
37044	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
37045	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
37046	TerminatedAt *string `type:"string"`
37047}
37048
37049// String returns the string representation.
37050//
37051// API parameter values that are decorated as "sensitive" in the API will not
37052// be included in the string output. The member name will be present, but the
37053// value will be replaced with "sensitive".
37054func (s ProcessDetails) String() string {
37055	return awsutil.Prettify(s)
37056}
37057
37058// GoString returns the string representation.
37059//
37060// API parameter values that are decorated as "sensitive" in the API will not
37061// be included in the string output. The member name will be present, but the
37062// value will be replaced with "sensitive".
37063func (s ProcessDetails) GoString() string {
37064	return s.String()
37065}
37066
37067// SetLaunchedAt sets the LaunchedAt field's value.
37068func (s *ProcessDetails) SetLaunchedAt(v string) *ProcessDetails {
37069	s.LaunchedAt = &v
37070	return s
37071}
37072
37073// SetName sets the Name field's value.
37074func (s *ProcessDetails) SetName(v string) *ProcessDetails {
37075	s.Name = &v
37076	return s
37077}
37078
37079// SetParentPid sets the ParentPid field's value.
37080func (s *ProcessDetails) SetParentPid(v int64) *ProcessDetails {
37081	s.ParentPid = &v
37082	return s
37083}
37084
37085// SetPath sets the Path field's value.
37086func (s *ProcessDetails) SetPath(v string) *ProcessDetails {
37087	s.Path = &v
37088	return s
37089}
37090
37091// SetPid sets the Pid field's value.
37092func (s *ProcessDetails) SetPid(v int64) *ProcessDetails {
37093	s.Pid = &v
37094	return s
37095}
37096
37097// SetTerminatedAt sets the TerminatedAt field's value.
37098func (s *ProcessDetails) SetTerminatedAt(v string) *ProcessDetails {
37099	s.TerminatedAt = &v
37100	return s
37101}
37102
37103// Contains details about a product.
37104type Product struct {
37105	_ struct{} `type:"structure"`
37106
37107	// The URL to the service or product documentation about the integration with
37108	// Security Hub, including how to activate the integration.
37109	ActivationUrl *string `type:"string"`
37110
37111	// The categories assigned to the product.
37112	Categories []*string `type:"list"`
37113
37114	// The name of the company that provides the product.
37115	CompanyName *string `type:"string"`
37116
37117	// A description of the product.
37118	Description *string `type:"string"`
37119
37120	// The types of integration that the product supports. Available values are
37121	// the following.
37122	//
37123	//    * SEND_FINDINGS_TO_SECURITY_HUB - The integration sends findings to Security
37124	//    Hub.
37125	//
37126	//    * RECEIVE_FINDINGS_FROM_SECURITY_HUB - The integration receives findings
37127	//    from Security Hub.
37128	//
37129	//    * UPDATE_FINDINGS_IN_SECURITY_HUB - The integration does not send new
37130	//    findings to Security Hub, but does make updates to the findings that it
37131	//    receives from Security Hub.
37132	IntegrationTypes []*string `type:"list"`
37133
37134	// For integrations with Amazon Web Services services, the Amazon Web Services
37135	// Console URL from which to activate the service.
37136	//
37137	// For integrations with third-party products, the Amazon Web Services Marketplace
37138	// URL from which to subscribe to or purchase the product.
37139	MarketplaceUrl *string `type:"string"`
37140
37141	// The ARN assigned to the product.
37142	//
37143	// ProductArn is a required field
37144	ProductArn *string `type:"string" required:"true"`
37145
37146	// The name of the product.
37147	ProductName *string `type:"string"`
37148
37149	// The resource policy associated with the product.
37150	ProductSubscriptionResourcePolicy *string `type:"string"`
37151}
37152
37153// String returns the string representation.
37154//
37155// API parameter values that are decorated as "sensitive" in the API will not
37156// be included in the string output. The member name will be present, but the
37157// value will be replaced with "sensitive".
37158func (s Product) String() string {
37159	return awsutil.Prettify(s)
37160}
37161
37162// GoString returns the string representation.
37163//
37164// API parameter values that are decorated as "sensitive" in the API will not
37165// be included in the string output. The member name will be present, but the
37166// value will be replaced with "sensitive".
37167func (s Product) GoString() string {
37168	return s.String()
37169}
37170
37171// SetActivationUrl sets the ActivationUrl field's value.
37172func (s *Product) SetActivationUrl(v string) *Product {
37173	s.ActivationUrl = &v
37174	return s
37175}
37176
37177// SetCategories sets the Categories field's value.
37178func (s *Product) SetCategories(v []*string) *Product {
37179	s.Categories = v
37180	return s
37181}
37182
37183// SetCompanyName sets the CompanyName field's value.
37184func (s *Product) SetCompanyName(v string) *Product {
37185	s.CompanyName = &v
37186	return s
37187}
37188
37189// SetDescription sets the Description field's value.
37190func (s *Product) SetDescription(v string) *Product {
37191	s.Description = &v
37192	return s
37193}
37194
37195// SetIntegrationTypes sets the IntegrationTypes field's value.
37196func (s *Product) SetIntegrationTypes(v []*string) *Product {
37197	s.IntegrationTypes = v
37198	return s
37199}
37200
37201// SetMarketplaceUrl sets the MarketplaceUrl field's value.
37202func (s *Product) SetMarketplaceUrl(v string) *Product {
37203	s.MarketplaceUrl = &v
37204	return s
37205}
37206
37207// SetProductArn sets the ProductArn field's value.
37208func (s *Product) SetProductArn(v string) *Product {
37209	s.ProductArn = &v
37210	return s
37211}
37212
37213// SetProductName sets the ProductName field's value.
37214func (s *Product) SetProductName(v string) *Product {
37215	s.ProductName = &v
37216	return s
37217}
37218
37219// SetProductSubscriptionResourcePolicy sets the ProductSubscriptionResourcePolicy field's value.
37220func (s *Product) SetProductSubscriptionResourcePolicy(v string) *Product {
37221	s.ProductSubscriptionResourcePolicy = &v
37222	return s
37223}
37224
37225// Identifies where the sensitive data begins and ends.
37226type Range struct {
37227	_ struct{} `type:"structure"`
37228
37229	// The number of lines (for a line range) or characters (for an offset range)
37230	// from the beginning of the file to the end of the sensitive data.
37231	End *int64 `type:"long"`
37232
37233	// The number of lines (for a line range) or characters (for an offset range)
37234	// from the beginning of the file to the end of the sensitive data.
37235	Start *int64 `type:"long"`
37236
37237	// In the line where the sensitive data starts, the column within the line where
37238	// the sensitive data starts.
37239	StartColumn *int64 `type:"long"`
37240}
37241
37242// String returns the string representation.
37243//
37244// API parameter values that are decorated as "sensitive" in the API will not
37245// be included in the string output. The member name will be present, but the
37246// value will be replaced with "sensitive".
37247func (s Range) String() string {
37248	return awsutil.Prettify(s)
37249}
37250
37251// GoString returns the string representation.
37252//
37253// API parameter values that are decorated as "sensitive" in the API will not
37254// be included in the string output. The member name will be present, but the
37255// value will be replaced with "sensitive".
37256func (s Range) GoString() string {
37257	return s.String()
37258}
37259
37260// SetEnd sets the End field's value.
37261func (s *Range) SetEnd(v int64) *Range {
37262	s.End = &v
37263	return s
37264}
37265
37266// SetStart sets the Start field's value.
37267func (s *Range) SetStart(v int64) *Range {
37268	s.Start = &v
37269	return s
37270}
37271
37272// SetStartColumn sets the StartColumn field's value.
37273func (s *Range) SetStartColumn(v int64) *Range {
37274	s.StartColumn = &v
37275	return s
37276}
37277
37278// A recommendation on how to remediate the issue identified in a finding.
37279type Recommendation struct {
37280	_ struct{} `type:"structure"`
37281
37282	// Describes the recommended steps to take to remediate an issue identified
37283	// in a finding.
37284	Text *string `type:"string"`
37285
37286	// A URL to a page or site that contains information about how to remediate
37287	// a finding.
37288	Url *string `type:"string"`
37289}
37290
37291// String returns the string representation.
37292//
37293// API parameter values that are decorated as "sensitive" in the API will not
37294// be included in the string output. The member name will be present, but the
37295// value will be replaced with "sensitive".
37296func (s Recommendation) String() string {
37297	return awsutil.Prettify(s)
37298}
37299
37300// GoString returns the string representation.
37301//
37302// API parameter values that are decorated as "sensitive" in the API will not
37303// be included in the string output. The member name will be present, but the
37304// value will be replaced with "sensitive".
37305func (s Recommendation) GoString() string {
37306	return s.String()
37307}
37308
37309// SetText sets the Text field's value.
37310func (s *Recommendation) SetText(v string) *Recommendation {
37311	s.Text = &v
37312	return s
37313}
37314
37315// SetUrl sets the Url field's value.
37316func (s *Recommendation) SetUrl(v string) *Recommendation {
37317	s.Url = &v
37318	return s
37319}
37320
37321// An occurrence of sensitive data in an Apache Avro object container or an
37322// Apache Parquet file.
37323type Record struct {
37324	_ struct{} `type:"structure"`
37325
37326	// The path, as a JSONPath expression, to the field in the record that contains
37327	// the data. If the field name is longer than 20 characters, it is truncated.
37328	// If the path is longer than 250 characters, it is truncated.
37329	JsonPath *string `type:"string"`
37330
37331	// The record index, starting from 0, for the record that contains the data.
37332	RecordIndex *int64 `type:"long"`
37333}
37334
37335// String returns the string representation.
37336//
37337// API parameter values that are decorated as "sensitive" in the API will not
37338// be included in the string output. The member name will be present, but the
37339// value will be replaced with "sensitive".
37340func (s Record) String() string {
37341	return awsutil.Prettify(s)
37342}
37343
37344// GoString returns the string representation.
37345//
37346// API parameter values that are decorated as "sensitive" in the API will not
37347// be included in the string output. The member name will be present, but the
37348// value will be replaced with "sensitive".
37349func (s Record) GoString() string {
37350	return s.String()
37351}
37352
37353// SetJsonPath sets the JsonPath field's value.
37354func (s *Record) SetJsonPath(v string) *Record {
37355	s.JsonPath = &v
37356	return s
37357}
37358
37359// SetRecordIndex sets the RecordIndex field's value.
37360func (s *Record) SetRecordIndex(v int64) *Record {
37361	s.RecordIndex = &v
37362	return s
37363}
37364
37365// Details about a related finding.
37366type RelatedFinding struct {
37367	_ struct{} `type:"structure"`
37368
37369	// The product-generated identifier for a related finding.
37370	//
37371	// Id is a required field
37372	Id *string `type:"string" required:"true"`
37373
37374	// The ARN of the product that generated a related finding.
37375	//
37376	// ProductArn is a required field
37377	ProductArn *string `type:"string" required:"true"`
37378}
37379
37380// String returns the string representation.
37381//
37382// API parameter values that are decorated as "sensitive" in the API will not
37383// be included in the string output. The member name will be present, but the
37384// value will be replaced with "sensitive".
37385func (s RelatedFinding) String() string {
37386	return awsutil.Prettify(s)
37387}
37388
37389// GoString returns the string representation.
37390//
37391// API parameter values that are decorated as "sensitive" in the API will not
37392// be included in the string output. The member name will be present, but the
37393// value will be replaced with "sensitive".
37394func (s RelatedFinding) GoString() string {
37395	return s.String()
37396}
37397
37398// Validate inspects the fields of the type to determine if they are valid.
37399func (s *RelatedFinding) Validate() error {
37400	invalidParams := request.ErrInvalidParams{Context: "RelatedFinding"}
37401	if s.Id == nil {
37402		invalidParams.Add(request.NewErrParamRequired("Id"))
37403	}
37404	if s.ProductArn == nil {
37405		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
37406	}
37407
37408	if invalidParams.Len() > 0 {
37409		return invalidParams
37410	}
37411	return nil
37412}
37413
37414// SetId sets the Id field's value.
37415func (s *RelatedFinding) SetId(v string) *RelatedFinding {
37416	s.Id = &v
37417	return s
37418}
37419
37420// SetProductArn sets the ProductArn field's value.
37421func (s *RelatedFinding) SetProductArn(v string) *RelatedFinding {
37422	s.ProductArn = &v
37423	return s
37424}
37425
37426// Details about the remediation steps for a finding.
37427type Remediation struct {
37428	_ struct{} `type:"structure"`
37429
37430	// A recommendation on the steps to take to remediate the issue identified by
37431	// a finding.
37432	Recommendation *Recommendation `type:"structure"`
37433}
37434
37435// String returns the string representation.
37436//
37437// API parameter values that are decorated as "sensitive" in the API will not
37438// be included in the string output. The member name will be present, but the
37439// value will be replaced with "sensitive".
37440func (s Remediation) String() string {
37441	return awsutil.Prettify(s)
37442}
37443
37444// GoString returns the string representation.
37445//
37446// API parameter values that are decorated as "sensitive" in the API will not
37447// be included in the string output. The member name will be present, but the
37448// value will be replaced with "sensitive".
37449func (s Remediation) GoString() string {
37450	return s.String()
37451}
37452
37453// SetRecommendation sets the Recommendation field's value.
37454func (s *Remediation) SetRecommendation(v *Recommendation) *Remediation {
37455	s.Recommendation = v
37456	return s
37457}
37458
37459// A resource related to a finding.
37460type Resource struct {
37461	_ struct{} `type:"structure"`
37462
37463	// Contains information about sensitive data that was detected on the resource.
37464	DataClassification *DataClassificationDetails `type:"structure"`
37465
37466	// Additional details about the resource related to a finding.
37467	Details *ResourceDetails `type:"structure"`
37468
37469	// The canonical identifier for the given resource type.
37470	//
37471	// Id is a required field
37472	Id *string `type:"string" required:"true"`
37473
37474	// The canonical Amazon Web Services partition name that the Region is assigned
37475	// to.
37476	Partition *string `type:"string" enum:"Partition"`
37477
37478	// The canonical Amazon Web Services external Region name where this resource
37479	// is located.
37480	Region *string `type:"string"`
37481
37482	// Identifies the role of the resource in the finding. A resource is either
37483	// the actor or target of the finding activity,
37484	ResourceRole *string `type:"string"`
37485
37486	// A list of Amazon Web Services tags associated with a resource at the time
37487	// the finding was processed.
37488	Tags map[string]*string `type:"map"`
37489
37490	// The type of the resource that details are provided for. If possible, set
37491	// Type to one of the supported resource types. For example, if the resource
37492	// is an EC2 instance, then set Type to AwsEc2Instance.
37493	//
37494	// If the resource does not match any of the provided types, then set Type to
37495	// Other.
37496	//
37497	// Type is a required field
37498	Type *string `type:"string" required:"true"`
37499}
37500
37501// String returns the string representation.
37502//
37503// API parameter values that are decorated as "sensitive" in the API will not
37504// be included in the string output. The member name will be present, but the
37505// value will be replaced with "sensitive".
37506func (s Resource) String() string {
37507	return awsutil.Prettify(s)
37508}
37509
37510// GoString returns the string representation.
37511//
37512// API parameter values that are decorated as "sensitive" in the API will not
37513// be included in the string output. The member name will be present, but the
37514// value will be replaced with "sensitive".
37515func (s Resource) GoString() string {
37516	return s.String()
37517}
37518
37519// Validate inspects the fields of the type to determine if they are valid.
37520func (s *Resource) Validate() error {
37521	invalidParams := request.ErrInvalidParams{Context: "Resource"}
37522	if s.Id == nil {
37523		invalidParams.Add(request.NewErrParamRequired("Id"))
37524	}
37525	if s.Type == nil {
37526		invalidParams.Add(request.NewErrParamRequired("Type"))
37527	}
37528	if s.Details != nil {
37529		if err := s.Details.Validate(); err != nil {
37530			invalidParams.AddNested("Details", err.(request.ErrInvalidParams))
37531		}
37532	}
37533
37534	if invalidParams.Len() > 0 {
37535		return invalidParams
37536	}
37537	return nil
37538}
37539
37540// SetDataClassification sets the DataClassification field's value.
37541func (s *Resource) SetDataClassification(v *DataClassificationDetails) *Resource {
37542	s.DataClassification = v
37543	return s
37544}
37545
37546// SetDetails sets the Details field's value.
37547func (s *Resource) SetDetails(v *ResourceDetails) *Resource {
37548	s.Details = v
37549	return s
37550}
37551
37552// SetId sets the Id field's value.
37553func (s *Resource) SetId(v string) *Resource {
37554	s.Id = &v
37555	return s
37556}
37557
37558// SetPartition sets the Partition field's value.
37559func (s *Resource) SetPartition(v string) *Resource {
37560	s.Partition = &v
37561	return s
37562}
37563
37564// SetRegion sets the Region field's value.
37565func (s *Resource) SetRegion(v string) *Resource {
37566	s.Region = &v
37567	return s
37568}
37569
37570// SetResourceRole sets the ResourceRole field's value.
37571func (s *Resource) SetResourceRole(v string) *Resource {
37572	s.ResourceRole = &v
37573	return s
37574}
37575
37576// SetTags sets the Tags field's value.
37577func (s *Resource) SetTags(v map[string]*string) *Resource {
37578	s.Tags = v
37579	return s
37580}
37581
37582// SetType sets the Type field's value.
37583func (s *Resource) SetType(v string) *Resource {
37584	s.Type = &v
37585	return s
37586}
37587
37588// The resource specified in the request conflicts with an existing resource.
37589type ResourceConflictException struct {
37590	_            struct{}                  `type:"structure"`
37591	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
37592
37593	Code_ *string `locationName:"Code" type:"string"`
37594
37595	Message_ *string `locationName:"Message" type:"string"`
37596}
37597
37598// String returns the string representation.
37599//
37600// API parameter values that are decorated as "sensitive" in the API will not
37601// be included in the string output. The member name will be present, but the
37602// value will be replaced with "sensitive".
37603func (s ResourceConflictException) String() string {
37604	return awsutil.Prettify(s)
37605}
37606
37607// GoString returns the string representation.
37608//
37609// API parameter values that are decorated as "sensitive" in the API will not
37610// be included in the string output. The member name will be present, but the
37611// value will be replaced with "sensitive".
37612func (s ResourceConflictException) GoString() string {
37613	return s.String()
37614}
37615
37616func newErrorResourceConflictException(v protocol.ResponseMetadata) error {
37617	return &ResourceConflictException{
37618		RespMetadata: v,
37619	}
37620}
37621
37622// Code returns the exception type name.
37623func (s *ResourceConflictException) Code() string {
37624	return "ResourceConflictException"
37625}
37626
37627// Message returns the exception's message.
37628func (s *ResourceConflictException) Message() string {
37629	if s.Message_ != nil {
37630		return *s.Message_
37631	}
37632	return ""
37633}
37634
37635// OrigErr always returns nil, satisfies awserr.Error interface.
37636func (s *ResourceConflictException) OrigErr() error {
37637	return nil
37638}
37639
37640func (s *ResourceConflictException) Error() string {
37641	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
37642}
37643
37644// Status code returns the HTTP status code for the request's response error.
37645func (s *ResourceConflictException) StatusCode() int {
37646	return s.RespMetadata.StatusCode
37647}
37648
37649// RequestID returns the service's response RequestID for request.
37650func (s *ResourceConflictException) RequestID() string {
37651	return s.RespMetadata.RequestID
37652}
37653
37654// Additional details about a resource related to a finding.
37655//
37656// To provide the details, use the object that corresponds to the resource type.
37657// For example, if the resource type is AwsEc2Instance, then you use the AwsEc2Instance
37658// object to provide the details.
37659//
37660// If the type-specific object does not contain all of the fields you want to
37661// populate, then you use the Other object to populate those additional fields.
37662//
37663// You also use the Other object to populate the details when the selected type
37664// does not have a corresponding object.
37665type ResourceDetails struct {
37666	_ struct{} `type:"structure"`
37667
37668	// Provides information about a REST API in version 1 of Amazon API Gateway.
37669	AwsApiGatewayRestApi *AwsApiGatewayRestApiDetails `type:"structure"`
37670
37671	// Provides information about a version 1 Amazon API Gateway stage.
37672	AwsApiGatewayStage *AwsApiGatewayStageDetails `type:"structure"`
37673
37674	// Provides information about a version 2 API in Amazon API Gateway.
37675	AwsApiGatewayV2Api *AwsApiGatewayV2ApiDetails `type:"structure"`
37676
37677	// Provides information about a version 2 stage for Amazon API Gateway.
37678	AwsApiGatewayV2Stage *AwsApiGatewayV2StageDetails `type:"structure"`
37679
37680	// Details for an autoscaling group.
37681	AwsAutoScalingAutoScalingGroup *AwsAutoScalingAutoScalingGroupDetails `type:"structure"`
37682
37683	// Provides details about a launch configuration.
37684	AwsAutoScalingLaunchConfiguration *AwsAutoScalingLaunchConfigurationDetails `type:"structure"`
37685
37686	// Provides details about an Certificate Manager certificate.
37687	AwsCertificateManagerCertificate *AwsCertificateManagerCertificateDetails `type:"structure"`
37688
37689	// Details about a CloudFront distribution.
37690	AwsCloudFrontDistribution *AwsCloudFrontDistributionDetails `type:"structure"`
37691
37692	// Provides details about a CloudTrail trail.
37693	AwsCloudTrailTrail *AwsCloudTrailTrailDetails `type:"structure"`
37694
37695	// Details for an CodeBuild project.
37696	AwsCodeBuildProject *AwsCodeBuildProjectDetails `type:"structure"`
37697
37698	// Details about a DynamoDB table.
37699	AwsDynamoDbTable *AwsDynamoDbTableDetails `type:"structure"`
37700
37701	// Details about an Elastic IP address.
37702	AwsEc2Eip *AwsEc2EipDetails `type:"structure"`
37703
37704	// Details about an EC2 instance related to a finding.
37705	AwsEc2Instance *AwsEc2InstanceDetails `type:"structure"`
37706
37707	// Details about an EC2 network access control list (ACL).
37708	AwsEc2NetworkAcl *AwsEc2NetworkAclDetails `type:"structure"`
37709
37710	// Details for an EC2 network interface.
37711	AwsEc2NetworkInterface *AwsEc2NetworkInterfaceDetails `type:"structure"`
37712
37713	// Details for an EC2 security group.
37714	AwsEc2SecurityGroup *AwsEc2SecurityGroupDetails `type:"structure"`
37715
37716	// Details about a subnet in Amazon EC2.
37717	AwsEc2Subnet *AwsEc2SubnetDetails `type:"structure"`
37718
37719	// Details for an EC2 volume.
37720	AwsEc2Volume *AwsEc2VolumeDetails `type:"structure"`
37721
37722	// Details for an EC2 VPC.
37723	AwsEc2Vpc *AwsEc2VpcDetails `type:"structure"`
37724
37725	// Details about the service configuration for a VPC endpoint service.
37726	AwsEc2VpcEndpointService *AwsEc2VpcEndpointServiceDetails `type:"structure"`
37727
37728	// Details about an EC2 VPN connection.
37729	AwsEc2VpnConnection *AwsEc2VpnConnectionDetails `type:"structure"`
37730
37731	// Information about an Amazon ECR image.
37732	AwsEcrContainerImage *AwsEcrContainerImageDetails `type:"structure"`
37733
37734	// Information about an Amazon Elastic Container Registry repository.
37735	AwsEcrRepository *AwsEcrRepositoryDetails `type:"structure"`
37736
37737	// Details about an ECS cluster.
37738	AwsEcsCluster *AwsEcsClusterDetails `type:"structure"`
37739
37740	// Details about a service within an ECS cluster.
37741	AwsEcsService *AwsEcsServiceDetails `type:"structure"`
37742
37743	// Details about a task definition. A task definition describes the container
37744	// and volume definitions of an Amazon Elastic Container Service task.
37745	AwsEcsTaskDefinition *AwsEcsTaskDefinitionDetails `type:"structure"`
37746
37747	// Details about an Amazon EKS cluster.
37748	AwsEksCluster *AwsEksClusterDetails `type:"structure"`
37749
37750	// Details about an Elastic Beanstalk environment.
37751	AwsElasticBeanstalkEnvironment *AwsElasticBeanstalkEnvironmentDetails `type:"structure"`
37752
37753	// Details for an Elasticsearch domain.
37754	AwsElasticsearchDomain *AwsElasticsearchDomainDetails `type:"structure"`
37755
37756	// Contains details about a Classic Load Balancer.
37757	AwsElbLoadBalancer *AwsElbLoadBalancerDetails `type:"structure"`
37758
37759	// Details about a load balancer.
37760	AwsElbv2LoadBalancer *AwsElbv2LoadBalancerDetails `type:"structure"`
37761
37762	// Details about an IAM access key related to a finding.
37763	AwsIamAccessKey *AwsIamAccessKeyDetails `type:"structure"`
37764
37765	// Contains details about an IAM group.
37766	AwsIamGroup *AwsIamGroupDetails `type:"structure"`
37767
37768	// Details about an IAM permissions policy.
37769	AwsIamPolicy *AwsIamPolicyDetails `type:"structure"`
37770
37771	// Details about an IAM role.
37772	AwsIamRole *AwsIamRoleDetails `type:"structure"`
37773
37774	// Details about an IAM user.
37775	AwsIamUser *AwsIamUserDetails `type:"structure"`
37776
37777	// Details about an KMS key.
37778	AwsKmsKey *AwsKmsKeyDetails `type:"structure"`
37779
37780	// Details about a Lambda function.
37781	AwsLambdaFunction *AwsLambdaFunctionDetails `type:"structure"`
37782
37783	// Details for a Lambda layer version.
37784	AwsLambdaLayerVersion *AwsLambdaLayerVersionDetails `type:"structure"`
37785
37786	// Details about an Amazon OpenSearch Service domain.
37787	AwsOpenSearchServiceDomain *AwsOpenSearchServiceDomainDetails `type:"structure"`
37788
37789	// Details about an Amazon RDS database cluster.
37790	AwsRdsDbCluster *AwsRdsDbClusterDetails `type:"structure"`
37791
37792	// Details about an Amazon RDS database cluster snapshot.
37793	AwsRdsDbClusterSnapshot *AwsRdsDbClusterSnapshotDetails `type:"structure"`
37794
37795	// Details about an Amazon RDS database instance.
37796	AwsRdsDbInstance *AwsRdsDbInstanceDetails `type:"structure"`
37797
37798	// Details about an Amazon RDS database snapshot.
37799	AwsRdsDbSnapshot *AwsRdsDbSnapshotDetails `type:"structure"`
37800
37801	// Details about an RDS event notification subscription.
37802	AwsRdsEventSubscription *AwsRdsEventSubscriptionDetails `type:"structure"`
37803
37804	// Contains details about an Amazon Redshift cluster.
37805	AwsRedshiftCluster *AwsRedshiftClusterDetails `type:"structure"`
37806
37807	// Details about the Amazon S3 Public Access Block configuration for an account.
37808	AwsS3AccountPublicAccessBlock *AwsS3AccountPublicAccessBlockDetails `type:"structure"`
37809
37810	// Details about an S3 bucket related to a finding.
37811	AwsS3Bucket *AwsS3BucketDetails `type:"structure"`
37812
37813	// Details about an S3 object related to a finding.
37814	AwsS3Object *AwsS3ObjectDetails `type:"structure"`
37815
37816	// Details about a Secrets Manager secret.
37817	AwsSecretsManagerSecret *AwsSecretsManagerSecretDetails `type:"structure"`
37818
37819	// Details about an SNS topic.
37820	AwsSnsTopic *AwsSnsTopicDetails `type:"structure"`
37821
37822	// Details about an SQS queue.
37823	AwsSqsQueue *AwsSqsQueueDetails `type:"structure"`
37824
37825	// Provides information about the state of a patch on an instance based on the
37826	// patch baseline that was used to patch the instance.
37827	AwsSsmPatchCompliance *AwsSsmPatchComplianceDetails `type:"structure"`
37828
37829	// Details about a rate-based rule for global resources.
37830	AwsWafRateBasedRule *AwsWafRateBasedRuleDetails `type:"structure"`
37831
37832	// Details about a rate-based rule for Regional resources.
37833	AwsWafRegionalRateBasedRule *AwsWafRegionalRateBasedRuleDetails `type:"structure"`
37834
37835	// Details for an WAF WebACL.
37836	AwsWafWebAcl *AwsWafWebAclDetails `type:"structure"`
37837
37838	// Information about the encryption configuration for X-Ray.
37839	AwsXrayEncryptionConfig *AwsXrayEncryptionConfigDetails `type:"structure"`
37840
37841	// Details about a container resource related to a finding.
37842	Container *ContainerDetails `type:"structure"`
37843
37844	// Details about a resource that are not available in a type-specific details
37845	// object. Use the Other object in the following cases.
37846	//
37847	//    * The type-specific object does not contain all of the fields that you
37848	//    want to populate. In this case, first use the type-specific object to
37849	//    populate those fields. Use the Other object to populate the fields that
37850	//    are missing from the type-specific object.
37851	//
37852	//    * The resource type does not have a corresponding object. This includes
37853	//    resources for which the type is Other.
37854	Other map[string]*string `type:"map"`
37855}
37856
37857// String returns the string representation.
37858//
37859// API parameter values that are decorated as "sensitive" in the API will not
37860// be included in the string output. The member name will be present, but the
37861// value will be replaced with "sensitive".
37862func (s ResourceDetails) String() string {
37863	return awsutil.Prettify(s)
37864}
37865
37866// GoString returns the string representation.
37867//
37868// API parameter values that are decorated as "sensitive" in the API will not
37869// be included in the string output. The member name will be present, but the
37870// value will be replaced with "sensitive".
37871func (s ResourceDetails) GoString() string {
37872	return s.String()
37873}
37874
37875// Validate inspects the fields of the type to determine if they are valid.
37876func (s *ResourceDetails) Validate() error {
37877	invalidParams := request.ErrInvalidParams{Context: "ResourceDetails"}
37878	if s.AwsIamRole != nil {
37879		if err := s.AwsIamRole.Validate(); err != nil {
37880			invalidParams.AddNested("AwsIamRole", err.(request.ErrInvalidParams))
37881		}
37882	}
37883
37884	if invalidParams.Len() > 0 {
37885		return invalidParams
37886	}
37887	return nil
37888}
37889
37890// SetAwsApiGatewayRestApi sets the AwsApiGatewayRestApi field's value.
37891func (s *ResourceDetails) SetAwsApiGatewayRestApi(v *AwsApiGatewayRestApiDetails) *ResourceDetails {
37892	s.AwsApiGatewayRestApi = v
37893	return s
37894}
37895
37896// SetAwsApiGatewayStage sets the AwsApiGatewayStage field's value.
37897func (s *ResourceDetails) SetAwsApiGatewayStage(v *AwsApiGatewayStageDetails) *ResourceDetails {
37898	s.AwsApiGatewayStage = v
37899	return s
37900}
37901
37902// SetAwsApiGatewayV2Api sets the AwsApiGatewayV2Api field's value.
37903func (s *ResourceDetails) SetAwsApiGatewayV2Api(v *AwsApiGatewayV2ApiDetails) *ResourceDetails {
37904	s.AwsApiGatewayV2Api = v
37905	return s
37906}
37907
37908// SetAwsApiGatewayV2Stage sets the AwsApiGatewayV2Stage field's value.
37909func (s *ResourceDetails) SetAwsApiGatewayV2Stage(v *AwsApiGatewayV2StageDetails) *ResourceDetails {
37910	s.AwsApiGatewayV2Stage = v
37911	return s
37912}
37913
37914// SetAwsAutoScalingAutoScalingGroup sets the AwsAutoScalingAutoScalingGroup field's value.
37915func (s *ResourceDetails) SetAwsAutoScalingAutoScalingGroup(v *AwsAutoScalingAutoScalingGroupDetails) *ResourceDetails {
37916	s.AwsAutoScalingAutoScalingGroup = v
37917	return s
37918}
37919
37920// SetAwsAutoScalingLaunchConfiguration sets the AwsAutoScalingLaunchConfiguration field's value.
37921func (s *ResourceDetails) SetAwsAutoScalingLaunchConfiguration(v *AwsAutoScalingLaunchConfigurationDetails) *ResourceDetails {
37922	s.AwsAutoScalingLaunchConfiguration = v
37923	return s
37924}
37925
37926// SetAwsCertificateManagerCertificate sets the AwsCertificateManagerCertificate field's value.
37927func (s *ResourceDetails) SetAwsCertificateManagerCertificate(v *AwsCertificateManagerCertificateDetails) *ResourceDetails {
37928	s.AwsCertificateManagerCertificate = v
37929	return s
37930}
37931
37932// SetAwsCloudFrontDistribution sets the AwsCloudFrontDistribution field's value.
37933func (s *ResourceDetails) SetAwsCloudFrontDistribution(v *AwsCloudFrontDistributionDetails) *ResourceDetails {
37934	s.AwsCloudFrontDistribution = v
37935	return s
37936}
37937
37938// SetAwsCloudTrailTrail sets the AwsCloudTrailTrail field's value.
37939func (s *ResourceDetails) SetAwsCloudTrailTrail(v *AwsCloudTrailTrailDetails) *ResourceDetails {
37940	s.AwsCloudTrailTrail = v
37941	return s
37942}
37943
37944// SetAwsCodeBuildProject sets the AwsCodeBuildProject field's value.
37945func (s *ResourceDetails) SetAwsCodeBuildProject(v *AwsCodeBuildProjectDetails) *ResourceDetails {
37946	s.AwsCodeBuildProject = v
37947	return s
37948}
37949
37950// SetAwsDynamoDbTable sets the AwsDynamoDbTable field's value.
37951func (s *ResourceDetails) SetAwsDynamoDbTable(v *AwsDynamoDbTableDetails) *ResourceDetails {
37952	s.AwsDynamoDbTable = v
37953	return s
37954}
37955
37956// SetAwsEc2Eip sets the AwsEc2Eip field's value.
37957func (s *ResourceDetails) SetAwsEc2Eip(v *AwsEc2EipDetails) *ResourceDetails {
37958	s.AwsEc2Eip = v
37959	return s
37960}
37961
37962// SetAwsEc2Instance sets the AwsEc2Instance field's value.
37963func (s *ResourceDetails) SetAwsEc2Instance(v *AwsEc2InstanceDetails) *ResourceDetails {
37964	s.AwsEc2Instance = v
37965	return s
37966}
37967
37968// SetAwsEc2NetworkAcl sets the AwsEc2NetworkAcl field's value.
37969func (s *ResourceDetails) SetAwsEc2NetworkAcl(v *AwsEc2NetworkAclDetails) *ResourceDetails {
37970	s.AwsEc2NetworkAcl = v
37971	return s
37972}
37973
37974// SetAwsEc2NetworkInterface sets the AwsEc2NetworkInterface field's value.
37975func (s *ResourceDetails) SetAwsEc2NetworkInterface(v *AwsEc2NetworkInterfaceDetails) *ResourceDetails {
37976	s.AwsEc2NetworkInterface = v
37977	return s
37978}
37979
37980// SetAwsEc2SecurityGroup sets the AwsEc2SecurityGroup field's value.
37981func (s *ResourceDetails) SetAwsEc2SecurityGroup(v *AwsEc2SecurityGroupDetails) *ResourceDetails {
37982	s.AwsEc2SecurityGroup = v
37983	return s
37984}
37985
37986// SetAwsEc2Subnet sets the AwsEc2Subnet field's value.
37987func (s *ResourceDetails) SetAwsEc2Subnet(v *AwsEc2SubnetDetails) *ResourceDetails {
37988	s.AwsEc2Subnet = v
37989	return s
37990}
37991
37992// SetAwsEc2Volume sets the AwsEc2Volume field's value.
37993func (s *ResourceDetails) SetAwsEc2Volume(v *AwsEc2VolumeDetails) *ResourceDetails {
37994	s.AwsEc2Volume = v
37995	return s
37996}
37997
37998// SetAwsEc2Vpc sets the AwsEc2Vpc field's value.
37999func (s *ResourceDetails) SetAwsEc2Vpc(v *AwsEc2VpcDetails) *ResourceDetails {
38000	s.AwsEc2Vpc = v
38001	return s
38002}
38003
38004// SetAwsEc2VpcEndpointService sets the AwsEc2VpcEndpointService field's value.
38005func (s *ResourceDetails) SetAwsEc2VpcEndpointService(v *AwsEc2VpcEndpointServiceDetails) *ResourceDetails {
38006	s.AwsEc2VpcEndpointService = v
38007	return s
38008}
38009
38010// SetAwsEc2VpnConnection sets the AwsEc2VpnConnection field's value.
38011func (s *ResourceDetails) SetAwsEc2VpnConnection(v *AwsEc2VpnConnectionDetails) *ResourceDetails {
38012	s.AwsEc2VpnConnection = v
38013	return s
38014}
38015
38016// SetAwsEcrContainerImage sets the AwsEcrContainerImage field's value.
38017func (s *ResourceDetails) SetAwsEcrContainerImage(v *AwsEcrContainerImageDetails) *ResourceDetails {
38018	s.AwsEcrContainerImage = v
38019	return s
38020}
38021
38022// SetAwsEcrRepository sets the AwsEcrRepository field's value.
38023func (s *ResourceDetails) SetAwsEcrRepository(v *AwsEcrRepositoryDetails) *ResourceDetails {
38024	s.AwsEcrRepository = v
38025	return s
38026}
38027
38028// SetAwsEcsCluster sets the AwsEcsCluster field's value.
38029func (s *ResourceDetails) SetAwsEcsCluster(v *AwsEcsClusterDetails) *ResourceDetails {
38030	s.AwsEcsCluster = v
38031	return s
38032}
38033
38034// SetAwsEcsService sets the AwsEcsService field's value.
38035func (s *ResourceDetails) SetAwsEcsService(v *AwsEcsServiceDetails) *ResourceDetails {
38036	s.AwsEcsService = v
38037	return s
38038}
38039
38040// SetAwsEcsTaskDefinition sets the AwsEcsTaskDefinition field's value.
38041func (s *ResourceDetails) SetAwsEcsTaskDefinition(v *AwsEcsTaskDefinitionDetails) *ResourceDetails {
38042	s.AwsEcsTaskDefinition = v
38043	return s
38044}
38045
38046// SetAwsEksCluster sets the AwsEksCluster field's value.
38047func (s *ResourceDetails) SetAwsEksCluster(v *AwsEksClusterDetails) *ResourceDetails {
38048	s.AwsEksCluster = v
38049	return s
38050}
38051
38052// SetAwsElasticBeanstalkEnvironment sets the AwsElasticBeanstalkEnvironment field's value.
38053func (s *ResourceDetails) SetAwsElasticBeanstalkEnvironment(v *AwsElasticBeanstalkEnvironmentDetails) *ResourceDetails {
38054	s.AwsElasticBeanstalkEnvironment = v
38055	return s
38056}
38057
38058// SetAwsElasticsearchDomain sets the AwsElasticsearchDomain field's value.
38059func (s *ResourceDetails) SetAwsElasticsearchDomain(v *AwsElasticsearchDomainDetails) *ResourceDetails {
38060	s.AwsElasticsearchDomain = v
38061	return s
38062}
38063
38064// SetAwsElbLoadBalancer sets the AwsElbLoadBalancer field's value.
38065func (s *ResourceDetails) SetAwsElbLoadBalancer(v *AwsElbLoadBalancerDetails) *ResourceDetails {
38066	s.AwsElbLoadBalancer = v
38067	return s
38068}
38069
38070// SetAwsElbv2LoadBalancer sets the AwsElbv2LoadBalancer field's value.
38071func (s *ResourceDetails) SetAwsElbv2LoadBalancer(v *AwsElbv2LoadBalancerDetails) *ResourceDetails {
38072	s.AwsElbv2LoadBalancer = v
38073	return s
38074}
38075
38076// SetAwsIamAccessKey sets the AwsIamAccessKey field's value.
38077func (s *ResourceDetails) SetAwsIamAccessKey(v *AwsIamAccessKeyDetails) *ResourceDetails {
38078	s.AwsIamAccessKey = v
38079	return s
38080}
38081
38082// SetAwsIamGroup sets the AwsIamGroup field's value.
38083func (s *ResourceDetails) SetAwsIamGroup(v *AwsIamGroupDetails) *ResourceDetails {
38084	s.AwsIamGroup = v
38085	return s
38086}
38087
38088// SetAwsIamPolicy sets the AwsIamPolicy field's value.
38089func (s *ResourceDetails) SetAwsIamPolicy(v *AwsIamPolicyDetails) *ResourceDetails {
38090	s.AwsIamPolicy = v
38091	return s
38092}
38093
38094// SetAwsIamRole sets the AwsIamRole field's value.
38095func (s *ResourceDetails) SetAwsIamRole(v *AwsIamRoleDetails) *ResourceDetails {
38096	s.AwsIamRole = v
38097	return s
38098}
38099
38100// SetAwsIamUser sets the AwsIamUser field's value.
38101func (s *ResourceDetails) SetAwsIamUser(v *AwsIamUserDetails) *ResourceDetails {
38102	s.AwsIamUser = v
38103	return s
38104}
38105
38106// SetAwsKmsKey sets the AwsKmsKey field's value.
38107func (s *ResourceDetails) SetAwsKmsKey(v *AwsKmsKeyDetails) *ResourceDetails {
38108	s.AwsKmsKey = v
38109	return s
38110}
38111
38112// SetAwsLambdaFunction sets the AwsLambdaFunction field's value.
38113func (s *ResourceDetails) SetAwsLambdaFunction(v *AwsLambdaFunctionDetails) *ResourceDetails {
38114	s.AwsLambdaFunction = v
38115	return s
38116}
38117
38118// SetAwsLambdaLayerVersion sets the AwsLambdaLayerVersion field's value.
38119func (s *ResourceDetails) SetAwsLambdaLayerVersion(v *AwsLambdaLayerVersionDetails) *ResourceDetails {
38120	s.AwsLambdaLayerVersion = v
38121	return s
38122}
38123
38124// SetAwsOpenSearchServiceDomain sets the AwsOpenSearchServiceDomain field's value.
38125func (s *ResourceDetails) SetAwsOpenSearchServiceDomain(v *AwsOpenSearchServiceDomainDetails) *ResourceDetails {
38126	s.AwsOpenSearchServiceDomain = v
38127	return s
38128}
38129
38130// SetAwsRdsDbCluster sets the AwsRdsDbCluster field's value.
38131func (s *ResourceDetails) SetAwsRdsDbCluster(v *AwsRdsDbClusterDetails) *ResourceDetails {
38132	s.AwsRdsDbCluster = v
38133	return s
38134}
38135
38136// SetAwsRdsDbClusterSnapshot sets the AwsRdsDbClusterSnapshot field's value.
38137func (s *ResourceDetails) SetAwsRdsDbClusterSnapshot(v *AwsRdsDbClusterSnapshotDetails) *ResourceDetails {
38138	s.AwsRdsDbClusterSnapshot = v
38139	return s
38140}
38141
38142// SetAwsRdsDbInstance sets the AwsRdsDbInstance field's value.
38143func (s *ResourceDetails) SetAwsRdsDbInstance(v *AwsRdsDbInstanceDetails) *ResourceDetails {
38144	s.AwsRdsDbInstance = v
38145	return s
38146}
38147
38148// SetAwsRdsDbSnapshot sets the AwsRdsDbSnapshot field's value.
38149func (s *ResourceDetails) SetAwsRdsDbSnapshot(v *AwsRdsDbSnapshotDetails) *ResourceDetails {
38150	s.AwsRdsDbSnapshot = v
38151	return s
38152}
38153
38154// SetAwsRdsEventSubscription sets the AwsRdsEventSubscription field's value.
38155func (s *ResourceDetails) SetAwsRdsEventSubscription(v *AwsRdsEventSubscriptionDetails) *ResourceDetails {
38156	s.AwsRdsEventSubscription = v
38157	return s
38158}
38159
38160// SetAwsRedshiftCluster sets the AwsRedshiftCluster field's value.
38161func (s *ResourceDetails) SetAwsRedshiftCluster(v *AwsRedshiftClusterDetails) *ResourceDetails {
38162	s.AwsRedshiftCluster = v
38163	return s
38164}
38165
38166// SetAwsS3AccountPublicAccessBlock sets the AwsS3AccountPublicAccessBlock field's value.
38167func (s *ResourceDetails) SetAwsS3AccountPublicAccessBlock(v *AwsS3AccountPublicAccessBlockDetails) *ResourceDetails {
38168	s.AwsS3AccountPublicAccessBlock = v
38169	return s
38170}
38171
38172// SetAwsS3Bucket sets the AwsS3Bucket field's value.
38173func (s *ResourceDetails) SetAwsS3Bucket(v *AwsS3BucketDetails) *ResourceDetails {
38174	s.AwsS3Bucket = v
38175	return s
38176}
38177
38178// SetAwsS3Object sets the AwsS3Object field's value.
38179func (s *ResourceDetails) SetAwsS3Object(v *AwsS3ObjectDetails) *ResourceDetails {
38180	s.AwsS3Object = v
38181	return s
38182}
38183
38184// SetAwsSecretsManagerSecret sets the AwsSecretsManagerSecret field's value.
38185func (s *ResourceDetails) SetAwsSecretsManagerSecret(v *AwsSecretsManagerSecretDetails) *ResourceDetails {
38186	s.AwsSecretsManagerSecret = v
38187	return s
38188}
38189
38190// SetAwsSnsTopic sets the AwsSnsTopic field's value.
38191func (s *ResourceDetails) SetAwsSnsTopic(v *AwsSnsTopicDetails) *ResourceDetails {
38192	s.AwsSnsTopic = v
38193	return s
38194}
38195
38196// SetAwsSqsQueue sets the AwsSqsQueue field's value.
38197func (s *ResourceDetails) SetAwsSqsQueue(v *AwsSqsQueueDetails) *ResourceDetails {
38198	s.AwsSqsQueue = v
38199	return s
38200}
38201
38202// SetAwsSsmPatchCompliance sets the AwsSsmPatchCompliance field's value.
38203func (s *ResourceDetails) SetAwsSsmPatchCompliance(v *AwsSsmPatchComplianceDetails) *ResourceDetails {
38204	s.AwsSsmPatchCompliance = v
38205	return s
38206}
38207
38208// SetAwsWafRateBasedRule sets the AwsWafRateBasedRule field's value.
38209func (s *ResourceDetails) SetAwsWafRateBasedRule(v *AwsWafRateBasedRuleDetails) *ResourceDetails {
38210	s.AwsWafRateBasedRule = v
38211	return s
38212}
38213
38214// SetAwsWafRegionalRateBasedRule sets the AwsWafRegionalRateBasedRule field's value.
38215func (s *ResourceDetails) SetAwsWafRegionalRateBasedRule(v *AwsWafRegionalRateBasedRuleDetails) *ResourceDetails {
38216	s.AwsWafRegionalRateBasedRule = v
38217	return s
38218}
38219
38220// SetAwsWafWebAcl sets the AwsWafWebAcl field's value.
38221func (s *ResourceDetails) SetAwsWafWebAcl(v *AwsWafWebAclDetails) *ResourceDetails {
38222	s.AwsWafWebAcl = v
38223	return s
38224}
38225
38226// SetAwsXrayEncryptionConfig sets the AwsXrayEncryptionConfig field's value.
38227func (s *ResourceDetails) SetAwsXrayEncryptionConfig(v *AwsXrayEncryptionConfigDetails) *ResourceDetails {
38228	s.AwsXrayEncryptionConfig = v
38229	return s
38230}
38231
38232// SetContainer sets the Container field's value.
38233func (s *ResourceDetails) SetContainer(v *ContainerDetails) *ResourceDetails {
38234	s.Container = v
38235	return s
38236}
38237
38238// SetOther sets the Other field's value.
38239func (s *ResourceDetails) SetOther(v map[string]*string) *ResourceDetails {
38240	s.Other = v
38241	return s
38242}
38243
38244// The request was rejected because we can't find the specified resource.
38245type ResourceNotFoundException struct {
38246	_            struct{}                  `type:"structure"`
38247	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
38248
38249	Code_ *string `locationName:"Code" type:"string"`
38250
38251	Message_ *string `locationName:"Message" type:"string"`
38252}
38253
38254// String returns the string representation.
38255//
38256// API parameter values that are decorated as "sensitive" in the API will not
38257// be included in the string output. The member name will be present, but the
38258// value will be replaced with "sensitive".
38259func (s ResourceNotFoundException) String() string {
38260	return awsutil.Prettify(s)
38261}
38262
38263// GoString returns the string representation.
38264//
38265// API parameter values that are decorated as "sensitive" in the API will not
38266// be included in the string output. The member name will be present, but the
38267// value will be replaced with "sensitive".
38268func (s ResourceNotFoundException) GoString() string {
38269	return s.String()
38270}
38271
38272func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
38273	return &ResourceNotFoundException{
38274		RespMetadata: v,
38275	}
38276}
38277
38278// Code returns the exception type name.
38279func (s *ResourceNotFoundException) Code() string {
38280	return "ResourceNotFoundException"
38281}
38282
38283// Message returns the exception's message.
38284func (s *ResourceNotFoundException) Message() string {
38285	if s.Message_ != nil {
38286		return *s.Message_
38287	}
38288	return ""
38289}
38290
38291// OrigErr always returns nil, satisfies awserr.Error interface.
38292func (s *ResourceNotFoundException) OrigErr() error {
38293	return nil
38294}
38295
38296func (s *ResourceNotFoundException) Error() string {
38297	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
38298}
38299
38300// Status code returns the HTTP status code for the request's response error.
38301func (s *ResourceNotFoundException) StatusCode() int {
38302	return s.RespMetadata.StatusCode
38303}
38304
38305// RequestID returns the service's response RequestID for request.
38306func (s *ResourceNotFoundException) RequestID() string {
38307	return s.RespMetadata.RequestID
38308}
38309
38310// Details about the account that was not processed.
38311type Result struct {
38312	_ struct{} `type:"structure"`
38313
38314	// An Amazon Web Services account ID of the account that was not processed.
38315	AccountId *string `type:"string"`
38316
38317	// The reason that the account was not processed.
38318	ProcessingResult *string `type:"string"`
38319}
38320
38321// String returns the string representation.
38322//
38323// API parameter values that are decorated as "sensitive" in the API will not
38324// be included in the string output. The member name will be present, but the
38325// value will be replaced with "sensitive".
38326func (s Result) String() string {
38327	return awsutil.Prettify(s)
38328}
38329
38330// GoString returns the string representation.
38331//
38332// API parameter values that are decorated as "sensitive" in the API will not
38333// be included in the string output. The member name will be present, but the
38334// value will be replaced with "sensitive".
38335func (s Result) GoString() string {
38336	return s.String()
38337}
38338
38339// SetAccountId sets the AccountId field's value.
38340func (s *Result) SetAccountId(v string) *Result {
38341	s.AccountId = &v
38342	return s
38343}
38344
38345// SetProcessingResult sets the ProcessingResult field's value.
38346func (s *Result) SetProcessingResult(v string) *Result {
38347	s.ProcessingResult = &v
38348	return s
38349}
38350
38351// The list of detected instances of sensitive data.
38352type SensitiveDataDetections struct {
38353	_ struct{} `type:"structure"`
38354
38355	// The total number of occurrences of sensitive data that were detected.
38356	Count *int64 `type:"long"`
38357
38358	// Details about the sensitive data that was detected.
38359	Occurrences *Occurrences `type:"structure"`
38360
38361	// The type of sensitive data that was detected. For example, the type might
38362	// indicate that the data is an email address.
38363	Type *string `type:"string"`
38364}
38365
38366// String returns the string representation.
38367//
38368// API parameter values that are decorated as "sensitive" in the API will not
38369// be included in the string output. The member name will be present, but the
38370// value will be replaced with "sensitive".
38371func (s SensitiveDataDetections) String() string {
38372	return awsutil.Prettify(s)
38373}
38374
38375// GoString returns the string representation.
38376//
38377// API parameter values that are decorated as "sensitive" in the API will not
38378// be included in the string output. The member name will be present, but the
38379// value will be replaced with "sensitive".
38380func (s SensitiveDataDetections) GoString() string {
38381	return s.String()
38382}
38383
38384// SetCount sets the Count field's value.
38385func (s *SensitiveDataDetections) SetCount(v int64) *SensitiveDataDetections {
38386	s.Count = &v
38387	return s
38388}
38389
38390// SetOccurrences sets the Occurrences field's value.
38391func (s *SensitiveDataDetections) SetOccurrences(v *Occurrences) *SensitiveDataDetections {
38392	s.Occurrences = v
38393	return s
38394}
38395
38396// SetType sets the Type field's value.
38397func (s *SensitiveDataDetections) SetType(v string) *SensitiveDataDetections {
38398	s.Type = &v
38399	return s
38400}
38401
38402// Contains a detected instance of sensitive data that are based on built-in
38403// identifiers.
38404type SensitiveDataResult struct {
38405	_ struct{} `type:"structure"`
38406
38407	// The category of sensitive data that was detected. For example, the category
38408	// can indicate that the sensitive data involved credentials, financial information,
38409	// or personal information.
38410	Category *string `type:"string"`
38411
38412	// The list of detected instances of sensitive data.
38413	Detections []*SensitiveDataDetections `type:"list"`
38414
38415	// The total number of occurrences of sensitive data.
38416	TotalCount *int64 `type:"long"`
38417}
38418
38419// String returns the string representation.
38420//
38421// API parameter values that are decorated as "sensitive" in the API will not
38422// be included in the string output. The member name will be present, but the
38423// value will be replaced with "sensitive".
38424func (s SensitiveDataResult) String() string {
38425	return awsutil.Prettify(s)
38426}
38427
38428// GoString returns the string representation.
38429//
38430// API parameter values that are decorated as "sensitive" in the API will not
38431// be included in the string output. The member name will be present, but the
38432// value will be replaced with "sensitive".
38433func (s SensitiveDataResult) GoString() string {
38434	return s.String()
38435}
38436
38437// SetCategory sets the Category field's value.
38438func (s *SensitiveDataResult) SetCategory(v string) *SensitiveDataResult {
38439	s.Category = &v
38440	return s
38441}
38442
38443// SetDetections sets the Detections field's value.
38444func (s *SensitiveDataResult) SetDetections(v []*SensitiveDataDetections) *SensitiveDataResult {
38445	s.Detections = v
38446	return s
38447}
38448
38449// SetTotalCount sets the TotalCount field's value.
38450func (s *SensitiveDataResult) SetTotalCount(v int64) *SensitiveDataResult {
38451	s.TotalCount = &v
38452	return s
38453}
38454
38455// The severity of the finding.
38456//
38457// The finding provider can provide the initial severity. The finding provider
38458// can only update the severity if it has not been updated using BatchUpdateFindings.
38459//
38460// The finding must have either Label or Normalized populated. If only one of
38461// these attributes is populated, then Security Hub automatically populates
38462// the other one. If neither attribute is populated, then the finding is invalid.
38463// Label is the preferred attribute.
38464type Severity struct {
38465	_ struct{} `type:"structure"`
38466
38467	// The severity value of the finding. The allowed values are the following.
38468	//
38469	//    * INFORMATIONAL - No issue was found.
38470	//
38471	//    * LOW - The issue does not require action on its own.
38472	//
38473	//    * MEDIUM - The issue must be addressed but not urgently.
38474	//
38475	//    * HIGH - The issue must be addressed as a priority.
38476	//
38477	//    * CRITICAL - The issue must be remediated immediately to avoid it escalating.
38478	//
38479	// If you provide Normalized and do not provide Label, then Label is set automatically
38480	// as follows.
38481	//
38482	//    * 0 - INFORMATIONAL
38483	//
38484	//    * 1–39 - LOW
38485	//
38486	//    * 40–69 - MEDIUM
38487	//
38488	//    * 70–89 - HIGH
38489	//
38490	//    * 90–100 - CRITICAL
38491	Label *string `type:"string" enum:"SeverityLabel"`
38492
38493	// Deprecated. The normalized severity of a finding. This attribute is being
38494	// deprecated. Instead of providing Normalized, provide Label.
38495	//
38496	// If you provide Label and do not provide Normalized, then Normalized is set
38497	// automatically as follows.
38498	//
38499	//    * INFORMATIONAL - 0
38500	//
38501	//    * LOW - 1
38502	//
38503	//    * MEDIUM - 40
38504	//
38505	//    * HIGH - 70
38506	//
38507	//    * CRITICAL - 90
38508	Normalized *int64 `type:"integer"`
38509
38510	// The native severity from the finding product that generated the finding.
38511	Original *string `type:"string"`
38512
38513	// Deprecated. This attribute is being deprecated. Instead of providing Product,
38514	// provide Original.
38515	//
38516	// The native severity as defined by the Amazon Web Services service or integrated
38517	// partner product that generated the finding.
38518	Product *float64 `type:"double"`
38519}
38520
38521// String returns the string representation.
38522//
38523// API parameter values that are decorated as "sensitive" in the API will not
38524// be included in the string output. The member name will be present, but the
38525// value will be replaced with "sensitive".
38526func (s Severity) String() string {
38527	return awsutil.Prettify(s)
38528}
38529
38530// GoString returns the string representation.
38531//
38532// API parameter values that are decorated as "sensitive" in the API will not
38533// be included in the string output. The member name will be present, but the
38534// value will be replaced with "sensitive".
38535func (s Severity) GoString() string {
38536	return s.String()
38537}
38538
38539// SetLabel sets the Label field's value.
38540func (s *Severity) SetLabel(v string) *Severity {
38541	s.Label = &v
38542	return s
38543}
38544
38545// SetNormalized sets the Normalized field's value.
38546func (s *Severity) SetNormalized(v int64) *Severity {
38547	s.Normalized = &v
38548	return s
38549}
38550
38551// SetOriginal sets the Original field's value.
38552func (s *Severity) SetOriginal(v string) *Severity {
38553	s.Original = &v
38554	return s
38555}
38556
38557// SetProduct sets the Product field's value.
38558func (s *Severity) SetProduct(v float64) *Severity {
38559	s.Product = &v
38560	return s
38561}
38562
38563// Updates to the severity information for a finding.
38564type SeverityUpdate struct {
38565	_ struct{} `type:"structure"`
38566
38567	// The severity value of the finding. The allowed values are the following.
38568	//
38569	//    * INFORMATIONAL - No issue was found.
38570	//
38571	//    * LOW - The issue does not require action on its own.
38572	//
38573	//    * MEDIUM - The issue must be addressed but not urgently.
38574	//
38575	//    * HIGH - The issue must be addressed as a priority.
38576	//
38577	//    * CRITICAL - The issue must be remediated immediately to avoid it escalating.
38578	Label *string `type:"string" enum:"SeverityLabel"`
38579
38580	// The normalized severity for the finding. This attribute is to be deprecated
38581	// in favor of Label.
38582	//
38583	// If you provide Normalized and do not provide Label, Label is set automatically
38584	// as follows.
38585	//
38586	//    * 0 - INFORMATIONAL
38587	//
38588	//    * 1–39 - LOW
38589	//
38590	//    * 40–69 - MEDIUM
38591	//
38592	//    * 70–89 - HIGH
38593	//
38594	//    * 90–100 - CRITICAL
38595	Normalized *int64 `type:"integer"`
38596
38597	// The native severity as defined by the Amazon Web Services service or integrated
38598	// partner product that generated the finding.
38599	Product *float64 `type:"double"`
38600}
38601
38602// String returns the string representation.
38603//
38604// API parameter values that are decorated as "sensitive" in the API will not
38605// be included in the string output. The member name will be present, but the
38606// value will be replaced with "sensitive".
38607func (s SeverityUpdate) String() string {
38608	return awsutil.Prettify(s)
38609}
38610
38611// GoString returns the string representation.
38612//
38613// API parameter values that are decorated as "sensitive" in the API will not
38614// be included in the string output. The member name will be present, but the
38615// value will be replaced with "sensitive".
38616func (s SeverityUpdate) GoString() string {
38617	return s.String()
38618}
38619
38620// SetLabel sets the Label field's value.
38621func (s *SeverityUpdate) SetLabel(v string) *SeverityUpdate {
38622	s.Label = &v
38623	return s
38624}
38625
38626// SetNormalized sets the Normalized field's value.
38627func (s *SeverityUpdate) SetNormalized(v int64) *SeverityUpdate {
38628	s.Normalized = &v
38629	return s
38630}
38631
38632// SetProduct sets the Product field's value.
38633func (s *SeverityUpdate) SetProduct(v float64) *SeverityUpdate {
38634	s.Product = &v
38635	return s
38636}
38637
38638// Information about a software package.
38639type SoftwarePackage struct {
38640	_ struct{} `type:"structure"`
38641
38642	// The architecture used for the software package.
38643	Architecture *string `type:"string"`
38644
38645	// The epoch of the software package.
38646	Epoch *string `type:"string"`
38647
38648	// The file system path to the package manager inventory file.
38649	FilePath *string `type:"string"`
38650
38651	// The name of the software package.
38652	Name *string `type:"string"`
38653
38654	// The source of the package.
38655	PackageManager *string `type:"string"`
38656
38657	// The release of the software package.
38658	Release *string `type:"string"`
38659
38660	// The version of the software package.
38661	Version *string `type:"string"`
38662}
38663
38664// String returns the string representation.
38665//
38666// API parameter values that are decorated as "sensitive" in the API will not
38667// be included in the string output. The member name will be present, but the
38668// value will be replaced with "sensitive".
38669func (s SoftwarePackage) String() string {
38670	return awsutil.Prettify(s)
38671}
38672
38673// GoString returns the string representation.
38674//
38675// API parameter values that are decorated as "sensitive" in the API will not
38676// be included in the string output. The member name will be present, but the
38677// value will be replaced with "sensitive".
38678func (s SoftwarePackage) GoString() string {
38679	return s.String()
38680}
38681
38682// SetArchitecture sets the Architecture field's value.
38683func (s *SoftwarePackage) SetArchitecture(v string) *SoftwarePackage {
38684	s.Architecture = &v
38685	return s
38686}
38687
38688// SetEpoch sets the Epoch field's value.
38689func (s *SoftwarePackage) SetEpoch(v string) *SoftwarePackage {
38690	s.Epoch = &v
38691	return s
38692}
38693
38694// SetFilePath sets the FilePath field's value.
38695func (s *SoftwarePackage) SetFilePath(v string) *SoftwarePackage {
38696	s.FilePath = &v
38697	return s
38698}
38699
38700// SetName sets the Name field's value.
38701func (s *SoftwarePackage) SetName(v string) *SoftwarePackage {
38702	s.Name = &v
38703	return s
38704}
38705
38706// SetPackageManager sets the PackageManager field's value.
38707func (s *SoftwarePackage) SetPackageManager(v string) *SoftwarePackage {
38708	s.PackageManager = &v
38709	return s
38710}
38711
38712// SetRelease sets the Release field's value.
38713func (s *SoftwarePackage) SetRelease(v string) *SoftwarePackage {
38714	s.Release = &v
38715	return s
38716}
38717
38718// SetVersion sets the Version field's value.
38719func (s *SoftwarePackage) SetVersion(v string) *SoftwarePackage {
38720	s.Version = &v
38721	return s
38722}
38723
38724// A collection of finding attributes used to sort findings.
38725type SortCriterion struct {
38726	_ struct{} `type:"structure"`
38727
38728	// The finding attribute used to sort findings.
38729	Field *string `type:"string"`
38730
38731	// The order used to sort findings.
38732	SortOrder *string `type:"string" enum:"SortOrder"`
38733}
38734
38735// String returns the string representation.
38736//
38737// API parameter values that are decorated as "sensitive" in the API will not
38738// be included in the string output. The member name will be present, but the
38739// value will be replaced with "sensitive".
38740func (s SortCriterion) String() string {
38741	return awsutil.Prettify(s)
38742}
38743
38744// GoString returns the string representation.
38745//
38746// API parameter values that are decorated as "sensitive" in the API will not
38747// be included in the string output. The member name will be present, but the
38748// value will be replaced with "sensitive".
38749func (s SortCriterion) GoString() string {
38750	return s.String()
38751}
38752
38753// SetField sets the Field field's value.
38754func (s *SortCriterion) SetField(v string) *SortCriterion {
38755	s.Field = &v
38756	return s
38757}
38758
38759// SetSortOrder sets the SortOrder field's value.
38760func (s *SortCriterion) SetSortOrder(v string) *SortCriterion {
38761	s.SortOrder = &v
38762	return s
38763}
38764
38765// Provides information about a specific standard.
38766type Standard struct {
38767	_ struct{} `type:"structure"`
38768
38769	// A description of the standard.
38770	Description *string `type:"string"`
38771
38772	// Whether the standard is enabled by default. When Security Hub is enabled
38773	// from the console, if a standard is enabled by default, the check box for
38774	// that standard is selected by default.
38775	//
38776	// When Security Hub is enabled using the EnableSecurityHub API operation, the
38777	// standard is enabled by default unless EnableDefaultStandards is set to false.
38778	EnabledByDefault *bool `type:"boolean"`
38779
38780	// The name of the standard.
38781	Name *string `type:"string"`
38782
38783	// The ARN of a standard.
38784	StandardsArn *string `type:"string"`
38785}
38786
38787// String returns the string representation.
38788//
38789// API parameter values that are decorated as "sensitive" in the API will not
38790// be included in the string output. The member name will be present, but the
38791// value will be replaced with "sensitive".
38792func (s Standard) String() string {
38793	return awsutil.Prettify(s)
38794}
38795
38796// GoString returns the string representation.
38797//
38798// API parameter values that are decorated as "sensitive" in the API will not
38799// be included in the string output. The member name will be present, but the
38800// value will be replaced with "sensitive".
38801func (s Standard) GoString() string {
38802	return s.String()
38803}
38804
38805// SetDescription sets the Description field's value.
38806func (s *Standard) SetDescription(v string) *Standard {
38807	s.Description = &v
38808	return s
38809}
38810
38811// SetEnabledByDefault sets the EnabledByDefault field's value.
38812func (s *Standard) SetEnabledByDefault(v bool) *Standard {
38813	s.EnabledByDefault = &v
38814	return s
38815}
38816
38817// SetName sets the Name field's value.
38818func (s *Standard) SetName(v string) *Standard {
38819	s.Name = &v
38820	return s
38821}
38822
38823// SetStandardsArn sets the StandardsArn field's value.
38824func (s *Standard) SetStandardsArn(v string) *Standard {
38825	s.StandardsArn = &v
38826	return s
38827}
38828
38829// Details for an individual security standard control.
38830type StandardsControl struct {
38831	_ struct{} `type:"structure"`
38832
38833	// The identifier of the security standard control.
38834	ControlId *string `type:"string"`
38835
38836	// The current status of the security standard control. Indicates whether the
38837	// control is enabled or disabled. Security Hub does not check against disabled
38838	// controls.
38839	ControlStatus *string `type:"string" enum:"ControlStatus"`
38840
38841	// The date and time that the status of the security standard control was most
38842	// recently updated.
38843	ControlStatusUpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
38844
38845	// The longer description of the security standard control. Provides information
38846	// about what the control is checking for.
38847	Description *string `type:"string"`
38848
38849	// The reason provided for the most recent change in status for the control.
38850	DisabledReason *string `type:"string"`
38851
38852	// The list of requirements that are related to this control.
38853	RelatedRequirements []*string `type:"list"`
38854
38855	// A link to remediation information for the control in the Security Hub user
38856	// documentation.
38857	RemediationUrl *string `type:"string"`
38858
38859	// The severity of findings generated from this security standard control.
38860	//
38861	// The finding severity is based on an assessment of how easy it would be to
38862	// compromise Amazon Web Services resources if the issue is detected.
38863	SeverityRating *string `type:"string" enum:"SeverityRating"`
38864
38865	// The ARN of the security standard control.
38866	StandardsControlArn *string `type:"string"`
38867
38868	// The title of the security standard control.
38869	Title *string `type:"string"`
38870}
38871
38872// String returns the string representation.
38873//
38874// API parameter values that are decorated as "sensitive" in the API will not
38875// be included in the string output. The member name will be present, but the
38876// value will be replaced with "sensitive".
38877func (s StandardsControl) String() string {
38878	return awsutil.Prettify(s)
38879}
38880
38881// GoString returns the string representation.
38882//
38883// API parameter values that are decorated as "sensitive" in the API will not
38884// be included in the string output. The member name will be present, but the
38885// value will be replaced with "sensitive".
38886func (s StandardsControl) GoString() string {
38887	return s.String()
38888}
38889
38890// SetControlId sets the ControlId field's value.
38891func (s *StandardsControl) SetControlId(v string) *StandardsControl {
38892	s.ControlId = &v
38893	return s
38894}
38895
38896// SetControlStatus sets the ControlStatus field's value.
38897func (s *StandardsControl) SetControlStatus(v string) *StandardsControl {
38898	s.ControlStatus = &v
38899	return s
38900}
38901
38902// SetControlStatusUpdatedAt sets the ControlStatusUpdatedAt field's value.
38903func (s *StandardsControl) SetControlStatusUpdatedAt(v time.Time) *StandardsControl {
38904	s.ControlStatusUpdatedAt = &v
38905	return s
38906}
38907
38908// SetDescription sets the Description field's value.
38909func (s *StandardsControl) SetDescription(v string) *StandardsControl {
38910	s.Description = &v
38911	return s
38912}
38913
38914// SetDisabledReason sets the DisabledReason field's value.
38915func (s *StandardsControl) SetDisabledReason(v string) *StandardsControl {
38916	s.DisabledReason = &v
38917	return s
38918}
38919
38920// SetRelatedRequirements sets the RelatedRequirements field's value.
38921func (s *StandardsControl) SetRelatedRequirements(v []*string) *StandardsControl {
38922	s.RelatedRequirements = v
38923	return s
38924}
38925
38926// SetRemediationUrl sets the RemediationUrl field's value.
38927func (s *StandardsControl) SetRemediationUrl(v string) *StandardsControl {
38928	s.RemediationUrl = &v
38929	return s
38930}
38931
38932// SetSeverityRating sets the SeverityRating field's value.
38933func (s *StandardsControl) SetSeverityRating(v string) *StandardsControl {
38934	s.SeverityRating = &v
38935	return s
38936}
38937
38938// SetStandardsControlArn sets the StandardsControlArn field's value.
38939func (s *StandardsControl) SetStandardsControlArn(v string) *StandardsControl {
38940	s.StandardsControlArn = &v
38941	return s
38942}
38943
38944// SetTitle sets the Title field's value.
38945func (s *StandardsControl) SetTitle(v string) *StandardsControl {
38946	s.Title = &v
38947	return s
38948}
38949
38950// A resource that represents your subscription to a supported standard.
38951type StandardsSubscription struct {
38952	_ struct{} `type:"structure"`
38953
38954	// The ARN of a standard.
38955	//
38956	// StandardsArn is a required field
38957	StandardsArn *string `type:"string" required:"true"`
38958
38959	// A key-value pair of input for the standard.
38960	//
38961	// StandardsInput is a required field
38962	StandardsInput map[string]*string `type:"map" required:"true"`
38963
38964	// The status of the standard subscription.
38965	//
38966	// The status values are as follows:
38967	//
38968	//    * PENDING - Standard is in the process of being enabled.
38969	//
38970	//    * READY - Standard is enabled.
38971	//
38972	//    * INCOMPLETE - Standard could not be enabled completely. Some controls
38973	//    may not be available.
38974	//
38975	//    * DELETING - Standard is in the process of being disabled.
38976	//
38977	//    * FAILED - Standard could not be disabled.
38978	//
38979	// StandardsStatus is a required field
38980	StandardsStatus *string `type:"string" required:"true" enum:"StandardsStatus"`
38981
38982	// The ARN of a resource that represents your subscription to a supported standard.
38983	//
38984	// StandardsSubscriptionArn is a required field
38985	StandardsSubscriptionArn *string `type:"string" required:"true"`
38986}
38987
38988// String returns the string representation.
38989//
38990// API parameter values that are decorated as "sensitive" in the API will not
38991// be included in the string output. The member name will be present, but the
38992// value will be replaced with "sensitive".
38993func (s StandardsSubscription) String() string {
38994	return awsutil.Prettify(s)
38995}
38996
38997// GoString returns the string representation.
38998//
38999// API parameter values that are decorated as "sensitive" in the API will not
39000// be included in the string output. The member name will be present, but the
39001// value will be replaced with "sensitive".
39002func (s StandardsSubscription) GoString() string {
39003	return s.String()
39004}
39005
39006// SetStandardsArn sets the StandardsArn field's value.
39007func (s *StandardsSubscription) SetStandardsArn(v string) *StandardsSubscription {
39008	s.StandardsArn = &v
39009	return s
39010}
39011
39012// SetStandardsInput sets the StandardsInput field's value.
39013func (s *StandardsSubscription) SetStandardsInput(v map[string]*string) *StandardsSubscription {
39014	s.StandardsInput = v
39015	return s
39016}
39017
39018// SetStandardsStatus sets the StandardsStatus field's value.
39019func (s *StandardsSubscription) SetStandardsStatus(v string) *StandardsSubscription {
39020	s.StandardsStatus = &v
39021	return s
39022}
39023
39024// SetStandardsSubscriptionArn sets the StandardsSubscriptionArn field's value.
39025func (s *StandardsSubscription) SetStandardsSubscriptionArn(v string) *StandardsSubscription {
39026	s.StandardsSubscriptionArn = &v
39027	return s
39028}
39029
39030// The standard that you want to enable.
39031type StandardsSubscriptionRequest struct {
39032	_ struct{} `type:"structure"`
39033
39034	// The ARN of the standard that you want to enable. To view the list of available
39035	// standards and their ARNs, use the DescribeStandards operation.
39036	//
39037	// StandardsArn is a required field
39038	StandardsArn *string `type:"string" required:"true"`
39039
39040	// A key-value pair of input for the standard.
39041	StandardsInput map[string]*string `type:"map"`
39042}
39043
39044// String returns the string representation.
39045//
39046// API parameter values that are decorated as "sensitive" in the API will not
39047// be included in the string output. The member name will be present, but the
39048// value will be replaced with "sensitive".
39049func (s StandardsSubscriptionRequest) String() string {
39050	return awsutil.Prettify(s)
39051}
39052
39053// GoString returns the string representation.
39054//
39055// API parameter values that are decorated as "sensitive" in the API will not
39056// be included in the string output. The member name will be present, but the
39057// value will be replaced with "sensitive".
39058func (s StandardsSubscriptionRequest) GoString() string {
39059	return s.String()
39060}
39061
39062// Validate inspects the fields of the type to determine if they are valid.
39063func (s *StandardsSubscriptionRequest) Validate() error {
39064	invalidParams := request.ErrInvalidParams{Context: "StandardsSubscriptionRequest"}
39065	if s.StandardsArn == nil {
39066		invalidParams.Add(request.NewErrParamRequired("StandardsArn"))
39067	}
39068
39069	if invalidParams.Len() > 0 {
39070		return invalidParams
39071	}
39072	return nil
39073}
39074
39075// SetStandardsArn sets the StandardsArn field's value.
39076func (s *StandardsSubscriptionRequest) SetStandardsArn(v string) *StandardsSubscriptionRequest {
39077	s.StandardsArn = &v
39078	return s
39079}
39080
39081// SetStandardsInput sets the StandardsInput field's value.
39082func (s *StandardsSubscriptionRequest) SetStandardsInput(v map[string]*string) *StandardsSubscriptionRequest {
39083	s.StandardsInput = v
39084	return s
39085}
39086
39087// Provides additional context for the value of Compliance.Status.
39088type StatusReason struct {
39089	_ struct{} `type:"structure"`
39090
39091	// The corresponding description for the status reason code.
39092	Description *string `type:"string"`
39093
39094	// A code that represents a reason for the control status. For the list of status
39095	// reason codes and their meanings, see Standards-related information in the
39096	// ASFF (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-results.html#securityhub-standards-results-asff)
39097	// in the Security Hub User Guide.
39098	//
39099	// ReasonCode is a required field
39100	ReasonCode *string `type:"string" required:"true"`
39101}
39102
39103// String returns the string representation.
39104//
39105// API parameter values that are decorated as "sensitive" in the API will not
39106// be included in the string output. The member name will be present, but the
39107// value will be replaced with "sensitive".
39108func (s StatusReason) String() string {
39109	return awsutil.Prettify(s)
39110}
39111
39112// GoString returns the string representation.
39113//
39114// API parameter values that are decorated as "sensitive" in the API will not
39115// be included in the string output. The member name will be present, but the
39116// value will be replaced with "sensitive".
39117func (s StatusReason) GoString() string {
39118	return s.String()
39119}
39120
39121// Validate inspects the fields of the type to determine if they are valid.
39122func (s *StatusReason) Validate() error {
39123	invalidParams := request.ErrInvalidParams{Context: "StatusReason"}
39124	if s.ReasonCode == nil {
39125		invalidParams.Add(request.NewErrParamRequired("ReasonCode"))
39126	}
39127
39128	if invalidParams.Len() > 0 {
39129		return invalidParams
39130	}
39131	return nil
39132}
39133
39134// SetDescription sets the Description field's value.
39135func (s *StatusReason) SetDescription(v string) *StatusReason {
39136	s.Description = &v
39137	return s
39138}
39139
39140// SetReasonCode sets the ReasonCode field's value.
39141func (s *StatusReason) SetReasonCode(v string) *StatusReason {
39142	s.ReasonCode = &v
39143	return s
39144}
39145
39146// A string filter for querying findings.
39147type StringFilter struct {
39148	_ struct{} `type:"structure"`
39149
39150	// The condition to apply to a string value when querying for findings. To search
39151	// for values that contain the filter criteria value, use one of the following
39152	// comparison operators:
39153	//
39154	//    * To search for values that exactly match the filter value, use EQUALS.
39155	//    For example, the filter ResourceType EQUALS AwsEc2SecurityGroup only matches
39156	//    findings that have a resource type of AwsEc2SecurityGroup.
39157	//
39158	//    * To search for values that start with the filter value, use PREFIX. For
39159	//    example, the filter ResourceType PREFIX AwsIam matches findings that have
39160	//    a resource type that starts with AwsIam. Findings with a resource type
39161	//    of AwsIamPolicy, AwsIamRole, or AwsIamUser would all match.
39162	//
39163	// EQUALS and PREFIX filters on the same field are joined by OR. A finding matches
39164	// if it matches any one of those filters.
39165	//
39166	// To search for values that do not contain the filter criteria value, use one
39167	// of the following comparison operators:
39168	//
39169	//    * To search for values that do not exactly match the filter value, use
39170	//    NOT_EQUALS. For example, the filter ResourceType NOT_EQUALS AwsIamPolicy
39171	//    matches findings that have a resource type other than AwsIamPolicy.
39172	//
39173	//    * To search for values that do not start with the filter value, use PREFIX_NOT_EQUALS.
39174	//    For example, the filter ResourceType PREFIX_NOT_EQUALS AwsIam matches
39175	//    findings that have a resource type that does not start with AwsIam. Findings
39176	//    with a resource type of AwsIamPolicy, AwsIamRole, or AwsIamUser would
39177	//    all be excluded from the results.
39178	//
39179	// NOT_EQUALS and PREFIX_NOT_EQUALS filters on the same field are joined by
39180	// AND. A finding matches only if it matches all of those filters.
39181	//
39182	// For filters on the same field, you cannot provide both an EQUALS filter and
39183	// a NOT_EQUALS or PREFIX_NOT_EQUALS filter. Combining filters in this way always
39184	// returns an error, even if the provided filter values would return valid results.
39185	//
39186	// You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters
39187	// for the same field. Security Hub first processes the PREFIX filters, then
39188	// the NOT_EQUALS or PREFIX_NOT_EQUALS filters.
39189	//
39190	// For example, for the following filter, Security Hub first identifies findings
39191	// that have resource types that start with either AwsIAM or AwsEc2. It then
39192	// excludes findings that have a resource type of AwsIamPolicy and findings
39193	// that have a resource type of AwsEc2NetworkInterface.
39194	//
39195	//    * ResourceType PREFIX AwsIam
39196	//
39197	//    * ResourceType PREFIX AwsEc2
39198	//
39199	//    * ResourceType NOT_EQUALS AwsIamPolicy
39200	//
39201	//    * ResourceType NOT_EQUALS AwsEc2NetworkInterface
39202	Comparison *string `type:"string" enum:"StringFilterComparison"`
39203
39204	// The string filter value. Filter values are case sensitive. For example, the
39205	// product name for control-based findings is Security Hub. If you provide security
39206	// hub as the filter text, then there is no match.
39207	Value *string `type:"string"`
39208}
39209
39210// String returns the string representation.
39211//
39212// API parameter values that are decorated as "sensitive" in the API will not
39213// be included in the string output. The member name will be present, but the
39214// value will be replaced with "sensitive".
39215func (s StringFilter) String() string {
39216	return awsutil.Prettify(s)
39217}
39218
39219// GoString returns the string representation.
39220//
39221// API parameter values that are decorated as "sensitive" in the API will not
39222// be included in the string output. The member name will be present, but the
39223// value will be replaced with "sensitive".
39224func (s StringFilter) GoString() string {
39225	return s.String()
39226}
39227
39228// SetComparison sets the Comparison field's value.
39229func (s *StringFilter) SetComparison(v string) *StringFilter {
39230	s.Comparison = &v
39231	return s
39232}
39233
39234// SetValue sets the Value field's value.
39235func (s *StringFilter) SetValue(v string) *StringFilter {
39236	s.Value = &v
39237	return s
39238}
39239
39240type TagResourceInput struct {
39241	_ struct{} `type:"structure"`
39242
39243	// The ARN of the resource to apply the tags to.
39244	//
39245	// ResourceArn is a required field
39246	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
39247
39248	// The tags to add to the resource. You can add up to 50 tags at a time. The
39249	// tag keys can be no longer than 128 characters. The tag values can be no longer
39250	// than 256 characters.
39251	//
39252	// Tags is a required field
39253	Tags map[string]*string `min:"1" type:"map" required:"true"`
39254}
39255
39256// String returns the string representation.
39257//
39258// API parameter values that are decorated as "sensitive" in the API will not
39259// be included in the string output. The member name will be present, but the
39260// value will be replaced with "sensitive".
39261func (s TagResourceInput) String() string {
39262	return awsutil.Prettify(s)
39263}
39264
39265// GoString returns the string representation.
39266//
39267// API parameter values that are decorated as "sensitive" in the API will not
39268// be included in the string output. The member name will be present, but the
39269// value will be replaced with "sensitive".
39270func (s TagResourceInput) GoString() string {
39271	return s.String()
39272}
39273
39274// Validate inspects the fields of the type to determine if they are valid.
39275func (s *TagResourceInput) Validate() error {
39276	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
39277	if s.ResourceArn == nil {
39278		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
39279	}
39280	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
39281		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
39282	}
39283	if s.Tags == nil {
39284		invalidParams.Add(request.NewErrParamRequired("Tags"))
39285	}
39286	if s.Tags != nil && len(s.Tags) < 1 {
39287		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
39288	}
39289
39290	if invalidParams.Len() > 0 {
39291		return invalidParams
39292	}
39293	return nil
39294}
39295
39296// SetResourceArn sets the ResourceArn field's value.
39297func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
39298	s.ResourceArn = &v
39299	return s
39300}
39301
39302// SetTags sets the Tags field's value.
39303func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
39304	s.Tags = v
39305	return s
39306}
39307
39308type TagResourceOutput struct {
39309	_ struct{} `type:"structure"`
39310}
39311
39312// String returns the string representation.
39313//
39314// API parameter values that are decorated as "sensitive" in the API will not
39315// be included in the string output. The member name will be present, but the
39316// value will be replaced with "sensitive".
39317func (s TagResourceOutput) String() string {
39318	return awsutil.Prettify(s)
39319}
39320
39321// GoString returns the string representation.
39322//
39323// API parameter values that are decorated as "sensitive" in the API will not
39324// be included in the string output. The member name will be present, but the
39325// value will be replaced with "sensitive".
39326func (s TagResourceOutput) GoString() string {
39327	return s.String()
39328}
39329
39330// Details about the threat intelligence related to a finding.
39331type ThreatIntelIndicator struct {
39332	_ struct{} `type:"structure"`
39333
39334	// The category of a threat intelligence indicator.
39335	Category *string `type:"string" enum:"ThreatIntelIndicatorCategory"`
39336
39337	// Indicates when the most recent instance of a threat intelligence indicator
39338	// was observed.
39339	//
39340	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
39341	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
39342	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
39343	LastObservedAt *string `type:"string"`
39344
39345	// The source of the threat intelligence indicator.
39346	Source *string `type:"string"`
39347
39348	// The URL to the page or site where you can get more information about the
39349	// threat intelligence indicator.
39350	SourceUrl *string `type:"string"`
39351
39352	// The type of threat intelligence indicator.
39353	Type *string `type:"string" enum:"ThreatIntelIndicatorType"`
39354
39355	// The value of a threat intelligence indicator.
39356	Value *string `type:"string"`
39357}
39358
39359// String returns the string representation.
39360//
39361// API parameter values that are decorated as "sensitive" in the API will not
39362// be included in the string output. The member name will be present, but the
39363// value will be replaced with "sensitive".
39364func (s ThreatIntelIndicator) String() string {
39365	return awsutil.Prettify(s)
39366}
39367
39368// GoString returns the string representation.
39369//
39370// API parameter values that are decorated as "sensitive" in the API will not
39371// be included in the string output. The member name will be present, but the
39372// value will be replaced with "sensitive".
39373func (s ThreatIntelIndicator) GoString() string {
39374	return s.String()
39375}
39376
39377// SetCategory sets the Category field's value.
39378func (s *ThreatIntelIndicator) SetCategory(v string) *ThreatIntelIndicator {
39379	s.Category = &v
39380	return s
39381}
39382
39383// SetLastObservedAt sets the LastObservedAt field's value.
39384func (s *ThreatIntelIndicator) SetLastObservedAt(v string) *ThreatIntelIndicator {
39385	s.LastObservedAt = &v
39386	return s
39387}
39388
39389// SetSource sets the Source field's value.
39390func (s *ThreatIntelIndicator) SetSource(v string) *ThreatIntelIndicator {
39391	s.Source = &v
39392	return s
39393}
39394
39395// SetSourceUrl sets the SourceUrl field's value.
39396func (s *ThreatIntelIndicator) SetSourceUrl(v string) *ThreatIntelIndicator {
39397	s.SourceUrl = &v
39398	return s
39399}
39400
39401// SetType sets the Type field's value.
39402func (s *ThreatIntelIndicator) SetType(v string) *ThreatIntelIndicator {
39403	s.Type = &v
39404	return s
39405}
39406
39407// SetValue sets the Value field's value.
39408func (s *ThreatIntelIndicator) SetValue(v string) *ThreatIntelIndicator {
39409	s.Value = &v
39410	return s
39411}
39412
39413type UntagResourceInput struct {
39414	_ struct{} `type:"structure" nopayload:"true"`
39415
39416	// The ARN of the resource to remove the tags from.
39417	//
39418	// ResourceArn is a required field
39419	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
39420
39421	// The tag keys associated with the tags to remove from the resource. You can
39422	// remove up to 50 tags at a time.
39423	//
39424	// TagKeys is a required field
39425	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
39426}
39427
39428// String returns the string representation.
39429//
39430// API parameter values that are decorated as "sensitive" in the API will not
39431// be included in the string output. The member name will be present, but the
39432// value will be replaced with "sensitive".
39433func (s UntagResourceInput) String() string {
39434	return awsutil.Prettify(s)
39435}
39436
39437// GoString returns the string representation.
39438//
39439// API parameter values that are decorated as "sensitive" in the API will not
39440// be included in the string output. The member name will be present, but the
39441// value will be replaced with "sensitive".
39442func (s UntagResourceInput) GoString() string {
39443	return s.String()
39444}
39445
39446// Validate inspects the fields of the type to determine if they are valid.
39447func (s *UntagResourceInput) Validate() error {
39448	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
39449	if s.ResourceArn == nil {
39450		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
39451	}
39452	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
39453		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
39454	}
39455	if s.TagKeys == nil {
39456		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
39457	}
39458	if s.TagKeys != nil && len(s.TagKeys) < 1 {
39459		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
39460	}
39461
39462	if invalidParams.Len() > 0 {
39463		return invalidParams
39464	}
39465	return nil
39466}
39467
39468// SetResourceArn sets the ResourceArn field's value.
39469func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
39470	s.ResourceArn = &v
39471	return s
39472}
39473
39474// SetTagKeys sets the TagKeys field's value.
39475func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
39476	s.TagKeys = v
39477	return s
39478}
39479
39480type UntagResourceOutput struct {
39481	_ struct{} `type:"structure"`
39482}
39483
39484// String returns the string representation.
39485//
39486// API parameter values that are decorated as "sensitive" in the API will not
39487// be included in the string output. The member name will be present, but the
39488// value will be replaced with "sensitive".
39489func (s UntagResourceOutput) String() string {
39490	return awsutil.Prettify(s)
39491}
39492
39493// GoString returns the string representation.
39494//
39495// API parameter values that are decorated as "sensitive" in the API will not
39496// be included in the string output. The member name will be present, but the
39497// value will be replaced with "sensitive".
39498func (s UntagResourceOutput) GoString() string {
39499	return s.String()
39500}
39501
39502type UpdateActionTargetInput struct {
39503	_ struct{} `type:"structure"`
39504
39505	// The ARN of the custom action target to update.
39506	//
39507	// ActionTargetArn is a required field
39508	ActionTargetArn *string `location:"uri" locationName:"ActionTargetArn" type:"string" required:"true"`
39509
39510	// The updated description for the custom action target.
39511	Description *string `type:"string"`
39512
39513	// The updated name of the custom action target.
39514	Name *string `type:"string"`
39515}
39516
39517// String returns the string representation.
39518//
39519// API parameter values that are decorated as "sensitive" in the API will not
39520// be included in the string output. The member name will be present, but the
39521// value will be replaced with "sensitive".
39522func (s UpdateActionTargetInput) String() string {
39523	return awsutil.Prettify(s)
39524}
39525
39526// GoString returns the string representation.
39527//
39528// API parameter values that are decorated as "sensitive" in the API will not
39529// be included in the string output. The member name will be present, but the
39530// value will be replaced with "sensitive".
39531func (s UpdateActionTargetInput) GoString() string {
39532	return s.String()
39533}
39534
39535// Validate inspects the fields of the type to determine if they are valid.
39536func (s *UpdateActionTargetInput) Validate() error {
39537	invalidParams := request.ErrInvalidParams{Context: "UpdateActionTargetInput"}
39538	if s.ActionTargetArn == nil {
39539		invalidParams.Add(request.NewErrParamRequired("ActionTargetArn"))
39540	}
39541	if s.ActionTargetArn != nil && len(*s.ActionTargetArn) < 1 {
39542		invalidParams.Add(request.NewErrParamMinLen("ActionTargetArn", 1))
39543	}
39544
39545	if invalidParams.Len() > 0 {
39546		return invalidParams
39547	}
39548	return nil
39549}
39550
39551// SetActionTargetArn sets the ActionTargetArn field's value.
39552func (s *UpdateActionTargetInput) SetActionTargetArn(v string) *UpdateActionTargetInput {
39553	s.ActionTargetArn = &v
39554	return s
39555}
39556
39557// SetDescription sets the Description field's value.
39558func (s *UpdateActionTargetInput) SetDescription(v string) *UpdateActionTargetInput {
39559	s.Description = &v
39560	return s
39561}
39562
39563// SetName sets the Name field's value.
39564func (s *UpdateActionTargetInput) SetName(v string) *UpdateActionTargetInput {
39565	s.Name = &v
39566	return s
39567}
39568
39569type UpdateActionTargetOutput struct {
39570	_ struct{} `type:"structure"`
39571}
39572
39573// String returns the string representation.
39574//
39575// API parameter values that are decorated as "sensitive" in the API will not
39576// be included in the string output. The member name will be present, but the
39577// value will be replaced with "sensitive".
39578func (s UpdateActionTargetOutput) String() string {
39579	return awsutil.Prettify(s)
39580}
39581
39582// GoString returns the string representation.
39583//
39584// API parameter values that are decorated as "sensitive" in the API will not
39585// be included in the string output. The member name will be present, but the
39586// value will be replaced with "sensitive".
39587func (s UpdateActionTargetOutput) GoString() string {
39588	return s.String()
39589}
39590
39591type UpdateFindingAggregatorInput struct {
39592	_ struct{} `type:"structure"`
39593
39594	// The ARN of the finding aggregator. To obtain the ARN, use ListFindingAggregators.
39595	//
39596	// FindingAggregatorArn is a required field
39597	FindingAggregatorArn *string `type:"string" required:"true"`
39598
39599	// Indicates whether to aggregate findings from all of the available Regions
39600	// in the current partition. Also determines whether to automatically aggregate
39601	// findings from new Regions as Security Hub supports them and you opt into
39602	// them.
39603	//
39604	// The selected option also determines how to use the Regions provided in the
39605	// Regions list.
39606	//
39607	// The options are as follows:
39608	//
39609	//    * ALL_REGIONS - Indicates to aggregate findings from all of the Regions
39610	//    where Security Hub is enabled. When you choose this option, Security Hub
39611	//    also automatically aggregates findings from new Regions as Security Hub
39612	//    supports them and you opt into them.
39613	//
39614	//    * ALL_REGIONS_EXCEPT_SPECIFIED - Indicates to aggregate findings from
39615	//    all of the Regions where Security Hub is enabled, except for the Regions
39616	//    listed in the Regions parameter. When you choose this option, Security
39617	//    Hub also automatically aggregates findings from new Regions as Security
39618	//    Hub supports them and you opt into them.
39619	//
39620	//    * SPECIFIED_REGIONS - Indicates to aggregate findings only from the Regions
39621	//    listed in the Regions parameter. Security Hub does not automatically aggregate
39622	//    findings from new Regions.
39623	//
39624	// RegionLinkingMode is a required field
39625	RegionLinkingMode *string `type:"string" required:"true"`
39626
39627	// If RegionLinkingMode is ALL_REGIONS_EXCEPT_SPECIFIED, then this is a comma-separated
39628	// list of Regions that do not aggregate findings to the aggregation Region.
39629	//
39630	// If RegionLinkingMode is SPECIFIED_REGIONS, then this is a comma-separated
39631	// list of Regions that do aggregate findings to the aggregation Region.
39632	Regions []*string `type:"list"`
39633}
39634
39635// String returns the string representation.
39636//
39637// API parameter values that are decorated as "sensitive" in the API will not
39638// be included in the string output. The member name will be present, but the
39639// value will be replaced with "sensitive".
39640func (s UpdateFindingAggregatorInput) String() string {
39641	return awsutil.Prettify(s)
39642}
39643
39644// GoString returns the string representation.
39645//
39646// API parameter values that are decorated as "sensitive" in the API will not
39647// be included in the string output. The member name will be present, but the
39648// value will be replaced with "sensitive".
39649func (s UpdateFindingAggregatorInput) GoString() string {
39650	return s.String()
39651}
39652
39653// Validate inspects the fields of the type to determine if they are valid.
39654func (s *UpdateFindingAggregatorInput) Validate() error {
39655	invalidParams := request.ErrInvalidParams{Context: "UpdateFindingAggregatorInput"}
39656	if s.FindingAggregatorArn == nil {
39657		invalidParams.Add(request.NewErrParamRequired("FindingAggregatorArn"))
39658	}
39659	if s.RegionLinkingMode == nil {
39660		invalidParams.Add(request.NewErrParamRequired("RegionLinkingMode"))
39661	}
39662
39663	if invalidParams.Len() > 0 {
39664		return invalidParams
39665	}
39666	return nil
39667}
39668
39669// SetFindingAggregatorArn sets the FindingAggregatorArn field's value.
39670func (s *UpdateFindingAggregatorInput) SetFindingAggregatorArn(v string) *UpdateFindingAggregatorInput {
39671	s.FindingAggregatorArn = &v
39672	return s
39673}
39674
39675// SetRegionLinkingMode sets the RegionLinkingMode field's value.
39676func (s *UpdateFindingAggregatorInput) SetRegionLinkingMode(v string) *UpdateFindingAggregatorInput {
39677	s.RegionLinkingMode = &v
39678	return s
39679}
39680
39681// SetRegions sets the Regions field's value.
39682func (s *UpdateFindingAggregatorInput) SetRegions(v []*string) *UpdateFindingAggregatorInput {
39683	s.Regions = v
39684	return s
39685}
39686
39687type UpdateFindingAggregatorOutput struct {
39688	_ struct{} `type:"structure"`
39689
39690	// The aggregation Region.
39691	FindingAggregationRegion *string `type:"string"`
39692
39693	// The ARN of the finding aggregator.
39694	FindingAggregatorArn *string `type:"string"`
39695
39696	// Indicates whether to link all Regions, all Regions except for a list of excluded
39697	// Regions, or a list of included Regions.
39698	RegionLinkingMode *string `type:"string"`
39699
39700	// The list of excluded Regions or included Regions.
39701	Regions []*string `type:"list"`
39702}
39703
39704// String returns the string representation.
39705//
39706// API parameter values that are decorated as "sensitive" in the API will not
39707// be included in the string output. The member name will be present, but the
39708// value will be replaced with "sensitive".
39709func (s UpdateFindingAggregatorOutput) String() string {
39710	return awsutil.Prettify(s)
39711}
39712
39713// GoString returns the string representation.
39714//
39715// API parameter values that are decorated as "sensitive" in the API will not
39716// be included in the string output. The member name will be present, but the
39717// value will be replaced with "sensitive".
39718func (s UpdateFindingAggregatorOutput) GoString() string {
39719	return s.String()
39720}
39721
39722// SetFindingAggregationRegion sets the FindingAggregationRegion field's value.
39723func (s *UpdateFindingAggregatorOutput) SetFindingAggregationRegion(v string) *UpdateFindingAggregatorOutput {
39724	s.FindingAggregationRegion = &v
39725	return s
39726}
39727
39728// SetFindingAggregatorArn sets the FindingAggregatorArn field's value.
39729func (s *UpdateFindingAggregatorOutput) SetFindingAggregatorArn(v string) *UpdateFindingAggregatorOutput {
39730	s.FindingAggregatorArn = &v
39731	return s
39732}
39733
39734// SetRegionLinkingMode sets the RegionLinkingMode field's value.
39735func (s *UpdateFindingAggregatorOutput) SetRegionLinkingMode(v string) *UpdateFindingAggregatorOutput {
39736	s.RegionLinkingMode = &v
39737	return s
39738}
39739
39740// SetRegions sets the Regions field's value.
39741func (s *UpdateFindingAggregatorOutput) SetRegions(v []*string) *UpdateFindingAggregatorOutput {
39742	s.Regions = v
39743	return s
39744}
39745
39746type UpdateFindingsInput struct {
39747	_ struct{} `type:"structure"`
39748
39749	// A collection of attributes that specify which findings you want to update.
39750	//
39751	// Filters is a required field
39752	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
39753
39754	// The updated note for the finding.
39755	Note *NoteUpdate `type:"structure"`
39756
39757	// The updated record state for the finding.
39758	RecordState *string `type:"string" enum:"RecordState"`
39759}
39760
39761// String returns the string representation.
39762//
39763// API parameter values that are decorated as "sensitive" in the API will not
39764// be included in the string output. The member name will be present, but the
39765// value will be replaced with "sensitive".
39766func (s UpdateFindingsInput) String() string {
39767	return awsutil.Prettify(s)
39768}
39769
39770// GoString returns the string representation.
39771//
39772// API parameter values that are decorated as "sensitive" in the API will not
39773// be included in the string output. The member name will be present, but the
39774// value will be replaced with "sensitive".
39775func (s UpdateFindingsInput) GoString() string {
39776	return s.String()
39777}
39778
39779// Validate inspects the fields of the type to determine if they are valid.
39780func (s *UpdateFindingsInput) Validate() error {
39781	invalidParams := request.ErrInvalidParams{Context: "UpdateFindingsInput"}
39782	if s.Filters == nil {
39783		invalidParams.Add(request.NewErrParamRequired("Filters"))
39784	}
39785	if s.Note != nil {
39786		if err := s.Note.Validate(); err != nil {
39787			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
39788		}
39789	}
39790
39791	if invalidParams.Len() > 0 {
39792		return invalidParams
39793	}
39794	return nil
39795}
39796
39797// SetFilters sets the Filters field's value.
39798func (s *UpdateFindingsInput) SetFilters(v *AwsSecurityFindingFilters) *UpdateFindingsInput {
39799	s.Filters = v
39800	return s
39801}
39802
39803// SetNote sets the Note field's value.
39804func (s *UpdateFindingsInput) SetNote(v *NoteUpdate) *UpdateFindingsInput {
39805	s.Note = v
39806	return s
39807}
39808
39809// SetRecordState sets the RecordState field's value.
39810func (s *UpdateFindingsInput) SetRecordState(v string) *UpdateFindingsInput {
39811	s.RecordState = &v
39812	return s
39813}
39814
39815type UpdateFindingsOutput struct {
39816	_ struct{} `type:"structure"`
39817}
39818
39819// String returns the string representation.
39820//
39821// API parameter values that are decorated as "sensitive" in the API will not
39822// be included in the string output. The member name will be present, but the
39823// value will be replaced with "sensitive".
39824func (s UpdateFindingsOutput) String() string {
39825	return awsutil.Prettify(s)
39826}
39827
39828// GoString returns the string representation.
39829//
39830// API parameter values that are decorated as "sensitive" in the API will not
39831// be included in the string output. The member name will be present, but the
39832// value will be replaced with "sensitive".
39833func (s UpdateFindingsOutput) GoString() string {
39834	return s.String()
39835}
39836
39837type UpdateInsightInput struct {
39838	_ struct{} `type:"structure"`
39839
39840	// The updated filters that define this insight.
39841	Filters *AwsSecurityFindingFilters `type:"structure"`
39842
39843	// The updated GroupBy attribute that defines this insight.
39844	GroupByAttribute *string `type:"string"`
39845
39846	// The ARN of the insight that you want to update.
39847	//
39848	// InsightArn is a required field
39849	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
39850
39851	// The updated name for the insight.
39852	Name *string `type:"string"`
39853}
39854
39855// String returns the string representation.
39856//
39857// API parameter values that are decorated as "sensitive" in the API will not
39858// be included in the string output. The member name will be present, but the
39859// value will be replaced with "sensitive".
39860func (s UpdateInsightInput) String() string {
39861	return awsutil.Prettify(s)
39862}
39863
39864// GoString returns the string representation.
39865//
39866// API parameter values that are decorated as "sensitive" in the API will not
39867// be included in the string output. The member name will be present, but the
39868// value will be replaced with "sensitive".
39869func (s UpdateInsightInput) GoString() string {
39870	return s.String()
39871}
39872
39873// Validate inspects the fields of the type to determine if they are valid.
39874func (s *UpdateInsightInput) Validate() error {
39875	invalidParams := request.ErrInvalidParams{Context: "UpdateInsightInput"}
39876	if s.InsightArn == nil {
39877		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
39878	}
39879	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
39880		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
39881	}
39882
39883	if invalidParams.Len() > 0 {
39884		return invalidParams
39885	}
39886	return nil
39887}
39888
39889// SetFilters sets the Filters field's value.
39890func (s *UpdateInsightInput) SetFilters(v *AwsSecurityFindingFilters) *UpdateInsightInput {
39891	s.Filters = v
39892	return s
39893}
39894
39895// SetGroupByAttribute sets the GroupByAttribute field's value.
39896func (s *UpdateInsightInput) SetGroupByAttribute(v string) *UpdateInsightInput {
39897	s.GroupByAttribute = &v
39898	return s
39899}
39900
39901// SetInsightArn sets the InsightArn field's value.
39902func (s *UpdateInsightInput) SetInsightArn(v string) *UpdateInsightInput {
39903	s.InsightArn = &v
39904	return s
39905}
39906
39907// SetName sets the Name field's value.
39908func (s *UpdateInsightInput) SetName(v string) *UpdateInsightInput {
39909	s.Name = &v
39910	return s
39911}
39912
39913type UpdateInsightOutput struct {
39914	_ struct{} `type:"structure"`
39915}
39916
39917// String returns the string representation.
39918//
39919// API parameter values that are decorated as "sensitive" in the API will not
39920// be included in the string output. The member name will be present, but the
39921// value will be replaced with "sensitive".
39922func (s UpdateInsightOutput) String() string {
39923	return awsutil.Prettify(s)
39924}
39925
39926// GoString returns the string representation.
39927//
39928// API parameter values that are decorated as "sensitive" in the API will not
39929// be included in the string output. The member name will be present, but the
39930// value will be replaced with "sensitive".
39931func (s UpdateInsightOutput) GoString() string {
39932	return s.String()
39933}
39934
39935type UpdateOrganizationConfigurationInput struct {
39936	_ struct{} `type:"structure"`
39937
39938	// Whether to automatically enable Security Hub for new accounts in the organization.
39939	//
39940	// By default, this is false, and new accounts are not added automatically.
39941	//
39942	// To automatically enable Security Hub for new accounts, set this to true.
39943	//
39944	// AutoEnable is a required field
39945	AutoEnable *bool `type:"boolean" required:"true"`
39946}
39947
39948// String returns the string representation.
39949//
39950// API parameter values that are decorated as "sensitive" in the API will not
39951// be included in the string output. The member name will be present, but the
39952// value will be replaced with "sensitive".
39953func (s UpdateOrganizationConfigurationInput) String() string {
39954	return awsutil.Prettify(s)
39955}
39956
39957// GoString returns the string representation.
39958//
39959// API parameter values that are decorated as "sensitive" in the API will not
39960// be included in the string output. The member name will be present, but the
39961// value will be replaced with "sensitive".
39962func (s UpdateOrganizationConfigurationInput) GoString() string {
39963	return s.String()
39964}
39965
39966// Validate inspects the fields of the type to determine if they are valid.
39967func (s *UpdateOrganizationConfigurationInput) Validate() error {
39968	invalidParams := request.ErrInvalidParams{Context: "UpdateOrganizationConfigurationInput"}
39969	if s.AutoEnable == nil {
39970		invalidParams.Add(request.NewErrParamRequired("AutoEnable"))
39971	}
39972
39973	if invalidParams.Len() > 0 {
39974		return invalidParams
39975	}
39976	return nil
39977}
39978
39979// SetAutoEnable sets the AutoEnable field's value.
39980func (s *UpdateOrganizationConfigurationInput) SetAutoEnable(v bool) *UpdateOrganizationConfigurationInput {
39981	s.AutoEnable = &v
39982	return s
39983}
39984
39985type UpdateOrganizationConfigurationOutput struct {
39986	_ struct{} `type:"structure"`
39987}
39988
39989// String returns the string representation.
39990//
39991// API parameter values that are decorated as "sensitive" in the API will not
39992// be included in the string output. The member name will be present, but the
39993// value will be replaced with "sensitive".
39994func (s UpdateOrganizationConfigurationOutput) String() string {
39995	return awsutil.Prettify(s)
39996}
39997
39998// GoString returns the string representation.
39999//
40000// API parameter values that are decorated as "sensitive" in the API will not
40001// be included in the string output. The member name will be present, but the
40002// value will be replaced with "sensitive".
40003func (s UpdateOrganizationConfigurationOutput) GoString() string {
40004	return s.String()
40005}
40006
40007type UpdateSecurityHubConfigurationInput struct {
40008	_ struct{} `type:"structure"`
40009
40010	// Whether to automatically enable new controls when they are added to standards
40011	// that are enabled.
40012	//
40013	// By default, this is set to true, and new controls are enabled automatically.
40014	// To not automatically enable new controls, set this to false.
40015	AutoEnableControls *bool `type:"boolean"`
40016}
40017
40018// String returns the string representation.
40019//
40020// API parameter values that are decorated as "sensitive" in the API will not
40021// be included in the string output. The member name will be present, but the
40022// value will be replaced with "sensitive".
40023func (s UpdateSecurityHubConfigurationInput) String() string {
40024	return awsutil.Prettify(s)
40025}
40026
40027// GoString returns the string representation.
40028//
40029// API parameter values that are decorated as "sensitive" in the API will not
40030// be included in the string output. The member name will be present, but the
40031// value will be replaced with "sensitive".
40032func (s UpdateSecurityHubConfigurationInput) GoString() string {
40033	return s.String()
40034}
40035
40036// SetAutoEnableControls sets the AutoEnableControls field's value.
40037func (s *UpdateSecurityHubConfigurationInput) SetAutoEnableControls(v bool) *UpdateSecurityHubConfigurationInput {
40038	s.AutoEnableControls = &v
40039	return s
40040}
40041
40042type UpdateSecurityHubConfigurationOutput struct {
40043	_ struct{} `type:"structure"`
40044}
40045
40046// String returns the string representation.
40047//
40048// API parameter values that are decorated as "sensitive" in the API will not
40049// be included in the string output. The member name will be present, but the
40050// value will be replaced with "sensitive".
40051func (s UpdateSecurityHubConfigurationOutput) String() string {
40052	return awsutil.Prettify(s)
40053}
40054
40055// GoString returns the string representation.
40056//
40057// API parameter values that are decorated as "sensitive" in the API will not
40058// be included in the string output. The member name will be present, but the
40059// value will be replaced with "sensitive".
40060func (s UpdateSecurityHubConfigurationOutput) GoString() string {
40061	return s.String()
40062}
40063
40064type UpdateStandardsControlInput struct {
40065	_ struct{} `type:"structure"`
40066
40067	// The updated status of the security standard control.
40068	ControlStatus *string `type:"string" enum:"ControlStatus"`
40069
40070	// A description of the reason why you are disabling a security standard control.
40071	// If you are disabling a control, then this is required.
40072	DisabledReason *string `type:"string"`
40073
40074	// The ARN of the security standard control to enable or disable.
40075	//
40076	// StandardsControlArn is a required field
40077	StandardsControlArn *string `location:"uri" locationName:"StandardsControlArn" type:"string" required:"true"`
40078}
40079
40080// String returns the string representation.
40081//
40082// API parameter values that are decorated as "sensitive" in the API will not
40083// be included in the string output. The member name will be present, but the
40084// value will be replaced with "sensitive".
40085func (s UpdateStandardsControlInput) String() string {
40086	return awsutil.Prettify(s)
40087}
40088
40089// GoString returns the string representation.
40090//
40091// API parameter values that are decorated as "sensitive" in the API will not
40092// be included in the string output. The member name will be present, but the
40093// value will be replaced with "sensitive".
40094func (s UpdateStandardsControlInput) GoString() string {
40095	return s.String()
40096}
40097
40098// Validate inspects the fields of the type to determine if they are valid.
40099func (s *UpdateStandardsControlInput) Validate() error {
40100	invalidParams := request.ErrInvalidParams{Context: "UpdateStandardsControlInput"}
40101	if s.StandardsControlArn == nil {
40102		invalidParams.Add(request.NewErrParamRequired("StandardsControlArn"))
40103	}
40104	if s.StandardsControlArn != nil && len(*s.StandardsControlArn) < 1 {
40105		invalidParams.Add(request.NewErrParamMinLen("StandardsControlArn", 1))
40106	}
40107
40108	if invalidParams.Len() > 0 {
40109		return invalidParams
40110	}
40111	return nil
40112}
40113
40114// SetControlStatus sets the ControlStatus field's value.
40115func (s *UpdateStandardsControlInput) SetControlStatus(v string) *UpdateStandardsControlInput {
40116	s.ControlStatus = &v
40117	return s
40118}
40119
40120// SetDisabledReason sets the DisabledReason field's value.
40121func (s *UpdateStandardsControlInput) SetDisabledReason(v string) *UpdateStandardsControlInput {
40122	s.DisabledReason = &v
40123	return s
40124}
40125
40126// SetStandardsControlArn sets the StandardsControlArn field's value.
40127func (s *UpdateStandardsControlInput) SetStandardsControlArn(v string) *UpdateStandardsControlInput {
40128	s.StandardsControlArn = &v
40129	return s
40130}
40131
40132type UpdateStandardsControlOutput struct {
40133	_ struct{} `type:"structure"`
40134}
40135
40136// String returns the string representation.
40137//
40138// API parameter values that are decorated as "sensitive" in the API will not
40139// be included in the string output. The member name will be present, but the
40140// value will be replaced with "sensitive".
40141func (s UpdateStandardsControlOutput) String() string {
40142	return awsutil.Prettify(s)
40143}
40144
40145// GoString returns the string representation.
40146//
40147// API parameter values that are decorated as "sensitive" in the API will not
40148// be included in the string output. The member name will be present, but the
40149// value will be replaced with "sensitive".
40150func (s UpdateStandardsControlOutput) GoString() string {
40151	return s.String()
40152}
40153
40154// A vulnerability associated with a finding.
40155type Vulnerability struct {
40156	_ struct{} `type:"structure"`
40157
40158	// CVSS scores from the advisory related to the vulnerability.
40159	Cvss []*Cvss `type:"list"`
40160
40161	// The identifier of the vulnerability.
40162	//
40163	// Id is a required field
40164	Id *string `type:"string" required:"true"`
40165
40166	// A list of URLs that provide additional information about the vulnerability.
40167	ReferenceUrls []*string `type:"list"`
40168
40169	// List of vulnerabilities that are related to this vulnerability.
40170	RelatedVulnerabilities []*string `type:"list"`
40171
40172	// Information about the vendor that generates the vulnerability report.
40173	Vendor *VulnerabilityVendor `type:"structure"`
40174
40175	// List of software packages that have the vulnerability.
40176	VulnerablePackages []*SoftwarePackage `type:"list"`
40177}
40178
40179// String returns the string representation.
40180//
40181// API parameter values that are decorated as "sensitive" in the API will not
40182// be included in the string output. The member name will be present, but the
40183// value will be replaced with "sensitive".
40184func (s Vulnerability) String() string {
40185	return awsutil.Prettify(s)
40186}
40187
40188// GoString returns the string representation.
40189//
40190// API parameter values that are decorated as "sensitive" in the API will not
40191// be included in the string output. The member name will be present, but the
40192// value will be replaced with "sensitive".
40193func (s Vulnerability) GoString() string {
40194	return s.String()
40195}
40196
40197// Validate inspects the fields of the type to determine if they are valid.
40198func (s *Vulnerability) Validate() error {
40199	invalidParams := request.ErrInvalidParams{Context: "Vulnerability"}
40200	if s.Id == nil {
40201		invalidParams.Add(request.NewErrParamRequired("Id"))
40202	}
40203	if s.Vendor != nil {
40204		if err := s.Vendor.Validate(); err != nil {
40205			invalidParams.AddNested("Vendor", err.(request.ErrInvalidParams))
40206		}
40207	}
40208
40209	if invalidParams.Len() > 0 {
40210		return invalidParams
40211	}
40212	return nil
40213}
40214
40215// SetCvss sets the Cvss field's value.
40216func (s *Vulnerability) SetCvss(v []*Cvss) *Vulnerability {
40217	s.Cvss = v
40218	return s
40219}
40220
40221// SetId sets the Id field's value.
40222func (s *Vulnerability) SetId(v string) *Vulnerability {
40223	s.Id = &v
40224	return s
40225}
40226
40227// SetReferenceUrls sets the ReferenceUrls field's value.
40228func (s *Vulnerability) SetReferenceUrls(v []*string) *Vulnerability {
40229	s.ReferenceUrls = v
40230	return s
40231}
40232
40233// SetRelatedVulnerabilities sets the RelatedVulnerabilities field's value.
40234func (s *Vulnerability) SetRelatedVulnerabilities(v []*string) *Vulnerability {
40235	s.RelatedVulnerabilities = v
40236	return s
40237}
40238
40239// SetVendor sets the Vendor field's value.
40240func (s *Vulnerability) SetVendor(v *VulnerabilityVendor) *Vulnerability {
40241	s.Vendor = v
40242	return s
40243}
40244
40245// SetVulnerablePackages sets the VulnerablePackages field's value.
40246func (s *Vulnerability) SetVulnerablePackages(v []*SoftwarePackage) *Vulnerability {
40247	s.VulnerablePackages = v
40248	return s
40249}
40250
40251// A vendor that generates a vulnerability report.
40252type VulnerabilityVendor struct {
40253	_ struct{} `type:"structure"`
40254
40255	// The name of the vendor.
40256	//
40257	// Name is a required field
40258	Name *string `type:"string" required:"true"`
40259
40260	// The URL of the vulnerability advisory.
40261	Url *string `type:"string"`
40262
40263	// Indicates when the vulnerability advisory was created.
40264	//
40265	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
40266	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
40267	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
40268	VendorCreatedAt *string `type:"string"`
40269
40270	// The severity that the vendor assigned to the vulnerability.
40271	VendorSeverity *string `type:"string"`
40272
40273	// Indicates when the vulnerability advisory was last updated.
40274	//
40275	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
40276	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
40277	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
40278	VendorUpdatedAt *string `type:"string"`
40279}
40280
40281// String returns the string representation.
40282//
40283// API parameter values that are decorated as "sensitive" in the API will not
40284// be included in the string output. The member name will be present, but the
40285// value will be replaced with "sensitive".
40286func (s VulnerabilityVendor) String() string {
40287	return awsutil.Prettify(s)
40288}
40289
40290// GoString returns the string representation.
40291//
40292// API parameter values that are decorated as "sensitive" in the API will not
40293// be included in the string output. The member name will be present, but the
40294// value will be replaced with "sensitive".
40295func (s VulnerabilityVendor) GoString() string {
40296	return s.String()
40297}
40298
40299// Validate inspects the fields of the type to determine if they are valid.
40300func (s *VulnerabilityVendor) Validate() error {
40301	invalidParams := request.ErrInvalidParams{Context: "VulnerabilityVendor"}
40302	if s.Name == nil {
40303		invalidParams.Add(request.NewErrParamRequired("Name"))
40304	}
40305
40306	if invalidParams.Len() > 0 {
40307		return invalidParams
40308	}
40309	return nil
40310}
40311
40312// SetName sets the Name field's value.
40313func (s *VulnerabilityVendor) SetName(v string) *VulnerabilityVendor {
40314	s.Name = &v
40315	return s
40316}
40317
40318// SetUrl sets the Url field's value.
40319func (s *VulnerabilityVendor) SetUrl(v string) *VulnerabilityVendor {
40320	s.Url = &v
40321	return s
40322}
40323
40324// SetVendorCreatedAt sets the VendorCreatedAt field's value.
40325func (s *VulnerabilityVendor) SetVendorCreatedAt(v string) *VulnerabilityVendor {
40326	s.VendorCreatedAt = &v
40327	return s
40328}
40329
40330// SetVendorSeverity sets the VendorSeverity field's value.
40331func (s *VulnerabilityVendor) SetVendorSeverity(v string) *VulnerabilityVendor {
40332	s.VendorSeverity = &v
40333	return s
40334}
40335
40336// SetVendorUpdatedAt sets the VendorUpdatedAt field's value.
40337func (s *VulnerabilityVendor) SetVendorUpdatedAt(v string) *VulnerabilityVendor {
40338	s.VendorUpdatedAt = &v
40339	return s
40340}
40341
40342// Details about the action that CloudFront or WAF takes when a web request
40343// matches the conditions in the rule.
40344type WafAction struct {
40345	_ struct{} `type:"structure"`
40346
40347	// Specifies how you want WAF to respond to requests that match the settings
40348	// in a rule.
40349	//
40350	// Valid settings include the following:
40351	//
40352	//    * ALLOW - WAF allows requests
40353	//
40354	//    * BLOCK - WAF blocks requests
40355	//
40356	//    * COUNT - WAF increments a counter of the requests that match all of the
40357	//    conditions in the rule. WAF then continues to inspect the web request
40358	//    based on the remaining rules in the web ACL. You can't specify COUNT for
40359	//    the default action for a WebACL.
40360	Type *string `type:"string"`
40361}
40362
40363// String returns the string representation.
40364//
40365// API parameter values that are decorated as "sensitive" in the API will not
40366// be included in the string output. The member name will be present, but the
40367// value will be replaced with "sensitive".
40368func (s WafAction) String() string {
40369	return awsutil.Prettify(s)
40370}
40371
40372// GoString returns the string representation.
40373//
40374// API parameter values that are decorated as "sensitive" in the API will not
40375// be included in the string output. The member name will be present, but the
40376// value will be replaced with "sensitive".
40377func (s WafAction) GoString() string {
40378	return s.String()
40379}
40380
40381// SetType sets the Type field's value.
40382func (s *WafAction) SetType(v string) *WafAction {
40383	s.Type = &v
40384	return s
40385}
40386
40387// Details about a rule to exclude from a rule group.
40388type WafExcludedRule struct {
40389	_ struct{} `type:"structure"`
40390
40391	// The unique identifier for the rule to exclude from the rule group.
40392	RuleId *string `type:"string"`
40393}
40394
40395// String returns the string representation.
40396//
40397// API parameter values that are decorated as "sensitive" in the API will not
40398// be included in the string output. The member name will be present, but the
40399// value will be replaced with "sensitive".
40400func (s WafExcludedRule) String() string {
40401	return awsutil.Prettify(s)
40402}
40403
40404// GoString returns the string representation.
40405//
40406// API parameter values that are decorated as "sensitive" in the API will not
40407// be included in the string output. The member name will be present, but the
40408// value will be replaced with "sensitive".
40409func (s WafExcludedRule) GoString() string {
40410	return s.String()
40411}
40412
40413// SetRuleId sets the RuleId field's value.
40414func (s *WafExcludedRule) SetRuleId(v string) *WafExcludedRule {
40415	s.RuleId = &v
40416	return s
40417}
40418
40419// Details about an override action for a rule.
40420type WafOverrideAction struct {
40421	_ struct{} `type:"structure"`
40422
40423	// COUNT overrides the action specified by the individual rule within a RuleGroup .
40424	//
40425	// If set to NONE, the rule's action takes place.
40426	Type *string `type:"string"`
40427}
40428
40429// String returns the string representation.
40430//
40431// API parameter values that are decorated as "sensitive" in the API will not
40432// be included in the string output. The member name will be present, but the
40433// value will be replaced with "sensitive".
40434func (s WafOverrideAction) String() string {
40435	return awsutil.Prettify(s)
40436}
40437
40438// GoString returns the string representation.
40439//
40440// API parameter values that are decorated as "sensitive" in the API will not
40441// be included in the string output. The member name will be present, but the
40442// value will be replaced with "sensitive".
40443func (s WafOverrideAction) GoString() string {
40444	return s.String()
40445}
40446
40447// SetType sets the Type field's value.
40448func (s *WafOverrideAction) SetType(v string) *WafOverrideAction {
40449	s.Type = &v
40450	return s
40451}
40452
40453// Provides information about the status of the investigation into a finding.
40454type Workflow struct {
40455	_ struct{} `type:"structure"`
40456
40457	// The status of the investigation into the finding. The workflow status is
40458	// specific to an individual finding. It does not affect the generation of new
40459	// findings. For example, setting the workflow status to SUPPRESSED or RESOLVED
40460	// does not prevent a new finding for the same issue.
40461	//
40462	// The allowed values are the following.
40463	//
40464	//    * NEW - The initial state of a finding, before it is reviewed. Security
40465	//    Hub also resets the workflow status from NOTIFIED or RESOLVED to NEW in
40466	//    the following cases: RecordState changes from ARCHIVED to ACTIVE. ComplianceStatus
40467	//    changes from PASSED to either WARNING, FAILED, or NOT_AVAILABLE.
40468	//
40469	//    * NOTIFIED - Indicates that you notified the resource owner about the
40470	//    security issue. Used when the initial reviewer is not the resource owner,
40471	//    and needs intervention from the resource owner.
40472	//
40473	//    * SUPPRESSED - Indicates that you reviewed the finding and do not believe
40474	//    that any action is needed. The finding is no longer updated.
40475	//
40476	//    * RESOLVED - The finding was reviewed and remediated and is now considered
40477	//    resolved.
40478	Status *string `type:"string" enum:"WorkflowStatus"`
40479}
40480
40481// String returns the string representation.
40482//
40483// API parameter values that are decorated as "sensitive" in the API will not
40484// be included in the string output. The member name will be present, but the
40485// value will be replaced with "sensitive".
40486func (s Workflow) String() string {
40487	return awsutil.Prettify(s)
40488}
40489
40490// GoString returns the string representation.
40491//
40492// API parameter values that are decorated as "sensitive" in the API will not
40493// be included in the string output. The member name will be present, but the
40494// value will be replaced with "sensitive".
40495func (s Workflow) GoString() string {
40496	return s.String()
40497}
40498
40499// SetStatus sets the Status field's value.
40500func (s *Workflow) SetStatus(v string) *Workflow {
40501	s.Status = &v
40502	return s
40503}
40504
40505// Used to update information about the investigation into the finding.
40506type WorkflowUpdate struct {
40507	_ struct{} `type:"structure"`
40508
40509	// The status of the investigation into the finding. The workflow status is
40510	// specific to an individual finding. It does not affect the generation of new
40511	// findings. For example, setting the workflow status to SUPPRESSED or RESOLVED
40512	// does not prevent a new finding for the same issue.
40513	//
40514	// The allowed values are the following.
40515	//
40516	//    * NEW - The initial state of a finding, before it is reviewed. Security
40517	//    Hub also resets WorkFlowStatus from NOTIFIED or RESOLVED to NEW in the
40518	//    following cases: The record state changes from ARCHIVED to ACTIVE. The
40519	//    compliance status changes from PASSED to either WARNING, FAILED, or NOT_AVAILABLE.
40520	//
40521	//    * NOTIFIED - Indicates that you notified the resource owner about the
40522	//    security issue. Used when the initial reviewer is not the resource owner,
40523	//    and needs intervention from the resource owner.
40524	//
40525	//    * RESOLVED - The finding was reviewed and remediated and is now considered
40526	//    resolved.
40527	//
40528	//    * SUPPRESSED - Indicates that you reviewed the finding and do not believe
40529	//    that any action is needed. The finding is no longer updated.
40530	Status *string `type:"string" enum:"WorkflowStatus"`
40531}
40532
40533// String returns the string representation.
40534//
40535// API parameter values that are decorated as "sensitive" in the API will not
40536// be included in the string output. The member name will be present, but the
40537// value will be replaced with "sensitive".
40538func (s WorkflowUpdate) String() string {
40539	return awsutil.Prettify(s)
40540}
40541
40542// GoString returns the string representation.
40543//
40544// API parameter values that are decorated as "sensitive" in the API will not
40545// be included in the string output. The member name will be present, but the
40546// value will be replaced with "sensitive".
40547func (s WorkflowUpdate) GoString() string {
40548	return s.String()
40549}
40550
40551// SetStatus sets the Status field's value.
40552func (s *WorkflowUpdate) SetStatus(v string) *WorkflowUpdate {
40553	s.Status = &v
40554	return s
40555}
40556
40557const (
40558	// AdminStatusEnabled is a AdminStatus enum value
40559	AdminStatusEnabled = "ENABLED"
40560
40561	// AdminStatusDisableInProgress is a AdminStatus enum value
40562	AdminStatusDisableInProgress = "DISABLE_IN_PROGRESS"
40563)
40564
40565// AdminStatus_Values returns all elements of the AdminStatus enum
40566func AdminStatus_Values() []string {
40567	return []string{
40568		AdminStatusEnabled,
40569		AdminStatusDisableInProgress,
40570	}
40571}
40572
40573const (
40574	// AwsIamAccessKeyStatusActive is a AwsIamAccessKeyStatus enum value
40575	AwsIamAccessKeyStatusActive = "Active"
40576
40577	// AwsIamAccessKeyStatusInactive is a AwsIamAccessKeyStatus enum value
40578	AwsIamAccessKeyStatusInactive = "Inactive"
40579)
40580
40581// AwsIamAccessKeyStatus_Values returns all elements of the AwsIamAccessKeyStatus enum
40582func AwsIamAccessKeyStatus_Values() []string {
40583	return []string{
40584		AwsIamAccessKeyStatusActive,
40585		AwsIamAccessKeyStatusInactive,
40586	}
40587}
40588
40589const (
40590	// AwsS3BucketNotificationConfigurationS3KeyFilterRuleNamePrefix is a AwsS3BucketNotificationConfigurationS3KeyFilterRuleName enum value
40591	AwsS3BucketNotificationConfigurationS3KeyFilterRuleNamePrefix = "Prefix"
40592
40593	// AwsS3BucketNotificationConfigurationS3KeyFilterRuleNameSuffix is a AwsS3BucketNotificationConfigurationS3KeyFilterRuleName enum value
40594	AwsS3BucketNotificationConfigurationS3KeyFilterRuleNameSuffix = "Suffix"
40595)
40596
40597// AwsS3BucketNotificationConfigurationS3KeyFilterRuleName_Values returns all elements of the AwsS3BucketNotificationConfigurationS3KeyFilterRuleName enum
40598func AwsS3BucketNotificationConfigurationS3KeyFilterRuleName_Values() []string {
40599	return []string{
40600		AwsS3BucketNotificationConfigurationS3KeyFilterRuleNamePrefix,
40601		AwsS3BucketNotificationConfigurationS3KeyFilterRuleNameSuffix,
40602	}
40603}
40604
40605const (
40606	// ComplianceStatusPassed is a ComplianceStatus enum value
40607	ComplianceStatusPassed = "PASSED"
40608
40609	// ComplianceStatusWarning is a ComplianceStatus enum value
40610	ComplianceStatusWarning = "WARNING"
40611
40612	// ComplianceStatusFailed is a ComplianceStatus enum value
40613	ComplianceStatusFailed = "FAILED"
40614
40615	// ComplianceStatusNotAvailable is a ComplianceStatus enum value
40616	ComplianceStatusNotAvailable = "NOT_AVAILABLE"
40617)
40618
40619// ComplianceStatus_Values returns all elements of the ComplianceStatus enum
40620func ComplianceStatus_Values() []string {
40621	return []string{
40622		ComplianceStatusPassed,
40623		ComplianceStatusWarning,
40624		ComplianceStatusFailed,
40625		ComplianceStatusNotAvailable,
40626	}
40627}
40628
40629const (
40630	// ControlStatusEnabled is a ControlStatus enum value
40631	ControlStatusEnabled = "ENABLED"
40632
40633	// ControlStatusDisabled is a ControlStatus enum value
40634	ControlStatusDisabled = "DISABLED"
40635)
40636
40637// ControlStatus_Values returns all elements of the ControlStatus enum
40638func ControlStatus_Values() []string {
40639	return []string{
40640		ControlStatusEnabled,
40641		ControlStatusDisabled,
40642	}
40643}
40644
40645const (
40646	// DateRangeUnitDays is a DateRangeUnit enum value
40647	DateRangeUnitDays = "DAYS"
40648)
40649
40650// DateRangeUnit_Values returns all elements of the DateRangeUnit enum
40651func DateRangeUnit_Values() []string {
40652	return []string{
40653		DateRangeUnitDays,
40654	}
40655}
40656
40657const (
40658	// IntegrationTypeSendFindingsToSecurityHub is a IntegrationType enum value
40659	IntegrationTypeSendFindingsToSecurityHub = "SEND_FINDINGS_TO_SECURITY_HUB"
40660
40661	// IntegrationTypeReceiveFindingsFromSecurityHub is a IntegrationType enum value
40662	IntegrationTypeReceiveFindingsFromSecurityHub = "RECEIVE_FINDINGS_FROM_SECURITY_HUB"
40663
40664	// IntegrationTypeUpdateFindingsInSecurityHub is a IntegrationType enum value
40665	IntegrationTypeUpdateFindingsInSecurityHub = "UPDATE_FINDINGS_IN_SECURITY_HUB"
40666)
40667
40668// IntegrationType_Values returns all elements of the IntegrationType enum
40669func IntegrationType_Values() []string {
40670	return []string{
40671		IntegrationTypeSendFindingsToSecurityHub,
40672		IntegrationTypeReceiveFindingsFromSecurityHub,
40673		IntegrationTypeUpdateFindingsInSecurityHub,
40674	}
40675}
40676
40677const (
40678	// MalwareStateObserved is a MalwareState enum value
40679	MalwareStateObserved = "OBSERVED"
40680
40681	// MalwareStateRemovalFailed is a MalwareState enum value
40682	MalwareStateRemovalFailed = "REMOVAL_FAILED"
40683
40684	// MalwareStateRemoved is a MalwareState enum value
40685	MalwareStateRemoved = "REMOVED"
40686)
40687
40688// MalwareState_Values returns all elements of the MalwareState enum
40689func MalwareState_Values() []string {
40690	return []string{
40691		MalwareStateObserved,
40692		MalwareStateRemovalFailed,
40693		MalwareStateRemoved,
40694	}
40695}
40696
40697const (
40698	// MalwareTypeAdware is a MalwareType enum value
40699	MalwareTypeAdware = "ADWARE"
40700
40701	// MalwareTypeBlendedThreat is a MalwareType enum value
40702	MalwareTypeBlendedThreat = "BLENDED_THREAT"
40703
40704	// MalwareTypeBotnetAgent is a MalwareType enum value
40705	MalwareTypeBotnetAgent = "BOTNET_AGENT"
40706
40707	// MalwareTypeCoinMiner is a MalwareType enum value
40708	MalwareTypeCoinMiner = "COIN_MINER"
40709
40710	// MalwareTypeExploitKit is a MalwareType enum value
40711	MalwareTypeExploitKit = "EXPLOIT_KIT"
40712
40713	// MalwareTypeKeylogger is a MalwareType enum value
40714	MalwareTypeKeylogger = "KEYLOGGER"
40715
40716	// MalwareTypeMacro is a MalwareType enum value
40717	MalwareTypeMacro = "MACRO"
40718
40719	// MalwareTypePotentiallyUnwanted is a MalwareType enum value
40720	MalwareTypePotentiallyUnwanted = "POTENTIALLY_UNWANTED"
40721
40722	// MalwareTypeSpyware is a MalwareType enum value
40723	MalwareTypeSpyware = "SPYWARE"
40724
40725	// MalwareTypeRansomware is a MalwareType enum value
40726	MalwareTypeRansomware = "RANSOMWARE"
40727
40728	// MalwareTypeRemoteAccess is a MalwareType enum value
40729	MalwareTypeRemoteAccess = "REMOTE_ACCESS"
40730
40731	// MalwareTypeRootkit is a MalwareType enum value
40732	MalwareTypeRootkit = "ROOTKIT"
40733
40734	// MalwareTypeTrojan is a MalwareType enum value
40735	MalwareTypeTrojan = "TROJAN"
40736
40737	// MalwareTypeVirus is a MalwareType enum value
40738	MalwareTypeVirus = "VIRUS"
40739
40740	// MalwareTypeWorm is a MalwareType enum value
40741	MalwareTypeWorm = "WORM"
40742)
40743
40744// MalwareType_Values returns all elements of the MalwareType enum
40745func MalwareType_Values() []string {
40746	return []string{
40747		MalwareTypeAdware,
40748		MalwareTypeBlendedThreat,
40749		MalwareTypeBotnetAgent,
40750		MalwareTypeCoinMiner,
40751		MalwareTypeExploitKit,
40752		MalwareTypeKeylogger,
40753		MalwareTypeMacro,
40754		MalwareTypePotentiallyUnwanted,
40755		MalwareTypeSpyware,
40756		MalwareTypeRansomware,
40757		MalwareTypeRemoteAccess,
40758		MalwareTypeRootkit,
40759		MalwareTypeTrojan,
40760		MalwareTypeVirus,
40761		MalwareTypeWorm,
40762	}
40763}
40764
40765const (
40766	// MapFilterComparisonEquals is a MapFilterComparison enum value
40767	MapFilterComparisonEquals = "EQUALS"
40768
40769	// MapFilterComparisonNotEquals is a MapFilterComparison enum value
40770	MapFilterComparisonNotEquals = "NOT_EQUALS"
40771)
40772
40773// MapFilterComparison_Values returns all elements of the MapFilterComparison enum
40774func MapFilterComparison_Values() []string {
40775	return []string{
40776		MapFilterComparisonEquals,
40777		MapFilterComparisonNotEquals,
40778	}
40779}
40780
40781const (
40782	// NetworkDirectionIn is a NetworkDirection enum value
40783	NetworkDirectionIn = "IN"
40784
40785	// NetworkDirectionOut is a NetworkDirection enum value
40786	NetworkDirectionOut = "OUT"
40787)
40788
40789// NetworkDirection_Values returns all elements of the NetworkDirection enum
40790func NetworkDirection_Values() []string {
40791	return []string{
40792		NetworkDirectionIn,
40793		NetworkDirectionOut,
40794	}
40795}
40796
40797const (
40798	// PartitionAws is a Partition enum value
40799	PartitionAws = "aws"
40800
40801	// PartitionAwsCn is a Partition enum value
40802	PartitionAwsCn = "aws-cn"
40803
40804	// PartitionAwsUsGov is a Partition enum value
40805	PartitionAwsUsGov = "aws-us-gov"
40806)
40807
40808// Partition_Values returns all elements of the Partition enum
40809func Partition_Values() []string {
40810	return []string{
40811		PartitionAws,
40812		PartitionAwsCn,
40813		PartitionAwsUsGov,
40814	}
40815}
40816
40817const (
40818	// RecordStateActive is a RecordState enum value
40819	RecordStateActive = "ACTIVE"
40820
40821	// RecordStateArchived is a RecordState enum value
40822	RecordStateArchived = "ARCHIVED"
40823)
40824
40825// RecordState_Values returns all elements of the RecordState enum
40826func RecordState_Values() []string {
40827	return []string{
40828		RecordStateActive,
40829		RecordStateArchived,
40830	}
40831}
40832
40833const (
40834	// SeverityLabelInformational is a SeverityLabel enum value
40835	SeverityLabelInformational = "INFORMATIONAL"
40836
40837	// SeverityLabelLow is a SeverityLabel enum value
40838	SeverityLabelLow = "LOW"
40839
40840	// SeverityLabelMedium is a SeverityLabel enum value
40841	SeverityLabelMedium = "MEDIUM"
40842
40843	// SeverityLabelHigh is a SeverityLabel enum value
40844	SeverityLabelHigh = "HIGH"
40845
40846	// SeverityLabelCritical is a SeverityLabel enum value
40847	SeverityLabelCritical = "CRITICAL"
40848)
40849
40850// SeverityLabel_Values returns all elements of the SeverityLabel enum
40851func SeverityLabel_Values() []string {
40852	return []string{
40853		SeverityLabelInformational,
40854		SeverityLabelLow,
40855		SeverityLabelMedium,
40856		SeverityLabelHigh,
40857		SeverityLabelCritical,
40858	}
40859}
40860
40861const (
40862	// SeverityRatingLow is a SeverityRating enum value
40863	SeverityRatingLow = "LOW"
40864
40865	// SeverityRatingMedium is a SeverityRating enum value
40866	SeverityRatingMedium = "MEDIUM"
40867
40868	// SeverityRatingHigh is a SeverityRating enum value
40869	SeverityRatingHigh = "HIGH"
40870
40871	// SeverityRatingCritical is a SeverityRating enum value
40872	SeverityRatingCritical = "CRITICAL"
40873)
40874
40875// SeverityRating_Values returns all elements of the SeverityRating enum
40876func SeverityRating_Values() []string {
40877	return []string{
40878		SeverityRatingLow,
40879		SeverityRatingMedium,
40880		SeverityRatingHigh,
40881		SeverityRatingCritical,
40882	}
40883}
40884
40885const (
40886	// SortOrderAsc is a SortOrder enum value
40887	SortOrderAsc = "asc"
40888
40889	// SortOrderDesc is a SortOrder enum value
40890	SortOrderDesc = "desc"
40891)
40892
40893// SortOrder_Values returns all elements of the SortOrder enum
40894func SortOrder_Values() []string {
40895	return []string{
40896		SortOrderAsc,
40897		SortOrderDesc,
40898	}
40899}
40900
40901const (
40902	// StandardsStatusPending is a StandardsStatus enum value
40903	StandardsStatusPending = "PENDING"
40904
40905	// StandardsStatusReady is a StandardsStatus enum value
40906	StandardsStatusReady = "READY"
40907
40908	// StandardsStatusFailed is a StandardsStatus enum value
40909	StandardsStatusFailed = "FAILED"
40910
40911	// StandardsStatusDeleting is a StandardsStatus enum value
40912	StandardsStatusDeleting = "DELETING"
40913
40914	// StandardsStatusIncomplete is a StandardsStatus enum value
40915	StandardsStatusIncomplete = "INCOMPLETE"
40916)
40917
40918// StandardsStatus_Values returns all elements of the StandardsStatus enum
40919func StandardsStatus_Values() []string {
40920	return []string{
40921		StandardsStatusPending,
40922		StandardsStatusReady,
40923		StandardsStatusFailed,
40924		StandardsStatusDeleting,
40925		StandardsStatusIncomplete,
40926	}
40927}
40928
40929const (
40930	// StringFilterComparisonEquals is a StringFilterComparison enum value
40931	StringFilterComparisonEquals = "EQUALS"
40932
40933	// StringFilterComparisonPrefix is a StringFilterComparison enum value
40934	StringFilterComparisonPrefix = "PREFIX"
40935
40936	// StringFilterComparisonNotEquals is a StringFilterComparison enum value
40937	StringFilterComparisonNotEquals = "NOT_EQUALS"
40938
40939	// StringFilterComparisonPrefixNotEquals is a StringFilterComparison enum value
40940	StringFilterComparisonPrefixNotEquals = "PREFIX_NOT_EQUALS"
40941)
40942
40943// StringFilterComparison_Values returns all elements of the StringFilterComparison enum
40944func StringFilterComparison_Values() []string {
40945	return []string{
40946		StringFilterComparisonEquals,
40947		StringFilterComparisonPrefix,
40948		StringFilterComparisonNotEquals,
40949		StringFilterComparisonPrefixNotEquals,
40950	}
40951}
40952
40953const (
40954	// ThreatIntelIndicatorCategoryBackdoor is a ThreatIntelIndicatorCategory enum value
40955	ThreatIntelIndicatorCategoryBackdoor = "BACKDOOR"
40956
40957	// ThreatIntelIndicatorCategoryCardStealer is a ThreatIntelIndicatorCategory enum value
40958	ThreatIntelIndicatorCategoryCardStealer = "CARD_STEALER"
40959
40960	// ThreatIntelIndicatorCategoryCommandAndControl is a ThreatIntelIndicatorCategory enum value
40961	ThreatIntelIndicatorCategoryCommandAndControl = "COMMAND_AND_CONTROL"
40962
40963	// ThreatIntelIndicatorCategoryDropSite is a ThreatIntelIndicatorCategory enum value
40964	ThreatIntelIndicatorCategoryDropSite = "DROP_SITE"
40965
40966	// ThreatIntelIndicatorCategoryExploitSite is a ThreatIntelIndicatorCategory enum value
40967	ThreatIntelIndicatorCategoryExploitSite = "EXPLOIT_SITE"
40968
40969	// ThreatIntelIndicatorCategoryKeylogger is a ThreatIntelIndicatorCategory enum value
40970	ThreatIntelIndicatorCategoryKeylogger = "KEYLOGGER"
40971)
40972
40973// ThreatIntelIndicatorCategory_Values returns all elements of the ThreatIntelIndicatorCategory enum
40974func ThreatIntelIndicatorCategory_Values() []string {
40975	return []string{
40976		ThreatIntelIndicatorCategoryBackdoor,
40977		ThreatIntelIndicatorCategoryCardStealer,
40978		ThreatIntelIndicatorCategoryCommandAndControl,
40979		ThreatIntelIndicatorCategoryDropSite,
40980		ThreatIntelIndicatorCategoryExploitSite,
40981		ThreatIntelIndicatorCategoryKeylogger,
40982	}
40983}
40984
40985const (
40986	// ThreatIntelIndicatorTypeDomain is a ThreatIntelIndicatorType enum value
40987	ThreatIntelIndicatorTypeDomain = "DOMAIN"
40988
40989	// ThreatIntelIndicatorTypeEmailAddress is a ThreatIntelIndicatorType enum value
40990	ThreatIntelIndicatorTypeEmailAddress = "EMAIL_ADDRESS"
40991
40992	// ThreatIntelIndicatorTypeHashMd5 is a ThreatIntelIndicatorType enum value
40993	ThreatIntelIndicatorTypeHashMd5 = "HASH_MD5"
40994
40995	// ThreatIntelIndicatorTypeHashSha1 is a ThreatIntelIndicatorType enum value
40996	ThreatIntelIndicatorTypeHashSha1 = "HASH_SHA1"
40997
40998	// ThreatIntelIndicatorTypeHashSha256 is a ThreatIntelIndicatorType enum value
40999	ThreatIntelIndicatorTypeHashSha256 = "HASH_SHA256"
41000
41001	// ThreatIntelIndicatorTypeHashSha512 is a ThreatIntelIndicatorType enum value
41002	ThreatIntelIndicatorTypeHashSha512 = "HASH_SHA512"
41003
41004	// ThreatIntelIndicatorTypeIpv4Address is a ThreatIntelIndicatorType enum value
41005	ThreatIntelIndicatorTypeIpv4Address = "IPV4_ADDRESS"
41006
41007	// ThreatIntelIndicatorTypeIpv6Address is a ThreatIntelIndicatorType enum value
41008	ThreatIntelIndicatorTypeIpv6Address = "IPV6_ADDRESS"
41009
41010	// ThreatIntelIndicatorTypeMutex is a ThreatIntelIndicatorType enum value
41011	ThreatIntelIndicatorTypeMutex = "MUTEX"
41012
41013	// ThreatIntelIndicatorTypeProcess is a ThreatIntelIndicatorType enum value
41014	ThreatIntelIndicatorTypeProcess = "PROCESS"
41015
41016	// ThreatIntelIndicatorTypeUrl is a ThreatIntelIndicatorType enum value
41017	ThreatIntelIndicatorTypeUrl = "URL"
41018)
41019
41020// ThreatIntelIndicatorType_Values returns all elements of the ThreatIntelIndicatorType enum
41021func ThreatIntelIndicatorType_Values() []string {
41022	return []string{
41023		ThreatIntelIndicatorTypeDomain,
41024		ThreatIntelIndicatorTypeEmailAddress,
41025		ThreatIntelIndicatorTypeHashMd5,
41026		ThreatIntelIndicatorTypeHashSha1,
41027		ThreatIntelIndicatorTypeHashSha256,
41028		ThreatIntelIndicatorTypeHashSha512,
41029		ThreatIntelIndicatorTypeIpv4Address,
41030		ThreatIntelIndicatorTypeIpv6Address,
41031		ThreatIntelIndicatorTypeMutex,
41032		ThreatIntelIndicatorTypeProcess,
41033		ThreatIntelIndicatorTypeUrl,
41034	}
41035}
41036
41037const (
41038	// VerificationStateUnknown is a VerificationState enum value
41039	VerificationStateUnknown = "UNKNOWN"
41040
41041	// VerificationStateTruePositive is a VerificationState enum value
41042	VerificationStateTruePositive = "TRUE_POSITIVE"
41043
41044	// VerificationStateFalsePositive is a VerificationState enum value
41045	VerificationStateFalsePositive = "FALSE_POSITIVE"
41046
41047	// VerificationStateBenignPositive is a VerificationState enum value
41048	VerificationStateBenignPositive = "BENIGN_POSITIVE"
41049)
41050
41051// VerificationState_Values returns all elements of the VerificationState enum
41052func VerificationState_Values() []string {
41053	return []string{
41054		VerificationStateUnknown,
41055		VerificationStateTruePositive,
41056		VerificationStateFalsePositive,
41057		VerificationStateBenignPositive,
41058	}
41059}
41060
41061const (
41062	// WorkflowStateNew is a WorkflowState enum value
41063	WorkflowStateNew = "NEW"
41064
41065	// WorkflowStateAssigned is a WorkflowState enum value
41066	WorkflowStateAssigned = "ASSIGNED"
41067
41068	// WorkflowStateInProgress is a WorkflowState enum value
41069	WorkflowStateInProgress = "IN_PROGRESS"
41070
41071	// WorkflowStateDeferred is a WorkflowState enum value
41072	WorkflowStateDeferred = "DEFERRED"
41073
41074	// WorkflowStateResolved is a WorkflowState enum value
41075	WorkflowStateResolved = "RESOLVED"
41076)
41077
41078// WorkflowState_Values returns all elements of the WorkflowState enum
41079func WorkflowState_Values() []string {
41080	return []string{
41081		WorkflowStateNew,
41082		WorkflowStateAssigned,
41083		WorkflowStateInProgress,
41084		WorkflowStateDeferred,
41085		WorkflowStateResolved,
41086	}
41087}
41088
41089const (
41090	// WorkflowStatusNew is a WorkflowStatus enum value
41091	WorkflowStatusNew = "NEW"
41092
41093	// WorkflowStatusNotified is a WorkflowStatus enum value
41094	WorkflowStatusNotified = "NOTIFIED"
41095
41096	// WorkflowStatusResolved is a WorkflowStatus enum value
41097	WorkflowStatusResolved = "RESOLVED"
41098
41099	// WorkflowStatusSuppressed is a WorkflowStatus enum value
41100	WorkflowStatusSuppressed = "SUPPRESSED"
41101)
41102
41103// WorkflowStatus_Values returns all elements of the WorkflowStatus enum
41104func WorkflowStatus_Values() []string {
41105	return []string{
41106		WorkflowStatusNew,
41107		WorkflowStatusNotified,
41108		WorkflowStatusResolved,
41109		WorkflowStatusSuppressed,
41110	}
41111}
41112