1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package securityhub
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const opAcceptAdministratorInvitation = "AcceptAdministratorInvitation"
17
18// AcceptAdministratorInvitationRequest generates a "aws/request.Request" representing the
19// client's request for the AcceptAdministratorInvitation operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See AcceptAdministratorInvitation for more information on using the AcceptAdministratorInvitation
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the AcceptAdministratorInvitationRequest method.
34//    req, resp := client.AcceptAdministratorInvitationRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AcceptAdministratorInvitation
42func (c *SecurityHub) AcceptAdministratorInvitationRequest(input *AcceptAdministratorInvitationInput) (req *request.Request, output *AcceptAdministratorInvitationOutput) {
43	op := &request.Operation{
44		Name:       opAcceptAdministratorInvitation,
45		HTTPMethod: "POST",
46		HTTPPath:   "/administrator",
47	}
48
49	if input == nil {
50		input = &AcceptAdministratorInvitationInput{}
51	}
52
53	output = &AcceptAdministratorInvitationOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AcceptAdministratorInvitation API operation for AWS SecurityHub.
60//
61// Accepts the invitation to be a member account and be monitored by the Security
62// Hub administrator account that the invitation was sent from.
63//
64// This operation is only used by member accounts that are not added through
65// Organizations.
66//
67// When the member account accepts the invitation, permission is granted to
68// the administrator account to view findings generated in the member account.
69//
70// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
71// with awserr.Error's Code and Message methods to get detailed information about
72// the error.
73//
74// See the AWS API reference guide for AWS SecurityHub's
75// API operation AcceptAdministratorInvitation for usage and error information.
76//
77// Returned Error Types:
78//   * InternalException
79//   Internal server error.
80//
81//   * InvalidInputException
82//   The request was rejected because you supplied an invalid or out-of-range
83//   value for an input parameter.
84//
85//   * LimitExceededException
86//   The request was rejected because it attempted to create resources beyond
87//   the current AWS account or throttling limits. The error code describes the
88//   limit exceeded.
89//
90//   * ResourceNotFoundException
91//   The request was rejected because we can't find the specified resource.
92//
93//   * InvalidAccessException
94//   There is an issue with the account used to make the request. Either Security
95//   Hub is not enabled for the account, or the account does not have permission
96//   to perform this action.
97//
98// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AcceptAdministratorInvitation
99func (c *SecurityHub) AcceptAdministratorInvitation(input *AcceptAdministratorInvitationInput) (*AcceptAdministratorInvitationOutput, error) {
100	req, out := c.AcceptAdministratorInvitationRequest(input)
101	return out, req.Send()
102}
103
104// AcceptAdministratorInvitationWithContext is the same as AcceptAdministratorInvitation with the addition of
105// the ability to pass a context and additional request options.
106//
107// See AcceptAdministratorInvitation for details on how to use this API operation.
108//
109// The context must be non-nil and will be used for request cancellation. If
110// the context is nil a panic will occur. In the future the SDK may create
111// sub-contexts for http.Requests. See https://golang.org/pkg/context/
112// for more information on using Contexts.
113func (c *SecurityHub) AcceptAdministratorInvitationWithContext(ctx aws.Context, input *AcceptAdministratorInvitationInput, opts ...request.Option) (*AcceptAdministratorInvitationOutput, error) {
114	req, out := c.AcceptAdministratorInvitationRequest(input)
115	req.SetContext(ctx)
116	req.ApplyOptions(opts...)
117	return out, req.Send()
118}
119
120const opAcceptInvitation = "AcceptInvitation"
121
122// AcceptInvitationRequest generates a "aws/request.Request" representing the
123// client's request for the AcceptInvitation operation. The "output" return
124// value will be populated with the request's response once the request completes
125// successfully.
126//
127// Use "Send" method on the returned Request to send the API call to the service.
128// the "output" return value is not valid until after Send returns without error.
129//
130// See AcceptInvitation for more information on using the AcceptInvitation
131// API call, and error handling.
132//
133// This method is useful when you want to inject custom logic or configuration
134// into the SDK's request lifecycle. Such as custom headers, or retry logic.
135//
136//
137//    // Example sending a request using the AcceptInvitationRequest method.
138//    req, resp := client.AcceptInvitationRequest(params)
139//
140//    err := req.Send()
141//    if err == nil { // resp is now filled
142//        fmt.Println(resp)
143//    }
144//
145// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AcceptInvitation
146//
147// Deprecated: This API has been deprecated, use AcceptAdministratorInvitation API instead.
148func (c *SecurityHub) AcceptInvitationRequest(input *AcceptInvitationInput) (req *request.Request, output *AcceptInvitationOutput) {
149	if c.Client.Config.Logger != nil {
150		c.Client.Config.Logger.Log("This operation, AcceptInvitation, has been deprecated")
151	}
152	op := &request.Operation{
153		Name:       opAcceptInvitation,
154		HTTPMethod: "POST",
155		HTTPPath:   "/master",
156	}
157
158	if input == nil {
159		input = &AcceptInvitationInput{}
160	}
161
162	output = &AcceptInvitationOutput{}
163	req = c.newRequest(op, input, output)
164	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
165	return
166}
167
168// AcceptInvitation API operation for AWS SecurityHub.
169//
170// This method is deprecated. Instead, use AcceptAdministratorInvitation.
171//
172// The Security Hub console continues to use AcceptInvitation. It will eventually
173// change to use AcceptAdministratorInvitation. Any IAM policies that specifically
174// control access to this function must continue to use AcceptInvitation. You
175// should also add AcceptAdministratorInvitation to your policies to ensure
176// that the correct permissions are in place after the console begins to use
177// AcceptAdministratorInvitation.
178//
179// Accepts the invitation to be a member account and be monitored by the Security
180// Hub administrator account that the invitation was sent from.
181//
182// This operation is only used by member accounts that are not added through
183// Organizations.
184//
185// When the member account accepts the invitation, permission is granted to
186// the administrator account to view findings generated in the member account.
187//
188// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
189// with awserr.Error's Code and Message methods to get detailed information about
190// the error.
191//
192// See the AWS API reference guide for AWS SecurityHub's
193// API operation AcceptInvitation for usage and error information.
194//
195// Returned Error Types:
196//   * InternalException
197//   Internal server error.
198//
199//   * InvalidInputException
200//   The request was rejected because you supplied an invalid or out-of-range
201//   value for an input parameter.
202//
203//   * LimitExceededException
204//   The request was rejected because it attempted to create resources beyond
205//   the current AWS account or throttling limits. The error code describes the
206//   limit exceeded.
207//
208//   * ResourceNotFoundException
209//   The request was rejected because we can't find the specified resource.
210//
211//   * InvalidAccessException
212//   There is an issue with the account used to make the request. Either Security
213//   Hub is not enabled for the account, or the account does not have permission
214//   to perform this action.
215//
216// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/AcceptInvitation
217//
218// Deprecated: This API has been deprecated, use AcceptAdministratorInvitation API instead.
219func (c *SecurityHub) AcceptInvitation(input *AcceptInvitationInput) (*AcceptInvitationOutput, error) {
220	req, out := c.AcceptInvitationRequest(input)
221	return out, req.Send()
222}
223
224// AcceptInvitationWithContext is the same as AcceptInvitation with the addition of
225// the ability to pass a context and additional request options.
226//
227// See AcceptInvitation for details on how to use this API operation.
228//
229// The context must be non-nil and will be used for request cancellation. If
230// the context is nil a panic will occur. In the future the SDK may create
231// sub-contexts for http.Requests. See https://golang.org/pkg/context/
232// for more information on using Contexts.
233//
234// Deprecated: This API has been deprecated, use AcceptAdministratorInvitation API instead.
235func (c *SecurityHub) AcceptInvitationWithContext(ctx aws.Context, input *AcceptInvitationInput, opts ...request.Option) (*AcceptInvitationOutput, error) {
236	req, out := c.AcceptInvitationRequest(input)
237	req.SetContext(ctx)
238	req.ApplyOptions(opts...)
239	return out, req.Send()
240}
241
242const opBatchDisableStandards = "BatchDisableStandards"
243
244// BatchDisableStandardsRequest generates a "aws/request.Request" representing the
245// client's request for the BatchDisableStandards operation. The "output" return
246// value will be populated with the request's response once the request completes
247// successfully.
248//
249// Use "Send" method on the returned Request to send the API call to the service.
250// the "output" return value is not valid until after Send returns without error.
251//
252// See BatchDisableStandards for more information on using the BatchDisableStandards
253// API call, and error handling.
254//
255// This method is useful when you want to inject custom logic or configuration
256// into the SDK's request lifecycle. Such as custom headers, or retry logic.
257//
258//
259//    // Example sending a request using the BatchDisableStandardsRequest method.
260//    req, resp := client.BatchDisableStandardsRequest(params)
261//
262//    err := req.Send()
263//    if err == nil { // resp is now filled
264//        fmt.Println(resp)
265//    }
266//
267// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchDisableStandards
268func (c *SecurityHub) BatchDisableStandardsRequest(input *BatchDisableStandardsInput) (req *request.Request, output *BatchDisableStandardsOutput) {
269	op := &request.Operation{
270		Name:       opBatchDisableStandards,
271		HTTPMethod: "POST",
272		HTTPPath:   "/standards/deregister",
273	}
274
275	if input == nil {
276		input = &BatchDisableStandardsInput{}
277	}
278
279	output = &BatchDisableStandardsOutput{}
280	req = c.newRequest(op, input, output)
281	return
282}
283
284// BatchDisableStandards API operation for AWS SecurityHub.
285//
286// Disables the standards specified by the provided StandardsSubscriptionArns.
287//
288// For more information, see Security Standards (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards.html)
289// section of the AWS Security Hub User Guide.
290//
291// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
292// with awserr.Error's Code and Message methods to get detailed information about
293// the error.
294//
295// See the AWS API reference guide for AWS SecurityHub's
296// API operation BatchDisableStandards for usage and error information.
297//
298// Returned Error Types:
299//   * InternalException
300//   Internal server error.
301//
302//   * InvalidInputException
303//   The request was rejected because you supplied an invalid or out-of-range
304//   value for an input parameter.
305//
306//   * InvalidAccessException
307//   There is an issue with the account used to make the request. Either Security
308//   Hub is not enabled for the account, or the account does not have permission
309//   to perform this action.
310//
311//   * LimitExceededException
312//   The request was rejected because it attempted to create resources beyond
313//   the current AWS account or throttling limits. The error code describes the
314//   limit exceeded.
315//
316// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchDisableStandards
317func (c *SecurityHub) BatchDisableStandards(input *BatchDisableStandardsInput) (*BatchDisableStandardsOutput, error) {
318	req, out := c.BatchDisableStandardsRequest(input)
319	return out, req.Send()
320}
321
322// BatchDisableStandardsWithContext is the same as BatchDisableStandards with the addition of
323// the ability to pass a context and additional request options.
324//
325// See BatchDisableStandards for details on how to use this API operation.
326//
327// The context must be non-nil and will be used for request cancellation. If
328// the context is nil a panic will occur. In the future the SDK may create
329// sub-contexts for http.Requests. See https://golang.org/pkg/context/
330// for more information on using Contexts.
331func (c *SecurityHub) BatchDisableStandardsWithContext(ctx aws.Context, input *BatchDisableStandardsInput, opts ...request.Option) (*BatchDisableStandardsOutput, error) {
332	req, out := c.BatchDisableStandardsRequest(input)
333	req.SetContext(ctx)
334	req.ApplyOptions(opts...)
335	return out, req.Send()
336}
337
338const opBatchEnableStandards = "BatchEnableStandards"
339
340// BatchEnableStandardsRequest generates a "aws/request.Request" representing the
341// client's request for the BatchEnableStandards operation. The "output" return
342// value will be populated with the request's response once the request completes
343// successfully.
344//
345// Use "Send" method on the returned Request to send the API call to the service.
346// the "output" return value is not valid until after Send returns without error.
347//
348// See BatchEnableStandards for more information on using the BatchEnableStandards
349// API call, and error handling.
350//
351// This method is useful when you want to inject custom logic or configuration
352// into the SDK's request lifecycle. Such as custom headers, or retry logic.
353//
354//
355//    // Example sending a request using the BatchEnableStandardsRequest method.
356//    req, resp := client.BatchEnableStandardsRequest(params)
357//
358//    err := req.Send()
359//    if err == nil { // resp is now filled
360//        fmt.Println(resp)
361//    }
362//
363// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchEnableStandards
364func (c *SecurityHub) BatchEnableStandardsRequest(input *BatchEnableStandardsInput) (req *request.Request, output *BatchEnableStandardsOutput) {
365	op := &request.Operation{
366		Name:       opBatchEnableStandards,
367		HTTPMethod: "POST",
368		HTTPPath:   "/standards/register",
369	}
370
371	if input == nil {
372		input = &BatchEnableStandardsInput{}
373	}
374
375	output = &BatchEnableStandardsOutput{}
376	req = c.newRequest(op, input, output)
377	return
378}
379
380// BatchEnableStandards API operation for AWS SecurityHub.
381//
382// Enables the standards specified by the provided StandardsArn. To obtain the
383// ARN for a standard, use the DescribeStandards operation.
384//
385// For more information, see the Security Standards (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards.html)
386// section of the AWS Security Hub User Guide.
387//
388// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
389// with awserr.Error's Code and Message methods to get detailed information about
390// the error.
391//
392// See the AWS API reference guide for AWS SecurityHub's
393// API operation BatchEnableStandards for usage and error information.
394//
395// Returned Error Types:
396//   * InternalException
397//   Internal server error.
398//
399//   * InvalidInputException
400//   The request was rejected because you supplied an invalid or out-of-range
401//   value for an input parameter.
402//
403//   * InvalidAccessException
404//   There is an issue with the account used to make the request. Either Security
405//   Hub is not enabled for the account, or the account does not have permission
406//   to perform this action.
407//
408//   * LimitExceededException
409//   The request was rejected because it attempted to create resources beyond
410//   the current AWS account or throttling limits. The error code describes the
411//   limit exceeded.
412//
413// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchEnableStandards
414func (c *SecurityHub) BatchEnableStandards(input *BatchEnableStandardsInput) (*BatchEnableStandardsOutput, error) {
415	req, out := c.BatchEnableStandardsRequest(input)
416	return out, req.Send()
417}
418
419// BatchEnableStandardsWithContext is the same as BatchEnableStandards with the addition of
420// the ability to pass a context and additional request options.
421//
422// See BatchEnableStandards for details on how to use this API operation.
423//
424// The context must be non-nil and will be used for request cancellation. If
425// the context is nil a panic will occur. In the future the SDK may create
426// sub-contexts for http.Requests. See https://golang.org/pkg/context/
427// for more information on using Contexts.
428func (c *SecurityHub) BatchEnableStandardsWithContext(ctx aws.Context, input *BatchEnableStandardsInput, opts ...request.Option) (*BatchEnableStandardsOutput, error) {
429	req, out := c.BatchEnableStandardsRequest(input)
430	req.SetContext(ctx)
431	req.ApplyOptions(opts...)
432	return out, req.Send()
433}
434
435const opBatchImportFindings = "BatchImportFindings"
436
437// BatchImportFindingsRequest generates a "aws/request.Request" representing the
438// client's request for the BatchImportFindings operation. The "output" return
439// value will be populated with the request's response once the request completes
440// successfully.
441//
442// Use "Send" method on the returned Request to send the API call to the service.
443// the "output" return value is not valid until after Send returns without error.
444//
445// See BatchImportFindings for more information on using the BatchImportFindings
446// API call, and error handling.
447//
448// This method is useful when you want to inject custom logic or configuration
449// into the SDK's request lifecycle. Such as custom headers, or retry logic.
450//
451//
452//    // Example sending a request using the BatchImportFindingsRequest method.
453//    req, resp := client.BatchImportFindingsRequest(params)
454//
455//    err := req.Send()
456//    if err == nil { // resp is now filled
457//        fmt.Println(resp)
458//    }
459//
460// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchImportFindings
461func (c *SecurityHub) BatchImportFindingsRequest(input *BatchImportFindingsInput) (req *request.Request, output *BatchImportFindingsOutput) {
462	op := &request.Operation{
463		Name:       opBatchImportFindings,
464		HTTPMethod: "POST",
465		HTTPPath:   "/findings/import",
466	}
467
468	if input == nil {
469		input = &BatchImportFindingsInput{}
470	}
471
472	output = &BatchImportFindingsOutput{}
473	req = c.newRequest(op, input, output)
474	return
475}
476
477// BatchImportFindings API operation for AWS SecurityHub.
478//
479// Imports security findings generated from an integrated product into Security
480// Hub. This action is requested by the integrated product to import its findings
481// into Security Hub.
482//
483// The maximum allowed size for a finding is 240 Kb. An error is returned for
484// any finding larger than 240 Kb.
485//
486// After a finding is created, BatchImportFindings cannot be used to update
487// the following finding fields and objects, which Security Hub customers use
488// to manage their investigation workflow.
489//
490//    * Note
491//
492//    * UserDefinedFields
493//
494//    * VerificationState
495//
496//    * Workflow
497//
498// Finding providers also should not use BatchImportFindings to update the following
499// attributes.
500//
501//    * Confidence
502//
503//    * Criticality
504//
505//    * RelatedFindings
506//
507//    * Severity
508//
509//    * Types
510//
511// Instead, finding providers use FindingProviderFields to provide values for
512// these attributes.
513//
514// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
515// with awserr.Error's Code and Message methods to get detailed information about
516// the error.
517//
518// See the AWS API reference guide for AWS SecurityHub's
519// API operation BatchImportFindings for usage and error information.
520//
521// Returned Error Types:
522//   * InternalException
523//   Internal server error.
524//
525//   * InvalidInputException
526//   The request was rejected because you supplied an invalid or out-of-range
527//   value for an input parameter.
528//
529//   * LimitExceededException
530//   The request was rejected because it attempted to create resources beyond
531//   the current AWS account or throttling limits. The error code describes the
532//   limit exceeded.
533//
534//   * InvalidAccessException
535//   There is an issue with the account used to make the request. Either Security
536//   Hub is not enabled for the account, or the account does not have permission
537//   to perform this action.
538//
539// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchImportFindings
540func (c *SecurityHub) BatchImportFindings(input *BatchImportFindingsInput) (*BatchImportFindingsOutput, error) {
541	req, out := c.BatchImportFindingsRequest(input)
542	return out, req.Send()
543}
544
545// BatchImportFindingsWithContext is the same as BatchImportFindings with the addition of
546// the ability to pass a context and additional request options.
547//
548// See BatchImportFindings for details on how to use this API operation.
549//
550// The context must be non-nil and will be used for request cancellation. If
551// the context is nil a panic will occur. In the future the SDK may create
552// sub-contexts for http.Requests. See https://golang.org/pkg/context/
553// for more information on using Contexts.
554func (c *SecurityHub) BatchImportFindingsWithContext(ctx aws.Context, input *BatchImportFindingsInput, opts ...request.Option) (*BatchImportFindingsOutput, error) {
555	req, out := c.BatchImportFindingsRequest(input)
556	req.SetContext(ctx)
557	req.ApplyOptions(opts...)
558	return out, req.Send()
559}
560
561const opBatchUpdateFindings = "BatchUpdateFindings"
562
563// BatchUpdateFindingsRequest generates a "aws/request.Request" representing the
564// client's request for the BatchUpdateFindings operation. The "output" return
565// value will be populated with the request's response once the request completes
566// successfully.
567//
568// Use "Send" method on the returned Request to send the API call to the service.
569// the "output" return value is not valid until after Send returns without error.
570//
571// See BatchUpdateFindings for more information on using the BatchUpdateFindings
572// API call, and error handling.
573//
574// This method is useful when you want to inject custom logic or configuration
575// into the SDK's request lifecycle. Such as custom headers, or retry logic.
576//
577//
578//    // Example sending a request using the BatchUpdateFindingsRequest method.
579//    req, resp := client.BatchUpdateFindingsRequest(params)
580//
581//    err := req.Send()
582//    if err == nil { // resp is now filled
583//        fmt.Println(resp)
584//    }
585//
586// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchUpdateFindings
587func (c *SecurityHub) BatchUpdateFindingsRequest(input *BatchUpdateFindingsInput) (req *request.Request, output *BatchUpdateFindingsOutput) {
588	op := &request.Operation{
589		Name:       opBatchUpdateFindings,
590		HTTPMethod: "PATCH",
591		HTTPPath:   "/findings/batchupdate",
592	}
593
594	if input == nil {
595		input = &BatchUpdateFindingsInput{}
596	}
597
598	output = &BatchUpdateFindingsOutput{}
599	req = c.newRequest(op, input, output)
600	return
601}
602
603// BatchUpdateFindings API operation for AWS SecurityHub.
604//
605// Used by Security Hub customers to update information about their investigation
606// into a finding. Requested by administrator accounts or member accounts. Administrator
607// accounts can update findings for their account and their member accounts.
608// Member accounts can update findings for their account.
609//
610// Updates from BatchUpdateFindings do not affect the value of UpdatedAt for
611// a finding.
612//
613// Administrator and member accounts can use BatchUpdateFindings to update the
614// following finding fields and objects.
615//
616//    * Confidence
617//
618//    * Criticality
619//
620//    * Note
621//
622//    * RelatedFindings
623//
624//    * Severity
625//
626//    * Types
627//
628//    * UserDefinedFields
629//
630//    * VerificationState
631//
632//    * Workflow
633//
634// You can configure IAM policies to restrict access to fields and field values.
635// For example, you might not want member accounts to be able to suppress findings
636// or change the finding severity. See Configuring access to BatchUpdateFindings
637// (https://docs.aws.amazon.com/securityhub/latest/userguide/finding-update-batchupdatefindings.html#batchupdatefindings-configure-access)
638// in the AWS Security Hub User Guide.
639//
640// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
641// with awserr.Error's Code and Message methods to get detailed information about
642// the error.
643//
644// See the AWS API reference guide for AWS SecurityHub's
645// API operation BatchUpdateFindings for usage and error information.
646//
647// Returned Error Types:
648//   * InternalException
649//   Internal server error.
650//
651//   * InvalidInputException
652//   The request was rejected because you supplied an invalid or out-of-range
653//   value for an input parameter.
654//
655//   * LimitExceededException
656//   The request was rejected because it attempted to create resources beyond
657//   the current AWS account or throttling limits. The error code describes the
658//   limit exceeded.
659//
660//   * InvalidAccessException
661//   There is an issue with the account used to make the request. Either Security
662//   Hub is not enabled for the account, or the account does not have permission
663//   to perform this action.
664//
665// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/BatchUpdateFindings
666func (c *SecurityHub) BatchUpdateFindings(input *BatchUpdateFindingsInput) (*BatchUpdateFindingsOutput, error) {
667	req, out := c.BatchUpdateFindingsRequest(input)
668	return out, req.Send()
669}
670
671// BatchUpdateFindingsWithContext is the same as BatchUpdateFindings with the addition of
672// the ability to pass a context and additional request options.
673//
674// See BatchUpdateFindings for details on how to use this API operation.
675//
676// The context must be non-nil and will be used for request cancellation. If
677// the context is nil a panic will occur. In the future the SDK may create
678// sub-contexts for http.Requests. See https://golang.org/pkg/context/
679// for more information on using Contexts.
680func (c *SecurityHub) BatchUpdateFindingsWithContext(ctx aws.Context, input *BatchUpdateFindingsInput, opts ...request.Option) (*BatchUpdateFindingsOutput, error) {
681	req, out := c.BatchUpdateFindingsRequest(input)
682	req.SetContext(ctx)
683	req.ApplyOptions(opts...)
684	return out, req.Send()
685}
686
687const opCreateActionTarget = "CreateActionTarget"
688
689// CreateActionTargetRequest generates a "aws/request.Request" representing the
690// client's request for the CreateActionTarget operation. The "output" return
691// value will be populated with the request's response once the request completes
692// successfully.
693//
694// Use "Send" method on the returned Request to send the API call to the service.
695// the "output" return value is not valid until after Send returns without error.
696//
697// See CreateActionTarget for more information on using the CreateActionTarget
698// API call, and error handling.
699//
700// This method is useful when you want to inject custom logic or configuration
701// into the SDK's request lifecycle. Such as custom headers, or retry logic.
702//
703//
704//    // Example sending a request using the CreateActionTargetRequest method.
705//    req, resp := client.CreateActionTargetRequest(params)
706//
707//    err := req.Send()
708//    if err == nil { // resp is now filled
709//        fmt.Println(resp)
710//    }
711//
712// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateActionTarget
713func (c *SecurityHub) CreateActionTargetRequest(input *CreateActionTargetInput) (req *request.Request, output *CreateActionTargetOutput) {
714	op := &request.Operation{
715		Name:       opCreateActionTarget,
716		HTTPMethod: "POST",
717		HTTPPath:   "/actionTargets",
718	}
719
720	if input == nil {
721		input = &CreateActionTargetInput{}
722	}
723
724	output = &CreateActionTargetOutput{}
725	req = c.newRequest(op, input, output)
726	return
727}
728
729// CreateActionTarget API operation for AWS SecurityHub.
730//
731// Creates a custom action target in Security Hub.
732//
733// You can use custom actions on findings and insights in Security Hub to trigger
734// target actions in Amazon CloudWatch Events.
735//
736// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
737// with awserr.Error's Code and Message methods to get detailed information about
738// the error.
739//
740// See the AWS API reference guide for AWS SecurityHub's
741// API operation CreateActionTarget for usage and error information.
742//
743// Returned Error Types:
744//   * InternalException
745//   Internal server error.
746//
747//   * InvalidInputException
748//   The request was rejected because you supplied an invalid or out-of-range
749//   value for an input parameter.
750//
751//   * InvalidAccessException
752//   There is an issue with the account used to make the request. Either Security
753//   Hub is not enabled for the account, or the account does not have permission
754//   to perform this action.
755//
756//   * LimitExceededException
757//   The request was rejected because it attempted to create resources beyond
758//   the current AWS account or throttling limits. The error code describes the
759//   limit exceeded.
760//
761//   * ResourceConflictException
762//   The resource specified in the request conflicts with an existing resource.
763//
764// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateActionTarget
765func (c *SecurityHub) CreateActionTarget(input *CreateActionTargetInput) (*CreateActionTargetOutput, error) {
766	req, out := c.CreateActionTargetRequest(input)
767	return out, req.Send()
768}
769
770// CreateActionTargetWithContext is the same as CreateActionTarget with the addition of
771// the ability to pass a context and additional request options.
772//
773// See CreateActionTarget for details on how to use this API operation.
774//
775// The context must be non-nil and will be used for request cancellation. If
776// the context is nil a panic will occur. In the future the SDK may create
777// sub-contexts for http.Requests. See https://golang.org/pkg/context/
778// for more information on using Contexts.
779func (c *SecurityHub) CreateActionTargetWithContext(ctx aws.Context, input *CreateActionTargetInput, opts ...request.Option) (*CreateActionTargetOutput, error) {
780	req, out := c.CreateActionTargetRequest(input)
781	req.SetContext(ctx)
782	req.ApplyOptions(opts...)
783	return out, req.Send()
784}
785
786const opCreateInsight = "CreateInsight"
787
788// CreateInsightRequest generates a "aws/request.Request" representing the
789// client's request for the CreateInsight operation. The "output" return
790// value will be populated with the request's response once the request completes
791// successfully.
792//
793// Use "Send" method on the returned Request to send the API call to the service.
794// the "output" return value is not valid until after Send returns without error.
795//
796// See CreateInsight for more information on using the CreateInsight
797// API call, and error handling.
798//
799// This method is useful when you want to inject custom logic or configuration
800// into the SDK's request lifecycle. Such as custom headers, or retry logic.
801//
802//
803//    // Example sending a request using the CreateInsightRequest method.
804//    req, resp := client.CreateInsightRequest(params)
805//
806//    err := req.Send()
807//    if err == nil { // resp is now filled
808//        fmt.Println(resp)
809//    }
810//
811// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateInsight
812func (c *SecurityHub) CreateInsightRequest(input *CreateInsightInput) (req *request.Request, output *CreateInsightOutput) {
813	op := &request.Operation{
814		Name:       opCreateInsight,
815		HTTPMethod: "POST",
816		HTTPPath:   "/insights",
817	}
818
819	if input == nil {
820		input = &CreateInsightInput{}
821	}
822
823	output = &CreateInsightOutput{}
824	req = c.newRequest(op, input, output)
825	return
826}
827
828// CreateInsight API operation for AWS SecurityHub.
829//
830// Creates a custom insight in Security Hub. An insight is a consolidation of
831// findings that relate to a security issue that requires attention or remediation.
832//
833// To group the related findings in the insight, use the GroupByAttribute.
834//
835// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
836// with awserr.Error's Code and Message methods to get detailed information about
837// the error.
838//
839// See the AWS API reference guide for AWS SecurityHub's
840// API operation CreateInsight for usage and error information.
841//
842// Returned Error Types:
843//   * InternalException
844//   Internal server error.
845//
846//   * InvalidInputException
847//   The request was rejected because you supplied an invalid or out-of-range
848//   value for an input parameter.
849//
850//   * LimitExceededException
851//   The request was rejected because it attempted to create resources beyond
852//   the current AWS account or throttling limits. The error code describes the
853//   limit exceeded.
854//
855//   * InvalidAccessException
856//   There is an issue with the account used to make the request. Either Security
857//   Hub is not enabled for the account, or the account does not have permission
858//   to perform this action.
859//
860//   * ResourceConflictException
861//   The resource specified in the request conflicts with an existing resource.
862//
863// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateInsight
864func (c *SecurityHub) CreateInsight(input *CreateInsightInput) (*CreateInsightOutput, error) {
865	req, out := c.CreateInsightRequest(input)
866	return out, req.Send()
867}
868
869// CreateInsightWithContext is the same as CreateInsight with the addition of
870// the ability to pass a context and additional request options.
871//
872// See CreateInsight for details on how to use this API operation.
873//
874// The context must be non-nil and will be used for request cancellation. If
875// the context is nil a panic will occur. In the future the SDK may create
876// sub-contexts for http.Requests. See https://golang.org/pkg/context/
877// for more information on using Contexts.
878func (c *SecurityHub) CreateInsightWithContext(ctx aws.Context, input *CreateInsightInput, opts ...request.Option) (*CreateInsightOutput, error) {
879	req, out := c.CreateInsightRequest(input)
880	req.SetContext(ctx)
881	req.ApplyOptions(opts...)
882	return out, req.Send()
883}
884
885const opCreateMembers = "CreateMembers"
886
887// CreateMembersRequest generates a "aws/request.Request" representing the
888// client's request for the CreateMembers operation. The "output" return
889// value will be populated with the request's response once the request completes
890// successfully.
891//
892// Use "Send" method on the returned Request to send the API call to the service.
893// the "output" return value is not valid until after Send returns without error.
894//
895// See CreateMembers for more information on using the CreateMembers
896// API call, and error handling.
897//
898// This method is useful when you want to inject custom logic or configuration
899// into the SDK's request lifecycle. Such as custom headers, or retry logic.
900//
901//
902//    // Example sending a request using the CreateMembersRequest method.
903//    req, resp := client.CreateMembersRequest(params)
904//
905//    err := req.Send()
906//    if err == nil { // resp is now filled
907//        fmt.Println(resp)
908//    }
909//
910// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateMembers
911func (c *SecurityHub) CreateMembersRequest(input *CreateMembersInput) (req *request.Request, output *CreateMembersOutput) {
912	op := &request.Operation{
913		Name:       opCreateMembers,
914		HTTPMethod: "POST",
915		HTTPPath:   "/members",
916	}
917
918	if input == nil {
919		input = &CreateMembersInput{}
920	}
921
922	output = &CreateMembersOutput{}
923	req = c.newRequest(op, input, output)
924	return
925}
926
927// CreateMembers API operation for AWS SecurityHub.
928//
929// Creates a member association in Security Hub between the specified accounts
930// and the account used to make the request, which is the administrator account.
931// If you are integrated with Organizations, then the administrator account
932// is designated by the organization management account.
933//
934// CreateMembers is always used to add accounts that are not organization members.
935//
936// For accounts that are part of an organization, CreateMembers is only used
937// in the following cases:
938//
939//    * Security Hub is not configured to automatically add new accounts in
940//    an organization.
941//
942//    * The account was disassociated or deleted in Security Hub.
943//
944// This action can only be used by an account that has Security Hub enabled.
945// To enable Security Hub, you can use the EnableSecurityHub operation.
946//
947// For accounts that are not organization members, you create the account association
948// and then send an invitation to the member account. To send the invitation,
949// you use the InviteMembers operation. If the account owner accepts the invitation,
950// the account becomes a member account in Security Hub.
951//
952// Accounts that are part of an organization do not receive an invitation. They
953// automatically become a member account in Security Hub.
954//
955// A permissions policy is added that permits the administrator account to view
956// the findings generated in the member account. When Security Hub is enabled
957// in a member account, the member account findings are also visible to the
958// administrator account.
959//
960// To remove the association between the administrator and member accounts,
961// use the DisassociateFromMasterAccount or DisassociateMembers operation.
962//
963// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
964// with awserr.Error's Code and Message methods to get detailed information about
965// the error.
966//
967// See the AWS API reference guide for AWS SecurityHub's
968// API operation CreateMembers for usage and error information.
969//
970// Returned Error Types:
971//   * InternalException
972//   Internal server error.
973//
974//   * InvalidInputException
975//   The request was rejected because you supplied an invalid or out-of-range
976//   value for an input parameter.
977//
978//   * LimitExceededException
979//   The request was rejected because it attempted to create resources beyond
980//   the current AWS account or throttling limits. The error code describes the
981//   limit exceeded.
982//
983//   * InvalidAccessException
984//   There is an issue with the account used to make the request. Either Security
985//   Hub is not enabled for the account, or the account does not have permission
986//   to perform this action.
987//
988//   * ResourceConflictException
989//   The resource specified in the request conflicts with an existing resource.
990//
991// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/CreateMembers
992func (c *SecurityHub) CreateMembers(input *CreateMembersInput) (*CreateMembersOutput, error) {
993	req, out := c.CreateMembersRequest(input)
994	return out, req.Send()
995}
996
997// CreateMembersWithContext is the same as CreateMembers with the addition of
998// the ability to pass a context and additional request options.
999//
1000// See CreateMembers for details on how to use this API operation.
1001//
1002// The context must be non-nil and will be used for request cancellation. If
1003// the context is nil a panic will occur. In the future the SDK may create
1004// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1005// for more information on using Contexts.
1006func (c *SecurityHub) CreateMembersWithContext(ctx aws.Context, input *CreateMembersInput, opts ...request.Option) (*CreateMembersOutput, error) {
1007	req, out := c.CreateMembersRequest(input)
1008	req.SetContext(ctx)
1009	req.ApplyOptions(opts...)
1010	return out, req.Send()
1011}
1012
1013const opDeclineInvitations = "DeclineInvitations"
1014
1015// DeclineInvitationsRequest generates a "aws/request.Request" representing the
1016// client's request for the DeclineInvitations operation. The "output" return
1017// value will be populated with the request's response once the request completes
1018// successfully.
1019//
1020// Use "Send" method on the returned Request to send the API call to the service.
1021// the "output" return value is not valid until after Send returns without error.
1022//
1023// See DeclineInvitations for more information on using the DeclineInvitations
1024// API call, and error handling.
1025//
1026// This method is useful when you want to inject custom logic or configuration
1027// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1028//
1029//
1030//    // Example sending a request using the DeclineInvitationsRequest method.
1031//    req, resp := client.DeclineInvitationsRequest(params)
1032//
1033//    err := req.Send()
1034//    if err == nil { // resp is now filled
1035//        fmt.Println(resp)
1036//    }
1037//
1038// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeclineInvitations
1039func (c *SecurityHub) DeclineInvitationsRequest(input *DeclineInvitationsInput) (req *request.Request, output *DeclineInvitationsOutput) {
1040	op := &request.Operation{
1041		Name:       opDeclineInvitations,
1042		HTTPMethod: "POST",
1043		HTTPPath:   "/invitations/decline",
1044	}
1045
1046	if input == nil {
1047		input = &DeclineInvitationsInput{}
1048	}
1049
1050	output = &DeclineInvitationsOutput{}
1051	req = c.newRequest(op, input, output)
1052	return
1053}
1054
1055// DeclineInvitations API operation for AWS SecurityHub.
1056//
1057// Declines invitations to become a member account.
1058//
1059// This operation is only used by accounts that are not part of an organization.
1060// Organization accounts do not receive invitations.
1061//
1062// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1063// with awserr.Error's Code and Message methods to get detailed information about
1064// the error.
1065//
1066// See the AWS API reference guide for AWS SecurityHub's
1067// API operation DeclineInvitations for usage and error information.
1068//
1069// Returned Error Types:
1070//   * InternalException
1071//   Internal server error.
1072//
1073//   * InvalidInputException
1074//   The request was rejected because you supplied an invalid or out-of-range
1075//   value for an input parameter.
1076//
1077//   * InvalidAccessException
1078//   There is an issue with the account used to make the request. Either Security
1079//   Hub is not enabled for the account, or the account does not have permission
1080//   to perform this action.
1081//
1082//   * ResourceNotFoundException
1083//   The request was rejected because we can't find the specified resource.
1084//
1085// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeclineInvitations
1086func (c *SecurityHub) DeclineInvitations(input *DeclineInvitationsInput) (*DeclineInvitationsOutput, error) {
1087	req, out := c.DeclineInvitationsRequest(input)
1088	return out, req.Send()
1089}
1090
1091// DeclineInvitationsWithContext is the same as DeclineInvitations with the addition of
1092// the ability to pass a context and additional request options.
1093//
1094// See DeclineInvitations for details on how to use this API operation.
1095//
1096// The context must be non-nil and will be used for request cancellation. If
1097// the context is nil a panic will occur. In the future the SDK may create
1098// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1099// for more information on using Contexts.
1100func (c *SecurityHub) DeclineInvitationsWithContext(ctx aws.Context, input *DeclineInvitationsInput, opts ...request.Option) (*DeclineInvitationsOutput, error) {
1101	req, out := c.DeclineInvitationsRequest(input)
1102	req.SetContext(ctx)
1103	req.ApplyOptions(opts...)
1104	return out, req.Send()
1105}
1106
1107const opDeleteActionTarget = "DeleteActionTarget"
1108
1109// DeleteActionTargetRequest generates a "aws/request.Request" representing the
1110// client's request for the DeleteActionTarget operation. The "output" return
1111// value will be populated with the request's response once the request completes
1112// successfully.
1113//
1114// Use "Send" method on the returned Request to send the API call to the service.
1115// the "output" return value is not valid until after Send returns without error.
1116//
1117// See DeleteActionTarget for more information on using the DeleteActionTarget
1118// API call, and error handling.
1119//
1120// This method is useful when you want to inject custom logic or configuration
1121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1122//
1123//
1124//    // Example sending a request using the DeleteActionTargetRequest method.
1125//    req, resp := client.DeleteActionTargetRequest(params)
1126//
1127//    err := req.Send()
1128//    if err == nil { // resp is now filled
1129//        fmt.Println(resp)
1130//    }
1131//
1132// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteActionTarget
1133func (c *SecurityHub) DeleteActionTargetRequest(input *DeleteActionTargetInput) (req *request.Request, output *DeleteActionTargetOutput) {
1134	op := &request.Operation{
1135		Name:       opDeleteActionTarget,
1136		HTTPMethod: "DELETE",
1137		HTTPPath:   "/actionTargets/{ActionTargetArn+}",
1138	}
1139
1140	if input == nil {
1141		input = &DeleteActionTargetInput{}
1142	}
1143
1144	output = &DeleteActionTargetOutput{}
1145	req = c.newRequest(op, input, output)
1146	return
1147}
1148
1149// DeleteActionTarget API operation for AWS SecurityHub.
1150//
1151// Deletes a custom action target from Security Hub.
1152//
1153// Deleting a custom action target does not affect any findings or insights
1154// that were already sent to Amazon CloudWatch Events using the custom action.
1155//
1156// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1157// with awserr.Error's Code and Message methods to get detailed information about
1158// the error.
1159//
1160// See the AWS API reference guide for AWS SecurityHub's
1161// API operation DeleteActionTarget for usage and error information.
1162//
1163// Returned Error Types:
1164//   * InternalException
1165//   Internal server error.
1166//
1167//   * InvalidInputException
1168//   The request was rejected because you supplied an invalid or out-of-range
1169//   value for an input parameter.
1170//
1171//   * InvalidAccessException
1172//   There is an issue with the account used to make the request. Either Security
1173//   Hub is not enabled for the account, or the account does not have permission
1174//   to perform this action.
1175//
1176//   * ResourceNotFoundException
1177//   The request was rejected because we can't find the specified resource.
1178//
1179// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteActionTarget
1180func (c *SecurityHub) DeleteActionTarget(input *DeleteActionTargetInput) (*DeleteActionTargetOutput, error) {
1181	req, out := c.DeleteActionTargetRequest(input)
1182	return out, req.Send()
1183}
1184
1185// DeleteActionTargetWithContext is the same as DeleteActionTarget with the addition of
1186// the ability to pass a context and additional request options.
1187//
1188// See DeleteActionTarget for details on how to use this API operation.
1189//
1190// The context must be non-nil and will be used for request cancellation. If
1191// the context is nil a panic will occur. In the future the SDK may create
1192// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1193// for more information on using Contexts.
1194func (c *SecurityHub) DeleteActionTargetWithContext(ctx aws.Context, input *DeleteActionTargetInput, opts ...request.Option) (*DeleteActionTargetOutput, error) {
1195	req, out := c.DeleteActionTargetRequest(input)
1196	req.SetContext(ctx)
1197	req.ApplyOptions(opts...)
1198	return out, req.Send()
1199}
1200
1201const opDeleteInsight = "DeleteInsight"
1202
1203// DeleteInsightRequest generates a "aws/request.Request" representing the
1204// client's request for the DeleteInsight operation. The "output" return
1205// value will be populated with the request's response once the request completes
1206// successfully.
1207//
1208// Use "Send" method on the returned Request to send the API call to the service.
1209// the "output" return value is not valid until after Send returns without error.
1210//
1211// See DeleteInsight for more information on using the DeleteInsight
1212// API call, and error handling.
1213//
1214// This method is useful when you want to inject custom logic or configuration
1215// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1216//
1217//
1218//    // Example sending a request using the DeleteInsightRequest method.
1219//    req, resp := client.DeleteInsightRequest(params)
1220//
1221//    err := req.Send()
1222//    if err == nil { // resp is now filled
1223//        fmt.Println(resp)
1224//    }
1225//
1226// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInsight
1227func (c *SecurityHub) DeleteInsightRequest(input *DeleteInsightInput) (req *request.Request, output *DeleteInsightOutput) {
1228	op := &request.Operation{
1229		Name:       opDeleteInsight,
1230		HTTPMethod: "DELETE",
1231		HTTPPath:   "/insights/{InsightArn+}",
1232	}
1233
1234	if input == nil {
1235		input = &DeleteInsightInput{}
1236	}
1237
1238	output = &DeleteInsightOutput{}
1239	req = c.newRequest(op, input, output)
1240	return
1241}
1242
1243// DeleteInsight API operation for AWS SecurityHub.
1244//
1245// Deletes the insight specified by the InsightArn.
1246//
1247// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1248// with awserr.Error's Code and Message methods to get detailed information about
1249// the error.
1250//
1251// See the AWS API reference guide for AWS SecurityHub's
1252// API operation DeleteInsight for usage and error information.
1253//
1254// Returned Error Types:
1255//   * InternalException
1256//   Internal server error.
1257//
1258//   * InvalidInputException
1259//   The request was rejected because you supplied an invalid or out-of-range
1260//   value for an input parameter.
1261//
1262//   * InvalidAccessException
1263//   There is an issue with the account used to make the request. Either Security
1264//   Hub is not enabled for the account, or the account does not have permission
1265//   to perform this action.
1266//
1267//   * LimitExceededException
1268//   The request was rejected because it attempted to create resources beyond
1269//   the current AWS account or throttling limits. The error code describes the
1270//   limit exceeded.
1271//
1272//   * ResourceNotFoundException
1273//   The request was rejected because we can't find the specified resource.
1274//
1275// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInsight
1276func (c *SecurityHub) DeleteInsight(input *DeleteInsightInput) (*DeleteInsightOutput, error) {
1277	req, out := c.DeleteInsightRequest(input)
1278	return out, req.Send()
1279}
1280
1281// DeleteInsightWithContext is the same as DeleteInsight with the addition of
1282// the ability to pass a context and additional request options.
1283//
1284// See DeleteInsight for details on how to use this API operation.
1285//
1286// The context must be non-nil and will be used for request cancellation. If
1287// the context is nil a panic will occur. In the future the SDK may create
1288// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1289// for more information on using Contexts.
1290func (c *SecurityHub) DeleteInsightWithContext(ctx aws.Context, input *DeleteInsightInput, opts ...request.Option) (*DeleteInsightOutput, error) {
1291	req, out := c.DeleteInsightRequest(input)
1292	req.SetContext(ctx)
1293	req.ApplyOptions(opts...)
1294	return out, req.Send()
1295}
1296
1297const opDeleteInvitations = "DeleteInvitations"
1298
1299// DeleteInvitationsRequest generates a "aws/request.Request" representing the
1300// client's request for the DeleteInvitations operation. The "output" return
1301// value will be populated with the request's response once the request completes
1302// successfully.
1303//
1304// Use "Send" method on the returned Request to send the API call to the service.
1305// the "output" return value is not valid until after Send returns without error.
1306//
1307// See DeleteInvitations for more information on using the DeleteInvitations
1308// API call, and error handling.
1309//
1310// This method is useful when you want to inject custom logic or configuration
1311// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1312//
1313//
1314//    // Example sending a request using the DeleteInvitationsRequest method.
1315//    req, resp := client.DeleteInvitationsRequest(params)
1316//
1317//    err := req.Send()
1318//    if err == nil { // resp is now filled
1319//        fmt.Println(resp)
1320//    }
1321//
1322// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInvitations
1323func (c *SecurityHub) DeleteInvitationsRequest(input *DeleteInvitationsInput) (req *request.Request, output *DeleteInvitationsOutput) {
1324	op := &request.Operation{
1325		Name:       opDeleteInvitations,
1326		HTTPMethod: "POST",
1327		HTTPPath:   "/invitations/delete",
1328	}
1329
1330	if input == nil {
1331		input = &DeleteInvitationsInput{}
1332	}
1333
1334	output = &DeleteInvitationsOutput{}
1335	req = c.newRequest(op, input, output)
1336	return
1337}
1338
1339// DeleteInvitations API operation for AWS SecurityHub.
1340//
1341// Deletes invitations received by the AWS account to become a member account.
1342//
1343// This operation is only used by accounts that are not part of an organization.
1344// Organization accounts do not receive invitations.
1345//
1346// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1347// with awserr.Error's Code and Message methods to get detailed information about
1348// the error.
1349//
1350// See the AWS API reference guide for AWS SecurityHub's
1351// API operation DeleteInvitations for usage and error information.
1352//
1353// Returned Error Types:
1354//   * InternalException
1355//   Internal server error.
1356//
1357//   * InvalidInputException
1358//   The request was rejected because you supplied an invalid or out-of-range
1359//   value for an input parameter.
1360//
1361//   * LimitExceededException
1362//   The request was rejected because it attempted to create resources beyond
1363//   the current AWS account or throttling limits. The error code describes the
1364//   limit exceeded.
1365//
1366//   * ResourceNotFoundException
1367//   The request was rejected because we can't find the specified resource.
1368//
1369//   * InvalidAccessException
1370//   There is an issue with the account used to make the request. Either Security
1371//   Hub is not enabled for the account, or the account does not have permission
1372//   to perform this action.
1373//
1374// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteInvitations
1375func (c *SecurityHub) DeleteInvitations(input *DeleteInvitationsInput) (*DeleteInvitationsOutput, error) {
1376	req, out := c.DeleteInvitationsRequest(input)
1377	return out, req.Send()
1378}
1379
1380// DeleteInvitationsWithContext is the same as DeleteInvitations with the addition of
1381// the ability to pass a context and additional request options.
1382//
1383// See DeleteInvitations for details on how to use this API operation.
1384//
1385// The context must be non-nil and will be used for request cancellation. If
1386// the context is nil a panic will occur. In the future the SDK may create
1387// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1388// for more information on using Contexts.
1389func (c *SecurityHub) DeleteInvitationsWithContext(ctx aws.Context, input *DeleteInvitationsInput, opts ...request.Option) (*DeleteInvitationsOutput, error) {
1390	req, out := c.DeleteInvitationsRequest(input)
1391	req.SetContext(ctx)
1392	req.ApplyOptions(opts...)
1393	return out, req.Send()
1394}
1395
1396const opDeleteMembers = "DeleteMembers"
1397
1398// DeleteMembersRequest generates a "aws/request.Request" representing the
1399// client's request for the DeleteMembers operation. The "output" return
1400// value will be populated with the request's response once the request completes
1401// successfully.
1402//
1403// Use "Send" method on the returned Request to send the API call to the service.
1404// the "output" return value is not valid until after Send returns without error.
1405//
1406// See DeleteMembers for more information on using the DeleteMembers
1407// API call, and error handling.
1408//
1409// This method is useful when you want to inject custom logic or configuration
1410// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1411//
1412//
1413//    // Example sending a request using the DeleteMembersRequest method.
1414//    req, resp := client.DeleteMembersRequest(params)
1415//
1416//    err := req.Send()
1417//    if err == nil { // resp is now filled
1418//        fmt.Println(resp)
1419//    }
1420//
1421// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteMembers
1422func (c *SecurityHub) DeleteMembersRequest(input *DeleteMembersInput) (req *request.Request, output *DeleteMembersOutput) {
1423	op := &request.Operation{
1424		Name:       opDeleteMembers,
1425		HTTPMethod: "POST",
1426		HTTPPath:   "/members/delete",
1427	}
1428
1429	if input == nil {
1430		input = &DeleteMembersInput{}
1431	}
1432
1433	output = &DeleteMembersOutput{}
1434	req = c.newRequest(op, input, output)
1435	return
1436}
1437
1438// DeleteMembers API operation for AWS SecurityHub.
1439//
1440// Deletes the specified member accounts from Security Hub.
1441//
1442// Can be used to delete member accounts that belong to an organization as well
1443// as member accounts that were invited manually.
1444//
1445// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1446// with awserr.Error's Code and Message methods to get detailed information about
1447// the error.
1448//
1449// See the AWS API reference guide for AWS SecurityHub's
1450// API operation DeleteMembers for usage and error information.
1451//
1452// Returned Error Types:
1453//   * InternalException
1454//   Internal server error.
1455//
1456//   * InvalidInputException
1457//   The request was rejected because you supplied an invalid or out-of-range
1458//   value for an input parameter.
1459//
1460//   * InvalidAccessException
1461//   There is an issue with the account used to make the request. Either Security
1462//   Hub is not enabled for the account, or the account does not have permission
1463//   to perform this action.
1464//
1465//   * LimitExceededException
1466//   The request was rejected because it attempted to create resources beyond
1467//   the current AWS account or throttling limits. The error code describes the
1468//   limit exceeded.
1469//
1470//   * ResourceNotFoundException
1471//   The request was rejected because we can't find the specified resource.
1472//
1473// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DeleteMembers
1474func (c *SecurityHub) DeleteMembers(input *DeleteMembersInput) (*DeleteMembersOutput, error) {
1475	req, out := c.DeleteMembersRequest(input)
1476	return out, req.Send()
1477}
1478
1479// DeleteMembersWithContext is the same as DeleteMembers with the addition of
1480// the ability to pass a context and additional request options.
1481//
1482// See DeleteMembers for details on how to use this API operation.
1483//
1484// The context must be non-nil and will be used for request cancellation. If
1485// the context is nil a panic will occur. In the future the SDK may create
1486// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1487// for more information on using Contexts.
1488func (c *SecurityHub) DeleteMembersWithContext(ctx aws.Context, input *DeleteMembersInput, opts ...request.Option) (*DeleteMembersOutput, error) {
1489	req, out := c.DeleteMembersRequest(input)
1490	req.SetContext(ctx)
1491	req.ApplyOptions(opts...)
1492	return out, req.Send()
1493}
1494
1495const opDescribeActionTargets = "DescribeActionTargets"
1496
1497// DescribeActionTargetsRequest generates a "aws/request.Request" representing the
1498// client's request for the DescribeActionTargets operation. The "output" return
1499// value will be populated with the request's response once the request completes
1500// successfully.
1501//
1502// Use "Send" method on the returned Request to send the API call to the service.
1503// the "output" return value is not valid until after Send returns without error.
1504//
1505// See DescribeActionTargets for more information on using the DescribeActionTargets
1506// API call, and error handling.
1507//
1508// This method is useful when you want to inject custom logic or configuration
1509// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1510//
1511//
1512//    // Example sending a request using the DescribeActionTargetsRequest method.
1513//    req, resp := client.DescribeActionTargetsRequest(params)
1514//
1515//    err := req.Send()
1516//    if err == nil { // resp is now filled
1517//        fmt.Println(resp)
1518//    }
1519//
1520// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeActionTargets
1521func (c *SecurityHub) DescribeActionTargetsRequest(input *DescribeActionTargetsInput) (req *request.Request, output *DescribeActionTargetsOutput) {
1522	op := &request.Operation{
1523		Name:       opDescribeActionTargets,
1524		HTTPMethod: "POST",
1525		HTTPPath:   "/actionTargets/get",
1526		Paginator: &request.Paginator{
1527			InputTokens:     []string{"NextToken"},
1528			OutputTokens:    []string{"NextToken"},
1529			LimitToken:      "MaxResults",
1530			TruncationToken: "",
1531		},
1532	}
1533
1534	if input == nil {
1535		input = &DescribeActionTargetsInput{}
1536	}
1537
1538	output = &DescribeActionTargetsOutput{}
1539	req = c.newRequest(op, input, output)
1540	return
1541}
1542
1543// DescribeActionTargets API operation for AWS SecurityHub.
1544//
1545// Returns a list of the custom action targets in Security Hub in your account.
1546//
1547// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1548// with awserr.Error's Code and Message methods to get detailed information about
1549// the error.
1550//
1551// See the AWS API reference guide for AWS SecurityHub's
1552// API operation DescribeActionTargets for usage and error information.
1553//
1554// Returned Error Types:
1555//   * InternalException
1556//   Internal server error.
1557//
1558//   * InvalidInputException
1559//   The request was rejected because you supplied an invalid or out-of-range
1560//   value for an input parameter.
1561//
1562//   * InvalidAccessException
1563//   There is an issue with the account used to make the request. Either Security
1564//   Hub is not enabled for the account, or the account does not have permission
1565//   to perform this action.
1566//
1567//   * ResourceNotFoundException
1568//   The request was rejected because we can't find the specified resource.
1569//
1570// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeActionTargets
1571func (c *SecurityHub) DescribeActionTargets(input *DescribeActionTargetsInput) (*DescribeActionTargetsOutput, error) {
1572	req, out := c.DescribeActionTargetsRequest(input)
1573	return out, req.Send()
1574}
1575
1576// DescribeActionTargetsWithContext is the same as DescribeActionTargets with the addition of
1577// the ability to pass a context and additional request options.
1578//
1579// See DescribeActionTargets for details on how to use this API operation.
1580//
1581// The context must be non-nil and will be used for request cancellation. If
1582// the context is nil a panic will occur. In the future the SDK may create
1583// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1584// for more information on using Contexts.
1585func (c *SecurityHub) DescribeActionTargetsWithContext(ctx aws.Context, input *DescribeActionTargetsInput, opts ...request.Option) (*DescribeActionTargetsOutput, error) {
1586	req, out := c.DescribeActionTargetsRequest(input)
1587	req.SetContext(ctx)
1588	req.ApplyOptions(opts...)
1589	return out, req.Send()
1590}
1591
1592// DescribeActionTargetsPages iterates over the pages of a DescribeActionTargets operation,
1593// calling the "fn" function with the response data for each page. To stop
1594// iterating, return false from the fn function.
1595//
1596// See DescribeActionTargets method for more information on how to use this operation.
1597//
1598// Note: This operation can generate multiple requests to a service.
1599//
1600//    // Example iterating over at most 3 pages of a DescribeActionTargets operation.
1601//    pageNum := 0
1602//    err := client.DescribeActionTargetsPages(params,
1603//        func(page *securityhub.DescribeActionTargetsOutput, lastPage bool) bool {
1604//            pageNum++
1605//            fmt.Println(page)
1606//            return pageNum <= 3
1607//        })
1608//
1609func (c *SecurityHub) DescribeActionTargetsPages(input *DescribeActionTargetsInput, fn func(*DescribeActionTargetsOutput, bool) bool) error {
1610	return c.DescribeActionTargetsPagesWithContext(aws.BackgroundContext(), input, fn)
1611}
1612
1613// DescribeActionTargetsPagesWithContext same as DescribeActionTargetsPages except
1614// it takes a Context and allows setting request options on the pages.
1615//
1616// The context must be non-nil and will be used for request cancellation. If
1617// the context is nil a panic will occur. In the future the SDK may create
1618// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1619// for more information on using Contexts.
1620func (c *SecurityHub) DescribeActionTargetsPagesWithContext(ctx aws.Context, input *DescribeActionTargetsInput, fn func(*DescribeActionTargetsOutput, bool) bool, opts ...request.Option) error {
1621	p := request.Pagination{
1622		NewRequest: func() (*request.Request, error) {
1623			var inCpy *DescribeActionTargetsInput
1624			if input != nil {
1625				tmp := *input
1626				inCpy = &tmp
1627			}
1628			req, _ := c.DescribeActionTargetsRequest(inCpy)
1629			req.SetContext(ctx)
1630			req.ApplyOptions(opts...)
1631			return req, nil
1632		},
1633	}
1634
1635	for p.Next() {
1636		if !fn(p.Page().(*DescribeActionTargetsOutput), !p.HasNextPage()) {
1637			break
1638		}
1639	}
1640
1641	return p.Err()
1642}
1643
1644const opDescribeHub = "DescribeHub"
1645
1646// DescribeHubRequest generates a "aws/request.Request" representing the
1647// client's request for the DescribeHub operation. The "output" return
1648// value will be populated with the request's response once the request completes
1649// successfully.
1650//
1651// Use "Send" method on the returned Request to send the API call to the service.
1652// the "output" return value is not valid until after Send returns without error.
1653//
1654// See DescribeHub for more information on using the DescribeHub
1655// API call, and error handling.
1656//
1657// This method is useful when you want to inject custom logic or configuration
1658// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1659//
1660//
1661//    // Example sending a request using the DescribeHubRequest method.
1662//    req, resp := client.DescribeHubRequest(params)
1663//
1664//    err := req.Send()
1665//    if err == nil { // resp is now filled
1666//        fmt.Println(resp)
1667//    }
1668//
1669// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeHub
1670func (c *SecurityHub) DescribeHubRequest(input *DescribeHubInput) (req *request.Request, output *DescribeHubOutput) {
1671	op := &request.Operation{
1672		Name:       opDescribeHub,
1673		HTTPMethod: "GET",
1674		HTTPPath:   "/accounts",
1675	}
1676
1677	if input == nil {
1678		input = &DescribeHubInput{}
1679	}
1680
1681	output = &DescribeHubOutput{}
1682	req = c.newRequest(op, input, output)
1683	return
1684}
1685
1686// DescribeHub API operation for AWS SecurityHub.
1687//
1688// Returns details about the Hub resource in your account, including the HubArn
1689// and the time when you enabled Security Hub.
1690//
1691// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1692// with awserr.Error's Code and Message methods to get detailed information about
1693// the error.
1694//
1695// See the AWS API reference guide for AWS SecurityHub's
1696// API operation DescribeHub for usage and error information.
1697//
1698// Returned Error Types:
1699//   * InternalException
1700//   Internal server error.
1701//
1702//   * LimitExceededException
1703//   The request was rejected because it attempted to create resources beyond
1704//   the current AWS account or throttling limits. The error code describes the
1705//   limit exceeded.
1706//
1707//   * InvalidAccessException
1708//   There is an issue with the account used to make the request. Either Security
1709//   Hub is not enabled for the account, or the account does not have permission
1710//   to perform this action.
1711//
1712//   * InvalidInputException
1713//   The request was rejected because you supplied an invalid or out-of-range
1714//   value for an input parameter.
1715//
1716//   * ResourceNotFoundException
1717//   The request was rejected because we can't find the specified resource.
1718//
1719// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeHub
1720func (c *SecurityHub) DescribeHub(input *DescribeHubInput) (*DescribeHubOutput, error) {
1721	req, out := c.DescribeHubRequest(input)
1722	return out, req.Send()
1723}
1724
1725// DescribeHubWithContext is the same as DescribeHub with the addition of
1726// the ability to pass a context and additional request options.
1727//
1728// See DescribeHub for details on how to use this API operation.
1729//
1730// The context must be non-nil and will be used for request cancellation. If
1731// the context is nil a panic will occur. In the future the SDK may create
1732// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1733// for more information on using Contexts.
1734func (c *SecurityHub) DescribeHubWithContext(ctx aws.Context, input *DescribeHubInput, opts ...request.Option) (*DescribeHubOutput, error) {
1735	req, out := c.DescribeHubRequest(input)
1736	req.SetContext(ctx)
1737	req.ApplyOptions(opts...)
1738	return out, req.Send()
1739}
1740
1741const opDescribeOrganizationConfiguration = "DescribeOrganizationConfiguration"
1742
1743// DescribeOrganizationConfigurationRequest generates a "aws/request.Request" representing the
1744// client's request for the DescribeOrganizationConfiguration operation. The "output" return
1745// value will be populated with the request's response once the request completes
1746// successfully.
1747//
1748// Use "Send" method on the returned Request to send the API call to the service.
1749// the "output" return value is not valid until after Send returns without error.
1750//
1751// See DescribeOrganizationConfiguration for more information on using the DescribeOrganizationConfiguration
1752// API call, and error handling.
1753//
1754// This method is useful when you want to inject custom logic or configuration
1755// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1756//
1757//
1758//    // Example sending a request using the DescribeOrganizationConfigurationRequest method.
1759//    req, resp := client.DescribeOrganizationConfigurationRequest(params)
1760//
1761//    err := req.Send()
1762//    if err == nil { // resp is now filled
1763//        fmt.Println(resp)
1764//    }
1765//
1766// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeOrganizationConfiguration
1767func (c *SecurityHub) DescribeOrganizationConfigurationRequest(input *DescribeOrganizationConfigurationInput) (req *request.Request, output *DescribeOrganizationConfigurationOutput) {
1768	op := &request.Operation{
1769		Name:       opDescribeOrganizationConfiguration,
1770		HTTPMethod: "GET",
1771		HTTPPath:   "/organization/configuration",
1772	}
1773
1774	if input == nil {
1775		input = &DescribeOrganizationConfigurationInput{}
1776	}
1777
1778	output = &DescribeOrganizationConfigurationOutput{}
1779	req = c.newRequest(op, input, output)
1780	return
1781}
1782
1783// DescribeOrganizationConfiguration API operation for AWS SecurityHub.
1784//
1785// Returns information about the Organizations configuration for Security Hub.
1786// Can only be called from a Security Hub administrator account.
1787//
1788// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1789// with awserr.Error's Code and Message methods to get detailed information about
1790// the error.
1791//
1792// See the AWS API reference guide for AWS SecurityHub's
1793// API operation DescribeOrganizationConfiguration for usage and error information.
1794//
1795// Returned Error Types:
1796//   * InternalException
1797//   Internal server error.
1798//
1799//   * InvalidInputException
1800//   The request was rejected because you supplied an invalid or out-of-range
1801//   value for an input parameter.
1802//
1803//   * InvalidAccessException
1804//   There is an issue with the account used to make the request. Either Security
1805//   Hub is not enabled for the account, or the account does not have permission
1806//   to perform this action.
1807//
1808//   * LimitExceededException
1809//   The request was rejected because it attempted to create resources beyond
1810//   the current AWS account or throttling limits. The error code describes the
1811//   limit exceeded.
1812//
1813// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeOrganizationConfiguration
1814func (c *SecurityHub) DescribeOrganizationConfiguration(input *DescribeOrganizationConfigurationInput) (*DescribeOrganizationConfigurationOutput, error) {
1815	req, out := c.DescribeOrganizationConfigurationRequest(input)
1816	return out, req.Send()
1817}
1818
1819// DescribeOrganizationConfigurationWithContext is the same as DescribeOrganizationConfiguration with the addition of
1820// the ability to pass a context and additional request options.
1821//
1822// See DescribeOrganizationConfiguration for details on how to use this API operation.
1823//
1824// The context must be non-nil and will be used for request cancellation. If
1825// the context is nil a panic will occur. In the future the SDK may create
1826// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1827// for more information on using Contexts.
1828func (c *SecurityHub) DescribeOrganizationConfigurationWithContext(ctx aws.Context, input *DescribeOrganizationConfigurationInput, opts ...request.Option) (*DescribeOrganizationConfigurationOutput, error) {
1829	req, out := c.DescribeOrganizationConfigurationRequest(input)
1830	req.SetContext(ctx)
1831	req.ApplyOptions(opts...)
1832	return out, req.Send()
1833}
1834
1835const opDescribeProducts = "DescribeProducts"
1836
1837// DescribeProductsRequest generates a "aws/request.Request" representing the
1838// client's request for the DescribeProducts operation. The "output" return
1839// value will be populated with the request's response once the request completes
1840// successfully.
1841//
1842// Use "Send" method on the returned Request to send the API call to the service.
1843// the "output" return value is not valid until after Send returns without error.
1844//
1845// See DescribeProducts for more information on using the DescribeProducts
1846// API call, and error handling.
1847//
1848// This method is useful when you want to inject custom logic or configuration
1849// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1850//
1851//
1852//    // Example sending a request using the DescribeProductsRequest method.
1853//    req, resp := client.DescribeProductsRequest(params)
1854//
1855//    err := req.Send()
1856//    if err == nil { // resp is now filled
1857//        fmt.Println(resp)
1858//    }
1859//
1860// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeProducts
1861func (c *SecurityHub) DescribeProductsRequest(input *DescribeProductsInput) (req *request.Request, output *DescribeProductsOutput) {
1862	op := &request.Operation{
1863		Name:       opDescribeProducts,
1864		HTTPMethod: "GET",
1865		HTTPPath:   "/products",
1866		Paginator: &request.Paginator{
1867			InputTokens:     []string{"NextToken"},
1868			OutputTokens:    []string{"NextToken"},
1869			LimitToken:      "MaxResults",
1870			TruncationToken: "",
1871		},
1872	}
1873
1874	if input == nil {
1875		input = &DescribeProductsInput{}
1876	}
1877
1878	output = &DescribeProductsOutput{}
1879	req = c.newRequest(op, input, output)
1880	return
1881}
1882
1883// DescribeProducts API operation for AWS SecurityHub.
1884//
1885// Returns information about product integrations in Security Hub.
1886//
1887// You can optionally provide an integration ARN. If you provide an integration
1888// ARN, then the results only include that integration.
1889//
1890// If you do not provide an integration ARN, then the results include all of
1891// the available product integrations.
1892//
1893// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1894// with awserr.Error's Code and Message methods to get detailed information about
1895// the error.
1896//
1897// See the AWS API reference guide for AWS SecurityHub's
1898// API operation DescribeProducts for usage and error information.
1899//
1900// Returned Error Types:
1901//   * InternalException
1902//   Internal server error.
1903//
1904//   * LimitExceededException
1905//   The request was rejected because it attempted to create resources beyond
1906//   the current AWS account or throttling limits. The error code describes the
1907//   limit exceeded.
1908//
1909//   * InvalidAccessException
1910//   There is an issue with the account used to make the request. Either Security
1911//   Hub is not enabled for the account, or the account does not have permission
1912//   to perform this action.
1913//
1914//   * InvalidInputException
1915//   The request was rejected because you supplied an invalid or out-of-range
1916//   value for an input parameter.
1917//
1918// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeProducts
1919func (c *SecurityHub) DescribeProducts(input *DescribeProductsInput) (*DescribeProductsOutput, error) {
1920	req, out := c.DescribeProductsRequest(input)
1921	return out, req.Send()
1922}
1923
1924// DescribeProductsWithContext is the same as DescribeProducts with the addition of
1925// the ability to pass a context and additional request options.
1926//
1927// See DescribeProducts for details on how to use this API operation.
1928//
1929// The context must be non-nil and will be used for request cancellation. If
1930// the context is nil a panic will occur. In the future the SDK may create
1931// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1932// for more information on using Contexts.
1933func (c *SecurityHub) DescribeProductsWithContext(ctx aws.Context, input *DescribeProductsInput, opts ...request.Option) (*DescribeProductsOutput, error) {
1934	req, out := c.DescribeProductsRequest(input)
1935	req.SetContext(ctx)
1936	req.ApplyOptions(opts...)
1937	return out, req.Send()
1938}
1939
1940// DescribeProductsPages iterates over the pages of a DescribeProducts operation,
1941// calling the "fn" function with the response data for each page. To stop
1942// iterating, return false from the fn function.
1943//
1944// See DescribeProducts method for more information on how to use this operation.
1945//
1946// Note: This operation can generate multiple requests to a service.
1947//
1948//    // Example iterating over at most 3 pages of a DescribeProducts operation.
1949//    pageNum := 0
1950//    err := client.DescribeProductsPages(params,
1951//        func(page *securityhub.DescribeProductsOutput, lastPage bool) bool {
1952//            pageNum++
1953//            fmt.Println(page)
1954//            return pageNum <= 3
1955//        })
1956//
1957func (c *SecurityHub) DescribeProductsPages(input *DescribeProductsInput, fn func(*DescribeProductsOutput, bool) bool) error {
1958	return c.DescribeProductsPagesWithContext(aws.BackgroundContext(), input, fn)
1959}
1960
1961// DescribeProductsPagesWithContext same as DescribeProductsPages except
1962// it takes a Context and allows setting request options on the pages.
1963//
1964// The context must be non-nil and will be used for request cancellation. If
1965// the context is nil a panic will occur. In the future the SDK may create
1966// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1967// for more information on using Contexts.
1968func (c *SecurityHub) DescribeProductsPagesWithContext(ctx aws.Context, input *DescribeProductsInput, fn func(*DescribeProductsOutput, bool) bool, opts ...request.Option) error {
1969	p := request.Pagination{
1970		NewRequest: func() (*request.Request, error) {
1971			var inCpy *DescribeProductsInput
1972			if input != nil {
1973				tmp := *input
1974				inCpy = &tmp
1975			}
1976			req, _ := c.DescribeProductsRequest(inCpy)
1977			req.SetContext(ctx)
1978			req.ApplyOptions(opts...)
1979			return req, nil
1980		},
1981	}
1982
1983	for p.Next() {
1984		if !fn(p.Page().(*DescribeProductsOutput), !p.HasNextPage()) {
1985			break
1986		}
1987	}
1988
1989	return p.Err()
1990}
1991
1992const opDescribeStandards = "DescribeStandards"
1993
1994// DescribeStandardsRequest generates a "aws/request.Request" representing the
1995// client's request for the DescribeStandards operation. The "output" return
1996// value will be populated with the request's response once the request completes
1997// successfully.
1998//
1999// Use "Send" method on the returned Request to send the API call to the service.
2000// the "output" return value is not valid until after Send returns without error.
2001//
2002// See DescribeStandards for more information on using the DescribeStandards
2003// API call, and error handling.
2004//
2005// This method is useful when you want to inject custom logic or configuration
2006// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2007//
2008//
2009//    // Example sending a request using the DescribeStandardsRequest method.
2010//    req, resp := client.DescribeStandardsRequest(params)
2011//
2012//    err := req.Send()
2013//    if err == nil { // resp is now filled
2014//        fmt.Println(resp)
2015//    }
2016//
2017// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandards
2018func (c *SecurityHub) DescribeStandardsRequest(input *DescribeStandardsInput) (req *request.Request, output *DescribeStandardsOutput) {
2019	op := &request.Operation{
2020		Name:       opDescribeStandards,
2021		HTTPMethod: "GET",
2022		HTTPPath:   "/standards",
2023		Paginator: &request.Paginator{
2024			InputTokens:     []string{"NextToken"},
2025			OutputTokens:    []string{"NextToken"},
2026			LimitToken:      "MaxResults",
2027			TruncationToken: "",
2028		},
2029	}
2030
2031	if input == nil {
2032		input = &DescribeStandardsInput{}
2033	}
2034
2035	output = &DescribeStandardsOutput{}
2036	req = c.newRequest(op, input, output)
2037	return
2038}
2039
2040// DescribeStandards API operation for AWS SecurityHub.
2041//
2042// Returns a list of the available standards in Security Hub.
2043//
2044// For each standard, the results include the standard ARN, the name, and a
2045// description.
2046//
2047// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2048// with awserr.Error's Code and Message methods to get detailed information about
2049// the error.
2050//
2051// See the AWS API reference guide for AWS SecurityHub's
2052// API operation DescribeStandards for usage and error information.
2053//
2054// Returned Error Types:
2055//   * InternalException
2056//   Internal server error.
2057//
2058//   * InvalidInputException
2059//   The request was rejected because you supplied an invalid or out-of-range
2060//   value for an input parameter.
2061//
2062//   * InvalidAccessException
2063//   There is an issue with the account used to make the request. Either Security
2064//   Hub is not enabled for the account, or the account does not have permission
2065//   to perform this action.
2066//
2067// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandards
2068func (c *SecurityHub) DescribeStandards(input *DescribeStandardsInput) (*DescribeStandardsOutput, error) {
2069	req, out := c.DescribeStandardsRequest(input)
2070	return out, req.Send()
2071}
2072
2073// DescribeStandardsWithContext is the same as DescribeStandards with the addition of
2074// the ability to pass a context and additional request options.
2075//
2076// See DescribeStandards for details on how to use this API operation.
2077//
2078// The context must be non-nil and will be used for request cancellation. If
2079// the context is nil a panic will occur. In the future the SDK may create
2080// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2081// for more information on using Contexts.
2082func (c *SecurityHub) DescribeStandardsWithContext(ctx aws.Context, input *DescribeStandardsInput, opts ...request.Option) (*DescribeStandardsOutput, error) {
2083	req, out := c.DescribeStandardsRequest(input)
2084	req.SetContext(ctx)
2085	req.ApplyOptions(opts...)
2086	return out, req.Send()
2087}
2088
2089// DescribeStandardsPages iterates over the pages of a DescribeStandards operation,
2090// calling the "fn" function with the response data for each page. To stop
2091// iterating, return false from the fn function.
2092//
2093// See DescribeStandards method for more information on how to use this operation.
2094//
2095// Note: This operation can generate multiple requests to a service.
2096//
2097//    // Example iterating over at most 3 pages of a DescribeStandards operation.
2098//    pageNum := 0
2099//    err := client.DescribeStandardsPages(params,
2100//        func(page *securityhub.DescribeStandardsOutput, lastPage bool) bool {
2101//            pageNum++
2102//            fmt.Println(page)
2103//            return pageNum <= 3
2104//        })
2105//
2106func (c *SecurityHub) DescribeStandardsPages(input *DescribeStandardsInput, fn func(*DescribeStandardsOutput, bool) bool) error {
2107	return c.DescribeStandardsPagesWithContext(aws.BackgroundContext(), input, fn)
2108}
2109
2110// DescribeStandardsPagesWithContext same as DescribeStandardsPages except
2111// it takes a Context and allows setting request options on the pages.
2112//
2113// The context must be non-nil and will be used for request cancellation. If
2114// the context is nil a panic will occur. In the future the SDK may create
2115// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2116// for more information on using Contexts.
2117func (c *SecurityHub) DescribeStandardsPagesWithContext(ctx aws.Context, input *DescribeStandardsInput, fn func(*DescribeStandardsOutput, bool) bool, opts ...request.Option) error {
2118	p := request.Pagination{
2119		NewRequest: func() (*request.Request, error) {
2120			var inCpy *DescribeStandardsInput
2121			if input != nil {
2122				tmp := *input
2123				inCpy = &tmp
2124			}
2125			req, _ := c.DescribeStandardsRequest(inCpy)
2126			req.SetContext(ctx)
2127			req.ApplyOptions(opts...)
2128			return req, nil
2129		},
2130	}
2131
2132	for p.Next() {
2133		if !fn(p.Page().(*DescribeStandardsOutput), !p.HasNextPage()) {
2134			break
2135		}
2136	}
2137
2138	return p.Err()
2139}
2140
2141const opDescribeStandardsControls = "DescribeStandardsControls"
2142
2143// DescribeStandardsControlsRequest generates a "aws/request.Request" representing the
2144// client's request for the DescribeStandardsControls operation. The "output" return
2145// value will be populated with the request's response once the request completes
2146// successfully.
2147//
2148// Use "Send" method on the returned Request to send the API call to the service.
2149// the "output" return value is not valid until after Send returns without error.
2150//
2151// See DescribeStandardsControls for more information on using the DescribeStandardsControls
2152// API call, and error handling.
2153//
2154// This method is useful when you want to inject custom logic or configuration
2155// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2156//
2157//
2158//    // Example sending a request using the DescribeStandardsControlsRequest method.
2159//    req, resp := client.DescribeStandardsControlsRequest(params)
2160//
2161//    err := req.Send()
2162//    if err == nil { // resp is now filled
2163//        fmt.Println(resp)
2164//    }
2165//
2166// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandardsControls
2167func (c *SecurityHub) DescribeStandardsControlsRequest(input *DescribeStandardsControlsInput) (req *request.Request, output *DescribeStandardsControlsOutput) {
2168	op := &request.Operation{
2169		Name:       opDescribeStandardsControls,
2170		HTTPMethod: "GET",
2171		HTTPPath:   "/standards/controls/{StandardsSubscriptionArn+}",
2172		Paginator: &request.Paginator{
2173			InputTokens:     []string{"NextToken"},
2174			OutputTokens:    []string{"NextToken"},
2175			LimitToken:      "MaxResults",
2176			TruncationToken: "",
2177		},
2178	}
2179
2180	if input == nil {
2181		input = &DescribeStandardsControlsInput{}
2182	}
2183
2184	output = &DescribeStandardsControlsOutput{}
2185	req = c.newRequest(op, input, output)
2186	return
2187}
2188
2189// DescribeStandardsControls API operation for AWS SecurityHub.
2190//
2191// Returns a list of security standards controls.
2192//
2193// For each control, the results include information about whether it is currently
2194// enabled, the severity, and a link to remediation information.
2195//
2196// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2197// with awserr.Error's Code and Message methods to get detailed information about
2198// the error.
2199//
2200// See the AWS API reference guide for AWS SecurityHub's
2201// API operation DescribeStandardsControls for usage and error information.
2202//
2203// Returned Error Types:
2204//   * InternalException
2205//   Internal server error.
2206//
2207//   * InvalidInputException
2208//   The request was rejected because you supplied an invalid or out-of-range
2209//   value for an input parameter.
2210//
2211//   * InvalidAccessException
2212//   There is an issue with the account used to make the request. Either Security
2213//   Hub is not enabled for the account, or the account does not have permission
2214//   to perform this action.
2215//
2216//   * ResourceNotFoundException
2217//   The request was rejected because we can't find the specified resource.
2218//
2219// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DescribeStandardsControls
2220func (c *SecurityHub) DescribeStandardsControls(input *DescribeStandardsControlsInput) (*DescribeStandardsControlsOutput, error) {
2221	req, out := c.DescribeStandardsControlsRequest(input)
2222	return out, req.Send()
2223}
2224
2225// DescribeStandardsControlsWithContext is the same as DescribeStandardsControls with the addition of
2226// the ability to pass a context and additional request options.
2227//
2228// See DescribeStandardsControls for details on how to use this API operation.
2229//
2230// The context must be non-nil and will be used for request cancellation. If
2231// the context is nil a panic will occur. In the future the SDK may create
2232// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2233// for more information on using Contexts.
2234func (c *SecurityHub) DescribeStandardsControlsWithContext(ctx aws.Context, input *DescribeStandardsControlsInput, opts ...request.Option) (*DescribeStandardsControlsOutput, error) {
2235	req, out := c.DescribeStandardsControlsRequest(input)
2236	req.SetContext(ctx)
2237	req.ApplyOptions(opts...)
2238	return out, req.Send()
2239}
2240
2241// DescribeStandardsControlsPages iterates over the pages of a DescribeStandardsControls operation,
2242// calling the "fn" function with the response data for each page. To stop
2243// iterating, return false from the fn function.
2244//
2245// See DescribeStandardsControls method for more information on how to use this operation.
2246//
2247// Note: This operation can generate multiple requests to a service.
2248//
2249//    // Example iterating over at most 3 pages of a DescribeStandardsControls operation.
2250//    pageNum := 0
2251//    err := client.DescribeStandardsControlsPages(params,
2252//        func(page *securityhub.DescribeStandardsControlsOutput, lastPage bool) bool {
2253//            pageNum++
2254//            fmt.Println(page)
2255//            return pageNum <= 3
2256//        })
2257//
2258func (c *SecurityHub) DescribeStandardsControlsPages(input *DescribeStandardsControlsInput, fn func(*DescribeStandardsControlsOutput, bool) bool) error {
2259	return c.DescribeStandardsControlsPagesWithContext(aws.BackgroundContext(), input, fn)
2260}
2261
2262// DescribeStandardsControlsPagesWithContext same as DescribeStandardsControlsPages except
2263// it takes a Context and allows setting request options on the pages.
2264//
2265// The context must be non-nil and will be used for request cancellation. If
2266// the context is nil a panic will occur. In the future the SDK may create
2267// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2268// for more information on using Contexts.
2269func (c *SecurityHub) DescribeStandardsControlsPagesWithContext(ctx aws.Context, input *DescribeStandardsControlsInput, fn func(*DescribeStandardsControlsOutput, bool) bool, opts ...request.Option) error {
2270	p := request.Pagination{
2271		NewRequest: func() (*request.Request, error) {
2272			var inCpy *DescribeStandardsControlsInput
2273			if input != nil {
2274				tmp := *input
2275				inCpy = &tmp
2276			}
2277			req, _ := c.DescribeStandardsControlsRequest(inCpy)
2278			req.SetContext(ctx)
2279			req.ApplyOptions(opts...)
2280			return req, nil
2281		},
2282	}
2283
2284	for p.Next() {
2285		if !fn(p.Page().(*DescribeStandardsControlsOutput), !p.HasNextPage()) {
2286			break
2287		}
2288	}
2289
2290	return p.Err()
2291}
2292
2293const opDisableImportFindingsForProduct = "DisableImportFindingsForProduct"
2294
2295// DisableImportFindingsForProductRequest generates a "aws/request.Request" representing the
2296// client's request for the DisableImportFindingsForProduct operation. The "output" return
2297// value will be populated with the request's response once the request completes
2298// successfully.
2299//
2300// Use "Send" method on the returned Request to send the API call to the service.
2301// the "output" return value is not valid until after Send returns without error.
2302//
2303// See DisableImportFindingsForProduct for more information on using the DisableImportFindingsForProduct
2304// API call, and error handling.
2305//
2306// This method is useful when you want to inject custom logic or configuration
2307// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2308//
2309//
2310//    // Example sending a request using the DisableImportFindingsForProductRequest method.
2311//    req, resp := client.DisableImportFindingsForProductRequest(params)
2312//
2313//    err := req.Send()
2314//    if err == nil { // resp is now filled
2315//        fmt.Println(resp)
2316//    }
2317//
2318// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableImportFindingsForProduct
2319func (c *SecurityHub) DisableImportFindingsForProductRequest(input *DisableImportFindingsForProductInput) (req *request.Request, output *DisableImportFindingsForProductOutput) {
2320	op := &request.Operation{
2321		Name:       opDisableImportFindingsForProduct,
2322		HTTPMethod: "DELETE",
2323		HTTPPath:   "/productSubscriptions/{ProductSubscriptionArn+}",
2324	}
2325
2326	if input == nil {
2327		input = &DisableImportFindingsForProductInput{}
2328	}
2329
2330	output = &DisableImportFindingsForProductOutput{}
2331	req = c.newRequest(op, input, output)
2332	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2333	return
2334}
2335
2336// DisableImportFindingsForProduct API operation for AWS SecurityHub.
2337//
2338// Disables the integration of the specified product with Security Hub. After
2339// the integration is disabled, findings from that product are no longer sent
2340// to Security Hub.
2341//
2342// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2343// with awserr.Error's Code and Message methods to get detailed information about
2344// the error.
2345//
2346// See the AWS API reference guide for AWS SecurityHub's
2347// API operation DisableImportFindingsForProduct for usage and error information.
2348//
2349// Returned Error Types:
2350//   * InternalException
2351//   Internal server error.
2352//
2353//   * InvalidInputException
2354//   The request was rejected because you supplied an invalid or out-of-range
2355//   value for an input parameter.
2356//
2357//   * ResourceNotFoundException
2358//   The request was rejected because we can't find the specified resource.
2359//
2360//   * InvalidAccessException
2361//   There is an issue with the account used to make the request. Either Security
2362//   Hub is not enabled for the account, or the account does not have permission
2363//   to perform this action.
2364//
2365//   * LimitExceededException
2366//   The request was rejected because it attempted to create resources beyond
2367//   the current AWS account or throttling limits. The error code describes the
2368//   limit exceeded.
2369//
2370// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableImportFindingsForProduct
2371func (c *SecurityHub) DisableImportFindingsForProduct(input *DisableImportFindingsForProductInput) (*DisableImportFindingsForProductOutput, error) {
2372	req, out := c.DisableImportFindingsForProductRequest(input)
2373	return out, req.Send()
2374}
2375
2376// DisableImportFindingsForProductWithContext is the same as DisableImportFindingsForProduct with the addition of
2377// the ability to pass a context and additional request options.
2378//
2379// See DisableImportFindingsForProduct for details on how to use this API operation.
2380//
2381// The context must be non-nil and will be used for request cancellation. If
2382// the context is nil a panic will occur. In the future the SDK may create
2383// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2384// for more information on using Contexts.
2385func (c *SecurityHub) DisableImportFindingsForProductWithContext(ctx aws.Context, input *DisableImportFindingsForProductInput, opts ...request.Option) (*DisableImportFindingsForProductOutput, error) {
2386	req, out := c.DisableImportFindingsForProductRequest(input)
2387	req.SetContext(ctx)
2388	req.ApplyOptions(opts...)
2389	return out, req.Send()
2390}
2391
2392const opDisableOrganizationAdminAccount = "DisableOrganizationAdminAccount"
2393
2394// DisableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
2395// client's request for the DisableOrganizationAdminAccount operation. The "output" return
2396// value will be populated with the request's response once the request completes
2397// successfully.
2398//
2399// Use "Send" method on the returned Request to send the API call to the service.
2400// the "output" return value is not valid until after Send returns without error.
2401//
2402// See DisableOrganizationAdminAccount for more information on using the DisableOrganizationAdminAccount
2403// API call, and error handling.
2404//
2405// This method is useful when you want to inject custom logic or configuration
2406// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2407//
2408//
2409//    // Example sending a request using the DisableOrganizationAdminAccountRequest method.
2410//    req, resp := client.DisableOrganizationAdminAccountRequest(params)
2411//
2412//    err := req.Send()
2413//    if err == nil { // resp is now filled
2414//        fmt.Println(resp)
2415//    }
2416//
2417// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableOrganizationAdminAccount
2418func (c *SecurityHub) DisableOrganizationAdminAccountRequest(input *DisableOrganizationAdminAccountInput) (req *request.Request, output *DisableOrganizationAdminAccountOutput) {
2419	op := &request.Operation{
2420		Name:       opDisableOrganizationAdminAccount,
2421		HTTPMethod: "POST",
2422		HTTPPath:   "/organization/admin/disable",
2423	}
2424
2425	if input == nil {
2426		input = &DisableOrganizationAdminAccountInput{}
2427	}
2428
2429	output = &DisableOrganizationAdminAccountOutput{}
2430	req = c.newRequest(op, input, output)
2431	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2432	return
2433}
2434
2435// DisableOrganizationAdminAccount API operation for AWS SecurityHub.
2436//
2437// Disables a Security Hub administrator account. Can only be called by the
2438// organization management account.
2439//
2440// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2441// with awserr.Error's Code and Message methods to get detailed information about
2442// the error.
2443//
2444// See the AWS API reference guide for AWS SecurityHub's
2445// API operation DisableOrganizationAdminAccount for usage and error information.
2446//
2447// Returned Error Types:
2448//   * InternalException
2449//   Internal server error.
2450//
2451//   * InvalidInputException
2452//   The request was rejected because you supplied an invalid or out-of-range
2453//   value for an input parameter.
2454//
2455//   * InvalidAccessException
2456//   There is an issue with the account used to make the request. Either Security
2457//   Hub is not enabled for the account, or the account does not have permission
2458//   to perform this action.
2459//
2460//   * LimitExceededException
2461//   The request was rejected because it attempted to create resources beyond
2462//   the current AWS account or throttling limits. The error code describes the
2463//   limit exceeded.
2464//
2465// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableOrganizationAdminAccount
2466func (c *SecurityHub) DisableOrganizationAdminAccount(input *DisableOrganizationAdminAccountInput) (*DisableOrganizationAdminAccountOutput, error) {
2467	req, out := c.DisableOrganizationAdminAccountRequest(input)
2468	return out, req.Send()
2469}
2470
2471// DisableOrganizationAdminAccountWithContext is the same as DisableOrganizationAdminAccount with the addition of
2472// the ability to pass a context and additional request options.
2473//
2474// See DisableOrganizationAdminAccount for details on how to use this API operation.
2475//
2476// The context must be non-nil and will be used for request cancellation. If
2477// the context is nil a panic will occur. In the future the SDK may create
2478// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2479// for more information on using Contexts.
2480func (c *SecurityHub) DisableOrganizationAdminAccountWithContext(ctx aws.Context, input *DisableOrganizationAdminAccountInput, opts ...request.Option) (*DisableOrganizationAdminAccountOutput, error) {
2481	req, out := c.DisableOrganizationAdminAccountRequest(input)
2482	req.SetContext(ctx)
2483	req.ApplyOptions(opts...)
2484	return out, req.Send()
2485}
2486
2487const opDisableSecurityHub = "DisableSecurityHub"
2488
2489// DisableSecurityHubRequest generates a "aws/request.Request" representing the
2490// client's request for the DisableSecurityHub operation. The "output" return
2491// value will be populated with the request's response once the request completes
2492// successfully.
2493//
2494// Use "Send" method on the returned Request to send the API call to the service.
2495// the "output" return value is not valid until after Send returns without error.
2496//
2497// See DisableSecurityHub for more information on using the DisableSecurityHub
2498// API call, and error handling.
2499//
2500// This method is useful when you want to inject custom logic or configuration
2501// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2502//
2503//
2504//    // Example sending a request using the DisableSecurityHubRequest method.
2505//    req, resp := client.DisableSecurityHubRequest(params)
2506//
2507//    err := req.Send()
2508//    if err == nil { // resp is now filled
2509//        fmt.Println(resp)
2510//    }
2511//
2512// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableSecurityHub
2513func (c *SecurityHub) DisableSecurityHubRequest(input *DisableSecurityHubInput) (req *request.Request, output *DisableSecurityHubOutput) {
2514	op := &request.Operation{
2515		Name:       opDisableSecurityHub,
2516		HTTPMethod: "DELETE",
2517		HTTPPath:   "/accounts",
2518	}
2519
2520	if input == nil {
2521		input = &DisableSecurityHubInput{}
2522	}
2523
2524	output = &DisableSecurityHubOutput{}
2525	req = c.newRequest(op, input, output)
2526	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2527	return
2528}
2529
2530// DisableSecurityHub API operation for AWS SecurityHub.
2531//
2532// Disables Security Hub in your account only in the current Region. To disable
2533// Security Hub in all Regions, you must submit one request per Region where
2534// you have enabled Security Hub.
2535//
2536// When you disable Security Hub for an administrator account, it doesn't disable
2537// Security Hub for any associated member accounts.
2538//
2539// When you disable Security Hub, your existing findings and insights and any
2540// Security Hub configuration settings are deleted after 90 days and cannot
2541// be recovered. Any standards that were enabled are disabled, and your administrator
2542// and member account associations are removed.
2543//
2544// If you want to save your existing findings, you must export them before you
2545// disable Security Hub.
2546//
2547// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2548// with awserr.Error's Code and Message methods to get detailed information about
2549// the error.
2550//
2551// See the AWS API reference guide for AWS SecurityHub's
2552// API operation DisableSecurityHub for usage and error information.
2553//
2554// Returned Error Types:
2555//   * InternalException
2556//   Internal server error.
2557//
2558//   * LimitExceededException
2559//   The request was rejected because it attempted to create resources beyond
2560//   the current AWS account or throttling limits. The error code describes the
2561//   limit exceeded.
2562//
2563//   * InvalidAccessException
2564//   There is an issue with the account used to make the request. Either Security
2565//   Hub is not enabled for the account, or the account does not have permission
2566//   to perform this action.
2567//
2568//   * ResourceNotFoundException
2569//   The request was rejected because we can't find the specified resource.
2570//
2571// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisableSecurityHub
2572func (c *SecurityHub) DisableSecurityHub(input *DisableSecurityHubInput) (*DisableSecurityHubOutput, error) {
2573	req, out := c.DisableSecurityHubRequest(input)
2574	return out, req.Send()
2575}
2576
2577// DisableSecurityHubWithContext is the same as DisableSecurityHub with the addition of
2578// the ability to pass a context and additional request options.
2579//
2580// See DisableSecurityHub for details on how to use this API operation.
2581//
2582// The context must be non-nil and will be used for request cancellation. If
2583// the context is nil a panic will occur. In the future the SDK may create
2584// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2585// for more information on using Contexts.
2586func (c *SecurityHub) DisableSecurityHubWithContext(ctx aws.Context, input *DisableSecurityHubInput, opts ...request.Option) (*DisableSecurityHubOutput, error) {
2587	req, out := c.DisableSecurityHubRequest(input)
2588	req.SetContext(ctx)
2589	req.ApplyOptions(opts...)
2590	return out, req.Send()
2591}
2592
2593const opDisassociateFromAdministratorAccount = "DisassociateFromAdministratorAccount"
2594
2595// DisassociateFromAdministratorAccountRequest generates a "aws/request.Request" representing the
2596// client's request for the DisassociateFromAdministratorAccount operation. The "output" return
2597// value will be populated with the request's response once the request completes
2598// successfully.
2599//
2600// Use "Send" method on the returned Request to send the API call to the service.
2601// the "output" return value is not valid until after Send returns without error.
2602//
2603// See DisassociateFromAdministratorAccount for more information on using the DisassociateFromAdministratorAccount
2604// API call, and error handling.
2605//
2606// This method is useful when you want to inject custom logic or configuration
2607// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2608//
2609//
2610//    // Example sending a request using the DisassociateFromAdministratorAccountRequest method.
2611//    req, resp := client.DisassociateFromAdministratorAccountRequest(params)
2612//
2613//    err := req.Send()
2614//    if err == nil { // resp is now filled
2615//        fmt.Println(resp)
2616//    }
2617//
2618// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromAdministratorAccount
2619func (c *SecurityHub) DisassociateFromAdministratorAccountRequest(input *DisassociateFromAdministratorAccountInput) (req *request.Request, output *DisassociateFromAdministratorAccountOutput) {
2620	op := &request.Operation{
2621		Name:       opDisassociateFromAdministratorAccount,
2622		HTTPMethod: "POST",
2623		HTTPPath:   "/administrator/disassociate",
2624	}
2625
2626	if input == nil {
2627		input = &DisassociateFromAdministratorAccountInput{}
2628	}
2629
2630	output = &DisassociateFromAdministratorAccountOutput{}
2631	req = c.newRequest(op, input, output)
2632	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2633	return
2634}
2635
2636// DisassociateFromAdministratorAccount API operation for AWS SecurityHub.
2637//
2638// Disassociates the current Security Hub member account from the associated
2639// administrator account.
2640//
2641// This operation is only used by accounts that are not part of an organization.
2642// For organization accounts, only the administrator account can disassociate
2643// a member account.
2644//
2645// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2646// with awserr.Error's Code and Message methods to get detailed information about
2647// the error.
2648//
2649// See the AWS API reference guide for AWS SecurityHub's
2650// API operation DisassociateFromAdministratorAccount for usage and error information.
2651//
2652// Returned Error Types:
2653//   * InternalException
2654//   Internal server error.
2655//
2656//   * InvalidInputException
2657//   The request was rejected because you supplied an invalid or out-of-range
2658//   value for an input parameter.
2659//
2660//   * InvalidAccessException
2661//   There is an issue with the account used to make the request. Either Security
2662//   Hub is not enabled for the account, or the account does not have permission
2663//   to perform this action.
2664//
2665//   * LimitExceededException
2666//   The request was rejected because it attempted to create resources beyond
2667//   the current AWS account or throttling limits. The error code describes the
2668//   limit exceeded.
2669//
2670//   * ResourceNotFoundException
2671//   The request was rejected because we can't find the specified resource.
2672//
2673// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromAdministratorAccount
2674func (c *SecurityHub) DisassociateFromAdministratorAccount(input *DisassociateFromAdministratorAccountInput) (*DisassociateFromAdministratorAccountOutput, error) {
2675	req, out := c.DisassociateFromAdministratorAccountRequest(input)
2676	return out, req.Send()
2677}
2678
2679// DisassociateFromAdministratorAccountWithContext is the same as DisassociateFromAdministratorAccount with the addition of
2680// the ability to pass a context and additional request options.
2681//
2682// See DisassociateFromAdministratorAccount for details on how to use this API operation.
2683//
2684// The context must be non-nil and will be used for request cancellation. If
2685// the context is nil a panic will occur. In the future the SDK may create
2686// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2687// for more information on using Contexts.
2688func (c *SecurityHub) DisassociateFromAdministratorAccountWithContext(ctx aws.Context, input *DisassociateFromAdministratorAccountInput, opts ...request.Option) (*DisassociateFromAdministratorAccountOutput, error) {
2689	req, out := c.DisassociateFromAdministratorAccountRequest(input)
2690	req.SetContext(ctx)
2691	req.ApplyOptions(opts...)
2692	return out, req.Send()
2693}
2694
2695const opDisassociateFromMasterAccount = "DisassociateFromMasterAccount"
2696
2697// DisassociateFromMasterAccountRequest generates a "aws/request.Request" representing the
2698// client's request for the DisassociateFromMasterAccount operation. The "output" return
2699// value will be populated with the request's response once the request completes
2700// successfully.
2701//
2702// Use "Send" method on the returned Request to send the API call to the service.
2703// the "output" return value is not valid until after Send returns without error.
2704//
2705// See DisassociateFromMasterAccount for more information on using the DisassociateFromMasterAccount
2706// API call, and error handling.
2707//
2708// This method is useful when you want to inject custom logic or configuration
2709// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2710//
2711//
2712//    // Example sending a request using the DisassociateFromMasterAccountRequest method.
2713//    req, resp := client.DisassociateFromMasterAccountRequest(params)
2714//
2715//    err := req.Send()
2716//    if err == nil { // resp is now filled
2717//        fmt.Println(resp)
2718//    }
2719//
2720// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromMasterAccount
2721//
2722// Deprecated: This API has been deprecated, use DisassociateFromAdministratorAccount API instead.
2723func (c *SecurityHub) DisassociateFromMasterAccountRequest(input *DisassociateFromMasterAccountInput) (req *request.Request, output *DisassociateFromMasterAccountOutput) {
2724	if c.Client.Config.Logger != nil {
2725		c.Client.Config.Logger.Log("This operation, DisassociateFromMasterAccount, has been deprecated")
2726	}
2727	op := &request.Operation{
2728		Name:       opDisassociateFromMasterAccount,
2729		HTTPMethod: "POST",
2730		HTTPPath:   "/master/disassociate",
2731	}
2732
2733	if input == nil {
2734		input = &DisassociateFromMasterAccountInput{}
2735	}
2736
2737	output = &DisassociateFromMasterAccountOutput{}
2738	req = c.newRequest(op, input, output)
2739	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2740	return
2741}
2742
2743// DisassociateFromMasterAccount API operation for AWS SecurityHub.
2744//
2745// This method is deprecated. Instead, use DisassociateFromAdministratorAccount.
2746//
2747// The Security Hub console continues to use DisassociateFromMasterAccount.
2748// It will eventually change to use DisassociateFromAdministratorAccount. Any
2749// IAM policies that specifically control access to this function must continue
2750// to use DisassociateFromMasterAccount. You should also add DisassociateFromAdministratorAccount
2751// to your policies to ensure that the correct permissions are in place after
2752// the console begins to use DisassociateFromAdministratorAccount.
2753//
2754// Disassociates the current Security Hub member account from the associated
2755// administrator account.
2756//
2757// This operation is only used by accounts that are not part of an organization.
2758// For organization accounts, only the administrator account can disassociate
2759// a member account.
2760//
2761// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2762// with awserr.Error's Code and Message methods to get detailed information about
2763// the error.
2764//
2765// See the AWS API reference guide for AWS SecurityHub's
2766// API operation DisassociateFromMasterAccount for usage and error information.
2767//
2768// Returned Error Types:
2769//   * InternalException
2770//   Internal server error.
2771//
2772//   * InvalidInputException
2773//   The request was rejected because you supplied an invalid or out-of-range
2774//   value for an input parameter.
2775//
2776//   * InvalidAccessException
2777//   There is an issue with the account used to make the request. Either Security
2778//   Hub is not enabled for the account, or the account does not have permission
2779//   to perform this action.
2780//
2781//   * LimitExceededException
2782//   The request was rejected because it attempted to create resources beyond
2783//   the current AWS account or throttling limits. The error code describes the
2784//   limit exceeded.
2785//
2786//   * ResourceNotFoundException
2787//   The request was rejected because we can't find the specified resource.
2788//
2789// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateFromMasterAccount
2790//
2791// Deprecated: This API has been deprecated, use DisassociateFromAdministratorAccount API instead.
2792func (c *SecurityHub) DisassociateFromMasterAccount(input *DisassociateFromMasterAccountInput) (*DisassociateFromMasterAccountOutput, error) {
2793	req, out := c.DisassociateFromMasterAccountRequest(input)
2794	return out, req.Send()
2795}
2796
2797// DisassociateFromMasterAccountWithContext is the same as DisassociateFromMasterAccount with the addition of
2798// the ability to pass a context and additional request options.
2799//
2800// See DisassociateFromMasterAccount for details on how to use this API operation.
2801//
2802// The context must be non-nil and will be used for request cancellation. If
2803// the context is nil a panic will occur. In the future the SDK may create
2804// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2805// for more information on using Contexts.
2806//
2807// Deprecated: This API has been deprecated, use DisassociateFromAdministratorAccount API instead.
2808func (c *SecurityHub) DisassociateFromMasterAccountWithContext(ctx aws.Context, input *DisassociateFromMasterAccountInput, opts ...request.Option) (*DisassociateFromMasterAccountOutput, error) {
2809	req, out := c.DisassociateFromMasterAccountRequest(input)
2810	req.SetContext(ctx)
2811	req.ApplyOptions(opts...)
2812	return out, req.Send()
2813}
2814
2815const opDisassociateMembers = "DisassociateMembers"
2816
2817// DisassociateMembersRequest generates a "aws/request.Request" representing the
2818// client's request for the DisassociateMembers operation. The "output" return
2819// value will be populated with the request's response once the request completes
2820// successfully.
2821//
2822// Use "Send" method on the returned Request to send the API call to the service.
2823// the "output" return value is not valid until after Send returns without error.
2824//
2825// See DisassociateMembers for more information on using the DisassociateMembers
2826// API call, and error handling.
2827//
2828// This method is useful when you want to inject custom logic or configuration
2829// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2830//
2831//
2832//    // Example sending a request using the DisassociateMembersRequest method.
2833//    req, resp := client.DisassociateMembersRequest(params)
2834//
2835//    err := req.Send()
2836//    if err == nil { // resp is now filled
2837//        fmt.Println(resp)
2838//    }
2839//
2840// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateMembers
2841func (c *SecurityHub) DisassociateMembersRequest(input *DisassociateMembersInput) (req *request.Request, output *DisassociateMembersOutput) {
2842	op := &request.Operation{
2843		Name:       opDisassociateMembers,
2844		HTTPMethod: "POST",
2845		HTTPPath:   "/members/disassociate",
2846	}
2847
2848	if input == nil {
2849		input = &DisassociateMembersInput{}
2850	}
2851
2852	output = &DisassociateMembersOutput{}
2853	req = c.newRequest(op, input, output)
2854	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2855	return
2856}
2857
2858// DisassociateMembers API operation for AWS SecurityHub.
2859//
2860// Disassociates the specified member accounts from the associated administrator
2861// account.
2862//
2863// Can be used to disassociate both accounts that are managed using Organizations
2864// and accounts that were invited manually.
2865//
2866// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2867// with awserr.Error's Code and Message methods to get detailed information about
2868// the error.
2869//
2870// See the AWS API reference guide for AWS SecurityHub's
2871// API operation DisassociateMembers for usage and error information.
2872//
2873// Returned Error Types:
2874//   * InternalException
2875//   Internal server error.
2876//
2877//   * InvalidInputException
2878//   The request was rejected because you supplied an invalid or out-of-range
2879//   value for an input parameter.
2880//
2881//   * InvalidAccessException
2882//   There is an issue with the account used to make the request. Either Security
2883//   Hub is not enabled for the account, or the account does not have permission
2884//   to perform this action.
2885//
2886//   * LimitExceededException
2887//   The request was rejected because it attempted to create resources beyond
2888//   the current AWS account or throttling limits. The error code describes the
2889//   limit exceeded.
2890//
2891//   * ResourceNotFoundException
2892//   The request was rejected because we can't find the specified resource.
2893//
2894// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/DisassociateMembers
2895func (c *SecurityHub) DisassociateMembers(input *DisassociateMembersInput) (*DisassociateMembersOutput, error) {
2896	req, out := c.DisassociateMembersRequest(input)
2897	return out, req.Send()
2898}
2899
2900// DisassociateMembersWithContext is the same as DisassociateMembers with the addition of
2901// the ability to pass a context and additional request options.
2902//
2903// See DisassociateMembers for details on how to use this API operation.
2904//
2905// The context must be non-nil and will be used for request cancellation. If
2906// the context is nil a panic will occur. In the future the SDK may create
2907// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2908// for more information on using Contexts.
2909func (c *SecurityHub) DisassociateMembersWithContext(ctx aws.Context, input *DisassociateMembersInput, opts ...request.Option) (*DisassociateMembersOutput, error) {
2910	req, out := c.DisassociateMembersRequest(input)
2911	req.SetContext(ctx)
2912	req.ApplyOptions(opts...)
2913	return out, req.Send()
2914}
2915
2916const opEnableImportFindingsForProduct = "EnableImportFindingsForProduct"
2917
2918// EnableImportFindingsForProductRequest generates a "aws/request.Request" representing the
2919// client's request for the EnableImportFindingsForProduct operation. The "output" return
2920// value will be populated with the request's response once the request completes
2921// successfully.
2922//
2923// Use "Send" method on the returned Request to send the API call to the service.
2924// the "output" return value is not valid until after Send returns without error.
2925//
2926// See EnableImportFindingsForProduct for more information on using the EnableImportFindingsForProduct
2927// API call, and error handling.
2928//
2929// This method is useful when you want to inject custom logic or configuration
2930// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2931//
2932//
2933//    // Example sending a request using the EnableImportFindingsForProductRequest method.
2934//    req, resp := client.EnableImportFindingsForProductRequest(params)
2935//
2936//    err := req.Send()
2937//    if err == nil { // resp is now filled
2938//        fmt.Println(resp)
2939//    }
2940//
2941// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableImportFindingsForProduct
2942func (c *SecurityHub) EnableImportFindingsForProductRequest(input *EnableImportFindingsForProductInput) (req *request.Request, output *EnableImportFindingsForProductOutput) {
2943	op := &request.Operation{
2944		Name:       opEnableImportFindingsForProduct,
2945		HTTPMethod: "POST",
2946		HTTPPath:   "/productSubscriptions",
2947	}
2948
2949	if input == nil {
2950		input = &EnableImportFindingsForProductInput{}
2951	}
2952
2953	output = &EnableImportFindingsForProductOutput{}
2954	req = c.newRequest(op, input, output)
2955	return
2956}
2957
2958// EnableImportFindingsForProduct API operation for AWS SecurityHub.
2959//
2960// Enables the integration of a partner product with Security Hub. Integrated
2961// products send findings to Security Hub.
2962//
2963// When you enable a product integration, a permissions policy that grants permission
2964// for the product to send findings to Security Hub is applied.
2965//
2966// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2967// with awserr.Error's Code and Message methods to get detailed information about
2968// the error.
2969//
2970// See the AWS API reference guide for AWS SecurityHub's
2971// API operation EnableImportFindingsForProduct for usage and error information.
2972//
2973// Returned Error Types:
2974//   * InternalException
2975//   Internal server error.
2976//
2977//   * InvalidInputException
2978//   The request was rejected because you supplied an invalid or out-of-range
2979//   value for an input parameter.
2980//
2981//   * InvalidAccessException
2982//   There is an issue with the account used to make the request. Either Security
2983//   Hub is not enabled for the account, or the account does not have permission
2984//   to perform this action.
2985//
2986//   * ResourceConflictException
2987//   The resource specified in the request conflicts with an existing resource.
2988//
2989//   * LimitExceededException
2990//   The request was rejected because it attempted to create resources beyond
2991//   the current AWS account or throttling limits. The error code describes the
2992//   limit exceeded.
2993//
2994// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableImportFindingsForProduct
2995func (c *SecurityHub) EnableImportFindingsForProduct(input *EnableImportFindingsForProductInput) (*EnableImportFindingsForProductOutput, error) {
2996	req, out := c.EnableImportFindingsForProductRequest(input)
2997	return out, req.Send()
2998}
2999
3000// EnableImportFindingsForProductWithContext is the same as EnableImportFindingsForProduct with the addition of
3001// the ability to pass a context and additional request options.
3002//
3003// See EnableImportFindingsForProduct for details on how to use this API operation.
3004//
3005// The context must be non-nil and will be used for request cancellation. If
3006// the context is nil a panic will occur. In the future the SDK may create
3007// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3008// for more information on using Contexts.
3009func (c *SecurityHub) EnableImportFindingsForProductWithContext(ctx aws.Context, input *EnableImportFindingsForProductInput, opts ...request.Option) (*EnableImportFindingsForProductOutput, error) {
3010	req, out := c.EnableImportFindingsForProductRequest(input)
3011	req.SetContext(ctx)
3012	req.ApplyOptions(opts...)
3013	return out, req.Send()
3014}
3015
3016const opEnableOrganizationAdminAccount = "EnableOrganizationAdminAccount"
3017
3018// EnableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
3019// client's request for the EnableOrganizationAdminAccount operation. The "output" return
3020// value will be populated with the request's response once the request completes
3021// successfully.
3022//
3023// Use "Send" method on the returned Request to send the API call to the service.
3024// the "output" return value is not valid until after Send returns without error.
3025//
3026// See EnableOrganizationAdminAccount for more information on using the EnableOrganizationAdminAccount
3027// API call, and error handling.
3028//
3029// This method is useful when you want to inject custom logic or configuration
3030// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3031//
3032//
3033//    // Example sending a request using the EnableOrganizationAdminAccountRequest method.
3034//    req, resp := client.EnableOrganizationAdminAccountRequest(params)
3035//
3036//    err := req.Send()
3037//    if err == nil { // resp is now filled
3038//        fmt.Println(resp)
3039//    }
3040//
3041// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableOrganizationAdminAccount
3042func (c *SecurityHub) EnableOrganizationAdminAccountRequest(input *EnableOrganizationAdminAccountInput) (req *request.Request, output *EnableOrganizationAdminAccountOutput) {
3043	op := &request.Operation{
3044		Name:       opEnableOrganizationAdminAccount,
3045		HTTPMethod: "POST",
3046		HTTPPath:   "/organization/admin/enable",
3047	}
3048
3049	if input == nil {
3050		input = &EnableOrganizationAdminAccountInput{}
3051	}
3052
3053	output = &EnableOrganizationAdminAccountOutput{}
3054	req = c.newRequest(op, input, output)
3055	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3056	return
3057}
3058
3059// EnableOrganizationAdminAccount API operation for AWS SecurityHub.
3060//
3061// Designates the Security Hub administrator account for an organization. Can
3062// only be called by the organization management account.
3063//
3064// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3065// with awserr.Error's Code and Message methods to get detailed information about
3066// the error.
3067//
3068// See the AWS API reference guide for AWS SecurityHub's
3069// API operation EnableOrganizationAdminAccount for usage and error information.
3070//
3071// Returned Error Types:
3072//   * InternalException
3073//   Internal server error.
3074//
3075//   * InvalidInputException
3076//   The request was rejected because you supplied an invalid or out-of-range
3077//   value for an input parameter.
3078//
3079//   * InvalidAccessException
3080//   There is an issue with the account used to make the request. Either Security
3081//   Hub is not enabled for the account, or the account does not have permission
3082//   to perform this action.
3083//
3084//   * LimitExceededException
3085//   The request was rejected because it attempted to create resources beyond
3086//   the current AWS account or throttling limits. The error code describes the
3087//   limit exceeded.
3088//
3089// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableOrganizationAdminAccount
3090func (c *SecurityHub) EnableOrganizationAdminAccount(input *EnableOrganizationAdminAccountInput) (*EnableOrganizationAdminAccountOutput, error) {
3091	req, out := c.EnableOrganizationAdminAccountRequest(input)
3092	return out, req.Send()
3093}
3094
3095// EnableOrganizationAdminAccountWithContext is the same as EnableOrganizationAdminAccount with the addition of
3096// the ability to pass a context and additional request options.
3097//
3098// See EnableOrganizationAdminAccount for details on how to use this API operation.
3099//
3100// The context must be non-nil and will be used for request cancellation. If
3101// the context is nil a panic will occur. In the future the SDK may create
3102// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3103// for more information on using Contexts.
3104func (c *SecurityHub) EnableOrganizationAdminAccountWithContext(ctx aws.Context, input *EnableOrganizationAdminAccountInput, opts ...request.Option) (*EnableOrganizationAdminAccountOutput, error) {
3105	req, out := c.EnableOrganizationAdminAccountRequest(input)
3106	req.SetContext(ctx)
3107	req.ApplyOptions(opts...)
3108	return out, req.Send()
3109}
3110
3111const opEnableSecurityHub = "EnableSecurityHub"
3112
3113// EnableSecurityHubRequest generates a "aws/request.Request" representing the
3114// client's request for the EnableSecurityHub operation. The "output" return
3115// value will be populated with the request's response once the request completes
3116// successfully.
3117//
3118// Use "Send" method on the returned Request to send the API call to the service.
3119// the "output" return value is not valid until after Send returns without error.
3120//
3121// See EnableSecurityHub for more information on using the EnableSecurityHub
3122// API call, and error handling.
3123//
3124// This method is useful when you want to inject custom logic or configuration
3125// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3126//
3127//
3128//    // Example sending a request using the EnableSecurityHubRequest method.
3129//    req, resp := client.EnableSecurityHubRequest(params)
3130//
3131//    err := req.Send()
3132//    if err == nil { // resp is now filled
3133//        fmt.Println(resp)
3134//    }
3135//
3136// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableSecurityHub
3137func (c *SecurityHub) EnableSecurityHubRequest(input *EnableSecurityHubInput) (req *request.Request, output *EnableSecurityHubOutput) {
3138	op := &request.Operation{
3139		Name:       opEnableSecurityHub,
3140		HTTPMethod: "POST",
3141		HTTPPath:   "/accounts",
3142	}
3143
3144	if input == nil {
3145		input = &EnableSecurityHubInput{}
3146	}
3147
3148	output = &EnableSecurityHubOutput{}
3149	req = c.newRequest(op, input, output)
3150	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3151	return
3152}
3153
3154// EnableSecurityHub API operation for AWS SecurityHub.
3155//
3156// Enables Security Hub for your account in the current Region or the Region
3157// you specify in the request.
3158//
3159// When you enable Security Hub, you grant to Security Hub the permissions necessary
3160// to gather findings from other services that are integrated with Security
3161// Hub.
3162//
3163// When you use the EnableSecurityHub operation to enable Security Hub, you
3164// also automatically enable the following standards.
3165//
3166//    * CIS AWS Foundations
3167//
3168//    * AWS Foundational Security Best Practices
3169//
3170// You do not enable the Payment Card Industry Data Security Standard (PCI DSS)
3171// standard.
3172//
3173// To not enable the automatically enabled standards, set EnableDefaultStandards
3174// to false.
3175//
3176// After you enable Security Hub, to enable a standard, use the BatchEnableStandards
3177// operation. To disable a standard, use the BatchDisableStandards operation.
3178//
3179// To learn more, see Setting Up AWS Security Hub (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-settingup.html)
3180// in the AWS Security Hub User Guide.
3181//
3182// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3183// with awserr.Error's Code and Message methods to get detailed information about
3184// the error.
3185//
3186// See the AWS API reference guide for AWS SecurityHub's
3187// API operation EnableSecurityHub for usage and error information.
3188//
3189// Returned Error Types:
3190//   * InternalException
3191//   Internal server error.
3192//
3193//   * LimitExceededException
3194//   The request was rejected because it attempted to create resources beyond
3195//   the current AWS account or throttling limits. The error code describes the
3196//   limit exceeded.
3197//
3198//   * InvalidAccessException
3199//   There is an issue with the account used to make the request. Either Security
3200//   Hub is not enabled for the account, or the account does not have permission
3201//   to perform this action.
3202//
3203//   * ResourceConflictException
3204//   The resource specified in the request conflicts with an existing resource.
3205//
3206//   * AccessDeniedException
3207//   You don't have permission to perform the action specified in the request.
3208//
3209// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/EnableSecurityHub
3210func (c *SecurityHub) EnableSecurityHub(input *EnableSecurityHubInput) (*EnableSecurityHubOutput, error) {
3211	req, out := c.EnableSecurityHubRequest(input)
3212	return out, req.Send()
3213}
3214
3215// EnableSecurityHubWithContext is the same as EnableSecurityHub with the addition of
3216// the ability to pass a context and additional request options.
3217//
3218// See EnableSecurityHub for details on how to use this API operation.
3219//
3220// The context must be non-nil and will be used for request cancellation. If
3221// the context is nil a panic will occur. In the future the SDK may create
3222// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3223// for more information on using Contexts.
3224func (c *SecurityHub) EnableSecurityHubWithContext(ctx aws.Context, input *EnableSecurityHubInput, opts ...request.Option) (*EnableSecurityHubOutput, error) {
3225	req, out := c.EnableSecurityHubRequest(input)
3226	req.SetContext(ctx)
3227	req.ApplyOptions(opts...)
3228	return out, req.Send()
3229}
3230
3231const opGetAdministratorAccount = "GetAdministratorAccount"
3232
3233// GetAdministratorAccountRequest generates a "aws/request.Request" representing the
3234// client's request for the GetAdministratorAccount operation. The "output" return
3235// value will be populated with the request's response once the request completes
3236// successfully.
3237//
3238// Use "Send" method on the returned Request to send the API call to the service.
3239// the "output" return value is not valid until after Send returns without error.
3240//
3241// See GetAdministratorAccount for more information on using the GetAdministratorAccount
3242// API call, and error handling.
3243//
3244// This method is useful when you want to inject custom logic or configuration
3245// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3246//
3247//
3248//    // Example sending a request using the GetAdministratorAccountRequest method.
3249//    req, resp := client.GetAdministratorAccountRequest(params)
3250//
3251//    err := req.Send()
3252//    if err == nil { // resp is now filled
3253//        fmt.Println(resp)
3254//    }
3255//
3256// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetAdministratorAccount
3257func (c *SecurityHub) GetAdministratorAccountRequest(input *GetAdministratorAccountInput) (req *request.Request, output *GetAdministratorAccountOutput) {
3258	op := &request.Operation{
3259		Name:       opGetAdministratorAccount,
3260		HTTPMethod: "GET",
3261		HTTPPath:   "/administrator",
3262	}
3263
3264	if input == nil {
3265		input = &GetAdministratorAccountInput{}
3266	}
3267
3268	output = &GetAdministratorAccountOutput{}
3269	req = c.newRequest(op, input, output)
3270	return
3271}
3272
3273// GetAdministratorAccount API operation for AWS SecurityHub.
3274//
3275// Provides the details for the Security Hub administrator account for the current
3276// member account.
3277//
3278// Can be used by both member accounts that are managed using Organizations
3279// and accounts that were invited manually.
3280//
3281// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3282// with awserr.Error's Code and Message methods to get detailed information about
3283// the error.
3284//
3285// See the AWS API reference guide for AWS SecurityHub's
3286// API operation GetAdministratorAccount for usage and error information.
3287//
3288// Returned Error Types:
3289//   * InternalException
3290//   Internal server error.
3291//
3292//   * InvalidInputException
3293//   The request was rejected because you supplied an invalid or out-of-range
3294//   value for an input parameter.
3295//
3296//   * InvalidAccessException
3297//   There is an issue with the account used to make the request. Either Security
3298//   Hub is not enabled for the account, or the account does not have permission
3299//   to perform this action.
3300//
3301//   * LimitExceededException
3302//   The request was rejected because it attempted to create resources beyond
3303//   the current AWS account or throttling limits. The error code describes the
3304//   limit exceeded.
3305//
3306//   * ResourceNotFoundException
3307//   The request was rejected because we can't find the specified resource.
3308//
3309// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetAdministratorAccount
3310func (c *SecurityHub) GetAdministratorAccount(input *GetAdministratorAccountInput) (*GetAdministratorAccountOutput, error) {
3311	req, out := c.GetAdministratorAccountRequest(input)
3312	return out, req.Send()
3313}
3314
3315// GetAdministratorAccountWithContext is the same as GetAdministratorAccount with the addition of
3316// the ability to pass a context and additional request options.
3317//
3318// See GetAdministratorAccount for details on how to use this API operation.
3319//
3320// The context must be non-nil and will be used for request cancellation. If
3321// the context is nil a panic will occur. In the future the SDK may create
3322// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3323// for more information on using Contexts.
3324func (c *SecurityHub) GetAdministratorAccountWithContext(ctx aws.Context, input *GetAdministratorAccountInput, opts ...request.Option) (*GetAdministratorAccountOutput, error) {
3325	req, out := c.GetAdministratorAccountRequest(input)
3326	req.SetContext(ctx)
3327	req.ApplyOptions(opts...)
3328	return out, req.Send()
3329}
3330
3331const opGetEnabledStandards = "GetEnabledStandards"
3332
3333// GetEnabledStandardsRequest generates a "aws/request.Request" representing the
3334// client's request for the GetEnabledStandards operation. The "output" return
3335// value will be populated with the request's response once the request completes
3336// successfully.
3337//
3338// Use "Send" method on the returned Request to send the API call to the service.
3339// the "output" return value is not valid until after Send returns without error.
3340//
3341// See GetEnabledStandards for more information on using the GetEnabledStandards
3342// API call, and error handling.
3343//
3344// This method is useful when you want to inject custom logic or configuration
3345// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3346//
3347//
3348//    // Example sending a request using the GetEnabledStandardsRequest method.
3349//    req, resp := client.GetEnabledStandardsRequest(params)
3350//
3351//    err := req.Send()
3352//    if err == nil { // resp is now filled
3353//        fmt.Println(resp)
3354//    }
3355//
3356// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetEnabledStandards
3357func (c *SecurityHub) GetEnabledStandardsRequest(input *GetEnabledStandardsInput) (req *request.Request, output *GetEnabledStandardsOutput) {
3358	op := &request.Operation{
3359		Name:       opGetEnabledStandards,
3360		HTTPMethod: "POST",
3361		HTTPPath:   "/standards/get",
3362		Paginator: &request.Paginator{
3363			InputTokens:     []string{"NextToken"},
3364			OutputTokens:    []string{"NextToken"},
3365			LimitToken:      "MaxResults",
3366			TruncationToken: "",
3367		},
3368	}
3369
3370	if input == nil {
3371		input = &GetEnabledStandardsInput{}
3372	}
3373
3374	output = &GetEnabledStandardsOutput{}
3375	req = c.newRequest(op, input, output)
3376	return
3377}
3378
3379// GetEnabledStandards API operation for AWS SecurityHub.
3380//
3381// Returns a list of the standards that are currently enabled.
3382//
3383// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3384// with awserr.Error's Code and Message methods to get detailed information about
3385// the error.
3386//
3387// See the AWS API reference guide for AWS SecurityHub's
3388// API operation GetEnabledStandards for usage and error information.
3389//
3390// Returned Error Types:
3391//   * InternalException
3392//   Internal server error.
3393//
3394//   * InvalidInputException
3395//   The request was rejected because you supplied an invalid or out-of-range
3396//   value for an input parameter.
3397//
3398//   * InvalidAccessException
3399//   There is an issue with the account used to make the request. Either Security
3400//   Hub is not enabled for the account, or the account does not have permission
3401//   to perform this action.
3402//
3403//   * LimitExceededException
3404//   The request was rejected because it attempted to create resources beyond
3405//   the current AWS account or throttling limits. The error code describes the
3406//   limit exceeded.
3407//
3408// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetEnabledStandards
3409func (c *SecurityHub) GetEnabledStandards(input *GetEnabledStandardsInput) (*GetEnabledStandardsOutput, error) {
3410	req, out := c.GetEnabledStandardsRequest(input)
3411	return out, req.Send()
3412}
3413
3414// GetEnabledStandardsWithContext is the same as GetEnabledStandards with the addition of
3415// the ability to pass a context and additional request options.
3416//
3417// See GetEnabledStandards for details on how to use this API operation.
3418//
3419// The context must be non-nil and will be used for request cancellation. If
3420// the context is nil a panic will occur. In the future the SDK may create
3421// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3422// for more information on using Contexts.
3423func (c *SecurityHub) GetEnabledStandardsWithContext(ctx aws.Context, input *GetEnabledStandardsInput, opts ...request.Option) (*GetEnabledStandardsOutput, error) {
3424	req, out := c.GetEnabledStandardsRequest(input)
3425	req.SetContext(ctx)
3426	req.ApplyOptions(opts...)
3427	return out, req.Send()
3428}
3429
3430// GetEnabledStandardsPages iterates over the pages of a GetEnabledStandards operation,
3431// calling the "fn" function with the response data for each page. To stop
3432// iterating, return false from the fn function.
3433//
3434// See GetEnabledStandards method for more information on how to use this operation.
3435//
3436// Note: This operation can generate multiple requests to a service.
3437//
3438//    // Example iterating over at most 3 pages of a GetEnabledStandards operation.
3439//    pageNum := 0
3440//    err := client.GetEnabledStandardsPages(params,
3441//        func(page *securityhub.GetEnabledStandardsOutput, lastPage bool) bool {
3442//            pageNum++
3443//            fmt.Println(page)
3444//            return pageNum <= 3
3445//        })
3446//
3447func (c *SecurityHub) GetEnabledStandardsPages(input *GetEnabledStandardsInput, fn func(*GetEnabledStandardsOutput, bool) bool) error {
3448	return c.GetEnabledStandardsPagesWithContext(aws.BackgroundContext(), input, fn)
3449}
3450
3451// GetEnabledStandardsPagesWithContext same as GetEnabledStandardsPages except
3452// it takes a Context and allows setting request options on the pages.
3453//
3454// The context must be non-nil and will be used for request cancellation. If
3455// the context is nil a panic will occur. In the future the SDK may create
3456// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3457// for more information on using Contexts.
3458func (c *SecurityHub) GetEnabledStandardsPagesWithContext(ctx aws.Context, input *GetEnabledStandardsInput, fn func(*GetEnabledStandardsOutput, bool) bool, opts ...request.Option) error {
3459	p := request.Pagination{
3460		NewRequest: func() (*request.Request, error) {
3461			var inCpy *GetEnabledStandardsInput
3462			if input != nil {
3463				tmp := *input
3464				inCpy = &tmp
3465			}
3466			req, _ := c.GetEnabledStandardsRequest(inCpy)
3467			req.SetContext(ctx)
3468			req.ApplyOptions(opts...)
3469			return req, nil
3470		},
3471	}
3472
3473	for p.Next() {
3474		if !fn(p.Page().(*GetEnabledStandardsOutput), !p.HasNextPage()) {
3475			break
3476		}
3477	}
3478
3479	return p.Err()
3480}
3481
3482const opGetFindings = "GetFindings"
3483
3484// GetFindingsRequest generates a "aws/request.Request" representing the
3485// client's request for the GetFindings operation. The "output" return
3486// value will be populated with the request's response once the request completes
3487// successfully.
3488//
3489// Use "Send" method on the returned Request to send the API call to the service.
3490// the "output" return value is not valid until after Send returns without error.
3491//
3492// See GetFindings for more information on using the GetFindings
3493// API call, and error handling.
3494//
3495// This method is useful when you want to inject custom logic or configuration
3496// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3497//
3498//
3499//    // Example sending a request using the GetFindingsRequest method.
3500//    req, resp := client.GetFindingsRequest(params)
3501//
3502//    err := req.Send()
3503//    if err == nil { // resp is now filled
3504//        fmt.Println(resp)
3505//    }
3506//
3507// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindings
3508func (c *SecurityHub) GetFindingsRequest(input *GetFindingsInput) (req *request.Request, output *GetFindingsOutput) {
3509	op := &request.Operation{
3510		Name:       opGetFindings,
3511		HTTPMethod: "POST",
3512		HTTPPath:   "/findings",
3513		Paginator: &request.Paginator{
3514			InputTokens:     []string{"NextToken"},
3515			OutputTokens:    []string{"NextToken"},
3516			LimitToken:      "MaxResults",
3517			TruncationToken: "",
3518		},
3519	}
3520
3521	if input == nil {
3522		input = &GetFindingsInput{}
3523	}
3524
3525	output = &GetFindingsOutput{}
3526	req = c.newRequest(op, input, output)
3527	return
3528}
3529
3530// GetFindings API operation for AWS SecurityHub.
3531//
3532// Returns a list of findings that match the specified criteria.
3533//
3534// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3535// with awserr.Error's Code and Message methods to get detailed information about
3536// the error.
3537//
3538// See the AWS API reference guide for AWS SecurityHub's
3539// API operation GetFindings for usage and error information.
3540//
3541// Returned Error Types:
3542//   * InternalException
3543//   Internal server error.
3544//
3545//   * InvalidInputException
3546//   The request was rejected because you supplied an invalid or out-of-range
3547//   value for an input parameter.
3548//
3549//   * InvalidAccessException
3550//   There is an issue with the account used to make the request. Either Security
3551//   Hub is not enabled for the account, or the account does not have permission
3552//   to perform this action.
3553//
3554//   * LimitExceededException
3555//   The request was rejected because it attempted to create resources beyond
3556//   the current AWS account or throttling limits. The error code describes the
3557//   limit exceeded.
3558//
3559// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetFindings
3560func (c *SecurityHub) GetFindings(input *GetFindingsInput) (*GetFindingsOutput, error) {
3561	req, out := c.GetFindingsRequest(input)
3562	return out, req.Send()
3563}
3564
3565// GetFindingsWithContext is the same as GetFindings with the addition of
3566// the ability to pass a context and additional request options.
3567//
3568// See GetFindings for details on how to use this API operation.
3569//
3570// The context must be non-nil and will be used for request cancellation. If
3571// the context is nil a panic will occur. In the future the SDK may create
3572// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3573// for more information on using Contexts.
3574func (c *SecurityHub) GetFindingsWithContext(ctx aws.Context, input *GetFindingsInput, opts ...request.Option) (*GetFindingsOutput, error) {
3575	req, out := c.GetFindingsRequest(input)
3576	req.SetContext(ctx)
3577	req.ApplyOptions(opts...)
3578	return out, req.Send()
3579}
3580
3581// GetFindingsPages iterates over the pages of a GetFindings operation,
3582// calling the "fn" function with the response data for each page. To stop
3583// iterating, return false from the fn function.
3584//
3585// See GetFindings method for more information on how to use this operation.
3586//
3587// Note: This operation can generate multiple requests to a service.
3588//
3589//    // Example iterating over at most 3 pages of a GetFindings operation.
3590//    pageNum := 0
3591//    err := client.GetFindingsPages(params,
3592//        func(page *securityhub.GetFindingsOutput, lastPage bool) bool {
3593//            pageNum++
3594//            fmt.Println(page)
3595//            return pageNum <= 3
3596//        })
3597//
3598func (c *SecurityHub) GetFindingsPages(input *GetFindingsInput, fn func(*GetFindingsOutput, bool) bool) error {
3599	return c.GetFindingsPagesWithContext(aws.BackgroundContext(), input, fn)
3600}
3601
3602// GetFindingsPagesWithContext same as GetFindingsPages except
3603// it takes a Context and allows setting request options on the pages.
3604//
3605// The context must be non-nil and will be used for request cancellation. If
3606// the context is nil a panic will occur. In the future the SDK may create
3607// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3608// for more information on using Contexts.
3609func (c *SecurityHub) GetFindingsPagesWithContext(ctx aws.Context, input *GetFindingsInput, fn func(*GetFindingsOutput, bool) bool, opts ...request.Option) error {
3610	p := request.Pagination{
3611		NewRequest: func() (*request.Request, error) {
3612			var inCpy *GetFindingsInput
3613			if input != nil {
3614				tmp := *input
3615				inCpy = &tmp
3616			}
3617			req, _ := c.GetFindingsRequest(inCpy)
3618			req.SetContext(ctx)
3619			req.ApplyOptions(opts...)
3620			return req, nil
3621		},
3622	}
3623
3624	for p.Next() {
3625		if !fn(p.Page().(*GetFindingsOutput), !p.HasNextPage()) {
3626			break
3627		}
3628	}
3629
3630	return p.Err()
3631}
3632
3633const opGetInsightResults = "GetInsightResults"
3634
3635// GetInsightResultsRequest generates a "aws/request.Request" representing the
3636// client's request for the GetInsightResults operation. The "output" return
3637// value will be populated with the request's response once the request completes
3638// successfully.
3639//
3640// Use "Send" method on the returned Request to send the API call to the service.
3641// the "output" return value is not valid until after Send returns without error.
3642//
3643// See GetInsightResults for more information on using the GetInsightResults
3644// API call, and error handling.
3645//
3646// This method is useful when you want to inject custom logic or configuration
3647// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3648//
3649//
3650//    // Example sending a request using the GetInsightResultsRequest method.
3651//    req, resp := client.GetInsightResultsRequest(params)
3652//
3653//    err := req.Send()
3654//    if err == nil { // resp is now filled
3655//        fmt.Println(resp)
3656//    }
3657//
3658// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsightResults
3659func (c *SecurityHub) GetInsightResultsRequest(input *GetInsightResultsInput) (req *request.Request, output *GetInsightResultsOutput) {
3660	op := &request.Operation{
3661		Name:       opGetInsightResults,
3662		HTTPMethod: "GET",
3663		HTTPPath:   "/insights/results/{InsightArn+}",
3664	}
3665
3666	if input == nil {
3667		input = &GetInsightResultsInput{}
3668	}
3669
3670	output = &GetInsightResultsOutput{}
3671	req = c.newRequest(op, input, output)
3672	return
3673}
3674
3675// GetInsightResults API operation for AWS SecurityHub.
3676//
3677// Lists the results of the Security Hub insight specified by the insight ARN.
3678//
3679// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3680// with awserr.Error's Code and Message methods to get detailed information about
3681// the error.
3682//
3683// See the AWS API reference guide for AWS SecurityHub's
3684// API operation GetInsightResults for usage and error information.
3685//
3686// Returned Error Types:
3687//   * InternalException
3688//   Internal server error.
3689//
3690//   * InvalidInputException
3691//   The request was rejected because you supplied an invalid or out-of-range
3692//   value for an input parameter.
3693//
3694//   * InvalidAccessException
3695//   There is an issue with the account used to make the request. Either Security
3696//   Hub is not enabled for the account, or the account does not have permission
3697//   to perform this action.
3698//
3699//   * LimitExceededException
3700//   The request was rejected because it attempted to create resources beyond
3701//   the current AWS account or throttling limits. The error code describes the
3702//   limit exceeded.
3703//
3704//   * ResourceNotFoundException
3705//   The request was rejected because we can't find the specified resource.
3706//
3707// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsightResults
3708func (c *SecurityHub) GetInsightResults(input *GetInsightResultsInput) (*GetInsightResultsOutput, error) {
3709	req, out := c.GetInsightResultsRequest(input)
3710	return out, req.Send()
3711}
3712
3713// GetInsightResultsWithContext is the same as GetInsightResults with the addition of
3714// the ability to pass a context and additional request options.
3715//
3716// See GetInsightResults for details on how to use this API operation.
3717//
3718// The context must be non-nil and will be used for request cancellation. If
3719// the context is nil a panic will occur. In the future the SDK may create
3720// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3721// for more information on using Contexts.
3722func (c *SecurityHub) GetInsightResultsWithContext(ctx aws.Context, input *GetInsightResultsInput, opts ...request.Option) (*GetInsightResultsOutput, error) {
3723	req, out := c.GetInsightResultsRequest(input)
3724	req.SetContext(ctx)
3725	req.ApplyOptions(opts...)
3726	return out, req.Send()
3727}
3728
3729const opGetInsights = "GetInsights"
3730
3731// GetInsightsRequest generates a "aws/request.Request" representing the
3732// client's request for the GetInsights operation. The "output" return
3733// value will be populated with the request's response once the request completes
3734// successfully.
3735//
3736// Use "Send" method on the returned Request to send the API call to the service.
3737// the "output" return value is not valid until after Send returns without error.
3738//
3739// See GetInsights for more information on using the GetInsights
3740// API call, and error handling.
3741//
3742// This method is useful when you want to inject custom logic or configuration
3743// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3744//
3745//
3746//    // Example sending a request using the GetInsightsRequest method.
3747//    req, resp := client.GetInsightsRequest(params)
3748//
3749//    err := req.Send()
3750//    if err == nil { // resp is now filled
3751//        fmt.Println(resp)
3752//    }
3753//
3754// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsights
3755func (c *SecurityHub) GetInsightsRequest(input *GetInsightsInput) (req *request.Request, output *GetInsightsOutput) {
3756	op := &request.Operation{
3757		Name:       opGetInsights,
3758		HTTPMethod: "POST",
3759		HTTPPath:   "/insights/get",
3760		Paginator: &request.Paginator{
3761			InputTokens:     []string{"NextToken"},
3762			OutputTokens:    []string{"NextToken"},
3763			LimitToken:      "MaxResults",
3764			TruncationToken: "",
3765		},
3766	}
3767
3768	if input == nil {
3769		input = &GetInsightsInput{}
3770	}
3771
3772	output = &GetInsightsOutput{}
3773	req = c.newRequest(op, input, output)
3774	return
3775}
3776
3777// GetInsights API operation for AWS SecurityHub.
3778//
3779// Lists and describes insights for the specified insight ARNs.
3780//
3781// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3782// with awserr.Error's Code and Message methods to get detailed information about
3783// the error.
3784//
3785// See the AWS API reference guide for AWS SecurityHub's
3786// API operation GetInsights for usage and error information.
3787//
3788// Returned Error Types:
3789//   * InternalException
3790//   Internal server error.
3791//
3792//   * InvalidInputException
3793//   The request was rejected because you supplied an invalid or out-of-range
3794//   value for an input parameter.
3795//
3796//   * InvalidAccessException
3797//   There is an issue with the account used to make the request. Either Security
3798//   Hub is not enabled for the account, or the account does not have permission
3799//   to perform this action.
3800//
3801//   * LimitExceededException
3802//   The request was rejected because it attempted to create resources beyond
3803//   the current AWS account or throttling limits. The error code describes the
3804//   limit exceeded.
3805//
3806//   * ResourceNotFoundException
3807//   The request was rejected because we can't find the specified resource.
3808//
3809// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInsights
3810func (c *SecurityHub) GetInsights(input *GetInsightsInput) (*GetInsightsOutput, error) {
3811	req, out := c.GetInsightsRequest(input)
3812	return out, req.Send()
3813}
3814
3815// GetInsightsWithContext is the same as GetInsights with the addition of
3816// the ability to pass a context and additional request options.
3817//
3818// See GetInsights for details on how to use this API operation.
3819//
3820// The context must be non-nil and will be used for request cancellation. If
3821// the context is nil a panic will occur. In the future the SDK may create
3822// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3823// for more information on using Contexts.
3824func (c *SecurityHub) GetInsightsWithContext(ctx aws.Context, input *GetInsightsInput, opts ...request.Option) (*GetInsightsOutput, error) {
3825	req, out := c.GetInsightsRequest(input)
3826	req.SetContext(ctx)
3827	req.ApplyOptions(opts...)
3828	return out, req.Send()
3829}
3830
3831// GetInsightsPages iterates over the pages of a GetInsights operation,
3832// calling the "fn" function with the response data for each page. To stop
3833// iterating, return false from the fn function.
3834//
3835// See GetInsights method for more information on how to use this operation.
3836//
3837// Note: This operation can generate multiple requests to a service.
3838//
3839//    // Example iterating over at most 3 pages of a GetInsights operation.
3840//    pageNum := 0
3841//    err := client.GetInsightsPages(params,
3842//        func(page *securityhub.GetInsightsOutput, lastPage bool) bool {
3843//            pageNum++
3844//            fmt.Println(page)
3845//            return pageNum <= 3
3846//        })
3847//
3848func (c *SecurityHub) GetInsightsPages(input *GetInsightsInput, fn func(*GetInsightsOutput, bool) bool) error {
3849	return c.GetInsightsPagesWithContext(aws.BackgroundContext(), input, fn)
3850}
3851
3852// GetInsightsPagesWithContext same as GetInsightsPages except
3853// it takes a Context and allows setting request options on the pages.
3854//
3855// The context must be non-nil and will be used for request cancellation. If
3856// the context is nil a panic will occur. In the future the SDK may create
3857// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3858// for more information on using Contexts.
3859func (c *SecurityHub) GetInsightsPagesWithContext(ctx aws.Context, input *GetInsightsInput, fn func(*GetInsightsOutput, bool) bool, opts ...request.Option) error {
3860	p := request.Pagination{
3861		NewRequest: func() (*request.Request, error) {
3862			var inCpy *GetInsightsInput
3863			if input != nil {
3864				tmp := *input
3865				inCpy = &tmp
3866			}
3867			req, _ := c.GetInsightsRequest(inCpy)
3868			req.SetContext(ctx)
3869			req.ApplyOptions(opts...)
3870			return req, nil
3871		},
3872	}
3873
3874	for p.Next() {
3875		if !fn(p.Page().(*GetInsightsOutput), !p.HasNextPage()) {
3876			break
3877		}
3878	}
3879
3880	return p.Err()
3881}
3882
3883const opGetInvitationsCount = "GetInvitationsCount"
3884
3885// GetInvitationsCountRequest generates a "aws/request.Request" representing the
3886// client's request for the GetInvitationsCount operation. The "output" return
3887// value will be populated with the request's response once the request completes
3888// successfully.
3889//
3890// Use "Send" method on the returned Request to send the API call to the service.
3891// the "output" return value is not valid until after Send returns without error.
3892//
3893// See GetInvitationsCount for more information on using the GetInvitationsCount
3894// API call, and error handling.
3895//
3896// This method is useful when you want to inject custom logic or configuration
3897// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3898//
3899//
3900//    // Example sending a request using the GetInvitationsCountRequest method.
3901//    req, resp := client.GetInvitationsCountRequest(params)
3902//
3903//    err := req.Send()
3904//    if err == nil { // resp is now filled
3905//        fmt.Println(resp)
3906//    }
3907//
3908// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInvitationsCount
3909func (c *SecurityHub) GetInvitationsCountRequest(input *GetInvitationsCountInput) (req *request.Request, output *GetInvitationsCountOutput) {
3910	op := &request.Operation{
3911		Name:       opGetInvitationsCount,
3912		HTTPMethod: "GET",
3913		HTTPPath:   "/invitations/count",
3914	}
3915
3916	if input == nil {
3917		input = &GetInvitationsCountInput{}
3918	}
3919
3920	output = &GetInvitationsCountOutput{}
3921	req = c.newRequest(op, input, output)
3922	return
3923}
3924
3925// GetInvitationsCount API operation for AWS SecurityHub.
3926//
3927// Returns the count of all Security Hub membership invitations that were sent
3928// to the current member account, not including the currently accepted invitation.
3929//
3930// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3931// with awserr.Error's Code and Message methods to get detailed information about
3932// the error.
3933//
3934// See the AWS API reference guide for AWS SecurityHub's
3935// API operation GetInvitationsCount for usage and error information.
3936//
3937// Returned Error Types:
3938//   * InternalException
3939//   Internal server error.
3940//
3941//   * InvalidInputException
3942//   The request was rejected because you supplied an invalid or out-of-range
3943//   value for an input parameter.
3944//
3945//   * InvalidAccessException
3946//   There is an issue with the account used to make the request. Either Security
3947//   Hub is not enabled for the account, or the account does not have permission
3948//   to perform this action.
3949//
3950//   * LimitExceededException
3951//   The request was rejected because it attempted to create resources beyond
3952//   the current AWS account or throttling limits. The error code describes the
3953//   limit exceeded.
3954//
3955// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetInvitationsCount
3956func (c *SecurityHub) GetInvitationsCount(input *GetInvitationsCountInput) (*GetInvitationsCountOutput, error) {
3957	req, out := c.GetInvitationsCountRequest(input)
3958	return out, req.Send()
3959}
3960
3961// GetInvitationsCountWithContext is the same as GetInvitationsCount with the addition of
3962// the ability to pass a context and additional request options.
3963//
3964// See GetInvitationsCount for details on how to use this API operation.
3965//
3966// The context must be non-nil and will be used for request cancellation. If
3967// the context is nil a panic will occur. In the future the SDK may create
3968// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3969// for more information on using Contexts.
3970func (c *SecurityHub) GetInvitationsCountWithContext(ctx aws.Context, input *GetInvitationsCountInput, opts ...request.Option) (*GetInvitationsCountOutput, error) {
3971	req, out := c.GetInvitationsCountRequest(input)
3972	req.SetContext(ctx)
3973	req.ApplyOptions(opts...)
3974	return out, req.Send()
3975}
3976
3977const opGetMasterAccount = "GetMasterAccount"
3978
3979// GetMasterAccountRequest generates a "aws/request.Request" representing the
3980// client's request for the GetMasterAccount operation. The "output" return
3981// value will be populated with the request's response once the request completes
3982// successfully.
3983//
3984// Use "Send" method on the returned Request to send the API call to the service.
3985// the "output" return value is not valid until after Send returns without error.
3986//
3987// See GetMasterAccount for more information on using the GetMasterAccount
3988// API call, and error handling.
3989//
3990// This method is useful when you want to inject custom logic or configuration
3991// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3992//
3993//
3994//    // Example sending a request using the GetMasterAccountRequest method.
3995//    req, resp := client.GetMasterAccountRequest(params)
3996//
3997//    err := req.Send()
3998//    if err == nil { // resp is now filled
3999//        fmt.Println(resp)
4000//    }
4001//
4002// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMasterAccount
4003//
4004// Deprecated: This API has been deprecated, use GetAdministratorAccount API instead.
4005func (c *SecurityHub) GetMasterAccountRequest(input *GetMasterAccountInput) (req *request.Request, output *GetMasterAccountOutput) {
4006	if c.Client.Config.Logger != nil {
4007		c.Client.Config.Logger.Log("This operation, GetMasterAccount, has been deprecated")
4008	}
4009	op := &request.Operation{
4010		Name:       opGetMasterAccount,
4011		HTTPMethod: "GET",
4012		HTTPPath:   "/master",
4013	}
4014
4015	if input == nil {
4016		input = &GetMasterAccountInput{}
4017	}
4018
4019	output = &GetMasterAccountOutput{}
4020	req = c.newRequest(op, input, output)
4021	return
4022}
4023
4024// GetMasterAccount API operation for AWS SecurityHub.
4025//
4026// This method is deprecated. Instead, use GetAdministratorAccount.
4027//
4028// The Security Hub console continues to use GetMasterAccount. It will eventually
4029// change to use GetAdministratorAccount. Any IAM policies that specifically
4030// control access to this function must continue to use GetMasterAccount. You
4031// should also add GetAdministratorAccount to your policies to ensure that the
4032// correct permissions are in place after the console begins to use GetAdministratorAccount.
4033//
4034// Provides the details for the Security Hub administrator account for the current
4035// member account.
4036//
4037// Can be used by both member accounts that are managed using Organizations
4038// and accounts that were invited manually.
4039//
4040// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4041// with awserr.Error's Code and Message methods to get detailed information about
4042// the error.
4043//
4044// See the AWS API reference guide for AWS SecurityHub's
4045// API operation GetMasterAccount for usage and error information.
4046//
4047// Returned Error Types:
4048//   * InternalException
4049//   Internal server error.
4050//
4051//   * InvalidInputException
4052//   The request was rejected because you supplied an invalid or out-of-range
4053//   value for an input parameter.
4054//
4055//   * InvalidAccessException
4056//   There is an issue with the account used to make the request. Either Security
4057//   Hub is not enabled for the account, or the account does not have permission
4058//   to perform this action.
4059//
4060//   * LimitExceededException
4061//   The request was rejected because it attempted to create resources beyond
4062//   the current AWS account or throttling limits. The error code describes the
4063//   limit exceeded.
4064//
4065//   * ResourceNotFoundException
4066//   The request was rejected because we can't find the specified resource.
4067//
4068// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMasterAccount
4069//
4070// Deprecated: This API has been deprecated, use GetAdministratorAccount API instead.
4071func (c *SecurityHub) GetMasterAccount(input *GetMasterAccountInput) (*GetMasterAccountOutput, error) {
4072	req, out := c.GetMasterAccountRequest(input)
4073	return out, req.Send()
4074}
4075
4076// GetMasterAccountWithContext is the same as GetMasterAccount with the addition of
4077// the ability to pass a context and additional request options.
4078//
4079// See GetMasterAccount for details on how to use this API operation.
4080//
4081// The context must be non-nil and will be used for request cancellation. If
4082// the context is nil a panic will occur. In the future the SDK may create
4083// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4084// for more information on using Contexts.
4085//
4086// Deprecated: This API has been deprecated, use GetAdministratorAccount API instead.
4087func (c *SecurityHub) GetMasterAccountWithContext(ctx aws.Context, input *GetMasterAccountInput, opts ...request.Option) (*GetMasterAccountOutput, error) {
4088	req, out := c.GetMasterAccountRequest(input)
4089	req.SetContext(ctx)
4090	req.ApplyOptions(opts...)
4091	return out, req.Send()
4092}
4093
4094const opGetMembers = "GetMembers"
4095
4096// GetMembersRequest generates a "aws/request.Request" representing the
4097// client's request for the GetMembers operation. The "output" return
4098// value will be populated with the request's response once the request completes
4099// successfully.
4100//
4101// Use "Send" method on the returned Request to send the API call to the service.
4102// the "output" return value is not valid until after Send returns without error.
4103//
4104// See GetMembers for more information on using the GetMembers
4105// API call, and error handling.
4106//
4107// This method is useful when you want to inject custom logic or configuration
4108// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4109//
4110//
4111//    // Example sending a request using the GetMembersRequest method.
4112//    req, resp := client.GetMembersRequest(params)
4113//
4114//    err := req.Send()
4115//    if err == nil { // resp is now filled
4116//        fmt.Println(resp)
4117//    }
4118//
4119// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMembers
4120func (c *SecurityHub) GetMembersRequest(input *GetMembersInput) (req *request.Request, output *GetMembersOutput) {
4121	op := &request.Operation{
4122		Name:       opGetMembers,
4123		HTTPMethod: "POST",
4124		HTTPPath:   "/members/get",
4125	}
4126
4127	if input == nil {
4128		input = &GetMembersInput{}
4129	}
4130
4131	output = &GetMembersOutput{}
4132	req = c.newRequest(op, input, output)
4133	return
4134}
4135
4136// GetMembers API operation for AWS SecurityHub.
4137//
4138// Returns the details for the Security Hub member accounts for the specified
4139// account IDs.
4140//
4141// An administrator account can be either the delegated Security Hub administrator
4142// account for an organization or an administrator account that enabled Security
4143// Hub manually.
4144//
4145// The results include both member accounts that are managed using Organizations
4146// and accounts that were invited manually.
4147//
4148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4149// with awserr.Error's Code and Message methods to get detailed information about
4150// the error.
4151//
4152// See the AWS API reference guide for AWS SecurityHub's
4153// API operation GetMembers for usage and error information.
4154//
4155// Returned Error Types:
4156//   * InternalException
4157//   Internal server error.
4158//
4159//   * InvalidInputException
4160//   The request was rejected because you supplied an invalid or out-of-range
4161//   value for an input parameter.
4162//
4163//   * InvalidAccessException
4164//   There is an issue with the account used to make the request. Either Security
4165//   Hub is not enabled for the account, or the account does not have permission
4166//   to perform this action.
4167//
4168//   * LimitExceededException
4169//   The request was rejected because it attempted to create resources beyond
4170//   the current AWS account or throttling limits. The error code describes the
4171//   limit exceeded.
4172//
4173//   * ResourceNotFoundException
4174//   The request was rejected because we can't find the specified resource.
4175//
4176// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/GetMembers
4177func (c *SecurityHub) GetMembers(input *GetMembersInput) (*GetMembersOutput, error) {
4178	req, out := c.GetMembersRequest(input)
4179	return out, req.Send()
4180}
4181
4182// GetMembersWithContext is the same as GetMembers with the addition of
4183// the ability to pass a context and additional request options.
4184//
4185// See GetMembers for details on how to use this API operation.
4186//
4187// The context must be non-nil and will be used for request cancellation. If
4188// the context is nil a panic will occur. In the future the SDK may create
4189// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4190// for more information on using Contexts.
4191func (c *SecurityHub) GetMembersWithContext(ctx aws.Context, input *GetMembersInput, opts ...request.Option) (*GetMembersOutput, error) {
4192	req, out := c.GetMembersRequest(input)
4193	req.SetContext(ctx)
4194	req.ApplyOptions(opts...)
4195	return out, req.Send()
4196}
4197
4198const opInviteMembers = "InviteMembers"
4199
4200// InviteMembersRequest generates a "aws/request.Request" representing the
4201// client's request for the InviteMembers operation. The "output" return
4202// value will be populated with the request's response once the request completes
4203// successfully.
4204//
4205// Use "Send" method on the returned Request to send the API call to the service.
4206// the "output" return value is not valid until after Send returns without error.
4207//
4208// See InviteMembers for more information on using the InviteMembers
4209// API call, and error handling.
4210//
4211// This method is useful when you want to inject custom logic or configuration
4212// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4213//
4214//
4215//    // Example sending a request using the InviteMembersRequest method.
4216//    req, resp := client.InviteMembersRequest(params)
4217//
4218//    err := req.Send()
4219//    if err == nil { // resp is now filled
4220//        fmt.Println(resp)
4221//    }
4222//
4223// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/InviteMembers
4224func (c *SecurityHub) InviteMembersRequest(input *InviteMembersInput) (req *request.Request, output *InviteMembersOutput) {
4225	op := &request.Operation{
4226		Name:       opInviteMembers,
4227		HTTPMethod: "POST",
4228		HTTPPath:   "/members/invite",
4229	}
4230
4231	if input == nil {
4232		input = &InviteMembersInput{}
4233	}
4234
4235	output = &InviteMembersOutput{}
4236	req = c.newRequest(op, input, output)
4237	return
4238}
4239
4240// InviteMembers API operation for AWS SecurityHub.
4241//
4242// Invites other AWS accounts to become member accounts for the Security Hub
4243// administrator account that the invitation is sent from.
4244//
4245// This operation is only used to invite accounts that do not belong to an organization.
4246// Organization accounts do not receive invitations.
4247//
4248// Before you can use this action to invite a member, you must first use the
4249// CreateMembers action to create the member account in Security Hub.
4250//
4251// When the account owner enables Security Hub and accepts the invitation to
4252// become a member account, the administrator account can view the findings
4253// generated from the member account.
4254//
4255// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4256// with awserr.Error's Code and Message methods to get detailed information about
4257// the error.
4258//
4259// See the AWS API reference guide for AWS SecurityHub's
4260// API operation InviteMembers for usage and error information.
4261//
4262// Returned Error Types:
4263//   * InternalException
4264//   Internal server error.
4265//
4266//   * InvalidInputException
4267//   The request was rejected because you supplied an invalid or out-of-range
4268//   value for an input parameter.
4269//
4270//   * InvalidAccessException
4271//   There is an issue with the account used to make the request. Either Security
4272//   Hub is not enabled for the account, or the account does not have permission
4273//   to perform this action.
4274//
4275//   * LimitExceededException
4276//   The request was rejected because it attempted to create resources beyond
4277//   the current AWS account or throttling limits. The error code describes the
4278//   limit exceeded.
4279//
4280//   * ResourceNotFoundException
4281//   The request was rejected because we can't find the specified resource.
4282//
4283// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/InviteMembers
4284func (c *SecurityHub) InviteMembers(input *InviteMembersInput) (*InviteMembersOutput, error) {
4285	req, out := c.InviteMembersRequest(input)
4286	return out, req.Send()
4287}
4288
4289// InviteMembersWithContext is the same as InviteMembers with the addition of
4290// the ability to pass a context and additional request options.
4291//
4292// See InviteMembers for details on how to use this API operation.
4293//
4294// The context must be non-nil and will be used for request cancellation. If
4295// the context is nil a panic will occur. In the future the SDK may create
4296// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4297// for more information on using Contexts.
4298func (c *SecurityHub) InviteMembersWithContext(ctx aws.Context, input *InviteMembersInput, opts ...request.Option) (*InviteMembersOutput, error) {
4299	req, out := c.InviteMembersRequest(input)
4300	req.SetContext(ctx)
4301	req.ApplyOptions(opts...)
4302	return out, req.Send()
4303}
4304
4305const opListEnabledProductsForImport = "ListEnabledProductsForImport"
4306
4307// ListEnabledProductsForImportRequest generates a "aws/request.Request" representing the
4308// client's request for the ListEnabledProductsForImport operation. The "output" return
4309// value will be populated with the request's response once the request completes
4310// successfully.
4311//
4312// Use "Send" method on the returned Request to send the API call to the service.
4313// the "output" return value is not valid until after Send returns without error.
4314//
4315// See ListEnabledProductsForImport for more information on using the ListEnabledProductsForImport
4316// API call, and error handling.
4317//
4318// This method is useful when you want to inject custom logic or configuration
4319// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4320//
4321//
4322//    // Example sending a request using the ListEnabledProductsForImportRequest method.
4323//    req, resp := client.ListEnabledProductsForImportRequest(params)
4324//
4325//    err := req.Send()
4326//    if err == nil { // resp is now filled
4327//        fmt.Println(resp)
4328//    }
4329//
4330// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListEnabledProductsForImport
4331func (c *SecurityHub) ListEnabledProductsForImportRequest(input *ListEnabledProductsForImportInput) (req *request.Request, output *ListEnabledProductsForImportOutput) {
4332	op := &request.Operation{
4333		Name:       opListEnabledProductsForImport,
4334		HTTPMethod: "GET",
4335		HTTPPath:   "/productSubscriptions",
4336		Paginator: &request.Paginator{
4337			InputTokens:     []string{"NextToken"},
4338			OutputTokens:    []string{"NextToken"},
4339			LimitToken:      "MaxResults",
4340			TruncationToken: "",
4341		},
4342	}
4343
4344	if input == nil {
4345		input = &ListEnabledProductsForImportInput{}
4346	}
4347
4348	output = &ListEnabledProductsForImportOutput{}
4349	req = c.newRequest(op, input, output)
4350	return
4351}
4352
4353// ListEnabledProductsForImport API operation for AWS SecurityHub.
4354//
4355// Lists all findings-generating solutions (products) that you are subscribed
4356// to receive findings from in Security Hub.
4357//
4358// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4359// with awserr.Error's Code and Message methods to get detailed information about
4360// the error.
4361//
4362// See the AWS API reference guide for AWS SecurityHub's
4363// API operation ListEnabledProductsForImport for usage and error information.
4364//
4365// Returned Error Types:
4366//   * InternalException
4367//   Internal server error.
4368//
4369//   * LimitExceededException
4370//   The request was rejected because it attempted to create resources beyond
4371//   the current AWS account or throttling limits. The error code describes the
4372//   limit exceeded.
4373//
4374//   * InvalidAccessException
4375//   There is an issue with the account used to make the request. Either Security
4376//   Hub is not enabled for the account, or the account does not have permission
4377//   to perform this action.
4378//
4379// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListEnabledProductsForImport
4380func (c *SecurityHub) ListEnabledProductsForImport(input *ListEnabledProductsForImportInput) (*ListEnabledProductsForImportOutput, error) {
4381	req, out := c.ListEnabledProductsForImportRequest(input)
4382	return out, req.Send()
4383}
4384
4385// ListEnabledProductsForImportWithContext is the same as ListEnabledProductsForImport with the addition of
4386// the ability to pass a context and additional request options.
4387//
4388// See ListEnabledProductsForImport for details on how to use this API operation.
4389//
4390// The context must be non-nil and will be used for request cancellation. If
4391// the context is nil a panic will occur. In the future the SDK may create
4392// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4393// for more information on using Contexts.
4394func (c *SecurityHub) ListEnabledProductsForImportWithContext(ctx aws.Context, input *ListEnabledProductsForImportInput, opts ...request.Option) (*ListEnabledProductsForImportOutput, error) {
4395	req, out := c.ListEnabledProductsForImportRequest(input)
4396	req.SetContext(ctx)
4397	req.ApplyOptions(opts...)
4398	return out, req.Send()
4399}
4400
4401// ListEnabledProductsForImportPages iterates over the pages of a ListEnabledProductsForImport operation,
4402// calling the "fn" function with the response data for each page. To stop
4403// iterating, return false from the fn function.
4404//
4405// See ListEnabledProductsForImport method for more information on how to use this operation.
4406//
4407// Note: This operation can generate multiple requests to a service.
4408//
4409//    // Example iterating over at most 3 pages of a ListEnabledProductsForImport operation.
4410//    pageNum := 0
4411//    err := client.ListEnabledProductsForImportPages(params,
4412//        func(page *securityhub.ListEnabledProductsForImportOutput, lastPage bool) bool {
4413//            pageNum++
4414//            fmt.Println(page)
4415//            return pageNum <= 3
4416//        })
4417//
4418func (c *SecurityHub) ListEnabledProductsForImportPages(input *ListEnabledProductsForImportInput, fn func(*ListEnabledProductsForImportOutput, bool) bool) error {
4419	return c.ListEnabledProductsForImportPagesWithContext(aws.BackgroundContext(), input, fn)
4420}
4421
4422// ListEnabledProductsForImportPagesWithContext same as ListEnabledProductsForImportPages except
4423// it takes a Context and allows setting request options on the pages.
4424//
4425// The context must be non-nil and will be used for request cancellation. If
4426// the context is nil a panic will occur. In the future the SDK may create
4427// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4428// for more information on using Contexts.
4429func (c *SecurityHub) ListEnabledProductsForImportPagesWithContext(ctx aws.Context, input *ListEnabledProductsForImportInput, fn func(*ListEnabledProductsForImportOutput, bool) bool, opts ...request.Option) error {
4430	p := request.Pagination{
4431		NewRequest: func() (*request.Request, error) {
4432			var inCpy *ListEnabledProductsForImportInput
4433			if input != nil {
4434				tmp := *input
4435				inCpy = &tmp
4436			}
4437			req, _ := c.ListEnabledProductsForImportRequest(inCpy)
4438			req.SetContext(ctx)
4439			req.ApplyOptions(opts...)
4440			return req, nil
4441		},
4442	}
4443
4444	for p.Next() {
4445		if !fn(p.Page().(*ListEnabledProductsForImportOutput), !p.HasNextPage()) {
4446			break
4447		}
4448	}
4449
4450	return p.Err()
4451}
4452
4453const opListInvitations = "ListInvitations"
4454
4455// ListInvitationsRequest generates a "aws/request.Request" representing the
4456// client's request for the ListInvitations operation. The "output" return
4457// value will be populated with the request's response once the request completes
4458// successfully.
4459//
4460// Use "Send" method on the returned Request to send the API call to the service.
4461// the "output" return value is not valid until after Send returns without error.
4462//
4463// See ListInvitations for more information on using the ListInvitations
4464// API call, and error handling.
4465//
4466// This method is useful when you want to inject custom logic or configuration
4467// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4468//
4469//
4470//    // Example sending a request using the ListInvitationsRequest method.
4471//    req, resp := client.ListInvitationsRequest(params)
4472//
4473//    err := req.Send()
4474//    if err == nil { // resp is now filled
4475//        fmt.Println(resp)
4476//    }
4477//
4478// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListInvitations
4479func (c *SecurityHub) ListInvitationsRequest(input *ListInvitationsInput) (req *request.Request, output *ListInvitationsOutput) {
4480	op := &request.Operation{
4481		Name:       opListInvitations,
4482		HTTPMethod: "GET",
4483		HTTPPath:   "/invitations",
4484		Paginator: &request.Paginator{
4485			InputTokens:     []string{"NextToken"},
4486			OutputTokens:    []string{"NextToken"},
4487			LimitToken:      "MaxResults",
4488			TruncationToken: "",
4489		},
4490	}
4491
4492	if input == nil {
4493		input = &ListInvitationsInput{}
4494	}
4495
4496	output = &ListInvitationsOutput{}
4497	req = c.newRequest(op, input, output)
4498	return
4499}
4500
4501// ListInvitations API operation for AWS SecurityHub.
4502//
4503// Lists all Security Hub membership invitations that were sent to the current
4504// AWS account.
4505//
4506// This operation is only used by accounts that are managed by invitation. Accounts
4507// that are managed using the integration with AWS Organizations do not receive
4508// invitations.
4509//
4510// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4511// with awserr.Error's Code and Message methods to get detailed information about
4512// the error.
4513//
4514// See the AWS API reference guide for AWS SecurityHub's
4515// API operation ListInvitations for usage and error information.
4516//
4517// Returned Error Types:
4518//   * InternalException
4519//   Internal server error.
4520//
4521//   * InvalidInputException
4522//   The request was rejected because you supplied an invalid or out-of-range
4523//   value for an input parameter.
4524//
4525//   * InvalidAccessException
4526//   There is an issue with the account used to make the request. Either Security
4527//   Hub is not enabled for the account, or the account does not have permission
4528//   to perform this action.
4529//
4530//   * LimitExceededException
4531//   The request was rejected because it attempted to create resources beyond
4532//   the current AWS account or throttling limits. The error code describes the
4533//   limit exceeded.
4534//
4535// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListInvitations
4536func (c *SecurityHub) ListInvitations(input *ListInvitationsInput) (*ListInvitationsOutput, error) {
4537	req, out := c.ListInvitationsRequest(input)
4538	return out, req.Send()
4539}
4540
4541// ListInvitationsWithContext is the same as ListInvitations with the addition of
4542// the ability to pass a context and additional request options.
4543//
4544// See ListInvitations for details on how to use this API operation.
4545//
4546// The context must be non-nil and will be used for request cancellation. If
4547// the context is nil a panic will occur. In the future the SDK may create
4548// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4549// for more information on using Contexts.
4550func (c *SecurityHub) ListInvitationsWithContext(ctx aws.Context, input *ListInvitationsInput, opts ...request.Option) (*ListInvitationsOutput, error) {
4551	req, out := c.ListInvitationsRequest(input)
4552	req.SetContext(ctx)
4553	req.ApplyOptions(opts...)
4554	return out, req.Send()
4555}
4556
4557// ListInvitationsPages iterates over the pages of a ListInvitations operation,
4558// calling the "fn" function with the response data for each page. To stop
4559// iterating, return false from the fn function.
4560//
4561// See ListInvitations method for more information on how to use this operation.
4562//
4563// Note: This operation can generate multiple requests to a service.
4564//
4565//    // Example iterating over at most 3 pages of a ListInvitations operation.
4566//    pageNum := 0
4567//    err := client.ListInvitationsPages(params,
4568//        func(page *securityhub.ListInvitationsOutput, lastPage bool) bool {
4569//            pageNum++
4570//            fmt.Println(page)
4571//            return pageNum <= 3
4572//        })
4573//
4574func (c *SecurityHub) ListInvitationsPages(input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool) error {
4575	return c.ListInvitationsPagesWithContext(aws.BackgroundContext(), input, fn)
4576}
4577
4578// ListInvitationsPagesWithContext same as ListInvitationsPages except
4579// it takes a Context and allows setting request options on the pages.
4580//
4581// The context must be non-nil and will be used for request cancellation. If
4582// the context is nil a panic will occur. In the future the SDK may create
4583// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4584// for more information on using Contexts.
4585func (c *SecurityHub) ListInvitationsPagesWithContext(ctx aws.Context, input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool, opts ...request.Option) error {
4586	p := request.Pagination{
4587		NewRequest: func() (*request.Request, error) {
4588			var inCpy *ListInvitationsInput
4589			if input != nil {
4590				tmp := *input
4591				inCpy = &tmp
4592			}
4593			req, _ := c.ListInvitationsRequest(inCpy)
4594			req.SetContext(ctx)
4595			req.ApplyOptions(opts...)
4596			return req, nil
4597		},
4598	}
4599
4600	for p.Next() {
4601		if !fn(p.Page().(*ListInvitationsOutput), !p.HasNextPage()) {
4602			break
4603		}
4604	}
4605
4606	return p.Err()
4607}
4608
4609const opListMembers = "ListMembers"
4610
4611// ListMembersRequest generates a "aws/request.Request" representing the
4612// client's request for the ListMembers operation. The "output" return
4613// value will be populated with the request's response once the request completes
4614// successfully.
4615//
4616// Use "Send" method on the returned Request to send the API call to the service.
4617// the "output" return value is not valid until after Send returns without error.
4618//
4619// See ListMembers for more information on using the ListMembers
4620// API call, and error handling.
4621//
4622// This method is useful when you want to inject custom logic or configuration
4623// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4624//
4625//
4626//    // Example sending a request using the ListMembersRequest method.
4627//    req, resp := client.ListMembersRequest(params)
4628//
4629//    err := req.Send()
4630//    if err == nil { // resp is now filled
4631//        fmt.Println(resp)
4632//    }
4633//
4634// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListMembers
4635func (c *SecurityHub) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) {
4636	op := &request.Operation{
4637		Name:       opListMembers,
4638		HTTPMethod: "GET",
4639		HTTPPath:   "/members",
4640		Paginator: &request.Paginator{
4641			InputTokens:     []string{"NextToken"},
4642			OutputTokens:    []string{"NextToken"},
4643			LimitToken:      "MaxResults",
4644			TruncationToken: "",
4645		},
4646	}
4647
4648	if input == nil {
4649		input = &ListMembersInput{}
4650	}
4651
4652	output = &ListMembersOutput{}
4653	req = c.newRequest(op, input, output)
4654	return
4655}
4656
4657// ListMembers API operation for AWS SecurityHub.
4658//
4659// Lists details about all member accounts for the current Security Hub administrator
4660// account.
4661//
4662// The results include both member accounts that belong to an organization and
4663// member accounts that were invited manually.
4664//
4665// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4666// with awserr.Error's Code and Message methods to get detailed information about
4667// the error.
4668//
4669// See the AWS API reference guide for AWS SecurityHub's
4670// API operation ListMembers for usage and error information.
4671//
4672// Returned Error Types:
4673//   * InternalException
4674//   Internal server error.
4675//
4676//   * InvalidInputException
4677//   The request was rejected because you supplied an invalid or out-of-range
4678//   value for an input parameter.
4679//
4680//   * InvalidAccessException
4681//   There is an issue with the account used to make the request. Either Security
4682//   Hub is not enabled for the account, or the account does not have permission
4683//   to perform this action.
4684//
4685//   * LimitExceededException
4686//   The request was rejected because it attempted to create resources beyond
4687//   the current AWS account or throttling limits. The error code describes the
4688//   limit exceeded.
4689//
4690// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListMembers
4691func (c *SecurityHub) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) {
4692	req, out := c.ListMembersRequest(input)
4693	return out, req.Send()
4694}
4695
4696// ListMembersWithContext is the same as ListMembers with the addition of
4697// the ability to pass a context and additional request options.
4698//
4699// See ListMembers for details on how to use this API operation.
4700//
4701// The context must be non-nil and will be used for request cancellation. If
4702// the context is nil a panic will occur. In the future the SDK may create
4703// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4704// for more information on using Contexts.
4705func (c *SecurityHub) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) {
4706	req, out := c.ListMembersRequest(input)
4707	req.SetContext(ctx)
4708	req.ApplyOptions(opts...)
4709	return out, req.Send()
4710}
4711
4712// ListMembersPages iterates over the pages of a ListMembers operation,
4713// calling the "fn" function with the response data for each page. To stop
4714// iterating, return false from the fn function.
4715//
4716// See ListMembers method for more information on how to use this operation.
4717//
4718// Note: This operation can generate multiple requests to a service.
4719//
4720//    // Example iterating over at most 3 pages of a ListMembers operation.
4721//    pageNum := 0
4722//    err := client.ListMembersPages(params,
4723//        func(page *securityhub.ListMembersOutput, lastPage bool) bool {
4724//            pageNum++
4725//            fmt.Println(page)
4726//            return pageNum <= 3
4727//        })
4728//
4729func (c *SecurityHub) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error {
4730	return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn)
4731}
4732
4733// ListMembersPagesWithContext same as ListMembersPages except
4734// it takes a Context and allows setting request options on the pages.
4735//
4736// The context must be non-nil and will be used for request cancellation. If
4737// the context is nil a panic will occur. In the future the SDK may create
4738// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4739// for more information on using Contexts.
4740func (c *SecurityHub) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error {
4741	p := request.Pagination{
4742		NewRequest: func() (*request.Request, error) {
4743			var inCpy *ListMembersInput
4744			if input != nil {
4745				tmp := *input
4746				inCpy = &tmp
4747			}
4748			req, _ := c.ListMembersRequest(inCpy)
4749			req.SetContext(ctx)
4750			req.ApplyOptions(opts...)
4751			return req, nil
4752		},
4753	}
4754
4755	for p.Next() {
4756		if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) {
4757			break
4758		}
4759	}
4760
4761	return p.Err()
4762}
4763
4764const opListOrganizationAdminAccounts = "ListOrganizationAdminAccounts"
4765
4766// ListOrganizationAdminAccountsRequest generates a "aws/request.Request" representing the
4767// client's request for the ListOrganizationAdminAccounts operation. The "output" return
4768// value will be populated with the request's response once the request completes
4769// successfully.
4770//
4771// Use "Send" method on the returned Request to send the API call to the service.
4772// the "output" return value is not valid until after Send returns without error.
4773//
4774// See ListOrganizationAdminAccounts for more information on using the ListOrganizationAdminAccounts
4775// API call, and error handling.
4776//
4777// This method is useful when you want to inject custom logic or configuration
4778// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4779//
4780//
4781//    // Example sending a request using the ListOrganizationAdminAccountsRequest method.
4782//    req, resp := client.ListOrganizationAdminAccountsRequest(params)
4783//
4784//    err := req.Send()
4785//    if err == nil { // resp is now filled
4786//        fmt.Println(resp)
4787//    }
4788//
4789// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListOrganizationAdminAccounts
4790func (c *SecurityHub) ListOrganizationAdminAccountsRequest(input *ListOrganizationAdminAccountsInput) (req *request.Request, output *ListOrganizationAdminAccountsOutput) {
4791	op := &request.Operation{
4792		Name:       opListOrganizationAdminAccounts,
4793		HTTPMethod: "GET",
4794		HTTPPath:   "/organization/admin",
4795		Paginator: &request.Paginator{
4796			InputTokens:     []string{"NextToken"},
4797			OutputTokens:    []string{"NextToken"},
4798			LimitToken:      "MaxResults",
4799			TruncationToken: "",
4800		},
4801	}
4802
4803	if input == nil {
4804		input = &ListOrganizationAdminAccountsInput{}
4805	}
4806
4807	output = &ListOrganizationAdminAccountsOutput{}
4808	req = c.newRequest(op, input, output)
4809	return
4810}
4811
4812// ListOrganizationAdminAccounts API operation for AWS SecurityHub.
4813//
4814// Lists the Security Hub administrator accounts. Can only be called by the
4815// organization management account.
4816//
4817// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4818// with awserr.Error's Code and Message methods to get detailed information about
4819// the error.
4820//
4821// See the AWS API reference guide for AWS SecurityHub's
4822// API operation ListOrganizationAdminAccounts for usage and error information.
4823//
4824// Returned Error Types:
4825//   * InternalException
4826//   Internal server error.
4827//
4828//   * InvalidInputException
4829//   The request was rejected because you supplied an invalid or out-of-range
4830//   value for an input parameter.
4831//
4832//   * InvalidAccessException
4833//   There is an issue with the account used to make the request. Either Security
4834//   Hub is not enabled for the account, or the account does not have permission
4835//   to perform this action.
4836//
4837//   * LimitExceededException
4838//   The request was rejected because it attempted to create resources beyond
4839//   the current AWS account or throttling limits. The error code describes the
4840//   limit exceeded.
4841//
4842// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListOrganizationAdminAccounts
4843func (c *SecurityHub) ListOrganizationAdminAccounts(input *ListOrganizationAdminAccountsInput) (*ListOrganizationAdminAccountsOutput, error) {
4844	req, out := c.ListOrganizationAdminAccountsRequest(input)
4845	return out, req.Send()
4846}
4847
4848// ListOrganizationAdminAccountsWithContext is the same as ListOrganizationAdminAccounts with the addition of
4849// the ability to pass a context and additional request options.
4850//
4851// See ListOrganizationAdminAccounts for details on how to use this API operation.
4852//
4853// The context must be non-nil and will be used for request cancellation. If
4854// the context is nil a panic will occur. In the future the SDK may create
4855// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4856// for more information on using Contexts.
4857func (c *SecurityHub) ListOrganizationAdminAccountsWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, opts ...request.Option) (*ListOrganizationAdminAccountsOutput, error) {
4858	req, out := c.ListOrganizationAdminAccountsRequest(input)
4859	req.SetContext(ctx)
4860	req.ApplyOptions(opts...)
4861	return out, req.Send()
4862}
4863
4864// ListOrganizationAdminAccountsPages iterates over the pages of a ListOrganizationAdminAccounts operation,
4865// calling the "fn" function with the response data for each page. To stop
4866// iterating, return false from the fn function.
4867//
4868// See ListOrganizationAdminAccounts method for more information on how to use this operation.
4869//
4870// Note: This operation can generate multiple requests to a service.
4871//
4872//    // Example iterating over at most 3 pages of a ListOrganizationAdminAccounts operation.
4873//    pageNum := 0
4874//    err := client.ListOrganizationAdminAccountsPages(params,
4875//        func(page *securityhub.ListOrganizationAdminAccountsOutput, lastPage bool) bool {
4876//            pageNum++
4877//            fmt.Println(page)
4878//            return pageNum <= 3
4879//        })
4880//
4881func (c *SecurityHub) ListOrganizationAdminAccountsPages(input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool) error {
4882	return c.ListOrganizationAdminAccountsPagesWithContext(aws.BackgroundContext(), input, fn)
4883}
4884
4885// ListOrganizationAdminAccountsPagesWithContext same as ListOrganizationAdminAccountsPages except
4886// it takes a Context and allows setting request options on the pages.
4887//
4888// The context must be non-nil and will be used for request cancellation. If
4889// the context is nil a panic will occur. In the future the SDK may create
4890// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4891// for more information on using Contexts.
4892func (c *SecurityHub) ListOrganizationAdminAccountsPagesWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool, opts ...request.Option) error {
4893	p := request.Pagination{
4894		NewRequest: func() (*request.Request, error) {
4895			var inCpy *ListOrganizationAdminAccountsInput
4896			if input != nil {
4897				tmp := *input
4898				inCpy = &tmp
4899			}
4900			req, _ := c.ListOrganizationAdminAccountsRequest(inCpy)
4901			req.SetContext(ctx)
4902			req.ApplyOptions(opts...)
4903			return req, nil
4904		},
4905	}
4906
4907	for p.Next() {
4908		if !fn(p.Page().(*ListOrganizationAdminAccountsOutput), !p.HasNextPage()) {
4909			break
4910		}
4911	}
4912
4913	return p.Err()
4914}
4915
4916const opListTagsForResource = "ListTagsForResource"
4917
4918// ListTagsForResourceRequest generates a "aws/request.Request" representing the
4919// client's request for the ListTagsForResource operation. The "output" return
4920// value will be populated with the request's response once the request completes
4921// successfully.
4922//
4923// Use "Send" method on the returned Request to send the API call to the service.
4924// the "output" return value is not valid until after Send returns without error.
4925//
4926// See ListTagsForResource for more information on using the ListTagsForResource
4927// API call, and error handling.
4928//
4929// This method is useful when you want to inject custom logic or configuration
4930// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4931//
4932//
4933//    // Example sending a request using the ListTagsForResourceRequest method.
4934//    req, resp := client.ListTagsForResourceRequest(params)
4935//
4936//    err := req.Send()
4937//    if err == nil { // resp is now filled
4938//        fmt.Println(resp)
4939//    }
4940//
4941// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListTagsForResource
4942func (c *SecurityHub) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
4943	op := &request.Operation{
4944		Name:       opListTagsForResource,
4945		HTTPMethod: "GET",
4946		HTTPPath:   "/tags/{ResourceArn}",
4947	}
4948
4949	if input == nil {
4950		input = &ListTagsForResourceInput{}
4951	}
4952
4953	output = &ListTagsForResourceOutput{}
4954	req = c.newRequest(op, input, output)
4955	return
4956}
4957
4958// ListTagsForResource API operation for AWS SecurityHub.
4959//
4960// Returns a list of tags associated with a resource.
4961//
4962// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4963// with awserr.Error's Code and Message methods to get detailed information about
4964// the error.
4965//
4966// See the AWS API reference guide for AWS SecurityHub's
4967// API operation ListTagsForResource for usage and error information.
4968//
4969// Returned Error Types:
4970//   * InternalException
4971//   Internal server error.
4972//
4973//   * InvalidInputException
4974//   The request was rejected because you supplied an invalid or out-of-range
4975//   value for an input parameter.
4976//
4977//   * ResourceNotFoundException
4978//   The request was rejected because we can't find the specified resource.
4979//
4980// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/ListTagsForResource
4981func (c *SecurityHub) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4982	req, out := c.ListTagsForResourceRequest(input)
4983	return out, req.Send()
4984}
4985
4986// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4987// the ability to pass a context and additional request options.
4988//
4989// See ListTagsForResource for details on how to use this API operation.
4990//
4991// The context must be non-nil and will be used for request cancellation. If
4992// the context is nil a panic will occur. In the future the SDK may create
4993// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4994// for more information on using Contexts.
4995func (c *SecurityHub) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4996	req, out := c.ListTagsForResourceRequest(input)
4997	req.SetContext(ctx)
4998	req.ApplyOptions(opts...)
4999	return out, req.Send()
5000}
5001
5002const opTagResource = "TagResource"
5003
5004// TagResourceRequest generates a "aws/request.Request" representing the
5005// client's request for the TagResource operation. The "output" return
5006// value will be populated with the request's response once the request completes
5007// successfully.
5008//
5009// Use "Send" method on the returned Request to send the API call to the service.
5010// the "output" return value is not valid until after Send returns without error.
5011//
5012// See TagResource for more information on using the TagResource
5013// API call, and error handling.
5014//
5015// This method is useful when you want to inject custom logic or configuration
5016// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5017//
5018//
5019//    // Example sending a request using the TagResourceRequest method.
5020//    req, resp := client.TagResourceRequest(params)
5021//
5022//    err := req.Send()
5023//    if err == nil { // resp is now filled
5024//        fmt.Println(resp)
5025//    }
5026//
5027// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/TagResource
5028func (c *SecurityHub) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
5029	op := &request.Operation{
5030		Name:       opTagResource,
5031		HTTPMethod: "POST",
5032		HTTPPath:   "/tags/{ResourceArn}",
5033	}
5034
5035	if input == nil {
5036		input = &TagResourceInput{}
5037	}
5038
5039	output = &TagResourceOutput{}
5040	req = c.newRequest(op, input, output)
5041	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5042	return
5043}
5044
5045// TagResource API operation for AWS SecurityHub.
5046//
5047// Adds one or more tags to a resource.
5048//
5049// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5050// with awserr.Error's Code and Message methods to get detailed information about
5051// the error.
5052//
5053// See the AWS API reference guide for AWS SecurityHub's
5054// API operation TagResource for usage and error information.
5055//
5056// Returned Error Types:
5057//   * InternalException
5058//   Internal server error.
5059//
5060//   * InvalidInputException
5061//   The request was rejected because you supplied an invalid or out-of-range
5062//   value for an input parameter.
5063//
5064//   * ResourceNotFoundException
5065//   The request was rejected because we can't find the specified resource.
5066//
5067// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/TagResource
5068func (c *SecurityHub) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
5069	req, out := c.TagResourceRequest(input)
5070	return out, req.Send()
5071}
5072
5073// TagResourceWithContext is the same as TagResource with the addition of
5074// the ability to pass a context and additional request options.
5075//
5076// See TagResource for details on how to use this API operation.
5077//
5078// The context must be non-nil and will be used for request cancellation. If
5079// the context is nil a panic will occur. In the future the SDK may create
5080// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5081// for more information on using Contexts.
5082func (c *SecurityHub) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
5083	req, out := c.TagResourceRequest(input)
5084	req.SetContext(ctx)
5085	req.ApplyOptions(opts...)
5086	return out, req.Send()
5087}
5088
5089const opUntagResource = "UntagResource"
5090
5091// UntagResourceRequest generates a "aws/request.Request" representing the
5092// client's request for the UntagResource operation. The "output" return
5093// value will be populated with the request's response once the request completes
5094// successfully.
5095//
5096// Use "Send" method on the returned Request to send the API call to the service.
5097// the "output" return value is not valid until after Send returns without error.
5098//
5099// See UntagResource for more information on using the UntagResource
5100// API call, and error handling.
5101//
5102// This method is useful when you want to inject custom logic or configuration
5103// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5104//
5105//
5106//    // Example sending a request using the UntagResourceRequest method.
5107//    req, resp := client.UntagResourceRequest(params)
5108//
5109//    err := req.Send()
5110//    if err == nil { // resp is now filled
5111//        fmt.Println(resp)
5112//    }
5113//
5114// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UntagResource
5115func (c *SecurityHub) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
5116	op := &request.Operation{
5117		Name:       opUntagResource,
5118		HTTPMethod: "DELETE",
5119		HTTPPath:   "/tags/{ResourceArn}",
5120	}
5121
5122	if input == nil {
5123		input = &UntagResourceInput{}
5124	}
5125
5126	output = &UntagResourceOutput{}
5127	req = c.newRequest(op, input, output)
5128	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5129	return
5130}
5131
5132// UntagResource API operation for AWS SecurityHub.
5133//
5134// Removes one or more tags from a resource.
5135//
5136// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5137// with awserr.Error's Code and Message methods to get detailed information about
5138// the error.
5139//
5140// See the AWS API reference guide for AWS SecurityHub's
5141// API operation UntagResource for usage and error information.
5142//
5143// Returned Error Types:
5144//   * InternalException
5145//   Internal server error.
5146//
5147//   * InvalidInputException
5148//   The request was rejected because you supplied an invalid or out-of-range
5149//   value for an input parameter.
5150//
5151//   * ResourceNotFoundException
5152//   The request was rejected because we can't find the specified resource.
5153//
5154// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UntagResource
5155func (c *SecurityHub) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
5156	req, out := c.UntagResourceRequest(input)
5157	return out, req.Send()
5158}
5159
5160// UntagResourceWithContext is the same as UntagResource with the addition of
5161// the ability to pass a context and additional request options.
5162//
5163// See UntagResource for details on how to use this API operation.
5164//
5165// The context must be non-nil and will be used for request cancellation. If
5166// the context is nil a panic will occur. In the future the SDK may create
5167// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5168// for more information on using Contexts.
5169func (c *SecurityHub) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
5170	req, out := c.UntagResourceRequest(input)
5171	req.SetContext(ctx)
5172	req.ApplyOptions(opts...)
5173	return out, req.Send()
5174}
5175
5176const opUpdateActionTarget = "UpdateActionTarget"
5177
5178// UpdateActionTargetRequest generates a "aws/request.Request" representing the
5179// client's request for the UpdateActionTarget operation. The "output" return
5180// value will be populated with the request's response once the request completes
5181// successfully.
5182//
5183// Use "Send" method on the returned Request to send the API call to the service.
5184// the "output" return value is not valid until after Send returns without error.
5185//
5186// See UpdateActionTarget for more information on using the UpdateActionTarget
5187// API call, and error handling.
5188//
5189// This method is useful when you want to inject custom logic or configuration
5190// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5191//
5192//
5193//    // Example sending a request using the UpdateActionTargetRequest method.
5194//    req, resp := client.UpdateActionTargetRequest(params)
5195//
5196//    err := req.Send()
5197//    if err == nil { // resp is now filled
5198//        fmt.Println(resp)
5199//    }
5200//
5201// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateActionTarget
5202func (c *SecurityHub) UpdateActionTargetRequest(input *UpdateActionTargetInput) (req *request.Request, output *UpdateActionTargetOutput) {
5203	op := &request.Operation{
5204		Name:       opUpdateActionTarget,
5205		HTTPMethod: "PATCH",
5206		HTTPPath:   "/actionTargets/{ActionTargetArn+}",
5207	}
5208
5209	if input == nil {
5210		input = &UpdateActionTargetInput{}
5211	}
5212
5213	output = &UpdateActionTargetOutput{}
5214	req = c.newRequest(op, input, output)
5215	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5216	return
5217}
5218
5219// UpdateActionTarget API operation for AWS SecurityHub.
5220//
5221// Updates the name and description of a custom action target in Security Hub.
5222//
5223// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5224// with awserr.Error's Code and Message methods to get detailed information about
5225// the error.
5226//
5227// See the AWS API reference guide for AWS SecurityHub's
5228// API operation UpdateActionTarget for usage and error information.
5229//
5230// Returned Error Types:
5231//   * InternalException
5232//   Internal server error.
5233//
5234//   * InvalidInputException
5235//   The request was rejected because you supplied an invalid or out-of-range
5236//   value for an input parameter.
5237//
5238//   * ResourceNotFoundException
5239//   The request was rejected because we can't find the specified resource.
5240//
5241//   * InvalidAccessException
5242//   There is an issue with the account used to make the request. Either Security
5243//   Hub is not enabled for the account, or the account does not have permission
5244//   to perform this action.
5245//
5246//   * ResourceNotFoundException
5247//   The request was rejected because we can't find the specified resource.
5248//
5249// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateActionTarget
5250func (c *SecurityHub) UpdateActionTarget(input *UpdateActionTargetInput) (*UpdateActionTargetOutput, error) {
5251	req, out := c.UpdateActionTargetRequest(input)
5252	return out, req.Send()
5253}
5254
5255// UpdateActionTargetWithContext is the same as UpdateActionTarget with the addition of
5256// the ability to pass a context and additional request options.
5257//
5258// See UpdateActionTarget for details on how to use this API operation.
5259//
5260// The context must be non-nil and will be used for request cancellation. If
5261// the context is nil a panic will occur. In the future the SDK may create
5262// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5263// for more information on using Contexts.
5264func (c *SecurityHub) UpdateActionTargetWithContext(ctx aws.Context, input *UpdateActionTargetInput, opts ...request.Option) (*UpdateActionTargetOutput, error) {
5265	req, out := c.UpdateActionTargetRequest(input)
5266	req.SetContext(ctx)
5267	req.ApplyOptions(opts...)
5268	return out, req.Send()
5269}
5270
5271const opUpdateFindings = "UpdateFindings"
5272
5273// UpdateFindingsRequest generates a "aws/request.Request" representing the
5274// client's request for the UpdateFindings operation. The "output" return
5275// value will be populated with the request's response once the request completes
5276// successfully.
5277//
5278// Use "Send" method on the returned Request to send the API call to the service.
5279// the "output" return value is not valid until after Send returns without error.
5280//
5281// See UpdateFindings for more information on using the UpdateFindings
5282// API call, and error handling.
5283//
5284// This method is useful when you want to inject custom logic or configuration
5285// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5286//
5287//
5288//    // Example sending a request using the UpdateFindingsRequest method.
5289//    req, resp := client.UpdateFindingsRequest(params)
5290//
5291//    err := req.Send()
5292//    if err == nil { // resp is now filled
5293//        fmt.Println(resp)
5294//    }
5295//
5296// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindings
5297func (c *SecurityHub) UpdateFindingsRequest(input *UpdateFindingsInput) (req *request.Request, output *UpdateFindingsOutput) {
5298	op := &request.Operation{
5299		Name:       opUpdateFindings,
5300		HTTPMethod: "PATCH",
5301		HTTPPath:   "/findings",
5302	}
5303
5304	if input == nil {
5305		input = &UpdateFindingsInput{}
5306	}
5307
5308	output = &UpdateFindingsOutput{}
5309	req = c.newRequest(op, input, output)
5310	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5311	return
5312}
5313
5314// UpdateFindings API operation for AWS SecurityHub.
5315//
5316// UpdateFindings is deprecated. Instead of UpdateFindings, use BatchUpdateFindings.
5317//
5318// Updates the Note and RecordState of the Security Hub-aggregated findings
5319// that the filter attributes specify. Any member account that can view the
5320// finding also sees the update to the finding.
5321//
5322// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5323// with awserr.Error's Code and Message methods to get detailed information about
5324// the error.
5325//
5326// See the AWS API reference guide for AWS SecurityHub's
5327// API operation UpdateFindings for usage and error information.
5328//
5329// Returned Error Types:
5330//   * InternalException
5331//   Internal server error.
5332//
5333//   * InvalidInputException
5334//   The request was rejected because you supplied an invalid or out-of-range
5335//   value for an input parameter.
5336//
5337//   * LimitExceededException
5338//   The request was rejected because it attempted to create resources beyond
5339//   the current AWS account or throttling limits. The error code describes the
5340//   limit exceeded.
5341//
5342//   * InvalidAccessException
5343//   There is an issue with the account used to make the request. Either Security
5344//   Hub is not enabled for the account, or the account does not have permission
5345//   to perform this action.
5346//
5347//   * ResourceNotFoundException
5348//   The request was rejected because we can't find the specified resource.
5349//
5350// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateFindings
5351func (c *SecurityHub) UpdateFindings(input *UpdateFindingsInput) (*UpdateFindingsOutput, error) {
5352	req, out := c.UpdateFindingsRequest(input)
5353	return out, req.Send()
5354}
5355
5356// UpdateFindingsWithContext is the same as UpdateFindings with the addition of
5357// the ability to pass a context and additional request options.
5358//
5359// See UpdateFindings for details on how to use this API operation.
5360//
5361// The context must be non-nil and will be used for request cancellation. If
5362// the context is nil a panic will occur. In the future the SDK may create
5363// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5364// for more information on using Contexts.
5365func (c *SecurityHub) UpdateFindingsWithContext(ctx aws.Context, input *UpdateFindingsInput, opts ...request.Option) (*UpdateFindingsOutput, error) {
5366	req, out := c.UpdateFindingsRequest(input)
5367	req.SetContext(ctx)
5368	req.ApplyOptions(opts...)
5369	return out, req.Send()
5370}
5371
5372const opUpdateInsight = "UpdateInsight"
5373
5374// UpdateInsightRequest generates a "aws/request.Request" representing the
5375// client's request for the UpdateInsight operation. The "output" return
5376// value will be populated with the request's response once the request completes
5377// successfully.
5378//
5379// Use "Send" method on the returned Request to send the API call to the service.
5380// the "output" return value is not valid until after Send returns without error.
5381//
5382// See UpdateInsight for more information on using the UpdateInsight
5383// API call, and error handling.
5384//
5385// This method is useful when you want to inject custom logic or configuration
5386// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5387//
5388//
5389//    // Example sending a request using the UpdateInsightRequest method.
5390//    req, resp := client.UpdateInsightRequest(params)
5391//
5392//    err := req.Send()
5393//    if err == nil { // resp is now filled
5394//        fmt.Println(resp)
5395//    }
5396//
5397// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateInsight
5398func (c *SecurityHub) UpdateInsightRequest(input *UpdateInsightInput) (req *request.Request, output *UpdateInsightOutput) {
5399	op := &request.Operation{
5400		Name:       opUpdateInsight,
5401		HTTPMethod: "PATCH",
5402		HTTPPath:   "/insights/{InsightArn+}",
5403	}
5404
5405	if input == nil {
5406		input = &UpdateInsightInput{}
5407	}
5408
5409	output = &UpdateInsightOutput{}
5410	req = c.newRequest(op, input, output)
5411	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5412	return
5413}
5414
5415// UpdateInsight API operation for AWS SecurityHub.
5416//
5417// Updates the Security Hub insight identified by the specified insight ARN.
5418//
5419// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5420// with awserr.Error's Code and Message methods to get detailed information about
5421// the error.
5422//
5423// See the AWS API reference guide for AWS SecurityHub's
5424// API operation UpdateInsight for usage and error information.
5425//
5426// Returned Error Types:
5427//   * InternalException
5428//   Internal server error.
5429//
5430//   * InvalidInputException
5431//   The request was rejected because you supplied an invalid or out-of-range
5432//   value for an input parameter.
5433//
5434//   * InvalidAccessException
5435//   There is an issue with the account used to make the request. Either Security
5436//   Hub is not enabled for the account, or the account does not have permission
5437//   to perform this action.
5438//
5439//   * LimitExceededException
5440//   The request was rejected because it attempted to create resources beyond
5441//   the current AWS account or throttling limits. The error code describes the
5442//   limit exceeded.
5443//
5444//   * ResourceNotFoundException
5445//   The request was rejected because we can't find the specified resource.
5446//
5447// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateInsight
5448func (c *SecurityHub) UpdateInsight(input *UpdateInsightInput) (*UpdateInsightOutput, error) {
5449	req, out := c.UpdateInsightRequest(input)
5450	return out, req.Send()
5451}
5452
5453// UpdateInsightWithContext is the same as UpdateInsight with the addition of
5454// the ability to pass a context and additional request options.
5455//
5456// See UpdateInsight for details on how to use this API operation.
5457//
5458// The context must be non-nil and will be used for request cancellation. If
5459// the context is nil a panic will occur. In the future the SDK may create
5460// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5461// for more information on using Contexts.
5462func (c *SecurityHub) UpdateInsightWithContext(ctx aws.Context, input *UpdateInsightInput, opts ...request.Option) (*UpdateInsightOutput, error) {
5463	req, out := c.UpdateInsightRequest(input)
5464	req.SetContext(ctx)
5465	req.ApplyOptions(opts...)
5466	return out, req.Send()
5467}
5468
5469const opUpdateOrganizationConfiguration = "UpdateOrganizationConfiguration"
5470
5471// UpdateOrganizationConfigurationRequest generates a "aws/request.Request" representing the
5472// client's request for the UpdateOrganizationConfiguration operation. The "output" return
5473// value will be populated with the request's response once the request completes
5474// successfully.
5475//
5476// Use "Send" method on the returned Request to send the API call to the service.
5477// the "output" return value is not valid until after Send returns without error.
5478//
5479// See UpdateOrganizationConfiguration for more information on using the UpdateOrganizationConfiguration
5480// API call, and error handling.
5481//
5482// This method is useful when you want to inject custom logic or configuration
5483// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5484//
5485//
5486//    // Example sending a request using the UpdateOrganizationConfigurationRequest method.
5487//    req, resp := client.UpdateOrganizationConfigurationRequest(params)
5488//
5489//    err := req.Send()
5490//    if err == nil { // resp is now filled
5491//        fmt.Println(resp)
5492//    }
5493//
5494// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateOrganizationConfiguration
5495func (c *SecurityHub) UpdateOrganizationConfigurationRequest(input *UpdateOrganizationConfigurationInput) (req *request.Request, output *UpdateOrganizationConfigurationOutput) {
5496	op := &request.Operation{
5497		Name:       opUpdateOrganizationConfiguration,
5498		HTTPMethod: "POST",
5499		HTTPPath:   "/organization/configuration",
5500	}
5501
5502	if input == nil {
5503		input = &UpdateOrganizationConfigurationInput{}
5504	}
5505
5506	output = &UpdateOrganizationConfigurationOutput{}
5507	req = c.newRequest(op, input, output)
5508	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5509	return
5510}
5511
5512// UpdateOrganizationConfiguration API operation for AWS SecurityHub.
5513//
5514// Used to update the configuration related to Organizations. Can only be called
5515// from a Security Hub administrator account.
5516//
5517// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5518// with awserr.Error's Code and Message methods to get detailed information about
5519// the error.
5520//
5521// See the AWS API reference guide for AWS SecurityHub's
5522// API operation UpdateOrganizationConfiguration for usage and error information.
5523//
5524// Returned Error Types:
5525//   * InternalException
5526//   Internal server error.
5527//
5528//   * InvalidInputException
5529//   The request was rejected because you supplied an invalid or out-of-range
5530//   value for an input parameter.
5531//
5532//   * InvalidAccessException
5533//   There is an issue with the account used to make the request. Either Security
5534//   Hub is not enabled for the account, or the account does not have permission
5535//   to perform this action.
5536//
5537//   * LimitExceededException
5538//   The request was rejected because it attempted to create resources beyond
5539//   the current AWS account or throttling limits. The error code describes the
5540//   limit exceeded.
5541//
5542// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateOrganizationConfiguration
5543func (c *SecurityHub) UpdateOrganizationConfiguration(input *UpdateOrganizationConfigurationInput) (*UpdateOrganizationConfigurationOutput, error) {
5544	req, out := c.UpdateOrganizationConfigurationRequest(input)
5545	return out, req.Send()
5546}
5547
5548// UpdateOrganizationConfigurationWithContext is the same as UpdateOrganizationConfiguration with the addition of
5549// the ability to pass a context and additional request options.
5550//
5551// See UpdateOrganizationConfiguration for details on how to use this API operation.
5552//
5553// The context must be non-nil and will be used for request cancellation. If
5554// the context is nil a panic will occur. In the future the SDK may create
5555// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5556// for more information on using Contexts.
5557func (c *SecurityHub) UpdateOrganizationConfigurationWithContext(ctx aws.Context, input *UpdateOrganizationConfigurationInput, opts ...request.Option) (*UpdateOrganizationConfigurationOutput, error) {
5558	req, out := c.UpdateOrganizationConfigurationRequest(input)
5559	req.SetContext(ctx)
5560	req.ApplyOptions(opts...)
5561	return out, req.Send()
5562}
5563
5564const opUpdateSecurityHubConfiguration = "UpdateSecurityHubConfiguration"
5565
5566// UpdateSecurityHubConfigurationRequest generates a "aws/request.Request" representing the
5567// client's request for the UpdateSecurityHubConfiguration operation. The "output" return
5568// value will be populated with the request's response once the request completes
5569// successfully.
5570//
5571// Use "Send" method on the returned Request to send the API call to the service.
5572// the "output" return value is not valid until after Send returns without error.
5573//
5574// See UpdateSecurityHubConfiguration for more information on using the UpdateSecurityHubConfiguration
5575// API call, and error handling.
5576//
5577// This method is useful when you want to inject custom logic or configuration
5578// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5579//
5580//
5581//    // Example sending a request using the UpdateSecurityHubConfigurationRequest method.
5582//    req, resp := client.UpdateSecurityHubConfigurationRequest(params)
5583//
5584//    err := req.Send()
5585//    if err == nil { // resp is now filled
5586//        fmt.Println(resp)
5587//    }
5588//
5589// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateSecurityHubConfiguration
5590func (c *SecurityHub) UpdateSecurityHubConfigurationRequest(input *UpdateSecurityHubConfigurationInput) (req *request.Request, output *UpdateSecurityHubConfigurationOutput) {
5591	op := &request.Operation{
5592		Name:       opUpdateSecurityHubConfiguration,
5593		HTTPMethod: "PATCH",
5594		HTTPPath:   "/accounts",
5595	}
5596
5597	if input == nil {
5598		input = &UpdateSecurityHubConfigurationInput{}
5599	}
5600
5601	output = &UpdateSecurityHubConfigurationOutput{}
5602	req = c.newRequest(op, input, output)
5603	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5604	return
5605}
5606
5607// UpdateSecurityHubConfiguration API operation for AWS SecurityHub.
5608//
5609// Updates configuration options for Security Hub.
5610//
5611// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5612// with awserr.Error's Code and Message methods to get detailed information about
5613// the error.
5614//
5615// See the AWS API reference guide for AWS SecurityHub's
5616// API operation UpdateSecurityHubConfiguration for usage and error information.
5617//
5618// Returned Error Types:
5619//   * InternalException
5620//   Internal server error.
5621//
5622//   * InvalidInputException
5623//   The request was rejected because you supplied an invalid or out-of-range
5624//   value for an input parameter.
5625//
5626//   * InvalidAccessException
5627//   There is an issue with the account used to make the request. Either Security
5628//   Hub is not enabled for the account, or the account does not have permission
5629//   to perform this action.
5630//
5631//   * LimitExceededException
5632//   The request was rejected because it attempted to create resources beyond
5633//   the current AWS account or throttling limits. The error code describes the
5634//   limit exceeded.
5635//
5636//   * ResourceNotFoundException
5637//   The request was rejected because we can't find the specified resource.
5638//
5639// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateSecurityHubConfiguration
5640func (c *SecurityHub) UpdateSecurityHubConfiguration(input *UpdateSecurityHubConfigurationInput) (*UpdateSecurityHubConfigurationOutput, error) {
5641	req, out := c.UpdateSecurityHubConfigurationRequest(input)
5642	return out, req.Send()
5643}
5644
5645// UpdateSecurityHubConfigurationWithContext is the same as UpdateSecurityHubConfiguration with the addition of
5646// the ability to pass a context and additional request options.
5647//
5648// See UpdateSecurityHubConfiguration for details on how to use this API operation.
5649//
5650// The context must be non-nil and will be used for request cancellation. If
5651// the context is nil a panic will occur. In the future the SDK may create
5652// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5653// for more information on using Contexts.
5654func (c *SecurityHub) UpdateSecurityHubConfigurationWithContext(ctx aws.Context, input *UpdateSecurityHubConfigurationInput, opts ...request.Option) (*UpdateSecurityHubConfigurationOutput, error) {
5655	req, out := c.UpdateSecurityHubConfigurationRequest(input)
5656	req.SetContext(ctx)
5657	req.ApplyOptions(opts...)
5658	return out, req.Send()
5659}
5660
5661const opUpdateStandardsControl = "UpdateStandardsControl"
5662
5663// UpdateStandardsControlRequest generates a "aws/request.Request" representing the
5664// client's request for the UpdateStandardsControl operation. The "output" return
5665// value will be populated with the request's response once the request completes
5666// successfully.
5667//
5668// Use "Send" method on the returned Request to send the API call to the service.
5669// the "output" return value is not valid until after Send returns without error.
5670//
5671// See UpdateStandardsControl for more information on using the UpdateStandardsControl
5672// API call, and error handling.
5673//
5674// This method is useful when you want to inject custom logic or configuration
5675// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5676//
5677//
5678//    // Example sending a request using the UpdateStandardsControlRequest method.
5679//    req, resp := client.UpdateStandardsControlRequest(params)
5680//
5681//    err := req.Send()
5682//    if err == nil { // resp is now filled
5683//        fmt.Println(resp)
5684//    }
5685//
5686// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateStandardsControl
5687func (c *SecurityHub) UpdateStandardsControlRequest(input *UpdateStandardsControlInput) (req *request.Request, output *UpdateStandardsControlOutput) {
5688	op := &request.Operation{
5689		Name:       opUpdateStandardsControl,
5690		HTTPMethod: "PATCH",
5691		HTTPPath:   "/standards/control/{StandardsControlArn+}",
5692	}
5693
5694	if input == nil {
5695		input = &UpdateStandardsControlInput{}
5696	}
5697
5698	output = &UpdateStandardsControlOutput{}
5699	req = c.newRequest(op, input, output)
5700	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5701	return
5702}
5703
5704// UpdateStandardsControl API operation for AWS SecurityHub.
5705//
5706// Used to control whether an individual security standard control is enabled
5707// or disabled.
5708//
5709// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5710// with awserr.Error's Code and Message methods to get detailed information about
5711// the error.
5712//
5713// See the AWS API reference guide for AWS SecurityHub's
5714// API operation UpdateStandardsControl for usage and error information.
5715//
5716// Returned Error Types:
5717//   * InternalException
5718//   Internal server error.
5719//
5720//   * InvalidInputException
5721//   The request was rejected because you supplied an invalid or out-of-range
5722//   value for an input parameter.
5723//
5724//   * InvalidAccessException
5725//   There is an issue with the account used to make the request. Either Security
5726//   Hub is not enabled for the account, or the account does not have permission
5727//   to perform this action.
5728//
5729//   * ResourceNotFoundException
5730//   The request was rejected because we can't find the specified resource.
5731//
5732// See also, https://docs.aws.amazon.com/goto/WebAPI/securityhub-2018-10-26/UpdateStandardsControl
5733func (c *SecurityHub) UpdateStandardsControl(input *UpdateStandardsControlInput) (*UpdateStandardsControlOutput, error) {
5734	req, out := c.UpdateStandardsControlRequest(input)
5735	return out, req.Send()
5736}
5737
5738// UpdateStandardsControlWithContext is the same as UpdateStandardsControl with the addition of
5739// the ability to pass a context and additional request options.
5740//
5741// See UpdateStandardsControl for details on how to use this API operation.
5742//
5743// The context must be non-nil and will be used for request cancellation. If
5744// the context is nil a panic will occur. In the future the SDK may create
5745// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5746// for more information on using Contexts.
5747func (c *SecurityHub) UpdateStandardsControlWithContext(ctx aws.Context, input *UpdateStandardsControlInput, opts ...request.Option) (*UpdateStandardsControlOutput, error) {
5748	req, out := c.UpdateStandardsControlRequest(input)
5749	req.SetContext(ctx)
5750	req.ApplyOptions(opts...)
5751	return out, req.Send()
5752}
5753
5754type AcceptAdministratorInvitationInput struct {
5755	_ struct{} `type:"structure"`
5756
5757	// The account ID of the Security Hub administrator account that sent the invitation.
5758	//
5759	// AdministratorId is a required field
5760	AdministratorId *string `type:"string" required:"true"`
5761
5762	// The identifier of the invitation sent from the Security Hub administrator
5763	// account.
5764	//
5765	// InvitationId is a required field
5766	InvitationId *string `type:"string" required:"true"`
5767}
5768
5769// String returns the string representation
5770func (s AcceptAdministratorInvitationInput) String() string {
5771	return awsutil.Prettify(s)
5772}
5773
5774// GoString returns the string representation
5775func (s AcceptAdministratorInvitationInput) GoString() string {
5776	return s.String()
5777}
5778
5779// Validate inspects the fields of the type to determine if they are valid.
5780func (s *AcceptAdministratorInvitationInput) Validate() error {
5781	invalidParams := request.ErrInvalidParams{Context: "AcceptAdministratorInvitationInput"}
5782	if s.AdministratorId == nil {
5783		invalidParams.Add(request.NewErrParamRequired("AdministratorId"))
5784	}
5785	if s.InvitationId == nil {
5786		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
5787	}
5788
5789	if invalidParams.Len() > 0 {
5790		return invalidParams
5791	}
5792	return nil
5793}
5794
5795// SetAdministratorId sets the AdministratorId field's value.
5796func (s *AcceptAdministratorInvitationInput) SetAdministratorId(v string) *AcceptAdministratorInvitationInput {
5797	s.AdministratorId = &v
5798	return s
5799}
5800
5801// SetInvitationId sets the InvitationId field's value.
5802func (s *AcceptAdministratorInvitationInput) SetInvitationId(v string) *AcceptAdministratorInvitationInput {
5803	s.InvitationId = &v
5804	return s
5805}
5806
5807type AcceptAdministratorInvitationOutput struct {
5808	_ struct{} `type:"structure"`
5809}
5810
5811// String returns the string representation
5812func (s AcceptAdministratorInvitationOutput) String() string {
5813	return awsutil.Prettify(s)
5814}
5815
5816// GoString returns the string representation
5817func (s AcceptAdministratorInvitationOutput) GoString() string {
5818	return s.String()
5819}
5820
5821type AcceptInvitationInput struct {
5822	_ struct{} `type:"structure"`
5823
5824	// The identifier of the invitation sent from the Security Hub administrator
5825	// account.
5826	//
5827	// InvitationId is a required field
5828	InvitationId *string `type:"string" required:"true"`
5829
5830	// The account ID of the Security Hub administrator account that sent the invitation.
5831	//
5832	// MasterId is a required field
5833	MasterId *string `type:"string" required:"true"`
5834}
5835
5836// String returns the string representation
5837func (s AcceptInvitationInput) String() string {
5838	return awsutil.Prettify(s)
5839}
5840
5841// GoString returns the string representation
5842func (s AcceptInvitationInput) GoString() string {
5843	return s.String()
5844}
5845
5846// Validate inspects the fields of the type to determine if they are valid.
5847func (s *AcceptInvitationInput) Validate() error {
5848	invalidParams := request.ErrInvalidParams{Context: "AcceptInvitationInput"}
5849	if s.InvitationId == nil {
5850		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
5851	}
5852	if s.MasterId == nil {
5853		invalidParams.Add(request.NewErrParamRequired("MasterId"))
5854	}
5855
5856	if invalidParams.Len() > 0 {
5857		return invalidParams
5858	}
5859	return nil
5860}
5861
5862// SetInvitationId sets the InvitationId field's value.
5863func (s *AcceptInvitationInput) SetInvitationId(v string) *AcceptInvitationInput {
5864	s.InvitationId = &v
5865	return s
5866}
5867
5868// SetMasterId sets the MasterId field's value.
5869func (s *AcceptInvitationInput) SetMasterId(v string) *AcceptInvitationInput {
5870	s.MasterId = &v
5871	return s
5872}
5873
5874type AcceptInvitationOutput struct {
5875	_ struct{} `type:"structure"`
5876}
5877
5878// String returns the string representation
5879func (s AcceptInvitationOutput) String() string {
5880	return awsutil.Prettify(s)
5881}
5882
5883// GoString returns the string representation
5884func (s AcceptInvitationOutput) GoString() string {
5885	return s.String()
5886}
5887
5888// You don't have permission to perform the action specified in the request.
5889type AccessDeniedException struct {
5890	_            struct{}                  `type:"structure"`
5891	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5892
5893	Code_ *string `locationName:"Code" type:"string"`
5894
5895	Message_ *string `locationName:"Message" type:"string"`
5896}
5897
5898// String returns the string representation
5899func (s AccessDeniedException) String() string {
5900	return awsutil.Prettify(s)
5901}
5902
5903// GoString returns the string representation
5904func (s AccessDeniedException) GoString() string {
5905	return s.String()
5906}
5907
5908func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
5909	return &AccessDeniedException{
5910		RespMetadata: v,
5911	}
5912}
5913
5914// Code returns the exception type name.
5915func (s *AccessDeniedException) Code() string {
5916	return "AccessDeniedException"
5917}
5918
5919// Message returns the exception's message.
5920func (s *AccessDeniedException) Message() string {
5921	if s.Message_ != nil {
5922		return *s.Message_
5923	}
5924	return ""
5925}
5926
5927// OrigErr always returns nil, satisfies awserr.Error interface.
5928func (s *AccessDeniedException) OrigErr() error {
5929	return nil
5930}
5931
5932func (s *AccessDeniedException) Error() string {
5933	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
5934}
5935
5936// Status code returns the HTTP status code for the request's response error.
5937func (s *AccessDeniedException) StatusCode() int {
5938	return s.RespMetadata.StatusCode
5939}
5940
5941// RequestID returns the service's response RequestID for request.
5942func (s *AccessDeniedException) RequestID() string {
5943	return s.RespMetadata.RequestID
5944}
5945
5946// The details of an AWS account.
5947type AccountDetails struct {
5948	_ struct{} `type:"structure"`
5949
5950	// The ID of an AWS account.
5951	//
5952	// AccountId is a required field
5953	AccountId *string `type:"string" required:"true"`
5954
5955	// The email of an AWS account.
5956	Email *string `type:"string"`
5957}
5958
5959// String returns the string representation
5960func (s AccountDetails) String() string {
5961	return awsutil.Prettify(s)
5962}
5963
5964// GoString returns the string representation
5965func (s AccountDetails) GoString() string {
5966	return s.String()
5967}
5968
5969// Validate inspects the fields of the type to determine if they are valid.
5970func (s *AccountDetails) Validate() error {
5971	invalidParams := request.ErrInvalidParams{Context: "AccountDetails"}
5972	if s.AccountId == nil {
5973		invalidParams.Add(request.NewErrParamRequired("AccountId"))
5974	}
5975
5976	if invalidParams.Len() > 0 {
5977		return invalidParams
5978	}
5979	return nil
5980}
5981
5982// SetAccountId sets the AccountId field's value.
5983func (s *AccountDetails) SetAccountId(v string) *AccountDetails {
5984	s.AccountId = &v
5985	return s
5986}
5987
5988// SetEmail sets the Email field's value.
5989func (s *AccountDetails) SetEmail(v string) *AccountDetails {
5990	s.Email = &v
5991	return s
5992}
5993
5994// Provides details about one of the following actions that affects or that
5995// was taken on a resource:
5996//
5997//    * A remote IP address issued an AWS API call
5998//
5999//    * A DNS request was received
6000//
6001//    * A remote IP address attempted to connect to an EC2 instance
6002//
6003//    * A remote IP address attempted a port probe on an EC2 instance
6004type Action struct {
6005	_ struct{} `type:"structure"`
6006
6007	// The type of action that was detected. The possible action types are:
6008	//
6009	//    * NETWORK_CONNECTION
6010	//
6011	//    * AWS_API_CALL
6012	//
6013	//    * DNS_REQUEST
6014	//
6015	//    * PORT_PROBE
6016	ActionType *string `type:"string"`
6017
6018	// Included if ActionType is AWS_API_CALL. Provides details about the API call
6019	// that was detected.
6020	AwsApiCallAction *AwsApiCallAction `type:"structure"`
6021
6022	// Included if ActionType is DNS_REQUEST. Provides details about the DNS request
6023	// that was detected.
6024	DnsRequestAction *DnsRequestAction `type:"structure"`
6025
6026	// Included if ActionType is NETWORK_CONNECTION. Provides details about the
6027	// network connection that was detected.
6028	NetworkConnectionAction *NetworkConnectionAction `type:"structure"`
6029
6030	// Included if ActionType is PORT_PROBE. Provides details about the port probe
6031	// that was detected.
6032	PortProbeAction *PortProbeAction `type:"structure"`
6033}
6034
6035// String returns the string representation
6036func (s Action) String() string {
6037	return awsutil.Prettify(s)
6038}
6039
6040// GoString returns the string representation
6041func (s Action) GoString() string {
6042	return s.String()
6043}
6044
6045// SetActionType sets the ActionType field's value.
6046func (s *Action) SetActionType(v string) *Action {
6047	s.ActionType = &v
6048	return s
6049}
6050
6051// SetAwsApiCallAction sets the AwsApiCallAction field's value.
6052func (s *Action) SetAwsApiCallAction(v *AwsApiCallAction) *Action {
6053	s.AwsApiCallAction = v
6054	return s
6055}
6056
6057// SetDnsRequestAction sets the DnsRequestAction field's value.
6058func (s *Action) SetDnsRequestAction(v *DnsRequestAction) *Action {
6059	s.DnsRequestAction = v
6060	return s
6061}
6062
6063// SetNetworkConnectionAction sets the NetworkConnectionAction field's value.
6064func (s *Action) SetNetworkConnectionAction(v *NetworkConnectionAction) *Action {
6065	s.NetworkConnectionAction = v
6066	return s
6067}
6068
6069// SetPortProbeAction sets the PortProbeAction field's value.
6070func (s *Action) SetPortProbeAction(v *PortProbeAction) *Action {
6071	s.PortProbeAction = v
6072	return s
6073}
6074
6075// Provides information about the IP address where the scanned port is located.
6076type ActionLocalIpDetails struct {
6077	_ struct{} `type:"structure"`
6078
6079	// The IP address.
6080	IpAddressV4 *string `type:"string"`
6081}
6082
6083// String returns the string representation
6084func (s ActionLocalIpDetails) String() string {
6085	return awsutil.Prettify(s)
6086}
6087
6088// GoString returns the string representation
6089func (s ActionLocalIpDetails) GoString() string {
6090	return s.String()
6091}
6092
6093// SetIpAddressV4 sets the IpAddressV4 field's value.
6094func (s *ActionLocalIpDetails) SetIpAddressV4(v string) *ActionLocalIpDetails {
6095	s.IpAddressV4 = &v
6096	return s
6097}
6098
6099// For NetworkConnectionAction and PortProbeDetails, LocalPortDetails provides
6100// information about the local port that was involved in the action.
6101type ActionLocalPortDetails struct {
6102	_ struct{} `type:"structure"`
6103
6104	// The number of the port.
6105	Port *int64 `type:"integer"`
6106
6107	// The port name of the local connection.
6108	PortName *string `type:"string"`
6109}
6110
6111// String returns the string representation
6112func (s ActionLocalPortDetails) String() string {
6113	return awsutil.Prettify(s)
6114}
6115
6116// GoString returns the string representation
6117func (s ActionLocalPortDetails) GoString() string {
6118	return s.String()
6119}
6120
6121// SetPort sets the Port field's value.
6122func (s *ActionLocalPortDetails) SetPort(v int64) *ActionLocalPortDetails {
6123	s.Port = &v
6124	return s
6125}
6126
6127// SetPortName sets the PortName field's value.
6128func (s *ActionLocalPortDetails) SetPortName(v string) *ActionLocalPortDetails {
6129	s.PortName = &v
6130	return s
6131}
6132
6133// For AwsApiAction, NetworkConnectionAction, and PortProbeAction, RemoteIpDetails
6134// provides information about the remote IP address that was involved in the
6135// action.
6136type ActionRemoteIpDetails struct {
6137	_ struct{} `type:"structure"`
6138
6139	// The city where the remote IP address is located.
6140	City *City `type:"structure"`
6141
6142	// The country where the remote IP address is located.
6143	Country *Country `type:"structure"`
6144
6145	// The coordinates of the location of the remote IP address.
6146	GeoLocation *GeoLocation `type:"structure"`
6147
6148	// The IP address.
6149	IpAddressV4 *string `type:"string"`
6150
6151	// The internet service provider (ISP) organization associated with the remote
6152	// IP address.
6153	Organization *IpOrganizationDetails `type:"structure"`
6154}
6155
6156// String returns the string representation
6157func (s ActionRemoteIpDetails) String() string {
6158	return awsutil.Prettify(s)
6159}
6160
6161// GoString returns the string representation
6162func (s ActionRemoteIpDetails) GoString() string {
6163	return s.String()
6164}
6165
6166// SetCity sets the City field's value.
6167func (s *ActionRemoteIpDetails) SetCity(v *City) *ActionRemoteIpDetails {
6168	s.City = v
6169	return s
6170}
6171
6172// SetCountry sets the Country field's value.
6173func (s *ActionRemoteIpDetails) SetCountry(v *Country) *ActionRemoteIpDetails {
6174	s.Country = v
6175	return s
6176}
6177
6178// SetGeoLocation sets the GeoLocation field's value.
6179func (s *ActionRemoteIpDetails) SetGeoLocation(v *GeoLocation) *ActionRemoteIpDetails {
6180	s.GeoLocation = v
6181	return s
6182}
6183
6184// SetIpAddressV4 sets the IpAddressV4 field's value.
6185func (s *ActionRemoteIpDetails) SetIpAddressV4(v string) *ActionRemoteIpDetails {
6186	s.IpAddressV4 = &v
6187	return s
6188}
6189
6190// SetOrganization sets the Organization field's value.
6191func (s *ActionRemoteIpDetails) SetOrganization(v *IpOrganizationDetails) *ActionRemoteIpDetails {
6192	s.Organization = v
6193	return s
6194}
6195
6196// Provides information about the remote port that was involved in an attempted
6197// network connection.
6198type ActionRemotePortDetails struct {
6199	_ struct{} `type:"structure"`
6200
6201	// The number of the port.
6202	Port *int64 `type:"integer"`
6203
6204	// The port name of the remote connection.
6205	PortName *string `type:"string"`
6206}
6207
6208// String returns the string representation
6209func (s ActionRemotePortDetails) String() string {
6210	return awsutil.Prettify(s)
6211}
6212
6213// GoString returns the string representation
6214func (s ActionRemotePortDetails) GoString() string {
6215	return s.String()
6216}
6217
6218// SetPort sets the Port field's value.
6219func (s *ActionRemotePortDetails) SetPort(v int64) *ActionRemotePortDetails {
6220	s.Port = &v
6221	return s
6222}
6223
6224// SetPortName sets the PortName field's value.
6225func (s *ActionRemotePortDetails) SetPortName(v string) *ActionRemotePortDetails {
6226	s.PortName = &v
6227	return s
6228}
6229
6230// An ActionTarget object.
6231type ActionTarget struct {
6232	_ struct{} `type:"structure"`
6233
6234	// The ARN for the target action.
6235	//
6236	// ActionTargetArn is a required field
6237	ActionTargetArn *string `type:"string" required:"true"`
6238
6239	// The description of the target action.
6240	//
6241	// Description is a required field
6242	Description *string `type:"string" required:"true"`
6243
6244	// The name of the action target.
6245	//
6246	// Name is a required field
6247	Name *string `type:"string" required:"true"`
6248}
6249
6250// String returns the string representation
6251func (s ActionTarget) String() string {
6252	return awsutil.Prettify(s)
6253}
6254
6255// GoString returns the string representation
6256func (s ActionTarget) GoString() string {
6257	return s.String()
6258}
6259
6260// SetActionTargetArn sets the ActionTargetArn field's value.
6261func (s *ActionTarget) SetActionTargetArn(v string) *ActionTarget {
6262	s.ActionTargetArn = &v
6263	return s
6264}
6265
6266// SetDescription sets the Description field's value.
6267func (s *ActionTarget) SetDescription(v string) *ActionTarget {
6268	s.Description = &v
6269	return s
6270}
6271
6272// SetName sets the Name field's value.
6273func (s *ActionTarget) SetName(v string) *ActionTarget {
6274	s.Name = &v
6275	return s
6276}
6277
6278// Represents a Security Hub administrator account designated by an organization
6279// management account.
6280type AdminAccount struct {
6281	_ struct{} `type:"structure"`
6282
6283	// The AWS account identifier of the Security Hub administrator account.
6284	AccountId *string `type:"string"`
6285
6286	// The current status of the Security Hub administrator account. Indicates whether
6287	// the account is currently enabled as a Security Hub administrator.
6288	Status *string `type:"string" enum:"AdminStatus"`
6289}
6290
6291// String returns the string representation
6292func (s AdminAccount) String() string {
6293	return awsutil.Prettify(s)
6294}
6295
6296// GoString returns the string representation
6297func (s AdminAccount) GoString() string {
6298	return s.String()
6299}
6300
6301// SetAccountId sets the AccountId field's value.
6302func (s *AdminAccount) SetAccountId(v string) *AdminAccount {
6303	s.AccountId = &v
6304	return s
6305}
6306
6307// SetStatus sets the Status field's value.
6308func (s *AdminAccount) SetStatus(v string) *AdminAccount {
6309	s.Status = &v
6310	return s
6311}
6312
6313// Information about an Availability Zone.
6314type AvailabilityZone struct {
6315	_ struct{} `type:"structure"`
6316
6317	// The ID of the subnet. You can specify one subnet per Availability Zone.
6318	SubnetId *string `type:"string"`
6319
6320	// The name of the Availability Zone.
6321	ZoneName *string `type:"string"`
6322}
6323
6324// String returns the string representation
6325func (s AvailabilityZone) String() string {
6326	return awsutil.Prettify(s)
6327}
6328
6329// GoString returns the string representation
6330func (s AvailabilityZone) GoString() string {
6331	return s.String()
6332}
6333
6334// SetSubnetId sets the SubnetId field's value.
6335func (s *AvailabilityZone) SetSubnetId(v string) *AvailabilityZone {
6336	s.SubnetId = &v
6337	return s
6338}
6339
6340// SetZoneName sets the ZoneName field's value.
6341func (s *AvailabilityZone) SetZoneName(v string) *AvailabilityZone {
6342	s.ZoneName = &v
6343	return s
6344}
6345
6346// Provided if ActionType is AWS_API_CALL. It provides details about the API
6347// call that was detected.
6348type AwsApiCallAction struct {
6349	_ struct{} `type:"structure"`
6350
6351	// Identifies the resources that were affected by the API call.
6352	AffectedResources map[string]*string `type:"map"`
6353
6354	// The name of the API method that was issued.
6355	Api *string `type:"string"`
6356
6357	// Indicates whether the API call originated from a remote IP address (remoteip)
6358	// or from a DNS domain (domain).
6359	CallerType *string `type:"string"`
6360
6361	// Provided if CallerType is domain. Provides information about the DNS domain
6362	// that the API call originated from.
6363	DomainDetails *AwsApiCallActionDomainDetails `type:"structure"`
6364
6365	// An ISO8601-formatted timestamp that indicates when the API call was first
6366	// observed.
6367	FirstSeen *string `type:"string"`
6368
6369	// An ISO8601-formatted timestamp that indicates when the API call was most
6370	// recently observed.
6371	LastSeen *string `type:"string"`
6372
6373	// Provided if CallerType is remoteIp. Provides information about the remote
6374	// IP address that the API call originated from.
6375	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
6376
6377	// The name of the AWS service that the API method belongs to.
6378	ServiceName *string `type:"string"`
6379}
6380
6381// String returns the string representation
6382func (s AwsApiCallAction) String() string {
6383	return awsutil.Prettify(s)
6384}
6385
6386// GoString returns the string representation
6387func (s AwsApiCallAction) GoString() string {
6388	return s.String()
6389}
6390
6391// SetAffectedResources sets the AffectedResources field's value.
6392func (s *AwsApiCallAction) SetAffectedResources(v map[string]*string) *AwsApiCallAction {
6393	s.AffectedResources = v
6394	return s
6395}
6396
6397// SetApi sets the Api field's value.
6398func (s *AwsApiCallAction) SetApi(v string) *AwsApiCallAction {
6399	s.Api = &v
6400	return s
6401}
6402
6403// SetCallerType sets the CallerType field's value.
6404func (s *AwsApiCallAction) SetCallerType(v string) *AwsApiCallAction {
6405	s.CallerType = &v
6406	return s
6407}
6408
6409// SetDomainDetails sets the DomainDetails field's value.
6410func (s *AwsApiCallAction) SetDomainDetails(v *AwsApiCallActionDomainDetails) *AwsApiCallAction {
6411	s.DomainDetails = v
6412	return s
6413}
6414
6415// SetFirstSeen sets the FirstSeen field's value.
6416func (s *AwsApiCallAction) SetFirstSeen(v string) *AwsApiCallAction {
6417	s.FirstSeen = &v
6418	return s
6419}
6420
6421// SetLastSeen sets the LastSeen field's value.
6422func (s *AwsApiCallAction) SetLastSeen(v string) *AwsApiCallAction {
6423	s.LastSeen = &v
6424	return s
6425}
6426
6427// SetRemoteIpDetails sets the RemoteIpDetails field's value.
6428func (s *AwsApiCallAction) SetRemoteIpDetails(v *ActionRemoteIpDetails) *AwsApiCallAction {
6429	s.RemoteIpDetails = v
6430	return s
6431}
6432
6433// SetServiceName sets the ServiceName field's value.
6434func (s *AwsApiCallAction) SetServiceName(v string) *AwsApiCallAction {
6435	s.ServiceName = &v
6436	return s
6437}
6438
6439// Provided if CallerType is domain. It provides information about the DNS domain
6440// that issued the API call.
6441type AwsApiCallActionDomainDetails struct {
6442	_ struct{} `type:"structure"`
6443
6444	// The name of the DNS domain that issued the API call.
6445	Domain *string `type:"string"`
6446}
6447
6448// String returns the string representation
6449func (s AwsApiCallActionDomainDetails) String() string {
6450	return awsutil.Prettify(s)
6451}
6452
6453// GoString returns the string representation
6454func (s AwsApiCallActionDomainDetails) GoString() string {
6455	return s.String()
6456}
6457
6458// SetDomain sets the Domain field's value.
6459func (s *AwsApiCallActionDomainDetails) SetDomain(v string) *AwsApiCallActionDomainDetails {
6460	s.Domain = &v
6461	return s
6462}
6463
6464// Contains information about settings for logging access for the stage.
6465type AwsApiGatewayAccessLogSettings struct {
6466	_ struct{} `type:"structure"`
6467
6468	// The ARN of the CloudWatch Logs log group that receives the access logs.
6469	DestinationArn *string `type:"string"`
6470
6471	// A single-line format of the access logs of data, as specified by selected
6472	// $context variables. The format must include at least $context.requestId.
6473	Format *string `type:"string"`
6474}
6475
6476// String returns the string representation
6477func (s AwsApiGatewayAccessLogSettings) String() string {
6478	return awsutil.Prettify(s)
6479}
6480
6481// GoString returns the string representation
6482func (s AwsApiGatewayAccessLogSettings) GoString() string {
6483	return s.String()
6484}
6485
6486// SetDestinationArn sets the DestinationArn field's value.
6487func (s *AwsApiGatewayAccessLogSettings) SetDestinationArn(v string) *AwsApiGatewayAccessLogSettings {
6488	s.DestinationArn = &v
6489	return s
6490}
6491
6492// SetFormat sets the Format field's value.
6493func (s *AwsApiGatewayAccessLogSettings) SetFormat(v string) *AwsApiGatewayAccessLogSettings {
6494	s.Format = &v
6495	return s
6496}
6497
6498// Contains information about settings for canary deployment in the stage.
6499type AwsApiGatewayCanarySettings struct {
6500	_ struct{} `type:"structure"`
6501
6502	// The deployment identifier for the canary deployment.
6503	DeploymentId *string `type:"string"`
6504
6505	// The percentage of traffic that is diverted to a canary deployment.
6506	PercentTraffic *float64 `type:"double"`
6507
6508	// Stage variables that are overridden in the canary release deployment. The
6509	// variables include new stage variables that are introduced in the canary.
6510	//
6511	// Each variable is represented as a string-to-string map between the stage
6512	// variable name and the variable value.
6513	StageVariableOverrides map[string]*string `type:"map"`
6514
6515	// Indicates whether the canary deployment uses the stage cache.
6516	UseStageCache *bool `type:"boolean"`
6517}
6518
6519// String returns the string representation
6520func (s AwsApiGatewayCanarySettings) String() string {
6521	return awsutil.Prettify(s)
6522}
6523
6524// GoString returns the string representation
6525func (s AwsApiGatewayCanarySettings) GoString() string {
6526	return s.String()
6527}
6528
6529// SetDeploymentId sets the DeploymentId field's value.
6530func (s *AwsApiGatewayCanarySettings) SetDeploymentId(v string) *AwsApiGatewayCanarySettings {
6531	s.DeploymentId = &v
6532	return s
6533}
6534
6535// SetPercentTraffic sets the PercentTraffic field's value.
6536func (s *AwsApiGatewayCanarySettings) SetPercentTraffic(v float64) *AwsApiGatewayCanarySettings {
6537	s.PercentTraffic = &v
6538	return s
6539}
6540
6541// SetStageVariableOverrides sets the StageVariableOverrides field's value.
6542func (s *AwsApiGatewayCanarySettings) SetStageVariableOverrides(v map[string]*string) *AwsApiGatewayCanarySettings {
6543	s.StageVariableOverrides = v
6544	return s
6545}
6546
6547// SetUseStageCache sets the UseStageCache field's value.
6548func (s *AwsApiGatewayCanarySettings) SetUseStageCache(v bool) *AwsApiGatewayCanarySettings {
6549	s.UseStageCache = &v
6550	return s
6551}
6552
6553// Contains information about the endpoints for the API.
6554type AwsApiGatewayEndpointConfiguration struct {
6555	_ struct{} `type:"structure"`
6556
6557	// A list of endpoint types for the REST API.
6558	//
6559	// For an edge-optimized API, the endpoint type is EDGE. For a Regional API,
6560	// the endpoint type is REGIONAL. For a private API, the endpoint type is PRIVATE.
6561	Types []*string `type:"list"`
6562}
6563
6564// String returns the string representation
6565func (s AwsApiGatewayEndpointConfiguration) String() string {
6566	return awsutil.Prettify(s)
6567}
6568
6569// GoString returns the string representation
6570func (s AwsApiGatewayEndpointConfiguration) GoString() string {
6571	return s.String()
6572}
6573
6574// SetTypes sets the Types field's value.
6575func (s *AwsApiGatewayEndpointConfiguration) SetTypes(v []*string) *AwsApiGatewayEndpointConfiguration {
6576	s.Types = v
6577	return s
6578}
6579
6580// Defines settings for a method for the stage.
6581type AwsApiGatewayMethodSettings struct {
6582	_ struct{} `type:"structure"`
6583
6584	// Indicates whether the cached responses are encrypted.
6585	CacheDataEncrypted *bool `type:"boolean"`
6586
6587	// Specifies the time to live (TTL), in seconds, for cached responses. The higher
6588	// the TTL, the longer the response is cached.
6589	CacheTtlInSeconds *int64 `type:"integer"`
6590
6591	// Indicates whether responses are cached and returned for requests. For responses
6592	// to be cached, a cache cluster must be enabled on the stage.
6593	CachingEnabled *bool `type:"boolean"`
6594
6595	// Indicates whether data trace logging is enabled for the method. Data trace
6596	// logging affects the log entries that are pushed to CloudWatch Logs.
6597	DataTraceEnabled *bool `type:"boolean"`
6598
6599	// The HTTP method. You can use an asterisk (*) as a wildcard to apply method
6600	// settings to multiple methods.
6601	HttpMethod *string `type:"string"`
6602
6603	// The logging level for this method. The logging level affects the log entries
6604	// that are pushed to CloudWatch Logs.
6605	//
6606	// If the logging level is ERROR, then the logs only include error-level entries.
6607	//
6608	// If the logging level is INFO, then the logs include both ERROR events and
6609	// extra informational events.
6610	//
6611	// Valid values: OFF | ERROR | INFO
6612	LoggingLevel *string `type:"string"`
6613
6614	// Indicates whether CloudWatch metrics are enabled for the method.
6615	MetricsEnabled *bool `type:"boolean"`
6616
6617	// Indicates whether authorization is required for a cache invalidation request.
6618	RequireAuthorizationForCacheControl *bool `type:"boolean"`
6619
6620	// The resource path for this method. Forward slashes (/) are encoded as ~1
6621	// . The initial slash must include a forward slash.
6622	//
6623	// For example, the path value /resource/subresource must be encoded as /~1resource~1subresource.
6624	//
6625	// To specify the root path, use only a slash (/). You can use an asterisk (*)
6626	// as a wildcard to apply method settings to multiple methods.
6627	ResourcePath *string `type:"string"`
6628
6629	// The throttling burst limit for the method.
6630	ThrottlingBurstLimit *int64 `type:"integer"`
6631
6632	// The throttling rate limit for the method.
6633	ThrottlingRateLimit *float64 `type:"double"`
6634
6635	// Indicates how to handle unauthorized requests for cache invalidation.
6636	//
6637	// Valid values: FAIL_WITH_403 | SUCCEED_WITH_RESPONSE_HEADER | SUCCEED_WITHOUT_RESPONSE_HEADER
6638	UnauthorizedCacheControlHeaderStrategy *string `type:"string"`
6639}
6640
6641// String returns the string representation
6642func (s AwsApiGatewayMethodSettings) String() string {
6643	return awsutil.Prettify(s)
6644}
6645
6646// GoString returns the string representation
6647func (s AwsApiGatewayMethodSettings) GoString() string {
6648	return s.String()
6649}
6650
6651// SetCacheDataEncrypted sets the CacheDataEncrypted field's value.
6652func (s *AwsApiGatewayMethodSettings) SetCacheDataEncrypted(v bool) *AwsApiGatewayMethodSettings {
6653	s.CacheDataEncrypted = &v
6654	return s
6655}
6656
6657// SetCacheTtlInSeconds sets the CacheTtlInSeconds field's value.
6658func (s *AwsApiGatewayMethodSettings) SetCacheTtlInSeconds(v int64) *AwsApiGatewayMethodSettings {
6659	s.CacheTtlInSeconds = &v
6660	return s
6661}
6662
6663// SetCachingEnabled sets the CachingEnabled field's value.
6664func (s *AwsApiGatewayMethodSettings) SetCachingEnabled(v bool) *AwsApiGatewayMethodSettings {
6665	s.CachingEnabled = &v
6666	return s
6667}
6668
6669// SetDataTraceEnabled sets the DataTraceEnabled field's value.
6670func (s *AwsApiGatewayMethodSettings) SetDataTraceEnabled(v bool) *AwsApiGatewayMethodSettings {
6671	s.DataTraceEnabled = &v
6672	return s
6673}
6674
6675// SetHttpMethod sets the HttpMethod field's value.
6676func (s *AwsApiGatewayMethodSettings) SetHttpMethod(v string) *AwsApiGatewayMethodSettings {
6677	s.HttpMethod = &v
6678	return s
6679}
6680
6681// SetLoggingLevel sets the LoggingLevel field's value.
6682func (s *AwsApiGatewayMethodSettings) SetLoggingLevel(v string) *AwsApiGatewayMethodSettings {
6683	s.LoggingLevel = &v
6684	return s
6685}
6686
6687// SetMetricsEnabled sets the MetricsEnabled field's value.
6688func (s *AwsApiGatewayMethodSettings) SetMetricsEnabled(v bool) *AwsApiGatewayMethodSettings {
6689	s.MetricsEnabled = &v
6690	return s
6691}
6692
6693// SetRequireAuthorizationForCacheControl sets the RequireAuthorizationForCacheControl field's value.
6694func (s *AwsApiGatewayMethodSettings) SetRequireAuthorizationForCacheControl(v bool) *AwsApiGatewayMethodSettings {
6695	s.RequireAuthorizationForCacheControl = &v
6696	return s
6697}
6698
6699// SetResourcePath sets the ResourcePath field's value.
6700func (s *AwsApiGatewayMethodSettings) SetResourcePath(v string) *AwsApiGatewayMethodSettings {
6701	s.ResourcePath = &v
6702	return s
6703}
6704
6705// SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
6706func (s *AwsApiGatewayMethodSettings) SetThrottlingBurstLimit(v int64) *AwsApiGatewayMethodSettings {
6707	s.ThrottlingBurstLimit = &v
6708	return s
6709}
6710
6711// SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
6712func (s *AwsApiGatewayMethodSettings) SetThrottlingRateLimit(v float64) *AwsApiGatewayMethodSettings {
6713	s.ThrottlingRateLimit = &v
6714	return s
6715}
6716
6717// SetUnauthorizedCacheControlHeaderStrategy sets the UnauthorizedCacheControlHeaderStrategy field's value.
6718func (s *AwsApiGatewayMethodSettings) SetUnauthorizedCacheControlHeaderStrategy(v string) *AwsApiGatewayMethodSettings {
6719	s.UnauthorizedCacheControlHeaderStrategy = &v
6720	return s
6721}
6722
6723// Contains information about a REST API in version 1 of Amazon API Gateway.
6724type AwsApiGatewayRestApiDetails struct {
6725	_ struct{} `type:"structure"`
6726
6727	// The source of the API key for metering requests according to a usage plan.
6728	//
6729	// HEADER indicates whether to read the API key from the X-API-Key header of
6730	// a request.
6731	//
6732	// AUTHORIZER indicates whether to read the API key from the UsageIdentifierKey
6733	// from a custom authorizer.
6734	ApiKeySource *string `type:"string"`
6735
6736	// The list of binary media types supported by the REST API.
6737	BinaryMediaTypes []*string `type:"list"`
6738
6739	// Indicates when the API was created.
6740	//
6741	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6742	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6743	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6744	CreatedDate *string `type:"string"`
6745
6746	// A description of the REST API.
6747	Description *string `type:"string"`
6748
6749	// The endpoint configuration of the REST API.
6750	EndpointConfiguration *AwsApiGatewayEndpointConfiguration `type:"structure"`
6751
6752	// The identifier of the REST API.
6753	Id *string `type:"string"`
6754
6755	// The minimum size in bytes of a payload before compression is enabled.
6756	//
6757	// If null, then compression is disabled.
6758	//
6759	// If 0, then all payloads are compressed.
6760	MinimumCompressionSize *int64 `type:"integer"`
6761
6762	// The name of the REST API.
6763	Name *string `type:"string"`
6764
6765	// The version identifier for the REST API.
6766	Version *string `type:"string"`
6767}
6768
6769// String returns the string representation
6770func (s AwsApiGatewayRestApiDetails) String() string {
6771	return awsutil.Prettify(s)
6772}
6773
6774// GoString returns the string representation
6775func (s AwsApiGatewayRestApiDetails) GoString() string {
6776	return s.String()
6777}
6778
6779// SetApiKeySource sets the ApiKeySource field's value.
6780func (s *AwsApiGatewayRestApiDetails) SetApiKeySource(v string) *AwsApiGatewayRestApiDetails {
6781	s.ApiKeySource = &v
6782	return s
6783}
6784
6785// SetBinaryMediaTypes sets the BinaryMediaTypes field's value.
6786func (s *AwsApiGatewayRestApiDetails) SetBinaryMediaTypes(v []*string) *AwsApiGatewayRestApiDetails {
6787	s.BinaryMediaTypes = v
6788	return s
6789}
6790
6791// SetCreatedDate sets the CreatedDate field's value.
6792func (s *AwsApiGatewayRestApiDetails) SetCreatedDate(v string) *AwsApiGatewayRestApiDetails {
6793	s.CreatedDate = &v
6794	return s
6795}
6796
6797// SetDescription sets the Description field's value.
6798func (s *AwsApiGatewayRestApiDetails) SetDescription(v string) *AwsApiGatewayRestApiDetails {
6799	s.Description = &v
6800	return s
6801}
6802
6803// SetEndpointConfiguration sets the EndpointConfiguration field's value.
6804func (s *AwsApiGatewayRestApiDetails) SetEndpointConfiguration(v *AwsApiGatewayEndpointConfiguration) *AwsApiGatewayRestApiDetails {
6805	s.EndpointConfiguration = v
6806	return s
6807}
6808
6809// SetId sets the Id field's value.
6810func (s *AwsApiGatewayRestApiDetails) SetId(v string) *AwsApiGatewayRestApiDetails {
6811	s.Id = &v
6812	return s
6813}
6814
6815// SetMinimumCompressionSize sets the MinimumCompressionSize field's value.
6816func (s *AwsApiGatewayRestApiDetails) SetMinimumCompressionSize(v int64) *AwsApiGatewayRestApiDetails {
6817	s.MinimumCompressionSize = &v
6818	return s
6819}
6820
6821// SetName sets the Name field's value.
6822func (s *AwsApiGatewayRestApiDetails) SetName(v string) *AwsApiGatewayRestApiDetails {
6823	s.Name = &v
6824	return s
6825}
6826
6827// SetVersion sets the Version field's value.
6828func (s *AwsApiGatewayRestApiDetails) SetVersion(v string) *AwsApiGatewayRestApiDetails {
6829	s.Version = &v
6830	return s
6831}
6832
6833// Provides information about a version 1 Amazon API Gateway stage.
6834type AwsApiGatewayStageDetails struct {
6835	_ struct{} `type:"structure"`
6836
6837	// Settings for logging access for the stage.
6838	AccessLogSettings *AwsApiGatewayAccessLogSettings `type:"structure"`
6839
6840	// Indicates whether a cache cluster is enabled for the stage.
6841	CacheClusterEnabled *bool `type:"boolean"`
6842
6843	// If a cache cluster is enabled, the size of the cache cluster.
6844	CacheClusterSize *string `type:"string"`
6845
6846	// If a cache cluster is enabled, the status of the cache cluster.
6847	CacheClusterStatus *string `type:"string"`
6848
6849	// Information about settings for canary deployment in the stage.
6850	CanarySettings *AwsApiGatewayCanarySettings `type:"structure"`
6851
6852	// The identifier of the client certificate for the stage.
6853	ClientCertificateId *string `type:"string"`
6854
6855	// Indicates when the stage was created.
6856	//
6857	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6858	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6859	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6860	CreatedDate *string `type:"string"`
6861
6862	// The identifier of the deployment that the stage points to.
6863	DeploymentId *string `type:"string"`
6864
6865	// A description of the stage.
6866	Description *string `type:"string"`
6867
6868	// The version of the API documentation that is associated with the stage.
6869	DocumentationVersion *string `type:"string"`
6870
6871	// Indicates when the stage was most recently updated.
6872	//
6873	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
6874	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
6875	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
6876	LastUpdatedDate *string `type:"string"`
6877
6878	// Defines the method settings for the stage.
6879	MethodSettings []*AwsApiGatewayMethodSettings `type:"list"`
6880
6881	// The name of the stage.
6882	StageName *string `type:"string"`
6883
6884	// Indicates whether active tracing with AWS X-Ray is enabled for the stage.
6885	TracingEnabled *bool `type:"boolean"`
6886
6887	// A map that defines the stage variables for the stage.
6888	//
6889	// Variable names can have alphanumeric and underscore characters.
6890	//
6891	// Variable values can contain the following characters:
6892	//
6893	//    * Uppercase and lowercase letters
6894	//
6895	//    * Numbers
6896	//
6897	//    * Special characters -._~:/?#&=,
6898	Variables map[string]*string `type:"map"`
6899
6900	// The ARN of the web ACL associated with the stage.
6901	WebAclArn *string `type:"string"`
6902}
6903
6904// String returns the string representation
6905func (s AwsApiGatewayStageDetails) String() string {
6906	return awsutil.Prettify(s)
6907}
6908
6909// GoString returns the string representation
6910func (s AwsApiGatewayStageDetails) GoString() string {
6911	return s.String()
6912}
6913
6914// SetAccessLogSettings sets the AccessLogSettings field's value.
6915func (s *AwsApiGatewayStageDetails) SetAccessLogSettings(v *AwsApiGatewayAccessLogSettings) *AwsApiGatewayStageDetails {
6916	s.AccessLogSettings = v
6917	return s
6918}
6919
6920// SetCacheClusterEnabled sets the CacheClusterEnabled field's value.
6921func (s *AwsApiGatewayStageDetails) SetCacheClusterEnabled(v bool) *AwsApiGatewayStageDetails {
6922	s.CacheClusterEnabled = &v
6923	return s
6924}
6925
6926// SetCacheClusterSize sets the CacheClusterSize field's value.
6927func (s *AwsApiGatewayStageDetails) SetCacheClusterSize(v string) *AwsApiGatewayStageDetails {
6928	s.CacheClusterSize = &v
6929	return s
6930}
6931
6932// SetCacheClusterStatus sets the CacheClusterStatus field's value.
6933func (s *AwsApiGatewayStageDetails) SetCacheClusterStatus(v string) *AwsApiGatewayStageDetails {
6934	s.CacheClusterStatus = &v
6935	return s
6936}
6937
6938// SetCanarySettings sets the CanarySettings field's value.
6939func (s *AwsApiGatewayStageDetails) SetCanarySettings(v *AwsApiGatewayCanarySettings) *AwsApiGatewayStageDetails {
6940	s.CanarySettings = v
6941	return s
6942}
6943
6944// SetClientCertificateId sets the ClientCertificateId field's value.
6945func (s *AwsApiGatewayStageDetails) SetClientCertificateId(v string) *AwsApiGatewayStageDetails {
6946	s.ClientCertificateId = &v
6947	return s
6948}
6949
6950// SetCreatedDate sets the CreatedDate field's value.
6951func (s *AwsApiGatewayStageDetails) SetCreatedDate(v string) *AwsApiGatewayStageDetails {
6952	s.CreatedDate = &v
6953	return s
6954}
6955
6956// SetDeploymentId sets the DeploymentId field's value.
6957func (s *AwsApiGatewayStageDetails) SetDeploymentId(v string) *AwsApiGatewayStageDetails {
6958	s.DeploymentId = &v
6959	return s
6960}
6961
6962// SetDescription sets the Description field's value.
6963func (s *AwsApiGatewayStageDetails) SetDescription(v string) *AwsApiGatewayStageDetails {
6964	s.Description = &v
6965	return s
6966}
6967
6968// SetDocumentationVersion sets the DocumentationVersion field's value.
6969func (s *AwsApiGatewayStageDetails) SetDocumentationVersion(v string) *AwsApiGatewayStageDetails {
6970	s.DocumentationVersion = &v
6971	return s
6972}
6973
6974// SetLastUpdatedDate sets the LastUpdatedDate field's value.
6975func (s *AwsApiGatewayStageDetails) SetLastUpdatedDate(v string) *AwsApiGatewayStageDetails {
6976	s.LastUpdatedDate = &v
6977	return s
6978}
6979
6980// SetMethodSettings sets the MethodSettings field's value.
6981func (s *AwsApiGatewayStageDetails) SetMethodSettings(v []*AwsApiGatewayMethodSettings) *AwsApiGatewayStageDetails {
6982	s.MethodSettings = v
6983	return s
6984}
6985
6986// SetStageName sets the StageName field's value.
6987func (s *AwsApiGatewayStageDetails) SetStageName(v string) *AwsApiGatewayStageDetails {
6988	s.StageName = &v
6989	return s
6990}
6991
6992// SetTracingEnabled sets the TracingEnabled field's value.
6993func (s *AwsApiGatewayStageDetails) SetTracingEnabled(v bool) *AwsApiGatewayStageDetails {
6994	s.TracingEnabled = &v
6995	return s
6996}
6997
6998// SetVariables sets the Variables field's value.
6999func (s *AwsApiGatewayStageDetails) SetVariables(v map[string]*string) *AwsApiGatewayStageDetails {
7000	s.Variables = v
7001	return s
7002}
7003
7004// SetWebAclArn sets the WebAclArn field's value.
7005func (s *AwsApiGatewayStageDetails) SetWebAclArn(v string) *AwsApiGatewayStageDetails {
7006	s.WebAclArn = &v
7007	return s
7008}
7009
7010// Contains information about a version 2 API in Amazon API Gateway.
7011type AwsApiGatewayV2ApiDetails struct {
7012	_ struct{} `type:"structure"`
7013
7014	// The URI of the API.
7015	//
7016	// Uses the format <api-id>.execute-api.<region>.amazonaws.com
7017	//
7018	// The stage name is typically appended to the URI to form a complete path to
7019	// a deployed API stage.
7020	ApiEndpoint *string `type:"string"`
7021
7022	// The identifier of the API.
7023	ApiId *string `type:"string"`
7024
7025	// An API key selection expression. Supported only for WebSocket APIs.
7026	ApiKeySelectionExpression *string `type:"string"`
7027
7028	// A cross-origin resource sharing (CORS) configuration. Supported only for
7029	// HTTP APIs.
7030	CorsConfiguration *AwsCorsConfiguration `type:"structure"`
7031
7032	// Indicates when the API was created.
7033	//
7034	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7035	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7036	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7037	CreatedDate *string `type:"string"`
7038
7039	// A description of the API.
7040	Description *string `type:"string"`
7041
7042	// The name of the API.
7043	Name *string `type:"string"`
7044
7045	// The API protocol for the API.
7046	//
7047	// Valid values: WEBSOCKET | HTTP
7048	ProtocolType *string `type:"string"`
7049
7050	// The route selection expression for the API.
7051	//
7052	// For HTTP APIs, must be ${request.method} ${request.path}. This is the default
7053	// value for HTTP APIs.
7054	//
7055	// For WebSocket APIs, there is no default value.
7056	RouteSelectionExpression *string `type:"string"`
7057
7058	// The version identifier for the API.
7059	Version *string `type:"string"`
7060}
7061
7062// String returns the string representation
7063func (s AwsApiGatewayV2ApiDetails) String() string {
7064	return awsutil.Prettify(s)
7065}
7066
7067// GoString returns the string representation
7068func (s AwsApiGatewayV2ApiDetails) GoString() string {
7069	return s.String()
7070}
7071
7072// SetApiEndpoint sets the ApiEndpoint field's value.
7073func (s *AwsApiGatewayV2ApiDetails) SetApiEndpoint(v string) *AwsApiGatewayV2ApiDetails {
7074	s.ApiEndpoint = &v
7075	return s
7076}
7077
7078// SetApiId sets the ApiId field's value.
7079func (s *AwsApiGatewayV2ApiDetails) SetApiId(v string) *AwsApiGatewayV2ApiDetails {
7080	s.ApiId = &v
7081	return s
7082}
7083
7084// SetApiKeySelectionExpression sets the ApiKeySelectionExpression field's value.
7085func (s *AwsApiGatewayV2ApiDetails) SetApiKeySelectionExpression(v string) *AwsApiGatewayV2ApiDetails {
7086	s.ApiKeySelectionExpression = &v
7087	return s
7088}
7089
7090// SetCorsConfiguration sets the CorsConfiguration field's value.
7091func (s *AwsApiGatewayV2ApiDetails) SetCorsConfiguration(v *AwsCorsConfiguration) *AwsApiGatewayV2ApiDetails {
7092	s.CorsConfiguration = v
7093	return s
7094}
7095
7096// SetCreatedDate sets the CreatedDate field's value.
7097func (s *AwsApiGatewayV2ApiDetails) SetCreatedDate(v string) *AwsApiGatewayV2ApiDetails {
7098	s.CreatedDate = &v
7099	return s
7100}
7101
7102// SetDescription sets the Description field's value.
7103func (s *AwsApiGatewayV2ApiDetails) SetDescription(v string) *AwsApiGatewayV2ApiDetails {
7104	s.Description = &v
7105	return s
7106}
7107
7108// SetName sets the Name field's value.
7109func (s *AwsApiGatewayV2ApiDetails) SetName(v string) *AwsApiGatewayV2ApiDetails {
7110	s.Name = &v
7111	return s
7112}
7113
7114// SetProtocolType sets the ProtocolType field's value.
7115func (s *AwsApiGatewayV2ApiDetails) SetProtocolType(v string) *AwsApiGatewayV2ApiDetails {
7116	s.ProtocolType = &v
7117	return s
7118}
7119
7120// SetRouteSelectionExpression sets the RouteSelectionExpression field's value.
7121func (s *AwsApiGatewayV2ApiDetails) SetRouteSelectionExpression(v string) *AwsApiGatewayV2ApiDetails {
7122	s.RouteSelectionExpression = &v
7123	return s
7124}
7125
7126// SetVersion sets the Version field's value.
7127func (s *AwsApiGatewayV2ApiDetails) SetVersion(v string) *AwsApiGatewayV2ApiDetails {
7128	s.Version = &v
7129	return s
7130}
7131
7132// Contains route settings for a stage.
7133type AwsApiGatewayV2RouteSettings struct {
7134	_ struct{} `type:"structure"`
7135
7136	// Indicates whether data trace logging is enabled. Data trace logging affects
7137	// the log entries that are pushed to CloudWatch Logs. Supported only for WebSocket
7138	// APIs.
7139	DataTraceEnabled *bool `type:"boolean"`
7140
7141	// Indicates whether detailed metrics are enabled.
7142	DetailedMetricsEnabled *bool `type:"boolean"`
7143
7144	// The logging level. The logging level affects the log entries that are pushed
7145	// to CloudWatch Logs. Supported only for WebSocket APIs.
7146	//
7147	// If the logging level is ERROR, then the logs only include error-level entries.
7148	//
7149	// If the logging level is INFO, then the logs include both ERROR events and
7150	// extra informational events.
7151	//
7152	// Valid values: OFF | ERROR | INFO
7153	LoggingLevel *string `type:"string"`
7154
7155	// The throttling burst limit.
7156	ThrottlingBurstLimit *int64 `type:"integer"`
7157
7158	// The throttling rate limit.
7159	ThrottlingRateLimit *float64 `type:"double"`
7160}
7161
7162// String returns the string representation
7163func (s AwsApiGatewayV2RouteSettings) String() string {
7164	return awsutil.Prettify(s)
7165}
7166
7167// GoString returns the string representation
7168func (s AwsApiGatewayV2RouteSettings) GoString() string {
7169	return s.String()
7170}
7171
7172// SetDataTraceEnabled sets the DataTraceEnabled field's value.
7173func (s *AwsApiGatewayV2RouteSettings) SetDataTraceEnabled(v bool) *AwsApiGatewayV2RouteSettings {
7174	s.DataTraceEnabled = &v
7175	return s
7176}
7177
7178// SetDetailedMetricsEnabled sets the DetailedMetricsEnabled field's value.
7179func (s *AwsApiGatewayV2RouteSettings) SetDetailedMetricsEnabled(v bool) *AwsApiGatewayV2RouteSettings {
7180	s.DetailedMetricsEnabled = &v
7181	return s
7182}
7183
7184// SetLoggingLevel sets the LoggingLevel field's value.
7185func (s *AwsApiGatewayV2RouteSettings) SetLoggingLevel(v string) *AwsApiGatewayV2RouteSettings {
7186	s.LoggingLevel = &v
7187	return s
7188}
7189
7190// SetThrottlingBurstLimit sets the ThrottlingBurstLimit field's value.
7191func (s *AwsApiGatewayV2RouteSettings) SetThrottlingBurstLimit(v int64) *AwsApiGatewayV2RouteSettings {
7192	s.ThrottlingBurstLimit = &v
7193	return s
7194}
7195
7196// SetThrottlingRateLimit sets the ThrottlingRateLimit field's value.
7197func (s *AwsApiGatewayV2RouteSettings) SetThrottlingRateLimit(v float64) *AwsApiGatewayV2RouteSettings {
7198	s.ThrottlingRateLimit = &v
7199	return s
7200}
7201
7202// Contains information about a version 2 stage for Amazon API Gateway.
7203type AwsApiGatewayV2StageDetails struct {
7204	_ struct{} `type:"structure"`
7205
7206	// Information about settings for logging access for the stage.
7207	AccessLogSettings *AwsApiGatewayAccessLogSettings `type:"structure"`
7208
7209	// Indicates whether the stage is managed by API Gateway.
7210	ApiGatewayManaged *bool `type:"boolean"`
7211
7212	// Indicates whether updates to an API automatically trigger a new deployment.
7213	AutoDeploy *bool `type:"boolean"`
7214
7215	// Indicates when the stage was created.
7216	//
7217	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7218	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7219	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7220	CreatedDate *string `type:"string"`
7221
7222	// Default route settings for the stage.
7223	DefaultRouteSettings *AwsApiGatewayV2RouteSettings `type:"structure"`
7224
7225	// The identifier of the deployment that the stage is associated with.
7226	DeploymentId *string `type:"string"`
7227
7228	// The description of the stage.
7229	Description *string `type:"string"`
7230
7231	// The status of the last deployment of a stage. Supported only if the stage
7232	// has automatic deployment enabled.
7233	LastDeploymentStatusMessage *string `type:"string"`
7234
7235	// Indicates when the stage was most recently updated.
7236	//
7237	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7238	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7239	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7240	LastUpdatedDate *string `type:"string"`
7241
7242	// The route settings for the stage.
7243	RouteSettings *AwsApiGatewayV2RouteSettings `type:"structure"`
7244
7245	// The name of the stage.
7246	StageName *string `type:"string"`
7247
7248	// A map that defines the stage variables for the stage.
7249	//
7250	// Variable names can have alphanumeric and underscore characters.
7251	//
7252	// Variable values can contain the following characters:
7253	//
7254	//    * Uppercase and lowercase letters
7255	//
7256	//    * Numbers
7257	//
7258	//    * Special characters -._~:/?#&=,
7259	StageVariables map[string]*string `type:"map"`
7260}
7261
7262// String returns the string representation
7263func (s AwsApiGatewayV2StageDetails) String() string {
7264	return awsutil.Prettify(s)
7265}
7266
7267// GoString returns the string representation
7268func (s AwsApiGatewayV2StageDetails) GoString() string {
7269	return s.String()
7270}
7271
7272// SetAccessLogSettings sets the AccessLogSettings field's value.
7273func (s *AwsApiGatewayV2StageDetails) SetAccessLogSettings(v *AwsApiGatewayAccessLogSettings) *AwsApiGatewayV2StageDetails {
7274	s.AccessLogSettings = v
7275	return s
7276}
7277
7278// SetApiGatewayManaged sets the ApiGatewayManaged field's value.
7279func (s *AwsApiGatewayV2StageDetails) SetApiGatewayManaged(v bool) *AwsApiGatewayV2StageDetails {
7280	s.ApiGatewayManaged = &v
7281	return s
7282}
7283
7284// SetAutoDeploy sets the AutoDeploy field's value.
7285func (s *AwsApiGatewayV2StageDetails) SetAutoDeploy(v bool) *AwsApiGatewayV2StageDetails {
7286	s.AutoDeploy = &v
7287	return s
7288}
7289
7290// SetCreatedDate sets the CreatedDate field's value.
7291func (s *AwsApiGatewayV2StageDetails) SetCreatedDate(v string) *AwsApiGatewayV2StageDetails {
7292	s.CreatedDate = &v
7293	return s
7294}
7295
7296// SetDefaultRouteSettings sets the DefaultRouteSettings field's value.
7297func (s *AwsApiGatewayV2StageDetails) SetDefaultRouteSettings(v *AwsApiGatewayV2RouteSettings) *AwsApiGatewayV2StageDetails {
7298	s.DefaultRouteSettings = v
7299	return s
7300}
7301
7302// SetDeploymentId sets the DeploymentId field's value.
7303func (s *AwsApiGatewayV2StageDetails) SetDeploymentId(v string) *AwsApiGatewayV2StageDetails {
7304	s.DeploymentId = &v
7305	return s
7306}
7307
7308// SetDescription sets the Description field's value.
7309func (s *AwsApiGatewayV2StageDetails) SetDescription(v string) *AwsApiGatewayV2StageDetails {
7310	s.Description = &v
7311	return s
7312}
7313
7314// SetLastDeploymentStatusMessage sets the LastDeploymentStatusMessage field's value.
7315func (s *AwsApiGatewayV2StageDetails) SetLastDeploymentStatusMessage(v string) *AwsApiGatewayV2StageDetails {
7316	s.LastDeploymentStatusMessage = &v
7317	return s
7318}
7319
7320// SetLastUpdatedDate sets the LastUpdatedDate field's value.
7321func (s *AwsApiGatewayV2StageDetails) SetLastUpdatedDate(v string) *AwsApiGatewayV2StageDetails {
7322	s.LastUpdatedDate = &v
7323	return s
7324}
7325
7326// SetRouteSettings sets the RouteSettings field's value.
7327func (s *AwsApiGatewayV2StageDetails) SetRouteSettings(v *AwsApiGatewayV2RouteSettings) *AwsApiGatewayV2StageDetails {
7328	s.RouteSettings = v
7329	return s
7330}
7331
7332// SetStageName sets the StageName field's value.
7333func (s *AwsApiGatewayV2StageDetails) SetStageName(v string) *AwsApiGatewayV2StageDetails {
7334	s.StageName = &v
7335	return s
7336}
7337
7338// SetStageVariables sets the StageVariables field's value.
7339func (s *AwsApiGatewayV2StageDetails) SetStageVariables(v map[string]*string) *AwsApiGatewayV2StageDetails {
7340	s.StageVariables = v
7341	return s
7342}
7343
7344// Provides details about an auto scaling group.
7345type AwsAutoScalingAutoScalingGroupDetails struct {
7346	_ struct{} `type:"structure"`
7347
7348	// Indicates when the auto scaling group was created.
7349	//
7350	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7351	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7352	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7353	CreatedTime *string `type:"string"`
7354
7355	// The amount of time, in seconds, that Amazon EC2 Auto Scaling waits before
7356	// it checks the health status of an EC2 instance that has come into service.
7357	HealthCheckGracePeriod *int64 `type:"integer"`
7358
7359	// The service to use for the health checks.
7360	HealthCheckType *string `type:"string"`
7361
7362	// The name of the launch configuration.
7363	LaunchConfigurationName *string `type:"string"`
7364
7365	// The list of load balancers associated with the group.
7366	LoadBalancerNames []*string `type:"list"`
7367}
7368
7369// String returns the string representation
7370func (s AwsAutoScalingAutoScalingGroupDetails) String() string {
7371	return awsutil.Prettify(s)
7372}
7373
7374// GoString returns the string representation
7375func (s AwsAutoScalingAutoScalingGroupDetails) GoString() string {
7376	return s.String()
7377}
7378
7379// SetCreatedTime sets the CreatedTime field's value.
7380func (s *AwsAutoScalingAutoScalingGroupDetails) SetCreatedTime(v string) *AwsAutoScalingAutoScalingGroupDetails {
7381	s.CreatedTime = &v
7382	return s
7383}
7384
7385// SetHealthCheckGracePeriod sets the HealthCheckGracePeriod field's value.
7386func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckGracePeriod(v int64) *AwsAutoScalingAutoScalingGroupDetails {
7387	s.HealthCheckGracePeriod = &v
7388	return s
7389}
7390
7391// SetHealthCheckType sets the HealthCheckType field's value.
7392func (s *AwsAutoScalingAutoScalingGroupDetails) SetHealthCheckType(v string) *AwsAutoScalingAutoScalingGroupDetails {
7393	s.HealthCheckType = &v
7394	return s
7395}
7396
7397// SetLaunchConfigurationName sets the LaunchConfigurationName field's value.
7398func (s *AwsAutoScalingAutoScalingGroupDetails) SetLaunchConfigurationName(v string) *AwsAutoScalingAutoScalingGroupDetails {
7399	s.LaunchConfigurationName = &v
7400	return s
7401}
7402
7403// SetLoadBalancerNames sets the LoadBalancerNames field's value.
7404func (s *AwsAutoScalingAutoScalingGroupDetails) SetLoadBalancerNames(v []*string) *AwsAutoScalingAutoScalingGroupDetails {
7405	s.LoadBalancerNames = v
7406	return s
7407}
7408
7409// Provides details about an AWS Certificate Manager certificate.
7410type AwsCertificateManagerCertificateDetails struct {
7411	_ struct{} `type:"structure"`
7412
7413	// The ARN of the private certificate authority (CA) that will be used to issue
7414	// the certificate.
7415	CertificateAuthorityArn *string `type:"string"`
7416
7417	// Indicates when the certificate was requested.
7418	//
7419	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7420	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7421	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7422	CreatedAt *string `type:"string"`
7423
7424	// The fully qualified domain name (FQDN), such as www.example.com, that is
7425	// secured by the certificate.
7426	DomainName *string `type:"string"`
7427
7428	// Contains information about the initial validation of each domain name that
7429	// occurs as a result of the RequestCertificate request.
7430	//
7431	// Only provided if the certificate type is AMAZON_ISSUED.
7432	DomainValidationOptions []*AwsCertificateManagerCertificateDomainValidationOption `type:"list"`
7433
7434	// Contains a list of Extended Key Usage X.509 v3 extension objects. Each object
7435	// specifies a purpose for which the certificate public key can be used and
7436	// consists of a name and an object identifier (OID).
7437	ExtendedKeyUsages []*AwsCertificateManagerCertificateExtendedKeyUsage `type:"list"`
7438
7439	// For a failed certificate request, the reason for the failure.
7440	//
7441	// Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED |
7442	// DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR
7443	// | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED
7444	// | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS
7445	// | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER
7446	FailureReason *string `type:"string"`
7447
7448	// Indicates when the certificate was imported. Provided if the certificate
7449	// type is IMPORTED.
7450	//
7451	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7452	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7453	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7454	ImportedAt *string `type:"string"`
7455
7456	// The list of ARNs for the AWS resources that use the certificate.
7457	InUseBy []*string `type:"list"`
7458
7459	// Indicates when the certificate was issued. Provided if the certificate type
7460	// is AMAZON_ISSUED.
7461	//
7462	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7463	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7464	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7465	IssuedAt *string `type:"string"`
7466
7467	// The name of the certificate authority that issued and signed the certificate.
7468	Issuer *string `type:"string"`
7469
7470	// The algorithm that was used to generate the public-private key pair.
7471	//
7472	// Valid values: RSA_2048 | RSA_1024 |RSA_4096 | EC_prime256v1 | EC_secp384r1
7473	// | EC_secp521r1
7474	KeyAlgorithm *string `type:"string"`
7475
7476	// A list of key usage X.509 v3 extension objects.
7477	KeyUsages []*AwsCertificateManagerCertificateKeyUsage `type:"list"`
7478
7479	// The time after which the certificate becomes invalid.
7480	//
7481	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7482	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7483	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7484	NotAfter *string `type:"string"`
7485
7486	// The time before which the certificate is not valid.
7487	//
7488	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7489	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7490	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7491	NotBefore *string `type:"string"`
7492
7493	// Provides a value that specifies whether to add the certificate to a transparency
7494	// log.
7495	Options *AwsCertificateManagerCertificateOptions `type:"structure"`
7496
7497	// Whether the certificate is eligible for renewal.
7498	//
7499	// Valid values: ELIGIBLE | INELIGIBLE
7500	RenewalEligibility *string `type:"string"`
7501
7502	// Information about the status of the AWS Certificate Manager managed renewal
7503	// for the certificate. Provided only when the certificate type is AMAZON_ISSUED.
7504	RenewalSummary *AwsCertificateManagerCertificateRenewalSummary `type:"structure"`
7505
7506	// The serial number of the certificate.
7507	Serial *string `type:"string"`
7508
7509	// The algorithm that was used to sign the certificate.
7510	SignatureAlgorithm *string `type:"string"`
7511
7512	// The status of the certificate.
7513	//
7514	// Valid values: PENDING_VALIDATION | ISSUED | INACTIVE | EXPIRED | VALIDATION_TIMED_OUT
7515	// | REVOKED | FAILED
7516	Status *string `type:"string"`
7517
7518	// The name of the entity that is associated with the public key contained in
7519	// the certificate.
7520	Subject *string `type:"string"`
7521
7522	// One or more domain names (subject alternative names) included in the certificate.
7523	// This list contains the domain names that are bound to the public key that
7524	// is contained in the certificate.
7525	//
7526	// The subject alternative names include the canonical domain name (CN) of the
7527	// certificate and additional domain names that can be used to connect to the
7528	// website.
7529	SubjectAlternativeNames []*string `type:"list"`
7530
7531	// The source of the certificate. For certificates that AWS Certificate Manager
7532	// provides, Type is AMAZON_ISSUED. For certificates that are imported with
7533	// ImportCertificate, Type is IMPORTED.
7534	//
7535	// Valid values: IMPORTED | AMAZON_ISSUED | PRIVATE
7536	Type *string `type:"string"`
7537}
7538
7539// String returns the string representation
7540func (s AwsCertificateManagerCertificateDetails) String() string {
7541	return awsutil.Prettify(s)
7542}
7543
7544// GoString returns the string representation
7545func (s AwsCertificateManagerCertificateDetails) GoString() string {
7546	return s.String()
7547}
7548
7549// SetCertificateAuthorityArn sets the CertificateAuthorityArn field's value.
7550func (s *AwsCertificateManagerCertificateDetails) SetCertificateAuthorityArn(v string) *AwsCertificateManagerCertificateDetails {
7551	s.CertificateAuthorityArn = &v
7552	return s
7553}
7554
7555// SetCreatedAt sets the CreatedAt field's value.
7556func (s *AwsCertificateManagerCertificateDetails) SetCreatedAt(v string) *AwsCertificateManagerCertificateDetails {
7557	s.CreatedAt = &v
7558	return s
7559}
7560
7561// SetDomainName sets the DomainName field's value.
7562func (s *AwsCertificateManagerCertificateDetails) SetDomainName(v string) *AwsCertificateManagerCertificateDetails {
7563	s.DomainName = &v
7564	return s
7565}
7566
7567// SetDomainValidationOptions sets the DomainValidationOptions field's value.
7568func (s *AwsCertificateManagerCertificateDetails) SetDomainValidationOptions(v []*AwsCertificateManagerCertificateDomainValidationOption) *AwsCertificateManagerCertificateDetails {
7569	s.DomainValidationOptions = v
7570	return s
7571}
7572
7573// SetExtendedKeyUsages sets the ExtendedKeyUsages field's value.
7574func (s *AwsCertificateManagerCertificateDetails) SetExtendedKeyUsages(v []*AwsCertificateManagerCertificateExtendedKeyUsage) *AwsCertificateManagerCertificateDetails {
7575	s.ExtendedKeyUsages = v
7576	return s
7577}
7578
7579// SetFailureReason sets the FailureReason field's value.
7580func (s *AwsCertificateManagerCertificateDetails) SetFailureReason(v string) *AwsCertificateManagerCertificateDetails {
7581	s.FailureReason = &v
7582	return s
7583}
7584
7585// SetImportedAt sets the ImportedAt field's value.
7586func (s *AwsCertificateManagerCertificateDetails) SetImportedAt(v string) *AwsCertificateManagerCertificateDetails {
7587	s.ImportedAt = &v
7588	return s
7589}
7590
7591// SetInUseBy sets the InUseBy field's value.
7592func (s *AwsCertificateManagerCertificateDetails) SetInUseBy(v []*string) *AwsCertificateManagerCertificateDetails {
7593	s.InUseBy = v
7594	return s
7595}
7596
7597// SetIssuedAt sets the IssuedAt field's value.
7598func (s *AwsCertificateManagerCertificateDetails) SetIssuedAt(v string) *AwsCertificateManagerCertificateDetails {
7599	s.IssuedAt = &v
7600	return s
7601}
7602
7603// SetIssuer sets the Issuer field's value.
7604func (s *AwsCertificateManagerCertificateDetails) SetIssuer(v string) *AwsCertificateManagerCertificateDetails {
7605	s.Issuer = &v
7606	return s
7607}
7608
7609// SetKeyAlgorithm sets the KeyAlgorithm field's value.
7610func (s *AwsCertificateManagerCertificateDetails) SetKeyAlgorithm(v string) *AwsCertificateManagerCertificateDetails {
7611	s.KeyAlgorithm = &v
7612	return s
7613}
7614
7615// SetKeyUsages sets the KeyUsages field's value.
7616func (s *AwsCertificateManagerCertificateDetails) SetKeyUsages(v []*AwsCertificateManagerCertificateKeyUsage) *AwsCertificateManagerCertificateDetails {
7617	s.KeyUsages = v
7618	return s
7619}
7620
7621// SetNotAfter sets the NotAfter field's value.
7622func (s *AwsCertificateManagerCertificateDetails) SetNotAfter(v string) *AwsCertificateManagerCertificateDetails {
7623	s.NotAfter = &v
7624	return s
7625}
7626
7627// SetNotBefore sets the NotBefore field's value.
7628func (s *AwsCertificateManagerCertificateDetails) SetNotBefore(v string) *AwsCertificateManagerCertificateDetails {
7629	s.NotBefore = &v
7630	return s
7631}
7632
7633// SetOptions sets the Options field's value.
7634func (s *AwsCertificateManagerCertificateDetails) SetOptions(v *AwsCertificateManagerCertificateOptions) *AwsCertificateManagerCertificateDetails {
7635	s.Options = v
7636	return s
7637}
7638
7639// SetRenewalEligibility sets the RenewalEligibility field's value.
7640func (s *AwsCertificateManagerCertificateDetails) SetRenewalEligibility(v string) *AwsCertificateManagerCertificateDetails {
7641	s.RenewalEligibility = &v
7642	return s
7643}
7644
7645// SetRenewalSummary sets the RenewalSummary field's value.
7646func (s *AwsCertificateManagerCertificateDetails) SetRenewalSummary(v *AwsCertificateManagerCertificateRenewalSummary) *AwsCertificateManagerCertificateDetails {
7647	s.RenewalSummary = v
7648	return s
7649}
7650
7651// SetSerial sets the Serial field's value.
7652func (s *AwsCertificateManagerCertificateDetails) SetSerial(v string) *AwsCertificateManagerCertificateDetails {
7653	s.Serial = &v
7654	return s
7655}
7656
7657// SetSignatureAlgorithm sets the SignatureAlgorithm field's value.
7658func (s *AwsCertificateManagerCertificateDetails) SetSignatureAlgorithm(v string) *AwsCertificateManagerCertificateDetails {
7659	s.SignatureAlgorithm = &v
7660	return s
7661}
7662
7663// SetStatus sets the Status field's value.
7664func (s *AwsCertificateManagerCertificateDetails) SetStatus(v string) *AwsCertificateManagerCertificateDetails {
7665	s.Status = &v
7666	return s
7667}
7668
7669// SetSubject sets the Subject field's value.
7670func (s *AwsCertificateManagerCertificateDetails) SetSubject(v string) *AwsCertificateManagerCertificateDetails {
7671	s.Subject = &v
7672	return s
7673}
7674
7675// SetSubjectAlternativeNames sets the SubjectAlternativeNames field's value.
7676func (s *AwsCertificateManagerCertificateDetails) SetSubjectAlternativeNames(v []*string) *AwsCertificateManagerCertificateDetails {
7677	s.SubjectAlternativeNames = v
7678	return s
7679}
7680
7681// SetType sets the Type field's value.
7682func (s *AwsCertificateManagerCertificateDetails) SetType(v string) *AwsCertificateManagerCertificateDetails {
7683	s.Type = &v
7684	return s
7685}
7686
7687// Contains information about one of the following:
7688//
7689//    * The initial validation of each domain name that occurs as a result of
7690//    the RequestCertificate request
7691//
7692//    * The validation of each domain name in the certificate, as it pertains
7693//    to AWS Certificate Manager managed renewal
7694type AwsCertificateManagerCertificateDomainValidationOption struct {
7695	_ struct{} `type:"structure"`
7696
7697	// A fully qualified domain name (FQDN) in the certificate.
7698	DomainName *string `type:"string"`
7699
7700	// The CNAME record that is added to the DNS database for domain validation.
7701	ResourceRecord *AwsCertificateManagerCertificateResourceRecord `type:"structure"`
7702
7703	// The domain name that AWS Certificate Manager uses to send domain validation
7704	// emails.
7705	ValidationDomain *string `type:"string"`
7706
7707	// A list of email addresses that AWS Certificate Manager uses to send domain
7708	// validation emails.
7709	ValidationEmails []*string `type:"list"`
7710
7711	// The method used to validate the domain name.
7712	ValidationMethod *string `type:"string"`
7713
7714	// The validation status of the domain name.
7715	ValidationStatus *string `type:"string"`
7716}
7717
7718// String returns the string representation
7719func (s AwsCertificateManagerCertificateDomainValidationOption) String() string {
7720	return awsutil.Prettify(s)
7721}
7722
7723// GoString returns the string representation
7724func (s AwsCertificateManagerCertificateDomainValidationOption) GoString() string {
7725	return s.String()
7726}
7727
7728// SetDomainName sets the DomainName field's value.
7729func (s *AwsCertificateManagerCertificateDomainValidationOption) SetDomainName(v string) *AwsCertificateManagerCertificateDomainValidationOption {
7730	s.DomainName = &v
7731	return s
7732}
7733
7734// SetResourceRecord sets the ResourceRecord field's value.
7735func (s *AwsCertificateManagerCertificateDomainValidationOption) SetResourceRecord(v *AwsCertificateManagerCertificateResourceRecord) *AwsCertificateManagerCertificateDomainValidationOption {
7736	s.ResourceRecord = v
7737	return s
7738}
7739
7740// SetValidationDomain sets the ValidationDomain field's value.
7741func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationDomain(v string) *AwsCertificateManagerCertificateDomainValidationOption {
7742	s.ValidationDomain = &v
7743	return s
7744}
7745
7746// SetValidationEmails sets the ValidationEmails field's value.
7747func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationEmails(v []*string) *AwsCertificateManagerCertificateDomainValidationOption {
7748	s.ValidationEmails = v
7749	return s
7750}
7751
7752// SetValidationMethod sets the ValidationMethod field's value.
7753func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationMethod(v string) *AwsCertificateManagerCertificateDomainValidationOption {
7754	s.ValidationMethod = &v
7755	return s
7756}
7757
7758// SetValidationStatus sets the ValidationStatus field's value.
7759func (s *AwsCertificateManagerCertificateDomainValidationOption) SetValidationStatus(v string) *AwsCertificateManagerCertificateDomainValidationOption {
7760	s.ValidationStatus = &v
7761	return s
7762}
7763
7764// Contains information about an extended key usage X.509 v3 extension object.
7765type AwsCertificateManagerCertificateExtendedKeyUsage struct {
7766	_ struct{} `type:"structure"`
7767
7768	// The name of an extension value. Indicates the purpose for which the certificate
7769	// public key can be used.
7770	Name *string `type:"string"`
7771
7772	// An object identifier (OID) for the extension value.
7773	//
7774	// The format is numbers separated by periods.
7775	OId *string `type:"string"`
7776}
7777
7778// String returns the string representation
7779func (s AwsCertificateManagerCertificateExtendedKeyUsage) String() string {
7780	return awsutil.Prettify(s)
7781}
7782
7783// GoString returns the string representation
7784func (s AwsCertificateManagerCertificateExtendedKeyUsage) GoString() string {
7785	return s.String()
7786}
7787
7788// SetName sets the Name field's value.
7789func (s *AwsCertificateManagerCertificateExtendedKeyUsage) SetName(v string) *AwsCertificateManagerCertificateExtendedKeyUsage {
7790	s.Name = &v
7791	return s
7792}
7793
7794// SetOId sets the OId field's value.
7795func (s *AwsCertificateManagerCertificateExtendedKeyUsage) SetOId(v string) *AwsCertificateManagerCertificateExtendedKeyUsage {
7796	s.OId = &v
7797	return s
7798}
7799
7800// Contains information about a key usage X.509 v3 extension object.
7801type AwsCertificateManagerCertificateKeyUsage struct {
7802	_ struct{} `type:"structure"`
7803
7804	// The key usage extension name.
7805	Name *string `type:"string"`
7806}
7807
7808// String returns the string representation
7809func (s AwsCertificateManagerCertificateKeyUsage) String() string {
7810	return awsutil.Prettify(s)
7811}
7812
7813// GoString returns the string representation
7814func (s AwsCertificateManagerCertificateKeyUsage) GoString() string {
7815	return s.String()
7816}
7817
7818// SetName sets the Name field's value.
7819func (s *AwsCertificateManagerCertificateKeyUsage) SetName(v string) *AwsCertificateManagerCertificateKeyUsage {
7820	s.Name = &v
7821	return s
7822}
7823
7824// Contains other options for the certificate.
7825type AwsCertificateManagerCertificateOptions struct {
7826	_ struct{} `type:"structure"`
7827
7828	// Whether to add the certificate to a transparency log.
7829	//
7830	// Valid values: DISABLED | ENABLED
7831	CertificateTransparencyLoggingPreference *string `type:"string"`
7832}
7833
7834// String returns the string representation
7835func (s AwsCertificateManagerCertificateOptions) String() string {
7836	return awsutil.Prettify(s)
7837}
7838
7839// GoString returns the string representation
7840func (s AwsCertificateManagerCertificateOptions) GoString() string {
7841	return s.String()
7842}
7843
7844// SetCertificateTransparencyLoggingPreference sets the CertificateTransparencyLoggingPreference field's value.
7845func (s *AwsCertificateManagerCertificateOptions) SetCertificateTransparencyLoggingPreference(v string) *AwsCertificateManagerCertificateOptions {
7846	s.CertificateTransparencyLoggingPreference = &v
7847	return s
7848}
7849
7850// Contains information about the AWS Certificate Manager managed renewal for
7851// an AMAZON_ISSUED certificate.
7852type AwsCertificateManagerCertificateRenewalSummary struct {
7853	_ struct{} `type:"structure"`
7854
7855	// Information about the validation of each domain name in the certificate,
7856	// as it pertains to AWS Certificate Manager managed renewal. Provided only
7857	// when the certificate type is AMAZON_ISSUED.
7858	DomainValidationOptions []*AwsCertificateManagerCertificateDomainValidationOption `type:"list"`
7859
7860	// The status of the AWS Certificate Manager managed renewal of the certificate.
7861	//
7862	// Valid values: PENDING_AUTO_RENEWAL | PENDING_VALIDATION | SUCCESS | FAILED
7863	RenewalStatus *string `type:"string"`
7864
7865	// The reason that a renewal request was unsuccessful.
7866	//
7867	// Valid values: NO_AVAILABLE_CONTACTS | ADDITIONAL_VERIFICATION_REQUIRED |
7868	// DOMAIN_NOT_ALLOWED | INVALID_PUBLIC_DOMAIN | DOMAIN_VALIDATION_DENIED | CAA_ERROR
7869	// | PCA_LIMIT_EXCEEDED | PCA_INVALID_ARN | PCA_INVALID_STATE | PCA_REQUEST_FAILED
7870	// | PCA_NAME_CONSTRAINTS_VALIDATION | PCA_RESOURCE_NOT_FOUND | PCA_INVALID_ARGS
7871	// | PCA_INVALID_DURATION | PCA_ACCESS_DENIED | SLR_NOT_FOUND | OTHER
7872	RenewalStatusReason *string `type:"string"`
7873
7874	// Indicates when the renewal summary was last updated.
7875	//
7876	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
7877	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
7878	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
7879	UpdatedAt *string `type:"string"`
7880}
7881
7882// String returns the string representation
7883func (s AwsCertificateManagerCertificateRenewalSummary) String() string {
7884	return awsutil.Prettify(s)
7885}
7886
7887// GoString returns the string representation
7888func (s AwsCertificateManagerCertificateRenewalSummary) GoString() string {
7889	return s.String()
7890}
7891
7892// SetDomainValidationOptions sets the DomainValidationOptions field's value.
7893func (s *AwsCertificateManagerCertificateRenewalSummary) SetDomainValidationOptions(v []*AwsCertificateManagerCertificateDomainValidationOption) *AwsCertificateManagerCertificateRenewalSummary {
7894	s.DomainValidationOptions = v
7895	return s
7896}
7897
7898// SetRenewalStatus sets the RenewalStatus field's value.
7899func (s *AwsCertificateManagerCertificateRenewalSummary) SetRenewalStatus(v string) *AwsCertificateManagerCertificateRenewalSummary {
7900	s.RenewalStatus = &v
7901	return s
7902}
7903
7904// SetRenewalStatusReason sets the RenewalStatusReason field's value.
7905func (s *AwsCertificateManagerCertificateRenewalSummary) SetRenewalStatusReason(v string) *AwsCertificateManagerCertificateRenewalSummary {
7906	s.RenewalStatusReason = &v
7907	return s
7908}
7909
7910// SetUpdatedAt sets the UpdatedAt field's value.
7911func (s *AwsCertificateManagerCertificateRenewalSummary) SetUpdatedAt(v string) *AwsCertificateManagerCertificateRenewalSummary {
7912	s.UpdatedAt = &v
7913	return s
7914}
7915
7916// Provides details about the CNAME record that is added to the DNS database
7917// for domain validation.
7918type AwsCertificateManagerCertificateResourceRecord struct {
7919	_ struct{} `type:"structure"`
7920
7921	// The name of the resource.
7922	Name *string `type:"string"`
7923
7924	// The type of resource.
7925	Type *string `type:"string"`
7926
7927	// The value of the resource.
7928	Value *string `type:"string"`
7929}
7930
7931// String returns the string representation
7932func (s AwsCertificateManagerCertificateResourceRecord) String() string {
7933	return awsutil.Prettify(s)
7934}
7935
7936// GoString returns the string representation
7937func (s AwsCertificateManagerCertificateResourceRecord) GoString() string {
7938	return s.String()
7939}
7940
7941// SetName sets the Name field's value.
7942func (s *AwsCertificateManagerCertificateResourceRecord) SetName(v string) *AwsCertificateManagerCertificateResourceRecord {
7943	s.Name = &v
7944	return s
7945}
7946
7947// SetType sets the Type field's value.
7948func (s *AwsCertificateManagerCertificateResourceRecord) SetType(v string) *AwsCertificateManagerCertificateResourceRecord {
7949	s.Type = &v
7950	return s
7951}
7952
7953// SetValue sets the Value field's value.
7954func (s *AwsCertificateManagerCertificateResourceRecord) SetValue(v string) *AwsCertificateManagerCertificateResourceRecord {
7955	s.Value = &v
7956	return s
7957}
7958
7959// Information about a cache behavior for the distribution.
7960type AwsCloudFrontDistributionCacheBehavior struct {
7961	_ struct{} `type:"structure"`
7962
7963	// The protocol that viewers can use to access the files in an origin. You can
7964	// specify the following options:
7965	//
7966	//    * allow-all - Viewers can use HTTP or HTTPS.
7967	//
7968	//    * redirect-to-https - CloudFront responds to HTTP requests with an HTTP
7969	//    status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then
7970	//    uses the new URL to resubmit.
7971	//
7972	//    * https-only - CloudFront responds to HTTP request with an HTTP status
7973	//    code of 403 (Forbidden).
7974	ViewerProtocolPolicy *string `type:"string"`
7975}
7976
7977// String returns the string representation
7978func (s AwsCloudFrontDistributionCacheBehavior) String() string {
7979	return awsutil.Prettify(s)
7980}
7981
7982// GoString returns the string representation
7983func (s AwsCloudFrontDistributionCacheBehavior) GoString() string {
7984	return s.String()
7985}
7986
7987// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value.
7988func (s *AwsCloudFrontDistributionCacheBehavior) SetViewerProtocolPolicy(v string) *AwsCloudFrontDistributionCacheBehavior {
7989	s.ViewerProtocolPolicy = &v
7990	return s
7991}
7992
7993// Provides information about caching for the distribution.
7994type AwsCloudFrontDistributionCacheBehaviors struct {
7995	_ struct{} `type:"structure"`
7996
7997	// The cache behaviors for the distribution.
7998	Items []*AwsCloudFrontDistributionCacheBehavior `type:"list"`
7999}
8000
8001// String returns the string representation
8002func (s AwsCloudFrontDistributionCacheBehaviors) String() string {
8003	return awsutil.Prettify(s)
8004}
8005
8006// GoString returns the string representation
8007func (s AwsCloudFrontDistributionCacheBehaviors) GoString() string {
8008	return s.String()
8009}
8010
8011// SetItems sets the Items field's value.
8012func (s *AwsCloudFrontDistributionCacheBehaviors) SetItems(v []*AwsCloudFrontDistributionCacheBehavior) *AwsCloudFrontDistributionCacheBehaviors {
8013	s.Items = v
8014	return s
8015}
8016
8017// Contains information about the default cache configuration for the distribution.
8018type AwsCloudFrontDistributionDefaultCacheBehavior struct {
8019	_ struct{} `type:"structure"`
8020
8021	// The protocol that viewers can use to access the files in an origin. You can
8022	// specify the following options:
8023	//
8024	//    * allow-all - Viewers can use HTTP or HTTPS.
8025	//
8026	//    * redirect-to-https - CloudFront responds to HTTP requests with an HTTP
8027	//    status code of 301 (Moved Permanently) and the HTTPS URL. The viewer then
8028	//    uses the new URL to resubmit.
8029	//
8030	//    * https-only - CloudFront responds to HTTP request with an HTTP status
8031	//    code of 403 (Forbidden).
8032	ViewerProtocolPolicy *string `type:"string"`
8033}
8034
8035// String returns the string representation
8036func (s AwsCloudFrontDistributionDefaultCacheBehavior) String() string {
8037	return awsutil.Prettify(s)
8038}
8039
8040// GoString returns the string representation
8041func (s AwsCloudFrontDistributionDefaultCacheBehavior) GoString() string {
8042	return s.String()
8043}
8044
8045// SetViewerProtocolPolicy sets the ViewerProtocolPolicy field's value.
8046func (s *AwsCloudFrontDistributionDefaultCacheBehavior) SetViewerProtocolPolicy(v string) *AwsCloudFrontDistributionDefaultCacheBehavior {
8047	s.ViewerProtocolPolicy = &v
8048	return s
8049}
8050
8051// A distribution configuration.
8052type AwsCloudFrontDistributionDetails struct {
8053	_ struct{} `type:"structure"`
8054
8055	// Provides information about the cache configuration for the distribution.
8056	CacheBehaviors *AwsCloudFrontDistributionCacheBehaviors `type:"structure"`
8057
8058	// The default cache behavior for the configuration.
8059	DefaultCacheBehavior *AwsCloudFrontDistributionDefaultCacheBehavior `type:"structure"`
8060
8061	// The object that CloudFront sends in response to requests from the origin
8062	// (for example, index.html) when a viewer requests the root URL for the distribution
8063	// (http://www.example.com) instead of an object in your distribution (http://www.example.com/product-description.html).
8064	DefaultRootObject *string `type:"string"`
8065
8066	// The domain name corresponding to the distribution.
8067	DomainName *string `type:"string"`
8068
8069	// The entity tag is a hash of the object.
8070	ETag *string `type:"string"`
8071
8072	// Indicates when that the distribution was last modified.
8073	//
8074	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
8075	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
8076	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
8077	LastModifiedTime *string `type:"string"`
8078
8079	// A complex type that controls whether access logs are written for the distribution.
8080	Logging *AwsCloudFrontDistributionLogging `type:"structure"`
8081
8082	// Provides information about the origin groups in the distribution.
8083	OriginGroups *AwsCloudFrontDistributionOriginGroups `type:"structure"`
8084
8085	// A complex type that contains information about origins for this distribution.
8086	Origins *AwsCloudFrontDistributionOrigins `type:"structure"`
8087
8088	// Indicates the current status of the distribution.
8089	Status *string `type:"string"`
8090
8091	// A unique identifier that specifies the AWS WAF web ACL, if any, to associate
8092	// with this distribution.
8093	WebAclId *string `type:"string"`
8094}
8095
8096// String returns the string representation
8097func (s AwsCloudFrontDistributionDetails) String() string {
8098	return awsutil.Prettify(s)
8099}
8100
8101// GoString returns the string representation
8102func (s AwsCloudFrontDistributionDetails) GoString() string {
8103	return s.String()
8104}
8105
8106// SetCacheBehaviors sets the CacheBehaviors field's value.
8107func (s *AwsCloudFrontDistributionDetails) SetCacheBehaviors(v *AwsCloudFrontDistributionCacheBehaviors) *AwsCloudFrontDistributionDetails {
8108	s.CacheBehaviors = v
8109	return s
8110}
8111
8112// SetDefaultCacheBehavior sets the DefaultCacheBehavior field's value.
8113func (s *AwsCloudFrontDistributionDetails) SetDefaultCacheBehavior(v *AwsCloudFrontDistributionDefaultCacheBehavior) *AwsCloudFrontDistributionDetails {
8114	s.DefaultCacheBehavior = v
8115	return s
8116}
8117
8118// SetDefaultRootObject sets the DefaultRootObject field's value.
8119func (s *AwsCloudFrontDistributionDetails) SetDefaultRootObject(v string) *AwsCloudFrontDistributionDetails {
8120	s.DefaultRootObject = &v
8121	return s
8122}
8123
8124// SetDomainName sets the DomainName field's value.
8125func (s *AwsCloudFrontDistributionDetails) SetDomainName(v string) *AwsCloudFrontDistributionDetails {
8126	s.DomainName = &v
8127	return s
8128}
8129
8130// SetETag sets the ETag field's value.
8131func (s *AwsCloudFrontDistributionDetails) SetETag(v string) *AwsCloudFrontDistributionDetails {
8132	s.ETag = &v
8133	return s
8134}
8135
8136// SetLastModifiedTime sets the LastModifiedTime field's value.
8137func (s *AwsCloudFrontDistributionDetails) SetLastModifiedTime(v string) *AwsCloudFrontDistributionDetails {
8138	s.LastModifiedTime = &v
8139	return s
8140}
8141
8142// SetLogging sets the Logging field's value.
8143func (s *AwsCloudFrontDistributionDetails) SetLogging(v *AwsCloudFrontDistributionLogging) *AwsCloudFrontDistributionDetails {
8144	s.Logging = v
8145	return s
8146}
8147
8148// SetOriginGroups sets the OriginGroups field's value.
8149func (s *AwsCloudFrontDistributionDetails) SetOriginGroups(v *AwsCloudFrontDistributionOriginGroups) *AwsCloudFrontDistributionDetails {
8150	s.OriginGroups = v
8151	return s
8152}
8153
8154// SetOrigins sets the Origins field's value.
8155func (s *AwsCloudFrontDistributionDetails) SetOrigins(v *AwsCloudFrontDistributionOrigins) *AwsCloudFrontDistributionDetails {
8156	s.Origins = v
8157	return s
8158}
8159
8160// SetStatus sets the Status field's value.
8161func (s *AwsCloudFrontDistributionDetails) SetStatus(v string) *AwsCloudFrontDistributionDetails {
8162	s.Status = &v
8163	return s
8164}
8165
8166// SetWebAclId sets the WebAclId field's value.
8167func (s *AwsCloudFrontDistributionDetails) SetWebAclId(v string) *AwsCloudFrontDistributionDetails {
8168	s.WebAclId = &v
8169	return s
8170}
8171
8172// A complex type that controls whether access logs are written for the distribution.
8173type AwsCloudFrontDistributionLogging struct {
8174	_ struct{} `type:"structure"`
8175
8176	// The Amazon S3 bucket to store the access logs in.
8177	Bucket *string `type:"string"`
8178
8179	// With this field, you can enable or disable the selected distribution.
8180	Enabled *bool `type:"boolean"`
8181
8182	// Specifies whether you want CloudFront to include cookies in access logs.
8183	IncludeCookies *bool `type:"boolean"`
8184
8185	// An optional string that you want CloudFront to use as a prefix to the access
8186	// log filenames for this distribution.
8187	Prefix *string `type:"string"`
8188}
8189
8190// String returns the string representation
8191func (s AwsCloudFrontDistributionLogging) String() string {
8192	return awsutil.Prettify(s)
8193}
8194
8195// GoString returns the string representation
8196func (s AwsCloudFrontDistributionLogging) GoString() string {
8197	return s.String()
8198}
8199
8200// SetBucket sets the Bucket field's value.
8201func (s *AwsCloudFrontDistributionLogging) SetBucket(v string) *AwsCloudFrontDistributionLogging {
8202	s.Bucket = &v
8203	return s
8204}
8205
8206// SetEnabled sets the Enabled field's value.
8207func (s *AwsCloudFrontDistributionLogging) SetEnabled(v bool) *AwsCloudFrontDistributionLogging {
8208	s.Enabled = &v
8209	return s
8210}
8211
8212// SetIncludeCookies sets the IncludeCookies field's value.
8213func (s *AwsCloudFrontDistributionLogging) SetIncludeCookies(v bool) *AwsCloudFrontDistributionLogging {
8214	s.IncludeCookies = &v
8215	return s
8216}
8217
8218// SetPrefix sets the Prefix field's value.
8219func (s *AwsCloudFrontDistributionLogging) SetPrefix(v string) *AwsCloudFrontDistributionLogging {
8220	s.Prefix = &v
8221	return s
8222}
8223
8224// Information about an origin group for the distribution.
8225type AwsCloudFrontDistributionOriginGroup struct {
8226	_ struct{} `type:"structure"`
8227
8228	// Provides the criteria for an origin group to fail over.
8229	FailoverCriteria *AwsCloudFrontDistributionOriginGroupFailover `type:"structure"`
8230}
8231
8232// String returns the string representation
8233func (s AwsCloudFrontDistributionOriginGroup) String() string {
8234	return awsutil.Prettify(s)
8235}
8236
8237// GoString returns the string representation
8238func (s AwsCloudFrontDistributionOriginGroup) GoString() string {
8239	return s.String()
8240}
8241
8242// SetFailoverCriteria sets the FailoverCriteria field's value.
8243func (s *AwsCloudFrontDistributionOriginGroup) SetFailoverCriteria(v *AwsCloudFrontDistributionOriginGroupFailover) *AwsCloudFrontDistributionOriginGroup {
8244	s.FailoverCriteria = v
8245	return s
8246}
8247
8248// Provides information about when an origin group fails over.
8249type AwsCloudFrontDistributionOriginGroupFailover struct {
8250	_ struct{} `type:"structure"`
8251
8252	// Information about the status codes that cause an origin group to fail over.
8253	StatusCodes *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes `type:"structure"`
8254}
8255
8256// String returns the string representation
8257func (s AwsCloudFrontDistributionOriginGroupFailover) String() string {
8258	return awsutil.Prettify(s)
8259}
8260
8261// GoString returns the string representation
8262func (s AwsCloudFrontDistributionOriginGroupFailover) GoString() string {
8263	return s.String()
8264}
8265
8266// SetStatusCodes sets the StatusCodes field's value.
8267func (s *AwsCloudFrontDistributionOriginGroupFailover) SetStatusCodes(v *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) *AwsCloudFrontDistributionOriginGroupFailover {
8268	s.StatusCodes = v
8269	return s
8270}
8271
8272// The status codes that cause an origin group to fail over.
8273type AwsCloudFrontDistributionOriginGroupFailoverStatusCodes struct {
8274	_ struct{} `type:"structure"`
8275
8276	// The list of status code values that can cause a failover to the next origin.
8277	Items []*int64 `type:"list"`
8278
8279	// The number of status codes that can cause a failover.
8280	Quantity *int64 `type:"integer"`
8281}
8282
8283// String returns the string representation
8284func (s AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) String() string {
8285	return awsutil.Prettify(s)
8286}
8287
8288// GoString returns the string representation
8289func (s AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) GoString() string {
8290	return s.String()
8291}
8292
8293// SetItems sets the Items field's value.
8294func (s *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) SetItems(v []*int64) *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes {
8295	s.Items = v
8296	return s
8297}
8298
8299// SetQuantity sets the Quantity field's value.
8300func (s *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes) SetQuantity(v int64) *AwsCloudFrontDistributionOriginGroupFailoverStatusCodes {
8301	s.Quantity = &v
8302	return s
8303}
8304
8305// Provides information about origin groups that are associated with the distribution.
8306type AwsCloudFrontDistributionOriginGroups struct {
8307	_ struct{} `type:"structure"`
8308
8309	// The list of origin groups.
8310	Items []*AwsCloudFrontDistributionOriginGroup `type:"list"`
8311}
8312
8313// String returns the string representation
8314func (s AwsCloudFrontDistributionOriginGroups) String() string {
8315	return awsutil.Prettify(s)
8316}
8317
8318// GoString returns the string representation
8319func (s AwsCloudFrontDistributionOriginGroups) GoString() string {
8320	return s.String()
8321}
8322
8323// SetItems sets the Items field's value.
8324func (s *AwsCloudFrontDistributionOriginGroups) SetItems(v []*AwsCloudFrontDistributionOriginGroup) *AwsCloudFrontDistributionOriginGroups {
8325	s.Items = v
8326	return s
8327}
8328
8329// A complex type that describes the Amazon S3 bucket, HTTP server (for example,
8330// a web server), Amazon Elemental MediaStore, or other server from which CloudFront
8331// gets your files.
8332type AwsCloudFrontDistributionOriginItem struct {
8333	_ struct{} `type:"structure"`
8334
8335	// Amazon S3 origins: The DNS name of the Amazon S3 bucket from which you want
8336	// CloudFront to get objects for this origin.
8337	DomainName *string `type:"string"`
8338
8339	// A unique identifier for the origin or origin group.
8340	Id *string `type:"string"`
8341
8342	// An optional element that causes CloudFront to request your content from a
8343	// directory in your Amazon S3 bucket or your custom origin.
8344	OriginPath *string `type:"string"`
8345
8346	// An origin that is an S3 bucket that is not configured with static website
8347	// hosting.
8348	S3OriginConfig *AwsCloudFrontDistributionOriginS3OriginConfig `type:"structure"`
8349}
8350
8351// String returns the string representation
8352func (s AwsCloudFrontDistributionOriginItem) String() string {
8353	return awsutil.Prettify(s)
8354}
8355
8356// GoString returns the string representation
8357func (s AwsCloudFrontDistributionOriginItem) GoString() string {
8358	return s.String()
8359}
8360
8361// SetDomainName sets the DomainName field's value.
8362func (s *AwsCloudFrontDistributionOriginItem) SetDomainName(v string) *AwsCloudFrontDistributionOriginItem {
8363	s.DomainName = &v
8364	return s
8365}
8366
8367// SetId sets the Id field's value.
8368func (s *AwsCloudFrontDistributionOriginItem) SetId(v string) *AwsCloudFrontDistributionOriginItem {
8369	s.Id = &v
8370	return s
8371}
8372
8373// SetOriginPath sets the OriginPath field's value.
8374func (s *AwsCloudFrontDistributionOriginItem) SetOriginPath(v string) *AwsCloudFrontDistributionOriginItem {
8375	s.OriginPath = &v
8376	return s
8377}
8378
8379// SetS3OriginConfig sets the S3OriginConfig field's value.
8380func (s *AwsCloudFrontDistributionOriginItem) SetS3OriginConfig(v *AwsCloudFrontDistributionOriginS3OriginConfig) *AwsCloudFrontDistributionOriginItem {
8381	s.S3OriginConfig = v
8382	return s
8383}
8384
8385// Information about an origin that is an S3 bucket that is not configured with
8386// static website hosting.
8387type AwsCloudFrontDistributionOriginS3OriginConfig struct {
8388	_ struct{} `type:"structure"`
8389
8390	// The CloudFront origin access identity to associate with the origin.
8391	OriginAccessIdentity *string `type:"string"`
8392}
8393
8394// String returns the string representation
8395func (s AwsCloudFrontDistributionOriginS3OriginConfig) String() string {
8396	return awsutil.Prettify(s)
8397}
8398
8399// GoString returns the string representation
8400func (s AwsCloudFrontDistributionOriginS3OriginConfig) GoString() string {
8401	return s.String()
8402}
8403
8404// SetOriginAccessIdentity sets the OriginAccessIdentity field's value.
8405func (s *AwsCloudFrontDistributionOriginS3OriginConfig) SetOriginAccessIdentity(v string) *AwsCloudFrontDistributionOriginS3OriginConfig {
8406	s.OriginAccessIdentity = &v
8407	return s
8408}
8409
8410// A complex type that contains information about origins and origin groups
8411// for this distribution.
8412type AwsCloudFrontDistributionOrigins struct {
8413	_ struct{} `type:"structure"`
8414
8415	// A complex type that contains origins or origin groups for this distribution.
8416	Items []*AwsCloudFrontDistributionOriginItem `type:"list"`
8417}
8418
8419// String returns the string representation
8420func (s AwsCloudFrontDistributionOrigins) String() string {
8421	return awsutil.Prettify(s)
8422}
8423
8424// GoString returns the string representation
8425func (s AwsCloudFrontDistributionOrigins) GoString() string {
8426	return s.String()
8427}
8428
8429// SetItems sets the Items field's value.
8430func (s *AwsCloudFrontDistributionOrigins) SetItems(v []*AwsCloudFrontDistributionOriginItem) *AwsCloudFrontDistributionOrigins {
8431	s.Items = v
8432	return s
8433}
8434
8435// Provides details about a CloudTrail trail.
8436type AwsCloudTrailTrailDetails struct {
8437	_ struct{} `type:"structure"`
8438
8439	// The ARN of the log group that CloudTrail logs are delivered to.
8440	CloudWatchLogsLogGroupArn *string `type:"string"`
8441
8442	// The ARN of the role that the CloudWatch Logs endpoint assumes when it writes
8443	// to the log group.
8444	CloudWatchLogsRoleArn *string `type:"string"`
8445
8446	// Indicates whether the trail has custom event selectors.
8447	HasCustomEventSelectors *bool `type:"boolean"`
8448
8449	// The Region where the trail was created.
8450	HomeRegion *string `type:"string"`
8451
8452	// Indicates whether the trail publishes events from global services such as
8453	// IAM to the log files.
8454	IncludeGlobalServiceEvents *bool `type:"boolean"`
8455
8456	// Indicates whether the trail applies only to the current Region or to all
8457	// Regions.
8458	IsMultiRegionTrail *bool `type:"boolean"`
8459
8460	// Whether the trail is created for all accounts in an organization in AWS Organizations,
8461	// or only for the current AWS account.
8462	IsOrganizationTrail *bool `type:"boolean"`
8463
8464	// The AWS KMS key ID to use to encrypt the logs.
8465	KmsKeyId *string `type:"string"`
8466
8467	// Indicates whether CloudTrail log file validation is enabled.
8468	LogFileValidationEnabled *bool `type:"boolean"`
8469
8470	// The name of the trail.
8471	Name *string `type:"string"`
8472
8473	// The name of the S3 bucket where the log files are published.
8474	S3BucketName *string `type:"string"`
8475
8476	// The S3 key prefix. The key prefix is added after the name of the S3 bucket
8477	// where the log files are published.
8478	S3KeyPrefix *string `type:"string"`
8479
8480	// The ARN of the SNS topic that is used for notifications of log file delivery.
8481	SnsTopicArn *string `type:"string"`
8482
8483	// The name of the SNS topic that is used for notifications of log file delivery.
8484	SnsTopicName *string `type:"string"`
8485
8486	// The ARN of the trail.
8487	TrailArn *string `type:"string"`
8488}
8489
8490// String returns the string representation
8491func (s AwsCloudTrailTrailDetails) String() string {
8492	return awsutil.Prettify(s)
8493}
8494
8495// GoString returns the string representation
8496func (s AwsCloudTrailTrailDetails) GoString() string {
8497	return s.String()
8498}
8499
8500// SetCloudWatchLogsLogGroupArn sets the CloudWatchLogsLogGroupArn field's value.
8501func (s *AwsCloudTrailTrailDetails) SetCloudWatchLogsLogGroupArn(v string) *AwsCloudTrailTrailDetails {
8502	s.CloudWatchLogsLogGroupArn = &v
8503	return s
8504}
8505
8506// SetCloudWatchLogsRoleArn sets the CloudWatchLogsRoleArn field's value.
8507func (s *AwsCloudTrailTrailDetails) SetCloudWatchLogsRoleArn(v string) *AwsCloudTrailTrailDetails {
8508	s.CloudWatchLogsRoleArn = &v
8509	return s
8510}
8511
8512// SetHasCustomEventSelectors sets the HasCustomEventSelectors field's value.
8513func (s *AwsCloudTrailTrailDetails) SetHasCustomEventSelectors(v bool) *AwsCloudTrailTrailDetails {
8514	s.HasCustomEventSelectors = &v
8515	return s
8516}
8517
8518// SetHomeRegion sets the HomeRegion field's value.
8519func (s *AwsCloudTrailTrailDetails) SetHomeRegion(v string) *AwsCloudTrailTrailDetails {
8520	s.HomeRegion = &v
8521	return s
8522}
8523
8524// SetIncludeGlobalServiceEvents sets the IncludeGlobalServiceEvents field's value.
8525func (s *AwsCloudTrailTrailDetails) SetIncludeGlobalServiceEvents(v bool) *AwsCloudTrailTrailDetails {
8526	s.IncludeGlobalServiceEvents = &v
8527	return s
8528}
8529
8530// SetIsMultiRegionTrail sets the IsMultiRegionTrail field's value.
8531func (s *AwsCloudTrailTrailDetails) SetIsMultiRegionTrail(v bool) *AwsCloudTrailTrailDetails {
8532	s.IsMultiRegionTrail = &v
8533	return s
8534}
8535
8536// SetIsOrganizationTrail sets the IsOrganizationTrail field's value.
8537func (s *AwsCloudTrailTrailDetails) SetIsOrganizationTrail(v bool) *AwsCloudTrailTrailDetails {
8538	s.IsOrganizationTrail = &v
8539	return s
8540}
8541
8542// SetKmsKeyId sets the KmsKeyId field's value.
8543func (s *AwsCloudTrailTrailDetails) SetKmsKeyId(v string) *AwsCloudTrailTrailDetails {
8544	s.KmsKeyId = &v
8545	return s
8546}
8547
8548// SetLogFileValidationEnabled sets the LogFileValidationEnabled field's value.
8549func (s *AwsCloudTrailTrailDetails) SetLogFileValidationEnabled(v bool) *AwsCloudTrailTrailDetails {
8550	s.LogFileValidationEnabled = &v
8551	return s
8552}
8553
8554// SetName sets the Name field's value.
8555func (s *AwsCloudTrailTrailDetails) SetName(v string) *AwsCloudTrailTrailDetails {
8556	s.Name = &v
8557	return s
8558}
8559
8560// SetS3BucketName sets the S3BucketName field's value.
8561func (s *AwsCloudTrailTrailDetails) SetS3BucketName(v string) *AwsCloudTrailTrailDetails {
8562	s.S3BucketName = &v
8563	return s
8564}
8565
8566// SetS3KeyPrefix sets the S3KeyPrefix field's value.
8567func (s *AwsCloudTrailTrailDetails) SetS3KeyPrefix(v string) *AwsCloudTrailTrailDetails {
8568	s.S3KeyPrefix = &v
8569	return s
8570}
8571
8572// SetSnsTopicArn sets the SnsTopicArn field's value.
8573func (s *AwsCloudTrailTrailDetails) SetSnsTopicArn(v string) *AwsCloudTrailTrailDetails {
8574	s.SnsTopicArn = &v
8575	return s
8576}
8577
8578// SetSnsTopicName sets the SnsTopicName field's value.
8579func (s *AwsCloudTrailTrailDetails) SetSnsTopicName(v string) *AwsCloudTrailTrailDetails {
8580	s.SnsTopicName = &v
8581	return s
8582}
8583
8584// SetTrailArn sets the TrailArn field's value.
8585func (s *AwsCloudTrailTrailDetails) SetTrailArn(v string) *AwsCloudTrailTrailDetails {
8586	s.TrailArn = &v
8587	return s
8588}
8589
8590// Information about an AWS CodeBuild project.
8591type AwsCodeBuildProjectDetails struct {
8592	_ struct{} `type:"structure"`
8593
8594	// The AWS Key Management Service (AWS KMS) customer master key (CMK) used to
8595	// encrypt the build output artifacts.
8596	//
8597	// You can specify either the Amazon Resource Name (ARN) of the CMK or, if available,
8598	// the CMK alias (using the format alias/alias-name).
8599	EncryptionKey *string `type:"string"`
8600
8601	// Information about the build environment for this build project.
8602	Environment *AwsCodeBuildProjectEnvironment `type:"structure"`
8603
8604	// The name of the build project.
8605	Name *string `type:"string"`
8606
8607	// The ARN of the IAM role that enables AWS CodeBuild to interact with dependent
8608	// AWS services on behalf of the AWS account.
8609	ServiceRole *string `type:"string"`
8610
8611	// Information about the build input source code for this build project.
8612	Source *AwsCodeBuildProjectSource `type:"structure"`
8613
8614	// Information about the VPC configuration that AWS CodeBuild accesses.
8615	VpcConfig *AwsCodeBuildProjectVpcConfig `type:"structure"`
8616}
8617
8618// String returns the string representation
8619func (s AwsCodeBuildProjectDetails) String() string {
8620	return awsutil.Prettify(s)
8621}
8622
8623// GoString returns the string representation
8624func (s AwsCodeBuildProjectDetails) GoString() string {
8625	return s.String()
8626}
8627
8628// SetEncryptionKey sets the EncryptionKey field's value.
8629func (s *AwsCodeBuildProjectDetails) SetEncryptionKey(v string) *AwsCodeBuildProjectDetails {
8630	s.EncryptionKey = &v
8631	return s
8632}
8633
8634// SetEnvironment sets the Environment field's value.
8635func (s *AwsCodeBuildProjectDetails) SetEnvironment(v *AwsCodeBuildProjectEnvironment) *AwsCodeBuildProjectDetails {
8636	s.Environment = v
8637	return s
8638}
8639
8640// SetName sets the Name field's value.
8641func (s *AwsCodeBuildProjectDetails) SetName(v string) *AwsCodeBuildProjectDetails {
8642	s.Name = &v
8643	return s
8644}
8645
8646// SetServiceRole sets the ServiceRole field's value.
8647func (s *AwsCodeBuildProjectDetails) SetServiceRole(v string) *AwsCodeBuildProjectDetails {
8648	s.ServiceRole = &v
8649	return s
8650}
8651
8652// SetSource sets the Source field's value.
8653func (s *AwsCodeBuildProjectDetails) SetSource(v *AwsCodeBuildProjectSource) *AwsCodeBuildProjectDetails {
8654	s.Source = v
8655	return s
8656}
8657
8658// SetVpcConfig sets the VpcConfig field's value.
8659func (s *AwsCodeBuildProjectDetails) SetVpcConfig(v *AwsCodeBuildProjectVpcConfig) *AwsCodeBuildProjectDetails {
8660	s.VpcConfig = v
8661	return s
8662}
8663
8664// Information about the build environment for this build project.
8665type AwsCodeBuildProjectEnvironment struct {
8666	_ struct{} `type:"structure"`
8667
8668	// The certificate to use with this build project.
8669	Certificate *string `type:"string"`
8670
8671	// The type of credentials AWS CodeBuild uses to pull images in your build.
8672	//
8673	// Valid values:
8674	//
8675	//    * CODEBUILD specifies that AWS CodeBuild uses its own credentials. This
8676	//    requires that you modify your ECR repository policy to trust the AWS CodeBuild
8677	//    service principal.
8678	//
8679	//    * SERVICE_ROLE specifies that AWS CodeBuild uses your build project's
8680	//    service role.
8681	//
8682	// When you use a cross-account or private registry image, you must use SERVICE_ROLE
8683	// credentials. When you use an AWS CodeBuild curated image, you must use CODEBUILD
8684	// credentials.
8685	ImagePullCredentialsType *string `type:"string"`
8686
8687	// The credentials for access to a private registry.
8688	RegistryCredential *AwsCodeBuildProjectEnvironmentRegistryCredential `type:"structure"`
8689
8690	// The type of build environment to use for related builds.
8691	//
8692	// The environment type ARM_CONTAINER is available only in Regions US East (N.
8693	// Virginia), US East (Ohio), US West (Oregon), Europe (Ireland), Asia Pacific
8694	// (Mumbai), Asia Pacific (Tokyo), Asia Pacific (Sydney), and Europe (Frankfurt).
8695	//
8696	// The environment type LINUX_CONTAINER with compute type build.general1.2xlarge
8697	// is available only in Regions US East (N. Virginia), US East (N. Virginia),
8698	// US West (Oregon), Canada (Central), Europe (Ireland), Europe (London), Europe
8699	// (Frankfurt), Asia Pacific (Tokyo), Asia Pacific (Seoul), Asia Pacific (Singapore),
8700	// Asia Pacific (Sydney), China (Beijing), and China (Ningxia).
8701	//
8702	// The environment type LINUX_GPU_CONTAINER is available only in Regions US
8703	// East (N. Virginia), US East (N. Virginia), US West (Oregon), Canada (Central),
8704	// Europe (Ireland), Europe (London), Europe (Frankfurt), Asia Pacific (Tokyo),
8705	// Asia Pacific (Seoul), Asia Pacific (Singapore), Asia Pacific (Sydney), China
8706	// (Beijing), and China (Ningxia).
8707	//
8708	// Valid values: WINDOWS_CONTAINER | LINUX_CONTAINER | LINUX_GPU_CONTAINER |
8709	// ARM_CONTAINER
8710	Type *string `type:"string"`
8711}
8712
8713// String returns the string representation
8714func (s AwsCodeBuildProjectEnvironment) String() string {
8715	return awsutil.Prettify(s)
8716}
8717
8718// GoString returns the string representation
8719func (s AwsCodeBuildProjectEnvironment) GoString() string {
8720	return s.String()
8721}
8722
8723// SetCertificate sets the Certificate field's value.
8724func (s *AwsCodeBuildProjectEnvironment) SetCertificate(v string) *AwsCodeBuildProjectEnvironment {
8725	s.Certificate = &v
8726	return s
8727}
8728
8729// SetImagePullCredentialsType sets the ImagePullCredentialsType field's value.
8730func (s *AwsCodeBuildProjectEnvironment) SetImagePullCredentialsType(v string) *AwsCodeBuildProjectEnvironment {
8731	s.ImagePullCredentialsType = &v
8732	return s
8733}
8734
8735// SetRegistryCredential sets the RegistryCredential field's value.
8736func (s *AwsCodeBuildProjectEnvironment) SetRegistryCredential(v *AwsCodeBuildProjectEnvironmentRegistryCredential) *AwsCodeBuildProjectEnvironment {
8737	s.RegistryCredential = v
8738	return s
8739}
8740
8741// SetType sets the Type field's value.
8742func (s *AwsCodeBuildProjectEnvironment) SetType(v string) *AwsCodeBuildProjectEnvironment {
8743	s.Type = &v
8744	return s
8745}
8746
8747// The credentials for access to a private registry.
8748type AwsCodeBuildProjectEnvironmentRegistryCredential struct {
8749	_ struct{} `type:"structure"`
8750
8751	// The Amazon Resource Name (ARN) or name of credentials created using AWS Secrets
8752	// Manager.
8753	//
8754	// The credential can use the name of the credentials only if they exist in
8755	// your current AWS Region.
8756	Credential *string `type:"string"`
8757
8758	// The service that created the credentials to access a private Docker registry.
8759	//
8760	// The valid value,SECRETS_MANAGER, is for AWS Secrets Manager.
8761	CredentialProvider *string `type:"string"`
8762}
8763
8764// String returns the string representation
8765func (s AwsCodeBuildProjectEnvironmentRegistryCredential) String() string {
8766	return awsutil.Prettify(s)
8767}
8768
8769// GoString returns the string representation
8770func (s AwsCodeBuildProjectEnvironmentRegistryCredential) GoString() string {
8771	return s.String()
8772}
8773
8774// SetCredential sets the Credential field's value.
8775func (s *AwsCodeBuildProjectEnvironmentRegistryCredential) SetCredential(v string) *AwsCodeBuildProjectEnvironmentRegistryCredential {
8776	s.Credential = &v
8777	return s
8778}
8779
8780// SetCredentialProvider sets the CredentialProvider field's value.
8781func (s *AwsCodeBuildProjectEnvironmentRegistryCredential) SetCredentialProvider(v string) *AwsCodeBuildProjectEnvironmentRegistryCredential {
8782	s.CredentialProvider = &v
8783	return s
8784}
8785
8786// Information about the build input source code for this build project.
8787type AwsCodeBuildProjectSource struct {
8788	_ struct{} `type:"structure"`
8789
8790	// Information about the Git clone depth for the build project.
8791	GitCloneDepth *int64 `type:"integer"`
8792
8793	// Whether to ignore SSL warnings while connecting to the project source code.
8794	InsecureSsl *bool `type:"boolean"`
8795
8796	// Information about the location of the source code to be built.
8797	//
8798	// Valid values include:
8799	//
8800	//    * For source code settings that are specified in the source action of
8801	//    a pipeline in AWS CodePipeline, location should not be specified. If it
8802	//    is specified, AWS CodePipeline ignores it. This is because AWS CodePipeline
8803	//    uses the settings in a pipeline's source action instead of this value.
8804	//
8805	//    * For source code in an AWS CodeCommit repository, the HTTPS clone URL
8806	//    to the repository that contains the source code and the build spec file
8807	//    (for example, https://git-codecommit.region-ID.amazonaws.com/v1/repos/repo-name
8808	//    ).
8809	//
8810	//    * For source code in an S3 input bucket, one of the following. The path
8811	//    to the ZIP file that contains the source code (for example, bucket-name/path/to/object-name.zip).
8812	//    The path to the folder that contains the source code (for example, bucket-name/path/to/source-code/folder/).
8813	//
8814	//    * For source code in a GitHub repository, the HTTPS clone URL to the repository
8815	//    that contains the source and the build spec file.
8816	//
8817	//    * For source code in a Bitbucket repository, the HTTPS clone URL to the
8818	//    repository that contains the source and the build spec file.
8819	Location *string `type:"string"`
8820
8821	// The type of repository that contains the source code to be built. Valid values
8822	// are:
8823	//
8824	//    * BITBUCKET - The source code is in a Bitbucket repository.
8825	//
8826	//    * CODECOMMIT - The source code is in an AWS CodeCommit repository.
8827	//
8828	//    * CODEPIPELINE - The source code settings are specified in the source
8829	//    action of a pipeline in AWS CodePipeline.
8830	//
8831	//    * GITHUB - The source code is in a GitHub repository.
8832	//
8833	//    * GITHUB_ENTERPRISE - The source code is in a GitHub Enterprise repository.
8834	//
8835	//    * NO_SOURCE - The project does not have input source code.
8836	//
8837	//    * S3 - The source code is in an S3 input bucket.
8838	Type *string `type:"string"`
8839}
8840
8841// String returns the string representation
8842func (s AwsCodeBuildProjectSource) String() string {
8843	return awsutil.Prettify(s)
8844}
8845
8846// GoString returns the string representation
8847func (s AwsCodeBuildProjectSource) GoString() string {
8848	return s.String()
8849}
8850
8851// SetGitCloneDepth sets the GitCloneDepth field's value.
8852func (s *AwsCodeBuildProjectSource) SetGitCloneDepth(v int64) *AwsCodeBuildProjectSource {
8853	s.GitCloneDepth = &v
8854	return s
8855}
8856
8857// SetInsecureSsl sets the InsecureSsl field's value.
8858func (s *AwsCodeBuildProjectSource) SetInsecureSsl(v bool) *AwsCodeBuildProjectSource {
8859	s.InsecureSsl = &v
8860	return s
8861}
8862
8863// SetLocation sets the Location field's value.
8864func (s *AwsCodeBuildProjectSource) SetLocation(v string) *AwsCodeBuildProjectSource {
8865	s.Location = &v
8866	return s
8867}
8868
8869// SetType sets the Type field's value.
8870func (s *AwsCodeBuildProjectSource) SetType(v string) *AwsCodeBuildProjectSource {
8871	s.Type = &v
8872	return s
8873}
8874
8875// Information about the VPC configuration that AWS CodeBuild accesses.
8876type AwsCodeBuildProjectVpcConfig struct {
8877	_ struct{} `type:"structure"`
8878
8879	// A list of one or more security group IDs in your Amazon VPC.
8880	SecurityGroupIds []*string `type:"list"`
8881
8882	// A list of one or more subnet IDs in your Amazon VPC.
8883	Subnets []*string `type:"list"`
8884
8885	// The ID of the VPC.
8886	VpcId *string `type:"string"`
8887}
8888
8889// String returns the string representation
8890func (s AwsCodeBuildProjectVpcConfig) String() string {
8891	return awsutil.Prettify(s)
8892}
8893
8894// GoString returns the string representation
8895func (s AwsCodeBuildProjectVpcConfig) GoString() string {
8896	return s.String()
8897}
8898
8899// SetSecurityGroupIds sets the SecurityGroupIds field's value.
8900func (s *AwsCodeBuildProjectVpcConfig) SetSecurityGroupIds(v []*string) *AwsCodeBuildProjectVpcConfig {
8901	s.SecurityGroupIds = v
8902	return s
8903}
8904
8905// SetSubnets sets the Subnets field's value.
8906func (s *AwsCodeBuildProjectVpcConfig) SetSubnets(v []*string) *AwsCodeBuildProjectVpcConfig {
8907	s.Subnets = v
8908	return s
8909}
8910
8911// SetVpcId sets the VpcId field's value.
8912func (s *AwsCodeBuildProjectVpcConfig) SetVpcId(v string) *AwsCodeBuildProjectVpcConfig {
8913	s.VpcId = &v
8914	return s
8915}
8916
8917// Contains the cross-origin resource sharing (CORS) configuration for the API.
8918// CORS is only supported for HTTP APIs.
8919type AwsCorsConfiguration struct {
8920	_ struct{} `type:"structure"`
8921
8922	// Indicates whether the CORS request includes credentials.
8923	AllowCredentials *bool `type:"boolean"`
8924
8925	// The allowed headers for CORS requests.
8926	AllowHeaders []*string `type:"list"`
8927
8928	// The allowed methods for CORS requests.
8929	AllowMethods []*string `type:"list"`
8930
8931	// The allowed origins for CORS requests.
8932	AllowOrigins []*string `type:"list"`
8933
8934	// The exposed headers for CORS requests.
8935	ExposeHeaders []*string `type:"list"`
8936
8937	// The number of seconds for which the browser caches preflight request results.
8938	MaxAge *int64 `type:"integer"`
8939}
8940
8941// String returns the string representation
8942func (s AwsCorsConfiguration) String() string {
8943	return awsutil.Prettify(s)
8944}
8945
8946// GoString returns the string representation
8947func (s AwsCorsConfiguration) GoString() string {
8948	return s.String()
8949}
8950
8951// SetAllowCredentials sets the AllowCredentials field's value.
8952func (s *AwsCorsConfiguration) SetAllowCredentials(v bool) *AwsCorsConfiguration {
8953	s.AllowCredentials = &v
8954	return s
8955}
8956
8957// SetAllowHeaders sets the AllowHeaders field's value.
8958func (s *AwsCorsConfiguration) SetAllowHeaders(v []*string) *AwsCorsConfiguration {
8959	s.AllowHeaders = v
8960	return s
8961}
8962
8963// SetAllowMethods sets the AllowMethods field's value.
8964func (s *AwsCorsConfiguration) SetAllowMethods(v []*string) *AwsCorsConfiguration {
8965	s.AllowMethods = v
8966	return s
8967}
8968
8969// SetAllowOrigins sets the AllowOrigins field's value.
8970func (s *AwsCorsConfiguration) SetAllowOrigins(v []*string) *AwsCorsConfiguration {
8971	s.AllowOrigins = v
8972	return s
8973}
8974
8975// SetExposeHeaders sets the ExposeHeaders field's value.
8976func (s *AwsCorsConfiguration) SetExposeHeaders(v []*string) *AwsCorsConfiguration {
8977	s.ExposeHeaders = v
8978	return s
8979}
8980
8981// SetMaxAge sets the MaxAge field's value.
8982func (s *AwsCorsConfiguration) SetMaxAge(v int64) *AwsCorsConfiguration {
8983	s.MaxAge = &v
8984	return s
8985}
8986
8987// Contains a definition of an attribute for the table.
8988type AwsDynamoDbTableAttributeDefinition struct {
8989	_ struct{} `type:"structure"`
8990
8991	// The name of the attribute.
8992	AttributeName *string `type:"string"`
8993
8994	// The type of the attribute.
8995	AttributeType *string `type:"string"`
8996}
8997
8998// String returns the string representation
8999func (s AwsDynamoDbTableAttributeDefinition) String() string {
9000	return awsutil.Prettify(s)
9001}
9002
9003// GoString returns the string representation
9004func (s AwsDynamoDbTableAttributeDefinition) GoString() string {
9005	return s.String()
9006}
9007
9008// SetAttributeName sets the AttributeName field's value.
9009func (s *AwsDynamoDbTableAttributeDefinition) SetAttributeName(v string) *AwsDynamoDbTableAttributeDefinition {
9010	s.AttributeName = &v
9011	return s
9012}
9013
9014// SetAttributeType sets the AttributeType field's value.
9015func (s *AwsDynamoDbTableAttributeDefinition) SetAttributeType(v string) *AwsDynamoDbTableAttributeDefinition {
9016	s.AttributeType = &v
9017	return s
9018}
9019
9020// Provides information about the billing for read/write capacity on the table.
9021type AwsDynamoDbTableBillingModeSummary struct {
9022	_ struct{} `type:"structure"`
9023
9024	// The method used to charge for read and write throughput and to manage capacity.
9025	BillingMode *string `type:"string"`
9026
9027	// If the billing mode is PAY_PER_REQUEST, indicates when the billing mode was
9028	// set to that value.
9029	//
9030	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9031	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9032	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9033	LastUpdateToPayPerRequestDateTime *string `type:"string"`
9034}
9035
9036// String returns the string representation
9037func (s AwsDynamoDbTableBillingModeSummary) String() string {
9038	return awsutil.Prettify(s)
9039}
9040
9041// GoString returns the string representation
9042func (s AwsDynamoDbTableBillingModeSummary) GoString() string {
9043	return s.String()
9044}
9045
9046// SetBillingMode sets the BillingMode field's value.
9047func (s *AwsDynamoDbTableBillingModeSummary) SetBillingMode(v string) *AwsDynamoDbTableBillingModeSummary {
9048	s.BillingMode = &v
9049	return s
9050}
9051
9052// SetLastUpdateToPayPerRequestDateTime sets the LastUpdateToPayPerRequestDateTime field's value.
9053func (s *AwsDynamoDbTableBillingModeSummary) SetLastUpdateToPayPerRequestDateTime(v string) *AwsDynamoDbTableBillingModeSummary {
9054	s.LastUpdateToPayPerRequestDateTime = &v
9055	return s
9056}
9057
9058// Provides details about a DynamoDB table.
9059type AwsDynamoDbTableDetails struct {
9060	_ struct{} `type:"structure"`
9061
9062	// A list of attribute definitions for the table.
9063	AttributeDefinitions []*AwsDynamoDbTableAttributeDefinition `type:"list"`
9064
9065	// Information about the billing for read/write capacity on the table.
9066	BillingModeSummary *AwsDynamoDbTableBillingModeSummary `type:"structure"`
9067
9068	// Indicates when the table was created.
9069	//
9070	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9071	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9072	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9073	CreationDateTime *string `type:"string"`
9074
9075	// List of global secondary indexes for the table.
9076	GlobalSecondaryIndexes []*AwsDynamoDbTableGlobalSecondaryIndex `type:"list"`
9077
9078	// The version of global tables being used.
9079	GlobalTableVersion *string `type:"string"`
9080
9081	// The number of items in the table.
9082	ItemCount *int64 `type:"integer"`
9083
9084	// The primary key structure for the table.
9085	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
9086
9087	// The ARN of the latest stream for the table.
9088	LatestStreamArn *string `type:"string"`
9089
9090	// The label of the latest stream. The label is not a unique identifier.
9091	LatestStreamLabel *string `type:"string"`
9092
9093	// The list of local secondary indexes for the table.
9094	LocalSecondaryIndexes []*AwsDynamoDbTableLocalSecondaryIndex `type:"list"`
9095
9096	// Information about the provisioned throughput for the table.
9097	ProvisionedThroughput *AwsDynamoDbTableProvisionedThroughput `type:"structure"`
9098
9099	// The list of replicas of this table.
9100	Replicas []*AwsDynamoDbTableReplica `type:"list"`
9101
9102	// Information about the restore for the table.
9103	RestoreSummary *AwsDynamoDbTableRestoreSummary `type:"structure"`
9104
9105	// Information about the server-side encryption for the table.
9106	SseDescription *AwsDynamoDbTableSseDescription `type:"structure"`
9107
9108	// The current DynamoDB Streams configuration for the table.
9109	StreamSpecification *AwsDynamoDbTableStreamSpecification `type:"structure"`
9110
9111	// The identifier of the table.
9112	TableId *string `type:"string"`
9113
9114	// The name of the table.
9115	TableName *string `type:"string"`
9116
9117	// The total size of the table in bytes.
9118	TableSizeBytes *int64 `type:"long"`
9119
9120	// The current status of the table.
9121	TableStatus *string `type:"string"`
9122}
9123
9124// String returns the string representation
9125func (s AwsDynamoDbTableDetails) String() string {
9126	return awsutil.Prettify(s)
9127}
9128
9129// GoString returns the string representation
9130func (s AwsDynamoDbTableDetails) GoString() string {
9131	return s.String()
9132}
9133
9134// SetAttributeDefinitions sets the AttributeDefinitions field's value.
9135func (s *AwsDynamoDbTableDetails) SetAttributeDefinitions(v []*AwsDynamoDbTableAttributeDefinition) *AwsDynamoDbTableDetails {
9136	s.AttributeDefinitions = v
9137	return s
9138}
9139
9140// SetBillingModeSummary sets the BillingModeSummary field's value.
9141func (s *AwsDynamoDbTableDetails) SetBillingModeSummary(v *AwsDynamoDbTableBillingModeSummary) *AwsDynamoDbTableDetails {
9142	s.BillingModeSummary = v
9143	return s
9144}
9145
9146// SetCreationDateTime sets the CreationDateTime field's value.
9147func (s *AwsDynamoDbTableDetails) SetCreationDateTime(v string) *AwsDynamoDbTableDetails {
9148	s.CreationDateTime = &v
9149	return s
9150}
9151
9152// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
9153func (s *AwsDynamoDbTableDetails) SetGlobalSecondaryIndexes(v []*AwsDynamoDbTableGlobalSecondaryIndex) *AwsDynamoDbTableDetails {
9154	s.GlobalSecondaryIndexes = v
9155	return s
9156}
9157
9158// SetGlobalTableVersion sets the GlobalTableVersion field's value.
9159func (s *AwsDynamoDbTableDetails) SetGlobalTableVersion(v string) *AwsDynamoDbTableDetails {
9160	s.GlobalTableVersion = &v
9161	return s
9162}
9163
9164// SetItemCount sets the ItemCount field's value.
9165func (s *AwsDynamoDbTableDetails) SetItemCount(v int64) *AwsDynamoDbTableDetails {
9166	s.ItemCount = &v
9167	return s
9168}
9169
9170// SetKeySchema sets the KeySchema field's value.
9171func (s *AwsDynamoDbTableDetails) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableDetails {
9172	s.KeySchema = v
9173	return s
9174}
9175
9176// SetLatestStreamArn sets the LatestStreamArn field's value.
9177func (s *AwsDynamoDbTableDetails) SetLatestStreamArn(v string) *AwsDynamoDbTableDetails {
9178	s.LatestStreamArn = &v
9179	return s
9180}
9181
9182// SetLatestStreamLabel sets the LatestStreamLabel field's value.
9183func (s *AwsDynamoDbTableDetails) SetLatestStreamLabel(v string) *AwsDynamoDbTableDetails {
9184	s.LatestStreamLabel = &v
9185	return s
9186}
9187
9188// SetLocalSecondaryIndexes sets the LocalSecondaryIndexes field's value.
9189func (s *AwsDynamoDbTableDetails) SetLocalSecondaryIndexes(v []*AwsDynamoDbTableLocalSecondaryIndex) *AwsDynamoDbTableDetails {
9190	s.LocalSecondaryIndexes = v
9191	return s
9192}
9193
9194// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
9195func (s *AwsDynamoDbTableDetails) SetProvisionedThroughput(v *AwsDynamoDbTableProvisionedThroughput) *AwsDynamoDbTableDetails {
9196	s.ProvisionedThroughput = v
9197	return s
9198}
9199
9200// SetReplicas sets the Replicas field's value.
9201func (s *AwsDynamoDbTableDetails) SetReplicas(v []*AwsDynamoDbTableReplica) *AwsDynamoDbTableDetails {
9202	s.Replicas = v
9203	return s
9204}
9205
9206// SetRestoreSummary sets the RestoreSummary field's value.
9207func (s *AwsDynamoDbTableDetails) SetRestoreSummary(v *AwsDynamoDbTableRestoreSummary) *AwsDynamoDbTableDetails {
9208	s.RestoreSummary = v
9209	return s
9210}
9211
9212// SetSseDescription sets the SseDescription field's value.
9213func (s *AwsDynamoDbTableDetails) SetSseDescription(v *AwsDynamoDbTableSseDescription) *AwsDynamoDbTableDetails {
9214	s.SseDescription = v
9215	return s
9216}
9217
9218// SetStreamSpecification sets the StreamSpecification field's value.
9219func (s *AwsDynamoDbTableDetails) SetStreamSpecification(v *AwsDynamoDbTableStreamSpecification) *AwsDynamoDbTableDetails {
9220	s.StreamSpecification = v
9221	return s
9222}
9223
9224// SetTableId sets the TableId field's value.
9225func (s *AwsDynamoDbTableDetails) SetTableId(v string) *AwsDynamoDbTableDetails {
9226	s.TableId = &v
9227	return s
9228}
9229
9230// SetTableName sets the TableName field's value.
9231func (s *AwsDynamoDbTableDetails) SetTableName(v string) *AwsDynamoDbTableDetails {
9232	s.TableName = &v
9233	return s
9234}
9235
9236// SetTableSizeBytes sets the TableSizeBytes field's value.
9237func (s *AwsDynamoDbTableDetails) SetTableSizeBytes(v int64) *AwsDynamoDbTableDetails {
9238	s.TableSizeBytes = &v
9239	return s
9240}
9241
9242// SetTableStatus sets the TableStatus field's value.
9243func (s *AwsDynamoDbTableDetails) SetTableStatus(v string) *AwsDynamoDbTableDetails {
9244	s.TableStatus = &v
9245	return s
9246}
9247
9248// Information abut a global secondary index for the table.
9249type AwsDynamoDbTableGlobalSecondaryIndex struct {
9250	_ struct{} `type:"structure"`
9251
9252	// Whether the index is currently backfilling.
9253	Backfilling *bool `type:"boolean"`
9254
9255	// The ARN of the index.
9256	IndexArn *string `type:"string"`
9257
9258	// The name of the index.
9259	IndexName *string `type:"string"`
9260
9261	// The total size in bytes of the index.
9262	IndexSizeBytes *int64 `type:"long"`
9263
9264	// The current status of the index.
9265	IndexStatus *string `type:"string"`
9266
9267	// The number of items in the index.
9268	ItemCount *int64 `type:"integer"`
9269
9270	// The key schema for the index.
9271	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
9272
9273	// Attributes that are copied from the table into an index.
9274	Projection *AwsDynamoDbTableProjection `type:"structure"`
9275
9276	// Information about the provisioned throughput settings for the indexes.
9277	ProvisionedThroughput *AwsDynamoDbTableProvisionedThroughput `type:"structure"`
9278}
9279
9280// String returns the string representation
9281func (s AwsDynamoDbTableGlobalSecondaryIndex) String() string {
9282	return awsutil.Prettify(s)
9283}
9284
9285// GoString returns the string representation
9286func (s AwsDynamoDbTableGlobalSecondaryIndex) GoString() string {
9287	return s.String()
9288}
9289
9290// SetBackfilling sets the Backfilling field's value.
9291func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetBackfilling(v bool) *AwsDynamoDbTableGlobalSecondaryIndex {
9292	s.Backfilling = &v
9293	return s
9294}
9295
9296// SetIndexArn sets the IndexArn field's value.
9297func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexArn(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
9298	s.IndexArn = &v
9299	return s
9300}
9301
9302// SetIndexName sets the IndexName field's value.
9303func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
9304	s.IndexName = &v
9305	return s
9306}
9307
9308// SetIndexSizeBytes sets the IndexSizeBytes field's value.
9309func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexSizeBytes(v int64) *AwsDynamoDbTableGlobalSecondaryIndex {
9310	s.IndexSizeBytes = &v
9311	return s
9312}
9313
9314// SetIndexStatus sets the IndexStatus field's value.
9315func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetIndexStatus(v string) *AwsDynamoDbTableGlobalSecondaryIndex {
9316	s.IndexStatus = &v
9317	return s
9318}
9319
9320// SetItemCount sets the ItemCount field's value.
9321func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetItemCount(v int64) *AwsDynamoDbTableGlobalSecondaryIndex {
9322	s.ItemCount = &v
9323	return s
9324}
9325
9326// SetKeySchema sets the KeySchema field's value.
9327func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableGlobalSecondaryIndex {
9328	s.KeySchema = v
9329	return s
9330}
9331
9332// SetProjection sets the Projection field's value.
9333func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetProjection(v *AwsDynamoDbTableProjection) *AwsDynamoDbTableGlobalSecondaryIndex {
9334	s.Projection = v
9335	return s
9336}
9337
9338// SetProvisionedThroughput sets the ProvisionedThroughput field's value.
9339func (s *AwsDynamoDbTableGlobalSecondaryIndex) SetProvisionedThroughput(v *AwsDynamoDbTableProvisionedThroughput) *AwsDynamoDbTableGlobalSecondaryIndex {
9340	s.ProvisionedThroughput = v
9341	return s
9342}
9343
9344// A component of the key schema for the DynamoDB table, a global secondary
9345// index, or a local secondary index.
9346type AwsDynamoDbTableKeySchema struct {
9347	_ struct{} `type:"structure"`
9348
9349	// The name of the key schema attribute.
9350	AttributeName *string `type:"string"`
9351
9352	// The type of key used for the key schema attribute.
9353	KeyType *string `type:"string"`
9354}
9355
9356// String returns the string representation
9357func (s AwsDynamoDbTableKeySchema) String() string {
9358	return awsutil.Prettify(s)
9359}
9360
9361// GoString returns the string representation
9362func (s AwsDynamoDbTableKeySchema) GoString() string {
9363	return s.String()
9364}
9365
9366// SetAttributeName sets the AttributeName field's value.
9367func (s *AwsDynamoDbTableKeySchema) SetAttributeName(v string) *AwsDynamoDbTableKeySchema {
9368	s.AttributeName = &v
9369	return s
9370}
9371
9372// SetKeyType sets the KeyType field's value.
9373func (s *AwsDynamoDbTableKeySchema) SetKeyType(v string) *AwsDynamoDbTableKeySchema {
9374	s.KeyType = &v
9375	return s
9376}
9377
9378// Information about a local secondary index for a DynamoDB table.
9379type AwsDynamoDbTableLocalSecondaryIndex struct {
9380	_ struct{} `type:"structure"`
9381
9382	// The ARN of the index.
9383	IndexArn *string `type:"string"`
9384
9385	// The name of the index.
9386	IndexName *string `type:"string"`
9387
9388	// The complete key schema for the index.
9389	KeySchema []*AwsDynamoDbTableKeySchema `type:"list"`
9390
9391	// Attributes that are copied from the table into the index. These are in addition
9392	// to the primary key attributes and index key attributes, which are automatically
9393	// projected.
9394	Projection *AwsDynamoDbTableProjection `type:"structure"`
9395}
9396
9397// String returns the string representation
9398func (s AwsDynamoDbTableLocalSecondaryIndex) String() string {
9399	return awsutil.Prettify(s)
9400}
9401
9402// GoString returns the string representation
9403func (s AwsDynamoDbTableLocalSecondaryIndex) GoString() string {
9404	return s.String()
9405}
9406
9407// SetIndexArn sets the IndexArn field's value.
9408func (s *AwsDynamoDbTableLocalSecondaryIndex) SetIndexArn(v string) *AwsDynamoDbTableLocalSecondaryIndex {
9409	s.IndexArn = &v
9410	return s
9411}
9412
9413// SetIndexName sets the IndexName field's value.
9414func (s *AwsDynamoDbTableLocalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableLocalSecondaryIndex {
9415	s.IndexName = &v
9416	return s
9417}
9418
9419// SetKeySchema sets the KeySchema field's value.
9420func (s *AwsDynamoDbTableLocalSecondaryIndex) SetKeySchema(v []*AwsDynamoDbTableKeySchema) *AwsDynamoDbTableLocalSecondaryIndex {
9421	s.KeySchema = v
9422	return s
9423}
9424
9425// SetProjection sets the Projection field's value.
9426func (s *AwsDynamoDbTableLocalSecondaryIndex) SetProjection(v *AwsDynamoDbTableProjection) *AwsDynamoDbTableLocalSecondaryIndex {
9427	s.Projection = v
9428	return s
9429}
9430
9431// For global and local secondary indexes, identifies the attributes that are
9432// copied from the table into the index.
9433type AwsDynamoDbTableProjection struct {
9434	_ struct{} `type:"structure"`
9435
9436	// The nonkey attributes that are projected into the index. For each attribute,
9437	// provide the attribute name.
9438	NonKeyAttributes []*string `type:"list"`
9439
9440	// The types of attributes that are projected into the index.
9441	ProjectionType *string `type:"string"`
9442}
9443
9444// String returns the string representation
9445func (s AwsDynamoDbTableProjection) String() string {
9446	return awsutil.Prettify(s)
9447}
9448
9449// GoString returns the string representation
9450func (s AwsDynamoDbTableProjection) GoString() string {
9451	return s.String()
9452}
9453
9454// SetNonKeyAttributes sets the NonKeyAttributes field's value.
9455func (s *AwsDynamoDbTableProjection) SetNonKeyAttributes(v []*string) *AwsDynamoDbTableProjection {
9456	s.NonKeyAttributes = v
9457	return s
9458}
9459
9460// SetProjectionType sets the ProjectionType field's value.
9461func (s *AwsDynamoDbTableProjection) SetProjectionType(v string) *AwsDynamoDbTableProjection {
9462	s.ProjectionType = &v
9463	return s
9464}
9465
9466// Information about the provisioned throughput for the table or for a global
9467// secondary index.
9468type AwsDynamoDbTableProvisionedThroughput struct {
9469	_ struct{} `type:"structure"`
9470
9471	// Indicates when the provisioned throughput was last decreased.
9472	//
9473	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9474	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9475	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9476	LastDecreaseDateTime *string `type:"string"`
9477
9478	// Indicates when the provisioned throughput was last increased.
9479	//
9480	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9481	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9482	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9483	LastIncreaseDateTime *string `type:"string"`
9484
9485	// The number of times during the current UTC calendar day that the provisioned
9486	// throughput was decreased.
9487	NumberOfDecreasesToday *int64 `type:"integer"`
9488
9489	// The maximum number of strongly consistent reads consumed per second before
9490	// DynamoDB returns a ThrottlingException.
9491	ReadCapacityUnits *int64 `type:"integer"`
9492
9493	// The maximum number of writes consumed per second before DynamoDB returns
9494	// a ThrottlingException.
9495	WriteCapacityUnits *int64 `type:"integer"`
9496}
9497
9498// String returns the string representation
9499func (s AwsDynamoDbTableProvisionedThroughput) String() string {
9500	return awsutil.Prettify(s)
9501}
9502
9503// GoString returns the string representation
9504func (s AwsDynamoDbTableProvisionedThroughput) GoString() string {
9505	return s.String()
9506}
9507
9508// SetLastDecreaseDateTime sets the LastDecreaseDateTime field's value.
9509func (s *AwsDynamoDbTableProvisionedThroughput) SetLastDecreaseDateTime(v string) *AwsDynamoDbTableProvisionedThroughput {
9510	s.LastDecreaseDateTime = &v
9511	return s
9512}
9513
9514// SetLastIncreaseDateTime sets the LastIncreaseDateTime field's value.
9515func (s *AwsDynamoDbTableProvisionedThroughput) SetLastIncreaseDateTime(v string) *AwsDynamoDbTableProvisionedThroughput {
9516	s.LastIncreaseDateTime = &v
9517	return s
9518}
9519
9520// SetNumberOfDecreasesToday sets the NumberOfDecreasesToday field's value.
9521func (s *AwsDynamoDbTableProvisionedThroughput) SetNumberOfDecreasesToday(v int64) *AwsDynamoDbTableProvisionedThroughput {
9522	s.NumberOfDecreasesToday = &v
9523	return s
9524}
9525
9526// SetReadCapacityUnits sets the ReadCapacityUnits field's value.
9527func (s *AwsDynamoDbTableProvisionedThroughput) SetReadCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughput {
9528	s.ReadCapacityUnits = &v
9529	return s
9530}
9531
9532// SetWriteCapacityUnits sets the WriteCapacityUnits field's value.
9533func (s *AwsDynamoDbTableProvisionedThroughput) SetWriteCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughput {
9534	s.WriteCapacityUnits = &v
9535	return s
9536}
9537
9538// Replica-specific configuration for the provisioned throughput.
9539type AwsDynamoDbTableProvisionedThroughputOverride struct {
9540	_ struct{} `type:"structure"`
9541
9542	// The read capacity units for the replica.
9543	ReadCapacityUnits *int64 `type:"integer"`
9544}
9545
9546// String returns the string representation
9547func (s AwsDynamoDbTableProvisionedThroughputOverride) String() string {
9548	return awsutil.Prettify(s)
9549}
9550
9551// GoString returns the string representation
9552func (s AwsDynamoDbTableProvisionedThroughputOverride) GoString() string {
9553	return s.String()
9554}
9555
9556// SetReadCapacityUnits sets the ReadCapacityUnits field's value.
9557func (s *AwsDynamoDbTableProvisionedThroughputOverride) SetReadCapacityUnits(v int64) *AwsDynamoDbTableProvisionedThroughputOverride {
9558	s.ReadCapacityUnits = &v
9559	return s
9560}
9561
9562// Information about a replica of a DynamoDB table.
9563type AwsDynamoDbTableReplica struct {
9564	_ struct{} `type:"structure"`
9565
9566	// List of global secondary indexes for the replica.
9567	GlobalSecondaryIndexes []*AwsDynamoDbTableReplicaGlobalSecondaryIndex `type:"list"`
9568
9569	// The identifier of the AWS KMS customer master key (CMK) that will be used
9570	// for AWS KMS encryption for the replica.
9571	KmsMasterKeyId *string `type:"string"`
9572
9573	// Replica-specific configuration for the provisioned throughput.
9574	ProvisionedThroughputOverride *AwsDynamoDbTableProvisionedThroughputOverride `type:"structure"`
9575
9576	// The name of the Region where the replica is located.
9577	RegionName *string `type:"string"`
9578
9579	// The current status of the replica.
9580	ReplicaStatus *string `type:"string"`
9581
9582	// Detailed information about the replica status.
9583	ReplicaStatusDescription *string `type:"string"`
9584}
9585
9586// String returns the string representation
9587func (s AwsDynamoDbTableReplica) String() string {
9588	return awsutil.Prettify(s)
9589}
9590
9591// GoString returns the string representation
9592func (s AwsDynamoDbTableReplica) GoString() string {
9593	return s.String()
9594}
9595
9596// SetGlobalSecondaryIndexes sets the GlobalSecondaryIndexes field's value.
9597func (s *AwsDynamoDbTableReplica) SetGlobalSecondaryIndexes(v []*AwsDynamoDbTableReplicaGlobalSecondaryIndex) *AwsDynamoDbTableReplica {
9598	s.GlobalSecondaryIndexes = v
9599	return s
9600}
9601
9602// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
9603func (s *AwsDynamoDbTableReplica) SetKmsMasterKeyId(v string) *AwsDynamoDbTableReplica {
9604	s.KmsMasterKeyId = &v
9605	return s
9606}
9607
9608// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value.
9609func (s *AwsDynamoDbTableReplica) SetProvisionedThroughputOverride(v *AwsDynamoDbTableProvisionedThroughputOverride) *AwsDynamoDbTableReplica {
9610	s.ProvisionedThroughputOverride = v
9611	return s
9612}
9613
9614// SetRegionName sets the RegionName field's value.
9615func (s *AwsDynamoDbTableReplica) SetRegionName(v string) *AwsDynamoDbTableReplica {
9616	s.RegionName = &v
9617	return s
9618}
9619
9620// SetReplicaStatus sets the ReplicaStatus field's value.
9621func (s *AwsDynamoDbTableReplica) SetReplicaStatus(v string) *AwsDynamoDbTableReplica {
9622	s.ReplicaStatus = &v
9623	return s
9624}
9625
9626// SetReplicaStatusDescription sets the ReplicaStatusDescription field's value.
9627func (s *AwsDynamoDbTableReplica) SetReplicaStatusDescription(v string) *AwsDynamoDbTableReplica {
9628	s.ReplicaStatusDescription = &v
9629	return s
9630}
9631
9632// Information about a global secondary index for a DynamoDB table replica.
9633type AwsDynamoDbTableReplicaGlobalSecondaryIndex struct {
9634	_ struct{} `type:"structure"`
9635
9636	// The name of the index.
9637	IndexName *string `type:"string"`
9638
9639	// Replica-specific configuration for the provisioned throughput for the index.
9640	ProvisionedThroughputOverride *AwsDynamoDbTableProvisionedThroughputOverride `type:"structure"`
9641}
9642
9643// String returns the string representation
9644func (s AwsDynamoDbTableReplicaGlobalSecondaryIndex) String() string {
9645	return awsutil.Prettify(s)
9646}
9647
9648// GoString returns the string representation
9649func (s AwsDynamoDbTableReplicaGlobalSecondaryIndex) GoString() string {
9650	return s.String()
9651}
9652
9653// SetIndexName sets the IndexName field's value.
9654func (s *AwsDynamoDbTableReplicaGlobalSecondaryIndex) SetIndexName(v string) *AwsDynamoDbTableReplicaGlobalSecondaryIndex {
9655	s.IndexName = &v
9656	return s
9657}
9658
9659// SetProvisionedThroughputOverride sets the ProvisionedThroughputOverride field's value.
9660func (s *AwsDynamoDbTableReplicaGlobalSecondaryIndex) SetProvisionedThroughputOverride(v *AwsDynamoDbTableProvisionedThroughputOverride) *AwsDynamoDbTableReplicaGlobalSecondaryIndex {
9661	s.ProvisionedThroughputOverride = v
9662	return s
9663}
9664
9665// Information about the restore for the table.
9666type AwsDynamoDbTableRestoreSummary struct {
9667	_ struct{} `type:"structure"`
9668
9669	// Indicates the point in time that the table was restored to.
9670	//
9671	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9672	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9673	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9674	RestoreDateTime *string `type:"string"`
9675
9676	// Whether a restore is currently in progress.
9677	RestoreInProgress *bool `type:"boolean"`
9678
9679	// The ARN of the source backup from which the table was restored.
9680	SourceBackupArn *string `type:"string"`
9681
9682	// The ARN of the source table for the backup.
9683	SourceTableArn *string `type:"string"`
9684}
9685
9686// String returns the string representation
9687func (s AwsDynamoDbTableRestoreSummary) String() string {
9688	return awsutil.Prettify(s)
9689}
9690
9691// GoString returns the string representation
9692func (s AwsDynamoDbTableRestoreSummary) GoString() string {
9693	return s.String()
9694}
9695
9696// SetRestoreDateTime sets the RestoreDateTime field's value.
9697func (s *AwsDynamoDbTableRestoreSummary) SetRestoreDateTime(v string) *AwsDynamoDbTableRestoreSummary {
9698	s.RestoreDateTime = &v
9699	return s
9700}
9701
9702// SetRestoreInProgress sets the RestoreInProgress field's value.
9703func (s *AwsDynamoDbTableRestoreSummary) SetRestoreInProgress(v bool) *AwsDynamoDbTableRestoreSummary {
9704	s.RestoreInProgress = &v
9705	return s
9706}
9707
9708// SetSourceBackupArn sets the SourceBackupArn field's value.
9709func (s *AwsDynamoDbTableRestoreSummary) SetSourceBackupArn(v string) *AwsDynamoDbTableRestoreSummary {
9710	s.SourceBackupArn = &v
9711	return s
9712}
9713
9714// SetSourceTableArn sets the SourceTableArn field's value.
9715func (s *AwsDynamoDbTableRestoreSummary) SetSourceTableArn(v string) *AwsDynamoDbTableRestoreSummary {
9716	s.SourceTableArn = &v
9717	return s
9718}
9719
9720// Information about the server-side encryption for the table.
9721type AwsDynamoDbTableSseDescription struct {
9722	_ struct{} `type:"structure"`
9723
9724	// If the key is inaccessible, the date and time when DynamoDB detected that
9725	// the key was inaccessible.
9726	//
9727	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9728	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9729	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9730	InaccessibleEncryptionDateTime *string `type:"string"`
9731
9732	// The ARN of the AWS KMS customer master key (CMK) that is used for the AWS
9733	// KMS encryption.
9734	KmsMasterKeyArn *string `type:"string"`
9735
9736	// The type of server-side encryption.
9737	SseType *string `type:"string"`
9738
9739	// The status of the server-side encryption.
9740	Status *string `type:"string"`
9741}
9742
9743// String returns the string representation
9744func (s AwsDynamoDbTableSseDescription) String() string {
9745	return awsutil.Prettify(s)
9746}
9747
9748// GoString returns the string representation
9749func (s AwsDynamoDbTableSseDescription) GoString() string {
9750	return s.String()
9751}
9752
9753// SetInaccessibleEncryptionDateTime sets the InaccessibleEncryptionDateTime field's value.
9754func (s *AwsDynamoDbTableSseDescription) SetInaccessibleEncryptionDateTime(v string) *AwsDynamoDbTableSseDescription {
9755	s.InaccessibleEncryptionDateTime = &v
9756	return s
9757}
9758
9759// SetKmsMasterKeyArn sets the KmsMasterKeyArn field's value.
9760func (s *AwsDynamoDbTableSseDescription) SetKmsMasterKeyArn(v string) *AwsDynamoDbTableSseDescription {
9761	s.KmsMasterKeyArn = &v
9762	return s
9763}
9764
9765// SetSseType sets the SseType field's value.
9766func (s *AwsDynamoDbTableSseDescription) SetSseType(v string) *AwsDynamoDbTableSseDescription {
9767	s.SseType = &v
9768	return s
9769}
9770
9771// SetStatus sets the Status field's value.
9772func (s *AwsDynamoDbTableSseDescription) SetStatus(v string) *AwsDynamoDbTableSseDescription {
9773	s.Status = &v
9774	return s
9775}
9776
9777// The current DynamoDB Streams configuration for the table.
9778type AwsDynamoDbTableStreamSpecification struct {
9779	_ struct{} `type:"structure"`
9780
9781	// Indicates whether DynamoDB Streams is enabled on the table.
9782	StreamEnabled *bool `type:"boolean"`
9783
9784	// Determines the information that is written to the table.
9785	StreamViewType *string `type:"string"`
9786}
9787
9788// String returns the string representation
9789func (s AwsDynamoDbTableStreamSpecification) String() string {
9790	return awsutil.Prettify(s)
9791}
9792
9793// GoString returns the string representation
9794func (s AwsDynamoDbTableStreamSpecification) GoString() string {
9795	return s.String()
9796}
9797
9798// SetStreamEnabled sets the StreamEnabled field's value.
9799func (s *AwsDynamoDbTableStreamSpecification) SetStreamEnabled(v bool) *AwsDynamoDbTableStreamSpecification {
9800	s.StreamEnabled = &v
9801	return s
9802}
9803
9804// SetStreamViewType sets the StreamViewType field's value.
9805func (s *AwsDynamoDbTableStreamSpecification) SetStreamViewType(v string) *AwsDynamoDbTableStreamSpecification {
9806	s.StreamViewType = &v
9807	return s
9808}
9809
9810// Information about an Elastic IP address.
9811type AwsEc2EipDetails struct {
9812	_ struct{} `type:"structure"`
9813
9814	// The identifier that AWS assigns to represent the allocation of the Elastic
9815	// IP address for use with Amazon VPC.
9816	AllocationId *string `type:"string"`
9817
9818	// The identifier that represents the association of the Elastic IP address
9819	// with an EC2 instance.
9820	AssociationId *string `type:"string"`
9821
9822	// The domain in which to allocate the address.
9823	//
9824	// If the address is for use with EC2 instances in a VPC, then Domain is vpc.
9825	// Otherwise, Domain is standard.
9826	Domain *string `type:"string"`
9827
9828	// The identifier of the EC2 instance.
9829	InstanceId *string `type:"string"`
9830
9831	// The name of the location from which the Elastic IP address is advertised.
9832	NetworkBorderGroup *string `type:"string"`
9833
9834	// The identifier of the network interface.
9835	NetworkInterfaceId *string `type:"string"`
9836
9837	// The AWS account ID of the owner of the network interface.
9838	NetworkInterfaceOwnerId *string `type:"string"`
9839
9840	// The private IP address that is associated with the Elastic IP address.
9841	PrivateIpAddress *string `type:"string"`
9842
9843	// A public IP address that is associated with the EC2 instance.
9844	PublicIp *string `type:"string"`
9845
9846	// The identifier of an IP address pool. This parameter allows Amazon EC2 to
9847	// select an IP address from the address pool.
9848	PublicIpv4Pool *string `type:"string"`
9849}
9850
9851// String returns the string representation
9852func (s AwsEc2EipDetails) String() string {
9853	return awsutil.Prettify(s)
9854}
9855
9856// GoString returns the string representation
9857func (s AwsEc2EipDetails) GoString() string {
9858	return s.String()
9859}
9860
9861// SetAllocationId sets the AllocationId field's value.
9862func (s *AwsEc2EipDetails) SetAllocationId(v string) *AwsEc2EipDetails {
9863	s.AllocationId = &v
9864	return s
9865}
9866
9867// SetAssociationId sets the AssociationId field's value.
9868func (s *AwsEc2EipDetails) SetAssociationId(v string) *AwsEc2EipDetails {
9869	s.AssociationId = &v
9870	return s
9871}
9872
9873// SetDomain sets the Domain field's value.
9874func (s *AwsEc2EipDetails) SetDomain(v string) *AwsEc2EipDetails {
9875	s.Domain = &v
9876	return s
9877}
9878
9879// SetInstanceId sets the InstanceId field's value.
9880func (s *AwsEc2EipDetails) SetInstanceId(v string) *AwsEc2EipDetails {
9881	s.InstanceId = &v
9882	return s
9883}
9884
9885// SetNetworkBorderGroup sets the NetworkBorderGroup field's value.
9886func (s *AwsEc2EipDetails) SetNetworkBorderGroup(v string) *AwsEc2EipDetails {
9887	s.NetworkBorderGroup = &v
9888	return s
9889}
9890
9891// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
9892func (s *AwsEc2EipDetails) SetNetworkInterfaceId(v string) *AwsEc2EipDetails {
9893	s.NetworkInterfaceId = &v
9894	return s
9895}
9896
9897// SetNetworkInterfaceOwnerId sets the NetworkInterfaceOwnerId field's value.
9898func (s *AwsEc2EipDetails) SetNetworkInterfaceOwnerId(v string) *AwsEc2EipDetails {
9899	s.NetworkInterfaceOwnerId = &v
9900	return s
9901}
9902
9903// SetPrivateIpAddress sets the PrivateIpAddress field's value.
9904func (s *AwsEc2EipDetails) SetPrivateIpAddress(v string) *AwsEc2EipDetails {
9905	s.PrivateIpAddress = &v
9906	return s
9907}
9908
9909// SetPublicIp sets the PublicIp field's value.
9910func (s *AwsEc2EipDetails) SetPublicIp(v string) *AwsEc2EipDetails {
9911	s.PublicIp = &v
9912	return s
9913}
9914
9915// SetPublicIpv4Pool sets the PublicIpv4Pool field's value.
9916func (s *AwsEc2EipDetails) SetPublicIpv4Pool(v string) *AwsEc2EipDetails {
9917	s.PublicIpv4Pool = &v
9918	return s
9919}
9920
9921// The details of an Amazon EC2 instance.
9922type AwsEc2InstanceDetails struct {
9923	_ struct{} `type:"structure"`
9924
9925	// The IAM profile ARN of the instance.
9926	IamInstanceProfileArn *string `type:"string"`
9927
9928	// The Amazon Machine Image (AMI) ID of the instance.
9929	ImageId *string `type:"string"`
9930
9931	// The IPv4 addresses associated with the instance.
9932	IpV4Addresses []*string `type:"list"`
9933
9934	// The IPv6 addresses associated with the instance.
9935	IpV6Addresses []*string `type:"list"`
9936
9937	// The key name associated with the instance.
9938	KeyName *string `type:"string"`
9939
9940	// Indicates when the instance was launched.
9941	//
9942	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
9943	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
9944	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
9945	LaunchedAt *string `type:"string"`
9946
9947	// The identifier of the subnet that the instance was launched in.
9948	SubnetId *string `type:"string"`
9949
9950	// The instance type of the instance.
9951	Type *string `type:"string"`
9952
9953	// The identifier of the VPC that the instance was launched in.
9954	VpcId *string `type:"string"`
9955}
9956
9957// String returns the string representation
9958func (s AwsEc2InstanceDetails) String() string {
9959	return awsutil.Prettify(s)
9960}
9961
9962// GoString returns the string representation
9963func (s AwsEc2InstanceDetails) GoString() string {
9964	return s.String()
9965}
9966
9967// SetIamInstanceProfileArn sets the IamInstanceProfileArn field's value.
9968func (s *AwsEc2InstanceDetails) SetIamInstanceProfileArn(v string) *AwsEc2InstanceDetails {
9969	s.IamInstanceProfileArn = &v
9970	return s
9971}
9972
9973// SetImageId sets the ImageId field's value.
9974func (s *AwsEc2InstanceDetails) SetImageId(v string) *AwsEc2InstanceDetails {
9975	s.ImageId = &v
9976	return s
9977}
9978
9979// SetIpV4Addresses sets the IpV4Addresses field's value.
9980func (s *AwsEc2InstanceDetails) SetIpV4Addresses(v []*string) *AwsEc2InstanceDetails {
9981	s.IpV4Addresses = v
9982	return s
9983}
9984
9985// SetIpV6Addresses sets the IpV6Addresses field's value.
9986func (s *AwsEc2InstanceDetails) SetIpV6Addresses(v []*string) *AwsEc2InstanceDetails {
9987	s.IpV6Addresses = v
9988	return s
9989}
9990
9991// SetKeyName sets the KeyName field's value.
9992func (s *AwsEc2InstanceDetails) SetKeyName(v string) *AwsEc2InstanceDetails {
9993	s.KeyName = &v
9994	return s
9995}
9996
9997// SetLaunchedAt sets the LaunchedAt field's value.
9998func (s *AwsEc2InstanceDetails) SetLaunchedAt(v string) *AwsEc2InstanceDetails {
9999	s.LaunchedAt = &v
10000	return s
10001}
10002
10003// SetSubnetId sets the SubnetId field's value.
10004func (s *AwsEc2InstanceDetails) SetSubnetId(v string) *AwsEc2InstanceDetails {
10005	s.SubnetId = &v
10006	return s
10007}
10008
10009// SetType sets the Type field's value.
10010func (s *AwsEc2InstanceDetails) SetType(v string) *AwsEc2InstanceDetails {
10011	s.Type = &v
10012	return s
10013}
10014
10015// SetVpcId sets the VpcId field's value.
10016func (s *AwsEc2InstanceDetails) SetVpcId(v string) *AwsEc2InstanceDetails {
10017	s.VpcId = &v
10018	return s
10019}
10020
10021// An association between the network ACL and a subnet.
10022type AwsEc2NetworkAclAssociation struct {
10023	_ struct{} `type:"structure"`
10024
10025	// The identifier of the association between the network ACL and the subnet.
10026	NetworkAclAssociationId *string `type:"string"`
10027
10028	// The identifier of the network ACL.
10029	NetworkAclId *string `type:"string"`
10030
10031	// The identifier of the subnet that is associated with the network ACL.
10032	SubnetId *string `type:"string"`
10033}
10034
10035// String returns the string representation
10036func (s AwsEc2NetworkAclAssociation) String() string {
10037	return awsutil.Prettify(s)
10038}
10039
10040// GoString returns the string representation
10041func (s AwsEc2NetworkAclAssociation) GoString() string {
10042	return s.String()
10043}
10044
10045// SetNetworkAclAssociationId sets the NetworkAclAssociationId field's value.
10046func (s *AwsEc2NetworkAclAssociation) SetNetworkAclAssociationId(v string) *AwsEc2NetworkAclAssociation {
10047	s.NetworkAclAssociationId = &v
10048	return s
10049}
10050
10051// SetNetworkAclId sets the NetworkAclId field's value.
10052func (s *AwsEc2NetworkAclAssociation) SetNetworkAclId(v string) *AwsEc2NetworkAclAssociation {
10053	s.NetworkAclId = &v
10054	return s
10055}
10056
10057// SetSubnetId sets the SubnetId field's value.
10058func (s *AwsEc2NetworkAclAssociation) SetSubnetId(v string) *AwsEc2NetworkAclAssociation {
10059	s.SubnetId = &v
10060	return s
10061}
10062
10063// Contains details about an EC2 network access control list (ACL).
10064type AwsEc2NetworkAclDetails struct {
10065	_ struct{} `type:"structure"`
10066
10067	// Associations between the network ACL and subnets.
10068	Associations []*AwsEc2NetworkAclAssociation `type:"list"`
10069
10070	// The set of rules in the network ACL.
10071	Entries []*AwsEc2NetworkAclEntry `type:"list"`
10072
10073	// Whether this is the default network ACL for the VPC.
10074	IsDefault *bool `type:"boolean"`
10075
10076	// The identifier of the network ACL.
10077	NetworkAclId *string `type:"string"`
10078
10079	// The identifier of the AWS account that owns the network ACL.
10080	OwnerId *string `type:"string"`
10081
10082	// The identifier of the VPC for the network ACL.
10083	VpcId *string `type:"string"`
10084}
10085
10086// String returns the string representation
10087func (s AwsEc2NetworkAclDetails) String() string {
10088	return awsutil.Prettify(s)
10089}
10090
10091// GoString returns the string representation
10092func (s AwsEc2NetworkAclDetails) GoString() string {
10093	return s.String()
10094}
10095
10096// SetAssociations sets the Associations field's value.
10097func (s *AwsEc2NetworkAclDetails) SetAssociations(v []*AwsEc2NetworkAclAssociation) *AwsEc2NetworkAclDetails {
10098	s.Associations = v
10099	return s
10100}
10101
10102// SetEntries sets the Entries field's value.
10103func (s *AwsEc2NetworkAclDetails) SetEntries(v []*AwsEc2NetworkAclEntry) *AwsEc2NetworkAclDetails {
10104	s.Entries = v
10105	return s
10106}
10107
10108// SetIsDefault sets the IsDefault field's value.
10109func (s *AwsEc2NetworkAclDetails) SetIsDefault(v bool) *AwsEc2NetworkAclDetails {
10110	s.IsDefault = &v
10111	return s
10112}
10113
10114// SetNetworkAclId sets the NetworkAclId field's value.
10115func (s *AwsEc2NetworkAclDetails) SetNetworkAclId(v string) *AwsEc2NetworkAclDetails {
10116	s.NetworkAclId = &v
10117	return s
10118}
10119
10120// SetOwnerId sets the OwnerId field's value.
10121func (s *AwsEc2NetworkAclDetails) SetOwnerId(v string) *AwsEc2NetworkAclDetails {
10122	s.OwnerId = &v
10123	return s
10124}
10125
10126// SetVpcId sets the VpcId field's value.
10127func (s *AwsEc2NetworkAclDetails) SetVpcId(v string) *AwsEc2NetworkAclDetails {
10128	s.VpcId = &v
10129	return s
10130}
10131
10132// A rule for the network ACL. Each rule allows or denies access based on the
10133// IP address, traffic direction, port, and protocol.
10134type AwsEc2NetworkAclEntry struct {
10135	_ struct{} `type:"structure"`
10136
10137	// The IPV4 network range for which to deny or allow access.
10138	CidrBlock *string `type:"string"`
10139
10140	// Whether the rule is an egress rule. An egress rule is a rule that applies
10141	// to traffic that leaves the subnet.
10142	Egress *bool `type:"boolean"`
10143
10144	// The Internet Control Message Protocol (ICMP) type and code for which to deny
10145	// or allow access.
10146	IcmpTypeCode *IcmpTypeCode `type:"structure"`
10147
10148	// The IPV6 network range for which to deny or allow access.
10149	Ipv6CidrBlock *string `type:"string"`
10150
10151	// For TCP or UDP protocols, the range of ports that the rule applies to.
10152	PortRange *PortRangeFromTo `type:"structure"`
10153
10154	// The protocol that the rule applies to. To deny or allow access to all protocols,
10155	// use the value -1.
10156	Protocol *string `type:"string"`
10157
10158	// Whether the rule is used to allow access or deny access.
10159	RuleAction *string `type:"string"`
10160
10161	// The rule number. The rules are processed in order by their number.
10162	RuleNumber *int64 `type:"integer"`
10163}
10164
10165// String returns the string representation
10166func (s AwsEc2NetworkAclEntry) String() string {
10167	return awsutil.Prettify(s)
10168}
10169
10170// GoString returns the string representation
10171func (s AwsEc2NetworkAclEntry) GoString() string {
10172	return s.String()
10173}
10174
10175// SetCidrBlock sets the CidrBlock field's value.
10176func (s *AwsEc2NetworkAclEntry) SetCidrBlock(v string) *AwsEc2NetworkAclEntry {
10177	s.CidrBlock = &v
10178	return s
10179}
10180
10181// SetEgress sets the Egress field's value.
10182func (s *AwsEc2NetworkAclEntry) SetEgress(v bool) *AwsEc2NetworkAclEntry {
10183	s.Egress = &v
10184	return s
10185}
10186
10187// SetIcmpTypeCode sets the IcmpTypeCode field's value.
10188func (s *AwsEc2NetworkAclEntry) SetIcmpTypeCode(v *IcmpTypeCode) *AwsEc2NetworkAclEntry {
10189	s.IcmpTypeCode = v
10190	return s
10191}
10192
10193// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
10194func (s *AwsEc2NetworkAclEntry) SetIpv6CidrBlock(v string) *AwsEc2NetworkAclEntry {
10195	s.Ipv6CidrBlock = &v
10196	return s
10197}
10198
10199// SetPortRange sets the PortRange field's value.
10200func (s *AwsEc2NetworkAclEntry) SetPortRange(v *PortRangeFromTo) *AwsEc2NetworkAclEntry {
10201	s.PortRange = v
10202	return s
10203}
10204
10205// SetProtocol sets the Protocol field's value.
10206func (s *AwsEc2NetworkAclEntry) SetProtocol(v string) *AwsEc2NetworkAclEntry {
10207	s.Protocol = &v
10208	return s
10209}
10210
10211// SetRuleAction sets the RuleAction field's value.
10212func (s *AwsEc2NetworkAclEntry) SetRuleAction(v string) *AwsEc2NetworkAclEntry {
10213	s.RuleAction = &v
10214	return s
10215}
10216
10217// SetRuleNumber sets the RuleNumber field's value.
10218func (s *AwsEc2NetworkAclEntry) SetRuleNumber(v int64) *AwsEc2NetworkAclEntry {
10219	s.RuleNumber = &v
10220	return s
10221}
10222
10223// Information about the network interface attachment.
10224type AwsEc2NetworkInterfaceAttachment struct {
10225	_ struct{} `type:"structure"`
10226
10227	// Indicates when the attachment initiated.
10228	//
10229	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
10230	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
10231	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
10232	AttachTime *string `type:"string"`
10233
10234	// The identifier of the network interface attachment
10235	AttachmentId *string `type:"string"`
10236
10237	// Indicates whether the network interface is deleted when the instance is terminated.
10238	DeleteOnTermination *bool `type:"boolean"`
10239
10240	// The device index of the network interface attachment on the instance.
10241	DeviceIndex *int64 `type:"integer"`
10242
10243	// The ID of the instance.
10244	InstanceId *string `type:"string"`
10245
10246	// The AWS account ID of the owner of the instance.
10247	InstanceOwnerId *string `type:"string"`
10248
10249	// The attachment state.
10250	//
10251	// Valid values: attaching | attached | detaching | detached
10252	Status *string `type:"string"`
10253}
10254
10255// String returns the string representation
10256func (s AwsEc2NetworkInterfaceAttachment) String() string {
10257	return awsutil.Prettify(s)
10258}
10259
10260// GoString returns the string representation
10261func (s AwsEc2NetworkInterfaceAttachment) GoString() string {
10262	return s.String()
10263}
10264
10265// SetAttachTime sets the AttachTime field's value.
10266func (s *AwsEc2NetworkInterfaceAttachment) SetAttachTime(v string) *AwsEc2NetworkInterfaceAttachment {
10267	s.AttachTime = &v
10268	return s
10269}
10270
10271// SetAttachmentId sets the AttachmentId field's value.
10272func (s *AwsEc2NetworkInterfaceAttachment) SetAttachmentId(v string) *AwsEc2NetworkInterfaceAttachment {
10273	s.AttachmentId = &v
10274	return s
10275}
10276
10277// SetDeleteOnTermination sets the DeleteOnTermination field's value.
10278func (s *AwsEc2NetworkInterfaceAttachment) SetDeleteOnTermination(v bool) *AwsEc2NetworkInterfaceAttachment {
10279	s.DeleteOnTermination = &v
10280	return s
10281}
10282
10283// SetDeviceIndex sets the DeviceIndex field's value.
10284func (s *AwsEc2NetworkInterfaceAttachment) SetDeviceIndex(v int64) *AwsEc2NetworkInterfaceAttachment {
10285	s.DeviceIndex = &v
10286	return s
10287}
10288
10289// SetInstanceId sets the InstanceId field's value.
10290func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceId(v string) *AwsEc2NetworkInterfaceAttachment {
10291	s.InstanceId = &v
10292	return s
10293}
10294
10295// SetInstanceOwnerId sets the InstanceOwnerId field's value.
10296func (s *AwsEc2NetworkInterfaceAttachment) SetInstanceOwnerId(v string) *AwsEc2NetworkInterfaceAttachment {
10297	s.InstanceOwnerId = &v
10298	return s
10299}
10300
10301// SetStatus sets the Status field's value.
10302func (s *AwsEc2NetworkInterfaceAttachment) SetStatus(v string) *AwsEc2NetworkInterfaceAttachment {
10303	s.Status = &v
10304	return s
10305}
10306
10307// Details about the network interface
10308type AwsEc2NetworkInterfaceDetails struct {
10309	_ struct{} `type:"structure"`
10310
10311	// The network interface attachment.
10312	Attachment *AwsEc2NetworkInterfaceAttachment `type:"structure"`
10313
10314	// The IPv6 addresses associated with the network interface.
10315	IpV6Addresses []*AwsEc2NetworkInterfaceIpV6AddressDetail `type:"list"`
10316
10317	// The ID of the network interface.
10318	NetworkInterfaceId *string `type:"string"`
10319
10320	// The private IPv4 addresses associated with the network interface.
10321	PrivateIpAddresses []*AwsEc2NetworkInterfacePrivateIpAddressDetail `type:"list"`
10322
10323	// The public DNS name of the network interface.
10324	PublicDnsName *string `type:"string"`
10325
10326	// The address of the Elastic IP address bound to the network interface.
10327	PublicIp *string `type:"string"`
10328
10329	// Security groups for the network interface.
10330	SecurityGroups []*AwsEc2NetworkInterfaceSecurityGroup `type:"list"`
10331
10332	// Indicates whether traffic to or from the instance is validated.
10333	SourceDestCheck *bool `type:"boolean"`
10334}
10335
10336// String returns the string representation
10337func (s AwsEc2NetworkInterfaceDetails) String() string {
10338	return awsutil.Prettify(s)
10339}
10340
10341// GoString returns the string representation
10342func (s AwsEc2NetworkInterfaceDetails) GoString() string {
10343	return s.String()
10344}
10345
10346// SetAttachment sets the Attachment field's value.
10347func (s *AwsEc2NetworkInterfaceDetails) SetAttachment(v *AwsEc2NetworkInterfaceAttachment) *AwsEc2NetworkInterfaceDetails {
10348	s.Attachment = v
10349	return s
10350}
10351
10352// SetIpV6Addresses sets the IpV6Addresses field's value.
10353func (s *AwsEc2NetworkInterfaceDetails) SetIpV6Addresses(v []*AwsEc2NetworkInterfaceIpV6AddressDetail) *AwsEc2NetworkInterfaceDetails {
10354	s.IpV6Addresses = v
10355	return s
10356}
10357
10358// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
10359func (s *AwsEc2NetworkInterfaceDetails) SetNetworkInterfaceId(v string) *AwsEc2NetworkInterfaceDetails {
10360	s.NetworkInterfaceId = &v
10361	return s
10362}
10363
10364// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
10365func (s *AwsEc2NetworkInterfaceDetails) SetPrivateIpAddresses(v []*AwsEc2NetworkInterfacePrivateIpAddressDetail) *AwsEc2NetworkInterfaceDetails {
10366	s.PrivateIpAddresses = v
10367	return s
10368}
10369
10370// SetPublicDnsName sets the PublicDnsName field's value.
10371func (s *AwsEc2NetworkInterfaceDetails) SetPublicDnsName(v string) *AwsEc2NetworkInterfaceDetails {
10372	s.PublicDnsName = &v
10373	return s
10374}
10375
10376// SetPublicIp sets the PublicIp field's value.
10377func (s *AwsEc2NetworkInterfaceDetails) SetPublicIp(v string) *AwsEc2NetworkInterfaceDetails {
10378	s.PublicIp = &v
10379	return s
10380}
10381
10382// SetSecurityGroups sets the SecurityGroups field's value.
10383func (s *AwsEc2NetworkInterfaceDetails) SetSecurityGroups(v []*AwsEc2NetworkInterfaceSecurityGroup) *AwsEc2NetworkInterfaceDetails {
10384	s.SecurityGroups = v
10385	return s
10386}
10387
10388// SetSourceDestCheck sets the SourceDestCheck field's value.
10389func (s *AwsEc2NetworkInterfaceDetails) SetSourceDestCheck(v bool) *AwsEc2NetworkInterfaceDetails {
10390	s.SourceDestCheck = &v
10391	return s
10392}
10393
10394// Provides information about an IPV6 address that is associated with the network
10395// interface.
10396type AwsEc2NetworkInterfaceIpV6AddressDetail struct {
10397	_ struct{} `type:"structure"`
10398
10399	// The IPV6 address.
10400	IpV6Address *string `type:"string"`
10401}
10402
10403// String returns the string representation
10404func (s AwsEc2NetworkInterfaceIpV6AddressDetail) String() string {
10405	return awsutil.Prettify(s)
10406}
10407
10408// GoString returns the string representation
10409func (s AwsEc2NetworkInterfaceIpV6AddressDetail) GoString() string {
10410	return s.String()
10411}
10412
10413// SetIpV6Address sets the IpV6Address field's value.
10414func (s *AwsEc2NetworkInterfaceIpV6AddressDetail) SetIpV6Address(v string) *AwsEc2NetworkInterfaceIpV6AddressDetail {
10415	s.IpV6Address = &v
10416	return s
10417}
10418
10419// Provides information about a private IPv4 address that is with the network
10420// interface.
10421type AwsEc2NetworkInterfacePrivateIpAddressDetail struct {
10422	_ struct{} `type:"structure"`
10423
10424	// The private DNS name for the IP address.
10425	PrivateDnsName *string `type:"string"`
10426
10427	// The IP address.
10428	PrivateIpAddress *string `type:"string"`
10429}
10430
10431// String returns the string representation
10432func (s AwsEc2NetworkInterfacePrivateIpAddressDetail) String() string {
10433	return awsutil.Prettify(s)
10434}
10435
10436// GoString returns the string representation
10437func (s AwsEc2NetworkInterfacePrivateIpAddressDetail) GoString() string {
10438	return s.String()
10439}
10440
10441// SetPrivateDnsName sets the PrivateDnsName field's value.
10442func (s *AwsEc2NetworkInterfacePrivateIpAddressDetail) SetPrivateDnsName(v string) *AwsEc2NetworkInterfacePrivateIpAddressDetail {
10443	s.PrivateDnsName = &v
10444	return s
10445}
10446
10447// SetPrivateIpAddress sets the PrivateIpAddress field's value.
10448func (s *AwsEc2NetworkInterfacePrivateIpAddressDetail) SetPrivateIpAddress(v string) *AwsEc2NetworkInterfacePrivateIpAddressDetail {
10449	s.PrivateIpAddress = &v
10450	return s
10451}
10452
10453// A security group associated with the network interface.
10454type AwsEc2NetworkInterfaceSecurityGroup struct {
10455	_ struct{} `type:"structure"`
10456
10457	// The ID of the security group.
10458	GroupId *string `type:"string"`
10459
10460	// The name of the security group.
10461	GroupName *string `type:"string"`
10462}
10463
10464// String returns the string representation
10465func (s AwsEc2NetworkInterfaceSecurityGroup) String() string {
10466	return awsutil.Prettify(s)
10467}
10468
10469// GoString returns the string representation
10470func (s AwsEc2NetworkInterfaceSecurityGroup) GoString() string {
10471	return s.String()
10472}
10473
10474// SetGroupId sets the GroupId field's value.
10475func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupId(v string) *AwsEc2NetworkInterfaceSecurityGroup {
10476	s.GroupId = &v
10477	return s
10478}
10479
10480// SetGroupName sets the GroupName field's value.
10481func (s *AwsEc2NetworkInterfaceSecurityGroup) SetGroupName(v string) *AwsEc2NetworkInterfaceSecurityGroup {
10482	s.GroupName = &v
10483	return s
10484}
10485
10486// Details about an EC2 security group.
10487type AwsEc2SecurityGroupDetails struct {
10488	_ struct{} `type:"structure"`
10489
10490	// The ID of the security group.
10491	GroupId *string `type:"string"`
10492
10493	// The name of the security group.
10494	GroupName *string `type:"string"`
10495
10496	// The inbound rules associated with the security group.
10497	IpPermissions []*AwsEc2SecurityGroupIpPermission `type:"list"`
10498
10499	// [VPC only] The outbound rules associated with the security group.
10500	IpPermissionsEgress []*AwsEc2SecurityGroupIpPermission `type:"list"`
10501
10502	// The AWS account ID of the owner of the security group.
10503	OwnerId *string `type:"string"`
10504
10505	// [VPC only] The ID of the VPC for the security group.
10506	VpcId *string `type:"string"`
10507}
10508
10509// String returns the string representation
10510func (s AwsEc2SecurityGroupDetails) String() string {
10511	return awsutil.Prettify(s)
10512}
10513
10514// GoString returns the string representation
10515func (s AwsEc2SecurityGroupDetails) GoString() string {
10516	return s.String()
10517}
10518
10519// SetGroupId sets the GroupId field's value.
10520func (s *AwsEc2SecurityGroupDetails) SetGroupId(v string) *AwsEc2SecurityGroupDetails {
10521	s.GroupId = &v
10522	return s
10523}
10524
10525// SetGroupName sets the GroupName field's value.
10526func (s *AwsEc2SecurityGroupDetails) SetGroupName(v string) *AwsEc2SecurityGroupDetails {
10527	s.GroupName = &v
10528	return s
10529}
10530
10531// SetIpPermissions sets the IpPermissions field's value.
10532func (s *AwsEc2SecurityGroupDetails) SetIpPermissions(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails {
10533	s.IpPermissions = v
10534	return s
10535}
10536
10537// SetIpPermissionsEgress sets the IpPermissionsEgress field's value.
10538func (s *AwsEc2SecurityGroupDetails) SetIpPermissionsEgress(v []*AwsEc2SecurityGroupIpPermission) *AwsEc2SecurityGroupDetails {
10539	s.IpPermissionsEgress = v
10540	return s
10541}
10542
10543// SetOwnerId sets the OwnerId field's value.
10544func (s *AwsEc2SecurityGroupDetails) SetOwnerId(v string) *AwsEc2SecurityGroupDetails {
10545	s.OwnerId = &v
10546	return s
10547}
10548
10549// SetVpcId sets the VpcId field's value.
10550func (s *AwsEc2SecurityGroupDetails) SetVpcId(v string) *AwsEc2SecurityGroupDetails {
10551	s.VpcId = &v
10552	return s
10553}
10554
10555// An IP permission for an EC2 security group.
10556type AwsEc2SecurityGroupIpPermission struct {
10557	_ struct{} `type:"structure"`
10558
10559	// The start of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6
10560	// type number.
10561	//
10562	// A value of -1 indicates all ICMP/ICMPv6 types. If you specify all ICMP/ICMPv6
10563	// types, you must specify all codes.
10564	FromPort *int64 `type:"integer"`
10565
10566	// The IP protocol name (tcp, udp, icmp, icmpv6) or number.
10567	//
10568	// [VPC only] Use -1 to specify all protocols.
10569	//
10570	// When authorizing security group rules, specifying -1 or a protocol number
10571	// other than tcp, udp, icmp, or icmpv6 allows traffic on all ports, regardless
10572	// of any port range you specify.
10573	//
10574	// For tcp, udp, and icmp, you must specify a port range.
10575	//
10576	// For icmpv6, the port range is optional. If you omit the port range, traffic
10577	// for all types and codes is allowed.
10578	IpProtocol *string `type:"string"`
10579
10580	// The IPv4 ranges.
10581	IpRanges []*AwsEc2SecurityGroupIpRange `type:"list"`
10582
10583	// The IPv6 ranges.
10584	Ipv6Ranges []*AwsEc2SecurityGroupIpv6Range `type:"list"`
10585
10586	// [VPC only] The prefix list IDs for an AWS service. With outbound rules, this
10587	// is the AWS service to access through a VPC endpoint from instances associated
10588	// with the security group.
10589	PrefixListIds []*AwsEc2SecurityGroupPrefixListId `type:"list"`
10590
10591	// The end of the port range for the TCP and UDP protocols, or an ICMP/ICMPv6
10592	// code.
10593	//
10594	// A value of -1 indicates all ICMP/ICMPv6 codes. If you specify all ICMP/ICMPv6
10595	// types, you must specify all codes.
10596	ToPort *int64 `type:"integer"`
10597
10598	// The security group and AWS account ID pairs.
10599	UserIdGroupPairs []*AwsEc2SecurityGroupUserIdGroupPair `type:"list"`
10600}
10601
10602// String returns the string representation
10603func (s AwsEc2SecurityGroupIpPermission) String() string {
10604	return awsutil.Prettify(s)
10605}
10606
10607// GoString returns the string representation
10608func (s AwsEc2SecurityGroupIpPermission) GoString() string {
10609	return s.String()
10610}
10611
10612// SetFromPort sets the FromPort field's value.
10613func (s *AwsEc2SecurityGroupIpPermission) SetFromPort(v int64) *AwsEc2SecurityGroupIpPermission {
10614	s.FromPort = &v
10615	return s
10616}
10617
10618// SetIpProtocol sets the IpProtocol field's value.
10619func (s *AwsEc2SecurityGroupIpPermission) SetIpProtocol(v string) *AwsEc2SecurityGroupIpPermission {
10620	s.IpProtocol = &v
10621	return s
10622}
10623
10624// SetIpRanges sets the IpRanges field's value.
10625func (s *AwsEc2SecurityGroupIpPermission) SetIpRanges(v []*AwsEc2SecurityGroupIpRange) *AwsEc2SecurityGroupIpPermission {
10626	s.IpRanges = v
10627	return s
10628}
10629
10630// SetIpv6Ranges sets the Ipv6Ranges field's value.
10631func (s *AwsEc2SecurityGroupIpPermission) SetIpv6Ranges(v []*AwsEc2SecurityGroupIpv6Range) *AwsEc2SecurityGroupIpPermission {
10632	s.Ipv6Ranges = v
10633	return s
10634}
10635
10636// SetPrefixListIds sets the PrefixListIds field's value.
10637func (s *AwsEc2SecurityGroupIpPermission) SetPrefixListIds(v []*AwsEc2SecurityGroupPrefixListId) *AwsEc2SecurityGroupIpPermission {
10638	s.PrefixListIds = v
10639	return s
10640}
10641
10642// SetToPort sets the ToPort field's value.
10643func (s *AwsEc2SecurityGroupIpPermission) SetToPort(v int64) *AwsEc2SecurityGroupIpPermission {
10644	s.ToPort = &v
10645	return s
10646}
10647
10648// SetUserIdGroupPairs sets the UserIdGroupPairs field's value.
10649func (s *AwsEc2SecurityGroupIpPermission) SetUserIdGroupPairs(v []*AwsEc2SecurityGroupUserIdGroupPair) *AwsEc2SecurityGroupIpPermission {
10650	s.UserIdGroupPairs = v
10651	return s
10652}
10653
10654// A range of IPv4 addresses.
10655type AwsEc2SecurityGroupIpRange struct {
10656	_ struct{} `type:"structure"`
10657
10658	// The IPv4 CIDR range. You can specify either a CIDR range or a source security
10659	// group, but not both. To specify a single IPv4 address, use the /32 prefix
10660	// length.
10661	CidrIp *string `type:"string"`
10662}
10663
10664// String returns the string representation
10665func (s AwsEc2SecurityGroupIpRange) String() string {
10666	return awsutil.Prettify(s)
10667}
10668
10669// GoString returns the string representation
10670func (s AwsEc2SecurityGroupIpRange) GoString() string {
10671	return s.String()
10672}
10673
10674// SetCidrIp sets the CidrIp field's value.
10675func (s *AwsEc2SecurityGroupIpRange) SetCidrIp(v string) *AwsEc2SecurityGroupIpRange {
10676	s.CidrIp = &v
10677	return s
10678}
10679
10680// A range of IPv6 addresses.
10681type AwsEc2SecurityGroupIpv6Range struct {
10682	_ struct{} `type:"structure"`
10683
10684	// The IPv6 CIDR range. You can specify either a CIDR range or a source security
10685	// group, but not both. To specify a single IPv6 address, use the /128 prefix
10686	// length.
10687	CidrIpv6 *string `type:"string"`
10688}
10689
10690// String returns the string representation
10691func (s AwsEc2SecurityGroupIpv6Range) String() string {
10692	return awsutil.Prettify(s)
10693}
10694
10695// GoString returns the string representation
10696func (s AwsEc2SecurityGroupIpv6Range) GoString() string {
10697	return s.String()
10698}
10699
10700// SetCidrIpv6 sets the CidrIpv6 field's value.
10701func (s *AwsEc2SecurityGroupIpv6Range) SetCidrIpv6(v string) *AwsEc2SecurityGroupIpv6Range {
10702	s.CidrIpv6 = &v
10703	return s
10704}
10705
10706// A prefix list ID.
10707type AwsEc2SecurityGroupPrefixListId struct {
10708	_ struct{} `type:"structure"`
10709
10710	// The ID of the prefix.
10711	PrefixListId *string `type:"string"`
10712}
10713
10714// String returns the string representation
10715func (s AwsEc2SecurityGroupPrefixListId) String() string {
10716	return awsutil.Prettify(s)
10717}
10718
10719// GoString returns the string representation
10720func (s AwsEc2SecurityGroupPrefixListId) GoString() string {
10721	return s.String()
10722}
10723
10724// SetPrefixListId sets the PrefixListId field's value.
10725func (s *AwsEc2SecurityGroupPrefixListId) SetPrefixListId(v string) *AwsEc2SecurityGroupPrefixListId {
10726	s.PrefixListId = &v
10727	return s
10728}
10729
10730// A relationship between a security group and a user.
10731type AwsEc2SecurityGroupUserIdGroupPair struct {
10732	_ struct{} `type:"structure"`
10733
10734	// The ID of the security group.
10735	GroupId *string `type:"string"`
10736
10737	// The name of the security group.
10738	GroupName *string `type:"string"`
10739
10740	// The status of a VPC peering connection, if applicable.
10741	PeeringStatus *string `type:"string"`
10742
10743	// The ID of an AWS account.
10744	//
10745	// For a referenced security group in another VPC, the account ID of the referenced
10746	// security group is returned in the response. If the referenced security group
10747	// is deleted, this value is not returned.
10748	//
10749	// [EC2-Classic] Required when adding or removing rules that reference a security
10750	// group in another AWS.
10751	UserId *string `type:"string"`
10752
10753	// The ID of the VPC for the referenced security group, if applicable.
10754	VpcId *string `type:"string"`
10755
10756	// The ID of the VPC peering connection, if applicable.
10757	VpcPeeringConnectionId *string `type:"string"`
10758}
10759
10760// String returns the string representation
10761func (s AwsEc2SecurityGroupUserIdGroupPair) String() string {
10762	return awsutil.Prettify(s)
10763}
10764
10765// GoString returns the string representation
10766func (s AwsEc2SecurityGroupUserIdGroupPair) GoString() string {
10767	return s.String()
10768}
10769
10770// SetGroupId sets the GroupId field's value.
10771func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10772	s.GroupId = &v
10773	return s
10774}
10775
10776// SetGroupName sets the GroupName field's value.
10777func (s *AwsEc2SecurityGroupUserIdGroupPair) SetGroupName(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10778	s.GroupName = &v
10779	return s
10780}
10781
10782// SetPeeringStatus sets the PeeringStatus field's value.
10783func (s *AwsEc2SecurityGroupUserIdGroupPair) SetPeeringStatus(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10784	s.PeeringStatus = &v
10785	return s
10786}
10787
10788// SetUserId sets the UserId field's value.
10789func (s *AwsEc2SecurityGroupUserIdGroupPair) SetUserId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10790	s.UserId = &v
10791	return s
10792}
10793
10794// SetVpcId sets the VpcId field's value.
10795func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10796	s.VpcId = &v
10797	return s
10798}
10799
10800// SetVpcPeeringConnectionId sets the VpcPeeringConnectionId field's value.
10801func (s *AwsEc2SecurityGroupUserIdGroupPair) SetVpcPeeringConnectionId(v string) *AwsEc2SecurityGroupUserIdGroupPair {
10802	s.VpcPeeringConnectionId = &v
10803	return s
10804}
10805
10806// Contains information about a subnet in EC2.
10807type AwsEc2SubnetDetails struct {
10808	_ struct{} `type:"structure"`
10809
10810	// Whether to assign an IPV6 address to a network interface that is created
10811	// in this subnet.
10812	AssignIpv6AddressOnCreation *bool `type:"boolean"`
10813
10814	// The Availability Zone for the subnet.
10815	AvailabilityZone *string `type:"string"`
10816
10817	// The identifier of the Availability Zone for the subnet.
10818	AvailabilityZoneId *string `type:"string"`
10819
10820	// The number of available IPV4 addresses in the subnet. Does not include addresses
10821	// for stopped instances.
10822	AvailableIpAddressCount *int64 `type:"integer"`
10823
10824	// The IPV4 CIDR block that is assigned to the subnet.
10825	CidrBlock *string `type:"string"`
10826
10827	// Whether this subnet is the default subnet for the Availability Zone.
10828	DefaultForAz *bool `type:"boolean"`
10829
10830	// The IPV6 CIDR blocks that are associated with the subnet.
10831	Ipv6CidrBlockAssociationSet []*Ipv6CidrBlockAssociation `type:"list"`
10832
10833	// Whether instances in this subnet receive a public IP address.
10834	MapPublicIpOnLaunch *bool `type:"boolean"`
10835
10836	// The identifier of the AWS account that owns the subnet.
10837	OwnerId *string `type:"string"`
10838
10839	// The current state of the subnet.
10840	State *string `type:"string"`
10841
10842	// The ARN of the subnet.
10843	SubnetArn *string `type:"string"`
10844
10845	// The identifier of the subnet.
10846	SubnetId *string `type:"string"`
10847
10848	// The identifier of the VPC that contains the subnet.
10849	VpcId *string `type:"string"`
10850}
10851
10852// String returns the string representation
10853func (s AwsEc2SubnetDetails) String() string {
10854	return awsutil.Prettify(s)
10855}
10856
10857// GoString returns the string representation
10858func (s AwsEc2SubnetDetails) GoString() string {
10859	return s.String()
10860}
10861
10862// SetAssignIpv6AddressOnCreation sets the AssignIpv6AddressOnCreation field's value.
10863func (s *AwsEc2SubnetDetails) SetAssignIpv6AddressOnCreation(v bool) *AwsEc2SubnetDetails {
10864	s.AssignIpv6AddressOnCreation = &v
10865	return s
10866}
10867
10868// SetAvailabilityZone sets the AvailabilityZone field's value.
10869func (s *AwsEc2SubnetDetails) SetAvailabilityZone(v string) *AwsEc2SubnetDetails {
10870	s.AvailabilityZone = &v
10871	return s
10872}
10873
10874// SetAvailabilityZoneId sets the AvailabilityZoneId field's value.
10875func (s *AwsEc2SubnetDetails) SetAvailabilityZoneId(v string) *AwsEc2SubnetDetails {
10876	s.AvailabilityZoneId = &v
10877	return s
10878}
10879
10880// SetAvailableIpAddressCount sets the AvailableIpAddressCount field's value.
10881func (s *AwsEc2SubnetDetails) SetAvailableIpAddressCount(v int64) *AwsEc2SubnetDetails {
10882	s.AvailableIpAddressCount = &v
10883	return s
10884}
10885
10886// SetCidrBlock sets the CidrBlock field's value.
10887func (s *AwsEc2SubnetDetails) SetCidrBlock(v string) *AwsEc2SubnetDetails {
10888	s.CidrBlock = &v
10889	return s
10890}
10891
10892// SetDefaultForAz sets the DefaultForAz field's value.
10893func (s *AwsEc2SubnetDetails) SetDefaultForAz(v bool) *AwsEc2SubnetDetails {
10894	s.DefaultForAz = &v
10895	return s
10896}
10897
10898// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
10899func (s *AwsEc2SubnetDetails) SetIpv6CidrBlockAssociationSet(v []*Ipv6CidrBlockAssociation) *AwsEc2SubnetDetails {
10900	s.Ipv6CidrBlockAssociationSet = v
10901	return s
10902}
10903
10904// SetMapPublicIpOnLaunch sets the MapPublicIpOnLaunch field's value.
10905func (s *AwsEc2SubnetDetails) SetMapPublicIpOnLaunch(v bool) *AwsEc2SubnetDetails {
10906	s.MapPublicIpOnLaunch = &v
10907	return s
10908}
10909
10910// SetOwnerId sets the OwnerId field's value.
10911func (s *AwsEc2SubnetDetails) SetOwnerId(v string) *AwsEc2SubnetDetails {
10912	s.OwnerId = &v
10913	return s
10914}
10915
10916// SetState sets the State field's value.
10917func (s *AwsEc2SubnetDetails) SetState(v string) *AwsEc2SubnetDetails {
10918	s.State = &v
10919	return s
10920}
10921
10922// SetSubnetArn sets the SubnetArn field's value.
10923func (s *AwsEc2SubnetDetails) SetSubnetArn(v string) *AwsEc2SubnetDetails {
10924	s.SubnetArn = &v
10925	return s
10926}
10927
10928// SetSubnetId sets the SubnetId field's value.
10929func (s *AwsEc2SubnetDetails) SetSubnetId(v string) *AwsEc2SubnetDetails {
10930	s.SubnetId = &v
10931	return s
10932}
10933
10934// SetVpcId sets the VpcId field's value.
10935func (s *AwsEc2SubnetDetails) SetVpcId(v string) *AwsEc2SubnetDetails {
10936	s.VpcId = &v
10937	return s
10938}
10939
10940// An attachment to an AWS EC2 volume.
10941type AwsEc2VolumeAttachment struct {
10942	_ struct{} `type:"structure"`
10943
10944	// The datetime when the attachment initiated.
10945	AttachTime *string `type:"string"`
10946
10947	// Whether the EBS volume is deleted when the EC2 instance is terminated.
10948	DeleteOnTermination *bool `type:"boolean"`
10949
10950	// The identifier of the EC2 instance.
10951	InstanceId *string `type:"string"`
10952
10953	// The attachment state of the volume.
10954	Status *string `type:"string"`
10955}
10956
10957// String returns the string representation
10958func (s AwsEc2VolumeAttachment) String() string {
10959	return awsutil.Prettify(s)
10960}
10961
10962// GoString returns the string representation
10963func (s AwsEc2VolumeAttachment) GoString() string {
10964	return s.String()
10965}
10966
10967// SetAttachTime sets the AttachTime field's value.
10968func (s *AwsEc2VolumeAttachment) SetAttachTime(v string) *AwsEc2VolumeAttachment {
10969	s.AttachTime = &v
10970	return s
10971}
10972
10973// SetDeleteOnTermination sets the DeleteOnTermination field's value.
10974func (s *AwsEc2VolumeAttachment) SetDeleteOnTermination(v bool) *AwsEc2VolumeAttachment {
10975	s.DeleteOnTermination = &v
10976	return s
10977}
10978
10979// SetInstanceId sets the InstanceId field's value.
10980func (s *AwsEc2VolumeAttachment) SetInstanceId(v string) *AwsEc2VolumeAttachment {
10981	s.InstanceId = &v
10982	return s
10983}
10984
10985// SetStatus sets the Status field's value.
10986func (s *AwsEc2VolumeAttachment) SetStatus(v string) *AwsEc2VolumeAttachment {
10987	s.Status = &v
10988	return s
10989}
10990
10991// Details about an EC2 volume.
10992type AwsEc2VolumeDetails struct {
10993	_ struct{} `type:"structure"`
10994
10995	// The volume attachments.
10996	Attachments []*AwsEc2VolumeAttachment `type:"list"`
10997
10998	// Indicates when the volume was created.
10999	//
11000	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
11001	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
11002	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
11003	CreateTime *string `type:"string"`
11004
11005	// Whether the volume is encrypted.
11006	Encrypted *bool `type:"boolean"`
11007
11008	// The ARN of the AWS Key Management Service (AWS KMS) customer master key (CMK)
11009	// that was used to protect the volume encryption key for the volume.
11010	KmsKeyId *string `type:"string"`
11011
11012	// The size of the volume, in GiBs.
11013	Size *int64 `type:"integer"`
11014
11015	// The snapshot from which the volume was created.
11016	SnapshotId *string `type:"string"`
11017
11018	// The volume state.
11019	Status *string `type:"string"`
11020}
11021
11022// String returns the string representation
11023func (s AwsEc2VolumeDetails) String() string {
11024	return awsutil.Prettify(s)
11025}
11026
11027// GoString returns the string representation
11028func (s AwsEc2VolumeDetails) GoString() string {
11029	return s.String()
11030}
11031
11032// SetAttachments sets the Attachments field's value.
11033func (s *AwsEc2VolumeDetails) SetAttachments(v []*AwsEc2VolumeAttachment) *AwsEc2VolumeDetails {
11034	s.Attachments = v
11035	return s
11036}
11037
11038// SetCreateTime sets the CreateTime field's value.
11039func (s *AwsEc2VolumeDetails) SetCreateTime(v string) *AwsEc2VolumeDetails {
11040	s.CreateTime = &v
11041	return s
11042}
11043
11044// SetEncrypted sets the Encrypted field's value.
11045func (s *AwsEc2VolumeDetails) SetEncrypted(v bool) *AwsEc2VolumeDetails {
11046	s.Encrypted = &v
11047	return s
11048}
11049
11050// SetKmsKeyId sets the KmsKeyId field's value.
11051func (s *AwsEc2VolumeDetails) SetKmsKeyId(v string) *AwsEc2VolumeDetails {
11052	s.KmsKeyId = &v
11053	return s
11054}
11055
11056// SetSize sets the Size field's value.
11057func (s *AwsEc2VolumeDetails) SetSize(v int64) *AwsEc2VolumeDetails {
11058	s.Size = &v
11059	return s
11060}
11061
11062// SetSnapshotId sets the SnapshotId field's value.
11063func (s *AwsEc2VolumeDetails) SetSnapshotId(v string) *AwsEc2VolumeDetails {
11064	s.SnapshotId = &v
11065	return s
11066}
11067
11068// SetStatus sets the Status field's value.
11069func (s *AwsEc2VolumeDetails) SetStatus(v string) *AwsEc2VolumeDetails {
11070	s.Status = &v
11071	return s
11072}
11073
11074// Details about an EC2 VPC.
11075type AwsEc2VpcDetails struct {
11076	_ struct{} `type:"structure"`
11077
11078	// Information about the IPv4 CIDR blocks associated with the VPC.
11079	CidrBlockAssociationSet []*CidrBlockAssociation `type:"list"`
11080
11081	// The identifier of the set of Dynamic Host Configuration Protocol (DHCP) options
11082	// that are associated with the VPC. If the default options are associated with
11083	// the VPC, then this is default.
11084	DhcpOptionsId *string `type:"string"`
11085
11086	// Information about the IPv6 CIDR blocks associated with the VPC.
11087	Ipv6CidrBlockAssociationSet []*Ipv6CidrBlockAssociation `type:"list"`
11088
11089	// The current state of the VPC.
11090	State *string `type:"string"`
11091}
11092
11093// String returns the string representation
11094func (s AwsEc2VpcDetails) String() string {
11095	return awsutil.Prettify(s)
11096}
11097
11098// GoString returns the string representation
11099func (s AwsEc2VpcDetails) GoString() string {
11100	return s.String()
11101}
11102
11103// SetCidrBlockAssociationSet sets the CidrBlockAssociationSet field's value.
11104func (s *AwsEc2VpcDetails) SetCidrBlockAssociationSet(v []*CidrBlockAssociation) *AwsEc2VpcDetails {
11105	s.CidrBlockAssociationSet = v
11106	return s
11107}
11108
11109// SetDhcpOptionsId sets the DhcpOptionsId field's value.
11110func (s *AwsEc2VpcDetails) SetDhcpOptionsId(v string) *AwsEc2VpcDetails {
11111	s.DhcpOptionsId = &v
11112	return s
11113}
11114
11115// SetIpv6CidrBlockAssociationSet sets the Ipv6CidrBlockAssociationSet field's value.
11116func (s *AwsEc2VpcDetails) SetIpv6CidrBlockAssociationSet(v []*Ipv6CidrBlockAssociation) *AwsEc2VpcDetails {
11117	s.Ipv6CidrBlockAssociationSet = v
11118	return s
11119}
11120
11121// SetState sets the State field's value.
11122func (s *AwsEc2VpcDetails) SetState(v string) *AwsEc2VpcDetails {
11123	s.State = &v
11124	return s
11125}
11126
11127// Contains details about an Elastic Beanstalk environment.
11128type AwsElasticBeanstalkEnvironmentDetails struct {
11129	_ struct{} `type:"structure"`
11130
11131	// The name of the application that is associated with the environment.
11132	ApplicationName *string `type:"string"`
11133
11134	// The URL to the CNAME for this environment.
11135	Cname *string `type:"string"`
11136
11137	// The creation date for this environment.
11138	DateCreated *string `type:"string"`
11139
11140	// The date when this environment was last modified.
11141	DateUpdated *string `type:"string"`
11142
11143	// A description of the environment.
11144	Description *string `type:"string"`
11145
11146	// For load-balanced, autoscaling environments, the URL to the load balancer.
11147	// For single-instance environments, the IP address of the instance.
11148	EndpointUrl *string `type:"string"`
11149
11150	// The ARN of the environment.
11151	EnvironmentArn *string `type:"string"`
11152
11153	// The identifier of the environment.
11154	EnvironmentId *string `type:"string"`
11155
11156	// Links to other environments in the same group.
11157	EnvironmentLinks []*AwsElasticBeanstalkEnvironmentEnvironmentLink `type:"list"`
11158
11159	// The name of the environment.
11160	EnvironmentName *string `type:"string"`
11161
11162	// The configuration setting for the environment.
11163	OptionSettings []*AwsElasticBeanstalkEnvironmentOptionSetting `type:"list"`
11164
11165	// The ARN of the platform version for the environment.
11166	PlatformArn *string `type:"string"`
11167
11168	// The name of the solution stack that is deployed with the environment.
11169	SolutionStackName *string `type:"string"`
11170
11171	// The current operational status of the environment.
11172	Status *string `type:"string"`
11173
11174	// The tier of the environment.
11175	Tier *AwsElasticBeanstalkEnvironmentTier `type:"structure"`
11176
11177	// The application version of the environment.
11178	VersionLabel *string `type:"string"`
11179}
11180
11181// String returns the string representation
11182func (s AwsElasticBeanstalkEnvironmentDetails) String() string {
11183	return awsutil.Prettify(s)
11184}
11185
11186// GoString returns the string representation
11187func (s AwsElasticBeanstalkEnvironmentDetails) GoString() string {
11188	return s.String()
11189}
11190
11191// SetApplicationName sets the ApplicationName field's value.
11192func (s *AwsElasticBeanstalkEnvironmentDetails) SetApplicationName(v string) *AwsElasticBeanstalkEnvironmentDetails {
11193	s.ApplicationName = &v
11194	return s
11195}
11196
11197// SetCname sets the Cname field's value.
11198func (s *AwsElasticBeanstalkEnvironmentDetails) SetCname(v string) *AwsElasticBeanstalkEnvironmentDetails {
11199	s.Cname = &v
11200	return s
11201}
11202
11203// SetDateCreated sets the DateCreated field's value.
11204func (s *AwsElasticBeanstalkEnvironmentDetails) SetDateCreated(v string) *AwsElasticBeanstalkEnvironmentDetails {
11205	s.DateCreated = &v
11206	return s
11207}
11208
11209// SetDateUpdated sets the DateUpdated field's value.
11210func (s *AwsElasticBeanstalkEnvironmentDetails) SetDateUpdated(v string) *AwsElasticBeanstalkEnvironmentDetails {
11211	s.DateUpdated = &v
11212	return s
11213}
11214
11215// SetDescription sets the Description field's value.
11216func (s *AwsElasticBeanstalkEnvironmentDetails) SetDescription(v string) *AwsElasticBeanstalkEnvironmentDetails {
11217	s.Description = &v
11218	return s
11219}
11220
11221// SetEndpointUrl sets the EndpointUrl field's value.
11222func (s *AwsElasticBeanstalkEnvironmentDetails) SetEndpointUrl(v string) *AwsElasticBeanstalkEnvironmentDetails {
11223	s.EndpointUrl = &v
11224	return s
11225}
11226
11227// SetEnvironmentArn sets the EnvironmentArn field's value.
11228func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentArn(v string) *AwsElasticBeanstalkEnvironmentDetails {
11229	s.EnvironmentArn = &v
11230	return s
11231}
11232
11233// SetEnvironmentId sets the EnvironmentId field's value.
11234func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentId(v string) *AwsElasticBeanstalkEnvironmentDetails {
11235	s.EnvironmentId = &v
11236	return s
11237}
11238
11239// SetEnvironmentLinks sets the EnvironmentLinks field's value.
11240func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentLinks(v []*AwsElasticBeanstalkEnvironmentEnvironmentLink) *AwsElasticBeanstalkEnvironmentDetails {
11241	s.EnvironmentLinks = v
11242	return s
11243}
11244
11245// SetEnvironmentName sets the EnvironmentName field's value.
11246func (s *AwsElasticBeanstalkEnvironmentDetails) SetEnvironmentName(v string) *AwsElasticBeanstalkEnvironmentDetails {
11247	s.EnvironmentName = &v
11248	return s
11249}
11250
11251// SetOptionSettings sets the OptionSettings field's value.
11252func (s *AwsElasticBeanstalkEnvironmentDetails) SetOptionSettings(v []*AwsElasticBeanstalkEnvironmentOptionSetting) *AwsElasticBeanstalkEnvironmentDetails {
11253	s.OptionSettings = v
11254	return s
11255}
11256
11257// SetPlatformArn sets the PlatformArn field's value.
11258func (s *AwsElasticBeanstalkEnvironmentDetails) SetPlatformArn(v string) *AwsElasticBeanstalkEnvironmentDetails {
11259	s.PlatformArn = &v
11260	return s
11261}
11262
11263// SetSolutionStackName sets the SolutionStackName field's value.
11264func (s *AwsElasticBeanstalkEnvironmentDetails) SetSolutionStackName(v string) *AwsElasticBeanstalkEnvironmentDetails {
11265	s.SolutionStackName = &v
11266	return s
11267}
11268
11269// SetStatus sets the Status field's value.
11270func (s *AwsElasticBeanstalkEnvironmentDetails) SetStatus(v string) *AwsElasticBeanstalkEnvironmentDetails {
11271	s.Status = &v
11272	return s
11273}
11274
11275// SetTier sets the Tier field's value.
11276func (s *AwsElasticBeanstalkEnvironmentDetails) SetTier(v *AwsElasticBeanstalkEnvironmentTier) *AwsElasticBeanstalkEnvironmentDetails {
11277	s.Tier = v
11278	return s
11279}
11280
11281// SetVersionLabel sets the VersionLabel field's value.
11282func (s *AwsElasticBeanstalkEnvironmentDetails) SetVersionLabel(v string) *AwsElasticBeanstalkEnvironmentDetails {
11283	s.VersionLabel = &v
11284	return s
11285}
11286
11287// Contains information about a link to another environment that is in the same
11288// group.
11289type AwsElasticBeanstalkEnvironmentEnvironmentLink struct {
11290	_ struct{} `type:"structure"`
11291
11292	// The name of the linked environment.
11293	EnvironmentName *string `type:"string"`
11294
11295	// The name of the environment link.
11296	LinkName *string `type:"string"`
11297}
11298
11299// String returns the string representation
11300func (s AwsElasticBeanstalkEnvironmentEnvironmentLink) String() string {
11301	return awsutil.Prettify(s)
11302}
11303
11304// GoString returns the string representation
11305func (s AwsElasticBeanstalkEnvironmentEnvironmentLink) GoString() string {
11306	return s.String()
11307}
11308
11309// SetEnvironmentName sets the EnvironmentName field's value.
11310func (s *AwsElasticBeanstalkEnvironmentEnvironmentLink) SetEnvironmentName(v string) *AwsElasticBeanstalkEnvironmentEnvironmentLink {
11311	s.EnvironmentName = &v
11312	return s
11313}
11314
11315// SetLinkName sets the LinkName field's value.
11316func (s *AwsElasticBeanstalkEnvironmentEnvironmentLink) SetLinkName(v string) *AwsElasticBeanstalkEnvironmentEnvironmentLink {
11317	s.LinkName = &v
11318	return s
11319}
11320
11321// A configuration option setting for the environment.
11322type AwsElasticBeanstalkEnvironmentOptionSetting struct {
11323	_ struct{} `type:"structure"`
11324
11325	// The type of resource that the configuration option is associated with.
11326	Namespace *string `type:"string"`
11327
11328	// The name of the option.
11329	OptionName *string `type:"string"`
11330
11331	// The name of the resource.
11332	ResourceName *string `type:"string"`
11333
11334	// The value of the configuration setting.
11335	Value *string `type:"string"`
11336}
11337
11338// String returns the string representation
11339func (s AwsElasticBeanstalkEnvironmentOptionSetting) String() string {
11340	return awsutil.Prettify(s)
11341}
11342
11343// GoString returns the string representation
11344func (s AwsElasticBeanstalkEnvironmentOptionSetting) GoString() string {
11345	return s.String()
11346}
11347
11348// SetNamespace sets the Namespace field's value.
11349func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetNamespace(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
11350	s.Namespace = &v
11351	return s
11352}
11353
11354// SetOptionName sets the OptionName field's value.
11355func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetOptionName(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
11356	s.OptionName = &v
11357	return s
11358}
11359
11360// SetResourceName sets the ResourceName field's value.
11361func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetResourceName(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
11362	s.ResourceName = &v
11363	return s
11364}
11365
11366// SetValue sets the Value field's value.
11367func (s *AwsElasticBeanstalkEnvironmentOptionSetting) SetValue(v string) *AwsElasticBeanstalkEnvironmentOptionSetting {
11368	s.Value = &v
11369	return s
11370}
11371
11372// Contains information about the tier of the environment.
11373type AwsElasticBeanstalkEnvironmentTier struct {
11374	_ struct{} `type:"structure"`
11375
11376	// The name of the environment tier.
11377	Name *string `type:"string"`
11378
11379	// The type of environment tier.
11380	Type *string `type:"string"`
11381
11382	// The version of the environment tier.
11383	Version *string `type:"string"`
11384}
11385
11386// String returns the string representation
11387func (s AwsElasticBeanstalkEnvironmentTier) String() string {
11388	return awsutil.Prettify(s)
11389}
11390
11391// GoString returns the string representation
11392func (s AwsElasticBeanstalkEnvironmentTier) GoString() string {
11393	return s.String()
11394}
11395
11396// SetName sets the Name field's value.
11397func (s *AwsElasticBeanstalkEnvironmentTier) SetName(v string) *AwsElasticBeanstalkEnvironmentTier {
11398	s.Name = &v
11399	return s
11400}
11401
11402// SetType sets the Type field's value.
11403func (s *AwsElasticBeanstalkEnvironmentTier) SetType(v string) *AwsElasticBeanstalkEnvironmentTier {
11404	s.Type = &v
11405	return s
11406}
11407
11408// SetVersion sets the Version field's value.
11409func (s *AwsElasticBeanstalkEnvironmentTier) SetVersion(v string) *AwsElasticBeanstalkEnvironmentTier {
11410	s.Version = &v
11411	return s
11412}
11413
11414// Information about an Elasticsearch domain.
11415type AwsElasticsearchDomainDetails struct {
11416	_ struct{} `type:"structure"`
11417
11418	// IAM policy document specifying the access policies for the new Amazon ES
11419	// domain.
11420	AccessPolicies *string `type:"string"`
11421
11422	// Additional options for the domain endpoint.
11423	DomainEndpointOptions *AwsElasticsearchDomainDomainEndpointOptions `type:"structure"`
11424
11425	// Unique identifier for an Amazon ES domain.
11426	DomainId *string `type:"string"`
11427
11428	// Name of an Amazon ES domain.
11429	//
11430	// Domain names are unique across all domains owned by the same account within
11431	// an AWS Region.
11432	//
11433	// Domain names must start with a lowercase letter and must be between 3 and
11434	// 28 characters.
11435	//
11436	// Valid characters are a-z (lowercase only), 0-9, and – (hyphen).
11437	DomainName *string `type:"string"`
11438
11439	// Elasticsearch version.
11440	ElasticsearchVersion *string `type:"string"`
11441
11442	// Details about the configuration for encryption at rest.
11443	EncryptionAtRestOptions *AwsElasticsearchDomainEncryptionAtRestOptions `type:"structure"`
11444
11445	// Domain-specific endpoint used to submit index, search, and data upload requests
11446	// to an Amazon ES domain.
11447	//
11448	// The endpoint is a service URL.
11449	Endpoint *string `type:"string"`
11450
11451	// The key-value pair that exists if the Amazon ES domain uses VPC endpoints.
11452	Endpoints map[string]*string `type:"map"`
11453
11454	// Details about the configuration for node-to-node encryption.
11455	NodeToNodeEncryptionOptions *AwsElasticsearchDomainNodeToNodeEncryptionOptions `type:"structure"`
11456
11457	// Information that Amazon ES derives based on VPCOptions for the domain.
11458	VPCOptions *AwsElasticsearchDomainVPCOptions `type:"structure"`
11459}
11460
11461// String returns the string representation
11462func (s AwsElasticsearchDomainDetails) String() string {
11463	return awsutil.Prettify(s)
11464}
11465
11466// GoString returns the string representation
11467func (s AwsElasticsearchDomainDetails) GoString() string {
11468	return s.String()
11469}
11470
11471// SetAccessPolicies sets the AccessPolicies field's value.
11472func (s *AwsElasticsearchDomainDetails) SetAccessPolicies(v string) *AwsElasticsearchDomainDetails {
11473	s.AccessPolicies = &v
11474	return s
11475}
11476
11477// SetDomainEndpointOptions sets the DomainEndpointOptions field's value.
11478func (s *AwsElasticsearchDomainDetails) SetDomainEndpointOptions(v *AwsElasticsearchDomainDomainEndpointOptions) *AwsElasticsearchDomainDetails {
11479	s.DomainEndpointOptions = v
11480	return s
11481}
11482
11483// SetDomainId sets the DomainId field's value.
11484func (s *AwsElasticsearchDomainDetails) SetDomainId(v string) *AwsElasticsearchDomainDetails {
11485	s.DomainId = &v
11486	return s
11487}
11488
11489// SetDomainName sets the DomainName field's value.
11490func (s *AwsElasticsearchDomainDetails) SetDomainName(v string) *AwsElasticsearchDomainDetails {
11491	s.DomainName = &v
11492	return s
11493}
11494
11495// SetElasticsearchVersion sets the ElasticsearchVersion field's value.
11496func (s *AwsElasticsearchDomainDetails) SetElasticsearchVersion(v string) *AwsElasticsearchDomainDetails {
11497	s.ElasticsearchVersion = &v
11498	return s
11499}
11500
11501// SetEncryptionAtRestOptions sets the EncryptionAtRestOptions field's value.
11502func (s *AwsElasticsearchDomainDetails) SetEncryptionAtRestOptions(v *AwsElasticsearchDomainEncryptionAtRestOptions) *AwsElasticsearchDomainDetails {
11503	s.EncryptionAtRestOptions = v
11504	return s
11505}
11506
11507// SetEndpoint sets the Endpoint field's value.
11508func (s *AwsElasticsearchDomainDetails) SetEndpoint(v string) *AwsElasticsearchDomainDetails {
11509	s.Endpoint = &v
11510	return s
11511}
11512
11513// SetEndpoints sets the Endpoints field's value.
11514func (s *AwsElasticsearchDomainDetails) SetEndpoints(v map[string]*string) *AwsElasticsearchDomainDetails {
11515	s.Endpoints = v
11516	return s
11517}
11518
11519// SetNodeToNodeEncryptionOptions sets the NodeToNodeEncryptionOptions field's value.
11520func (s *AwsElasticsearchDomainDetails) SetNodeToNodeEncryptionOptions(v *AwsElasticsearchDomainNodeToNodeEncryptionOptions) *AwsElasticsearchDomainDetails {
11521	s.NodeToNodeEncryptionOptions = v
11522	return s
11523}
11524
11525// SetVPCOptions sets the VPCOptions field's value.
11526func (s *AwsElasticsearchDomainDetails) SetVPCOptions(v *AwsElasticsearchDomainVPCOptions) *AwsElasticsearchDomainDetails {
11527	s.VPCOptions = v
11528	return s
11529}
11530
11531// Additional options for the domain endpoint, such as whether to require HTTPS
11532// for all traffic.
11533type AwsElasticsearchDomainDomainEndpointOptions struct {
11534	_ struct{} `type:"structure"`
11535
11536	// Whether to require that all traffic to the domain arrive over HTTPS.
11537	EnforceHTTPS *bool `type:"boolean"`
11538
11539	// The TLS security policy to apply to the HTTPS endpoint of the Elasticsearch
11540	// domain.
11541	//
11542	// Valid values:
11543	//
11544	//    * Policy-Min-TLS-1-0-2019-07, which supports TLSv1.0 and higher
11545	//
11546	//    * Policy-Min-TLS-1-2-2019-07, which only supports TLSv1.2
11547	TLSSecurityPolicy *string `type:"string"`
11548}
11549
11550// String returns the string representation
11551func (s AwsElasticsearchDomainDomainEndpointOptions) String() string {
11552	return awsutil.Prettify(s)
11553}
11554
11555// GoString returns the string representation
11556func (s AwsElasticsearchDomainDomainEndpointOptions) GoString() string {
11557	return s.String()
11558}
11559
11560// SetEnforceHTTPS sets the EnforceHTTPS field's value.
11561func (s *AwsElasticsearchDomainDomainEndpointOptions) SetEnforceHTTPS(v bool) *AwsElasticsearchDomainDomainEndpointOptions {
11562	s.EnforceHTTPS = &v
11563	return s
11564}
11565
11566// SetTLSSecurityPolicy sets the TLSSecurityPolicy field's value.
11567func (s *AwsElasticsearchDomainDomainEndpointOptions) SetTLSSecurityPolicy(v string) *AwsElasticsearchDomainDomainEndpointOptions {
11568	s.TLSSecurityPolicy = &v
11569	return s
11570}
11571
11572// Details about the configuration for encryption at rest.
11573type AwsElasticsearchDomainEncryptionAtRestOptions struct {
11574	_ struct{} `type:"structure"`
11575
11576	// Whether encryption at rest is enabled.
11577	Enabled *bool `type:"boolean"`
11578
11579	// The KMS key ID. Takes the form 1a2a3a4-1a2a-3a4a-5a6a-1a2a3a4a5a6a.
11580	KmsKeyId *string `type:"string"`
11581}
11582
11583// String returns the string representation
11584func (s AwsElasticsearchDomainEncryptionAtRestOptions) String() string {
11585	return awsutil.Prettify(s)
11586}
11587
11588// GoString returns the string representation
11589func (s AwsElasticsearchDomainEncryptionAtRestOptions) GoString() string {
11590	return s.String()
11591}
11592
11593// SetEnabled sets the Enabled field's value.
11594func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetEnabled(v bool) *AwsElasticsearchDomainEncryptionAtRestOptions {
11595	s.Enabled = &v
11596	return s
11597}
11598
11599// SetKmsKeyId sets the KmsKeyId field's value.
11600func (s *AwsElasticsearchDomainEncryptionAtRestOptions) SetKmsKeyId(v string) *AwsElasticsearchDomainEncryptionAtRestOptions {
11601	s.KmsKeyId = &v
11602	return s
11603}
11604
11605// Details about the configuration for node-to-node encryption.
11606type AwsElasticsearchDomainNodeToNodeEncryptionOptions struct {
11607	_ struct{} `type:"structure"`
11608
11609	// Whether node-to-node encryption is enabled.
11610	Enabled *bool `type:"boolean"`
11611}
11612
11613// String returns the string representation
11614func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) String() string {
11615	return awsutil.Prettify(s)
11616}
11617
11618// GoString returns the string representation
11619func (s AwsElasticsearchDomainNodeToNodeEncryptionOptions) GoString() string {
11620	return s.String()
11621}
11622
11623// SetEnabled sets the Enabled field's value.
11624func (s *AwsElasticsearchDomainNodeToNodeEncryptionOptions) SetEnabled(v bool) *AwsElasticsearchDomainNodeToNodeEncryptionOptions {
11625	s.Enabled = &v
11626	return s
11627}
11628
11629// Information that Amazon ES derives based on VPCOptions for the domain.
11630type AwsElasticsearchDomainVPCOptions struct {
11631	_ struct{} `type:"structure"`
11632
11633	// The list of Availability Zones associated with the VPC subnets.
11634	AvailabilityZones []*string `type:"list"`
11635
11636	// The list of security group IDs associated with the VPC endpoints for the
11637	// domain.
11638	SecurityGroupIds []*string `type:"list"`
11639
11640	// A list of subnet IDs associated with the VPC endpoints for the domain.
11641	SubnetIds []*string `type:"list"`
11642
11643	// ID for the VPC.
11644	VPCId *string `type:"string"`
11645}
11646
11647// String returns the string representation
11648func (s AwsElasticsearchDomainVPCOptions) String() string {
11649	return awsutil.Prettify(s)
11650}
11651
11652// GoString returns the string representation
11653func (s AwsElasticsearchDomainVPCOptions) GoString() string {
11654	return s.String()
11655}
11656
11657// SetAvailabilityZones sets the AvailabilityZones field's value.
11658func (s *AwsElasticsearchDomainVPCOptions) SetAvailabilityZones(v []*string) *AwsElasticsearchDomainVPCOptions {
11659	s.AvailabilityZones = v
11660	return s
11661}
11662
11663// SetSecurityGroupIds sets the SecurityGroupIds field's value.
11664func (s *AwsElasticsearchDomainVPCOptions) SetSecurityGroupIds(v []*string) *AwsElasticsearchDomainVPCOptions {
11665	s.SecurityGroupIds = v
11666	return s
11667}
11668
11669// SetSubnetIds sets the SubnetIds field's value.
11670func (s *AwsElasticsearchDomainVPCOptions) SetSubnetIds(v []*string) *AwsElasticsearchDomainVPCOptions {
11671	s.SubnetIds = v
11672	return s
11673}
11674
11675// SetVPCId sets the VPCId field's value.
11676func (s *AwsElasticsearchDomainVPCOptions) SetVPCId(v string) *AwsElasticsearchDomainVPCOptions {
11677	s.VPCId = &v
11678	return s
11679}
11680
11681// Contains information about a stickiness policy that was created using CreateAppCookieStickinessPolicy.
11682type AwsElbAppCookieStickinessPolicy struct {
11683	_ struct{} `type:"structure"`
11684
11685	// The name of the application cookie used for stickiness.
11686	CookieName *string `type:"string"`
11687
11688	// The mnemonic name for the policy being created. The name must be unique within
11689	// the set of policies for the load balancer.
11690	PolicyName *string `type:"string"`
11691}
11692
11693// String returns the string representation
11694func (s AwsElbAppCookieStickinessPolicy) String() string {
11695	return awsutil.Prettify(s)
11696}
11697
11698// GoString returns the string representation
11699func (s AwsElbAppCookieStickinessPolicy) GoString() string {
11700	return s.String()
11701}
11702
11703// SetCookieName sets the CookieName field's value.
11704func (s *AwsElbAppCookieStickinessPolicy) SetCookieName(v string) *AwsElbAppCookieStickinessPolicy {
11705	s.CookieName = &v
11706	return s
11707}
11708
11709// SetPolicyName sets the PolicyName field's value.
11710func (s *AwsElbAppCookieStickinessPolicy) SetPolicyName(v string) *AwsElbAppCookieStickinessPolicy {
11711	s.PolicyName = &v
11712	return s
11713}
11714
11715// Contains information about a stickiness policy that was created using CreateLBCookieStickinessPolicy.
11716type AwsElbLbCookieStickinessPolicy struct {
11717	_ struct{} `type:"structure"`
11718
11719	// The amount of time, in seconds, after which the cookie is considered stale.
11720	// If an expiration period is not specified, the stickiness session lasts for
11721	// the duration of the browser session.
11722	CookieExpirationPeriod *int64 `type:"long"`
11723
11724	// The name of the policy. The name must be unique within the set of policies
11725	// for the load balancer.
11726	PolicyName *string `type:"string"`
11727}
11728
11729// String returns the string representation
11730func (s AwsElbLbCookieStickinessPolicy) String() string {
11731	return awsutil.Prettify(s)
11732}
11733
11734// GoString returns the string representation
11735func (s AwsElbLbCookieStickinessPolicy) GoString() string {
11736	return s.String()
11737}
11738
11739// SetCookieExpirationPeriod sets the CookieExpirationPeriod field's value.
11740func (s *AwsElbLbCookieStickinessPolicy) SetCookieExpirationPeriod(v int64) *AwsElbLbCookieStickinessPolicy {
11741	s.CookieExpirationPeriod = &v
11742	return s
11743}
11744
11745// SetPolicyName sets the PolicyName field's value.
11746func (s *AwsElbLbCookieStickinessPolicy) SetPolicyName(v string) *AwsElbLbCookieStickinessPolicy {
11747	s.PolicyName = &v
11748	return s
11749}
11750
11751// Contains information about the access log configuration for the load balancer.
11752type AwsElbLoadBalancerAccessLog struct {
11753	_ struct{} `type:"structure"`
11754
11755	// The interval in minutes for publishing the access logs.
11756	//
11757	// You can publish access logs either every 5 minutes or every 60 minutes.
11758	EmitInterval *int64 `type:"integer"`
11759
11760	// Indicates whether access logs are enabled for the load balancer.
11761	Enabled *bool `type:"boolean"`
11762
11763	// The name of the S3 bucket where the access logs are stored.
11764	S3BucketName *string `type:"string"`
11765
11766	// The logical hierarchy that was created for the S3 bucket.
11767	//
11768	// If a prefix is not provided, the log is placed at the root level of the bucket.
11769	S3BucketPrefix *string `type:"string"`
11770}
11771
11772// String returns the string representation
11773func (s AwsElbLoadBalancerAccessLog) String() string {
11774	return awsutil.Prettify(s)
11775}
11776
11777// GoString returns the string representation
11778func (s AwsElbLoadBalancerAccessLog) GoString() string {
11779	return s.String()
11780}
11781
11782// SetEmitInterval sets the EmitInterval field's value.
11783func (s *AwsElbLoadBalancerAccessLog) SetEmitInterval(v int64) *AwsElbLoadBalancerAccessLog {
11784	s.EmitInterval = &v
11785	return s
11786}
11787
11788// SetEnabled sets the Enabled field's value.
11789func (s *AwsElbLoadBalancerAccessLog) SetEnabled(v bool) *AwsElbLoadBalancerAccessLog {
11790	s.Enabled = &v
11791	return s
11792}
11793
11794// SetS3BucketName sets the S3BucketName field's value.
11795func (s *AwsElbLoadBalancerAccessLog) SetS3BucketName(v string) *AwsElbLoadBalancerAccessLog {
11796	s.S3BucketName = &v
11797	return s
11798}
11799
11800// SetS3BucketPrefix sets the S3BucketPrefix field's value.
11801func (s *AwsElbLoadBalancerAccessLog) SetS3BucketPrefix(v string) *AwsElbLoadBalancerAccessLog {
11802	s.S3BucketPrefix = &v
11803	return s
11804}
11805
11806// Contains attributes for the load balancer.
11807type AwsElbLoadBalancerAttributes struct {
11808	_ struct{} `type:"structure"`
11809
11810	// Information about the access log configuration for the load balancer.
11811	//
11812	// If the access log is enabled, the load balancer captures detailed information
11813	// about all requests. It delivers the information to a specified S3 bucket.
11814	AccessLog *AwsElbLoadBalancerAccessLog `type:"structure"`
11815
11816	// Information about the connection draining configuration for the load balancer.
11817	//
11818	// If connection draining is enabled, the load balancer allows existing requests
11819	// to complete before it shifts traffic away from a deregistered or unhealthy
11820	// instance.
11821	ConnectionDraining *AwsElbLoadBalancerConnectionDraining `type:"structure"`
11822
11823	// Connection settings for the load balancer.
11824	//
11825	// If an idle timeout is configured, the load balancer allows connections to
11826	// remain idle for the specified duration. When a connection is idle, no data
11827	// is sent over the connection.
11828	ConnectionSettings *AwsElbLoadBalancerConnectionSettings `type:"structure"`
11829
11830	// Cross-zone load balancing settings for the load balancer.
11831	//
11832	// If cross-zone load balancing is enabled, the load balancer routes the request
11833	// traffic evenly across all instances regardless of the Availability Zones.
11834	CrossZoneLoadBalancing *AwsElbLoadBalancerCrossZoneLoadBalancing `type:"structure"`
11835}
11836
11837// String returns the string representation
11838func (s AwsElbLoadBalancerAttributes) String() string {
11839	return awsutil.Prettify(s)
11840}
11841
11842// GoString returns the string representation
11843func (s AwsElbLoadBalancerAttributes) GoString() string {
11844	return s.String()
11845}
11846
11847// SetAccessLog sets the AccessLog field's value.
11848func (s *AwsElbLoadBalancerAttributes) SetAccessLog(v *AwsElbLoadBalancerAccessLog) *AwsElbLoadBalancerAttributes {
11849	s.AccessLog = v
11850	return s
11851}
11852
11853// SetConnectionDraining sets the ConnectionDraining field's value.
11854func (s *AwsElbLoadBalancerAttributes) SetConnectionDraining(v *AwsElbLoadBalancerConnectionDraining) *AwsElbLoadBalancerAttributes {
11855	s.ConnectionDraining = v
11856	return s
11857}
11858
11859// SetConnectionSettings sets the ConnectionSettings field's value.
11860func (s *AwsElbLoadBalancerAttributes) SetConnectionSettings(v *AwsElbLoadBalancerConnectionSettings) *AwsElbLoadBalancerAttributes {
11861	s.ConnectionSettings = v
11862	return s
11863}
11864
11865// SetCrossZoneLoadBalancing sets the CrossZoneLoadBalancing field's value.
11866func (s *AwsElbLoadBalancerAttributes) SetCrossZoneLoadBalancing(v *AwsElbLoadBalancerCrossZoneLoadBalancing) *AwsElbLoadBalancerAttributes {
11867	s.CrossZoneLoadBalancing = v
11868	return s
11869}
11870
11871// Provides information about the configuration of an EC2 instance for the load
11872// balancer.
11873type AwsElbLoadBalancerBackendServerDescription struct {
11874	_ struct{} `type:"structure"`
11875
11876	// The port on which the EC2 instance is listening.
11877	InstancePort *int64 `type:"integer"`
11878
11879	// The names of the policies that are enabled for the EC2 instance.
11880	PolicyNames []*string `type:"list"`
11881}
11882
11883// String returns the string representation
11884func (s AwsElbLoadBalancerBackendServerDescription) String() string {
11885	return awsutil.Prettify(s)
11886}
11887
11888// GoString returns the string representation
11889func (s AwsElbLoadBalancerBackendServerDescription) GoString() string {
11890	return s.String()
11891}
11892
11893// SetInstancePort sets the InstancePort field's value.
11894func (s *AwsElbLoadBalancerBackendServerDescription) SetInstancePort(v int64) *AwsElbLoadBalancerBackendServerDescription {
11895	s.InstancePort = &v
11896	return s
11897}
11898
11899// SetPolicyNames sets the PolicyNames field's value.
11900func (s *AwsElbLoadBalancerBackendServerDescription) SetPolicyNames(v []*string) *AwsElbLoadBalancerBackendServerDescription {
11901	s.PolicyNames = v
11902	return s
11903}
11904
11905// Contains information about the connection draining configuration for the
11906// load balancer.
11907type AwsElbLoadBalancerConnectionDraining struct {
11908	_ struct{} `type:"structure"`
11909
11910	// Indicates whether connection draining is enabled for the load balancer.
11911	Enabled *bool `type:"boolean"`
11912
11913	// The maximum time, in seconds, to keep the existing connections open before
11914	// deregistering the instances.
11915	Timeout *int64 `type:"integer"`
11916}
11917
11918// String returns the string representation
11919func (s AwsElbLoadBalancerConnectionDraining) String() string {
11920	return awsutil.Prettify(s)
11921}
11922
11923// GoString returns the string representation
11924func (s AwsElbLoadBalancerConnectionDraining) GoString() string {
11925	return s.String()
11926}
11927
11928// SetEnabled sets the Enabled field's value.
11929func (s *AwsElbLoadBalancerConnectionDraining) SetEnabled(v bool) *AwsElbLoadBalancerConnectionDraining {
11930	s.Enabled = &v
11931	return s
11932}
11933
11934// SetTimeout sets the Timeout field's value.
11935func (s *AwsElbLoadBalancerConnectionDraining) SetTimeout(v int64) *AwsElbLoadBalancerConnectionDraining {
11936	s.Timeout = &v
11937	return s
11938}
11939
11940// Contains connection settings for the load balancer.
11941type AwsElbLoadBalancerConnectionSettings struct {
11942	_ struct{} `type:"structure"`
11943
11944	// The time, in seconds, that the connection can be idle (no data is sent over
11945	// the connection) before it is closed by the load balancer.
11946	IdleTimeout *int64 `type:"integer"`
11947}
11948
11949// String returns the string representation
11950func (s AwsElbLoadBalancerConnectionSettings) String() string {
11951	return awsutil.Prettify(s)
11952}
11953
11954// GoString returns the string representation
11955func (s AwsElbLoadBalancerConnectionSettings) GoString() string {
11956	return s.String()
11957}
11958
11959// SetIdleTimeout sets the IdleTimeout field's value.
11960func (s *AwsElbLoadBalancerConnectionSettings) SetIdleTimeout(v int64) *AwsElbLoadBalancerConnectionSettings {
11961	s.IdleTimeout = &v
11962	return s
11963}
11964
11965// Contains cross-zone load balancing settings for the load balancer.
11966type AwsElbLoadBalancerCrossZoneLoadBalancing struct {
11967	_ struct{} `type:"structure"`
11968
11969	// Indicates whether cross-zone load balancing is enabled for the load balancer.
11970	Enabled *bool `type:"boolean"`
11971}
11972
11973// String returns the string representation
11974func (s AwsElbLoadBalancerCrossZoneLoadBalancing) String() string {
11975	return awsutil.Prettify(s)
11976}
11977
11978// GoString returns the string representation
11979func (s AwsElbLoadBalancerCrossZoneLoadBalancing) GoString() string {
11980	return s.String()
11981}
11982
11983// SetEnabled sets the Enabled field's value.
11984func (s *AwsElbLoadBalancerCrossZoneLoadBalancing) SetEnabled(v bool) *AwsElbLoadBalancerCrossZoneLoadBalancing {
11985	s.Enabled = &v
11986	return s
11987}
11988
11989// Contains details about a Classic Load Balancer.
11990type AwsElbLoadBalancerDetails struct {
11991	_ struct{} `type:"structure"`
11992
11993	// The list of Availability Zones for the load balancer.
11994	AvailabilityZones []*string `type:"list"`
11995
11996	// Information about the configuration of the EC2 instances.
11997	BackendServerDescriptions []*AwsElbLoadBalancerBackendServerDescription `type:"list"`
11998
11999	// The name of the Amazon Route 53 hosted zone for the load balancer.
12000	CanonicalHostedZoneName *string `type:"string"`
12001
12002	// The ID of the Amazon Route 53 hosted zone for the load balancer.
12003	CanonicalHostedZoneNameID *string `type:"string"`
12004
12005	// Indicates when the load balancer was created.
12006	//
12007	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
12008	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
12009	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
12010	CreatedTime *string `type:"string"`
12011
12012	// The DNS name of the load balancer.
12013	DnsName *string `type:"string"`
12014
12015	// Information about the health checks that are conducted on the load balancer.
12016	HealthCheck *AwsElbLoadBalancerHealthCheck `type:"structure"`
12017
12018	// List of EC2 instances for the load balancer.
12019	Instances []*AwsElbLoadBalancerInstance `type:"list"`
12020
12021	// The policies that are enabled for the load balancer listeners.
12022	ListenerDescriptions []*AwsElbLoadBalancerListenerDescription `type:"list"`
12023
12024	// The attributes for a load balancer.
12025	LoadBalancerAttributes *AwsElbLoadBalancerAttributes `type:"structure"`
12026
12027	// The name of the load balancer.
12028	LoadBalancerName *string `type:"string"`
12029
12030	// The policies for a load balancer.
12031	Policies *AwsElbLoadBalancerPolicies `type:"structure"`
12032
12033	// The type of load balancer. Only provided if the load balancer is in a VPC.
12034	//
12035	// If Scheme is internet-facing, the load balancer has a public DNS name that
12036	// resolves to a public IP address.
12037	//
12038	// If Scheme is internal, the load balancer has a public DNS name that resolves
12039	// to a private IP address.
12040	Scheme *string `type:"string"`
12041
12042	// The security groups for the load balancer. Only provided if the load balancer
12043	// is in a VPC.
12044	SecurityGroups []*string `type:"list"`
12045
12046	// Information about the security group for the load balancer. This is the security
12047	// group that is used for inbound rules.
12048	SourceSecurityGroup *AwsElbLoadBalancerSourceSecurityGroup `type:"structure"`
12049
12050	// The list of subnet identifiers for the load balancer.
12051	Subnets []*string `type:"list"`
12052
12053	// The identifier of the VPC for the load balancer.
12054	VpcId *string `type:"string"`
12055}
12056
12057// String returns the string representation
12058func (s AwsElbLoadBalancerDetails) String() string {
12059	return awsutil.Prettify(s)
12060}
12061
12062// GoString returns the string representation
12063func (s AwsElbLoadBalancerDetails) GoString() string {
12064	return s.String()
12065}
12066
12067// SetAvailabilityZones sets the AvailabilityZones field's value.
12068func (s *AwsElbLoadBalancerDetails) SetAvailabilityZones(v []*string) *AwsElbLoadBalancerDetails {
12069	s.AvailabilityZones = v
12070	return s
12071}
12072
12073// SetBackendServerDescriptions sets the BackendServerDescriptions field's value.
12074func (s *AwsElbLoadBalancerDetails) SetBackendServerDescriptions(v []*AwsElbLoadBalancerBackendServerDescription) *AwsElbLoadBalancerDetails {
12075	s.BackendServerDescriptions = v
12076	return s
12077}
12078
12079// SetCanonicalHostedZoneName sets the CanonicalHostedZoneName field's value.
12080func (s *AwsElbLoadBalancerDetails) SetCanonicalHostedZoneName(v string) *AwsElbLoadBalancerDetails {
12081	s.CanonicalHostedZoneName = &v
12082	return s
12083}
12084
12085// SetCanonicalHostedZoneNameID sets the CanonicalHostedZoneNameID field's value.
12086func (s *AwsElbLoadBalancerDetails) SetCanonicalHostedZoneNameID(v string) *AwsElbLoadBalancerDetails {
12087	s.CanonicalHostedZoneNameID = &v
12088	return s
12089}
12090
12091// SetCreatedTime sets the CreatedTime field's value.
12092func (s *AwsElbLoadBalancerDetails) SetCreatedTime(v string) *AwsElbLoadBalancerDetails {
12093	s.CreatedTime = &v
12094	return s
12095}
12096
12097// SetDnsName sets the DnsName field's value.
12098func (s *AwsElbLoadBalancerDetails) SetDnsName(v string) *AwsElbLoadBalancerDetails {
12099	s.DnsName = &v
12100	return s
12101}
12102
12103// SetHealthCheck sets the HealthCheck field's value.
12104func (s *AwsElbLoadBalancerDetails) SetHealthCheck(v *AwsElbLoadBalancerHealthCheck) *AwsElbLoadBalancerDetails {
12105	s.HealthCheck = v
12106	return s
12107}
12108
12109// SetInstances sets the Instances field's value.
12110func (s *AwsElbLoadBalancerDetails) SetInstances(v []*AwsElbLoadBalancerInstance) *AwsElbLoadBalancerDetails {
12111	s.Instances = v
12112	return s
12113}
12114
12115// SetListenerDescriptions sets the ListenerDescriptions field's value.
12116func (s *AwsElbLoadBalancerDetails) SetListenerDescriptions(v []*AwsElbLoadBalancerListenerDescription) *AwsElbLoadBalancerDetails {
12117	s.ListenerDescriptions = v
12118	return s
12119}
12120
12121// SetLoadBalancerAttributes sets the LoadBalancerAttributes field's value.
12122func (s *AwsElbLoadBalancerDetails) SetLoadBalancerAttributes(v *AwsElbLoadBalancerAttributes) *AwsElbLoadBalancerDetails {
12123	s.LoadBalancerAttributes = v
12124	return s
12125}
12126
12127// SetLoadBalancerName sets the LoadBalancerName field's value.
12128func (s *AwsElbLoadBalancerDetails) SetLoadBalancerName(v string) *AwsElbLoadBalancerDetails {
12129	s.LoadBalancerName = &v
12130	return s
12131}
12132
12133// SetPolicies sets the Policies field's value.
12134func (s *AwsElbLoadBalancerDetails) SetPolicies(v *AwsElbLoadBalancerPolicies) *AwsElbLoadBalancerDetails {
12135	s.Policies = v
12136	return s
12137}
12138
12139// SetScheme sets the Scheme field's value.
12140func (s *AwsElbLoadBalancerDetails) SetScheme(v string) *AwsElbLoadBalancerDetails {
12141	s.Scheme = &v
12142	return s
12143}
12144
12145// SetSecurityGroups sets the SecurityGroups field's value.
12146func (s *AwsElbLoadBalancerDetails) SetSecurityGroups(v []*string) *AwsElbLoadBalancerDetails {
12147	s.SecurityGroups = v
12148	return s
12149}
12150
12151// SetSourceSecurityGroup sets the SourceSecurityGroup field's value.
12152func (s *AwsElbLoadBalancerDetails) SetSourceSecurityGroup(v *AwsElbLoadBalancerSourceSecurityGroup) *AwsElbLoadBalancerDetails {
12153	s.SourceSecurityGroup = v
12154	return s
12155}
12156
12157// SetSubnets sets the Subnets field's value.
12158func (s *AwsElbLoadBalancerDetails) SetSubnets(v []*string) *AwsElbLoadBalancerDetails {
12159	s.Subnets = v
12160	return s
12161}
12162
12163// SetVpcId sets the VpcId field's value.
12164func (s *AwsElbLoadBalancerDetails) SetVpcId(v string) *AwsElbLoadBalancerDetails {
12165	s.VpcId = &v
12166	return s
12167}
12168
12169// Contains information about the health checks that are conducted on the load
12170// balancer.
12171type AwsElbLoadBalancerHealthCheck struct {
12172	_ struct{} `type:"structure"`
12173
12174	// The number of consecutive health check successes required before the instance
12175	// is moved to the Healthy state.
12176	HealthyThreshold *int64 `type:"integer"`
12177
12178	// The approximate interval, in seconds, between health checks of an individual
12179	// instance.
12180	Interval *int64 `type:"integer"`
12181
12182	// The instance that is being checked. The target specifies the protocol and
12183	// port. The available protocols are TCP, SSL, HTTP, and HTTPS. The range of
12184	// valid ports is 1 through 65535.
12185	//
12186	// For the HTTP and HTTPS protocols, the target also specifies the ping path.
12187	//
12188	// For the TCP protocol, the target is specified as TCP: <port> .
12189	//
12190	// For the SSL protocol, the target is specified as SSL.<port> .
12191	//
12192	// For the HTTP and HTTPS protocols, the target is specified as <protocol>:<port>/<path
12193	// to ping> .
12194	Target *string `type:"string"`
12195
12196	// The amount of time, in seconds, during which no response means a failed health
12197	// check.
12198	Timeout *int64 `type:"integer"`
12199
12200	// The number of consecutive health check failures that must occur before the
12201	// instance is moved to the Unhealthy state.
12202	UnhealthyThreshold *int64 `type:"integer"`
12203}
12204
12205// String returns the string representation
12206func (s AwsElbLoadBalancerHealthCheck) String() string {
12207	return awsutil.Prettify(s)
12208}
12209
12210// GoString returns the string representation
12211func (s AwsElbLoadBalancerHealthCheck) GoString() string {
12212	return s.String()
12213}
12214
12215// SetHealthyThreshold sets the HealthyThreshold field's value.
12216func (s *AwsElbLoadBalancerHealthCheck) SetHealthyThreshold(v int64) *AwsElbLoadBalancerHealthCheck {
12217	s.HealthyThreshold = &v
12218	return s
12219}
12220
12221// SetInterval sets the Interval field's value.
12222func (s *AwsElbLoadBalancerHealthCheck) SetInterval(v int64) *AwsElbLoadBalancerHealthCheck {
12223	s.Interval = &v
12224	return s
12225}
12226
12227// SetTarget sets the Target field's value.
12228func (s *AwsElbLoadBalancerHealthCheck) SetTarget(v string) *AwsElbLoadBalancerHealthCheck {
12229	s.Target = &v
12230	return s
12231}
12232
12233// SetTimeout sets the Timeout field's value.
12234func (s *AwsElbLoadBalancerHealthCheck) SetTimeout(v int64) *AwsElbLoadBalancerHealthCheck {
12235	s.Timeout = &v
12236	return s
12237}
12238
12239// SetUnhealthyThreshold sets the UnhealthyThreshold field's value.
12240func (s *AwsElbLoadBalancerHealthCheck) SetUnhealthyThreshold(v int64) *AwsElbLoadBalancerHealthCheck {
12241	s.UnhealthyThreshold = &v
12242	return s
12243}
12244
12245// Provides information about an EC2 instance for a load balancer.
12246type AwsElbLoadBalancerInstance struct {
12247	_ struct{} `type:"structure"`
12248
12249	// The instance identifier.
12250	InstanceId *string `type:"string"`
12251}
12252
12253// String returns the string representation
12254func (s AwsElbLoadBalancerInstance) String() string {
12255	return awsutil.Prettify(s)
12256}
12257
12258// GoString returns the string representation
12259func (s AwsElbLoadBalancerInstance) GoString() string {
12260	return s.String()
12261}
12262
12263// SetInstanceId sets the InstanceId field's value.
12264func (s *AwsElbLoadBalancerInstance) SetInstanceId(v string) *AwsElbLoadBalancerInstance {
12265	s.InstanceId = &v
12266	return s
12267}
12268
12269// Information about a load balancer listener.
12270type AwsElbLoadBalancerListener struct {
12271	_ struct{} `type:"structure"`
12272
12273	// The port on which the instance is listening.
12274	InstancePort *int64 `type:"integer"`
12275
12276	// The protocol to use to route traffic to instances.
12277	//
12278	// Valid values: HTTP | HTTPS | TCP | SSL
12279	InstanceProtocol *string `type:"string"`
12280
12281	// The port on which the load balancer is listening.
12282	//
12283	// On EC2-VPC, you can specify any port from the range 1-65535.
12284	//
12285	// On EC2-Classic, you can specify any port from the following list: 25, 80,
12286	// 443, 465, 587, 1024-65535.
12287	LoadBalancerPort *int64 `type:"integer"`
12288
12289	// The load balancer transport protocol to use for routing.
12290	//
12291	// Valid values: HTTP | HTTPS | TCP | SSL
12292	Protocol *string `type:"string"`
12293
12294	// The ARN of the server certificate.
12295	SslCertificateId *string `type:"string"`
12296}
12297
12298// String returns the string representation
12299func (s AwsElbLoadBalancerListener) String() string {
12300	return awsutil.Prettify(s)
12301}
12302
12303// GoString returns the string representation
12304func (s AwsElbLoadBalancerListener) GoString() string {
12305	return s.String()
12306}
12307
12308// SetInstancePort sets the InstancePort field's value.
12309func (s *AwsElbLoadBalancerListener) SetInstancePort(v int64) *AwsElbLoadBalancerListener {
12310	s.InstancePort = &v
12311	return s
12312}
12313
12314// SetInstanceProtocol sets the InstanceProtocol field's value.
12315func (s *AwsElbLoadBalancerListener) SetInstanceProtocol(v string) *AwsElbLoadBalancerListener {
12316	s.InstanceProtocol = &v
12317	return s
12318}
12319
12320// SetLoadBalancerPort sets the LoadBalancerPort field's value.
12321func (s *AwsElbLoadBalancerListener) SetLoadBalancerPort(v int64) *AwsElbLoadBalancerListener {
12322	s.LoadBalancerPort = &v
12323	return s
12324}
12325
12326// SetProtocol sets the Protocol field's value.
12327func (s *AwsElbLoadBalancerListener) SetProtocol(v string) *AwsElbLoadBalancerListener {
12328	s.Protocol = &v
12329	return s
12330}
12331
12332// SetSslCertificateId sets the SslCertificateId field's value.
12333func (s *AwsElbLoadBalancerListener) SetSslCertificateId(v string) *AwsElbLoadBalancerListener {
12334	s.SslCertificateId = &v
12335	return s
12336}
12337
12338// Lists the policies that are enabled for a load balancer listener.
12339type AwsElbLoadBalancerListenerDescription struct {
12340	_ struct{} `type:"structure"`
12341
12342	// Information about the listener.
12343	Listener *AwsElbLoadBalancerListener `type:"structure"`
12344
12345	// The policies enabled for the listener.
12346	PolicyNames []*string `type:"list"`
12347}
12348
12349// String returns the string representation
12350func (s AwsElbLoadBalancerListenerDescription) String() string {
12351	return awsutil.Prettify(s)
12352}
12353
12354// GoString returns the string representation
12355func (s AwsElbLoadBalancerListenerDescription) GoString() string {
12356	return s.String()
12357}
12358
12359// SetListener sets the Listener field's value.
12360func (s *AwsElbLoadBalancerListenerDescription) SetListener(v *AwsElbLoadBalancerListener) *AwsElbLoadBalancerListenerDescription {
12361	s.Listener = v
12362	return s
12363}
12364
12365// SetPolicyNames sets the PolicyNames field's value.
12366func (s *AwsElbLoadBalancerListenerDescription) SetPolicyNames(v []*string) *AwsElbLoadBalancerListenerDescription {
12367	s.PolicyNames = v
12368	return s
12369}
12370
12371// Contains information about the policies for a load balancer.
12372type AwsElbLoadBalancerPolicies struct {
12373	_ struct{} `type:"structure"`
12374
12375	// The stickiness policies that are created using CreateAppCookieStickinessPolicy.
12376	AppCookieStickinessPolicies []*AwsElbAppCookieStickinessPolicy `type:"list"`
12377
12378	// The stickiness policies that are created using CreateLBCookieStickinessPolicy.
12379	LbCookieStickinessPolicies []*AwsElbLbCookieStickinessPolicy `type:"list"`
12380
12381	// The policies other than the stickiness policies.
12382	OtherPolicies []*string `type:"list"`
12383}
12384
12385// String returns the string representation
12386func (s AwsElbLoadBalancerPolicies) String() string {
12387	return awsutil.Prettify(s)
12388}
12389
12390// GoString returns the string representation
12391func (s AwsElbLoadBalancerPolicies) GoString() string {
12392	return s.String()
12393}
12394
12395// SetAppCookieStickinessPolicies sets the AppCookieStickinessPolicies field's value.
12396func (s *AwsElbLoadBalancerPolicies) SetAppCookieStickinessPolicies(v []*AwsElbAppCookieStickinessPolicy) *AwsElbLoadBalancerPolicies {
12397	s.AppCookieStickinessPolicies = v
12398	return s
12399}
12400
12401// SetLbCookieStickinessPolicies sets the LbCookieStickinessPolicies field's value.
12402func (s *AwsElbLoadBalancerPolicies) SetLbCookieStickinessPolicies(v []*AwsElbLbCookieStickinessPolicy) *AwsElbLoadBalancerPolicies {
12403	s.LbCookieStickinessPolicies = v
12404	return s
12405}
12406
12407// SetOtherPolicies sets the OtherPolicies field's value.
12408func (s *AwsElbLoadBalancerPolicies) SetOtherPolicies(v []*string) *AwsElbLoadBalancerPolicies {
12409	s.OtherPolicies = v
12410	return s
12411}
12412
12413// Contains information about the security group for the load balancer.
12414type AwsElbLoadBalancerSourceSecurityGroup struct {
12415	_ struct{} `type:"structure"`
12416
12417	// The name of the security group.
12418	GroupName *string `type:"string"`
12419
12420	// The owner of the security group.
12421	OwnerAlias *string `type:"string"`
12422}
12423
12424// String returns the string representation
12425func (s AwsElbLoadBalancerSourceSecurityGroup) String() string {
12426	return awsutil.Prettify(s)
12427}
12428
12429// GoString returns the string representation
12430func (s AwsElbLoadBalancerSourceSecurityGroup) GoString() string {
12431	return s.String()
12432}
12433
12434// SetGroupName sets the GroupName field's value.
12435func (s *AwsElbLoadBalancerSourceSecurityGroup) SetGroupName(v string) *AwsElbLoadBalancerSourceSecurityGroup {
12436	s.GroupName = &v
12437	return s
12438}
12439
12440// SetOwnerAlias sets the OwnerAlias field's value.
12441func (s *AwsElbLoadBalancerSourceSecurityGroup) SetOwnerAlias(v string) *AwsElbLoadBalancerSourceSecurityGroup {
12442	s.OwnerAlias = &v
12443	return s
12444}
12445
12446// Information about a load balancer.
12447type AwsElbv2LoadBalancerDetails struct {
12448	_ struct{} `type:"structure"`
12449
12450	// The Availability Zones for the load balancer.
12451	AvailabilityZones []*AvailabilityZone `type:"list"`
12452
12453	// The ID of the Amazon Route 53 hosted zone associated with the load balancer.
12454	CanonicalHostedZoneId *string `type:"string"`
12455
12456	// Indicates when the load balancer was created.
12457	//
12458	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
12459	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
12460	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
12461	CreatedTime *string `type:"string"`
12462
12463	// The public DNS name of the load balancer.
12464	DNSName *string `type:"string"`
12465
12466	// The type of IP addresses used by the subnets for your load balancer. The
12467	// possible values are ipv4 (for IPv4 addresses) and dualstack (for IPv4 and
12468	// IPv6 addresses).
12469	IpAddressType *string `type:"string"`
12470
12471	// The nodes of an Internet-facing load balancer have public IP addresses.
12472	Scheme *string `type:"string"`
12473
12474	// The IDs of the security groups for the load balancer.
12475	SecurityGroups []*string `type:"list"`
12476
12477	// The state of the load balancer.
12478	State *LoadBalancerState `type:"structure"`
12479
12480	// The type of load balancer.
12481	Type *string `type:"string"`
12482
12483	// The ID of the VPC for the load balancer.
12484	VpcId *string `type:"string"`
12485}
12486
12487// String returns the string representation
12488func (s AwsElbv2LoadBalancerDetails) String() string {
12489	return awsutil.Prettify(s)
12490}
12491
12492// GoString returns the string representation
12493func (s AwsElbv2LoadBalancerDetails) GoString() string {
12494	return s.String()
12495}
12496
12497// SetAvailabilityZones sets the AvailabilityZones field's value.
12498func (s *AwsElbv2LoadBalancerDetails) SetAvailabilityZones(v []*AvailabilityZone) *AwsElbv2LoadBalancerDetails {
12499	s.AvailabilityZones = v
12500	return s
12501}
12502
12503// SetCanonicalHostedZoneId sets the CanonicalHostedZoneId field's value.
12504func (s *AwsElbv2LoadBalancerDetails) SetCanonicalHostedZoneId(v string) *AwsElbv2LoadBalancerDetails {
12505	s.CanonicalHostedZoneId = &v
12506	return s
12507}
12508
12509// SetCreatedTime sets the CreatedTime field's value.
12510func (s *AwsElbv2LoadBalancerDetails) SetCreatedTime(v string) *AwsElbv2LoadBalancerDetails {
12511	s.CreatedTime = &v
12512	return s
12513}
12514
12515// SetDNSName sets the DNSName field's value.
12516func (s *AwsElbv2LoadBalancerDetails) SetDNSName(v string) *AwsElbv2LoadBalancerDetails {
12517	s.DNSName = &v
12518	return s
12519}
12520
12521// SetIpAddressType sets the IpAddressType field's value.
12522func (s *AwsElbv2LoadBalancerDetails) SetIpAddressType(v string) *AwsElbv2LoadBalancerDetails {
12523	s.IpAddressType = &v
12524	return s
12525}
12526
12527// SetScheme sets the Scheme field's value.
12528func (s *AwsElbv2LoadBalancerDetails) SetScheme(v string) *AwsElbv2LoadBalancerDetails {
12529	s.Scheme = &v
12530	return s
12531}
12532
12533// SetSecurityGroups sets the SecurityGroups field's value.
12534func (s *AwsElbv2LoadBalancerDetails) SetSecurityGroups(v []*string) *AwsElbv2LoadBalancerDetails {
12535	s.SecurityGroups = v
12536	return s
12537}
12538
12539// SetState sets the State field's value.
12540func (s *AwsElbv2LoadBalancerDetails) SetState(v *LoadBalancerState) *AwsElbv2LoadBalancerDetails {
12541	s.State = v
12542	return s
12543}
12544
12545// SetType sets the Type field's value.
12546func (s *AwsElbv2LoadBalancerDetails) SetType(v string) *AwsElbv2LoadBalancerDetails {
12547	s.Type = &v
12548	return s
12549}
12550
12551// SetVpcId sets the VpcId field's value.
12552func (s *AwsElbv2LoadBalancerDetails) SetVpcId(v string) *AwsElbv2LoadBalancerDetails {
12553	s.VpcId = &v
12554	return s
12555}
12556
12557// IAM access key details related to a finding.
12558type AwsIamAccessKeyDetails struct {
12559	_ struct{} `type:"structure"`
12560
12561	// The identifier of the access key.
12562	AccessKeyId *string `type:"string"`
12563
12564	// The AWS account ID of the account for the key.
12565	AccountId *string `type:"string"`
12566
12567	// Indicates when the IAM access key was created.
12568	//
12569	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
12570	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
12571	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
12572	CreatedAt *string `type:"string"`
12573
12574	// The ID of the principal associated with an access key.
12575	PrincipalId *string `type:"string"`
12576
12577	// The name of the principal.
12578	PrincipalName *string `type:"string"`
12579
12580	// The type of principal associated with an access key.
12581	PrincipalType *string `type:"string"`
12582
12583	// Information about the session that the key was used for.
12584	SessionContext *AwsIamAccessKeySessionContext `type:"structure"`
12585
12586	// The status of the IAM access key related to a finding.
12587	Status *string `type:"string" enum:"AwsIamAccessKeyStatus"`
12588
12589	// The user associated with the IAM access key related to a finding.
12590	//
12591	// The UserName parameter has been replaced with the PrincipalName parameter
12592	// because access keys can also be assigned to principals that are not IAM users.
12593	//
12594	// Deprecated: This field is deprecated, use PrincipalName instead.
12595	UserName *string `deprecated:"true" type:"string"`
12596}
12597
12598// String returns the string representation
12599func (s AwsIamAccessKeyDetails) String() string {
12600	return awsutil.Prettify(s)
12601}
12602
12603// GoString returns the string representation
12604func (s AwsIamAccessKeyDetails) GoString() string {
12605	return s.String()
12606}
12607
12608// SetAccessKeyId sets the AccessKeyId field's value.
12609func (s *AwsIamAccessKeyDetails) SetAccessKeyId(v string) *AwsIamAccessKeyDetails {
12610	s.AccessKeyId = &v
12611	return s
12612}
12613
12614// SetAccountId sets the AccountId field's value.
12615func (s *AwsIamAccessKeyDetails) SetAccountId(v string) *AwsIamAccessKeyDetails {
12616	s.AccountId = &v
12617	return s
12618}
12619
12620// SetCreatedAt sets the CreatedAt field's value.
12621func (s *AwsIamAccessKeyDetails) SetCreatedAt(v string) *AwsIamAccessKeyDetails {
12622	s.CreatedAt = &v
12623	return s
12624}
12625
12626// SetPrincipalId sets the PrincipalId field's value.
12627func (s *AwsIamAccessKeyDetails) SetPrincipalId(v string) *AwsIamAccessKeyDetails {
12628	s.PrincipalId = &v
12629	return s
12630}
12631
12632// SetPrincipalName sets the PrincipalName field's value.
12633func (s *AwsIamAccessKeyDetails) SetPrincipalName(v string) *AwsIamAccessKeyDetails {
12634	s.PrincipalName = &v
12635	return s
12636}
12637
12638// SetPrincipalType sets the PrincipalType field's value.
12639func (s *AwsIamAccessKeyDetails) SetPrincipalType(v string) *AwsIamAccessKeyDetails {
12640	s.PrincipalType = &v
12641	return s
12642}
12643
12644// SetSessionContext sets the SessionContext field's value.
12645func (s *AwsIamAccessKeyDetails) SetSessionContext(v *AwsIamAccessKeySessionContext) *AwsIamAccessKeyDetails {
12646	s.SessionContext = v
12647	return s
12648}
12649
12650// SetStatus sets the Status field's value.
12651func (s *AwsIamAccessKeyDetails) SetStatus(v string) *AwsIamAccessKeyDetails {
12652	s.Status = &v
12653	return s
12654}
12655
12656// SetUserName sets the UserName field's value.
12657func (s *AwsIamAccessKeyDetails) SetUserName(v string) *AwsIamAccessKeyDetails {
12658	s.UserName = &v
12659	return s
12660}
12661
12662// Provides information about the session that the key was used for.
12663type AwsIamAccessKeySessionContext struct {
12664	_ struct{} `type:"structure"`
12665
12666	// Attributes of the session that the key was used for.
12667	Attributes *AwsIamAccessKeySessionContextAttributes `type:"structure"`
12668
12669	// Information about the entity that created the session.
12670	SessionIssuer *AwsIamAccessKeySessionContextSessionIssuer `type:"structure"`
12671}
12672
12673// String returns the string representation
12674func (s AwsIamAccessKeySessionContext) String() string {
12675	return awsutil.Prettify(s)
12676}
12677
12678// GoString returns the string representation
12679func (s AwsIamAccessKeySessionContext) GoString() string {
12680	return s.String()
12681}
12682
12683// SetAttributes sets the Attributes field's value.
12684func (s *AwsIamAccessKeySessionContext) SetAttributes(v *AwsIamAccessKeySessionContextAttributes) *AwsIamAccessKeySessionContext {
12685	s.Attributes = v
12686	return s
12687}
12688
12689// SetSessionIssuer sets the SessionIssuer field's value.
12690func (s *AwsIamAccessKeySessionContext) SetSessionIssuer(v *AwsIamAccessKeySessionContextSessionIssuer) *AwsIamAccessKeySessionContext {
12691	s.SessionIssuer = v
12692	return s
12693}
12694
12695// Attributes of the session that the key was used for.
12696type AwsIamAccessKeySessionContextAttributes struct {
12697	_ struct{} `type:"structure"`
12698
12699	// Indicates when the session was created.
12700	//
12701	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
12702	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
12703	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
12704	CreationDate *string `type:"string"`
12705
12706	// Indicates whether the session used multi-factor authentication (MFA).
12707	MfaAuthenticated *bool `type:"boolean"`
12708}
12709
12710// String returns the string representation
12711func (s AwsIamAccessKeySessionContextAttributes) String() string {
12712	return awsutil.Prettify(s)
12713}
12714
12715// GoString returns the string representation
12716func (s AwsIamAccessKeySessionContextAttributes) GoString() string {
12717	return s.String()
12718}
12719
12720// SetCreationDate sets the CreationDate field's value.
12721func (s *AwsIamAccessKeySessionContextAttributes) SetCreationDate(v string) *AwsIamAccessKeySessionContextAttributes {
12722	s.CreationDate = &v
12723	return s
12724}
12725
12726// SetMfaAuthenticated sets the MfaAuthenticated field's value.
12727func (s *AwsIamAccessKeySessionContextAttributes) SetMfaAuthenticated(v bool) *AwsIamAccessKeySessionContextAttributes {
12728	s.MfaAuthenticated = &v
12729	return s
12730}
12731
12732// Information about the entity that created the session.
12733type AwsIamAccessKeySessionContextSessionIssuer struct {
12734	_ struct{} `type:"structure"`
12735
12736	// The identifier of the AWS account that created the session.
12737	AccountId *string `type:"string"`
12738
12739	// The ARN of the session.
12740	Arn *string `type:"string"`
12741
12742	// The principal ID of the principal (user, role, or group) that created the
12743	// session.
12744	PrincipalId *string `type:"string"`
12745
12746	// The type of principal (user, role, or group) that created the session.
12747	Type *string `type:"string"`
12748
12749	// The name of the principal that created the session.
12750	UserName *string `type:"string"`
12751}
12752
12753// String returns the string representation
12754func (s AwsIamAccessKeySessionContextSessionIssuer) String() string {
12755	return awsutil.Prettify(s)
12756}
12757
12758// GoString returns the string representation
12759func (s AwsIamAccessKeySessionContextSessionIssuer) GoString() string {
12760	return s.String()
12761}
12762
12763// SetAccountId sets the AccountId field's value.
12764func (s *AwsIamAccessKeySessionContextSessionIssuer) SetAccountId(v string) *AwsIamAccessKeySessionContextSessionIssuer {
12765	s.AccountId = &v
12766	return s
12767}
12768
12769// SetArn sets the Arn field's value.
12770func (s *AwsIamAccessKeySessionContextSessionIssuer) SetArn(v string) *AwsIamAccessKeySessionContextSessionIssuer {
12771	s.Arn = &v
12772	return s
12773}
12774
12775// SetPrincipalId sets the PrincipalId field's value.
12776func (s *AwsIamAccessKeySessionContextSessionIssuer) SetPrincipalId(v string) *AwsIamAccessKeySessionContextSessionIssuer {
12777	s.PrincipalId = &v
12778	return s
12779}
12780
12781// SetType sets the Type field's value.
12782func (s *AwsIamAccessKeySessionContextSessionIssuer) SetType(v string) *AwsIamAccessKeySessionContextSessionIssuer {
12783	s.Type = &v
12784	return s
12785}
12786
12787// SetUserName sets the UserName field's value.
12788func (s *AwsIamAccessKeySessionContextSessionIssuer) SetUserName(v string) *AwsIamAccessKeySessionContextSessionIssuer {
12789	s.UserName = &v
12790	return s
12791}
12792
12793// A managed policy that is attached to an IAM principal.
12794type AwsIamAttachedManagedPolicy struct {
12795	_ struct{} `type:"structure"`
12796
12797	// The ARN of the policy.
12798	PolicyArn *string `type:"string"`
12799
12800	// The name of the policy.
12801	PolicyName *string `type:"string"`
12802}
12803
12804// String returns the string representation
12805func (s AwsIamAttachedManagedPolicy) String() string {
12806	return awsutil.Prettify(s)
12807}
12808
12809// GoString returns the string representation
12810func (s AwsIamAttachedManagedPolicy) GoString() string {
12811	return s.String()
12812}
12813
12814// SetPolicyArn sets the PolicyArn field's value.
12815func (s *AwsIamAttachedManagedPolicy) SetPolicyArn(v string) *AwsIamAttachedManagedPolicy {
12816	s.PolicyArn = &v
12817	return s
12818}
12819
12820// SetPolicyName sets the PolicyName field's value.
12821func (s *AwsIamAttachedManagedPolicy) SetPolicyName(v string) *AwsIamAttachedManagedPolicy {
12822	s.PolicyName = &v
12823	return s
12824}
12825
12826// Contains details about an IAM group.
12827type AwsIamGroupDetails struct {
12828	_ struct{} `type:"structure"`
12829
12830	// A list of the managed policies that are attached to the IAM group.
12831	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
12832
12833	// Indicates when the IAM group was created.
12834	//
12835	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
12836	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
12837	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
12838	CreateDate *string `type:"string"`
12839
12840	// The identifier of the IAM group.
12841	GroupId *string `type:"string"`
12842
12843	// The name of the IAM group.
12844	GroupName *string `type:"string"`
12845
12846	// The list of inline policies that are embedded in the group.
12847	GroupPolicyList []*AwsIamGroupPolicy `type:"list"`
12848
12849	// The path to the group.
12850	Path *string `type:"string"`
12851}
12852
12853// String returns the string representation
12854func (s AwsIamGroupDetails) String() string {
12855	return awsutil.Prettify(s)
12856}
12857
12858// GoString returns the string representation
12859func (s AwsIamGroupDetails) GoString() string {
12860	return s.String()
12861}
12862
12863// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
12864func (s *AwsIamGroupDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamGroupDetails {
12865	s.AttachedManagedPolicies = v
12866	return s
12867}
12868
12869// SetCreateDate sets the CreateDate field's value.
12870func (s *AwsIamGroupDetails) SetCreateDate(v string) *AwsIamGroupDetails {
12871	s.CreateDate = &v
12872	return s
12873}
12874
12875// SetGroupId sets the GroupId field's value.
12876func (s *AwsIamGroupDetails) SetGroupId(v string) *AwsIamGroupDetails {
12877	s.GroupId = &v
12878	return s
12879}
12880
12881// SetGroupName sets the GroupName field's value.
12882func (s *AwsIamGroupDetails) SetGroupName(v string) *AwsIamGroupDetails {
12883	s.GroupName = &v
12884	return s
12885}
12886
12887// SetGroupPolicyList sets the GroupPolicyList field's value.
12888func (s *AwsIamGroupDetails) SetGroupPolicyList(v []*AwsIamGroupPolicy) *AwsIamGroupDetails {
12889	s.GroupPolicyList = v
12890	return s
12891}
12892
12893// SetPath sets the Path field's value.
12894func (s *AwsIamGroupDetails) SetPath(v string) *AwsIamGroupDetails {
12895	s.Path = &v
12896	return s
12897}
12898
12899// A managed policy that is attached to the IAM group.
12900type AwsIamGroupPolicy struct {
12901	_ struct{} `type:"structure"`
12902
12903	// The name of the policy.
12904	PolicyName *string `type:"string"`
12905}
12906
12907// String returns the string representation
12908func (s AwsIamGroupPolicy) String() string {
12909	return awsutil.Prettify(s)
12910}
12911
12912// GoString returns the string representation
12913func (s AwsIamGroupPolicy) GoString() string {
12914	return s.String()
12915}
12916
12917// SetPolicyName sets the PolicyName field's value.
12918func (s *AwsIamGroupPolicy) SetPolicyName(v string) *AwsIamGroupPolicy {
12919	s.PolicyName = &v
12920	return s
12921}
12922
12923// Information about an instance profile.
12924type AwsIamInstanceProfile struct {
12925	_ struct{} `type:"structure"`
12926
12927	// The ARN of the instance profile.
12928	Arn *string `type:"string"`
12929
12930	// Indicates when the instance profile was created.
12931	//
12932	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
12933	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
12934	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
12935	CreateDate *string `type:"string"`
12936
12937	// The identifier of the instance profile.
12938	InstanceProfileId *string `type:"string"`
12939
12940	// The name of the instance profile.
12941	InstanceProfileName *string `type:"string"`
12942
12943	// The path to the instance profile.
12944	Path *string `type:"string"`
12945
12946	// The roles associated with the instance profile.
12947	Roles []*AwsIamInstanceProfileRole `type:"list"`
12948}
12949
12950// String returns the string representation
12951func (s AwsIamInstanceProfile) String() string {
12952	return awsutil.Prettify(s)
12953}
12954
12955// GoString returns the string representation
12956func (s AwsIamInstanceProfile) GoString() string {
12957	return s.String()
12958}
12959
12960// Validate inspects the fields of the type to determine if they are valid.
12961func (s *AwsIamInstanceProfile) Validate() error {
12962	invalidParams := request.ErrInvalidParams{Context: "AwsIamInstanceProfile"}
12963	if s.Roles != nil {
12964		for i, v := range s.Roles {
12965			if v == nil {
12966				continue
12967			}
12968			if err := v.Validate(); err != nil {
12969				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Roles", i), err.(request.ErrInvalidParams))
12970			}
12971		}
12972	}
12973
12974	if invalidParams.Len() > 0 {
12975		return invalidParams
12976	}
12977	return nil
12978}
12979
12980// SetArn sets the Arn field's value.
12981func (s *AwsIamInstanceProfile) SetArn(v string) *AwsIamInstanceProfile {
12982	s.Arn = &v
12983	return s
12984}
12985
12986// SetCreateDate sets the CreateDate field's value.
12987func (s *AwsIamInstanceProfile) SetCreateDate(v string) *AwsIamInstanceProfile {
12988	s.CreateDate = &v
12989	return s
12990}
12991
12992// SetInstanceProfileId sets the InstanceProfileId field's value.
12993func (s *AwsIamInstanceProfile) SetInstanceProfileId(v string) *AwsIamInstanceProfile {
12994	s.InstanceProfileId = &v
12995	return s
12996}
12997
12998// SetInstanceProfileName sets the InstanceProfileName field's value.
12999func (s *AwsIamInstanceProfile) SetInstanceProfileName(v string) *AwsIamInstanceProfile {
13000	s.InstanceProfileName = &v
13001	return s
13002}
13003
13004// SetPath sets the Path field's value.
13005func (s *AwsIamInstanceProfile) SetPath(v string) *AwsIamInstanceProfile {
13006	s.Path = &v
13007	return s
13008}
13009
13010// SetRoles sets the Roles field's value.
13011func (s *AwsIamInstanceProfile) SetRoles(v []*AwsIamInstanceProfileRole) *AwsIamInstanceProfile {
13012	s.Roles = v
13013	return s
13014}
13015
13016// Information about a role associated with an instance profile.
13017type AwsIamInstanceProfileRole struct {
13018	_ struct{} `type:"structure"`
13019
13020	// The ARN of the role.
13021	Arn *string `type:"string"`
13022
13023	// The policy that grants an entity permission to assume the role.
13024	AssumeRolePolicyDocument *string `min:"1" type:"string"`
13025
13026	// Indicates when the role was created.
13027	//
13028	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
13029	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
13030	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
13031	CreateDate *string `type:"string"`
13032
13033	// The path to the role.
13034	Path *string `type:"string"`
13035
13036	// The identifier of the role.
13037	RoleId *string `type:"string"`
13038
13039	// The name of the role.
13040	RoleName *string `type:"string"`
13041}
13042
13043// String returns the string representation
13044func (s AwsIamInstanceProfileRole) String() string {
13045	return awsutil.Prettify(s)
13046}
13047
13048// GoString returns the string representation
13049func (s AwsIamInstanceProfileRole) GoString() string {
13050	return s.String()
13051}
13052
13053// Validate inspects the fields of the type to determine if they are valid.
13054func (s *AwsIamInstanceProfileRole) Validate() error {
13055	invalidParams := request.ErrInvalidParams{Context: "AwsIamInstanceProfileRole"}
13056	if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 {
13057		invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1))
13058	}
13059
13060	if invalidParams.Len() > 0 {
13061		return invalidParams
13062	}
13063	return nil
13064}
13065
13066// SetArn sets the Arn field's value.
13067func (s *AwsIamInstanceProfileRole) SetArn(v string) *AwsIamInstanceProfileRole {
13068	s.Arn = &v
13069	return s
13070}
13071
13072// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value.
13073func (s *AwsIamInstanceProfileRole) SetAssumeRolePolicyDocument(v string) *AwsIamInstanceProfileRole {
13074	s.AssumeRolePolicyDocument = &v
13075	return s
13076}
13077
13078// SetCreateDate sets the CreateDate field's value.
13079func (s *AwsIamInstanceProfileRole) SetCreateDate(v string) *AwsIamInstanceProfileRole {
13080	s.CreateDate = &v
13081	return s
13082}
13083
13084// SetPath sets the Path field's value.
13085func (s *AwsIamInstanceProfileRole) SetPath(v string) *AwsIamInstanceProfileRole {
13086	s.Path = &v
13087	return s
13088}
13089
13090// SetRoleId sets the RoleId field's value.
13091func (s *AwsIamInstanceProfileRole) SetRoleId(v string) *AwsIamInstanceProfileRole {
13092	s.RoleId = &v
13093	return s
13094}
13095
13096// SetRoleName sets the RoleName field's value.
13097func (s *AwsIamInstanceProfileRole) SetRoleName(v string) *AwsIamInstanceProfileRole {
13098	s.RoleName = &v
13099	return s
13100}
13101
13102// Information about the policy used to set the permissions boundary for an
13103// IAM principal.
13104type AwsIamPermissionsBoundary struct {
13105	_ struct{} `type:"structure"`
13106
13107	// The ARN of the policy used to set the permissions boundary.
13108	PermissionsBoundaryArn *string `type:"string"`
13109
13110	// The usage type for the permissions boundary.
13111	PermissionsBoundaryType *string `type:"string"`
13112}
13113
13114// String returns the string representation
13115func (s AwsIamPermissionsBoundary) String() string {
13116	return awsutil.Prettify(s)
13117}
13118
13119// GoString returns the string representation
13120func (s AwsIamPermissionsBoundary) GoString() string {
13121	return s.String()
13122}
13123
13124// SetPermissionsBoundaryArn sets the PermissionsBoundaryArn field's value.
13125func (s *AwsIamPermissionsBoundary) SetPermissionsBoundaryArn(v string) *AwsIamPermissionsBoundary {
13126	s.PermissionsBoundaryArn = &v
13127	return s
13128}
13129
13130// SetPermissionsBoundaryType sets the PermissionsBoundaryType field's value.
13131func (s *AwsIamPermissionsBoundary) SetPermissionsBoundaryType(v string) *AwsIamPermissionsBoundary {
13132	s.PermissionsBoundaryType = &v
13133	return s
13134}
13135
13136// Represents an IAM permissions policy.
13137type AwsIamPolicyDetails struct {
13138	_ struct{} `type:"structure"`
13139
13140	// The number of users, groups, and roles that the policy is attached to.
13141	AttachmentCount *int64 `type:"integer"`
13142
13143	// When the policy was created.
13144	//
13145	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
13146	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
13147	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
13148	CreateDate *string `type:"string"`
13149
13150	// The identifier of the default version of the policy.
13151	DefaultVersionId *string `type:"string"`
13152
13153	// A description of the policy.
13154	Description *string `type:"string"`
13155
13156	// Whether the policy can be attached to a user, group, or role.
13157	IsAttachable *bool `type:"boolean"`
13158
13159	// The path to the policy.
13160	Path *string `type:"string"`
13161
13162	// The number of users and roles that use the policy to set the permissions
13163	// boundary.
13164	PermissionsBoundaryUsageCount *int64 `type:"integer"`
13165
13166	// The unique identifier of the policy.
13167	PolicyId *string `type:"string"`
13168
13169	// The name of the policy.
13170	PolicyName *string `type:"string"`
13171
13172	// List of versions of the policy.
13173	PolicyVersionList []*AwsIamPolicyVersion `type:"list"`
13174
13175	// When the policy was most recently updated.
13176	//
13177	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
13178	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
13179	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
13180	UpdateDate *string `type:"string"`
13181}
13182
13183// String returns the string representation
13184func (s AwsIamPolicyDetails) String() string {
13185	return awsutil.Prettify(s)
13186}
13187
13188// GoString returns the string representation
13189func (s AwsIamPolicyDetails) GoString() string {
13190	return s.String()
13191}
13192
13193// SetAttachmentCount sets the AttachmentCount field's value.
13194func (s *AwsIamPolicyDetails) SetAttachmentCount(v int64) *AwsIamPolicyDetails {
13195	s.AttachmentCount = &v
13196	return s
13197}
13198
13199// SetCreateDate sets the CreateDate field's value.
13200func (s *AwsIamPolicyDetails) SetCreateDate(v string) *AwsIamPolicyDetails {
13201	s.CreateDate = &v
13202	return s
13203}
13204
13205// SetDefaultVersionId sets the DefaultVersionId field's value.
13206func (s *AwsIamPolicyDetails) SetDefaultVersionId(v string) *AwsIamPolicyDetails {
13207	s.DefaultVersionId = &v
13208	return s
13209}
13210
13211// SetDescription sets the Description field's value.
13212func (s *AwsIamPolicyDetails) SetDescription(v string) *AwsIamPolicyDetails {
13213	s.Description = &v
13214	return s
13215}
13216
13217// SetIsAttachable sets the IsAttachable field's value.
13218func (s *AwsIamPolicyDetails) SetIsAttachable(v bool) *AwsIamPolicyDetails {
13219	s.IsAttachable = &v
13220	return s
13221}
13222
13223// SetPath sets the Path field's value.
13224func (s *AwsIamPolicyDetails) SetPath(v string) *AwsIamPolicyDetails {
13225	s.Path = &v
13226	return s
13227}
13228
13229// SetPermissionsBoundaryUsageCount sets the PermissionsBoundaryUsageCount field's value.
13230func (s *AwsIamPolicyDetails) SetPermissionsBoundaryUsageCount(v int64) *AwsIamPolicyDetails {
13231	s.PermissionsBoundaryUsageCount = &v
13232	return s
13233}
13234
13235// SetPolicyId sets the PolicyId field's value.
13236func (s *AwsIamPolicyDetails) SetPolicyId(v string) *AwsIamPolicyDetails {
13237	s.PolicyId = &v
13238	return s
13239}
13240
13241// SetPolicyName sets the PolicyName field's value.
13242func (s *AwsIamPolicyDetails) SetPolicyName(v string) *AwsIamPolicyDetails {
13243	s.PolicyName = &v
13244	return s
13245}
13246
13247// SetPolicyVersionList sets the PolicyVersionList field's value.
13248func (s *AwsIamPolicyDetails) SetPolicyVersionList(v []*AwsIamPolicyVersion) *AwsIamPolicyDetails {
13249	s.PolicyVersionList = v
13250	return s
13251}
13252
13253// SetUpdateDate sets the UpdateDate field's value.
13254func (s *AwsIamPolicyDetails) SetUpdateDate(v string) *AwsIamPolicyDetails {
13255	s.UpdateDate = &v
13256	return s
13257}
13258
13259// A version of an IAM policy.
13260type AwsIamPolicyVersion struct {
13261	_ struct{} `type:"structure"`
13262
13263	// Indicates when the version was created.
13264	//
13265	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
13266	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
13267	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
13268	CreateDate *string `type:"string"`
13269
13270	// Whether the version is the default version.
13271	IsDefaultVersion *bool `type:"boolean"`
13272
13273	// The identifier of the policy version.
13274	VersionId *string `type:"string"`
13275}
13276
13277// String returns the string representation
13278func (s AwsIamPolicyVersion) String() string {
13279	return awsutil.Prettify(s)
13280}
13281
13282// GoString returns the string representation
13283func (s AwsIamPolicyVersion) GoString() string {
13284	return s.String()
13285}
13286
13287// SetCreateDate sets the CreateDate field's value.
13288func (s *AwsIamPolicyVersion) SetCreateDate(v string) *AwsIamPolicyVersion {
13289	s.CreateDate = &v
13290	return s
13291}
13292
13293// SetIsDefaultVersion sets the IsDefaultVersion field's value.
13294func (s *AwsIamPolicyVersion) SetIsDefaultVersion(v bool) *AwsIamPolicyVersion {
13295	s.IsDefaultVersion = &v
13296	return s
13297}
13298
13299// SetVersionId sets the VersionId field's value.
13300func (s *AwsIamPolicyVersion) SetVersionId(v string) *AwsIamPolicyVersion {
13301	s.VersionId = &v
13302	return s
13303}
13304
13305// Contains information about an IAM role, including all of the role's policies.
13306type AwsIamRoleDetails struct {
13307	_ struct{} `type:"structure"`
13308
13309	// The trust policy that grants permission to assume the role.
13310	AssumeRolePolicyDocument *string `min:"1" type:"string"`
13311
13312	// The list of the managed policies that are attached to the role.
13313	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
13314
13315	// Indicates when the role was created.
13316	//
13317	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
13318	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
13319	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
13320	CreateDate *string `type:"string"`
13321
13322	// The list of instance profiles that contain this role.
13323	InstanceProfileList []*AwsIamInstanceProfile `type:"list"`
13324
13325	// The maximum session duration (in seconds) that you want to set for the specified
13326	// role.
13327	MaxSessionDuration *int64 `type:"integer"`
13328
13329	// The path to the role.
13330	Path *string `type:"string"`
13331
13332	// Information about the policy used to set the permissions boundary for an
13333	// IAM principal.
13334	PermissionsBoundary *AwsIamPermissionsBoundary `type:"structure"`
13335
13336	// The stable and unique string identifying the role.
13337	RoleId *string `type:"string"`
13338
13339	// The friendly name that identifies the role.
13340	RoleName *string `type:"string"`
13341
13342	// The list of inline policies that are embedded in the role.
13343	RolePolicyList []*AwsIamRolePolicy `type:"list"`
13344}
13345
13346// String returns the string representation
13347func (s AwsIamRoleDetails) String() string {
13348	return awsutil.Prettify(s)
13349}
13350
13351// GoString returns the string representation
13352func (s AwsIamRoleDetails) GoString() string {
13353	return s.String()
13354}
13355
13356// Validate inspects the fields of the type to determine if they are valid.
13357func (s *AwsIamRoleDetails) Validate() error {
13358	invalidParams := request.ErrInvalidParams{Context: "AwsIamRoleDetails"}
13359	if s.AssumeRolePolicyDocument != nil && len(*s.AssumeRolePolicyDocument) < 1 {
13360		invalidParams.Add(request.NewErrParamMinLen("AssumeRolePolicyDocument", 1))
13361	}
13362	if s.InstanceProfileList != nil {
13363		for i, v := range s.InstanceProfileList {
13364			if v == nil {
13365				continue
13366			}
13367			if err := v.Validate(); err != nil {
13368				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "InstanceProfileList", i), err.(request.ErrInvalidParams))
13369			}
13370		}
13371	}
13372
13373	if invalidParams.Len() > 0 {
13374		return invalidParams
13375	}
13376	return nil
13377}
13378
13379// SetAssumeRolePolicyDocument sets the AssumeRolePolicyDocument field's value.
13380func (s *AwsIamRoleDetails) SetAssumeRolePolicyDocument(v string) *AwsIamRoleDetails {
13381	s.AssumeRolePolicyDocument = &v
13382	return s
13383}
13384
13385// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
13386func (s *AwsIamRoleDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamRoleDetails {
13387	s.AttachedManagedPolicies = v
13388	return s
13389}
13390
13391// SetCreateDate sets the CreateDate field's value.
13392func (s *AwsIamRoleDetails) SetCreateDate(v string) *AwsIamRoleDetails {
13393	s.CreateDate = &v
13394	return s
13395}
13396
13397// SetInstanceProfileList sets the InstanceProfileList field's value.
13398func (s *AwsIamRoleDetails) SetInstanceProfileList(v []*AwsIamInstanceProfile) *AwsIamRoleDetails {
13399	s.InstanceProfileList = v
13400	return s
13401}
13402
13403// SetMaxSessionDuration sets the MaxSessionDuration field's value.
13404func (s *AwsIamRoleDetails) SetMaxSessionDuration(v int64) *AwsIamRoleDetails {
13405	s.MaxSessionDuration = &v
13406	return s
13407}
13408
13409// SetPath sets the Path field's value.
13410func (s *AwsIamRoleDetails) SetPath(v string) *AwsIamRoleDetails {
13411	s.Path = &v
13412	return s
13413}
13414
13415// SetPermissionsBoundary sets the PermissionsBoundary field's value.
13416func (s *AwsIamRoleDetails) SetPermissionsBoundary(v *AwsIamPermissionsBoundary) *AwsIamRoleDetails {
13417	s.PermissionsBoundary = v
13418	return s
13419}
13420
13421// SetRoleId sets the RoleId field's value.
13422func (s *AwsIamRoleDetails) SetRoleId(v string) *AwsIamRoleDetails {
13423	s.RoleId = &v
13424	return s
13425}
13426
13427// SetRoleName sets the RoleName field's value.
13428func (s *AwsIamRoleDetails) SetRoleName(v string) *AwsIamRoleDetails {
13429	s.RoleName = &v
13430	return s
13431}
13432
13433// SetRolePolicyList sets the RolePolicyList field's value.
13434func (s *AwsIamRoleDetails) SetRolePolicyList(v []*AwsIamRolePolicy) *AwsIamRoleDetails {
13435	s.RolePolicyList = v
13436	return s
13437}
13438
13439// An inline policy that is embedded in the role.
13440type AwsIamRolePolicy struct {
13441	_ struct{} `type:"structure"`
13442
13443	// The name of the policy.
13444	PolicyName *string `type:"string"`
13445}
13446
13447// String returns the string representation
13448func (s AwsIamRolePolicy) String() string {
13449	return awsutil.Prettify(s)
13450}
13451
13452// GoString returns the string representation
13453func (s AwsIamRolePolicy) GoString() string {
13454	return s.String()
13455}
13456
13457// SetPolicyName sets the PolicyName field's value.
13458func (s *AwsIamRolePolicy) SetPolicyName(v string) *AwsIamRolePolicy {
13459	s.PolicyName = &v
13460	return s
13461}
13462
13463// Information about an IAM user.
13464type AwsIamUserDetails struct {
13465	_ struct{} `type:"structure"`
13466
13467	// A list of the managed policies that are attached to the user.
13468	AttachedManagedPolicies []*AwsIamAttachedManagedPolicy `type:"list"`
13469
13470	// Indicates when the user was created.
13471	//
13472	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
13473	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
13474	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
13475	CreateDate *string `type:"string"`
13476
13477	// A list of IAM groups that the user belongs to.
13478	GroupList []*string `type:"list"`
13479
13480	// The path to the user.
13481	Path *string `type:"string"`
13482
13483	// The permissions boundary for the user.
13484	PermissionsBoundary *AwsIamPermissionsBoundary `type:"structure"`
13485
13486	// The unique identifier for the user.
13487	UserId *string `type:"string"`
13488
13489	// The name of the user.
13490	UserName *string `type:"string"`
13491
13492	// The list of inline policies that are embedded in the user.
13493	UserPolicyList []*AwsIamUserPolicy `type:"list"`
13494}
13495
13496// String returns the string representation
13497func (s AwsIamUserDetails) String() string {
13498	return awsutil.Prettify(s)
13499}
13500
13501// GoString returns the string representation
13502func (s AwsIamUserDetails) GoString() string {
13503	return s.String()
13504}
13505
13506// SetAttachedManagedPolicies sets the AttachedManagedPolicies field's value.
13507func (s *AwsIamUserDetails) SetAttachedManagedPolicies(v []*AwsIamAttachedManagedPolicy) *AwsIamUserDetails {
13508	s.AttachedManagedPolicies = v
13509	return s
13510}
13511
13512// SetCreateDate sets the CreateDate field's value.
13513func (s *AwsIamUserDetails) SetCreateDate(v string) *AwsIamUserDetails {
13514	s.CreateDate = &v
13515	return s
13516}
13517
13518// SetGroupList sets the GroupList field's value.
13519func (s *AwsIamUserDetails) SetGroupList(v []*string) *AwsIamUserDetails {
13520	s.GroupList = v
13521	return s
13522}
13523
13524// SetPath sets the Path field's value.
13525func (s *AwsIamUserDetails) SetPath(v string) *AwsIamUserDetails {
13526	s.Path = &v
13527	return s
13528}
13529
13530// SetPermissionsBoundary sets the PermissionsBoundary field's value.
13531func (s *AwsIamUserDetails) SetPermissionsBoundary(v *AwsIamPermissionsBoundary) *AwsIamUserDetails {
13532	s.PermissionsBoundary = v
13533	return s
13534}
13535
13536// SetUserId sets the UserId field's value.
13537func (s *AwsIamUserDetails) SetUserId(v string) *AwsIamUserDetails {
13538	s.UserId = &v
13539	return s
13540}
13541
13542// SetUserName sets the UserName field's value.
13543func (s *AwsIamUserDetails) SetUserName(v string) *AwsIamUserDetails {
13544	s.UserName = &v
13545	return s
13546}
13547
13548// SetUserPolicyList sets the UserPolicyList field's value.
13549func (s *AwsIamUserDetails) SetUserPolicyList(v []*AwsIamUserPolicy) *AwsIamUserDetails {
13550	s.UserPolicyList = v
13551	return s
13552}
13553
13554// Information about an inline policy that is embedded in the user.
13555type AwsIamUserPolicy struct {
13556	_ struct{} `type:"structure"`
13557
13558	// The name of the policy.
13559	PolicyName *string `type:"string"`
13560}
13561
13562// String returns the string representation
13563func (s AwsIamUserPolicy) String() string {
13564	return awsutil.Prettify(s)
13565}
13566
13567// GoString returns the string representation
13568func (s AwsIamUserPolicy) GoString() string {
13569	return s.String()
13570}
13571
13572// SetPolicyName sets the PolicyName field's value.
13573func (s *AwsIamUserPolicy) SetPolicyName(v string) *AwsIamUserPolicy {
13574	s.PolicyName = &v
13575	return s
13576}
13577
13578// Contains metadata about a customer master key (CMK).
13579type AwsKmsKeyDetails struct {
13580	_ struct{} `type:"structure"`
13581
13582	// The twelve-digit account ID of the AWS account that owns the CMK.
13583	AWSAccountId *string `type:"string"`
13584
13585	// Indicates when the CMK was created.
13586	//
13587	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
13588	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
13589	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
13590	CreationDate *float64 `type:"double"`
13591
13592	// A description of the key.
13593	Description *string `type:"string"`
13594
13595	// The globally unique identifier for the CMK.
13596	KeyId *string `type:"string"`
13597
13598	// The manager of the CMK. CMKs in your AWS account are either customer managed
13599	// or AWS managed.
13600	KeyManager *string `type:"string"`
13601
13602	// The state of the CMK.
13603	KeyState *string `type:"string"`
13604
13605	// The source of the CMK's key material.
13606	//
13607	// When this value is AWS_KMS, AWS KMS created the key material.
13608	//
13609	// When this value is EXTERNAL, the key material was imported from your existing
13610	// key management infrastructure or the CMK lacks key material.
13611	//
13612	// When this value is AWS_CLOUDHSM, the key material was created in the AWS
13613	// CloudHSM cluster associated with a custom key store.
13614	Origin *string `type:"string"`
13615}
13616
13617// String returns the string representation
13618func (s AwsKmsKeyDetails) String() string {
13619	return awsutil.Prettify(s)
13620}
13621
13622// GoString returns the string representation
13623func (s AwsKmsKeyDetails) GoString() string {
13624	return s.String()
13625}
13626
13627// SetAWSAccountId sets the AWSAccountId field's value.
13628func (s *AwsKmsKeyDetails) SetAWSAccountId(v string) *AwsKmsKeyDetails {
13629	s.AWSAccountId = &v
13630	return s
13631}
13632
13633// SetCreationDate sets the CreationDate field's value.
13634func (s *AwsKmsKeyDetails) SetCreationDate(v float64) *AwsKmsKeyDetails {
13635	s.CreationDate = &v
13636	return s
13637}
13638
13639// SetDescription sets the Description field's value.
13640func (s *AwsKmsKeyDetails) SetDescription(v string) *AwsKmsKeyDetails {
13641	s.Description = &v
13642	return s
13643}
13644
13645// SetKeyId sets the KeyId field's value.
13646func (s *AwsKmsKeyDetails) SetKeyId(v string) *AwsKmsKeyDetails {
13647	s.KeyId = &v
13648	return s
13649}
13650
13651// SetKeyManager sets the KeyManager field's value.
13652func (s *AwsKmsKeyDetails) SetKeyManager(v string) *AwsKmsKeyDetails {
13653	s.KeyManager = &v
13654	return s
13655}
13656
13657// SetKeyState sets the KeyState field's value.
13658func (s *AwsKmsKeyDetails) SetKeyState(v string) *AwsKmsKeyDetails {
13659	s.KeyState = &v
13660	return s
13661}
13662
13663// SetOrigin sets the Origin field's value.
13664func (s *AwsKmsKeyDetails) SetOrigin(v string) *AwsKmsKeyDetails {
13665	s.Origin = &v
13666	return s
13667}
13668
13669// The code for the Lambda function. You can specify either an object in Amazon
13670// S3, or upload a deployment package directly.
13671type AwsLambdaFunctionCode struct {
13672	_ struct{} `type:"structure"`
13673
13674	// An Amazon S3 bucket in the same AWS Region as your function. The bucket can
13675	// be in a different AWS account.
13676	S3Bucket *string `type:"string"`
13677
13678	// The Amazon S3 key of the deployment package.
13679	S3Key *string `type:"string"`
13680
13681	// For versioned objects, the version of the deployment package object to use.
13682	S3ObjectVersion *string `type:"string"`
13683
13684	// The base64-encoded contents of the deployment package. AWS SDK and AWS CLI
13685	// clients handle the encoding for you.
13686	ZipFile *string `type:"string"`
13687}
13688
13689// String returns the string representation
13690func (s AwsLambdaFunctionCode) String() string {
13691	return awsutil.Prettify(s)
13692}
13693
13694// GoString returns the string representation
13695func (s AwsLambdaFunctionCode) GoString() string {
13696	return s.String()
13697}
13698
13699// SetS3Bucket sets the S3Bucket field's value.
13700func (s *AwsLambdaFunctionCode) SetS3Bucket(v string) *AwsLambdaFunctionCode {
13701	s.S3Bucket = &v
13702	return s
13703}
13704
13705// SetS3Key sets the S3Key field's value.
13706func (s *AwsLambdaFunctionCode) SetS3Key(v string) *AwsLambdaFunctionCode {
13707	s.S3Key = &v
13708	return s
13709}
13710
13711// SetS3ObjectVersion sets the S3ObjectVersion field's value.
13712func (s *AwsLambdaFunctionCode) SetS3ObjectVersion(v string) *AwsLambdaFunctionCode {
13713	s.S3ObjectVersion = &v
13714	return s
13715}
13716
13717// SetZipFile sets the ZipFile field's value.
13718func (s *AwsLambdaFunctionCode) SetZipFile(v string) *AwsLambdaFunctionCode {
13719	s.ZipFile = &v
13720	return s
13721}
13722
13723// The dead-letter queue for failed asynchronous invocations.
13724type AwsLambdaFunctionDeadLetterConfig struct {
13725	_ struct{} `type:"structure"`
13726
13727	// The Amazon Resource Name (ARN) of an Amazon SQS queue or Amazon SNS topic.
13728	TargetArn *string `type:"string"`
13729}
13730
13731// String returns the string representation
13732func (s AwsLambdaFunctionDeadLetterConfig) String() string {
13733	return awsutil.Prettify(s)
13734}
13735
13736// GoString returns the string representation
13737func (s AwsLambdaFunctionDeadLetterConfig) GoString() string {
13738	return s.String()
13739}
13740
13741// SetTargetArn sets the TargetArn field's value.
13742func (s *AwsLambdaFunctionDeadLetterConfig) SetTargetArn(v string) *AwsLambdaFunctionDeadLetterConfig {
13743	s.TargetArn = &v
13744	return s
13745}
13746
13747// Details about a function's configuration.
13748type AwsLambdaFunctionDetails struct {
13749	_ struct{} `type:"structure"`
13750
13751	// An AwsLambdaFunctionCode object.
13752	Code *AwsLambdaFunctionCode `type:"structure"`
13753
13754	// The SHA256 hash of the function's deployment package.
13755	CodeSha256 *string `type:"string"`
13756
13757	// The function's dead letter queue.
13758	DeadLetterConfig *AwsLambdaFunctionDeadLetterConfig `type:"structure"`
13759
13760	// The function's environment variables.
13761	Environment *AwsLambdaFunctionEnvironment `type:"structure"`
13762
13763	// The name of the function.
13764	FunctionName *string `type:"string"`
13765
13766	// The function that Lambda calls to begin executing your function.
13767	Handler *string `type:"string"`
13768
13769	// The KMS key that's used to encrypt the function's environment variables.
13770	// This key is only returned if you've configured a customer managed CMK.
13771	KmsKeyArn *string `type:"string"`
13772
13773	// Indicates when the function was last updated.
13774	//
13775	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
13776	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
13777	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
13778	LastModified *string `type:"string"`
13779
13780	// The function's layers.
13781	Layers []*AwsLambdaFunctionLayer `type:"list"`
13782
13783	// For Lambda@Edge functions, the ARN of the master function.
13784	MasterArn *string `type:"string"`
13785
13786	// The memory that's allocated to the function.
13787	MemorySize *int64 `type:"integer"`
13788
13789	// The latest updated revision of the function or alias.
13790	RevisionId *string `type:"string"`
13791
13792	// The function's execution role.
13793	Role *string `type:"string"`
13794
13795	// The runtime environment for the Lambda function.
13796	Runtime *string `type:"string"`
13797
13798	// The amount of time that Lambda allows a function to run before stopping it.
13799	Timeout *int64 `type:"integer"`
13800
13801	// The function's AWS X-Ray tracing configuration.
13802	TracingConfig *AwsLambdaFunctionTracingConfig `type:"structure"`
13803
13804	// The version of the Lambda function.
13805	Version *string `type:"string"`
13806
13807	// The function's networking configuration.
13808	VpcConfig *AwsLambdaFunctionVpcConfig `type:"structure"`
13809}
13810
13811// String returns the string representation
13812func (s AwsLambdaFunctionDetails) String() string {
13813	return awsutil.Prettify(s)
13814}
13815
13816// GoString returns the string representation
13817func (s AwsLambdaFunctionDetails) GoString() string {
13818	return s.String()
13819}
13820
13821// SetCode sets the Code field's value.
13822func (s *AwsLambdaFunctionDetails) SetCode(v *AwsLambdaFunctionCode) *AwsLambdaFunctionDetails {
13823	s.Code = v
13824	return s
13825}
13826
13827// SetCodeSha256 sets the CodeSha256 field's value.
13828func (s *AwsLambdaFunctionDetails) SetCodeSha256(v string) *AwsLambdaFunctionDetails {
13829	s.CodeSha256 = &v
13830	return s
13831}
13832
13833// SetDeadLetterConfig sets the DeadLetterConfig field's value.
13834func (s *AwsLambdaFunctionDetails) SetDeadLetterConfig(v *AwsLambdaFunctionDeadLetterConfig) *AwsLambdaFunctionDetails {
13835	s.DeadLetterConfig = v
13836	return s
13837}
13838
13839// SetEnvironment sets the Environment field's value.
13840func (s *AwsLambdaFunctionDetails) SetEnvironment(v *AwsLambdaFunctionEnvironment) *AwsLambdaFunctionDetails {
13841	s.Environment = v
13842	return s
13843}
13844
13845// SetFunctionName sets the FunctionName field's value.
13846func (s *AwsLambdaFunctionDetails) SetFunctionName(v string) *AwsLambdaFunctionDetails {
13847	s.FunctionName = &v
13848	return s
13849}
13850
13851// SetHandler sets the Handler field's value.
13852func (s *AwsLambdaFunctionDetails) SetHandler(v string) *AwsLambdaFunctionDetails {
13853	s.Handler = &v
13854	return s
13855}
13856
13857// SetKmsKeyArn sets the KmsKeyArn field's value.
13858func (s *AwsLambdaFunctionDetails) SetKmsKeyArn(v string) *AwsLambdaFunctionDetails {
13859	s.KmsKeyArn = &v
13860	return s
13861}
13862
13863// SetLastModified sets the LastModified field's value.
13864func (s *AwsLambdaFunctionDetails) SetLastModified(v string) *AwsLambdaFunctionDetails {
13865	s.LastModified = &v
13866	return s
13867}
13868
13869// SetLayers sets the Layers field's value.
13870func (s *AwsLambdaFunctionDetails) SetLayers(v []*AwsLambdaFunctionLayer) *AwsLambdaFunctionDetails {
13871	s.Layers = v
13872	return s
13873}
13874
13875// SetMasterArn sets the MasterArn field's value.
13876func (s *AwsLambdaFunctionDetails) SetMasterArn(v string) *AwsLambdaFunctionDetails {
13877	s.MasterArn = &v
13878	return s
13879}
13880
13881// SetMemorySize sets the MemorySize field's value.
13882func (s *AwsLambdaFunctionDetails) SetMemorySize(v int64) *AwsLambdaFunctionDetails {
13883	s.MemorySize = &v
13884	return s
13885}
13886
13887// SetRevisionId sets the RevisionId field's value.
13888func (s *AwsLambdaFunctionDetails) SetRevisionId(v string) *AwsLambdaFunctionDetails {
13889	s.RevisionId = &v
13890	return s
13891}
13892
13893// SetRole sets the Role field's value.
13894func (s *AwsLambdaFunctionDetails) SetRole(v string) *AwsLambdaFunctionDetails {
13895	s.Role = &v
13896	return s
13897}
13898
13899// SetRuntime sets the Runtime field's value.
13900func (s *AwsLambdaFunctionDetails) SetRuntime(v string) *AwsLambdaFunctionDetails {
13901	s.Runtime = &v
13902	return s
13903}
13904
13905// SetTimeout sets the Timeout field's value.
13906func (s *AwsLambdaFunctionDetails) SetTimeout(v int64) *AwsLambdaFunctionDetails {
13907	s.Timeout = &v
13908	return s
13909}
13910
13911// SetTracingConfig sets the TracingConfig field's value.
13912func (s *AwsLambdaFunctionDetails) SetTracingConfig(v *AwsLambdaFunctionTracingConfig) *AwsLambdaFunctionDetails {
13913	s.TracingConfig = v
13914	return s
13915}
13916
13917// SetVersion sets the Version field's value.
13918func (s *AwsLambdaFunctionDetails) SetVersion(v string) *AwsLambdaFunctionDetails {
13919	s.Version = &v
13920	return s
13921}
13922
13923// SetVpcConfig sets the VpcConfig field's value.
13924func (s *AwsLambdaFunctionDetails) SetVpcConfig(v *AwsLambdaFunctionVpcConfig) *AwsLambdaFunctionDetails {
13925	s.VpcConfig = v
13926	return s
13927}
13928
13929// A function's environment variable settings.
13930type AwsLambdaFunctionEnvironment struct {
13931	_ struct{} `type:"structure"`
13932
13933	// An AwsLambdaFunctionEnvironmentError object.
13934	Error *AwsLambdaFunctionEnvironmentError `type:"structure"`
13935
13936	// Environment variable key-value pairs.
13937	Variables map[string]*string `type:"map"`
13938}
13939
13940// String returns the string representation
13941func (s AwsLambdaFunctionEnvironment) String() string {
13942	return awsutil.Prettify(s)
13943}
13944
13945// GoString returns the string representation
13946func (s AwsLambdaFunctionEnvironment) GoString() string {
13947	return s.String()
13948}
13949
13950// SetError sets the Error field's value.
13951func (s *AwsLambdaFunctionEnvironment) SetError(v *AwsLambdaFunctionEnvironmentError) *AwsLambdaFunctionEnvironment {
13952	s.Error = v
13953	return s
13954}
13955
13956// SetVariables sets the Variables field's value.
13957func (s *AwsLambdaFunctionEnvironment) SetVariables(v map[string]*string) *AwsLambdaFunctionEnvironment {
13958	s.Variables = v
13959	return s
13960}
13961
13962// Error messages for environment variables that couldn't be applied.
13963type AwsLambdaFunctionEnvironmentError struct {
13964	_ struct{} `type:"structure"`
13965
13966	// The error code.
13967	ErrorCode *string `type:"string"`
13968
13969	// The error message.
13970	Message *string `type:"string"`
13971}
13972
13973// String returns the string representation
13974func (s AwsLambdaFunctionEnvironmentError) String() string {
13975	return awsutil.Prettify(s)
13976}
13977
13978// GoString returns the string representation
13979func (s AwsLambdaFunctionEnvironmentError) GoString() string {
13980	return s.String()
13981}
13982
13983// SetErrorCode sets the ErrorCode field's value.
13984func (s *AwsLambdaFunctionEnvironmentError) SetErrorCode(v string) *AwsLambdaFunctionEnvironmentError {
13985	s.ErrorCode = &v
13986	return s
13987}
13988
13989// SetMessage sets the Message field's value.
13990func (s *AwsLambdaFunctionEnvironmentError) SetMessage(v string) *AwsLambdaFunctionEnvironmentError {
13991	s.Message = &v
13992	return s
13993}
13994
13995// An AWS Lambda layer.
13996type AwsLambdaFunctionLayer struct {
13997	_ struct{} `type:"structure"`
13998
13999	// The Amazon Resource Name (ARN) of the function layer.
14000	Arn *string `type:"string"`
14001
14002	// The size of the layer archive in bytes.
14003	CodeSize *int64 `type:"integer"`
14004}
14005
14006// String returns the string representation
14007func (s AwsLambdaFunctionLayer) String() string {
14008	return awsutil.Prettify(s)
14009}
14010
14011// GoString returns the string representation
14012func (s AwsLambdaFunctionLayer) GoString() string {
14013	return s.String()
14014}
14015
14016// SetArn sets the Arn field's value.
14017func (s *AwsLambdaFunctionLayer) SetArn(v string) *AwsLambdaFunctionLayer {
14018	s.Arn = &v
14019	return s
14020}
14021
14022// SetCodeSize sets the CodeSize field's value.
14023func (s *AwsLambdaFunctionLayer) SetCodeSize(v int64) *AwsLambdaFunctionLayer {
14024	s.CodeSize = &v
14025	return s
14026}
14027
14028// The function's AWS X-Ray tracing configuration.
14029type AwsLambdaFunctionTracingConfig struct {
14030	_ struct{} `type:"structure"`
14031
14032	// The tracing mode.
14033	Mode *string `type:"string"`
14034}
14035
14036// String returns the string representation
14037func (s AwsLambdaFunctionTracingConfig) String() string {
14038	return awsutil.Prettify(s)
14039}
14040
14041// GoString returns the string representation
14042func (s AwsLambdaFunctionTracingConfig) GoString() string {
14043	return s.String()
14044}
14045
14046// SetMode sets the Mode field's value.
14047func (s *AwsLambdaFunctionTracingConfig) SetMode(v string) *AwsLambdaFunctionTracingConfig {
14048	s.Mode = &v
14049	return s
14050}
14051
14052// The VPC security groups and subnets that are attached to a Lambda function.
14053// For more information, see VPC Settings.
14054type AwsLambdaFunctionVpcConfig struct {
14055	_ struct{} `type:"structure"`
14056
14057	// A list of VPC security groups IDs.
14058	SecurityGroupIds []*string `type:"list"`
14059
14060	// A list of VPC subnet IDs.
14061	SubnetIds []*string `type:"list"`
14062
14063	// The ID of the VPC.
14064	VpcId *string `type:"string"`
14065}
14066
14067// String returns the string representation
14068func (s AwsLambdaFunctionVpcConfig) String() string {
14069	return awsutil.Prettify(s)
14070}
14071
14072// GoString returns the string representation
14073func (s AwsLambdaFunctionVpcConfig) GoString() string {
14074	return s.String()
14075}
14076
14077// SetSecurityGroupIds sets the SecurityGroupIds field's value.
14078func (s *AwsLambdaFunctionVpcConfig) SetSecurityGroupIds(v []*string) *AwsLambdaFunctionVpcConfig {
14079	s.SecurityGroupIds = v
14080	return s
14081}
14082
14083// SetSubnetIds sets the SubnetIds field's value.
14084func (s *AwsLambdaFunctionVpcConfig) SetSubnetIds(v []*string) *AwsLambdaFunctionVpcConfig {
14085	s.SubnetIds = v
14086	return s
14087}
14088
14089// SetVpcId sets the VpcId field's value.
14090func (s *AwsLambdaFunctionVpcConfig) SetVpcId(v string) *AwsLambdaFunctionVpcConfig {
14091	s.VpcId = &v
14092	return s
14093}
14094
14095// Details about a Lambda layer version.
14096type AwsLambdaLayerVersionDetails struct {
14097	_ struct{} `type:"structure"`
14098
14099	// The layer's compatible runtimes. Maximum number of five items.
14100	//
14101	// Valid values: nodejs10.x | nodejs12.x | java8 | java11 | python2.7 | python3.6
14102	// | python3.7 | python3.8 | dotnetcore1.0 | dotnetcore2.1 | go1.x | ruby2.5
14103	// | provided
14104	CompatibleRuntimes []*string `type:"list"`
14105
14106	// Indicates when the version was created.
14107	//
14108	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
14109	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
14110	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
14111	CreatedDate *string `type:"string"`
14112
14113	// The version number.
14114	Version *int64 `type:"long"`
14115}
14116
14117// String returns the string representation
14118func (s AwsLambdaLayerVersionDetails) String() string {
14119	return awsutil.Prettify(s)
14120}
14121
14122// GoString returns the string representation
14123func (s AwsLambdaLayerVersionDetails) GoString() string {
14124	return s.String()
14125}
14126
14127// SetCompatibleRuntimes sets the CompatibleRuntimes field's value.
14128func (s *AwsLambdaLayerVersionDetails) SetCompatibleRuntimes(v []*string) *AwsLambdaLayerVersionDetails {
14129	s.CompatibleRuntimes = v
14130	return s
14131}
14132
14133// SetCreatedDate sets the CreatedDate field's value.
14134func (s *AwsLambdaLayerVersionDetails) SetCreatedDate(v string) *AwsLambdaLayerVersionDetails {
14135	s.CreatedDate = &v
14136	return s
14137}
14138
14139// SetVersion sets the Version field's value.
14140func (s *AwsLambdaLayerVersionDetails) SetVersion(v int64) *AwsLambdaLayerVersionDetails {
14141	s.Version = &v
14142	return s
14143}
14144
14145// An IAM role that is associated with the Amazon RDS DB cluster.
14146type AwsRdsDbClusterAssociatedRole struct {
14147	_ struct{} `type:"structure"`
14148
14149	// The ARN of the IAM role.
14150	RoleArn *string `type:"string"`
14151
14152	// The status of the association between the IAM role and the DB cluster.
14153	Status *string `type:"string"`
14154}
14155
14156// String returns the string representation
14157func (s AwsRdsDbClusterAssociatedRole) String() string {
14158	return awsutil.Prettify(s)
14159}
14160
14161// GoString returns the string representation
14162func (s AwsRdsDbClusterAssociatedRole) GoString() string {
14163	return s.String()
14164}
14165
14166// SetRoleArn sets the RoleArn field's value.
14167func (s *AwsRdsDbClusterAssociatedRole) SetRoleArn(v string) *AwsRdsDbClusterAssociatedRole {
14168	s.RoleArn = &v
14169	return s
14170}
14171
14172// SetStatus sets the Status field's value.
14173func (s *AwsRdsDbClusterAssociatedRole) SetStatus(v string) *AwsRdsDbClusterAssociatedRole {
14174	s.Status = &v
14175	return s
14176}
14177
14178// Information about an Amazon RDS DB cluster.
14179type AwsRdsDbClusterDetails struct {
14180	_ struct{} `type:"structure"`
14181
14182	// The status of the database activity stream.
14183	ActivityStreamStatus *string `type:"string"`
14184
14185	// For all database engines except Aurora, specifies the allocated storage size
14186	// in gibibytes (GiB).
14187	AllocatedStorage *int64 `type:"integer"`
14188
14189	// A list of the IAM roles that are associated with the DB cluster.
14190	AssociatedRoles []*AwsRdsDbClusterAssociatedRole `type:"list"`
14191
14192	// A list of Availability Zones (AZs) where instances in the DB cluster can
14193	// be created.
14194	AvailabilityZones []*string `type:"list"`
14195
14196	// The number of days for which automated backups are retained.
14197	BackupRetentionPeriod *int64 `type:"integer"`
14198
14199	// Indicates when the DB cluster was created, in Universal Coordinated Time
14200	// (UTC).
14201	//
14202	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
14203	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
14204	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
14205	ClusterCreateTime *string `type:"string"`
14206
14207	// Whether tags are copied from the DB cluster to snapshots of the DB cluster.
14208	CopyTagsToSnapshot *bool `type:"boolean"`
14209
14210	// Whether the DB cluster is a clone of a DB cluster owned by a different AWS
14211	// account.
14212	CrossAccountClone *bool `type:"boolean"`
14213
14214	// A list of custom endpoints for the DB cluster.
14215	CustomEndpoints []*string `type:"list"`
14216
14217	// The name of the database.
14218	DatabaseName *string `type:"string"`
14219
14220	// The DB cluster identifier that the user assigned to the cluster. This identifier
14221	// is the unique key that identifies a DB cluster.
14222	DbClusterIdentifier *string `type:"string"`
14223
14224	// The list of instances that make up the DB cluster.
14225	DbClusterMembers []*AwsRdsDbClusterMember `type:"list"`
14226
14227	// The list of option group memberships for this DB cluster.
14228	DbClusterOptionGroupMemberships []*AwsRdsDbClusterOptionGroupMembership `type:"list"`
14229
14230	// The name of the DB cluster parameter group for the DB cluster.
14231	DbClusterParameterGroup *string `type:"string"`
14232
14233	// The identifier of the DB cluster. The identifier must be unique within each
14234	// AWS Region and is immutable.
14235	DbClusterResourceId *string `type:"string"`
14236
14237	// The subnet group that is associated with the DB cluster, including the name,
14238	// description, and subnets in the subnet group.
14239	DbSubnetGroup *string `type:"string"`
14240
14241	// Whether the DB cluster has deletion protection enabled.
14242	DeletionProtection *bool `type:"boolean"`
14243
14244	// The Active Directory domain membership records that are associated with the
14245	// DB cluster.
14246	DomainMemberships []*AwsRdsDbDomainMembership `type:"list"`
14247
14248	// A list of log types that this DB cluster is configured to export to CloudWatch
14249	// Logs.
14250	EnabledCloudWatchLogsExports []*string `type:"list"`
14251
14252	// The connection endpoint for the primary instance of the DB cluster.
14253	Endpoint *string `type:"string"`
14254
14255	// The name of the database engine to use for this DB cluster.
14256	Engine *string `type:"string"`
14257
14258	// The database engine mode of the DB cluster.
14259	EngineMode *string `type:"string"`
14260
14261	// The version number of the database engine to use.
14262	EngineVersion *string `type:"string"`
14263
14264	// Specifies the identifier that Amazon Route 53 assigns when you create a hosted
14265	// zone.
14266	HostedZoneId *string `type:"string"`
14267
14268	// Whether the HTTP endpoint for an Aurora Serverless DB cluster is enabled.
14269	HttpEndpointEnabled *bool `type:"boolean"`
14270
14271	// Whether the mapping of IAM accounts to database accounts is enabled.
14272	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
14273
14274	// The ARN of the AWS KMS master key that is used to encrypt the database instances
14275	// in the DB cluster.
14276	KmsKeyId *string `type:"string"`
14277
14278	// The name of the master user for the DB cluster.
14279	MasterUsername *string `type:"string"`
14280
14281	// Whether the DB cluster has instances in multiple Availability Zones.
14282	MultiAz *bool `type:"boolean"`
14283
14284	// The port number on which the DB instances in the DB cluster accept connections.
14285	Port *int64 `type:"integer"`
14286
14287	// The range of time each day when automated backups are created, if automated
14288	// backups are enabled.
14289	//
14290	// Uses the format HH:MM-HH:MM. For example, 04:52-05:22.
14291	PreferredBackupWindow *string `type:"string"`
14292
14293	// The weekly time range during which system maintenance can occur, in Universal
14294	// Coordinated Time (UTC).
14295	//
14296	// Uses the format <day>:HH:MM-<day>:HH:MM.
14297	//
14298	// For the day values, use mon|tue|wed|thu|fri|sat|sun.
14299	//
14300	// For example, sun:09:32-sun:10:02.
14301	PreferredMaintenanceWindow *string `type:"string"`
14302
14303	// The identifiers of the read replicas that are associated with this DB cluster.
14304	ReadReplicaIdentifiers []*string `type:"list"`
14305
14306	// The reader endpoint for the DB cluster.
14307	ReaderEndpoint *string `type:"string"`
14308
14309	// The current status of this DB cluster.
14310	Status *string `type:"string"`
14311
14312	// Whether the DB cluster is encrypted.
14313	StorageEncrypted *bool `type:"boolean"`
14314
14315	// A list of VPC security groups that the DB cluster belongs to.
14316	VpcSecurityGroups []*AwsRdsDbInstanceVpcSecurityGroup `type:"list"`
14317}
14318
14319// String returns the string representation
14320func (s AwsRdsDbClusterDetails) String() string {
14321	return awsutil.Prettify(s)
14322}
14323
14324// GoString returns the string representation
14325func (s AwsRdsDbClusterDetails) GoString() string {
14326	return s.String()
14327}
14328
14329// SetActivityStreamStatus sets the ActivityStreamStatus field's value.
14330func (s *AwsRdsDbClusterDetails) SetActivityStreamStatus(v string) *AwsRdsDbClusterDetails {
14331	s.ActivityStreamStatus = &v
14332	return s
14333}
14334
14335// SetAllocatedStorage sets the AllocatedStorage field's value.
14336func (s *AwsRdsDbClusterDetails) SetAllocatedStorage(v int64) *AwsRdsDbClusterDetails {
14337	s.AllocatedStorage = &v
14338	return s
14339}
14340
14341// SetAssociatedRoles sets the AssociatedRoles field's value.
14342func (s *AwsRdsDbClusterDetails) SetAssociatedRoles(v []*AwsRdsDbClusterAssociatedRole) *AwsRdsDbClusterDetails {
14343	s.AssociatedRoles = v
14344	return s
14345}
14346
14347// SetAvailabilityZones sets the AvailabilityZones field's value.
14348func (s *AwsRdsDbClusterDetails) SetAvailabilityZones(v []*string) *AwsRdsDbClusterDetails {
14349	s.AvailabilityZones = v
14350	return s
14351}
14352
14353// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
14354func (s *AwsRdsDbClusterDetails) SetBackupRetentionPeriod(v int64) *AwsRdsDbClusterDetails {
14355	s.BackupRetentionPeriod = &v
14356	return s
14357}
14358
14359// SetClusterCreateTime sets the ClusterCreateTime field's value.
14360func (s *AwsRdsDbClusterDetails) SetClusterCreateTime(v string) *AwsRdsDbClusterDetails {
14361	s.ClusterCreateTime = &v
14362	return s
14363}
14364
14365// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
14366func (s *AwsRdsDbClusterDetails) SetCopyTagsToSnapshot(v bool) *AwsRdsDbClusterDetails {
14367	s.CopyTagsToSnapshot = &v
14368	return s
14369}
14370
14371// SetCrossAccountClone sets the CrossAccountClone field's value.
14372func (s *AwsRdsDbClusterDetails) SetCrossAccountClone(v bool) *AwsRdsDbClusterDetails {
14373	s.CrossAccountClone = &v
14374	return s
14375}
14376
14377// SetCustomEndpoints sets the CustomEndpoints field's value.
14378func (s *AwsRdsDbClusterDetails) SetCustomEndpoints(v []*string) *AwsRdsDbClusterDetails {
14379	s.CustomEndpoints = v
14380	return s
14381}
14382
14383// SetDatabaseName sets the DatabaseName field's value.
14384func (s *AwsRdsDbClusterDetails) SetDatabaseName(v string) *AwsRdsDbClusterDetails {
14385	s.DatabaseName = &v
14386	return s
14387}
14388
14389// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
14390func (s *AwsRdsDbClusterDetails) SetDbClusterIdentifier(v string) *AwsRdsDbClusterDetails {
14391	s.DbClusterIdentifier = &v
14392	return s
14393}
14394
14395// SetDbClusterMembers sets the DbClusterMembers field's value.
14396func (s *AwsRdsDbClusterDetails) SetDbClusterMembers(v []*AwsRdsDbClusterMember) *AwsRdsDbClusterDetails {
14397	s.DbClusterMembers = v
14398	return s
14399}
14400
14401// SetDbClusterOptionGroupMemberships sets the DbClusterOptionGroupMemberships field's value.
14402func (s *AwsRdsDbClusterDetails) SetDbClusterOptionGroupMemberships(v []*AwsRdsDbClusterOptionGroupMembership) *AwsRdsDbClusterDetails {
14403	s.DbClusterOptionGroupMemberships = v
14404	return s
14405}
14406
14407// SetDbClusterParameterGroup sets the DbClusterParameterGroup field's value.
14408func (s *AwsRdsDbClusterDetails) SetDbClusterParameterGroup(v string) *AwsRdsDbClusterDetails {
14409	s.DbClusterParameterGroup = &v
14410	return s
14411}
14412
14413// SetDbClusterResourceId sets the DbClusterResourceId field's value.
14414func (s *AwsRdsDbClusterDetails) SetDbClusterResourceId(v string) *AwsRdsDbClusterDetails {
14415	s.DbClusterResourceId = &v
14416	return s
14417}
14418
14419// SetDbSubnetGroup sets the DbSubnetGroup field's value.
14420func (s *AwsRdsDbClusterDetails) SetDbSubnetGroup(v string) *AwsRdsDbClusterDetails {
14421	s.DbSubnetGroup = &v
14422	return s
14423}
14424
14425// SetDeletionProtection sets the DeletionProtection field's value.
14426func (s *AwsRdsDbClusterDetails) SetDeletionProtection(v bool) *AwsRdsDbClusterDetails {
14427	s.DeletionProtection = &v
14428	return s
14429}
14430
14431// SetDomainMemberships sets the DomainMemberships field's value.
14432func (s *AwsRdsDbClusterDetails) SetDomainMemberships(v []*AwsRdsDbDomainMembership) *AwsRdsDbClusterDetails {
14433	s.DomainMemberships = v
14434	return s
14435}
14436
14437// SetEnabledCloudWatchLogsExports sets the EnabledCloudWatchLogsExports field's value.
14438func (s *AwsRdsDbClusterDetails) SetEnabledCloudWatchLogsExports(v []*string) *AwsRdsDbClusterDetails {
14439	s.EnabledCloudWatchLogsExports = v
14440	return s
14441}
14442
14443// SetEndpoint sets the Endpoint field's value.
14444func (s *AwsRdsDbClusterDetails) SetEndpoint(v string) *AwsRdsDbClusterDetails {
14445	s.Endpoint = &v
14446	return s
14447}
14448
14449// SetEngine sets the Engine field's value.
14450func (s *AwsRdsDbClusterDetails) SetEngine(v string) *AwsRdsDbClusterDetails {
14451	s.Engine = &v
14452	return s
14453}
14454
14455// SetEngineMode sets the EngineMode field's value.
14456func (s *AwsRdsDbClusterDetails) SetEngineMode(v string) *AwsRdsDbClusterDetails {
14457	s.EngineMode = &v
14458	return s
14459}
14460
14461// SetEngineVersion sets the EngineVersion field's value.
14462func (s *AwsRdsDbClusterDetails) SetEngineVersion(v string) *AwsRdsDbClusterDetails {
14463	s.EngineVersion = &v
14464	return s
14465}
14466
14467// SetHostedZoneId sets the HostedZoneId field's value.
14468func (s *AwsRdsDbClusterDetails) SetHostedZoneId(v string) *AwsRdsDbClusterDetails {
14469	s.HostedZoneId = &v
14470	return s
14471}
14472
14473// SetHttpEndpointEnabled sets the HttpEndpointEnabled field's value.
14474func (s *AwsRdsDbClusterDetails) SetHttpEndpointEnabled(v bool) *AwsRdsDbClusterDetails {
14475	s.HttpEndpointEnabled = &v
14476	return s
14477}
14478
14479// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
14480func (s *AwsRdsDbClusterDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbClusterDetails {
14481	s.IamDatabaseAuthenticationEnabled = &v
14482	return s
14483}
14484
14485// SetKmsKeyId sets the KmsKeyId field's value.
14486func (s *AwsRdsDbClusterDetails) SetKmsKeyId(v string) *AwsRdsDbClusterDetails {
14487	s.KmsKeyId = &v
14488	return s
14489}
14490
14491// SetMasterUsername sets the MasterUsername field's value.
14492func (s *AwsRdsDbClusterDetails) SetMasterUsername(v string) *AwsRdsDbClusterDetails {
14493	s.MasterUsername = &v
14494	return s
14495}
14496
14497// SetMultiAz sets the MultiAz field's value.
14498func (s *AwsRdsDbClusterDetails) SetMultiAz(v bool) *AwsRdsDbClusterDetails {
14499	s.MultiAz = &v
14500	return s
14501}
14502
14503// SetPort sets the Port field's value.
14504func (s *AwsRdsDbClusterDetails) SetPort(v int64) *AwsRdsDbClusterDetails {
14505	s.Port = &v
14506	return s
14507}
14508
14509// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
14510func (s *AwsRdsDbClusterDetails) SetPreferredBackupWindow(v string) *AwsRdsDbClusterDetails {
14511	s.PreferredBackupWindow = &v
14512	return s
14513}
14514
14515// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
14516func (s *AwsRdsDbClusterDetails) SetPreferredMaintenanceWindow(v string) *AwsRdsDbClusterDetails {
14517	s.PreferredMaintenanceWindow = &v
14518	return s
14519}
14520
14521// SetReadReplicaIdentifiers sets the ReadReplicaIdentifiers field's value.
14522func (s *AwsRdsDbClusterDetails) SetReadReplicaIdentifiers(v []*string) *AwsRdsDbClusterDetails {
14523	s.ReadReplicaIdentifiers = v
14524	return s
14525}
14526
14527// SetReaderEndpoint sets the ReaderEndpoint field's value.
14528func (s *AwsRdsDbClusterDetails) SetReaderEndpoint(v string) *AwsRdsDbClusterDetails {
14529	s.ReaderEndpoint = &v
14530	return s
14531}
14532
14533// SetStatus sets the Status field's value.
14534func (s *AwsRdsDbClusterDetails) SetStatus(v string) *AwsRdsDbClusterDetails {
14535	s.Status = &v
14536	return s
14537}
14538
14539// SetStorageEncrypted sets the StorageEncrypted field's value.
14540func (s *AwsRdsDbClusterDetails) SetStorageEncrypted(v bool) *AwsRdsDbClusterDetails {
14541	s.StorageEncrypted = &v
14542	return s
14543}
14544
14545// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
14546func (s *AwsRdsDbClusterDetails) SetVpcSecurityGroups(v []*AwsRdsDbInstanceVpcSecurityGroup) *AwsRdsDbClusterDetails {
14547	s.VpcSecurityGroups = v
14548	return s
14549}
14550
14551// Information about an instance in the DB cluster.
14552type AwsRdsDbClusterMember struct {
14553	_ struct{} `type:"structure"`
14554
14555	// The status of the DB cluster parameter group for this member of the DB cluster.
14556	DbClusterParameterGroupStatus *string `type:"string"`
14557
14558	// The instance identifier for this member of the DB cluster.
14559	DbInstanceIdentifier *string `type:"string"`
14560
14561	// Whether the cluster member is the primary instance for the DB cluster.
14562	IsClusterWriter *bool `type:"boolean"`
14563
14564	// Specifies the order in which an Aurora replica is promoted to the primary
14565	// instance when the existing primary instance fails.
14566	PromotionTier *int64 `type:"integer"`
14567}
14568
14569// String returns the string representation
14570func (s AwsRdsDbClusterMember) String() string {
14571	return awsutil.Prettify(s)
14572}
14573
14574// GoString returns the string representation
14575func (s AwsRdsDbClusterMember) GoString() string {
14576	return s.String()
14577}
14578
14579// SetDbClusterParameterGroupStatus sets the DbClusterParameterGroupStatus field's value.
14580func (s *AwsRdsDbClusterMember) SetDbClusterParameterGroupStatus(v string) *AwsRdsDbClusterMember {
14581	s.DbClusterParameterGroupStatus = &v
14582	return s
14583}
14584
14585// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
14586func (s *AwsRdsDbClusterMember) SetDbInstanceIdentifier(v string) *AwsRdsDbClusterMember {
14587	s.DbInstanceIdentifier = &v
14588	return s
14589}
14590
14591// SetIsClusterWriter sets the IsClusterWriter field's value.
14592func (s *AwsRdsDbClusterMember) SetIsClusterWriter(v bool) *AwsRdsDbClusterMember {
14593	s.IsClusterWriter = &v
14594	return s
14595}
14596
14597// SetPromotionTier sets the PromotionTier field's value.
14598func (s *AwsRdsDbClusterMember) SetPromotionTier(v int64) *AwsRdsDbClusterMember {
14599	s.PromotionTier = &v
14600	return s
14601}
14602
14603// Information about an option group membership for a DB cluster.
14604type AwsRdsDbClusterOptionGroupMembership struct {
14605	_ struct{} `type:"structure"`
14606
14607	// The name of the DB cluster option group.
14608	DbClusterOptionGroupName *string `type:"string"`
14609
14610	// The status of the DB cluster option group.
14611	Status *string `type:"string"`
14612}
14613
14614// String returns the string representation
14615func (s AwsRdsDbClusterOptionGroupMembership) String() string {
14616	return awsutil.Prettify(s)
14617}
14618
14619// GoString returns the string representation
14620func (s AwsRdsDbClusterOptionGroupMembership) GoString() string {
14621	return s.String()
14622}
14623
14624// SetDbClusterOptionGroupName sets the DbClusterOptionGroupName field's value.
14625func (s *AwsRdsDbClusterOptionGroupMembership) SetDbClusterOptionGroupName(v string) *AwsRdsDbClusterOptionGroupMembership {
14626	s.DbClusterOptionGroupName = &v
14627	return s
14628}
14629
14630// SetStatus sets the Status field's value.
14631func (s *AwsRdsDbClusterOptionGroupMembership) SetStatus(v string) *AwsRdsDbClusterOptionGroupMembership {
14632	s.Status = &v
14633	return s
14634}
14635
14636// Information about an Amazon RDS DB cluster snapshot.
14637type AwsRdsDbClusterSnapshotDetails struct {
14638	_ struct{} `type:"structure"`
14639
14640	// Specifies the allocated storage size in gibibytes (GiB).
14641	AllocatedStorage *int64 `type:"integer"`
14642
14643	// A list of Availability Zones where instances in the DB cluster can be created.
14644	AvailabilityZones []*string `type:"list"`
14645
14646	// Indicates when the DB cluster was created, in Universal Coordinated Time
14647	// (UTC).
14648	//
14649	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
14650	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
14651	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
14652	ClusterCreateTime *string `type:"string"`
14653
14654	// The DB cluster identifier.
14655	DbClusterIdentifier *string `type:"string"`
14656
14657	// The identifier of the DB cluster snapshot.
14658	DbClusterSnapshotIdentifier *string `type:"string"`
14659
14660	// The name of the database engine that you want to use for this DB instance.
14661	Engine *string `type:"string"`
14662
14663	// The version of the database engine to use.
14664	EngineVersion *string `type:"string"`
14665
14666	// Whether mapping of IAM accounts to database accounts is enabled.
14667	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
14668
14669	// The ARN of the AWS KMS master key that is used to encrypt the database instances
14670	// in the DB cluster.
14671	KmsKeyId *string `type:"string"`
14672
14673	// The license model information for this DB cluster snapshot.
14674	LicenseModel *string `type:"string"`
14675
14676	// The name of the master user for the DB cluster.
14677	MasterUsername *string `type:"string"`
14678
14679	// Specifies the percentage of the estimated data that has been transferred.
14680	PercentProgress *int64 `type:"integer"`
14681
14682	// The port number on which the DB instances in the DB cluster accept connections.
14683	Port *int64 `type:"integer"`
14684
14685	// Indicates when the snapshot was taken.
14686	//
14687	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
14688	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
14689	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
14690	SnapshotCreateTime *string `type:"string"`
14691
14692	// The type of DB cluster snapshot.
14693	SnapshotType *string `type:"string"`
14694
14695	// The status of this DB cluster snapshot.
14696	Status *string `type:"string"`
14697
14698	// Whether the DB cluster is encrypted.
14699	StorageEncrypted *bool `type:"boolean"`
14700
14701	// The VPC ID that is associated with the DB cluster snapshot.
14702	VpcId *string `type:"string"`
14703}
14704
14705// String returns the string representation
14706func (s AwsRdsDbClusterSnapshotDetails) String() string {
14707	return awsutil.Prettify(s)
14708}
14709
14710// GoString returns the string representation
14711func (s AwsRdsDbClusterSnapshotDetails) GoString() string {
14712	return s.String()
14713}
14714
14715// SetAllocatedStorage sets the AllocatedStorage field's value.
14716func (s *AwsRdsDbClusterSnapshotDetails) SetAllocatedStorage(v int64) *AwsRdsDbClusterSnapshotDetails {
14717	s.AllocatedStorage = &v
14718	return s
14719}
14720
14721// SetAvailabilityZones sets the AvailabilityZones field's value.
14722func (s *AwsRdsDbClusterSnapshotDetails) SetAvailabilityZones(v []*string) *AwsRdsDbClusterSnapshotDetails {
14723	s.AvailabilityZones = v
14724	return s
14725}
14726
14727// SetClusterCreateTime sets the ClusterCreateTime field's value.
14728func (s *AwsRdsDbClusterSnapshotDetails) SetClusterCreateTime(v string) *AwsRdsDbClusterSnapshotDetails {
14729	s.ClusterCreateTime = &v
14730	return s
14731}
14732
14733// SetDbClusterIdentifier sets the DbClusterIdentifier field's value.
14734func (s *AwsRdsDbClusterSnapshotDetails) SetDbClusterIdentifier(v string) *AwsRdsDbClusterSnapshotDetails {
14735	s.DbClusterIdentifier = &v
14736	return s
14737}
14738
14739// SetDbClusterSnapshotIdentifier sets the DbClusterSnapshotIdentifier field's value.
14740func (s *AwsRdsDbClusterSnapshotDetails) SetDbClusterSnapshotIdentifier(v string) *AwsRdsDbClusterSnapshotDetails {
14741	s.DbClusterSnapshotIdentifier = &v
14742	return s
14743}
14744
14745// SetEngine sets the Engine field's value.
14746func (s *AwsRdsDbClusterSnapshotDetails) SetEngine(v string) *AwsRdsDbClusterSnapshotDetails {
14747	s.Engine = &v
14748	return s
14749}
14750
14751// SetEngineVersion sets the EngineVersion field's value.
14752func (s *AwsRdsDbClusterSnapshotDetails) SetEngineVersion(v string) *AwsRdsDbClusterSnapshotDetails {
14753	s.EngineVersion = &v
14754	return s
14755}
14756
14757// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
14758func (s *AwsRdsDbClusterSnapshotDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbClusterSnapshotDetails {
14759	s.IamDatabaseAuthenticationEnabled = &v
14760	return s
14761}
14762
14763// SetKmsKeyId sets the KmsKeyId field's value.
14764func (s *AwsRdsDbClusterSnapshotDetails) SetKmsKeyId(v string) *AwsRdsDbClusterSnapshotDetails {
14765	s.KmsKeyId = &v
14766	return s
14767}
14768
14769// SetLicenseModel sets the LicenseModel field's value.
14770func (s *AwsRdsDbClusterSnapshotDetails) SetLicenseModel(v string) *AwsRdsDbClusterSnapshotDetails {
14771	s.LicenseModel = &v
14772	return s
14773}
14774
14775// SetMasterUsername sets the MasterUsername field's value.
14776func (s *AwsRdsDbClusterSnapshotDetails) SetMasterUsername(v string) *AwsRdsDbClusterSnapshotDetails {
14777	s.MasterUsername = &v
14778	return s
14779}
14780
14781// SetPercentProgress sets the PercentProgress field's value.
14782func (s *AwsRdsDbClusterSnapshotDetails) SetPercentProgress(v int64) *AwsRdsDbClusterSnapshotDetails {
14783	s.PercentProgress = &v
14784	return s
14785}
14786
14787// SetPort sets the Port field's value.
14788func (s *AwsRdsDbClusterSnapshotDetails) SetPort(v int64) *AwsRdsDbClusterSnapshotDetails {
14789	s.Port = &v
14790	return s
14791}
14792
14793// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
14794func (s *AwsRdsDbClusterSnapshotDetails) SetSnapshotCreateTime(v string) *AwsRdsDbClusterSnapshotDetails {
14795	s.SnapshotCreateTime = &v
14796	return s
14797}
14798
14799// SetSnapshotType sets the SnapshotType field's value.
14800func (s *AwsRdsDbClusterSnapshotDetails) SetSnapshotType(v string) *AwsRdsDbClusterSnapshotDetails {
14801	s.SnapshotType = &v
14802	return s
14803}
14804
14805// SetStatus sets the Status field's value.
14806func (s *AwsRdsDbClusterSnapshotDetails) SetStatus(v string) *AwsRdsDbClusterSnapshotDetails {
14807	s.Status = &v
14808	return s
14809}
14810
14811// SetStorageEncrypted sets the StorageEncrypted field's value.
14812func (s *AwsRdsDbClusterSnapshotDetails) SetStorageEncrypted(v bool) *AwsRdsDbClusterSnapshotDetails {
14813	s.StorageEncrypted = &v
14814	return s
14815}
14816
14817// SetVpcId sets the VpcId field's value.
14818func (s *AwsRdsDbClusterSnapshotDetails) SetVpcId(v string) *AwsRdsDbClusterSnapshotDetails {
14819	s.VpcId = &v
14820	return s
14821}
14822
14823// Information about an Active Directory domain membership record associated
14824// with the DB instance.
14825type AwsRdsDbDomainMembership struct {
14826	_ struct{} `type:"structure"`
14827
14828	// The identifier of the Active Directory domain.
14829	Domain *string `type:"string"`
14830
14831	// The fully qualified domain name of the Active Directory domain.
14832	Fqdn *string `type:"string"`
14833
14834	// The name of the IAM role to use when making API calls to the Directory Service.
14835	IamRoleName *string `type:"string"`
14836
14837	// The status of the Active Directory Domain membership for the DB instance.
14838	Status *string `type:"string"`
14839}
14840
14841// String returns the string representation
14842func (s AwsRdsDbDomainMembership) String() string {
14843	return awsutil.Prettify(s)
14844}
14845
14846// GoString returns the string representation
14847func (s AwsRdsDbDomainMembership) GoString() string {
14848	return s.String()
14849}
14850
14851// SetDomain sets the Domain field's value.
14852func (s *AwsRdsDbDomainMembership) SetDomain(v string) *AwsRdsDbDomainMembership {
14853	s.Domain = &v
14854	return s
14855}
14856
14857// SetFqdn sets the Fqdn field's value.
14858func (s *AwsRdsDbDomainMembership) SetFqdn(v string) *AwsRdsDbDomainMembership {
14859	s.Fqdn = &v
14860	return s
14861}
14862
14863// SetIamRoleName sets the IamRoleName field's value.
14864func (s *AwsRdsDbDomainMembership) SetIamRoleName(v string) *AwsRdsDbDomainMembership {
14865	s.IamRoleName = &v
14866	return s
14867}
14868
14869// SetStatus sets the Status field's value.
14870func (s *AwsRdsDbDomainMembership) SetStatus(v string) *AwsRdsDbDomainMembership {
14871	s.Status = &v
14872	return s
14873}
14874
14875// An AWS Identity and Access Management (IAM) role associated with the DB instance.
14876type AwsRdsDbInstanceAssociatedRole struct {
14877	_ struct{} `type:"structure"`
14878
14879	// The name of the feature associated with the IAM)role.
14880	FeatureName *string `type:"string"`
14881
14882	// The Amazon Resource Name (ARN) of the IAM role that is associated with the
14883	// DB instance.
14884	RoleArn *string `type:"string"`
14885
14886	// Describes the state of the association between the IAM role and the DB instance.
14887	// The Status property returns one of the following values:
14888	//
14889	//    * ACTIVE - The IAM role ARN is associated with the DB instance and can
14890	//    be used to access other AWS services on your behalf.
14891	//
14892	//    * PENDING - The IAM role ARN is being associated with the DB instance.
14893	//
14894	//    * INVALID - The IAM role ARN is associated with the DB instance. But the
14895	//    DB instance is unable to assume the IAM role in order to access other
14896	//    AWS services on your behalf.
14897	Status *string `type:"string"`
14898}
14899
14900// String returns the string representation
14901func (s AwsRdsDbInstanceAssociatedRole) String() string {
14902	return awsutil.Prettify(s)
14903}
14904
14905// GoString returns the string representation
14906func (s AwsRdsDbInstanceAssociatedRole) GoString() string {
14907	return s.String()
14908}
14909
14910// SetFeatureName sets the FeatureName field's value.
14911func (s *AwsRdsDbInstanceAssociatedRole) SetFeatureName(v string) *AwsRdsDbInstanceAssociatedRole {
14912	s.FeatureName = &v
14913	return s
14914}
14915
14916// SetRoleArn sets the RoleArn field's value.
14917func (s *AwsRdsDbInstanceAssociatedRole) SetRoleArn(v string) *AwsRdsDbInstanceAssociatedRole {
14918	s.RoleArn = &v
14919	return s
14920}
14921
14922// SetStatus sets the Status field's value.
14923func (s *AwsRdsDbInstanceAssociatedRole) SetStatus(v string) *AwsRdsDbInstanceAssociatedRole {
14924	s.Status = &v
14925	return s
14926}
14927
14928// Contains the details of an Amazon RDS DB instance.
14929type AwsRdsDbInstanceDetails struct {
14930	_ struct{} `type:"structure"`
14931
14932	// The amount of storage (in gigabytes) to initially allocate for the DB instance.
14933	AllocatedStorage *int64 `type:"integer"`
14934
14935	// The AWS Identity and Access Management (IAM) roles associated with the DB
14936	// instance.
14937	AssociatedRoles []*AwsRdsDbInstanceAssociatedRole `type:"list"`
14938
14939	// Indicates whether minor version patches are applied automatically.
14940	AutoMinorVersionUpgrade *bool `type:"boolean"`
14941
14942	// The Availability Zone where the DB instance will be created.
14943	AvailabilityZone *string `type:"string"`
14944
14945	// The number of days for which to retain automated backups.
14946	BackupRetentionPeriod *int64 `type:"integer"`
14947
14948	// The identifier of the CA certificate for this DB instance.
14949	CACertificateIdentifier *string `type:"string"`
14950
14951	// The name of the character set that this DB instance is associated with.
14952	CharacterSetName *string `type:"string"`
14953
14954	// Whether to copy resource tags to snapshots of the DB instance.
14955	CopyTagsToSnapshot *bool `type:"boolean"`
14956
14957	// If the DB instance is a member of a DB cluster, contains the name of the
14958	// DB cluster that the DB instance is a member of.
14959	DBClusterIdentifier *string `type:"string"`
14960
14961	// Contains the name of the compute and memory capacity class of the DB instance.
14962	DBInstanceClass *string `type:"string"`
14963
14964	// Contains a user-supplied database identifier. This identifier is the unique
14965	// key that identifies a DB instance.
14966	DBInstanceIdentifier *string `type:"string"`
14967
14968	// The meaning of this parameter differs according to the database engine you
14969	// use.
14970	//
14971	// MySQL, MariaDB, SQL Server, PostgreSQL
14972	//
14973	// Contains the name of the initial database of this instance that was provided
14974	// at create time, if one was specified when the DB instance was created. This
14975	// same name is returned for the life of the DB instance.
14976	//
14977	// Oracle
14978	//
14979	// Contains the Oracle System ID (SID) of the created DB instance. Not shown
14980	// when the returned parameters do not apply to an Oracle DB instance.
14981	DBName *string `type:"string"`
14982
14983	// Specifies the port that the DB instance listens on. If the DB instance is
14984	// part of a DB cluster, this can be a different port than the DB cluster port.
14985	DbInstancePort *int64 `type:"integer"`
14986
14987	// The current status of the DB instance.
14988	DbInstanceStatus *string `type:"string"`
14989
14990	// A list of the DB parameter groups to assign to the DB instance.
14991	DbParameterGroups []*AwsRdsDbParameterGroup `type:"list"`
14992
14993	// A list of the DB security groups to assign to the DB instance.
14994	DbSecurityGroups []*string `type:"list"`
14995
14996	// Information about the subnet group that is associated with the DB instance.
14997	DbSubnetGroup *AwsRdsDbSubnetGroup `type:"structure"`
14998
14999	// The AWS Region-unique, immutable identifier for the DB instance. This identifier
15000	// is found in AWS CloudTrail log entries whenever the AWS KMS key for the DB
15001	// instance is accessed.
15002	DbiResourceId *string `type:"string"`
15003
15004	// Indicates whether the DB instance has deletion protection enabled.
15005	//
15006	// When deletion protection is enabled, the database cannot be deleted.
15007	DeletionProtection *bool `type:"boolean"`
15008
15009	// The Active Directory domain membership records associated with the DB instance.
15010	DomainMemberships []*AwsRdsDbDomainMembership `type:"list"`
15011
15012	// A list of log types that this DB instance is configured to export to CloudWatch
15013	// Logs.
15014	EnabledCloudWatchLogsExports []*string `type:"list"`
15015
15016	// Specifies the connection endpoint.
15017	Endpoint *AwsRdsDbInstanceEndpoint `type:"structure"`
15018
15019	// Provides the name of the database engine to use for this DB instance.
15020	Engine *string `type:"string"`
15021
15022	// Indicates the database engine version.
15023	EngineVersion *string `type:"string"`
15024
15025	// The ARN of the CloudWatch Logs log stream that receives the enhanced monitoring
15026	// metrics data for the DB instance.
15027	EnhancedMonitoringResourceArn *string `type:"string"`
15028
15029	// True if mapping of AWS Identity and Access Management (IAM) accounts to database
15030	// accounts is enabled, and otherwise false.
15031	//
15032	// IAM database authentication can be enabled for the following database engines.
15033	//
15034	//    * For MySQL 5.6, minor version 5.6.34 or higher
15035	//
15036	//    * For MySQL 5.7, minor version 5.7.16 or higher
15037	//
15038	//    * Aurora 5.6 or higher
15039	IAMDatabaseAuthenticationEnabled *bool `type:"boolean"`
15040
15041	// Indicates when the DB instance was created.
15042	//
15043	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15044	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15045	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15046	InstanceCreateTime *string `type:"string"`
15047
15048	// Specifies the provisioned IOPS (I/O operations per second) for this DB instance.
15049	Iops *int64 `type:"integer"`
15050
15051	// If StorageEncrypted is true, the AWS KMS key identifier for the encrypted
15052	// DB instance.
15053	KmsKeyId *string `type:"string"`
15054
15055	// Specifies the latest time to which a database can be restored with point-in-time
15056	// restore.
15057	//
15058	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
15059	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
15060	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
15061	LatestRestorableTime *string `type:"string"`
15062
15063	// License model information for this DB instance.
15064	LicenseModel *string `type:"string"`
15065
15066	// Specifies the connection endpoint.
15067	ListenerEndpoint *AwsRdsDbInstanceEndpoint `type:"structure"`
15068
15069	// The master user name of the DB instance.
15070	MasterUsername *string `type:"string"`
15071
15072	// The upper limit to which Amazon RDS can automatically scale the storage of
15073	// the DB instance.
15074	MaxAllocatedStorage *int64 `type:"integer"`
15075
15076	// The interval, in seconds, between points when enhanced monitoring metrics
15077	// are collected for the DB instance.
15078	MonitoringInterval *int64 `type:"integer"`
15079
15080	// The ARN for the IAM role that permits Amazon RDS to send enhanced monitoring
15081	// metrics to CloudWatch Logs.
15082	MonitoringRoleArn *string `type:"string"`
15083
15084	// Whether the DB instance is a multiple Availability Zone deployment.
15085	MultiAz *bool `type:"boolean"`
15086
15087	// The list of option group memberships for this DB instance.
15088	OptionGroupMemberships []*AwsRdsDbOptionGroupMembership `type:"list"`
15089
15090	// Changes to the DB instance that are currently pending.
15091	PendingModifiedValues *AwsRdsDbPendingModifiedValues `type:"structure"`
15092
15093	// Indicates whether Performance Insights is enabled for the DB instance.
15094	PerformanceInsightsEnabled *bool `type:"boolean"`
15095
15096	// The identifier of the AWS KMS key used to encrypt the Performance Insights
15097	// data.
15098	PerformanceInsightsKmsKeyId *string `type:"string"`
15099
15100	// The number of days to retain Performance Insights data.
15101	PerformanceInsightsRetentionPeriod *int64 `type:"integer"`
15102
15103	// The range of time each day when automated backups are created, if automated
15104	// backups are enabled.
15105	//
15106	// Uses the format HH:MM-HH:MM. For example, 04:52-05:22.
15107	PreferredBackupWindow *string `type:"string"`
15108
15109	// The weekly time range during which system maintenance can occur, in Universal
15110	// Coordinated Time (UTC).
15111	//
15112	// Uses the format <day>:HH:MM-<day>:HH:MM.
15113	//
15114	// For the day values, use mon|tue|wed|thu|fri|sat|sun.
15115	//
15116	// For example, sun:09:32-sun:10:02.
15117	PreferredMaintenanceWindow *string `type:"string"`
15118
15119	// The number of CPU cores and the number of threads per core for the DB instance
15120	// class of the DB instance.
15121	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
15122
15123	// The order in which to promote an Aurora replica to the primary instance after
15124	// a failure of the existing primary instance.
15125	PromotionTier *int64 `type:"integer"`
15126
15127	// Specifies the accessibility options for the DB instance.
15128	//
15129	// A value of true specifies an Internet-facing instance with a publicly resolvable
15130	// DNS name, which resolves to a public IP address.
15131	//
15132	// A value of false specifies an internal instance with a DNS name that resolves
15133	// to a private IP address.
15134	PubliclyAccessible *bool `type:"boolean"`
15135
15136	// List of identifiers of Aurora DB clusters to which the RDS DB instance is
15137	// replicated as a read replica.
15138	ReadReplicaDBClusterIdentifiers []*string `type:"list"`
15139
15140	// List of identifiers of the read replicas associated with this DB instance.
15141	ReadReplicaDBInstanceIdentifiers []*string `type:"list"`
15142
15143	// If this DB instance is a read replica, contains the identifier of the source
15144	// DB instance.
15145	ReadReplicaSourceDBInstanceIdentifier *string `type:"string"`
15146
15147	// For a DB instance with multi-Availability Zone support, the name of the secondary
15148	// Availability Zone.
15149	SecondaryAvailabilityZone *string `type:"string"`
15150
15151	// The status of a read replica. If the instance isn't a read replica, this
15152	// is empty.
15153	StatusInfos []*AwsRdsDbStatusInfo `type:"list"`
15154
15155	// Specifies whether the DB instance is encrypted.
15156	StorageEncrypted *bool `type:"boolean"`
15157
15158	// The storage type for the DB instance.
15159	StorageType *string `type:"string"`
15160
15161	// The ARN from the key store with which the instance is associated for TDE
15162	// encryption.
15163	TdeCredentialArn *string `type:"string"`
15164
15165	// The time zone of the DB instance.
15166	Timezone *string `type:"string"`
15167
15168	// A list of VPC security groups that the DB instance belongs to.
15169	VpcSecurityGroups []*AwsRdsDbInstanceVpcSecurityGroup `type:"list"`
15170}
15171
15172// String returns the string representation
15173func (s AwsRdsDbInstanceDetails) String() string {
15174	return awsutil.Prettify(s)
15175}
15176
15177// GoString returns the string representation
15178func (s AwsRdsDbInstanceDetails) GoString() string {
15179	return s.String()
15180}
15181
15182// SetAllocatedStorage sets the AllocatedStorage field's value.
15183func (s *AwsRdsDbInstanceDetails) SetAllocatedStorage(v int64) *AwsRdsDbInstanceDetails {
15184	s.AllocatedStorage = &v
15185	return s
15186}
15187
15188// SetAssociatedRoles sets the AssociatedRoles field's value.
15189func (s *AwsRdsDbInstanceDetails) SetAssociatedRoles(v []*AwsRdsDbInstanceAssociatedRole) *AwsRdsDbInstanceDetails {
15190	s.AssociatedRoles = v
15191	return s
15192}
15193
15194// SetAutoMinorVersionUpgrade sets the AutoMinorVersionUpgrade field's value.
15195func (s *AwsRdsDbInstanceDetails) SetAutoMinorVersionUpgrade(v bool) *AwsRdsDbInstanceDetails {
15196	s.AutoMinorVersionUpgrade = &v
15197	return s
15198}
15199
15200// SetAvailabilityZone sets the AvailabilityZone field's value.
15201func (s *AwsRdsDbInstanceDetails) SetAvailabilityZone(v string) *AwsRdsDbInstanceDetails {
15202	s.AvailabilityZone = &v
15203	return s
15204}
15205
15206// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
15207func (s *AwsRdsDbInstanceDetails) SetBackupRetentionPeriod(v int64) *AwsRdsDbInstanceDetails {
15208	s.BackupRetentionPeriod = &v
15209	return s
15210}
15211
15212// SetCACertificateIdentifier sets the CACertificateIdentifier field's value.
15213func (s *AwsRdsDbInstanceDetails) SetCACertificateIdentifier(v string) *AwsRdsDbInstanceDetails {
15214	s.CACertificateIdentifier = &v
15215	return s
15216}
15217
15218// SetCharacterSetName sets the CharacterSetName field's value.
15219func (s *AwsRdsDbInstanceDetails) SetCharacterSetName(v string) *AwsRdsDbInstanceDetails {
15220	s.CharacterSetName = &v
15221	return s
15222}
15223
15224// SetCopyTagsToSnapshot sets the CopyTagsToSnapshot field's value.
15225func (s *AwsRdsDbInstanceDetails) SetCopyTagsToSnapshot(v bool) *AwsRdsDbInstanceDetails {
15226	s.CopyTagsToSnapshot = &v
15227	return s
15228}
15229
15230// SetDBClusterIdentifier sets the DBClusterIdentifier field's value.
15231func (s *AwsRdsDbInstanceDetails) SetDBClusterIdentifier(v string) *AwsRdsDbInstanceDetails {
15232	s.DBClusterIdentifier = &v
15233	return s
15234}
15235
15236// SetDBInstanceClass sets the DBInstanceClass field's value.
15237func (s *AwsRdsDbInstanceDetails) SetDBInstanceClass(v string) *AwsRdsDbInstanceDetails {
15238	s.DBInstanceClass = &v
15239	return s
15240}
15241
15242// SetDBInstanceIdentifier sets the DBInstanceIdentifier field's value.
15243func (s *AwsRdsDbInstanceDetails) SetDBInstanceIdentifier(v string) *AwsRdsDbInstanceDetails {
15244	s.DBInstanceIdentifier = &v
15245	return s
15246}
15247
15248// SetDBName sets the DBName field's value.
15249func (s *AwsRdsDbInstanceDetails) SetDBName(v string) *AwsRdsDbInstanceDetails {
15250	s.DBName = &v
15251	return s
15252}
15253
15254// SetDbInstancePort sets the DbInstancePort field's value.
15255func (s *AwsRdsDbInstanceDetails) SetDbInstancePort(v int64) *AwsRdsDbInstanceDetails {
15256	s.DbInstancePort = &v
15257	return s
15258}
15259
15260// SetDbInstanceStatus sets the DbInstanceStatus field's value.
15261func (s *AwsRdsDbInstanceDetails) SetDbInstanceStatus(v string) *AwsRdsDbInstanceDetails {
15262	s.DbInstanceStatus = &v
15263	return s
15264}
15265
15266// SetDbParameterGroups sets the DbParameterGroups field's value.
15267func (s *AwsRdsDbInstanceDetails) SetDbParameterGroups(v []*AwsRdsDbParameterGroup) *AwsRdsDbInstanceDetails {
15268	s.DbParameterGroups = v
15269	return s
15270}
15271
15272// SetDbSecurityGroups sets the DbSecurityGroups field's value.
15273func (s *AwsRdsDbInstanceDetails) SetDbSecurityGroups(v []*string) *AwsRdsDbInstanceDetails {
15274	s.DbSecurityGroups = v
15275	return s
15276}
15277
15278// SetDbSubnetGroup sets the DbSubnetGroup field's value.
15279func (s *AwsRdsDbInstanceDetails) SetDbSubnetGroup(v *AwsRdsDbSubnetGroup) *AwsRdsDbInstanceDetails {
15280	s.DbSubnetGroup = v
15281	return s
15282}
15283
15284// SetDbiResourceId sets the DbiResourceId field's value.
15285func (s *AwsRdsDbInstanceDetails) SetDbiResourceId(v string) *AwsRdsDbInstanceDetails {
15286	s.DbiResourceId = &v
15287	return s
15288}
15289
15290// SetDeletionProtection sets the DeletionProtection field's value.
15291func (s *AwsRdsDbInstanceDetails) SetDeletionProtection(v bool) *AwsRdsDbInstanceDetails {
15292	s.DeletionProtection = &v
15293	return s
15294}
15295
15296// SetDomainMemberships sets the DomainMemberships field's value.
15297func (s *AwsRdsDbInstanceDetails) SetDomainMemberships(v []*AwsRdsDbDomainMembership) *AwsRdsDbInstanceDetails {
15298	s.DomainMemberships = v
15299	return s
15300}
15301
15302// SetEnabledCloudWatchLogsExports sets the EnabledCloudWatchLogsExports field's value.
15303func (s *AwsRdsDbInstanceDetails) SetEnabledCloudWatchLogsExports(v []*string) *AwsRdsDbInstanceDetails {
15304	s.EnabledCloudWatchLogsExports = v
15305	return s
15306}
15307
15308// SetEndpoint sets the Endpoint field's value.
15309func (s *AwsRdsDbInstanceDetails) SetEndpoint(v *AwsRdsDbInstanceEndpoint) *AwsRdsDbInstanceDetails {
15310	s.Endpoint = v
15311	return s
15312}
15313
15314// SetEngine sets the Engine field's value.
15315func (s *AwsRdsDbInstanceDetails) SetEngine(v string) *AwsRdsDbInstanceDetails {
15316	s.Engine = &v
15317	return s
15318}
15319
15320// SetEngineVersion sets the EngineVersion field's value.
15321func (s *AwsRdsDbInstanceDetails) SetEngineVersion(v string) *AwsRdsDbInstanceDetails {
15322	s.EngineVersion = &v
15323	return s
15324}
15325
15326// SetEnhancedMonitoringResourceArn sets the EnhancedMonitoringResourceArn field's value.
15327func (s *AwsRdsDbInstanceDetails) SetEnhancedMonitoringResourceArn(v string) *AwsRdsDbInstanceDetails {
15328	s.EnhancedMonitoringResourceArn = &v
15329	return s
15330}
15331
15332// SetIAMDatabaseAuthenticationEnabled sets the IAMDatabaseAuthenticationEnabled field's value.
15333func (s *AwsRdsDbInstanceDetails) SetIAMDatabaseAuthenticationEnabled(v bool) *AwsRdsDbInstanceDetails {
15334	s.IAMDatabaseAuthenticationEnabled = &v
15335	return s
15336}
15337
15338// SetInstanceCreateTime sets the InstanceCreateTime field's value.
15339func (s *AwsRdsDbInstanceDetails) SetInstanceCreateTime(v string) *AwsRdsDbInstanceDetails {
15340	s.InstanceCreateTime = &v
15341	return s
15342}
15343
15344// SetIops sets the Iops field's value.
15345func (s *AwsRdsDbInstanceDetails) SetIops(v int64) *AwsRdsDbInstanceDetails {
15346	s.Iops = &v
15347	return s
15348}
15349
15350// SetKmsKeyId sets the KmsKeyId field's value.
15351func (s *AwsRdsDbInstanceDetails) SetKmsKeyId(v string) *AwsRdsDbInstanceDetails {
15352	s.KmsKeyId = &v
15353	return s
15354}
15355
15356// SetLatestRestorableTime sets the LatestRestorableTime field's value.
15357func (s *AwsRdsDbInstanceDetails) SetLatestRestorableTime(v string) *AwsRdsDbInstanceDetails {
15358	s.LatestRestorableTime = &v
15359	return s
15360}
15361
15362// SetLicenseModel sets the LicenseModel field's value.
15363func (s *AwsRdsDbInstanceDetails) SetLicenseModel(v string) *AwsRdsDbInstanceDetails {
15364	s.LicenseModel = &v
15365	return s
15366}
15367
15368// SetListenerEndpoint sets the ListenerEndpoint field's value.
15369func (s *AwsRdsDbInstanceDetails) SetListenerEndpoint(v *AwsRdsDbInstanceEndpoint) *AwsRdsDbInstanceDetails {
15370	s.ListenerEndpoint = v
15371	return s
15372}
15373
15374// SetMasterUsername sets the MasterUsername field's value.
15375func (s *AwsRdsDbInstanceDetails) SetMasterUsername(v string) *AwsRdsDbInstanceDetails {
15376	s.MasterUsername = &v
15377	return s
15378}
15379
15380// SetMaxAllocatedStorage sets the MaxAllocatedStorage field's value.
15381func (s *AwsRdsDbInstanceDetails) SetMaxAllocatedStorage(v int64) *AwsRdsDbInstanceDetails {
15382	s.MaxAllocatedStorage = &v
15383	return s
15384}
15385
15386// SetMonitoringInterval sets the MonitoringInterval field's value.
15387func (s *AwsRdsDbInstanceDetails) SetMonitoringInterval(v int64) *AwsRdsDbInstanceDetails {
15388	s.MonitoringInterval = &v
15389	return s
15390}
15391
15392// SetMonitoringRoleArn sets the MonitoringRoleArn field's value.
15393func (s *AwsRdsDbInstanceDetails) SetMonitoringRoleArn(v string) *AwsRdsDbInstanceDetails {
15394	s.MonitoringRoleArn = &v
15395	return s
15396}
15397
15398// SetMultiAz sets the MultiAz field's value.
15399func (s *AwsRdsDbInstanceDetails) SetMultiAz(v bool) *AwsRdsDbInstanceDetails {
15400	s.MultiAz = &v
15401	return s
15402}
15403
15404// SetOptionGroupMemberships sets the OptionGroupMemberships field's value.
15405func (s *AwsRdsDbInstanceDetails) SetOptionGroupMemberships(v []*AwsRdsDbOptionGroupMembership) *AwsRdsDbInstanceDetails {
15406	s.OptionGroupMemberships = v
15407	return s
15408}
15409
15410// SetPendingModifiedValues sets the PendingModifiedValues field's value.
15411func (s *AwsRdsDbInstanceDetails) SetPendingModifiedValues(v *AwsRdsDbPendingModifiedValues) *AwsRdsDbInstanceDetails {
15412	s.PendingModifiedValues = v
15413	return s
15414}
15415
15416// SetPerformanceInsightsEnabled sets the PerformanceInsightsEnabled field's value.
15417func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsEnabled(v bool) *AwsRdsDbInstanceDetails {
15418	s.PerformanceInsightsEnabled = &v
15419	return s
15420}
15421
15422// SetPerformanceInsightsKmsKeyId sets the PerformanceInsightsKmsKeyId field's value.
15423func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsKmsKeyId(v string) *AwsRdsDbInstanceDetails {
15424	s.PerformanceInsightsKmsKeyId = &v
15425	return s
15426}
15427
15428// SetPerformanceInsightsRetentionPeriod sets the PerformanceInsightsRetentionPeriod field's value.
15429func (s *AwsRdsDbInstanceDetails) SetPerformanceInsightsRetentionPeriod(v int64) *AwsRdsDbInstanceDetails {
15430	s.PerformanceInsightsRetentionPeriod = &v
15431	return s
15432}
15433
15434// SetPreferredBackupWindow sets the PreferredBackupWindow field's value.
15435func (s *AwsRdsDbInstanceDetails) SetPreferredBackupWindow(v string) *AwsRdsDbInstanceDetails {
15436	s.PreferredBackupWindow = &v
15437	return s
15438}
15439
15440// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
15441func (s *AwsRdsDbInstanceDetails) SetPreferredMaintenanceWindow(v string) *AwsRdsDbInstanceDetails {
15442	s.PreferredMaintenanceWindow = &v
15443	return s
15444}
15445
15446// SetProcessorFeatures sets the ProcessorFeatures field's value.
15447func (s *AwsRdsDbInstanceDetails) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbInstanceDetails {
15448	s.ProcessorFeatures = v
15449	return s
15450}
15451
15452// SetPromotionTier sets the PromotionTier field's value.
15453func (s *AwsRdsDbInstanceDetails) SetPromotionTier(v int64) *AwsRdsDbInstanceDetails {
15454	s.PromotionTier = &v
15455	return s
15456}
15457
15458// SetPubliclyAccessible sets the PubliclyAccessible field's value.
15459func (s *AwsRdsDbInstanceDetails) SetPubliclyAccessible(v bool) *AwsRdsDbInstanceDetails {
15460	s.PubliclyAccessible = &v
15461	return s
15462}
15463
15464// SetReadReplicaDBClusterIdentifiers sets the ReadReplicaDBClusterIdentifiers field's value.
15465func (s *AwsRdsDbInstanceDetails) SetReadReplicaDBClusterIdentifiers(v []*string) *AwsRdsDbInstanceDetails {
15466	s.ReadReplicaDBClusterIdentifiers = v
15467	return s
15468}
15469
15470// SetReadReplicaDBInstanceIdentifiers sets the ReadReplicaDBInstanceIdentifiers field's value.
15471func (s *AwsRdsDbInstanceDetails) SetReadReplicaDBInstanceIdentifiers(v []*string) *AwsRdsDbInstanceDetails {
15472	s.ReadReplicaDBInstanceIdentifiers = v
15473	return s
15474}
15475
15476// SetReadReplicaSourceDBInstanceIdentifier sets the ReadReplicaSourceDBInstanceIdentifier field's value.
15477func (s *AwsRdsDbInstanceDetails) SetReadReplicaSourceDBInstanceIdentifier(v string) *AwsRdsDbInstanceDetails {
15478	s.ReadReplicaSourceDBInstanceIdentifier = &v
15479	return s
15480}
15481
15482// SetSecondaryAvailabilityZone sets the SecondaryAvailabilityZone field's value.
15483func (s *AwsRdsDbInstanceDetails) SetSecondaryAvailabilityZone(v string) *AwsRdsDbInstanceDetails {
15484	s.SecondaryAvailabilityZone = &v
15485	return s
15486}
15487
15488// SetStatusInfos sets the StatusInfos field's value.
15489func (s *AwsRdsDbInstanceDetails) SetStatusInfos(v []*AwsRdsDbStatusInfo) *AwsRdsDbInstanceDetails {
15490	s.StatusInfos = v
15491	return s
15492}
15493
15494// SetStorageEncrypted sets the StorageEncrypted field's value.
15495func (s *AwsRdsDbInstanceDetails) SetStorageEncrypted(v bool) *AwsRdsDbInstanceDetails {
15496	s.StorageEncrypted = &v
15497	return s
15498}
15499
15500// SetStorageType sets the StorageType field's value.
15501func (s *AwsRdsDbInstanceDetails) SetStorageType(v string) *AwsRdsDbInstanceDetails {
15502	s.StorageType = &v
15503	return s
15504}
15505
15506// SetTdeCredentialArn sets the TdeCredentialArn field's value.
15507func (s *AwsRdsDbInstanceDetails) SetTdeCredentialArn(v string) *AwsRdsDbInstanceDetails {
15508	s.TdeCredentialArn = &v
15509	return s
15510}
15511
15512// SetTimezone sets the Timezone field's value.
15513func (s *AwsRdsDbInstanceDetails) SetTimezone(v string) *AwsRdsDbInstanceDetails {
15514	s.Timezone = &v
15515	return s
15516}
15517
15518// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
15519func (s *AwsRdsDbInstanceDetails) SetVpcSecurityGroups(v []*AwsRdsDbInstanceVpcSecurityGroup) *AwsRdsDbInstanceDetails {
15520	s.VpcSecurityGroups = v
15521	return s
15522}
15523
15524// Specifies the connection endpoint.
15525type AwsRdsDbInstanceEndpoint struct {
15526	_ struct{} `type:"structure"`
15527
15528	// Specifies the DNS address of the DB instance.
15529	Address *string `type:"string"`
15530
15531	// Specifies the ID that Amazon Route 53 assigns when you create a hosted zone.
15532	HostedZoneId *string `type:"string"`
15533
15534	// Specifies the port that the database engine is listening on.
15535	Port *int64 `type:"integer"`
15536}
15537
15538// String returns the string representation
15539func (s AwsRdsDbInstanceEndpoint) String() string {
15540	return awsutil.Prettify(s)
15541}
15542
15543// GoString returns the string representation
15544func (s AwsRdsDbInstanceEndpoint) GoString() string {
15545	return s.String()
15546}
15547
15548// SetAddress sets the Address field's value.
15549func (s *AwsRdsDbInstanceEndpoint) SetAddress(v string) *AwsRdsDbInstanceEndpoint {
15550	s.Address = &v
15551	return s
15552}
15553
15554// SetHostedZoneId sets the HostedZoneId field's value.
15555func (s *AwsRdsDbInstanceEndpoint) SetHostedZoneId(v string) *AwsRdsDbInstanceEndpoint {
15556	s.HostedZoneId = &v
15557	return s
15558}
15559
15560// SetPort sets the Port field's value.
15561func (s *AwsRdsDbInstanceEndpoint) SetPort(v int64) *AwsRdsDbInstanceEndpoint {
15562	s.Port = &v
15563	return s
15564}
15565
15566// A VPC security groups that the DB instance belongs to.
15567type AwsRdsDbInstanceVpcSecurityGroup struct {
15568	_ struct{} `type:"structure"`
15569
15570	// The status of the VPC security group.
15571	Status *string `type:"string"`
15572
15573	// The name of the VPC security group.
15574	VpcSecurityGroupId *string `type:"string"`
15575}
15576
15577// String returns the string representation
15578func (s AwsRdsDbInstanceVpcSecurityGroup) String() string {
15579	return awsutil.Prettify(s)
15580}
15581
15582// GoString returns the string representation
15583func (s AwsRdsDbInstanceVpcSecurityGroup) GoString() string {
15584	return s.String()
15585}
15586
15587// SetStatus sets the Status field's value.
15588func (s *AwsRdsDbInstanceVpcSecurityGroup) SetStatus(v string) *AwsRdsDbInstanceVpcSecurityGroup {
15589	s.Status = &v
15590	return s
15591}
15592
15593// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
15594func (s *AwsRdsDbInstanceVpcSecurityGroup) SetVpcSecurityGroupId(v string) *AwsRdsDbInstanceVpcSecurityGroup {
15595	s.VpcSecurityGroupId = &v
15596	return s
15597}
15598
15599// An option group membership.
15600type AwsRdsDbOptionGroupMembership struct {
15601	_ struct{} `type:"structure"`
15602
15603	// The name of the option group.
15604	OptionGroupName *string `type:"string"`
15605
15606	// The status of the option group membership.
15607	Status *string `type:"string"`
15608}
15609
15610// String returns the string representation
15611func (s AwsRdsDbOptionGroupMembership) String() string {
15612	return awsutil.Prettify(s)
15613}
15614
15615// GoString returns the string representation
15616func (s AwsRdsDbOptionGroupMembership) GoString() string {
15617	return s.String()
15618}
15619
15620// SetOptionGroupName sets the OptionGroupName field's value.
15621func (s *AwsRdsDbOptionGroupMembership) SetOptionGroupName(v string) *AwsRdsDbOptionGroupMembership {
15622	s.OptionGroupName = &v
15623	return s
15624}
15625
15626// SetStatus sets the Status field's value.
15627func (s *AwsRdsDbOptionGroupMembership) SetStatus(v string) *AwsRdsDbOptionGroupMembership {
15628	s.Status = &v
15629	return s
15630}
15631
15632// Provides information about a parameter group for a DB instance.
15633type AwsRdsDbParameterGroup struct {
15634	_ struct{} `type:"structure"`
15635
15636	// The name of the parameter group.
15637	DbParameterGroupName *string `type:"string"`
15638
15639	// The status of parameter updates.
15640	ParameterApplyStatus *string `type:"string"`
15641}
15642
15643// String returns the string representation
15644func (s AwsRdsDbParameterGroup) String() string {
15645	return awsutil.Prettify(s)
15646}
15647
15648// GoString returns the string representation
15649func (s AwsRdsDbParameterGroup) GoString() string {
15650	return s.String()
15651}
15652
15653// SetDbParameterGroupName sets the DbParameterGroupName field's value.
15654func (s *AwsRdsDbParameterGroup) SetDbParameterGroupName(v string) *AwsRdsDbParameterGroup {
15655	s.DbParameterGroupName = &v
15656	return s
15657}
15658
15659// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
15660func (s *AwsRdsDbParameterGroup) SetParameterApplyStatus(v string) *AwsRdsDbParameterGroup {
15661	s.ParameterApplyStatus = &v
15662	return s
15663}
15664
15665// Changes to a DB instance that are currently pending.
15666type AwsRdsDbPendingModifiedValues struct {
15667	_ struct{} `type:"structure"`
15668
15669	// The new value of the allocated storage for the DB instance.
15670	AllocatedStorage *int64 `type:"integer"`
15671
15672	// The new backup retention period for the DB instance.
15673	BackupRetentionPeriod *int64 `type:"integer"`
15674
15675	// The new CA certificate identifier for the DB instance.
15676	CaCertificateIdentifier *string `type:"string"`
15677
15678	// The new DB instance class for the DB instance.
15679	DbInstanceClass *string `type:"string"`
15680
15681	// The new DB instance identifier for the DB instance.
15682	DbInstanceIdentifier *string `type:"string"`
15683
15684	// The name of the new subnet group for the DB instance.
15685	DbSubnetGroupName *string `type:"string"`
15686
15687	// The new engine version for the DB instance.
15688	EngineVersion *string `type:"string"`
15689
15690	// The new provisioned IOPS value for the DB instance.
15691	Iops *int64 `type:"integer"`
15692
15693	// The new license model value for the DB instance.
15694	LicenseModel *string `type:"string"`
15695
15696	// The new master user password for the DB instance.
15697	MasterUserPassword *string `type:"string"`
15698
15699	// Indicates that a single Availability Zone DB instance is changing to a multiple
15700	// Availability Zone deployment.
15701	MultiAZ *bool `type:"boolean"`
15702
15703	// A list of log types that are being enabled or disabled.
15704	PendingCloudWatchLogsExports *AwsRdsPendingCloudWatchLogsExports `type:"structure"`
15705
15706	// The new port for the DB instance.
15707	Port *int64 `type:"integer"`
15708
15709	// Processor features that are being updated.
15710	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
15711
15712	// The new storage type for the DB instance.
15713	StorageType *string `type:"string"`
15714}
15715
15716// String returns the string representation
15717func (s AwsRdsDbPendingModifiedValues) String() string {
15718	return awsutil.Prettify(s)
15719}
15720
15721// GoString returns the string representation
15722func (s AwsRdsDbPendingModifiedValues) GoString() string {
15723	return s.String()
15724}
15725
15726// SetAllocatedStorage sets the AllocatedStorage field's value.
15727func (s *AwsRdsDbPendingModifiedValues) SetAllocatedStorage(v int64) *AwsRdsDbPendingModifiedValues {
15728	s.AllocatedStorage = &v
15729	return s
15730}
15731
15732// SetBackupRetentionPeriod sets the BackupRetentionPeriod field's value.
15733func (s *AwsRdsDbPendingModifiedValues) SetBackupRetentionPeriod(v int64) *AwsRdsDbPendingModifiedValues {
15734	s.BackupRetentionPeriod = &v
15735	return s
15736}
15737
15738// SetCaCertificateIdentifier sets the CaCertificateIdentifier field's value.
15739func (s *AwsRdsDbPendingModifiedValues) SetCaCertificateIdentifier(v string) *AwsRdsDbPendingModifiedValues {
15740	s.CaCertificateIdentifier = &v
15741	return s
15742}
15743
15744// SetDbInstanceClass sets the DbInstanceClass field's value.
15745func (s *AwsRdsDbPendingModifiedValues) SetDbInstanceClass(v string) *AwsRdsDbPendingModifiedValues {
15746	s.DbInstanceClass = &v
15747	return s
15748}
15749
15750// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
15751func (s *AwsRdsDbPendingModifiedValues) SetDbInstanceIdentifier(v string) *AwsRdsDbPendingModifiedValues {
15752	s.DbInstanceIdentifier = &v
15753	return s
15754}
15755
15756// SetDbSubnetGroupName sets the DbSubnetGroupName field's value.
15757func (s *AwsRdsDbPendingModifiedValues) SetDbSubnetGroupName(v string) *AwsRdsDbPendingModifiedValues {
15758	s.DbSubnetGroupName = &v
15759	return s
15760}
15761
15762// SetEngineVersion sets the EngineVersion field's value.
15763func (s *AwsRdsDbPendingModifiedValues) SetEngineVersion(v string) *AwsRdsDbPendingModifiedValues {
15764	s.EngineVersion = &v
15765	return s
15766}
15767
15768// SetIops sets the Iops field's value.
15769func (s *AwsRdsDbPendingModifiedValues) SetIops(v int64) *AwsRdsDbPendingModifiedValues {
15770	s.Iops = &v
15771	return s
15772}
15773
15774// SetLicenseModel sets the LicenseModel field's value.
15775func (s *AwsRdsDbPendingModifiedValues) SetLicenseModel(v string) *AwsRdsDbPendingModifiedValues {
15776	s.LicenseModel = &v
15777	return s
15778}
15779
15780// SetMasterUserPassword sets the MasterUserPassword field's value.
15781func (s *AwsRdsDbPendingModifiedValues) SetMasterUserPassword(v string) *AwsRdsDbPendingModifiedValues {
15782	s.MasterUserPassword = &v
15783	return s
15784}
15785
15786// SetMultiAZ sets the MultiAZ field's value.
15787func (s *AwsRdsDbPendingModifiedValues) SetMultiAZ(v bool) *AwsRdsDbPendingModifiedValues {
15788	s.MultiAZ = &v
15789	return s
15790}
15791
15792// SetPendingCloudWatchLogsExports sets the PendingCloudWatchLogsExports field's value.
15793func (s *AwsRdsDbPendingModifiedValues) SetPendingCloudWatchLogsExports(v *AwsRdsPendingCloudWatchLogsExports) *AwsRdsDbPendingModifiedValues {
15794	s.PendingCloudWatchLogsExports = v
15795	return s
15796}
15797
15798// SetPort sets the Port field's value.
15799func (s *AwsRdsDbPendingModifiedValues) SetPort(v int64) *AwsRdsDbPendingModifiedValues {
15800	s.Port = &v
15801	return s
15802}
15803
15804// SetProcessorFeatures sets the ProcessorFeatures field's value.
15805func (s *AwsRdsDbPendingModifiedValues) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbPendingModifiedValues {
15806	s.ProcessorFeatures = v
15807	return s
15808}
15809
15810// SetStorageType sets the StorageType field's value.
15811func (s *AwsRdsDbPendingModifiedValues) SetStorageType(v string) *AwsRdsDbPendingModifiedValues {
15812	s.StorageType = &v
15813	return s
15814}
15815
15816// A processor feature.
15817type AwsRdsDbProcessorFeature struct {
15818	_ struct{} `type:"structure"`
15819
15820	// The name of the processor feature.
15821	Name *string `type:"string"`
15822
15823	// The value of the processor feature.
15824	Value *string `type:"string"`
15825}
15826
15827// String returns the string representation
15828func (s AwsRdsDbProcessorFeature) String() string {
15829	return awsutil.Prettify(s)
15830}
15831
15832// GoString returns the string representation
15833func (s AwsRdsDbProcessorFeature) GoString() string {
15834	return s.String()
15835}
15836
15837// SetName sets the Name field's value.
15838func (s *AwsRdsDbProcessorFeature) SetName(v string) *AwsRdsDbProcessorFeature {
15839	s.Name = &v
15840	return s
15841}
15842
15843// SetValue sets the Value field's value.
15844func (s *AwsRdsDbProcessorFeature) SetValue(v string) *AwsRdsDbProcessorFeature {
15845	s.Value = &v
15846	return s
15847}
15848
15849// Provides details about an Amazon RDS DB cluster snapshot.
15850type AwsRdsDbSnapshotDetails struct {
15851	_ struct{} `type:"structure"`
15852
15853	// The amount of storage (in gigabytes) to be initially allocated for the database
15854	// instance.
15855	AllocatedStorage *int64 `type:"integer"`
15856
15857	// Specifies the name of the Availability Zone in which the DB instance was
15858	// located at the time of the DB snapshot.
15859	AvailabilityZone *string `type:"string"`
15860
15861	// A name for the DB instance.
15862	DbInstanceIdentifier *string `type:"string"`
15863
15864	// The name or ARN of the DB snapshot that is used to restore the DB instance.
15865	DbSnapshotIdentifier *string `type:"string"`
15866
15867	// The identifier for the source DB instance.
15868	DbiResourceId *string `type:"string"`
15869
15870	// Whether the DB snapshot is encrypted.
15871	Encrypted *bool `type:"boolean"`
15872
15873	// The name of the database engine to use for this DB instance.
15874	Engine *string `type:"string"`
15875
15876	// The version of the database engine.
15877	EngineVersion *string `type:"string"`
15878
15879	// Whether mapping of IAM accounts to database accounts is enabled.
15880	IamDatabaseAuthenticationEnabled *bool `type:"boolean"`
15881
15882	// Specifies the time in Coordinated Universal Time (UTC) when the DB instance,
15883	// from which the snapshot was taken, was created.
15884	InstanceCreateTime *string `type:"string"`
15885
15886	// The provisioned IOPS (I/O operations per second) value of the DB instance
15887	// at the time of the snapshot.
15888	Iops *int64 `type:"integer"`
15889
15890	// If Encrypted is true, the AWS KMS key identifier for the encrypted DB snapshot.
15891	KmsKeyId *string `type:"string"`
15892
15893	// License model information for the restored DB instance.
15894	LicenseModel *string `type:"string"`
15895
15896	// The master user name for the DB snapshot.
15897	MasterUsername *string `type:"string"`
15898
15899	// The option group name for the DB snapshot.
15900	OptionGroupName *string `type:"string"`
15901
15902	// The percentage of the estimated data that has been transferred.
15903	PercentProgress *int64 `type:"integer"`
15904
15905	// The port that the database engine was listening on at the time of the snapshot.
15906	Port *int64 `type:"integer"`
15907
15908	// The number of CPU cores and the number of threads per core for the DB instance
15909	// class of the DB instance.
15910	ProcessorFeatures []*AwsRdsDbProcessorFeature `type:"list"`
15911
15912	// When the snapshot was taken in Coordinated Universal Time (UTC).
15913	SnapshotCreateTime *string `type:"string"`
15914
15915	// The type of the DB snapshot.
15916	SnapshotType *string `type:"string"`
15917
15918	// The DB snapshot ARN that the DB snapshot was copied from.
15919	SourceDbSnapshotIdentifier *string `type:"string"`
15920
15921	// The AWS Region that the DB snapshot was created in or copied from.
15922	SourceRegion *string `type:"string"`
15923
15924	// The status of this DB snapshot.
15925	Status *string `type:"string"`
15926
15927	// The storage type associated with the DB snapshot.
15928	StorageType *string `type:"string"`
15929
15930	// The ARN from the key store with which to associate the instance for TDE encryption.
15931	TdeCredentialArn *string `type:"string"`
15932
15933	// The time zone of the DB snapshot.
15934	Timezone *string `type:"string"`
15935
15936	// The VPC ID associated with the DB snapshot.
15937	VpcId *string `type:"string"`
15938}
15939
15940// String returns the string representation
15941func (s AwsRdsDbSnapshotDetails) String() string {
15942	return awsutil.Prettify(s)
15943}
15944
15945// GoString returns the string representation
15946func (s AwsRdsDbSnapshotDetails) GoString() string {
15947	return s.String()
15948}
15949
15950// SetAllocatedStorage sets the AllocatedStorage field's value.
15951func (s *AwsRdsDbSnapshotDetails) SetAllocatedStorage(v int64) *AwsRdsDbSnapshotDetails {
15952	s.AllocatedStorage = &v
15953	return s
15954}
15955
15956// SetAvailabilityZone sets the AvailabilityZone field's value.
15957func (s *AwsRdsDbSnapshotDetails) SetAvailabilityZone(v string) *AwsRdsDbSnapshotDetails {
15958	s.AvailabilityZone = &v
15959	return s
15960}
15961
15962// SetDbInstanceIdentifier sets the DbInstanceIdentifier field's value.
15963func (s *AwsRdsDbSnapshotDetails) SetDbInstanceIdentifier(v string) *AwsRdsDbSnapshotDetails {
15964	s.DbInstanceIdentifier = &v
15965	return s
15966}
15967
15968// SetDbSnapshotIdentifier sets the DbSnapshotIdentifier field's value.
15969func (s *AwsRdsDbSnapshotDetails) SetDbSnapshotIdentifier(v string) *AwsRdsDbSnapshotDetails {
15970	s.DbSnapshotIdentifier = &v
15971	return s
15972}
15973
15974// SetDbiResourceId sets the DbiResourceId field's value.
15975func (s *AwsRdsDbSnapshotDetails) SetDbiResourceId(v string) *AwsRdsDbSnapshotDetails {
15976	s.DbiResourceId = &v
15977	return s
15978}
15979
15980// SetEncrypted sets the Encrypted field's value.
15981func (s *AwsRdsDbSnapshotDetails) SetEncrypted(v bool) *AwsRdsDbSnapshotDetails {
15982	s.Encrypted = &v
15983	return s
15984}
15985
15986// SetEngine sets the Engine field's value.
15987func (s *AwsRdsDbSnapshotDetails) SetEngine(v string) *AwsRdsDbSnapshotDetails {
15988	s.Engine = &v
15989	return s
15990}
15991
15992// SetEngineVersion sets the EngineVersion field's value.
15993func (s *AwsRdsDbSnapshotDetails) SetEngineVersion(v string) *AwsRdsDbSnapshotDetails {
15994	s.EngineVersion = &v
15995	return s
15996}
15997
15998// SetIamDatabaseAuthenticationEnabled sets the IamDatabaseAuthenticationEnabled field's value.
15999func (s *AwsRdsDbSnapshotDetails) SetIamDatabaseAuthenticationEnabled(v bool) *AwsRdsDbSnapshotDetails {
16000	s.IamDatabaseAuthenticationEnabled = &v
16001	return s
16002}
16003
16004// SetInstanceCreateTime sets the InstanceCreateTime field's value.
16005func (s *AwsRdsDbSnapshotDetails) SetInstanceCreateTime(v string) *AwsRdsDbSnapshotDetails {
16006	s.InstanceCreateTime = &v
16007	return s
16008}
16009
16010// SetIops sets the Iops field's value.
16011func (s *AwsRdsDbSnapshotDetails) SetIops(v int64) *AwsRdsDbSnapshotDetails {
16012	s.Iops = &v
16013	return s
16014}
16015
16016// SetKmsKeyId sets the KmsKeyId field's value.
16017func (s *AwsRdsDbSnapshotDetails) SetKmsKeyId(v string) *AwsRdsDbSnapshotDetails {
16018	s.KmsKeyId = &v
16019	return s
16020}
16021
16022// SetLicenseModel sets the LicenseModel field's value.
16023func (s *AwsRdsDbSnapshotDetails) SetLicenseModel(v string) *AwsRdsDbSnapshotDetails {
16024	s.LicenseModel = &v
16025	return s
16026}
16027
16028// SetMasterUsername sets the MasterUsername field's value.
16029func (s *AwsRdsDbSnapshotDetails) SetMasterUsername(v string) *AwsRdsDbSnapshotDetails {
16030	s.MasterUsername = &v
16031	return s
16032}
16033
16034// SetOptionGroupName sets the OptionGroupName field's value.
16035func (s *AwsRdsDbSnapshotDetails) SetOptionGroupName(v string) *AwsRdsDbSnapshotDetails {
16036	s.OptionGroupName = &v
16037	return s
16038}
16039
16040// SetPercentProgress sets the PercentProgress field's value.
16041func (s *AwsRdsDbSnapshotDetails) SetPercentProgress(v int64) *AwsRdsDbSnapshotDetails {
16042	s.PercentProgress = &v
16043	return s
16044}
16045
16046// SetPort sets the Port field's value.
16047func (s *AwsRdsDbSnapshotDetails) SetPort(v int64) *AwsRdsDbSnapshotDetails {
16048	s.Port = &v
16049	return s
16050}
16051
16052// SetProcessorFeatures sets the ProcessorFeatures field's value.
16053func (s *AwsRdsDbSnapshotDetails) SetProcessorFeatures(v []*AwsRdsDbProcessorFeature) *AwsRdsDbSnapshotDetails {
16054	s.ProcessorFeatures = v
16055	return s
16056}
16057
16058// SetSnapshotCreateTime sets the SnapshotCreateTime field's value.
16059func (s *AwsRdsDbSnapshotDetails) SetSnapshotCreateTime(v string) *AwsRdsDbSnapshotDetails {
16060	s.SnapshotCreateTime = &v
16061	return s
16062}
16063
16064// SetSnapshotType sets the SnapshotType field's value.
16065func (s *AwsRdsDbSnapshotDetails) SetSnapshotType(v string) *AwsRdsDbSnapshotDetails {
16066	s.SnapshotType = &v
16067	return s
16068}
16069
16070// SetSourceDbSnapshotIdentifier sets the SourceDbSnapshotIdentifier field's value.
16071func (s *AwsRdsDbSnapshotDetails) SetSourceDbSnapshotIdentifier(v string) *AwsRdsDbSnapshotDetails {
16072	s.SourceDbSnapshotIdentifier = &v
16073	return s
16074}
16075
16076// SetSourceRegion sets the SourceRegion field's value.
16077func (s *AwsRdsDbSnapshotDetails) SetSourceRegion(v string) *AwsRdsDbSnapshotDetails {
16078	s.SourceRegion = &v
16079	return s
16080}
16081
16082// SetStatus sets the Status field's value.
16083func (s *AwsRdsDbSnapshotDetails) SetStatus(v string) *AwsRdsDbSnapshotDetails {
16084	s.Status = &v
16085	return s
16086}
16087
16088// SetStorageType sets the StorageType field's value.
16089func (s *AwsRdsDbSnapshotDetails) SetStorageType(v string) *AwsRdsDbSnapshotDetails {
16090	s.StorageType = &v
16091	return s
16092}
16093
16094// SetTdeCredentialArn sets the TdeCredentialArn field's value.
16095func (s *AwsRdsDbSnapshotDetails) SetTdeCredentialArn(v string) *AwsRdsDbSnapshotDetails {
16096	s.TdeCredentialArn = &v
16097	return s
16098}
16099
16100// SetTimezone sets the Timezone field's value.
16101func (s *AwsRdsDbSnapshotDetails) SetTimezone(v string) *AwsRdsDbSnapshotDetails {
16102	s.Timezone = &v
16103	return s
16104}
16105
16106// SetVpcId sets the VpcId field's value.
16107func (s *AwsRdsDbSnapshotDetails) SetVpcId(v string) *AwsRdsDbSnapshotDetails {
16108	s.VpcId = &v
16109	return s
16110}
16111
16112// Information about the status of a read replica.
16113type AwsRdsDbStatusInfo struct {
16114	_ struct{} `type:"structure"`
16115
16116	// If the read replica is currently in an error state, provides the error details.
16117	Message *string `type:"string"`
16118
16119	// Whether the read replica instance is operating normally.
16120	Normal *bool `type:"boolean"`
16121
16122	// The status of the read replica instance.
16123	Status *string `type:"string"`
16124
16125	// The type of status. For a read replica, the status type is read replication.
16126	StatusType *string `type:"string"`
16127}
16128
16129// String returns the string representation
16130func (s AwsRdsDbStatusInfo) String() string {
16131	return awsutil.Prettify(s)
16132}
16133
16134// GoString returns the string representation
16135func (s AwsRdsDbStatusInfo) GoString() string {
16136	return s.String()
16137}
16138
16139// SetMessage sets the Message field's value.
16140func (s *AwsRdsDbStatusInfo) SetMessage(v string) *AwsRdsDbStatusInfo {
16141	s.Message = &v
16142	return s
16143}
16144
16145// SetNormal sets the Normal field's value.
16146func (s *AwsRdsDbStatusInfo) SetNormal(v bool) *AwsRdsDbStatusInfo {
16147	s.Normal = &v
16148	return s
16149}
16150
16151// SetStatus sets the Status field's value.
16152func (s *AwsRdsDbStatusInfo) SetStatus(v string) *AwsRdsDbStatusInfo {
16153	s.Status = &v
16154	return s
16155}
16156
16157// SetStatusType sets the StatusType field's value.
16158func (s *AwsRdsDbStatusInfo) SetStatusType(v string) *AwsRdsDbStatusInfo {
16159	s.StatusType = &v
16160	return s
16161}
16162
16163// Information about the subnet group for the database instance.
16164type AwsRdsDbSubnetGroup struct {
16165	_ struct{} `type:"structure"`
16166
16167	// The ARN of the subnet group.
16168	DbSubnetGroupArn *string `type:"string"`
16169
16170	// The description of the subnet group.
16171	DbSubnetGroupDescription *string `type:"string"`
16172
16173	// The name of the subnet group.
16174	DbSubnetGroupName *string `type:"string"`
16175
16176	// The status of the subnet group.
16177	SubnetGroupStatus *string `type:"string"`
16178
16179	// A list of subnets in the subnet group.
16180	Subnets []*AwsRdsDbSubnetGroupSubnet `type:"list"`
16181
16182	// The VPC ID of the subnet group.
16183	VpcId *string `type:"string"`
16184}
16185
16186// String returns the string representation
16187func (s AwsRdsDbSubnetGroup) String() string {
16188	return awsutil.Prettify(s)
16189}
16190
16191// GoString returns the string representation
16192func (s AwsRdsDbSubnetGroup) GoString() string {
16193	return s.String()
16194}
16195
16196// SetDbSubnetGroupArn sets the DbSubnetGroupArn field's value.
16197func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupArn(v string) *AwsRdsDbSubnetGroup {
16198	s.DbSubnetGroupArn = &v
16199	return s
16200}
16201
16202// SetDbSubnetGroupDescription sets the DbSubnetGroupDescription field's value.
16203func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupDescription(v string) *AwsRdsDbSubnetGroup {
16204	s.DbSubnetGroupDescription = &v
16205	return s
16206}
16207
16208// SetDbSubnetGroupName sets the DbSubnetGroupName field's value.
16209func (s *AwsRdsDbSubnetGroup) SetDbSubnetGroupName(v string) *AwsRdsDbSubnetGroup {
16210	s.DbSubnetGroupName = &v
16211	return s
16212}
16213
16214// SetSubnetGroupStatus sets the SubnetGroupStatus field's value.
16215func (s *AwsRdsDbSubnetGroup) SetSubnetGroupStatus(v string) *AwsRdsDbSubnetGroup {
16216	s.SubnetGroupStatus = &v
16217	return s
16218}
16219
16220// SetSubnets sets the Subnets field's value.
16221func (s *AwsRdsDbSubnetGroup) SetSubnets(v []*AwsRdsDbSubnetGroupSubnet) *AwsRdsDbSubnetGroup {
16222	s.Subnets = v
16223	return s
16224}
16225
16226// SetVpcId sets the VpcId field's value.
16227func (s *AwsRdsDbSubnetGroup) SetVpcId(v string) *AwsRdsDbSubnetGroup {
16228	s.VpcId = &v
16229	return s
16230}
16231
16232// Information about a subnet in a subnet group.
16233type AwsRdsDbSubnetGroupSubnet struct {
16234	_ struct{} `type:"structure"`
16235
16236	// Information about the Availability Zone for a subnet in the subnet group.
16237	SubnetAvailabilityZone *AwsRdsDbSubnetGroupSubnetAvailabilityZone `type:"structure"`
16238
16239	// The identifier of a subnet in the subnet group.
16240	SubnetIdentifier *string `type:"string"`
16241
16242	// The status of a subnet in the subnet group.
16243	SubnetStatus *string `type:"string"`
16244}
16245
16246// String returns the string representation
16247func (s AwsRdsDbSubnetGroupSubnet) String() string {
16248	return awsutil.Prettify(s)
16249}
16250
16251// GoString returns the string representation
16252func (s AwsRdsDbSubnetGroupSubnet) GoString() string {
16253	return s.String()
16254}
16255
16256// SetSubnetAvailabilityZone sets the SubnetAvailabilityZone field's value.
16257func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetAvailabilityZone(v *AwsRdsDbSubnetGroupSubnetAvailabilityZone) *AwsRdsDbSubnetGroupSubnet {
16258	s.SubnetAvailabilityZone = v
16259	return s
16260}
16261
16262// SetSubnetIdentifier sets the SubnetIdentifier field's value.
16263func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetIdentifier(v string) *AwsRdsDbSubnetGroupSubnet {
16264	s.SubnetIdentifier = &v
16265	return s
16266}
16267
16268// SetSubnetStatus sets the SubnetStatus field's value.
16269func (s *AwsRdsDbSubnetGroupSubnet) SetSubnetStatus(v string) *AwsRdsDbSubnetGroupSubnet {
16270	s.SubnetStatus = &v
16271	return s
16272}
16273
16274// An Availability Zone for a subnet in a subnet group.
16275type AwsRdsDbSubnetGroupSubnetAvailabilityZone struct {
16276	_ struct{} `type:"structure"`
16277
16278	// The name of the Availability Zone for a subnet in the subnet group.
16279	Name *string `type:"string"`
16280}
16281
16282// String returns the string representation
16283func (s AwsRdsDbSubnetGroupSubnetAvailabilityZone) String() string {
16284	return awsutil.Prettify(s)
16285}
16286
16287// GoString returns the string representation
16288func (s AwsRdsDbSubnetGroupSubnetAvailabilityZone) GoString() string {
16289	return s.String()
16290}
16291
16292// SetName sets the Name field's value.
16293func (s *AwsRdsDbSubnetGroupSubnetAvailabilityZone) SetName(v string) *AwsRdsDbSubnetGroupSubnetAvailabilityZone {
16294	s.Name = &v
16295	return s
16296}
16297
16298// Identifies the log types to enable and disable.
16299type AwsRdsPendingCloudWatchLogsExports struct {
16300	_ struct{} `type:"structure"`
16301
16302	// A list of log types that are being disabled.
16303	LogTypesToDisable []*string `type:"list"`
16304
16305	// A list of log types that are being enabled.
16306	LogTypesToEnable []*string `type:"list"`
16307}
16308
16309// String returns the string representation
16310func (s AwsRdsPendingCloudWatchLogsExports) String() string {
16311	return awsutil.Prettify(s)
16312}
16313
16314// GoString returns the string representation
16315func (s AwsRdsPendingCloudWatchLogsExports) GoString() string {
16316	return s.String()
16317}
16318
16319// SetLogTypesToDisable sets the LogTypesToDisable field's value.
16320func (s *AwsRdsPendingCloudWatchLogsExports) SetLogTypesToDisable(v []*string) *AwsRdsPendingCloudWatchLogsExports {
16321	s.LogTypesToDisable = v
16322	return s
16323}
16324
16325// SetLogTypesToEnable sets the LogTypesToEnable field's value.
16326func (s *AwsRdsPendingCloudWatchLogsExports) SetLogTypesToEnable(v []*string) *AwsRdsPendingCloudWatchLogsExports {
16327	s.LogTypesToEnable = v
16328	return s
16329}
16330
16331// A node in an Amazon Redshift cluster.
16332type AwsRedshiftClusterClusterNode struct {
16333	_ struct{} `type:"structure"`
16334
16335	// The role of the node. A node might be a leader node or a compute node.
16336	NodeRole *string `type:"string"`
16337
16338	// The private IP address of the node.
16339	PrivateIpAddress *string `type:"string"`
16340
16341	// The public IP address of the node.
16342	PublicIpAddress *string `type:"string"`
16343}
16344
16345// String returns the string representation
16346func (s AwsRedshiftClusterClusterNode) String() string {
16347	return awsutil.Prettify(s)
16348}
16349
16350// GoString returns the string representation
16351func (s AwsRedshiftClusterClusterNode) GoString() string {
16352	return s.String()
16353}
16354
16355// SetNodeRole sets the NodeRole field's value.
16356func (s *AwsRedshiftClusterClusterNode) SetNodeRole(v string) *AwsRedshiftClusterClusterNode {
16357	s.NodeRole = &v
16358	return s
16359}
16360
16361// SetPrivateIpAddress sets the PrivateIpAddress field's value.
16362func (s *AwsRedshiftClusterClusterNode) SetPrivateIpAddress(v string) *AwsRedshiftClusterClusterNode {
16363	s.PrivateIpAddress = &v
16364	return s
16365}
16366
16367// SetPublicIpAddress sets the PublicIpAddress field's value.
16368func (s *AwsRedshiftClusterClusterNode) SetPublicIpAddress(v string) *AwsRedshiftClusterClusterNode {
16369	s.PublicIpAddress = &v
16370	return s
16371}
16372
16373// A cluster parameter group that is associated with an Amazon Redshift cluster.
16374type AwsRedshiftClusterClusterParameterGroup struct {
16375	_ struct{} `type:"structure"`
16376
16377	// The list of parameter statuses.
16378	ClusterParameterStatusList []*AwsRedshiftClusterClusterParameterStatus `type:"list"`
16379
16380	// The status of updates to the parameters.
16381	ParameterApplyStatus *string `type:"string"`
16382
16383	// The name of the parameter group.
16384	ParameterGroupName *string `type:"string"`
16385}
16386
16387// String returns the string representation
16388func (s AwsRedshiftClusterClusterParameterGroup) String() string {
16389	return awsutil.Prettify(s)
16390}
16391
16392// GoString returns the string representation
16393func (s AwsRedshiftClusterClusterParameterGroup) GoString() string {
16394	return s.String()
16395}
16396
16397// SetClusterParameterStatusList sets the ClusterParameterStatusList field's value.
16398func (s *AwsRedshiftClusterClusterParameterGroup) SetClusterParameterStatusList(v []*AwsRedshiftClusterClusterParameterStatus) *AwsRedshiftClusterClusterParameterGroup {
16399	s.ClusterParameterStatusList = v
16400	return s
16401}
16402
16403// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
16404func (s *AwsRedshiftClusterClusterParameterGroup) SetParameterApplyStatus(v string) *AwsRedshiftClusterClusterParameterGroup {
16405	s.ParameterApplyStatus = &v
16406	return s
16407}
16408
16409// SetParameterGroupName sets the ParameterGroupName field's value.
16410func (s *AwsRedshiftClusterClusterParameterGroup) SetParameterGroupName(v string) *AwsRedshiftClusterClusterParameterGroup {
16411	s.ParameterGroupName = &v
16412	return s
16413}
16414
16415// The status of a parameter in a cluster parameter group for an Amazon Redshift
16416// cluster.
16417type AwsRedshiftClusterClusterParameterStatus struct {
16418	_ struct{} `type:"structure"`
16419
16420	// The error that prevented the parameter from being applied to the database.
16421	ParameterApplyErrorDescription *string `type:"string"`
16422
16423	// The status of the parameter. Indicates whether the parameter is in sync with
16424	// the database, waiting for a cluster reboot, or encountered an error when
16425	// it was applied.
16426	//
16427	// Valid values: in-sync | pending-reboot | applying | invalid-parameter | apply-deferred
16428	// | apply-error | unknown-error
16429	ParameterApplyStatus *string `type:"string"`
16430
16431	// The name of the parameter.
16432	ParameterName *string `type:"string"`
16433}
16434
16435// String returns the string representation
16436func (s AwsRedshiftClusterClusterParameterStatus) String() string {
16437	return awsutil.Prettify(s)
16438}
16439
16440// GoString returns the string representation
16441func (s AwsRedshiftClusterClusterParameterStatus) GoString() string {
16442	return s.String()
16443}
16444
16445// SetParameterApplyErrorDescription sets the ParameterApplyErrorDescription field's value.
16446func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterApplyErrorDescription(v string) *AwsRedshiftClusterClusterParameterStatus {
16447	s.ParameterApplyErrorDescription = &v
16448	return s
16449}
16450
16451// SetParameterApplyStatus sets the ParameterApplyStatus field's value.
16452func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterApplyStatus(v string) *AwsRedshiftClusterClusterParameterStatus {
16453	s.ParameterApplyStatus = &v
16454	return s
16455}
16456
16457// SetParameterName sets the ParameterName field's value.
16458func (s *AwsRedshiftClusterClusterParameterStatus) SetParameterName(v string) *AwsRedshiftClusterClusterParameterStatus {
16459	s.ParameterName = &v
16460	return s
16461}
16462
16463// A security group that is associated with the cluster.
16464type AwsRedshiftClusterClusterSecurityGroup struct {
16465	_ struct{} `type:"structure"`
16466
16467	// The name of the cluster security group.
16468	ClusterSecurityGroupName *string `type:"string"`
16469
16470	// The status of the cluster security group.
16471	Status *string `type:"string"`
16472}
16473
16474// String returns the string representation
16475func (s AwsRedshiftClusterClusterSecurityGroup) String() string {
16476	return awsutil.Prettify(s)
16477}
16478
16479// GoString returns the string representation
16480func (s AwsRedshiftClusterClusterSecurityGroup) GoString() string {
16481	return s.String()
16482}
16483
16484// SetClusterSecurityGroupName sets the ClusterSecurityGroupName field's value.
16485func (s *AwsRedshiftClusterClusterSecurityGroup) SetClusterSecurityGroupName(v string) *AwsRedshiftClusterClusterSecurityGroup {
16486	s.ClusterSecurityGroupName = &v
16487	return s
16488}
16489
16490// SetStatus sets the Status field's value.
16491func (s *AwsRedshiftClusterClusterSecurityGroup) SetStatus(v string) *AwsRedshiftClusterClusterSecurityGroup {
16492	s.Status = &v
16493	return s
16494}
16495
16496// Information about a cross-Region snapshot copy.
16497type AwsRedshiftClusterClusterSnapshotCopyStatus struct {
16498	_ struct{} `type:"structure"`
16499
16500	// The destination Region that snapshots are automatically copied to when cross-Region
16501	// snapshot copy is enabled.
16502	DestinationRegion *string `type:"string"`
16503
16504	// The number of days that manual snapshots are retained in the destination
16505	// region after they are copied from a source region.
16506	//
16507	// If the value is -1, then the manual snapshot is retained indefinitely.
16508	//
16509	// Valid values: Either -1 or an integer between 1 and 3,653
16510	ManualSnapshotRetentionPeriod *int64 `type:"integer"`
16511
16512	// The number of days to retain automated snapshots in the destination Region
16513	// after they are copied from a source Region.
16514	RetentionPeriod *int64 `type:"integer"`
16515
16516	// The name of the snapshot copy grant.
16517	SnapshotCopyGrantName *string `type:"string"`
16518}
16519
16520// String returns the string representation
16521func (s AwsRedshiftClusterClusterSnapshotCopyStatus) String() string {
16522	return awsutil.Prettify(s)
16523}
16524
16525// GoString returns the string representation
16526func (s AwsRedshiftClusterClusterSnapshotCopyStatus) GoString() string {
16527	return s.String()
16528}
16529
16530// SetDestinationRegion sets the DestinationRegion field's value.
16531func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetDestinationRegion(v string) *AwsRedshiftClusterClusterSnapshotCopyStatus {
16532	s.DestinationRegion = &v
16533	return s
16534}
16535
16536// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
16537func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetManualSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterClusterSnapshotCopyStatus {
16538	s.ManualSnapshotRetentionPeriod = &v
16539	return s
16540}
16541
16542// SetRetentionPeriod sets the RetentionPeriod field's value.
16543func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetRetentionPeriod(v int64) *AwsRedshiftClusterClusterSnapshotCopyStatus {
16544	s.RetentionPeriod = &v
16545	return s
16546}
16547
16548// SetSnapshotCopyGrantName sets the SnapshotCopyGrantName field's value.
16549func (s *AwsRedshiftClusterClusterSnapshotCopyStatus) SetSnapshotCopyGrantName(v string) *AwsRedshiftClusterClusterSnapshotCopyStatus {
16550	s.SnapshotCopyGrantName = &v
16551	return s
16552}
16553
16554// A time windows during which maintenance was deferred for an Amazon Redshift
16555// cluster.
16556type AwsRedshiftClusterDeferredMaintenanceWindow struct {
16557	_ struct{} `type:"structure"`
16558
16559	// The end of the time window for which maintenance was deferred.
16560	//
16561	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16562	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16563	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16564	DeferMaintenanceEndTime *string `type:"string"`
16565
16566	// The identifier of the maintenance window.
16567	DeferMaintenanceIdentifier *string `type:"string"`
16568
16569	// The start of the time window for which maintenance was deferred.
16570	//
16571	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16572	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16573	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16574	DeferMaintenanceStartTime *string `type:"string"`
16575}
16576
16577// String returns the string representation
16578func (s AwsRedshiftClusterDeferredMaintenanceWindow) String() string {
16579	return awsutil.Prettify(s)
16580}
16581
16582// GoString returns the string representation
16583func (s AwsRedshiftClusterDeferredMaintenanceWindow) GoString() string {
16584	return s.String()
16585}
16586
16587// SetDeferMaintenanceEndTime sets the DeferMaintenanceEndTime field's value.
16588func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceEndTime(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
16589	s.DeferMaintenanceEndTime = &v
16590	return s
16591}
16592
16593// SetDeferMaintenanceIdentifier sets the DeferMaintenanceIdentifier field's value.
16594func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceIdentifier(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
16595	s.DeferMaintenanceIdentifier = &v
16596	return s
16597}
16598
16599// SetDeferMaintenanceStartTime sets the DeferMaintenanceStartTime field's value.
16600func (s *AwsRedshiftClusterDeferredMaintenanceWindow) SetDeferMaintenanceStartTime(v string) *AwsRedshiftClusterDeferredMaintenanceWindow {
16601	s.DeferMaintenanceStartTime = &v
16602	return s
16603}
16604
16605// Details about an Amazon Redshift cluster.
16606type AwsRedshiftClusterDetails struct {
16607	_ struct{} `type:"structure"`
16608
16609	// Indicates whether major version upgrades are applied automatically to the
16610	// cluster during the maintenance window.
16611	AllowVersionUpgrade *bool `type:"boolean"`
16612
16613	// The number of days that automatic cluster snapshots are retained.
16614	AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
16615
16616	// The name of the Availability Zone in which the cluster is located.
16617	AvailabilityZone *string `type:"string"`
16618
16619	// The availability status of the cluster for queries. Possible values are the
16620	// following:
16621	//
16622	//    * Available - The cluster is available for queries.
16623	//
16624	//    * Unavailable - The cluster is not available for queries.
16625	//
16626	//    * Maintenance - The cluster is intermittently available for queries due
16627	//    to maintenance activities.
16628	//
16629	//    * Modifying -The cluster is intermittently available for queries due to
16630	//    changes that modify the cluster.
16631	//
16632	//    * Failed - The cluster failed and is not available for queries.
16633	ClusterAvailabilityStatus *string `type:"string"`
16634
16635	// Indicates when the cluster was created.
16636	//
16637	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16638	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16639	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16640	ClusterCreateTime *string `type:"string"`
16641
16642	// The unique identifier of the cluster.
16643	ClusterIdentifier *string `type:"string"`
16644
16645	// The nodes in the cluster.
16646	ClusterNodes []*AwsRedshiftClusterClusterNode `type:"list"`
16647
16648	// The list of cluster parameter groups that are associated with this cluster.
16649	ClusterParameterGroups []*AwsRedshiftClusterClusterParameterGroup `type:"list"`
16650
16651	// The public key for the cluster.
16652	ClusterPublicKey *string `type:"string"`
16653
16654	// The specific revision number of the database in the cluster.
16655	ClusterRevisionNumber *string `type:"string"`
16656
16657	// A list of cluster security groups that are associated with the cluster.
16658	ClusterSecurityGroups []*AwsRedshiftClusterClusterSecurityGroup `type:"list"`
16659
16660	// Information about the destination Region and retention period for the cross-Region
16661	// snapshot copy.
16662	ClusterSnapshotCopyStatus *AwsRedshiftClusterClusterSnapshotCopyStatus `type:"structure"`
16663
16664	// The current status of the cluster.
16665	//
16666	// Valid values: available | available, prep-for-resize | available, resize-cleanup
16667	// |cancelling-resize | creating | deleting | final-snapshot | hardware-failure
16668	// | incompatible-hsm |incompatible-network | incompatible-parameters | incompatible-restore
16669	// | modifying | paused | rebooting | renaming | resizing | rotating-keys |
16670	// storage-full | updating-hsm
16671	ClusterStatus *string `type:"string"`
16672
16673	// The name of the subnet group that is associated with the cluster. This parameter
16674	// is valid only when the cluster is in a VPC.
16675	ClusterSubnetGroupName *string `type:"string"`
16676
16677	// The version ID of the Amazon Redshift engine that runs on the cluster.
16678	ClusterVersion *string `type:"string"`
16679
16680	// The name of the initial database that was created when the cluster was created.
16681	//
16682	// The same name is returned for the life of the cluster.
16683	//
16684	// If an initial database is not specified, a database named devdev is created
16685	// by default.
16686	DBName *string `type:"string"`
16687
16688	// List of time windows during which maintenance was deferred.
16689	DeferredMaintenanceWindows []*AwsRedshiftClusterDeferredMaintenanceWindow `type:"list"`
16690
16691	// Information about the status of the Elastic IP (EIP) address.
16692	ElasticIpStatus *AwsRedshiftClusterElasticIpStatus `type:"structure"`
16693
16694	// The number of nodes that you can use the elastic resize method to resize
16695	// the cluster to.
16696	ElasticResizeNumberOfNodeOptions *string `type:"string"`
16697
16698	// Indicates whether the data in the cluster is encrypted at rest.
16699	Encrypted *bool `type:"boolean"`
16700
16701	// The connection endpoint.
16702	Endpoint *AwsRedshiftClusterEndpoint `type:"structure"`
16703
16704	// Indicates whether to create the cluster with enhanced VPC routing enabled.
16705	EnhancedVpcRouting *bool `type:"boolean"`
16706
16707	// Indicates when the next snapshot is expected to be taken. The cluster must
16708	// have a valid snapshot schedule and have backups enabled.
16709	//
16710	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16711	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16712	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16713	ExpectedNextSnapshotScheduleTime *string `type:"string"`
16714
16715	// The status of the next expected snapshot.
16716	//
16717	// Valid values: OnTrack | Pending
16718	ExpectedNextSnapshotScheduleTimeStatus *string `type:"string"`
16719
16720	// Information about whether the Amazon Redshift cluster finished applying any
16721	// changes to hardware security module (HSM) settings that were specified in
16722	// a modify cluster command.
16723	HsmStatus *AwsRedshiftClusterHsmStatus `type:"structure"`
16724
16725	// A list of IAM roles that the cluster can use to access other AWS services.
16726	IamRoles []*AwsRedshiftClusterIamRole `type:"list"`
16727
16728	// The identifier of the AWS KMS encryption key that is used to encrypt data
16729	// in the cluster.
16730	KmsKeyId *string `type:"string"`
16731
16732	// The name of the maintenance track for the cluster.
16733	MaintenanceTrackName *string `type:"string"`
16734
16735	// The default number of days to retain a manual snapshot.
16736	//
16737	// If the value is -1, the snapshot is retained indefinitely.
16738	//
16739	// This setting doesn't change the retention period of existing snapshots.
16740	//
16741	// Valid values: Either -1 or an integer between 1 and 3,653
16742	ManualSnapshotRetentionPeriod *int64 `type:"integer"`
16743
16744	// The master user name for the cluster. This name is used to connect to the
16745	// database that is specified in as the value of DBName.
16746	MasterUsername *string `type:"string"`
16747
16748	// Indicates the start of the next maintenance window.
16749	//
16750	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
16751	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
16752	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
16753	NextMaintenanceWindowStartTime *string `type:"string"`
16754
16755	// The node type for the nodes in the cluster.
16756	NodeType *string `type:"string"`
16757
16758	// The number of compute nodes in the cluster.
16759	NumberOfNodes *int64 `type:"integer"`
16760
16761	// A list of cluster operations that are waiting to start.
16762	PendingActions []*string `type:"list"`
16763
16764	// A list of changes to the cluster that are currently pending.
16765	PendingModifiedValues *AwsRedshiftClusterPendingModifiedValues `type:"structure"`
16766
16767	// The weekly time range, in Universal Coordinated Time (UTC), during which
16768	// system maintenance can occur.
16769	//
16770	// Format: <day>:HH:MM-<day>:HH:MM
16771	//
16772	// For the day values, use mon | tue | wed | thu | fri | sat | sun
16773	//
16774	// For example, sun:09:32-sun:10:02
16775	PreferredMaintenanceWindow *string `type:"string"`
16776
16777	// Whether the cluster can be accessed from a public network.
16778	PubliclyAccessible *bool `type:"boolean"`
16779
16780	// Information about the resize operation for the cluster.
16781	ResizeInfo *AwsRedshiftClusterResizeInfo `type:"structure"`
16782
16783	// Information about the status of a cluster restore action. Only applies to
16784	// a cluster that was created by restoring a snapshot.
16785	RestoreStatus *AwsRedshiftClusterRestoreStatus `type:"structure"`
16786
16787	// A unique identifier for the cluster snapshot schedule.
16788	SnapshotScheduleIdentifier *string `type:"string"`
16789
16790	// The current state of the cluster snapshot schedule.
16791	//
16792	// Valid values: MODIFYING | ACTIVE | FAILED
16793	SnapshotScheduleState *string `type:"string"`
16794
16795	// The identifier of the VPC that the cluster is in, if the cluster is in a
16796	// VPC.
16797	VpcId *string `type:"string"`
16798
16799	// The list of VPC security groups that the cluster belongs to, if the cluster
16800	// is in a VPC.
16801	VpcSecurityGroups []*AwsRedshiftClusterVpcSecurityGroup `type:"list"`
16802}
16803
16804// String returns the string representation
16805func (s AwsRedshiftClusterDetails) String() string {
16806	return awsutil.Prettify(s)
16807}
16808
16809// GoString returns the string representation
16810func (s AwsRedshiftClusterDetails) GoString() string {
16811	return s.String()
16812}
16813
16814// SetAllowVersionUpgrade sets the AllowVersionUpgrade field's value.
16815func (s *AwsRedshiftClusterDetails) SetAllowVersionUpgrade(v bool) *AwsRedshiftClusterDetails {
16816	s.AllowVersionUpgrade = &v
16817	return s
16818}
16819
16820// SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
16821func (s *AwsRedshiftClusterDetails) SetAutomatedSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterDetails {
16822	s.AutomatedSnapshotRetentionPeriod = &v
16823	return s
16824}
16825
16826// SetAvailabilityZone sets the AvailabilityZone field's value.
16827func (s *AwsRedshiftClusterDetails) SetAvailabilityZone(v string) *AwsRedshiftClusterDetails {
16828	s.AvailabilityZone = &v
16829	return s
16830}
16831
16832// SetClusterAvailabilityStatus sets the ClusterAvailabilityStatus field's value.
16833func (s *AwsRedshiftClusterDetails) SetClusterAvailabilityStatus(v string) *AwsRedshiftClusterDetails {
16834	s.ClusterAvailabilityStatus = &v
16835	return s
16836}
16837
16838// SetClusterCreateTime sets the ClusterCreateTime field's value.
16839func (s *AwsRedshiftClusterDetails) SetClusterCreateTime(v string) *AwsRedshiftClusterDetails {
16840	s.ClusterCreateTime = &v
16841	return s
16842}
16843
16844// SetClusterIdentifier sets the ClusterIdentifier field's value.
16845func (s *AwsRedshiftClusterDetails) SetClusterIdentifier(v string) *AwsRedshiftClusterDetails {
16846	s.ClusterIdentifier = &v
16847	return s
16848}
16849
16850// SetClusterNodes sets the ClusterNodes field's value.
16851func (s *AwsRedshiftClusterDetails) SetClusterNodes(v []*AwsRedshiftClusterClusterNode) *AwsRedshiftClusterDetails {
16852	s.ClusterNodes = v
16853	return s
16854}
16855
16856// SetClusterParameterGroups sets the ClusterParameterGroups field's value.
16857func (s *AwsRedshiftClusterDetails) SetClusterParameterGroups(v []*AwsRedshiftClusterClusterParameterGroup) *AwsRedshiftClusterDetails {
16858	s.ClusterParameterGroups = v
16859	return s
16860}
16861
16862// SetClusterPublicKey sets the ClusterPublicKey field's value.
16863func (s *AwsRedshiftClusterDetails) SetClusterPublicKey(v string) *AwsRedshiftClusterDetails {
16864	s.ClusterPublicKey = &v
16865	return s
16866}
16867
16868// SetClusterRevisionNumber sets the ClusterRevisionNumber field's value.
16869func (s *AwsRedshiftClusterDetails) SetClusterRevisionNumber(v string) *AwsRedshiftClusterDetails {
16870	s.ClusterRevisionNumber = &v
16871	return s
16872}
16873
16874// SetClusterSecurityGroups sets the ClusterSecurityGroups field's value.
16875func (s *AwsRedshiftClusterDetails) SetClusterSecurityGroups(v []*AwsRedshiftClusterClusterSecurityGroup) *AwsRedshiftClusterDetails {
16876	s.ClusterSecurityGroups = v
16877	return s
16878}
16879
16880// SetClusterSnapshotCopyStatus sets the ClusterSnapshotCopyStatus field's value.
16881func (s *AwsRedshiftClusterDetails) SetClusterSnapshotCopyStatus(v *AwsRedshiftClusterClusterSnapshotCopyStatus) *AwsRedshiftClusterDetails {
16882	s.ClusterSnapshotCopyStatus = v
16883	return s
16884}
16885
16886// SetClusterStatus sets the ClusterStatus field's value.
16887func (s *AwsRedshiftClusterDetails) SetClusterStatus(v string) *AwsRedshiftClusterDetails {
16888	s.ClusterStatus = &v
16889	return s
16890}
16891
16892// SetClusterSubnetGroupName sets the ClusterSubnetGroupName field's value.
16893func (s *AwsRedshiftClusterDetails) SetClusterSubnetGroupName(v string) *AwsRedshiftClusterDetails {
16894	s.ClusterSubnetGroupName = &v
16895	return s
16896}
16897
16898// SetClusterVersion sets the ClusterVersion field's value.
16899func (s *AwsRedshiftClusterDetails) SetClusterVersion(v string) *AwsRedshiftClusterDetails {
16900	s.ClusterVersion = &v
16901	return s
16902}
16903
16904// SetDBName sets the DBName field's value.
16905func (s *AwsRedshiftClusterDetails) SetDBName(v string) *AwsRedshiftClusterDetails {
16906	s.DBName = &v
16907	return s
16908}
16909
16910// SetDeferredMaintenanceWindows sets the DeferredMaintenanceWindows field's value.
16911func (s *AwsRedshiftClusterDetails) SetDeferredMaintenanceWindows(v []*AwsRedshiftClusterDeferredMaintenanceWindow) *AwsRedshiftClusterDetails {
16912	s.DeferredMaintenanceWindows = v
16913	return s
16914}
16915
16916// SetElasticIpStatus sets the ElasticIpStatus field's value.
16917func (s *AwsRedshiftClusterDetails) SetElasticIpStatus(v *AwsRedshiftClusterElasticIpStatus) *AwsRedshiftClusterDetails {
16918	s.ElasticIpStatus = v
16919	return s
16920}
16921
16922// SetElasticResizeNumberOfNodeOptions sets the ElasticResizeNumberOfNodeOptions field's value.
16923func (s *AwsRedshiftClusterDetails) SetElasticResizeNumberOfNodeOptions(v string) *AwsRedshiftClusterDetails {
16924	s.ElasticResizeNumberOfNodeOptions = &v
16925	return s
16926}
16927
16928// SetEncrypted sets the Encrypted field's value.
16929func (s *AwsRedshiftClusterDetails) SetEncrypted(v bool) *AwsRedshiftClusterDetails {
16930	s.Encrypted = &v
16931	return s
16932}
16933
16934// SetEndpoint sets the Endpoint field's value.
16935func (s *AwsRedshiftClusterDetails) SetEndpoint(v *AwsRedshiftClusterEndpoint) *AwsRedshiftClusterDetails {
16936	s.Endpoint = v
16937	return s
16938}
16939
16940// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
16941func (s *AwsRedshiftClusterDetails) SetEnhancedVpcRouting(v bool) *AwsRedshiftClusterDetails {
16942	s.EnhancedVpcRouting = &v
16943	return s
16944}
16945
16946// SetExpectedNextSnapshotScheduleTime sets the ExpectedNextSnapshotScheduleTime field's value.
16947func (s *AwsRedshiftClusterDetails) SetExpectedNextSnapshotScheduleTime(v string) *AwsRedshiftClusterDetails {
16948	s.ExpectedNextSnapshotScheduleTime = &v
16949	return s
16950}
16951
16952// SetExpectedNextSnapshotScheduleTimeStatus sets the ExpectedNextSnapshotScheduleTimeStatus field's value.
16953func (s *AwsRedshiftClusterDetails) SetExpectedNextSnapshotScheduleTimeStatus(v string) *AwsRedshiftClusterDetails {
16954	s.ExpectedNextSnapshotScheduleTimeStatus = &v
16955	return s
16956}
16957
16958// SetHsmStatus sets the HsmStatus field's value.
16959func (s *AwsRedshiftClusterDetails) SetHsmStatus(v *AwsRedshiftClusterHsmStatus) *AwsRedshiftClusterDetails {
16960	s.HsmStatus = v
16961	return s
16962}
16963
16964// SetIamRoles sets the IamRoles field's value.
16965func (s *AwsRedshiftClusterDetails) SetIamRoles(v []*AwsRedshiftClusterIamRole) *AwsRedshiftClusterDetails {
16966	s.IamRoles = v
16967	return s
16968}
16969
16970// SetKmsKeyId sets the KmsKeyId field's value.
16971func (s *AwsRedshiftClusterDetails) SetKmsKeyId(v string) *AwsRedshiftClusterDetails {
16972	s.KmsKeyId = &v
16973	return s
16974}
16975
16976// SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
16977func (s *AwsRedshiftClusterDetails) SetMaintenanceTrackName(v string) *AwsRedshiftClusterDetails {
16978	s.MaintenanceTrackName = &v
16979	return s
16980}
16981
16982// SetManualSnapshotRetentionPeriod sets the ManualSnapshotRetentionPeriod field's value.
16983func (s *AwsRedshiftClusterDetails) SetManualSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterDetails {
16984	s.ManualSnapshotRetentionPeriod = &v
16985	return s
16986}
16987
16988// SetMasterUsername sets the MasterUsername field's value.
16989func (s *AwsRedshiftClusterDetails) SetMasterUsername(v string) *AwsRedshiftClusterDetails {
16990	s.MasterUsername = &v
16991	return s
16992}
16993
16994// SetNextMaintenanceWindowStartTime sets the NextMaintenanceWindowStartTime field's value.
16995func (s *AwsRedshiftClusterDetails) SetNextMaintenanceWindowStartTime(v string) *AwsRedshiftClusterDetails {
16996	s.NextMaintenanceWindowStartTime = &v
16997	return s
16998}
16999
17000// SetNodeType sets the NodeType field's value.
17001func (s *AwsRedshiftClusterDetails) SetNodeType(v string) *AwsRedshiftClusterDetails {
17002	s.NodeType = &v
17003	return s
17004}
17005
17006// SetNumberOfNodes sets the NumberOfNodes field's value.
17007func (s *AwsRedshiftClusterDetails) SetNumberOfNodes(v int64) *AwsRedshiftClusterDetails {
17008	s.NumberOfNodes = &v
17009	return s
17010}
17011
17012// SetPendingActions sets the PendingActions field's value.
17013func (s *AwsRedshiftClusterDetails) SetPendingActions(v []*string) *AwsRedshiftClusterDetails {
17014	s.PendingActions = v
17015	return s
17016}
17017
17018// SetPendingModifiedValues sets the PendingModifiedValues field's value.
17019func (s *AwsRedshiftClusterDetails) SetPendingModifiedValues(v *AwsRedshiftClusterPendingModifiedValues) *AwsRedshiftClusterDetails {
17020	s.PendingModifiedValues = v
17021	return s
17022}
17023
17024// SetPreferredMaintenanceWindow sets the PreferredMaintenanceWindow field's value.
17025func (s *AwsRedshiftClusterDetails) SetPreferredMaintenanceWindow(v string) *AwsRedshiftClusterDetails {
17026	s.PreferredMaintenanceWindow = &v
17027	return s
17028}
17029
17030// SetPubliclyAccessible sets the PubliclyAccessible field's value.
17031func (s *AwsRedshiftClusterDetails) SetPubliclyAccessible(v bool) *AwsRedshiftClusterDetails {
17032	s.PubliclyAccessible = &v
17033	return s
17034}
17035
17036// SetResizeInfo sets the ResizeInfo field's value.
17037func (s *AwsRedshiftClusterDetails) SetResizeInfo(v *AwsRedshiftClusterResizeInfo) *AwsRedshiftClusterDetails {
17038	s.ResizeInfo = v
17039	return s
17040}
17041
17042// SetRestoreStatus sets the RestoreStatus field's value.
17043func (s *AwsRedshiftClusterDetails) SetRestoreStatus(v *AwsRedshiftClusterRestoreStatus) *AwsRedshiftClusterDetails {
17044	s.RestoreStatus = v
17045	return s
17046}
17047
17048// SetSnapshotScheduleIdentifier sets the SnapshotScheduleIdentifier field's value.
17049func (s *AwsRedshiftClusterDetails) SetSnapshotScheduleIdentifier(v string) *AwsRedshiftClusterDetails {
17050	s.SnapshotScheduleIdentifier = &v
17051	return s
17052}
17053
17054// SetSnapshotScheduleState sets the SnapshotScheduleState field's value.
17055func (s *AwsRedshiftClusterDetails) SetSnapshotScheduleState(v string) *AwsRedshiftClusterDetails {
17056	s.SnapshotScheduleState = &v
17057	return s
17058}
17059
17060// SetVpcId sets the VpcId field's value.
17061func (s *AwsRedshiftClusterDetails) SetVpcId(v string) *AwsRedshiftClusterDetails {
17062	s.VpcId = &v
17063	return s
17064}
17065
17066// SetVpcSecurityGroups sets the VpcSecurityGroups field's value.
17067func (s *AwsRedshiftClusterDetails) SetVpcSecurityGroups(v []*AwsRedshiftClusterVpcSecurityGroup) *AwsRedshiftClusterDetails {
17068	s.VpcSecurityGroups = v
17069	return s
17070}
17071
17072// The status of the elastic IP (EIP) address for an Amazon Redshift cluster.
17073type AwsRedshiftClusterElasticIpStatus struct {
17074	_ struct{} `type:"structure"`
17075
17076	// The elastic IP address for the cluster.
17077	ElasticIp *string `type:"string"`
17078
17079	// The status of the elastic IP address.
17080	Status *string `type:"string"`
17081}
17082
17083// String returns the string representation
17084func (s AwsRedshiftClusterElasticIpStatus) String() string {
17085	return awsutil.Prettify(s)
17086}
17087
17088// GoString returns the string representation
17089func (s AwsRedshiftClusterElasticIpStatus) GoString() string {
17090	return s.String()
17091}
17092
17093// SetElasticIp sets the ElasticIp field's value.
17094func (s *AwsRedshiftClusterElasticIpStatus) SetElasticIp(v string) *AwsRedshiftClusterElasticIpStatus {
17095	s.ElasticIp = &v
17096	return s
17097}
17098
17099// SetStatus sets the Status field's value.
17100func (s *AwsRedshiftClusterElasticIpStatus) SetStatus(v string) *AwsRedshiftClusterElasticIpStatus {
17101	s.Status = &v
17102	return s
17103}
17104
17105// The connection endpoint for an Amazon Redshift cluster.
17106type AwsRedshiftClusterEndpoint struct {
17107	_ struct{} `type:"structure"`
17108
17109	// The DNS address of the cluster.
17110	Address *string `type:"string"`
17111
17112	// The port that the database engine listens on.
17113	Port *int64 `type:"integer"`
17114}
17115
17116// String returns the string representation
17117func (s AwsRedshiftClusterEndpoint) String() string {
17118	return awsutil.Prettify(s)
17119}
17120
17121// GoString returns the string representation
17122func (s AwsRedshiftClusterEndpoint) GoString() string {
17123	return s.String()
17124}
17125
17126// SetAddress sets the Address field's value.
17127func (s *AwsRedshiftClusterEndpoint) SetAddress(v string) *AwsRedshiftClusterEndpoint {
17128	s.Address = &v
17129	return s
17130}
17131
17132// SetPort sets the Port field's value.
17133func (s *AwsRedshiftClusterEndpoint) SetPort(v int64) *AwsRedshiftClusterEndpoint {
17134	s.Port = &v
17135	return s
17136}
17137
17138// Information about whether an Amazon Redshift cluster finished applying any
17139// hardware changes to security module (HSM) settings that were specified in
17140// a modify cluster command.
17141type AwsRedshiftClusterHsmStatus struct {
17142	_ struct{} `type:"structure"`
17143
17144	// The name of the HSM client certificate that the Amazon Redshift cluster uses
17145	// to retrieve the data encryption keys that are stored in an HSM.
17146	HsmClientCertificateIdentifier *string `type:"string"`
17147
17148	// The name of the HSM configuration that contains the information that the
17149	// Amazon Redshift cluster can use to retrieve and store keys in an HSM.
17150	HsmConfigurationIdentifier *string `type:"string"`
17151
17152	// Indicates whether the Amazon Redshift cluster has finished applying any HSM
17153	// settings changes specified in a modify cluster command.
17154	//
17155	// Type: String
17156	//
17157	// Valid values: active | applying
17158	Status *string `type:"string"`
17159}
17160
17161// String returns the string representation
17162func (s AwsRedshiftClusterHsmStatus) String() string {
17163	return awsutil.Prettify(s)
17164}
17165
17166// GoString returns the string representation
17167func (s AwsRedshiftClusterHsmStatus) GoString() string {
17168	return s.String()
17169}
17170
17171// SetHsmClientCertificateIdentifier sets the HsmClientCertificateIdentifier field's value.
17172func (s *AwsRedshiftClusterHsmStatus) SetHsmClientCertificateIdentifier(v string) *AwsRedshiftClusterHsmStatus {
17173	s.HsmClientCertificateIdentifier = &v
17174	return s
17175}
17176
17177// SetHsmConfigurationIdentifier sets the HsmConfigurationIdentifier field's value.
17178func (s *AwsRedshiftClusterHsmStatus) SetHsmConfigurationIdentifier(v string) *AwsRedshiftClusterHsmStatus {
17179	s.HsmConfigurationIdentifier = &v
17180	return s
17181}
17182
17183// SetStatus sets the Status field's value.
17184func (s *AwsRedshiftClusterHsmStatus) SetStatus(v string) *AwsRedshiftClusterHsmStatus {
17185	s.Status = &v
17186	return s
17187}
17188
17189// An IAM role that the cluster can use to access other AWS services.
17190type AwsRedshiftClusterIamRole struct {
17191	_ struct{} `type:"structure"`
17192
17193	// The status of the IAM role's association with the cluster.
17194	//
17195	// Valid values: in-sync | adding | removing
17196	ApplyStatus *string `type:"string"`
17197
17198	// The ARN of the IAM role.
17199	IamRoleArn *string `type:"string"`
17200}
17201
17202// String returns the string representation
17203func (s AwsRedshiftClusterIamRole) String() string {
17204	return awsutil.Prettify(s)
17205}
17206
17207// GoString returns the string representation
17208func (s AwsRedshiftClusterIamRole) GoString() string {
17209	return s.String()
17210}
17211
17212// SetApplyStatus sets the ApplyStatus field's value.
17213func (s *AwsRedshiftClusterIamRole) SetApplyStatus(v string) *AwsRedshiftClusterIamRole {
17214	s.ApplyStatus = &v
17215	return s
17216}
17217
17218// SetIamRoleArn sets the IamRoleArn field's value.
17219func (s *AwsRedshiftClusterIamRole) SetIamRoleArn(v string) *AwsRedshiftClusterIamRole {
17220	s.IamRoleArn = &v
17221	return s
17222}
17223
17224// Changes to the Amazon Redshift cluster that are currently pending.
17225type AwsRedshiftClusterPendingModifiedValues struct {
17226	_ struct{} `type:"structure"`
17227
17228	// The pending or in-progress change to the automated snapshot retention period.
17229	AutomatedSnapshotRetentionPeriod *int64 `type:"integer"`
17230
17231	// The pending or in-progress change to the identifier for the cluster.
17232	ClusterIdentifier *string `type:"string"`
17233
17234	// The pending or in-progress change to the cluster type.
17235	ClusterType *string `type:"string"`
17236
17237	// The pending or in-progress change to the service version.
17238	ClusterVersion *string `type:"string"`
17239
17240	// The encryption type for a cluster.
17241	EncryptionType *string `type:"string"`
17242
17243	// Indicates whether to create the cluster with enhanced VPC routing enabled.
17244	EnhancedVpcRouting *bool `type:"boolean"`
17245
17246	// The name of the maintenance track that the cluster changes to during the
17247	// next maintenance window.
17248	MaintenanceTrackName *string `type:"string"`
17249
17250	// The pending or in-progress change to the master user password for the cluster.
17251	MasterUserPassword *string `type:"string"`
17252
17253	// The pending or in-progress change to the cluster's node type.
17254	NodeType *string `type:"string"`
17255
17256	// The pending or in-progress change to the number of nodes in the cluster.
17257	NumberOfNodes *int64 `type:"integer"`
17258
17259	// The pending or in-progress change to whether the cluster can be connected
17260	// to from the public network.
17261	PubliclyAccessible *bool `type:"boolean"`
17262}
17263
17264// String returns the string representation
17265func (s AwsRedshiftClusterPendingModifiedValues) String() string {
17266	return awsutil.Prettify(s)
17267}
17268
17269// GoString returns the string representation
17270func (s AwsRedshiftClusterPendingModifiedValues) GoString() string {
17271	return s.String()
17272}
17273
17274// SetAutomatedSnapshotRetentionPeriod sets the AutomatedSnapshotRetentionPeriod field's value.
17275func (s *AwsRedshiftClusterPendingModifiedValues) SetAutomatedSnapshotRetentionPeriod(v int64) *AwsRedshiftClusterPendingModifiedValues {
17276	s.AutomatedSnapshotRetentionPeriod = &v
17277	return s
17278}
17279
17280// SetClusterIdentifier sets the ClusterIdentifier field's value.
17281func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterIdentifier(v string) *AwsRedshiftClusterPendingModifiedValues {
17282	s.ClusterIdentifier = &v
17283	return s
17284}
17285
17286// SetClusterType sets the ClusterType field's value.
17287func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterType(v string) *AwsRedshiftClusterPendingModifiedValues {
17288	s.ClusterType = &v
17289	return s
17290}
17291
17292// SetClusterVersion sets the ClusterVersion field's value.
17293func (s *AwsRedshiftClusterPendingModifiedValues) SetClusterVersion(v string) *AwsRedshiftClusterPendingModifiedValues {
17294	s.ClusterVersion = &v
17295	return s
17296}
17297
17298// SetEncryptionType sets the EncryptionType field's value.
17299func (s *AwsRedshiftClusterPendingModifiedValues) SetEncryptionType(v string) *AwsRedshiftClusterPendingModifiedValues {
17300	s.EncryptionType = &v
17301	return s
17302}
17303
17304// SetEnhancedVpcRouting sets the EnhancedVpcRouting field's value.
17305func (s *AwsRedshiftClusterPendingModifiedValues) SetEnhancedVpcRouting(v bool) *AwsRedshiftClusterPendingModifiedValues {
17306	s.EnhancedVpcRouting = &v
17307	return s
17308}
17309
17310// SetMaintenanceTrackName sets the MaintenanceTrackName field's value.
17311func (s *AwsRedshiftClusterPendingModifiedValues) SetMaintenanceTrackName(v string) *AwsRedshiftClusterPendingModifiedValues {
17312	s.MaintenanceTrackName = &v
17313	return s
17314}
17315
17316// SetMasterUserPassword sets the MasterUserPassword field's value.
17317func (s *AwsRedshiftClusterPendingModifiedValues) SetMasterUserPassword(v string) *AwsRedshiftClusterPendingModifiedValues {
17318	s.MasterUserPassword = &v
17319	return s
17320}
17321
17322// SetNodeType sets the NodeType field's value.
17323func (s *AwsRedshiftClusterPendingModifiedValues) SetNodeType(v string) *AwsRedshiftClusterPendingModifiedValues {
17324	s.NodeType = &v
17325	return s
17326}
17327
17328// SetNumberOfNodes sets the NumberOfNodes field's value.
17329func (s *AwsRedshiftClusterPendingModifiedValues) SetNumberOfNodes(v int64) *AwsRedshiftClusterPendingModifiedValues {
17330	s.NumberOfNodes = &v
17331	return s
17332}
17333
17334// SetPubliclyAccessible sets the PubliclyAccessible field's value.
17335func (s *AwsRedshiftClusterPendingModifiedValues) SetPubliclyAccessible(v bool) *AwsRedshiftClusterPendingModifiedValues {
17336	s.PubliclyAccessible = &v
17337	return s
17338}
17339
17340// Information about the resize operation for the cluster.
17341type AwsRedshiftClusterResizeInfo struct {
17342	_ struct{} `type:"structure"`
17343
17344	// Indicates whether the resize operation can be canceled.
17345	AllowCancelResize *bool `type:"boolean"`
17346
17347	// The type of resize operation.
17348	//
17349	// Valid values: ClassicResize
17350	ResizeType *string `type:"string"`
17351}
17352
17353// String returns the string representation
17354func (s AwsRedshiftClusterResizeInfo) String() string {
17355	return awsutil.Prettify(s)
17356}
17357
17358// GoString returns the string representation
17359func (s AwsRedshiftClusterResizeInfo) GoString() string {
17360	return s.String()
17361}
17362
17363// SetAllowCancelResize sets the AllowCancelResize field's value.
17364func (s *AwsRedshiftClusterResizeInfo) SetAllowCancelResize(v bool) *AwsRedshiftClusterResizeInfo {
17365	s.AllowCancelResize = &v
17366	return s
17367}
17368
17369// SetResizeType sets the ResizeType field's value.
17370func (s *AwsRedshiftClusterResizeInfo) SetResizeType(v string) *AwsRedshiftClusterResizeInfo {
17371	s.ResizeType = &v
17372	return s
17373}
17374
17375// Information about the status of a cluster restore action. It only applies
17376// if the cluster was created by restoring a snapshot.
17377type AwsRedshiftClusterRestoreStatus struct {
17378	_ struct{} `type:"structure"`
17379
17380	// The number of megabytes per second being transferred from the backup storage.
17381	// Returns the average rate for a completed backup.
17382	//
17383	// This field is only updated when you restore to DC2 and DS2 node types.
17384	CurrentRestoreRateInMegaBytesPerSecond *float64 `type:"double"`
17385
17386	// The amount of time an in-progress restore has been running, or the amount
17387	// of time it took a completed restore to finish.
17388	//
17389	// This field is only updated when you restore to DC2 and DS2 node types.
17390	ElapsedTimeInSeconds *int64 `type:"long"`
17391
17392	// The estimate of the time remaining before the restore is complete. Returns
17393	// 0 for a completed restore.
17394	//
17395	// This field is only updated when you restore to DC2 and DS2 node types.
17396	EstimatedTimeToCompletionInSeconds *int64 `type:"long"`
17397
17398	// The number of megabytes that were transferred from snapshot storage.
17399	//
17400	// This field is only updated when you restore to DC2 and DS2 node types.
17401	ProgressInMegaBytes *int64 `type:"long"`
17402
17403	// The size of the set of snapshot data that was used to restore the cluster.
17404	//
17405	// This field is only updated when you restore to DC2 and DS2 node types.
17406	SnapshotSizeInMegaBytes *int64 `type:"long"`
17407
17408	// The status of the restore action.
17409	//
17410	// Valid values: starting | restoring | completed | failed
17411	Status *string `type:"string"`
17412}
17413
17414// String returns the string representation
17415func (s AwsRedshiftClusterRestoreStatus) String() string {
17416	return awsutil.Prettify(s)
17417}
17418
17419// GoString returns the string representation
17420func (s AwsRedshiftClusterRestoreStatus) GoString() string {
17421	return s.String()
17422}
17423
17424// SetCurrentRestoreRateInMegaBytesPerSecond sets the CurrentRestoreRateInMegaBytesPerSecond field's value.
17425func (s *AwsRedshiftClusterRestoreStatus) SetCurrentRestoreRateInMegaBytesPerSecond(v float64) *AwsRedshiftClusterRestoreStatus {
17426	s.CurrentRestoreRateInMegaBytesPerSecond = &v
17427	return s
17428}
17429
17430// SetElapsedTimeInSeconds sets the ElapsedTimeInSeconds field's value.
17431func (s *AwsRedshiftClusterRestoreStatus) SetElapsedTimeInSeconds(v int64) *AwsRedshiftClusterRestoreStatus {
17432	s.ElapsedTimeInSeconds = &v
17433	return s
17434}
17435
17436// SetEstimatedTimeToCompletionInSeconds sets the EstimatedTimeToCompletionInSeconds field's value.
17437func (s *AwsRedshiftClusterRestoreStatus) SetEstimatedTimeToCompletionInSeconds(v int64) *AwsRedshiftClusterRestoreStatus {
17438	s.EstimatedTimeToCompletionInSeconds = &v
17439	return s
17440}
17441
17442// SetProgressInMegaBytes sets the ProgressInMegaBytes field's value.
17443func (s *AwsRedshiftClusterRestoreStatus) SetProgressInMegaBytes(v int64) *AwsRedshiftClusterRestoreStatus {
17444	s.ProgressInMegaBytes = &v
17445	return s
17446}
17447
17448// SetSnapshotSizeInMegaBytes sets the SnapshotSizeInMegaBytes field's value.
17449func (s *AwsRedshiftClusterRestoreStatus) SetSnapshotSizeInMegaBytes(v int64) *AwsRedshiftClusterRestoreStatus {
17450	s.SnapshotSizeInMegaBytes = &v
17451	return s
17452}
17453
17454// SetStatus sets the Status field's value.
17455func (s *AwsRedshiftClusterRestoreStatus) SetStatus(v string) *AwsRedshiftClusterRestoreStatus {
17456	s.Status = &v
17457	return s
17458}
17459
17460// A VPC security group that the cluster belongs to, if the cluster is in a
17461// VPC.
17462type AwsRedshiftClusterVpcSecurityGroup struct {
17463	_ struct{} `type:"structure"`
17464
17465	// The status of the VPC security group.
17466	Status *string `type:"string"`
17467
17468	// The identifier of the VPC security group.
17469	VpcSecurityGroupId *string `type:"string"`
17470}
17471
17472// String returns the string representation
17473func (s AwsRedshiftClusterVpcSecurityGroup) String() string {
17474	return awsutil.Prettify(s)
17475}
17476
17477// GoString returns the string representation
17478func (s AwsRedshiftClusterVpcSecurityGroup) GoString() string {
17479	return s.String()
17480}
17481
17482// SetStatus sets the Status field's value.
17483func (s *AwsRedshiftClusterVpcSecurityGroup) SetStatus(v string) *AwsRedshiftClusterVpcSecurityGroup {
17484	s.Status = &v
17485	return s
17486}
17487
17488// SetVpcSecurityGroupId sets the VpcSecurityGroupId field's value.
17489func (s *AwsRedshiftClusterVpcSecurityGroup) SetVpcSecurityGroupId(v string) *AwsRedshiftClusterVpcSecurityGroup {
17490	s.VpcSecurityGroupId = &v
17491	return s
17492}
17493
17494// provides information about the Amazon S3 Public Access Block configuration
17495// for accounts.
17496type AwsS3AccountPublicAccessBlockDetails struct {
17497	_ struct{} `type:"structure"`
17498
17499	// Indicates whether to reject calls to update an S3 bucket if the calls include
17500	// a public access control list (ACL).
17501	BlockPublicAcls *bool `type:"boolean"`
17502
17503	// Indicates whether to reject calls to update the access policy for an S3 bucket
17504	// or access point if the policy allows public access.
17505	BlockPublicPolicy *bool `type:"boolean"`
17506
17507	// Indicates whether Amazon S3 ignores public ACLs that are associated with
17508	// an S3 bucket.
17509	IgnorePublicAcls *bool `type:"boolean"`
17510
17511	// Indicates whether to restrict access to an access point or S3 bucket that
17512	// has a public policy to only AWS service principals and authorized users within
17513	// the S3 bucket owner's account.
17514	RestrictPublicBuckets *bool `type:"boolean"`
17515}
17516
17517// String returns the string representation
17518func (s AwsS3AccountPublicAccessBlockDetails) String() string {
17519	return awsutil.Prettify(s)
17520}
17521
17522// GoString returns the string representation
17523func (s AwsS3AccountPublicAccessBlockDetails) GoString() string {
17524	return s.String()
17525}
17526
17527// SetBlockPublicAcls sets the BlockPublicAcls field's value.
17528func (s *AwsS3AccountPublicAccessBlockDetails) SetBlockPublicAcls(v bool) *AwsS3AccountPublicAccessBlockDetails {
17529	s.BlockPublicAcls = &v
17530	return s
17531}
17532
17533// SetBlockPublicPolicy sets the BlockPublicPolicy field's value.
17534func (s *AwsS3AccountPublicAccessBlockDetails) SetBlockPublicPolicy(v bool) *AwsS3AccountPublicAccessBlockDetails {
17535	s.BlockPublicPolicy = &v
17536	return s
17537}
17538
17539// SetIgnorePublicAcls sets the IgnorePublicAcls field's value.
17540func (s *AwsS3AccountPublicAccessBlockDetails) SetIgnorePublicAcls(v bool) *AwsS3AccountPublicAccessBlockDetails {
17541	s.IgnorePublicAcls = &v
17542	return s
17543}
17544
17545// SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value.
17546func (s *AwsS3AccountPublicAccessBlockDetails) SetRestrictPublicBuckets(v bool) *AwsS3AccountPublicAccessBlockDetails {
17547	s.RestrictPublicBuckets = &v
17548	return s
17549}
17550
17551// The details of an Amazon S3 bucket.
17552type AwsS3BucketDetails struct {
17553	_ struct{} `type:"structure"`
17554
17555	// Indicates when the S3 bucket was created.
17556	//
17557	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
17558	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
17559	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
17560	CreatedAt *string `type:"string"`
17561
17562	// The canonical user ID of the owner of the S3 bucket.
17563	OwnerId *string `type:"string"`
17564
17565	// The display name of the owner of the S3 bucket.
17566	OwnerName *string `type:"string"`
17567
17568	// Provides information about the Amazon S3 Public Access Block configuration
17569	// for the S3 bucket.
17570	PublicAccessBlockConfiguration *AwsS3AccountPublicAccessBlockDetails `type:"structure"`
17571
17572	// The encryption rules that are applied to the S3 bucket.
17573	ServerSideEncryptionConfiguration *AwsS3BucketServerSideEncryptionConfiguration `type:"structure"`
17574}
17575
17576// String returns the string representation
17577func (s AwsS3BucketDetails) String() string {
17578	return awsutil.Prettify(s)
17579}
17580
17581// GoString returns the string representation
17582func (s AwsS3BucketDetails) GoString() string {
17583	return s.String()
17584}
17585
17586// SetCreatedAt sets the CreatedAt field's value.
17587func (s *AwsS3BucketDetails) SetCreatedAt(v string) *AwsS3BucketDetails {
17588	s.CreatedAt = &v
17589	return s
17590}
17591
17592// SetOwnerId sets the OwnerId field's value.
17593func (s *AwsS3BucketDetails) SetOwnerId(v string) *AwsS3BucketDetails {
17594	s.OwnerId = &v
17595	return s
17596}
17597
17598// SetOwnerName sets the OwnerName field's value.
17599func (s *AwsS3BucketDetails) SetOwnerName(v string) *AwsS3BucketDetails {
17600	s.OwnerName = &v
17601	return s
17602}
17603
17604// SetPublicAccessBlockConfiguration sets the PublicAccessBlockConfiguration field's value.
17605func (s *AwsS3BucketDetails) SetPublicAccessBlockConfiguration(v *AwsS3AccountPublicAccessBlockDetails) *AwsS3BucketDetails {
17606	s.PublicAccessBlockConfiguration = v
17607	return s
17608}
17609
17610// SetServerSideEncryptionConfiguration sets the ServerSideEncryptionConfiguration field's value.
17611func (s *AwsS3BucketDetails) SetServerSideEncryptionConfiguration(v *AwsS3BucketServerSideEncryptionConfiguration) *AwsS3BucketDetails {
17612	s.ServerSideEncryptionConfiguration = v
17613	return s
17614}
17615
17616// Specifies the default server-side encryption to apply to new objects in the
17617// bucket.
17618type AwsS3BucketServerSideEncryptionByDefault struct {
17619	_ struct{} `type:"structure"`
17620
17621	// AWS KMS customer master key (CMK) ID to use for the default encryption.
17622	KMSMasterKeyID *string `type:"string"`
17623
17624	// Server-side encryption algorithm to use for the default encryption.
17625	SSEAlgorithm *string `type:"string"`
17626}
17627
17628// String returns the string representation
17629func (s AwsS3BucketServerSideEncryptionByDefault) String() string {
17630	return awsutil.Prettify(s)
17631}
17632
17633// GoString returns the string representation
17634func (s AwsS3BucketServerSideEncryptionByDefault) GoString() string {
17635	return s.String()
17636}
17637
17638// SetKMSMasterKeyID sets the KMSMasterKeyID field's value.
17639func (s *AwsS3BucketServerSideEncryptionByDefault) SetKMSMasterKeyID(v string) *AwsS3BucketServerSideEncryptionByDefault {
17640	s.KMSMasterKeyID = &v
17641	return s
17642}
17643
17644// SetSSEAlgorithm sets the SSEAlgorithm field's value.
17645func (s *AwsS3BucketServerSideEncryptionByDefault) SetSSEAlgorithm(v string) *AwsS3BucketServerSideEncryptionByDefault {
17646	s.SSEAlgorithm = &v
17647	return s
17648}
17649
17650// The encryption configuration for the S3 bucket.
17651type AwsS3BucketServerSideEncryptionConfiguration struct {
17652	_ struct{} `type:"structure"`
17653
17654	// The encryption rules that are applied to the S3 bucket.
17655	Rules []*AwsS3BucketServerSideEncryptionRule `type:"list"`
17656}
17657
17658// String returns the string representation
17659func (s AwsS3BucketServerSideEncryptionConfiguration) String() string {
17660	return awsutil.Prettify(s)
17661}
17662
17663// GoString returns the string representation
17664func (s AwsS3BucketServerSideEncryptionConfiguration) GoString() string {
17665	return s.String()
17666}
17667
17668// SetRules sets the Rules field's value.
17669func (s *AwsS3BucketServerSideEncryptionConfiguration) SetRules(v []*AwsS3BucketServerSideEncryptionRule) *AwsS3BucketServerSideEncryptionConfiguration {
17670	s.Rules = v
17671	return s
17672}
17673
17674// An encryption rule to apply to the S3 bucket.
17675type AwsS3BucketServerSideEncryptionRule struct {
17676	_ struct{} `type:"structure"`
17677
17678	// Specifies the default server-side encryption to apply to new objects in the
17679	// bucket. If a PUT object request doesn't specify any server-side encryption,
17680	// this default encryption is applied.
17681	ApplyServerSideEncryptionByDefault *AwsS3BucketServerSideEncryptionByDefault `type:"structure"`
17682}
17683
17684// String returns the string representation
17685func (s AwsS3BucketServerSideEncryptionRule) String() string {
17686	return awsutil.Prettify(s)
17687}
17688
17689// GoString returns the string representation
17690func (s AwsS3BucketServerSideEncryptionRule) GoString() string {
17691	return s.String()
17692}
17693
17694// SetApplyServerSideEncryptionByDefault sets the ApplyServerSideEncryptionByDefault field's value.
17695func (s *AwsS3BucketServerSideEncryptionRule) SetApplyServerSideEncryptionByDefault(v *AwsS3BucketServerSideEncryptionByDefault) *AwsS3BucketServerSideEncryptionRule {
17696	s.ApplyServerSideEncryptionByDefault = v
17697	return s
17698}
17699
17700// Details about an Amazon S3 object.
17701type AwsS3ObjectDetails struct {
17702	_ struct{} `type:"structure"`
17703
17704	// A standard MIME type describing the format of the object data.
17705	ContentType *string `type:"string"`
17706
17707	// The opaque identifier assigned by a web server to a specific version of a
17708	// resource found at a URL.
17709	ETag *string `type:"string"`
17710
17711	// Indicates when the object was last modified.
17712	//
17713	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
17714	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
17715	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
17716	LastModified *string `type:"string"`
17717
17718	// The identifier of the AWS Key Management Service (AWS KMS) symmetric customer
17719	// managed customer master key (CMK) that was used for the object.
17720	SSEKMSKeyId *string `type:"string"`
17721
17722	// If the object is stored using server-side encryption, the value of the server-side
17723	// encryption algorithm used when storing this object in Amazon S3.
17724	ServerSideEncryption *string `type:"string"`
17725
17726	// The version of the object.
17727	VersionId *string `type:"string"`
17728}
17729
17730// String returns the string representation
17731func (s AwsS3ObjectDetails) String() string {
17732	return awsutil.Prettify(s)
17733}
17734
17735// GoString returns the string representation
17736func (s AwsS3ObjectDetails) GoString() string {
17737	return s.String()
17738}
17739
17740// SetContentType sets the ContentType field's value.
17741func (s *AwsS3ObjectDetails) SetContentType(v string) *AwsS3ObjectDetails {
17742	s.ContentType = &v
17743	return s
17744}
17745
17746// SetETag sets the ETag field's value.
17747func (s *AwsS3ObjectDetails) SetETag(v string) *AwsS3ObjectDetails {
17748	s.ETag = &v
17749	return s
17750}
17751
17752// SetLastModified sets the LastModified field's value.
17753func (s *AwsS3ObjectDetails) SetLastModified(v string) *AwsS3ObjectDetails {
17754	s.LastModified = &v
17755	return s
17756}
17757
17758// SetSSEKMSKeyId sets the SSEKMSKeyId field's value.
17759func (s *AwsS3ObjectDetails) SetSSEKMSKeyId(v string) *AwsS3ObjectDetails {
17760	s.SSEKMSKeyId = &v
17761	return s
17762}
17763
17764// SetServerSideEncryption sets the ServerSideEncryption field's value.
17765func (s *AwsS3ObjectDetails) SetServerSideEncryption(v string) *AwsS3ObjectDetails {
17766	s.ServerSideEncryption = &v
17767	return s
17768}
17769
17770// SetVersionId sets the VersionId field's value.
17771func (s *AwsS3ObjectDetails) SetVersionId(v string) *AwsS3ObjectDetails {
17772	s.VersionId = &v
17773	return s
17774}
17775
17776// Details about an AWS Secrets Manager secret.
17777type AwsSecretsManagerSecretDetails struct {
17778	_ struct{} `type:"structure"`
17779
17780	// Whether the secret is deleted.
17781	Deleted *bool `type:"boolean"`
17782
17783	// The user-provided description of the secret.
17784	Description *string `type:"string"`
17785
17786	// The ARN, Key ID, or alias of the AWS KMS customer master key (CMK) used to
17787	// encrypt the SecretString or SecretBinary values for versions of this secret.
17788	KmsKeyId *string `type:"string"`
17789
17790	// The name of the secret.
17791	Name *string `type:"string"`
17792
17793	// Whether rotation is enabled.
17794	RotationEnabled *bool `type:"boolean"`
17795
17796	// The ARN of the Lambda function that rotates the secret.
17797	RotationLambdaArn *string `type:"string"`
17798
17799	// Whether the rotation occurred within the specified rotation frequency.
17800	RotationOccurredWithinFrequency *bool `type:"boolean"`
17801
17802	// Defines the rotation schedule for the secret.
17803	RotationRules *AwsSecretsManagerSecretRotationRules `type:"structure"`
17804}
17805
17806// String returns the string representation
17807func (s AwsSecretsManagerSecretDetails) String() string {
17808	return awsutil.Prettify(s)
17809}
17810
17811// GoString returns the string representation
17812func (s AwsSecretsManagerSecretDetails) GoString() string {
17813	return s.String()
17814}
17815
17816// SetDeleted sets the Deleted field's value.
17817func (s *AwsSecretsManagerSecretDetails) SetDeleted(v bool) *AwsSecretsManagerSecretDetails {
17818	s.Deleted = &v
17819	return s
17820}
17821
17822// SetDescription sets the Description field's value.
17823func (s *AwsSecretsManagerSecretDetails) SetDescription(v string) *AwsSecretsManagerSecretDetails {
17824	s.Description = &v
17825	return s
17826}
17827
17828// SetKmsKeyId sets the KmsKeyId field's value.
17829func (s *AwsSecretsManagerSecretDetails) SetKmsKeyId(v string) *AwsSecretsManagerSecretDetails {
17830	s.KmsKeyId = &v
17831	return s
17832}
17833
17834// SetName sets the Name field's value.
17835func (s *AwsSecretsManagerSecretDetails) SetName(v string) *AwsSecretsManagerSecretDetails {
17836	s.Name = &v
17837	return s
17838}
17839
17840// SetRotationEnabled sets the RotationEnabled field's value.
17841func (s *AwsSecretsManagerSecretDetails) SetRotationEnabled(v bool) *AwsSecretsManagerSecretDetails {
17842	s.RotationEnabled = &v
17843	return s
17844}
17845
17846// SetRotationLambdaArn sets the RotationLambdaArn field's value.
17847func (s *AwsSecretsManagerSecretDetails) SetRotationLambdaArn(v string) *AwsSecretsManagerSecretDetails {
17848	s.RotationLambdaArn = &v
17849	return s
17850}
17851
17852// SetRotationOccurredWithinFrequency sets the RotationOccurredWithinFrequency field's value.
17853func (s *AwsSecretsManagerSecretDetails) SetRotationOccurredWithinFrequency(v bool) *AwsSecretsManagerSecretDetails {
17854	s.RotationOccurredWithinFrequency = &v
17855	return s
17856}
17857
17858// SetRotationRules sets the RotationRules field's value.
17859func (s *AwsSecretsManagerSecretDetails) SetRotationRules(v *AwsSecretsManagerSecretRotationRules) *AwsSecretsManagerSecretDetails {
17860	s.RotationRules = v
17861	return s
17862}
17863
17864// Defines the rotation schedule for the secret.
17865type AwsSecretsManagerSecretRotationRules struct {
17866	_ struct{} `type:"structure"`
17867
17868	// The number of days after the previous rotation to rotate the secret.
17869	AutomaticallyAfterDays *int64 `type:"integer"`
17870}
17871
17872// String returns the string representation
17873func (s AwsSecretsManagerSecretRotationRules) String() string {
17874	return awsutil.Prettify(s)
17875}
17876
17877// GoString returns the string representation
17878func (s AwsSecretsManagerSecretRotationRules) GoString() string {
17879	return s.String()
17880}
17881
17882// SetAutomaticallyAfterDays sets the AutomaticallyAfterDays field's value.
17883func (s *AwsSecretsManagerSecretRotationRules) SetAutomaticallyAfterDays(v int64) *AwsSecretsManagerSecretRotationRules {
17884	s.AutomaticallyAfterDays = &v
17885	return s
17886}
17887
17888// Provides consistent format for the contents of the Security Hub-aggregated
17889// findings. AwsSecurityFinding format enables you to share findings between
17890// AWS security services and third-party solutions, and security standards checks.
17891//
17892// A finding is a potential security issue generated either by AWS services
17893// (Amazon GuardDuty, Amazon Inspector, and Amazon Macie) or by the integrated
17894// third-party solutions and standards checks.
17895type AwsSecurityFinding struct {
17896	_ struct{} `type:"structure"`
17897
17898	// Provides details about an action that affects or that was taken on a resource.
17899	Action *Action `type:"structure"`
17900
17901	// The AWS account ID that a finding is generated in.
17902	//
17903	// AwsAccountId is a required field
17904	AwsAccountId *string `type:"string" required:"true"`
17905
17906	// This data type is exclusive to findings that are generated as the result
17907	// of a check run against a specific rule in a supported security standard,
17908	// such as CIS AWS Foundations. Contains security standard-related finding details.
17909	Compliance *Compliance `type:"structure"`
17910
17911	// A finding's confidence. Confidence is defined as the likelihood that a finding
17912	// accurately identifies the behavior or issue that it was intended to identify.
17913	//
17914	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
17915	// zero percent confidence and 100 means 100 percent confidence.
17916	Confidence *int64 `type:"integer"`
17917
17918	// Indicates when the security-findings provider created the potential security
17919	// issue that a finding captured.
17920	//
17921	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
17922	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
17923	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
17924	//
17925	// CreatedAt is a required field
17926	CreatedAt *string `type:"string" required:"true"`
17927
17928	// The level of importance assigned to the resources associated with the finding.
17929	//
17930	// A score of 0 means that the underlying resources have no criticality, and
17931	// a score of 100 is reserved for the most critical resources.
17932	Criticality *int64 `type:"integer"`
17933
17934	// A finding's description.
17935	//
17936	// In this release, Description is a required property.
17937	//
17938	// Description is a required field
17939	Description *string `type:"string" required:"true"`
17940
17941	// In a BatchImportFindings request, finding providers use FindingProviderFields
17942	// to provide and update their own values for confidence, criticality, related
17943	// findings, severity, and types.
17944	FindingProviderFields *FindingProviderFields `type:"structure"`
17945
17946	// Indicates when the security-findings provider first observed the potential
17947	// security issue that a finding captured.
17948	//
17949	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
17950	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
17951	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
17952	FirstObservedAt *string `type:"string"`
17953
17954	// The identifier for the solution-specific component (a discrete unit of logic)
17955	// that generated a finding. In various security-findings providers' solutions,
17956	// this generator can be called a rule, a check, a detector, a plugin, etc.
17957	//
17958	// GeneratorId is a required field
17959	GeneratorId *string `type:"string" required:"true"`
17960
17961	// The security findings provider-specific identifier for a finding.
17962	//
17963	// Id is a required field
17964	Id *string `type:"string" required:"true"`
17965
17966	// Indicates when the security-findings provider most recently observed the
17967	// potential security issue that a finding captured.
17968	//
17969	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
17970	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
17971	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
17972	LastObservedAt *string `type:"string"`
17973
17974	// A list of malware related to a finding.
17975	Malware []*Malware `type:"list"`
17976
17977	// The details of network-related information about a finding.
17978	Network *Network `type:"structure"`
17979
17980	// Provides information about a network path that is relevant to a finding.
17981	// Each entry under NetworkPath represents a component of that path.
17982	NetworkPath []*NetworkPathComponent `type:"list"`
17983
17984	// A user-defined note added to a finding.
17985	Note *Note `type:"structure"`
17986
17987	// Provides an overview of the patch compliance status for an instance against
17988	// a selected compliance standard.
17989	PatchSummary *PatchSummary `type:"structure"`
17990
17991	// The details of process-related information about a finding.
17992	Process *ProcessDetails `type:"structure"`
17993
17994	// The ARN generated by Security Hub that uniquely identifies a product that
17995	// generates findings. This can be the ARN for a third-party product that is
17996	// integrated with Security Hub, or the ARN for a custom integration.
17997	//
17998	// ProductArn is a required field
17999	ProductArn *string `type:"string" required:"true"`
18000
18001	// A data type where security-findings providers can include additional solution-specific
18002	// details that aren't part of the defined AwsSecurityFinding format.
18003	ProductFields map[string]*string `type:"map"`
18004
18005	// The record state of a finding.
18006	RecordState *string `type:"string" enum:"RecordState"`
18007
18008	// A list of related findings.
18009	RelatedFindings []*RelatedFinding `type:"list"`
18010
18011	// A data type that describes the remediation options for a finding.
18012	Remediation *Remediation `type:"structure"`
18013
18014	// A set of resource data types that describe the resources that the finding
18015	// refers to.
18016	//
18017	// Resources is a required field
18018	Resources []*Resource `type:"list" required:"true"`
18019
18020	// The schema version that a finding is formatted for.
18021	//
18022	// SchemaVersion is a required field
18023	SchemaVersion *string `type:"string" required:"true"`
18024
18025	// A finding's severity.
18026	Severity *Severity `type:"structure"`
18027
18028	// A URL that links to a page about the current finding in the security-findings
18029	// provider's solution.
18030	SourceUrl *string `type:"string"`
18031
18032	// Threat intelligence details related to a finding.
18033	ThreatIntelIndicators []*ThreatIntelIndicator `type:"list"`
18034
18035	// A finding's title.
18036	//
18037	// In this release, Title is a required property.
18038	//
18039	// Title is a required field
18040	Title *string `type:"string" required:"true"`
18041
18042	// One or more finding types in the format of namespace/category/classifier
18043	// that classify a finding.
18044	//
18045	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
18046	// | Unusual Behaviors | Sensitive Data Identifications
18047	Types []*string `type:"list"`
18048
18049	// Indicates when the security-findings provider last updated the finding record.
18050	//
18051	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
18052	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
18053	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
18054	//
18055	// UpdatedAt is a required field
18056	UpdatedAt *string `type:"string" required:"true"`
18057
18058	// A list of name/value string pairs associated with the finding. These are
18059	// custom, user-defined fields added to a finding.
18060	UserDefinedFields map[string]*string `type:"map"`
18061
18062	// Indicates the veracity of a finding.
18063	VerificationState *string `type:"string" enum:"VerificationState"`
18064
18065	// Provides a list of vulnerabilities associated with the findings.
18066	Vulnerabilities []*Vulnerability `type:"list"`
18067
18068	// Provides information about the status of the investigation into a finding.
18069	Workflow *Workflow `type:"structure"`
18070
18071	// The workflow state of a finding.
18072	WorkflowState *string `deprecated:"true" type:"string" enum:"WorkflowState"`
18073}
18074
18075// String returns the string representation
18076func (s AwsSecurityFinding) String() string {
18077	return awsutil.Prettify(s)
18078}
18079
18080// GoString returns the string representation
18081func (s AwsSecurityFinding) GoString() string {
18082	return s.String()
18083}
18084
18085// Validate inspects the fields of the type to determine if they are valid.
18086func (s *AwsSecurityFinding) Validate() error {
18087	invalidParams := request.ErrInvalidParams{Context: "AwsSecurityFinding"}
18088	if s.AwsAccountId == nil {
18089		invalidParams.Add(request.NewErrParamRequired("AwsAccountId"))
18090	}
18091	if s.CreatedAt == nil {
18092		invalidParams.Add(request.NewErrParamRequired("CreatedAt"))
18093	}
18094	if s.Description == nil {
18095		invalidParams.Add(request.NewErrParamRequired("Description"))
18096	}
18097	if s.GeneratorId == nil {
18098		invalidParams.Add(request.NewErrParamRequired("GeneratorId"))
18099	}
18100	if s.Id == nil {
18101		invalidParams.Add(request.NewErrParamRequired("Id"))
18102	}
18103	if s.ProductArn == nil {
18104		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
18105	}
18106	if s.Resources == nil {
18107		invalidParams.Add(request.NewErrParamRequired("Resources"))
18108	}
18109	if s.SchemaVersion == nil {
18110		invalidParams.Add(request.NewErrParamRequired("SchemaVersion"))
18111	}
18112	if s.Title == nil {
18113		invalidParams.Add(request.NewErrParamRequired("Title"))
18114	}
18115	if s.UpdatedAt == nil {
18116		invalidParams.Add(request.NewErrParamRequired("UpdatedAt"))
18117	}
18118	if s.Compliance != nil {
18119		if err := s.Compliance.Validate(); err != nil {
18120			invalidParams.AddNested("Compliance", err.(request.ErrInvalidParams))
18121		}
18122	}
18123	if s.FindingProviderFields != nil {
18124		if err := s.FindingProviderFields.Validate(); err != nil {
18125			invalidParams.AddNested("FindingProviderFields", err.(request.ErrInvalidParams))
18126		}
18127	}
18128	if s.Malware != nil {
18129		for i, v := range s.Malware {
18130			if v == nil {
18131				continue
18132			}
18133			if err := v.Validate(); err != nil {
18134				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Malware", i), err.(request.ErrInvalidParams))
18135			}
18136		}
18137	}
18138	if s.Note != nil {
18139		if err := s.Note.Validate(); err != nil {
18140			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
18141		}
18142	}
18143	if s.PatchSummary != nil {
18144		if err := s.PatchSummary.Validate(); err != nil {
18145			invalidParams.AddNested("PatchSummary", err.(request.ErrInvalidParams))
18146		}
18147	}
18148	if s.RelatedFindings != nil {
18149		for i, v := range s.RelatedFindings {
18150			if v == nil {
18151				continue
18152			}
18153			if err := v.Validate(); err != nil {
18154				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
18155			}
18156		}
18157	}
18158	if s.Resources != nil {
18159		for i, v := range s.Resources {
18160			if v == nil {
18161				continue
18162			}
18163			if err := v.Validate(); err != nil {
18164				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Resources", i), err.(request.ErrInvalidParams))
18165			}
18166		}
18167	}
18168	if s.Vulnerabilities != nil {
18169		for i, v := range s.Vulnerabilities {
18170			if v == nil {
18171				continue
18172			}
18173			if err := v.Validate(); err != nil {
18174				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Vulnerabilities", i), err.(request.ErrInvalidParams))
18175			}
18176		}
18177	}
18178
18179	if invalidParams.Len() > 0 {
18180		return invalidParams
18181	}
18182	return nil
18183}
18184
18185// SetAction sets the Action field's value.
18186func (s *AwsSecurityFinding) SetAction(v *Action) *AwsSecurityFinding {
18187	s.Action = v
18188	return s
18189}
18190
18191// SetAwsAccountId sets the AwsAccountId field's value.
18192func (s *AwsSecurityFinding) SetAwsAccountId(v string) *AwsSecurityFinding {
18193	s.AwsAccountId = &v
18194	return s
18195}
18196
18197// SetCompliance sets the Compliance field's value.
18198func (s *AwsSecurityFinding) SetCompliance(v *Compliance) *AwsSecurityFinding {
18199	s.Compliance = v
18200	return s
18201}
18202
18203// SetConfidence sets the Confidence field's value.
18204func (s *AwsSecurityFinding) SetConfidence(v int64) *AwsSecurityFinding {
18205	s.Confidence = &v
18206	return s
18207}
18208
18209// SetCreatedAt sets the CreatedAt field's value.
18210func (s *AwsSecurityFinding) SetCreatedAt(v string) *AwsSecurityFinding {
18211	s.CreatedAt = &v
18212	return s
18213}
18214
18215// SetCriticality sets the Criticality field's value.
18216func (s *AwsSecurityFinding) SetCriticality(v int64) *AwsSecurityFinding {
18217	s.Criticality = &v
18218	return s
18219}
18220
18221// SetDescription sets the Description field's value.
18222func (s *AwsSecurityFinding) SetDescription(v string) *AwsSecurityFinding {
18223	s.Description = &v
18224	return s
18225}
18226
18227// SetFindingProviderFields sets the FindingProviderFields field's value.
18228func (s *AwsSecurityFinding) SetFindingProviderFields(v *FindingProviderFields) *AwsSecurityFinding {
18229	s.FindingProviderFields = v
18230	return s
18231}
18232
18233// SetFirstObservedAt sets the FirstObservedAt field's value.
18234func (s *AwsSecurityFinding) SetFirstObservedAt(v string) *AwsSecurityFinding {
18235	s.FirstObservedAt = &v
18236	return s
18237}
18238
18239// SetGeneratorId sets the GeneratorId field's value.
18240func (s *AwsSecurityFinding) SetGeneratorId(v string) *AwsSecurityFinding {
18241	s.GeneratorId = &v
18242	return s
18243}
18244
18245// SetId sets the Id field's value.
18246func (s *AwsSecurityFinding) SetId(v string) *AwsSecurityFinding {
18247	s.Id = &v
18248	return s
18249}
18250
18251// SetLastObservedAt sets the LastObservedAt field's value.
18252func (s *AwsSecurityFinding) SetLastObservedAt(v string) *AwsSecurityFinding {
18253	s.LastObservedAt = &v
18254	return s
18255}
18256
18257// SetMalware sets the Malware field's value.
18258func (s *AwsSecurityFinding) SetMalware(v []*Malware) *AwsSecurityFinding {
18259	s.Malware = v
18260	return s
18261}
18262
18263// SetNetwork sets the Network field's value.
18264func (s *AwsSecurityFinding) SetNetwork(v *Network) *AwsSecurityFinding {
18265	s.Network = v
18266	return s
18267}
18268
18269// SetNetworkPath sets the NetworkPath field's value.
18270func (s *AwsSecurityFinding) SetNetworkPath(v []*NetworkPathComponent) *AwsSecurityFinding {
18271	s.NetworkPath = v
18272	return s
18273}
18274
18275// SetNote sets the Note field's value.
18276func (s *AwsSecurityFinding) SetNote(v *Note) *AwsSecurityFinding {
18277	s.Note = v
18278	return s
18279}
18280
18281// SetPatchSummary sets the PatchSummary field's value.
18282func (s *AwsSecurityFinding) SetPatchSummary(v *PatchSummary) *AwsSecurityFinding {
18283	s.PatchSummary = v
18284	return s
18285}
18286
18287// SetProcess sets the Process field's value.
18288func (s *AwsSecurityFinding) SetProcess(v *ProcessDetails) *AwsSecurityFinding {
18289	s.Process = v
18290	return s
18291}
18292
18293// SetProductArn sets the ProductArn field's value.
18294func (s *AwsSecurityFinding) SetProductArn(v string) *AwsSecurityFinding {
18295	s.ProductArn = &v
18296	return s
18297}
18298
18299// SetProductFields sets the ProductFields field's value.
18300func (s *AwsSecurityFinding) SetProductFields(v map[string]*string) *AwsSecurityFinding {
18301	s.ProductFields = v
18302	return s
18303}
18304
18305// SetRecordState sets the RecordState field's value.
18306func (s *AwsSecurityFinding) SetRecordState(v string) *AwsSecurityFinding {
18307	s.RecordState = &v
18308	return s
18309}
18310
18311// SetRelatedFindings sets the RelatedFindings field's value.
18312func (s *AwsSecurityFinding) SetRelatedFindings(v []*RelatedFinding) *AwsSecurityFinding {
18313	s.RelatedFindings = v
18314	return s
18315}
18316
18317// SetRemediation sets the Remediation field's value.
18318func (s *AwsSecurityFinding) SetRemediation(v *Remediation) *AwsSecurityFinding {
18319	s.Remediation = v
18320	return s
18321}
18322
18323// SetResources sets the Resources field's value.
18324func (s *AwsSecurityFinding) SetResources(v []*Resource) *AwsSecurityFinding {
18325	s.Resources = v
18326	return s
18327}
18328
18329// SetSchemaVersion sets the SchemaVersion field's value.
18330func (s *AwsSecurityFinding) SetSchemaVersion(v string) *AwsSecurityFinding {
18331	s.SchemaVersion = &v
18332	return s
18333}
18334
18335// SetSeverity sets the Severity field's value.
18336func (s *AwsSecurityFinding) SetSeverity(v *Severity) *AwsSecurityFinding {
18337	s.Severity = v
18338	return s
18339}
18340
18341// SetSourceUrl sets the SourceUrl field's value.
18342func (s *AwsSecurityFinding) SetSourceUrl(v string) *AwsSecurityFinding {
18343	s.SourceUrl = &v
18344	return s
18345}
18346
18347// SetThreatIntelIndicators sets the ThreatIntelIndicators field's value.
18348func (s *AwsSecurityFinding) SetThreatIntelIndicators(v []*ThreatIntelIndicator) *AwsSecurityFinding {
18349	s.ThreatIntelIndicators = v
18350	return s
18351}
18352
18353// SetTitle sets the Title field's value.
18354func (s *AwsSecurityFinding) SetTitle(v string) *AwsSecurityFinding {
18355	s.Title = &v
18356	return s
18357}
18358
18359// SetTypes sets the Types field's value.
18360func (s *AwsSecurityFinding) SetTypes(v []*string) *AwsSecurityFinding {
18361	s.Types = v
18362	return s
18363}
18364
18365// SetUpdatedAt sets the UpdatedAt field's value.
18366func (s *AwsSecurityFinding) SetUpdatedAt(v string) *AwsSecurityFinding {
18367	s.UpdatedAt = &v
18368	return s
18369}
18370
18371// SetUserDefinedFields sets the UserDefinedFields field's value.
18372func (s *AwsSecurityFinding) SetUserDefinedFields(v map[string]*string) *AwsSecurityFinding {
18373	s.UserDefinedFields = v
18374	return s
18375}
18376
18377// SetVerificationState sets the VerificationState field's value.
18378func (s *AwsSecurityFinding) SetVerificationState(v string) *AwsSecurityFinding {
18379	s.VerificationState = &v
18380	return s
18381}
18382
18383// SetVulnerabilities sets the Vulnerabilities field's value.
18384func (s *AwsSecurityFinding) SetVulnerabilities(v []*Vulnerability) *AwsSecurityFinding {
18385	s.Vulnerabilities = v
18386	return s
18387}
18388
18389// SetWorkflow sets the Workflow field's value.
18390func (s *AwsSecurityFinding) SetWorkflow(v *Workflow) *AwsSecurityFinding {
18391	s.Workflow = v
18392	return s
18393}
18394
18395// SetWorkflowState sets the WorkflowState field's value.
18396func (s *AwsSecurityFinding) SetWorkflowState(v string) *AwsSecurityFinding {
18397	s.WorkflowState = &v
18398	return s
18399}
18400
18401// A collection of attributes that are applied to all active Security Hub-aggregated
18402// findings and that result in a subset of findings that are included in this
18403// insight.
18404//
18405// You can filter by up to 10 finding attributes. For each attribute, you can
18406// provide up to 20 filter values.
18407type AwsSecurityFindingFilters struct {
18408	_ struct{} `type:"structure"`
18409
18410	// The AWS account ID that a finding is generated in.
18411	AwsAccountId []*StringFilter `type:"list"`
18412
18413	// The name of the findings provider (company) that owns the solution (product)
18414	// that generates findings.
18415	CompanyName []*StringFilter `type:"list"`
18416
18417	// Exclusive to findings that are generated as the result of a check run against
18418	// a specific rule in a supported standard, such as CIS AWS Foundations. Contains
18419	// security standard-related finding details.
18420	ComplianceStatus []*StringFilter `type:"list"`
18421
18422	// A finding's confidence. Confidence is defined as the likelihood that a finding
18423	// accurately identifies the behavior or issue that it was intended to identify.
18424	//
18425	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
18426	// zero percent confidence and 100 means 100 percent confidence.
18427	Confidence []*NumberFilter `type:"list"`
18428
18429	// An ISO8601-formatted timestamp that indicates when the security-findings
18430	// provider captured the potential security issue that a finding captured.
18431	CreatedAt []*DateFilter `type:"list"`
18432
18433	// The level of importance assigned to the resources associated with the finding.
18434	//
18435	// A score of 0 means that the underlying resources have no criticality, and
18436	// a score of 100 is reserved for the most critical resources.
18437	Criticality []*NumberFilter `type:"list"`
18438
18439	// A finding's description.
18440	Description []*StringFilter `type:"list"`
18441
18442	// The finding provider value for the finding confidence. Confidence is defined
18443	// as the likelihood that a finding accurately identifies the behavior or issue
18444	// that it was intended to identify.
18445	//
18446	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
18447	// zero percent confidence and 100 means 100 percent confidence.
18448	FindingProviderFieldsConfidence []*NumberFilter `type:"list"`
18449
18450	// The finding provider value for the level of importance assigned to the resources
18451	// associated with the findings.
18452	//
18453	// A score of 0 means that the underlying resources have no criticality, and
18454	// a score of 100 is reserved for the most critical resources.
18455	FindingProviderFieldsCriticality []*NumberFilter `type:"list"`
18456
18457	// The finding identifier of a related finding that is identified by the finding
18458	// provider.
18459	FindingProviderFieldsRelatedFindingsId []*StringFilter `type:"list"`
18460
18461	// The ARN of the solution that generated a related finding that is identified
18462	// by the finding provider.
18463	FindingProviderFieldsRelatedFindingsProductArn []*StringFilter `type:"list"`
18464
18465	// The finding provider value for the severity label.
18466	FindingProviderFieldsSeverityLabel []*StringFilter `type:"list"`
18467
18468	// The finding provider's original value for the severity.
18469	FindingProviderFieldsSeverityOriginal []*StringFilter `type:"list"`
18470
18471	// One or more finding types that the finding provider assigned to the finding.
18472	// Uses the format of namespace/category/classifier that classify a finding.
18473	//
18474	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
18475	// | Unusual Behaviors | Sensitive Data Identifications
18476	FindingProviderFieldsTypes []*StringFilter `type:"list"`
18477
18478	// An ISO8601-formatted timestamp that indicates when the security-findings
18479	// provider first observed the potential security issue that a finding captured.
18480	FirstObservedAt []*DateFilter `type:"list"`
18481
18482	// The identifier for the solution-specific component (a discrete unit of logic)
18483	// that generated a finding. In various security-findings providers' solutions,
18484	// this generator can be called a rule, a check, a detector, a plugin, etc.
18485	GeneratorId []*StringFilter `type:"list"`
18486
18487	// The security findings provider-specific identifier for a finding.
18488	Id []*StringFilter `type:"list"`
18489
18490	// A keyword for a finding.
18491	Keyword []*KeywordFilter `type:"list"`
18492
18493	// An ISO8601-formatted timestamp that indicates when the security-findings
18494	// provider most recently observed the potential security issue that a finding
18495	// captured.
18496	LastObservedAt []*DateFilter `type:"list"`
18497
18498	// The name of the malware that was observed.
18499	MalwareName []*StringFilter `type:"list"`
18500
18501	// The filesystem path of the malware that was observed.
18502	MalwarePath []*StringFilter `type:"list"`
18503
18504	// The state of the malware that was observed.
18505	MalwareState []*StringFilter `type:"list"`
18506
18507	// The type of the malware that was observed.
18508	MalwareType []*StringFilter `type:"list"`
18509
18510	// The destination domain of network-related information about a finding.
18511	NetworkDestinationDomain []*StringFilter `type:"list"`
18512
18513	// The destination IPv4 address of network-related information about a finding.
18514	NetworkDestinationIpV4 []*IpFilter `type:"list"`
18515
18516	// The destination IPv6 address of network-related information about a finding.
18517	NetworkDestinationIpV6 []*IpFilter `type:"list"`
18518
18519	// The destination port of network-related information about a finding.
18520	NetworkDestinationPort []*NumberFilter `type:"list"`
18521
18522	// Indicates the direction of network traffic associated with a finding.
18523	NetworkDirection []*StringFilter `type:"list"`
18524
18525	// The protocol of network-related information about a finding.
18526	NetworkProtocol []*StringFilter `type:"list"`
18527
18528	// The source domain of network-related information about a finding.
18529	NetworkSourceDomain []*StringFilter `type:"list"`
18530
18531	// The source IPv4 address of network-related information about a finding.
18532	NetworkSourceIpV4 []*IpFilter `type:"list"`
18533
18534	// The source IPv6 address of network-related information about a finding.
18535	NetworkSourceIpV6 []*IpFilter `type:"list"`
18536
18537	// The source media access control (MAC) address of network-related information
18538	// about a finding.
18539	NetworkSourceMac []*StringFilter `type:"list"`
18540
18541	// The source port of network-related information about a finding.
18542	NetworkSourcePort []*NumberFilter `type:"list"`
18543
18544	// The text of a note.
18545	NoteText []*StringFilter `type:"list"`
18546
18547	// The timestamp of when the note was updated.
18548	NoteUpdatedAt []*DateFilter `type:"list"`
18549
18550	// The principal that created a note.
18551	NoteUpdatedBy []*StringFilter `type:"list"`
18552
18553	// The date/time that the process was launched.
18554	ProcessLaunchedAt []*DateFilter `type:"list"`
18555
18556	// The name of the process.
18557	ProcessName []*StringFilter `type:"list"`
18558
18559	// The parent process ID.
18560	ProcessParentPid []*NumberFilter `type:"list"`
18561
18562	// The path to the process executable.
18563	ProcessPath []*StringFilter `type:"list"`
18564
18565	// The process ID.
18566	ProcessPid []*NumberFilter `type:"list"`
18567
18568	// The date/time that the process was terminated.
18569	ProcessTerminatedAt []*DateFilter `type:"list"`
18570
18571	// The ARN generated by Security Hub that uniquely identifies a third-party
18572	// company (security findings provider) after this provider's product (solution
18573	// that generates findings) is registered with Security Hub.
18574	ProductArn []*StringFilter `type:"list"`
18575
18576	// A data type where security-findings providers can include additional solution-specific
18577	// details that aren't part of the defined AwsSecurityFinding format.
18578	ProductFields []*MapFilter `type:"list"`
18579
18580	// The name of the solution (product) that generates findings.
18581	ProductName []*StringFilter `type:"list"`
18582
18583	// The recommendation of what to do about the issue described in a finding.
18584	RecommendationText []*StringFilter `type:"list"`
18585
18586	// The updated record state for the finding.
18587	RecordState []*StringFilter `type:"list"`
18588
18589	// The solution-generated identifier for a related finding.
18590	RelatedFindingsId []*StringFilter `type:"list"`
18591
18592	// The ARN of the solution that generated a related finding.
18593	RelatedFindingsProductArn []*StringFilter `type:"list"`
18594
18595	// The IAM profile ARN of the instance.
18596	ResourceAwsEc2InstanceIamInstanceProfileArn []*StringFilter `type:"list"`
18597
18598	// The Amazon Machine Image (AMI) ID of the instance.
18599	ResourceAwsEc2InstanceImageId []*StringFilter `type:"list"`
18600
18601	// The IPv4 addresses associated with the instance.
18602	ResourceAwsEc2InstanceIpV4Addresses []*IpFilter `type:"list"`
18603
18604	// The IPv6 addresses associated with the instance.
18605	ResourceAwsEc2InstanceIpV6Addresses []*IpFilter `type:"list"`
18606
18607	// The key name associated with the instance.
18608	ResourceAwsEc2InstanceKeyName []*StringFilter `type:"list"`
18609
18610	// The date and time the instance was launched.
18611	ResourceAwsEc2InstanceLaunchedAt []*DateFilter `type:"list"`
18612
18613	// The identifier of the subnet that the instance was launched in.
18614	ResourceAwsEc2InstanceSubnetId []*StringFilter `type:"list"`
18615
18616	// The instance type of the instance.
18617	ResourceAwsEc2InstanceType []*StringFilter `type:"list"`
18618
18619	// The identifier of the VPC that the instance was launched in.
18620	ResourceAwsEc2InstanceVpcId []*StringFilter `type:"list"`
18621
18622	// The creation date/time of the IAM access key related to a finding.
18623	ResourceAwsIamAccessKeyCreatedAt []*DateFilter `type:"list"`
18624
18625	// The status of the IAM access key related to a finding.
18626	ResourceAwsIamAccessKeyStatus []*StringFilter `type:"list"`
18627
18628	// The user associated with the IAM access key related to a finding.
18629	ResourceAwsIamAccessKeyUserName []*StringFilter `type:"list"`
18630
18631	// The canonical user ID of the owner of the S3 bucket.
18632	ResourceAwsS3BucketOwnerId []*StringFilter `type:"list"`
18633
18634	// The display name of the owner of the S3 bucket.
18635	ResourceAwsS3BucketOwnerName []*StringFilter `type:"list"`
18636
18637	// The identifier of the image related to a finding.
18638	ResourceContainerImageId []*StringFilter `type:"list"`
18639
18640	// The name of the image related to a finding.
18641	ResourceContainerImageName []*StringFilter `type:"list"`
18642
18643	// The date/time that the container was started.
18644	ResourceContainerLaunchedAt []*DateFilter `type:"list"`
18645
18646	// The name of the container related to a finding.
18647	ResourceContainerName []*StringFilter `type:"list"`
18648
18649	// The details of a resource that doesn't have a specific subfield for the resource
18650	// type defined.
18651	ResourceDetailsOther []*MapFilter `type:"list"`
18652
18653	// The canonical identifier for the given resource type.
18654	ResourceId []*StringFilter `type:"list"`
18655
18656	// The canonical AWS partition name that the Region is assigned to.
18657	ResourcePartition []*StringFilter `type:"list"`
18658
18659	// The canonical AWS external Region name where this resource is located.
18660	ResourceRegion []*StringFilter `type:"list"`
18661
18662	// A list of AWS tags associated with a resource at the time the finding was
18663	// processed.
18664	ResourceTags []*MapFilter `type:"list"`
18665
18666	// Specifies the type of the resource that details are provided for.
18667	ResourceType []*StringFilter `type:"list"`
18668
18669	// The label of a finding's severity.
18670	SeverityLabel []*StringFilter `type:"list"`
18671
18672	// The normalized severity of a finding.
18673	//
18674	// Deprecated: This filter is deprecated, use SeverityLabel or FindingProviderFieldsSeverityLabel instead.
18675	SeverityNormalized []*NumberFilter `deprecated:"true" type:"list"`
18676
18677	// The native severity as defined by the security-findings provider's solution
18678	// that generated the finding.
18679	//
18680	// Deprecated: This filter is deprecated, use FindingProviiltersSeverityOriginal instead.
18681	SeverityProduct []*NumberFilter `deprecated:"true" type:"list"`
18682
18683	// A URL that links to a page about the current finding in the security-findings
18684	// provider's solution.
18685	SourceUrl []*StringFilter `type:"list"`
18686
18687	// The category of a threat intelligence indicator.
18688	ThreatIntelIndicatorCategory []*StringFilter `type:"list"`
18689
18690	// The date/time of the last observation of a threat intelligence indicator.
18691	ThreatIntelIndicatorLastObservedAt []*DateFilter `type:"list"`
18692
18693	// The source of the threat intelligence.
18694	ThreatIntelIndicatorSource []*StringFilter `type:"list"`
18695
18696	// The URL for more details from the source of the threat intelligence.
18697	ThreatIntelIndicatorSourceUrl []*StringFilter `type:"list"`
18698
18699	// The type of a threat intelligence indicator.
18700	ThreatIntelIndicatorType []*StringFilter `type:"list"`
18701
18702	// The value of a threat intelligence indicator.
18703	ThreatIntelIndicatorValue []*StringFilter `type:"list"`
18704
18705	// A finding's title.
18706	Title []*StringFilter `type:"list"`
18707
18708	// A finding type in the format of namespace/category/classifier that classifies
18709	// a finding.
18710	Type []*StringFilter `type:"list"`
18711
18712	// An ISO8601-formatted timestamp that indicates when the security-findings
18713	// provider last updated the finding record.
18714	UpdatedAt []*DateFilter `type:"list"`
18715
18716	// A list of name/value string pairs associated with the finding. These are
18717	// custom, user-defined fields added to a finding.
18718	UserDefinedFields []*MapFilter `type:"list"`
18719
18720	// The veracity of a finding.
18721	VerificationState []*StringFilter `type:"list"`
18722
18723	// The workflow state of a finding.
18724	//
18725	// Note that this field is deprecated. To search for a finding based on its
18726	// workflow status, use WorkflowStatus.
18727	WorkflowState []*StringFilter `type:"list"`
18728
18729	// The status of the investigation into a finding. Allowed values are the following.
18730	//
18731	//    * NEW - The initial state of a finding, before it is reviewed. Security
18732	//    Hub also resets the workflow status from NOTIFIED or RESOLVED to NEW in
18733	//    the following cases: The record state changes from ARCHIVED to ACTIVE.
18734	//    The compliance status changes from PASSED to either WARNING, FAILED, or
18735	//    NOT_AVAILABLE.
18736	//
18737	//    * NOTIFIED - Indicates that the resource owner has been notified about
18738	//    the security issue. Used when the initial reviewer is not the resource
18739	//    owner, and needs intervention from the resource owner.
18740	//
18741	//    * SUPPRESSED - The finding will not be reviewed again and will not be
18742	//    acted upon.
18743	//
18744	//    * RESOLVED - The finding was reviewed and remediated and is now considered
18745	//    resolved.
18746	WorkflowStatus []*StringFilter `type:"list"`
18747}
18748
18749// String returns the string representation
18750func (s AwsSecurityFindingFilters) String() string {
18751	return awsutil.Prettify(s)
18752}
18753
18754// GoString returns the string representation
18755func (s AwsSecurityFindingFilters) GoString() string {
18756	return s.String()
18757}
18758
18759// SetAwsAccountId sets the AwsAccountId field's value.
18760func (s *AwsSecurityFindingFilters) SetAwsAccountId(v []*StringFilter) *AwsSecurityFindingFilters {
18761	s.AwsAccountId = v
18762	return s
18763}
18764
18765// SetCompanyName sets the CompanyName field's value.
18766func (s *AwsSecurityFindingFilters) SetCompanyName(v []*StringFilter) *AwsSecurityFindingFilters {
18767	s.CompanyName = v
18768	return s
18769}
18770
18771// SetComplianceStatus sets the ComplianceStatus field's value.
18772func (s *AwsSecurityFindingFilters) SetComplianceStatus(v []*StringFilter) *AwsSecurityFindingFilters {
18773	s.ComplianceStatus = v
18774	return s
18775}
18776
18777// SetConfidence sets the Confidence field's value.
18778func (s *AwsSecurityFindingFilters) SetConfidence(v []*NumberFilter) *AwsSecurityFindingFilters {
18779	s.Confidence = v
18780	return s
18781}
18782
18783// SetCreatedAt sets the CreatedAt field's value.
18784func (s *AwsSecurityFindingFilters) SetCreatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
18785	s.CreatedAt = v
18786	return s
18787}
18788
18789// SetCriticality sets the Criticality field's value.
18790func (s *AwsSecurityFindingFilters) SetCriticality(v []*NumberFilter) *AwsSecurityFindingFilters {
18791	s.Criticality = v
18792	return s
18793}
18794
18795// SetDescription sets the Description field's value.
18796func (s *AwsSecurityFindingFilters) SetDescription(v []*StringFilter) *AwsSecurityFindingFilters {
18797	s.Description = v
18798	return s
18799}
18800
18801// SetFindingProviderFieldsConfidence sets the FindingProviderFieldsConfidence field's value.
18802func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsConfidence(v []*NumberFilter) *AwsSecurityFindingFilters {
18803	s.FindingProviderFieldsConfidence = v
18804	return s
18805}
18806
18807// SetFindingProviderFieldsCriticality sets the FindingProviderFieldsCriticality field's value.
18808func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsCriticality(v []*NumberFilter) *AwsSecurityFindingFilters {
18809	s.FindingProviderFieldsCriticality = v
18810	return s
18811}
18812
18813// SetFindingProviderFieldsRelatedFindingsId sets the FindingProviderFieldsRelatedFindingsId field's value.
18814func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsRelatedFindingsId(v []*StringFilter) *AwsSecurityFindingFilters {
18815	s.FindingProviderFieldsRelatedFindingsId = v
18816	return s
18817}
18818
18819// SetFindingProviderFieldsRelatedFindingsProductArn sets the FindingProviderFieldsRelatedFindingsProductArn field's value.
18820func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsRelatedFindingsProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
18821	s.FindingProviderFieldsRelatedFindingsProductArn = v
18822	return s
18823}
18824
18825// SetFindingProviderFieldsSeverityLabel sets the FindingProviderFieldsSeverityLabel field's value.
18826func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsSeverityLabel(v []*StringFilter) *AwsSecurityFindingFilters {
18827	s.FindingProviderFieldsSeverityLabel = v
18828	return s
18829}
18830
18831// SetFindingProviderFieldsSeverityOriginal sets the FindingProviderFieldsSeverityOriginal field's value.
18832func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsSeverityOriginal(v []*StringFilter) *AwsSecurityFindingFilters {
18833	s.FindingProviderFieldsSeverityOriginal = v
18834	return s
18835}
18836
18837// SetFindingProviderFieldsTypes sets the FindingProviderFieldsTypes field's value.
18838func (s *AwsSecurityFindingFilters) SetFindingProviderFieldsTypes(v []*StringFilter) *AwsSecurityFindingFilters {
18839	s.FindingProviderFieldsTypes = v
18840	return s
18841}
18842
18843// SetFirstObservedAt sets the FirstObservedAt field's value.
18844func (s *AwsSecurityFindingFilters) SetFirstObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
18845	s.FirstObservedAt = v
18846	return s
18847}
18848
18849// SetGeneratorId sets the GeneratorId field's value.
18850func (s *AwsSecurityFindingFilters) SetGeneratorId(v []*StringFilter) *AwsSecurityFindingFilters {
18851	s.GeneratorId = v
18852	return s
18853}
18854
18855// SetId sets the Id field's value.
18856func (s *AwsSecurityFindingFilters) SetId(v []*StringFilter) *AwsSecurityFindingFilters {
18857	s.Id = v
18858	return s
18859}
18860
18861// SetKeyword sets the Keyword field's value.
18862func (s *AwsSecurityFindingFilters) SetKeyword(v []*KeywordFilter) *AwsSecurityFindingFilters {
18863	s.Keyword = v
18864	return s
18865}
18866
18867// SetLastObservedAt sets the LastObservedAt field's value.
18868func (s *AwsSecurityFindingFilters) SetLastObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
18869	s.LastObservedAt = v
18870	return s
18871}
18872
18873// SetMalwareName sets the MalwareName field's value.
18874func (s *AwsSecurityFindingFilters) SetMalwareName(v []*StringFilter) *AwsSecurityFindingFilters {
18875	s.MalwareName = v
18876	return s
18877}
18878
18879// SetMalwarePath sets the MalwarePath field's value.
18880func (s *AwsSecurityFindingFilters) SetMalwarePath(v []*StringFilter) *AwsSecurityFindingFilters {
18881	s.MalwarePath = v
18882	return s
18883}
18884
18885// SetMalwareState sets the MalwareState field's value.
18886func (s *AwsSecurityFindingFilters) SetMalwareState(v []*StringFilter) *AwsSecurityFindingFilters {
18887	s.MalwareState = v
18888	return s
18889}
18890
18891// SetMalwareType sets the MalwareType field's value.
18892func (s *AwsSecurityFindingFilters) SetMalwareType(v []*StringFilter) *AwsSecurityFindingFilters {
18893	s.MalwareType = v
18894	return s
18895}
18896
18897// SetNetworkDestinationDomain sets the NetworkDestinationDomain field's value.
18898func (s *AwsSecurityFindingFilters) SetNetworkDestinationDomain(v []*StringFilter) *AwsSecurityFindingFilters {
18899	s.NetworkDestinationDomain = v
18900	return s
18901}
18902
18903// SetNetworkDestinationIpV4 sets the NetworkDestinationIpV4 field's value.
18904func (s *AwsSecurityFindingFilters) SetNetworkDestinationIpV4(v []*IpFilter) *AwsSecurityFindingFilters {
18905	s.NetworkDestinationIpV4 = v
18906	return s
18907}
18908
18909// SetNetworkDestinationIpV6 sets the NetworkDestinationIpV6 field's value.
18910func (s *AwsSecurityFindingFilters) SetNetworkDestinationIpV6(v []*IpFilter) *AwsSecurityFindingFilters {
18911	s.NetworkDestinationIpV6 = v
18912	return s
18913}
18914
18915// SetNetworkDestinationPort sets the NetworkDestinationPort field's value.
18916func (s *AwsSecurityFindingFilters) SetNetworkDestinationPort(v []*NumberFilter) *AwsSecurityFindingFilters {
18917	s.NetworkDestinationPort = v
18918	return s
18919}
18920
18921// SetNetworkDirection sets the NetworkDirection field's value.
18922func (s *AwsSecurityFindingFilters) SetNetworkDirection(v []*StringFilter) *AwsSecurityFindingFilters {
18923	s.NetworkDirection = v
18924	return s
18925}
18926
18927// SetNetworkProtocol sets the NetworkProtocol field's value.
18928func (s *AwsSecurityFindingFilters) SetNetworkProtocol(v []*StringFilter) *AwsSecurityFindingFilters {
18929	s.NetworkProtocol = v
18930	return s
18931}
18932
18933// SetNetworkSourceDomain sets the NetworkSourceDomain field's value.
18934func (s *AwsSecurityFindingFilters) SetNetworkSourceDomain(v []*StringFilter) *AwsSecurityFindingFilters {
18935	s.NetworkSourceDomain = v
18936	return s
18937}
18938
18939// SetNetworkSourceIpV4 sets the NetworkSourceIpV4 field's value.
18940func (s *AwsSecurityFindingFilters) SetNetworkSourceIpV4(v []*IpFilter) *AwsSecurityFindingFilters {
18941	s.NetworkSourceIpV4 = v
18942	return s
18943}
18944
18945// SetNetworkSourceIpV6 sets the NetworkSourceIpV6 field's value.
18946func (s *AwsSecurityFindingFilters) SetNetworkSourceIpV6(v []*IpFilter) *AwsSecurityFindingFilters {
18947	s.NetworkSourceIpV6 = v
18948	return s
18949}
18950
18951// SetNetworkSourceMac sets the NetworkSourceMac field's value.
18952func (s *AwsSecurityFindingFilters) SetNetworkSourceMac(v []*StringFilter) *AwsSecurityFindingFilters {
18953	s.NetworkSourceMac = v
18954	return s
18955}
18956
18957// SetNetworkSourcePort sets the NetworkSourcePort field's value.
18958func (s *AwsSecurityFindingFilters) SetNetworkSourcePort(v []*NumberFilter) *AwsSecurityFindingFilters {
18959	s.NetworkSourcePort = v
18960	return s
18961}
18962
18963// SetNoteText sets the NoteText field's value.
18964func (s *AwsSecurityFindingFilters) SetNoteText(v []*StringFilter) *AwsSecurityFindingFilters {
18965	s.NoteText = v
18966	return s
18967}
18968
18969// SetNoteUpdatedAt sets the NoteUpdatedAt field's value.
18970func (s *AwsSecurityFindingFilters) SetNoteUpdatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
18971	s.NoteUpdatedAt = v
18972	return s
18973}
18974
18975// SetNoteUpdatedBy sets the NoteUpdatedBy field's value.
18976func (s *AwsSecurityFindingFilters) SetNoteUpdatedBy(v []*StringFilter) *AwsSecurityFindingFilters {
18977	s.NoteUpdatedBy = v
18978	return s
18979}
18980
18981// SetProcessLaunchedAt sets the ProcessLaunchedAt field's value.
18982func (s *AwsSecurityFindingFilters) SetProcessLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
18983	s.ProcessLaunchedAt = v
18984	return s
18985}
18986
18987// SetProcessName sets the ProcessName field's value.
18988func (s *AwsSecurityFindingFilters) SetProcessName(v []*StringFilter) *AwsSecurityFindingFilters {
18989	s.ProcessName = v
18990	return s
18991}
18992
18993// SetProcessParentPid sets the ProcessParentPid field's value.
18994func (s *AwsSecurityFindingFilters) SetProcessParentPid(v []*NumberFilter) *AwsSecurityFindingFilters {
18995	s.ProcessParentPid = v
18996	return s
18997}
18998
18999// SetProcessPath sets the ProcessPath field's value.
19000func (s *AwsSecurityFindingFilters) SetProcessPath(v []*StringFilter) *AwsSecurityFindingFilters {
19001	s.ProcessPath = v
19002	return s
19003}
19004
19005// SetProcessPid sets the ProcessPid field's value.
19006func (s *AwsSecurityFindingFilters) SetProcessPid(v []*NumberFilter) *AwsSecurityFindingFilters {
19007	s.ProcessPid = v
19008	return s
19009}
19010
19011// SetProcessTerminatedAt sets the ProcessTerminatedAt field's value.
19012func (s *AwsSecurityFindingFilters) SetProcessTerminatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
19013	s.ProcessTerminatedAt = v
19014	return s
19015}
19016
19017// SetProductArn sets the ProductArn field's value.
19018func (s *AwsSecurityFindingFilters) SetProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
19019	s.ProductArn = v
19020	return s
19021}
19022
19023// SetProductFields sets the ProductFields field's value.
19024func (s *AwsSecurityFindingFilters) SetProductFields(v []*MapFilter) *AwsSecurityFindingFilters {
19025	s.ProductFields = v
19026	return s
19027}
19028
19029// SetProductName sets the ProductName field's value.
19030func (s *AwsSecurityFindingFilters) SetProductName(v []*StringFilter) *AwsSecurityFindingFilters {
19031	s.ProductName = v
19032	return s
19033}
19034
19035// SetRecommendationText sets the RecommendationText field's value.
19036func (s *AwsSecurityFindingFilters) SetRecommendationText(v []*StringFilter) *AwsSecurityFindingFilters {
19037	s.RecommendationText = v
19038	return s
19039}
19040
19041// SetRecordState sets the RecordState field's value.
19042func (s *AwsSecurityFindingFilters) SetRecordState(v []*StringFilter) *AwsSecurityFindingFilters {
19043	s.RecordState = v
19044	return s
19045}
19046
19047// SetRelatedFindingsId sets the RelatedFindingsId field's value.
19048func (s *AwsSecurityFindingFilters) SetRelatedFindingsId(v []*StringFilter) *AwsSecurityFindingFilters {
19049	s.RelatedFindingsId = v
19050	return s
19051}
19052
19053// SetRelatedFindingsProductArn sets the RelatedFindingsProductArn field's value.
19054func (s *AwsSecurityFindingFilters) SetRelatedFindingsProductArn(v []*StringFilter) *AwsSecurityFindingFilters {
19055	s.RelatedFindingsProductArn = v
19056	return s
19057}
19058
19059// SetResourceAwsEc2InstanceIamInstanceProfileArn sets the ResourceAwsEc2InstanceIamInstanceProfileArn field's value.
19060func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIamInstanceProfileArn(v []*StringFilter) *AwsSecurityFindingFilters {
19061	s.ResourceAwsEc2InstanceIamInstanceProfileArn = v
19062	return s
19063}
19064
19065// SetResourceAwsEc2InstanceImageId sets the ResourceAwsEc2InstanceImageId field's value.
19066func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceImageId(v []*StringFilter) *AwsSecurityFindingFilters {
19067	s.ResourceAwsEc2InstanceImageId = v
19068	return s
19069}
19070
19071// SetResourceAwsEc2InstanceIpV4Addresses sets the ResourceAwsEc2InstanceIpV4Addresses field's value.
19072func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIpV4Addresses(v []*IpFilter) *AwsSecurityFindingFilters {
19073	s.ResourceAwsEc2InstanceIpV4Addresses = v
19074	return s
19075}
19076
19077// SetResourceAwsEc2InstanceIpV6Addresses sets the ResourceAwsEc2InstanceIpV6Addresses field's value.
19078func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceIpV6Addresses(v []*IpFilter) *AwsSecurityFindingFilters {
19079	s.ResourceAwsEc2InstanceIpV6Addresses = v
19080	return s
19081}
19082
19083// SetResourceAwsEc2InstanceKeyName sets the ResourceAwsEc2InstanceKeyName field's value.
19084func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceKeyName(v []*StringFilter) *AwsSecurityFindingFilters {
19085	s.ResourceAwsEc2InstanceKeyName = v
19086	return s
19087}
19088
19089// SetResourceAwsEc2InstanceLaunchedAt sets the ResourceAwsEc2InstanceLaunchedAt field's value.
19090func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
19091	s.ResourceAwsEc2InstanceLaunchedAt = v
19092	return s
19093}
19094
19095// SetResourceAwsEc2InstanceSubnetId sets the ResourceAwsEc2InstanceSubnetId field's value.
19096func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceSubnetId(v []*StringFilter) *AwsSecurityFindingFilters {
19097	s.ResourceAwsEc2InstanceSubnetId = v
19098	return s
19099}
19100
19101// SetResourceAwsEc2InstanceType sets the ResourceAwsEc2InstanceType field's value.
19102func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceType(v []*StringFilter) *AwsSecurityFindingFilters {
19103	s.ResourceAwsEc2InstanceType = v
19104	return s
19105}
19106
19107// SetResourceAwsEc2InstanceVpcId sets the ResourceAwsEc2InstanceVpcId field's value.
19108func (s *AwsSecurityFindingFilters) SetResourceAwsEc2InstanceVpcId(v []*StringFilter) *AwsSecurityFindingFilters {
19109	s.ResourceAwsEc2InstanceVpcId = v
19110	return s
19111}
19112
19113// SetResourceAwsIamAccessKeyCreatedAt sets the ResourceAwsIamAccessKeyCreatedAt field's value.
19114func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyCreatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
19115	s.ResourceAwsIamAccessKeyCreatedAt = v
19116	return s
19117}
19118
19119// SetResourceAwsIamAccessKeyStatus sets the ResourceAwsIamAccessKeyStatus field's value.
19120func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyStatus(v []*StringFilter) *AwsSecurityFindingFilters {
19121	s.ResourceAwsIamAccessKeyStatus = v
19122	return s
19123}
19124
19125// SetResourceAwsIamAccessKeyUserName sets the ResourceAwsIamAccessKeyUserName field's value.
19126func (s *AwsSecurityFindingFilters) SetResourceAwsIamAccessKeyUserName(v []*StringFilter) *AwsSecurityFindingFilters {
19127	s.ResourceAwsIamAccessKeyUserName = v
19128	return s
19129}
19130
19131// SetResourceAwsS3BucketOwnerId sets the ResourceAwsS3BucketOwnerId field's value.
19132func (s *AwsSecurityFindingFilters) SetResourceAwsS3BucketOwnerId(v []*StringFilter) *AwsSecurityFindingFilters {
19133	s.ResourceAwsS3BucketOwnerId = v
19134	return s
19135}
19136
19137// SetResourceAwsS3BucketOwnerName sets the ResourceAwsS3BucketOwnerName field's value.
19138func (s *AwsSecurityFindingFilters) SetResourceAwsS3BucketOwnerName(v []*StringFilter) *AwsSecurityFindingFilters {
19139	s.ResourceAwsS3BucketOwnerName = v
19140	return s
19141}
19142
19143// SetResourceContainerImageId sets the ResourceContainerImageId field's value.
19144func (s *AwsSecurityFindingFilters) SetResourceContainerImageId(v []*StringFilter) *AwsSecurityFindingFilters {
19145	s.ResourceContainerImageId = v
19146	return s
19147}
19148
19149// SetResourceContainerImageName sets the ResourceContainerImageName field's value.
19150func (s *AwsSecurityFindingFilters) SetResourceContainerImageName(v []*StringFilter) *AwsSecurityFindingFilters {
19151	s.ResourceContainerImageName = v
19152	return s
19153}
19154
19155// SetResourceContainerLaunchedAt sets the ResourceContainerLaunchedAt field's value.
19156func (s *AwsSecurityFindingFilters) SetResourceContainerLaunchedAt(v []*DateFilter) *AwsSecurityFindingFilters {
19157	s.ResourceContainerLaunchedAt = v
19158	return s
19159}
19160
19161// SetResourceContainerName sets the ResourceContainerName field's value.
19162func (s *AwsSecurityFindingFilters) SetResourceContainerName(v []*StringFilter) *AwsSecurityFindingFilters {
19163	s.ResourceContainerName = v
19164	return s
19165}
19166
19167// SetResourceDetailsOther sets the ResourceDetailsOther field's value.
19168func (s *AwsSecurityFindingFilters) SetResourceDetailsOther(v []*MapFilter) *AwsSecurityFindingFilters {
19169	s.ResourceDetailsOther = v
19170	return s
19171}
19172
19173// SetResourceId sets the ResourceId field's value.
19174func (s *AwsSecurityFindingFilters) SetResourceId(v []*StringFilter) *AwsSecurityFindingFilters {
19175	s.ResourceId = v
19176	return s
19177}
19178
19179// SetResourcePartition sets the ResourcePartition field's value.
19180func (s *AwsSecurityFindingFilters) SetResourcePartition(v []*StringFilter) *AwsSecurityFindingFilters {
19181	s.ResourcePartition = v
19182	return s
19183}
19184
19185// SetResourceRegion sets the ResourceRegion field's value.
19186func (s *AwsSecurityFindingFilters) SetResourceRegion(v []*StringFilter) *AwsSecurityFindingFilters {
19187	s.ResourceRegion = v
19188	return s
19189}
19190
19191// SetResourceTags sets the ResourceTags field's value.
19192func (s *AwsSecurityFindingFilters) SetResourceTags(v []*MapFilter) *AwsSecurityFindingFilters {
19193	s.ResourceTags = v
19194	return s
19195}
19196
19197// SetResourceType sets the ResourceType field's value.
19198func (s *AwsSecurityFindingFilters) SetResourceType(v []*StringFilter) *AwsSecurityFindingFilters {
19199	s.ResourceType = v
19200	return s
19201}
19202
19203// SetSeverityLabel sets the SeverityLabel field's value.
19204func (s *AwsSecurityFindingFilters) SetSeverityLabel(v []*StringFilter) *AwsSecurityFindingFilters {
19205	s.SeverityLabel = v
19206	return s
19207}
19208
19209// SetSeverityNormalized sets the SeverityNormalized field's value.
19210func (s *AwsSecurityFindingFilters) SetSeverityNormalized(v []*NumberFilter) *AwsSecurityFindingFilters {
19211	s.SeverityNormalized = v
19212	return s
19213}
19214
19215// SetSeverityProduct sets the SeverityProduct field's value.
19216func (s *AwsSecurityFindingFilters) SetSeverityProduct(v []*NumberFilter) *AwsSecurityFindingFilters {
19217	s.SeverityProduct = v
19218	return s
19219}
19220
19221// SetSourceUrl sets the SourceUrl field's value.
19222func (s *AwsSecurityFindingFilters) SetSourceUrl(v []*StringFilter) *AwsSecurityFindingFilters {
19223	s.SourceUrl = v
19224	return s
19225}
19226
19227// SetThreatIntelIndicatorCategory sets the ThreatIntelIndicatorCategory field's value.
19228func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorCategory(v []*StringFilter) *AwsSecurityFindingFilters {
19229	s.ThreatIntelIndicatorCategory = v
19230	return s
19231}
19232
19233// SetThreatIntelIndicatorLastObservedAt sets the ThreatIntelIndicatorLastObservedAt field's value.
19234func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorLastObservedAt(v []*DateFilter) *AwsSecurityFindingFilters {
19235	s.ThreatIntelIndicatorLastObservedAt = v
19236	return s
19237}
19238
19239// SetThreatIntelIndicatorSource sets the ThreatIntelIndicatorSource field's value.
19240func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorSource(v []*StringFilter) *AwsSecurityFindingFilters {
19241	s.ThreatIntelIndicatorSource = v
19242	return s
19243}
19244
19245// SetThreatIntelIndicatorSourceUrl sets the ThreatIntelIndicatorSourceUrl field's value.
19246func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorSourceUrl(v []*StringFilter) *AwsSecurityFindingFilters {
19247	s.ThreatIntelIndicatorSourceUrl = v
19248	return s
19249}
19250
19251// SetThreatIntelIndicatorType sets the ThreatIntelIndicatorType field's value.
19252func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorType(v []*StringFilter) *AwsSecurityFindingFilters {
19253	s.ThreatIntelIndicatorType = v
19254	return s
19255}
19256
19257// SetThreatIntelIndicatorValue sets the ThreatIntelIndicatorValue field's value.
19258func (s *AwsSecurityFindingFilters) SetThreatIntelIndicatorValue(v []*StringFilter) *AwsSecurityFindingFilters {
19259	s.ThreatIntelIndicatorValue = v
19260	return s
19261}
19262
19263// SetTitle sets the Title field's value.
19264func (s *AwsSecurityFindingFilters) SetTitle(v []*StringFilter) *AwsSecurityFindingFilters {
19265	s.Title = v
19266	return s
19267}
19268
19269// SetType sets the Type field's value.
19270func (s *AwsSecurityFindingFilters) SetType(v []*StringFilter) *AwsSecurityFindingFilters {
19271	s.Type = v
19272	return s
19273}
19274
19275// SetUpdatedAt sets the UpdatedAt field's value.
19276func (s *AwsSecurityFindingFilters) SetUpdatedAt(v []*DateFilter) *AwsSecurityFindingFilters {
19277	s.UpdatedAt = v
19278	return s
19279}
19280
19281// SetUserDefinedFields sets the UserDefinedFields field's value.
19282func (s *AwsSecurityFindingFilters) SetUserDefinedFields(v []*MapFilter) *AwsSecurityFindingFilters {
19283	s.UserDefinedFields = v
19284	return s
19285}
19286
19287// SetVerificationState sets the VerificationState field's value.
19288func (s *AwsSecurityFindingFilters) SetVerificationState(v []*StringFilter) *AwsSecurityFindingFilters {
19289	s.VerificationState = v
19290	return s
19291}
19292
19293// SetWorkflowState sets the WorkflowState field's value.
19294func (s *AwsSecurityFindingFilters) SetWorkflowState(v []*StringFilter) *AwsSecurityFindingFilters {
19295	s.WorkflowState = v
19296	return s
19297}
19298
19299// SetWorkflowStatus sets the WorkflowStatus field's value.
19300func (s *AwsSecurityFindingFilters) SetWorkflowStatus(v []*StringFilter) *AwsSecurityFindingFilters {
19301	s.WorkflowStatus = v
19302	return s
19303}
19304
19305// Identifies a finding to update using BatchUpdateFindings.
19306type AwsSecurityFindingIdentifier struct {
19307	_ struct{} `type:"structure"`
19308
19309	// The identifier of the finding that was specified by the finding provider.
19310	//
19311	// Id is a required field
19312	Id *string `type:"string" required:"true"`
19313
19314	// The ARN generated by Security Hub that uniquely identifies a product that
19315	// generates findings. This can be the ARN for a third-party product that is
19316	// integrated with Security Hub, or the ARN for a custom integration.
19317	//
19318	// ProductArn is a required field
19319	ProductArn *string `type:"string" required:"true"`
19320}
19321
19322// String returns the string representation
19323func (s AwsSecurityFindingIdentifier) String() string {
19324	return awsutil.Prettify(s)
19325}
19326
19327// GoString returns the string representation
19328func (s AwsSecurityFindingIdentifier) GoString() string {
19329	return s.String()
19330}
19331
19332// Validate inspects the fields of the type to determine if they are valid.
19333func (s *AwsSecurityFindingIdentifier) Validate() error {
19334	invalidParams := request.ErrInvalidParams{Context: "AwsSecurityFindingIdentifier"}
19335	if s.Id == nil {
19336		invalidParams.Add(request.NewErrParamRequired("Id"))
19337	}
19338	if s.ProductArn == nil {
19339		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
19340	}
19341
19342	if invalidParams.Len() > 0 {
19343		return invalidParams
19344	}
19345	return nil
19346}
19347
19348// SetId sets the Id field's value.
19349func (s *AwsSecurityFindingIdentifier) SetId(v string) *AwsSecurityFindingIdentifier {
19350	s.Id = &v
19351	return s
19352}
19353
19354// SetProductArn sets the ProductArn field's value.
19355func (s *AwsSecurityFindingIdentifier) SetProductArn(v string) *AwsSecurityFindingIdentifier {
19356	s.ProductArn = &v
19357	return s
19358}
19359
19360// A wrapper type for the topic's Amazon Resource Name (ARN).
19361type AwsSnsTopicDetails struct {
19362	_ struct{} `type:"structure"`
19363
19364	// The ID of an AWS managed customer master key (CMK) for Amazon SNS or a custom
19365	// CMK.
19366	KmsMasterKeyId *string `type:"string"`
19367
19368	// The subscription's owner.
19369	Owner *string `type:"string"`
19370
19371	// Subscription is an embedded property that describes the subscription endpoints
19372	// of an Amazon SNS topic.
19373	Subscription []*AwsSnsTopicSubscription `type:"list"`
19374
19375	// The name of the topic.
19376	TopicName *string `type:"string"`
19377}
19378
19379// String returns the string representation
19380func (s AwsSnsTopicDetails) String() string {
19381	return awsutil.Prettify(s)
19382}
19383
19384// GoString returns the string representation
19385func (s AwsSnsTopicDetails) GoString() string {
19386	return s.String()
19387}
19388
19389// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
19390func (s *AwsSnsTopicDetails) SetKmsMasterKeyId(v string) *AwsSnsTopicDetails {
19391	s.KmsMasterKeyId = &v
19392	return s
19393}
19394
19395// SetOwner sets the Owner field's value.
19396func (s *AwsSnsTopicDetails) SetOwner(v string) *AwsSnsTopicDetails {
19397	s.Owner = &v
19398	return s
19399}
19400
19401// SetSubscription sets the Subscription field's value.
19402func (s *AwsSnsTopicDetails) SetSubscription(v []*AwsSnsTopicSubscription) *AwsSnsTopicDetails {
19403	s.Subscription = v
19404	return s
19405}
19406
19407// SetTopicName sets the TopicName field's value.
19408func (s *AwsSnsTopicDetails) SetTopicName(v string) *AwsSnsTopicDetails {
19409	s.TopicName = &v
19410	return s
19411}
19412
19413// A wrapper type for the attributes of an Amazon SNS subscription.
19414type AwsSnsTopicSubscription struct {
19415	_ struct{} `type:"structure"`
19416
19417	// The subscription's endpoint (format depends on the protocol).
19418	Endpoint *string `type:"string"`
19419
19420	// The subscription's protocol.
19421	Protocol *string `type:"string"`
19422}
19423
19424// String returns the string representation
19425func (s AwsSnsTopicSubscription) String() string {
19426	return awsutil.Prettify(s)
19427}
19428
19429// GoString returns the string representation
19430func (s AwsSnsTopicSubscription) GoString() string {
19431	return s.String()
19432}
19433
19434// SetEndpoint sets the Endpoint field's value.
19435func (s *AwsSnsTopicSubscription) SetEndpoint(v string) *AwsSnsTopicSubscription {
19436	s.Endpoint = &v
19437	return s
19438}
19439
19440// SetProtocol sets the Protocol field's value.
19441func (s *AwsSnsTopicSubscription) SetProtocol(v string) *AwsSnsTopicSubscription {
19442	s.Protocol = &v
19443	return s
19444}
19445
19446// Data about a queue.
19447type AwsSqsQueueDetails struct {
19448	_ struct{} `type:"structure"`
19449
19450	// The Amazon Resource Name (ARN) of the dead-letter queue to which Amazon SQS
19451	// moves messages after the value of maxReceiveCount is exceeded.
19452	DeadLetterTargetArn *string `type:"string"`
19453
19454	// The length of time, in seconds, for which Amazon SQS can reuse a data key
19455	// to encrypt or decrypt messages before calling AWS KMS again.
19456	KmsDataKeyReusePeriodSeconds *int64 `type:"integer"`
19457
19458	// The ID of an AWS managed customer master key (CMK) for Amazon SQS or a custom
19459	// CMK.
19460	KmsMasterKeyId *string `type:"string"`
19461
19462	// The name of the new queue.
19463	QueueName *string `type:"string"`
19464}
19465
19466// String returns the string representation
19467func (s AwsSqsQueueDetails) String() string {
19468	return awsutil.Prettify(s)
19469}
19470
19471// GoString returns the string representation
19472func (s AwsSqsQueueDetails) GoString() string {
19473	return s.String()
19474}
19475
19476// SetDeadLetterTargetArn sets the DeadLetterTargetArn field's value.
19477func (s *AwsSqsQueueDetails) SetDeadLetterTargetArn(v string) *AwsSqsQueueDetails {
19478	s.DeadLetterTargetArn = &v
19479	return s
19480}
19481
19482// SetKmsDataKeyReusePeriodSeconds sets the KmsDataKeyReusePeriodSeconds field's value.
19483func (s *AwsSqsQueueDetails) SetKmsDataKeyReusePeriodSeconds(v int64) *AwsSqsQueueDetails {
19484	s.KmsDataKeyReusePeriodSeconds = &v
19485	return s
19486}
19487
19488// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
19489func (s *AwsSqsQueueDetails) SetKmsMasterKeyId(v string) *AwsSqsQueueDetails {
19490	s.KmsMasterKeyId = &v
19491	return s
19492}
19493
19494// SetQueueName sets the QueueName field's value.
19495func (s *AwsSqsQueueDetails) SetQueueName(v string) *AwsSqsQueueDetails {
19496	s.QueueName = &v
19497	return s
19498}
19499
19500// Provides the details about the compliance status for a patch.
19501type AwsSsmComplianceSummary struct {
19502	_ struct{} `type:"structure"`
19503
19504	// The type of resource for which the compliance was determined. For AwsSsmPatchCompliance,
19505	// ComplianceType is Patch.
19506	ComplianceType *string `type:"string"`
19507
19508	// For the patches that are compliant, the number that have a severity of CRITICAL.
19509	CompliantCriticalCount *int64 `type:"integer"`
19510
19511	// For the patches that are compliant, the number that have a severity of HIGH.
19512	CompliantHighCount *int64 `type:"integer"`
19513
19514	// For the patches that are compliant, the number that have a severity of INFORMATIONAL.
19515	CompliantInformationalCount *int64 `type:"integer"`
19516
19517	// For the patches that are compliant, the number that have a severity of LOW.
19518	CompliantLowCount *int64 `type:"integer"`
19519
19520	// For the patches that are compliant, the number that have a severity of MEDIUM.
19521	CompliantMediumCount *int64 `type:"integer"`
19522
19523	// For the patches that are compliant, the number that have a severity of UNSPECIFIED.
19524	CompliantUnspecifiedCount *int64 `type:"integer"`
19525
19526	// The type of execution that was used determine compliance.
19527	ExecutionType *string `type:"string"`
19528
19529	// For the patch items that are noncompliant, the number of items that have
19530	// a severity of CRITICAL.
19531	NonCompliantCriticalCount *int64 `type:"integer"`
19532
19533	// For the patches that are noncompliant, the number that have a severity of
19534	// HIGH.
19535	NonCompliantHighCount *int64 `type:"integer"`
19536
19537	// For the patches that are noncompliant, the number that have a severity of
19538	// INFORMATIONAL.
19539	NonCompliantInformationalCount *int64 `type:"integer"`
19540
19541	// For the patches that are noncompliant, the number that have a severity of
19542	// LOW.
19543	NonCompliantLowCount *int64 `type:"integer"`
19544
19545	// For the patches that are noncompliant, the number that have a severity of
19546	// MEDIUM.
19547	NonCompliantMediumCount *int64 `type:"integer"`
19548
19549	// For the patches that are noncompliant, the number that have a severity of
19550	// UNSPECIFIED.
19551	NonCompliantUnspecifiedCount *int64 `type:"integer"`
19552
19553	// The highest severity for the patches.
19554	OverallSeverity *string `type:"string"`
19555
19556	// The identifier of the patch baseline. The patch baseline lists the patches
19557	// that are approved for installation.
19558	PatchBaselineId *string `type:"string"`
19559
19560	// The identifier of the patch group for which compliance was determined. A
19561	// patch group uses tags to group EC2 instances that should have the same patch
19562	// compliance.
19563	PatchGroup *string `type:"string"`
19564
19565	// The current patch compliance status.
19566	//
19567	// The possible status values are:
19568	//
19569	//    * COMPLIANT
19570	//
19571	//    * NON_COMPLIANT
19572	//
19573	//    * UNSPECIFIED_DATA
19574	Status *string `type:"string"`
19575}
19576
19577// String returns the string representation
19578func (s AwsSsmComplianceSummary) String() string {
19579	return awsutil.Prettify(s)
19580}
19581
19582// GoString returns the string representation
19583func (s AwsSsmComplianceSummary) GoString() string {
19584	return s.String()
19585}
19586
19587// SetComplianceType sets the ComplianceType field's value.
19588func (s *AwsSsmComplianceSummary) SetComplianceType(v string) *AwsSsmComplianceSummary {
19589	s.ComplianceType = &v
19590	return s
19591}
19592
19593// SetCompliantCriticalCount sets the CompliantCriticalCount field's value.
19594func (s *AwsSsmComplianceSummary) SetCompliantCriticalCount(v int64) *AwsSsmComplianceSummary {
19595	s.CompliantCriticalCount = &v
19596	return s
19597}
19598
19599// SetCompliantHighCount sets the CompliantHighCount field's value.
19600func (s *AwsSsmComplianceSummary) SetCompliantHighCount(v int64) *AwsSsmComplianceSummary {
19601	s.CompliantHighCount = &v
19602	return s
19603}
19604
19605// SetCompliantInformationalCount sets the CompliantInformationalCount field's value.
19606func (s *AwsSsmComplianceSummary) SetCompliantInformationalCount(v int64) *AwsSsmComplianceSummary {
19607	s.CompliantInformationalCount = &v
19608	return s
19609}
19610
19611// SetCompliantLowCount sets the CompliantLowCount field's value.
19612func (s *AwsSsmComplianceSummary) SetCompliantLowCount(v int64) *AwsSsmComplianceSummary {
19613	s.CompliantLowCount = &v
19614	return s
19615}
19616
19617// SetCompliantMediumCount sets the CompliantMediumCount field's value.
19618func (s *AwsSsmComplianceSummary) SetCompliantMediumCount(v int64) *AwsSsmComplianceSummary {
19619	s.CompliantMediumCount = &v
19620	return s
19621}
19622
19623// SetCompliantUnspecifiedCount sets the CompliantUnspecifiedCount field's value.
19624func (s *AwsSsmComplianceSummary) SetCompliantUnspecifiedCount(v int64) *AwsSsmComplianceSummary {
19625	s.CompliantUnspecifiedCount = &v
19626	return s
19627}
19628
19629// SetExecutionType sets the ExecutionType field's value.
19630func (s *AwsSsmComplianceSummary) SetExecutionType(v string) *AwsSsmComplianceSummary {
19631	s.ExecutionType = &v
19632	return s
19633}
19634
19635// SetNonCompliantCriticalCount sets the NonCompliantCriticalCount field's value.
19636func (s *AwsSsmComplianceSummary) SetNonCompliantCriticalCount(v int64) *AwsSsmComplianceSummary {
19637	s.NonCompliantCriticalCount = &v
19638	return s
19639}
19640
19641// SetNonCompliantHighCount sets the NonCompliantHighCount field's value.
19642func (s *AwsSsmComplianceSummary) SetNonCompliantHighCount(v int64) *AwsSsmComplianceSummary {
19643	s.NonCompliantHighCount = &v
19644	return s
19645}
19646
19647// SetNonCompliantInformationalCount sets the NonCompliantInformationalCount field's value.
19648func (s *AwsSsmComplianceSummary) SetNonCompliantInformationalCount(v int64) *AwsSsmComplianceSummary {
19649	s.NonCompliantInformationalCount = &v
19650	return s
19651}
19652
19653// SetNonCompliantLowCount sets the NonCompliantLowCount field's value.
19654func (s *AwsSsmComplianceSummary) SetNonCompliantLowCount(v int64) *AwsSsmComplianceSummary {
19655	s.NonCompliantLowCount = &v
19656	return s
19657}
19658
19659// SetNonCompliantMediumCount sets the NonCompliantMediumCount field's value.
19660func (s *AwsSsmComplianceSummary) SetNonCompliantMediumCount(v int64) *AwsSsmComplianceSummary {
19661	s.NonCompliantMediumCount = &v
19662	return s
19663}
19664
19665// SetNonCompliantUnspecifiedCount sets the NonCompliantUnspecifiedCount field's value.
19666func (s *AwsSsmComplianceSummary) SetNonCompliantUnspecifiedCount(v int64) *AwsSsmComplianceSummary {
19667	s.NonCompliantUnspecifiedCount = &v
19668	return s
19669}
19670
19671// SetOverallSeverity sets the OverallSeverity field's value.
19672func (s *AwsSsmComplianceSummary) SetOverallSeverity(v string) *AwsSsmComplianceSummary {
19673	s.OverallSeverity = &v
19674	return s
19675}
19676
19677// SetPatchBaselineId sets the PatchBaselineId field's value.
19678func (s *AwsSsmComplianceSummary) SetPatchBaselineId(v string) *AwsSsmComplianceSummary {
19679	s.PatchBaselineId = &v
19680	return s
19681}
19682
19683// SetPatchGroup sets the PatchGroup field's value.
19684func (s *AwsSsmComplianceSummary) SetPatchGroup(v string) *AwsSsmComplianceSummary {
19685	s.PatchGroup = &v
19686	return s
19687}
19688
19689// SetStatus sets the Status field's value.
19690func (s *AwsSsmComplianceSummary) SetStatus(v string) *AwsSsmComplianceSummary {
19691	s.Status = &v
19692	return s
19693}
19694
19695// Provides details about the compliance for a patch.
19696type AwsSsmPatch struct {
19697	_ struct{} `type:"structure"`
19698
19699	// The compliance status details for the patch.
19700	ComplianceSummary *AwsSsmComplianceSummary `type:"structure"`
19701}
19702
19703// String returns the string representation
19704func (s AwsSsmPatch) String() string {
19705	return awsutil.Prettify(s)
19706}
19707
19708// GoString returns the string representation
19709func (s AwsSsmPatch) GoString() string {
19710	return s.String()
19711}
19712
19713// SetComplianceSummary sets the ComplianceSummary field's value.
19714func (s *AwsSsmPatch) SetComplianceSummary(v *AwsSsmComplianceSummary) *AwsSsmPatch {
19715	s.ComplianceSummary = v
19716	return s
19717}
19718
19719// Provides information about the state of a patch on an instance based on the
19720// patch baseline that was used to patch the instance.
19721type AwsSsmPatchComplianceDetails struct {
19722	_ struct{} `type:"structure"`
19723
19724	// Information about the status of a patch.
19725	Patch *AwsSsmPatch `type:"structure"`
19726}
19727
19728// String returns the string representation
19729func (s AwsSsmPatchComplianceDetails) String() string {
19730	return awsutil.Prettify(s)
19731}
19732
19733// GoString returns the string representation
19734func (s AwsSsmPatchComplianceDetails) GoString() string {
19735	return s.String()
19736}
19737
19738// SetPatch sets the Patch field's value.
19739func (s *AwsSsmPatchComplianceDetails) SetPatch(v *AwsSsmPatch) *AwsSsmPatchComplianceDetails {
19740	s.Patch = v
19741	return s
19742}
19743
19744// Details about a WAF WebACL.
19745type AwsWafWebAclDetails struct {
19746	_ struct{} `type:"structure"`
19747
19748	// The action to perform if none of the rules contained in the WebACL match.
19749	DefaultAction *string `type:"string"`
19750
19751	// A friendly name or description of the WebACL. You can't change the name of
19752	// a WebACL after you create it.
19753	Name *string `type:"string"`
19754
19755	// An array that contains the action for each rule in a WebACL, the priority
19756	// of the rule, and the ID of the rule.
19757	Rules []*AwsWafWebAclRule `type:"list"`
19758
19759	// A unique identifier for a WebACL.
19760	WebAclId *string `type:"string"`
19761}
19762
19763// String returns the string representation
19764func (s AwsWafWebAclDetails) String() string {
19765	return awsutil.Prettify(s)
19766}
19767
19768// GoString returns the string representation
19769func (s AwsWafWebAclDetails) GoString() string {
19770	return s.String()
19771}
19772
19773// SetDefaultAction sets the DefaultAction field's value.
19774func (s *AwsWafWebAclDetails) SetDefaultAction(v string) *AwsWafWebAclDetails {
19775	s.DefaultAction = &v
19776	return s
19777}
19778
19779// SetName sets the Name field's value.
19780func (s *AwsWafWebAclDetails) SetName(v string) *AwsWafWebAclDetails {
19781	s.Name = &v
19782	return s
19783}
19784
19785// SetRules sets the Rules field's value.
19786func (s *AwsWafWebAclDetails) SetRules(v []*AwsWafWebAclRule) *AwsWafWebAclDetails {
19787	s.Rules = v
19788	return s
19789}
19790
19791// SetWebAclId sets the WebAclId field's value.
19792func (s *AwsWafWebAclDetails) SetWebAclId(v string) *AwsWafWebAclDetails {
19793	s.WebAclId = &v
19794	return s
19795}
19796
19797// Details for a rule in a WAF WebACL.
19798type AwsWafWebAclRule struct {
19799	_ struct{} `type:"structure"`
19800
19801	// Specifies the action that CloudFront or AWS WAF takes when a web request
19802	// matches the conditions in the rule.
19803	Action *WafAction `type:"structure"`
19804
19805	// Rules to exclude from a rule group.
19806	ExcludedRules []*WafExcludedRule `type:"list"`
19807
19808	// Use the OverrideAction to test your RuleGroup.
19809	//
19810	// Any rule in a RuleGroup can potentially block a request. If you set the OverrideAction
19811	// to None, the RuleGroup blocks a request if any individual rule in the RuleGroup
19812	// matches the request and is configured to block that request.
19813	//
19814	// However, if you first want to test the RuleGroup, set the OverrideAction
19815	// to Count. The RuleGroup then overrides any block action specified by individual
19816	// rules contained within the group. Instead of blocking matching requests,
19817	// those requests are counted.
19818	//
19819	// ActivatedRule|OverrideAction applies only when updating or adding a RuleGroup
19820	// to a WebACL. In this case you do not use ActivatedRule|Action. For all other
19821	// update requests, ActivatedRule|Action is used instead of ActivatedRule|OverrideAction.
19822	OverrideAction *WafOverrideAction `type:"structure"`
19823
19824	// Specifies the order in which the rules in a WebACL are evaluated. Rules with
19825	// a lower value for Priority are evaluated before rules with a higher value.
19826	// The value must be a unique integer. If you add multiple rules to a WebACL,
19827	// the values do not need to be consecutive.
19828	Priority *int64 `type:"integer"`
19829
19830	// The identifier for a rule.
19831	RuleId *string `type:"string"`
19832
19833	// The rule type.
19834	//
19835	// Valid values: REGULAR | RATE_BASED | GROUP
19836	//
19837	// The default is REGULAR.
19838	Type *string `type:"string"`
19839}
19840
19841// String returns the string representation
19842func (s AwsWafWebAclRule) String() string {
19843	return awsutil.Prettify(s)
19844}
19845
19846// GoString returns the string representation
19847func (s AwsWafWebAclRule) GoString() string {
19848	return s.String()
19849}
19850
19851// SetAction sets the Action field's value.
19852func (s *AwsWafWebAclRule) SetAction(v *WafAction) *AwsWafWebAclRule {
19853	s.Action = v
19854	return s
19855}
19856
19857// SetExcludedRules sets the ExcludedRules field's value.
19858func (s *AwsWafWebAclRule) SetExcludedRules(v []*WafExcludedRule) *AwsWafWebAclRule {
19859	s.ExcludedRules = v
19860	return s
19861}
19862
19863// SetOverrideAction sets the OverrideAction field's value.
19864func (s *AwsWafWebAclRule) SetOverrideAction(v *WafOverrideAction) *AwsWafWebAclRule {
19865	s.OverrideAction = v
19866	return s
19867}
19868
19869// SetPriority sets the Priority field's value.
19870func (s *AwsWafWebAclRule) SetPriority(v int64) *AwsWafWebAclRule {
19871	s.Priority = &v
19872	return s
19873}
19874
19875// SetRuleId sets the RuleId field's value.
19876func (s *AwsWafWebAclRule) SetRuleId(v string) *AwsWafWebAclRule {
19877	s.RuleId = &v
19878	return s
19879}
19880
19881// SetType sets the Type field's value.
19882func (s *AwsWafWebAclRule) SetType(v string) *AwsWafWebAclRule {
19883	s.Type = &v
19884	return s
19885}
19886
19887type BatchDisableStandardsInput struct {
19888	_ struct{} `type:"structure"`
19889
19890	// The ARNs of the standards subscriptions to disable.
19891	//
19892	// StandardsSubscriptionArns is a required field
19893	StandardsSubscriptionArns []*string `min:"1" type:"list" required:"true"`
19894}
19895
19896// String returns the string representation
19897func (s BatchDisableStandardsInput) String() string {
19898	return awsutil.Prettify(s)
19899}
19900
19901// GoString returns the string representation
19902func (s BatchDisableStandardsInput) GoString() string {
19903	return s.String()
19904}
19905
19906// Validate inspects the fields of the type to determine if they are valid.
19907func (s *BatchDisableStandardsInput) Validate() error {
19908	invalidParams := request.ErrInvalidParams{Context: "BatchDisableStandardsInput"}
19909	if s.StandardsSubscriptionArns == nil {
19910		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionArns"))
19911	}
19912	if s.StandardsSubscriptionArns != nil && len(s.StandardsSubscriptionArns) < 1 {
19913		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArns", 1))
19914	}
19915
19916	if invalidParams.Len() > 0 {
19917		return invalidParams
19918	}
19919	return nil
19920}
19921
19922// SetStandardsSubscriptionArns sets the StandardsSubscriptionArns field's value.
19923func (s *BatchDisableStandardsInput) SetStandardsSubscriptionArns(v []*string) *BatchDisableStandardsInput {
19924	s.StandardsSubscriptionArns = v
19925	return s
19926}
19927
19928type BatchDisableStandardsOutput struct {
19929	_ struct{} `type:"structure"`
19930
19931	// The details of the standards subscriptions that were disabled.
19932	StandardsSubscriptions []*StandardsSubscription `type:"list"`
19933}
19934
19935// String returns the string representation
19936func (s BatchDisableStandardsOutput) String() string {
19937	return awsutil.Prettify(s)
19938}
19939
19940// GoString returns the string representation
19941func (s BatchDisableStandardsOutput) GoString() string {
19942	return s.String()
19943}
19944
19945// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
19946func (s *BatchDisableStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *BatchDisableStandardsOutput {
19947	s.StandardsSubscriptions = v
19948	return s
19949}
19950
19951type BatchEnableStandardsInput struct {
19952	_ struct{} `type:"structure"`
19953
19954	// The list of standards checks to enable.
19955	//
19956	// StandardsSubscriptionRequests is a required field
19957	StandardsSubscriptionRequests []*StandardsSubscriptionRequest `min:"1" type:"list" required:"true"`
19958}
19959
19960// String returns the string representation
19961func (s BatchEnableStandardsInput) String() string {
19962	return awsutil.Prettify(s)
19963}
19964
19965// GoString returns the string representation
19966func (s BatchEnableStandardsInput) GoString() string {
19967	return s.String()
19968}
19969
19970// Validate inspects the fields of the type to determine if they are valid.
19971func (s *BatchEnableStandardsInput) Validate() error {
19972	invalidParams := request.ErrInvalidParams{Context: "BatchEnableStandardsInput"}
19973	if s.StandardsSubscriptionRequests == nil {
19974		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionRequests"))
19975	}
19976	if s.StandardsSubscriptionRequests != nil && len(s.StandardsSubscriptionRequests) < 1 {
19977		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionRequests", 1))
19978	}
19979	if s.StandardsSubscriptionRequests != nil {
19980		for i, v := range s.StandardsSubscriptionRequests {
19981			if v == nil {
19982				continue
19983			}
19984			if err := v.Validate(); err != nil {
19985				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StandardsSubscriptionRequests", i), err.(request.ErrInvalidParams))
19986			}
19987		}
19988	}
19989
19990	if invalidParams.Len() > 0 {
19991		return invalidParams
19992	}
19993	return nil
19994}
19995
19996// SetStandardsSubscriptionRequests sets the StandardsSubscriptionRequests field's value.
19997func (s *BatchEnableStandardsInput) SetStandardsSubscriptionRequests(v []*StandardsSubscriptionRequest) *BatchEnableStandardsInput {
19998	s.StandardsSubscriptionRequests = v
19999	return s
20000}
20001
20002type BatchEnableStandardsOutput struct {
20003	_ struct{} `type:"structure"`
20004
20005	// The details of the standards subscriptions that were enabled.
20006	StandardsSubscriptions []*StandardsSubscription `type:"list"`
20007}
20008
20009// String returns the string representation
20010func (s BatchEnableStandardsOutput) String() string {
20011	return awsutil.Prettify(s)
20012}
20013
20014// GoString returns the string representation
20015func (s BatchEnableStandardsOutput) GoString() string {
20016	return s.String()
20017}
20018
20019// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
20020func (s *BatchEnableStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *BatchEnableStandardsOutput {
20021	s.StandardsSubscriptions = v
20022	return s
20023}
20024
20025type BatchImportFindingsInput struct {
20026	_ struct{} `type:"structure"`
20027
20028	// A list of findings to import. To successfully import a finding, it must follow
20029	// the AWS Security Finding Format (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-findings-format.html).
20030	// Maximum of 100 findings per request.
20031	//
20032	// Findings is a required field
20033	Findings []*AwsSecurityFinding `min:"1" type:"list" required:"true"`
20034}
20035
20036// String returns the string representation
20037func (s BatchImportFindingsInput) String() string {
20038	return awsutil.Prettify(s)
20039}
20040
20041// GoString returns the string representation
20042func (s BatchImportFindingsInput) GoString() string {
20043	return s.String()
20044}
20045
20046// Validate inspects the fields of the type to determine if they are valid.
20047func (s *BatchImportFindingsInput) Validate() error {
20048	invalidParams := request.ErrInvalidParams{Context: "BatchImportFindingsInput"}
20049	if s.Findings == nil {
20050		invalidParams.Add(request.NewErrParamRequired("Findings"))
20051	}
20052	if s.Findings != nil && len(s.Findings) < 1 {
20053		invalidParams.Add(request.NewErrParamMinLen("Findings", 1))
20054	}
20055	if s.Findings != nil {
20056		for i, v := range s.Findings {
20057			if v == nil {
20058				continue
20059			}
20060			if err := v.Validate(); err != nil {
20061				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Findings", i), err.(request.ErrInvalidParams))
20062			}
20063		}
20064	}
20065
20066	if invalidParams.Len() > 0 {
20067		return invalidParams
20068	}
20069	return nil
20070}
20071
20072// SetFindings sets the Findings field's value.
20073func (s *BatchImportFindingsInput) SetFindings(v []*AwsSecurityFinding) *BatchImportFindingsInput {
20074	s.Findings = v
20075	return s
20076}
20077
20078type BatchImportFindingsOutput struct {
20079	_ struct{} `type:"structure"`
20080
20081	// The number of findings that failed to import.
20082	//
20083	// FailedCount is a required field
20084	FailedCount *int64 `type:"integer" required:"true"`
20085
20086	// The list of findings that failed to import.
20087	FailedFindings []*ImportFindingsError `type:"list"`
20088
20089	// The number of findings that were successfully imported.
20090	//
20091	// SuccessCount is a required field
20092	SuccessCount *int64 `type:"integer" required:"true"`
20093}
20094
20095// String returns the string representation
20096func (s BatchImportFindingsOutput) String() string {
20097	return awsutil.Prettify(s)
20098}
20099
20100// GoString returns the string representation
20101func (s BatchImportFindingsOutput) GoString() string {
20102	return s.String()
20103}
20104
20105// SetFailedCount sets the FailedCount field's value.
20106func (s *BatchImportFindingsOutput) SetFailedCount(v int64) *BatchImportFindingsOutput {
20107	s.FailedCount = &v
20108	return s
20109}
20110
20111// SetFailedFindings sets the FailedFindings field's value.
20112func (s *BatchImportFindingsOutput) SetFailedFindings(v []*ImportFindingsError) *BatchImportFindingsOutput {
20113	s.FailedFindings = v
20114	return s
20115}
20116
20117// SetSuccessCount sets the SuccessCount field's value.
20118func (s *BatchImportFindingsOutput) SetSuccessCount(v int64) *BatchImportFindingsOutput {
20119	s.SuccessCount = &v
20120	return s
20121}
20122
20123type BatchUpdateFindingsInput struct {
20124	_ struct{} `type:"structure"`
20125
20126	// The updated value for the finding confidence. Confidence is defined as the
20127	// likelihood that a finding accurately identifies the behavior or issue that
20128	// it was intended to identify.
20129	//
20130	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
20131	// zero percent confidence and 100 means 100 percent confidence.
20132	Confidence *int64 `type:"integer"`
20133
20134	// The updated value for the level of importance assigned to the resources associated
20135	// with the findings.
20136	//
20137	// A score of 0 means that the underlying resources have no criticality, and
20138	// a score of 100 is reserved for the most critical resources.
20139	Criticality *int64 `type:"integer"`
20140
20141	// The list of findings to update. BatchUpdateFindings can be used to update
20142	// up to 100 findings at a time.
20143	//
20144	// For each finding, the list provides the finding identifier and the ARN of
20145	// the finding provider.
20146	//
20147	// FindingIdentifiers is a required field
20148	FindingIdentifiers []*AwsSecurityFindingIdentifier `type:"list" required:"true"`
20149
20150	// The updated note.
20151	Note *NoteUpdate `type:"structure"`
20152
20153	// A list of findings that are related to the updated findings.
20154	RelatedFindings []*RelatedFinding `type:"list"`
20155
20156	// Used to update the finding severity.
20157	Severity *SeverityUpdate `type:"structure"`
20158
20159	// One or more finding types in the format of namespace/category/classifier
20160	// that classify a finding.
20161	//
20162	// Valid namespace values are as follows.
20163	//
20164	//    * Software and Configuration Checks
20165	//
20166	//    * TTPs
20167	//
20168	//    * Effects
20169	//
20170	//    * Unusual Behaviors
20171	//
20172	//    * Sensitive Data Identifications
20173	Types []*string `type:"list"`
20174
20175	// A list of name/value string pairs associated with the finding. These are
20176	// custom, user-defined fields added to a finding.
20177	UserDefinedFields map[string]*string `type:"map"`
20178
20179	// Indicates the veracity of a finding.
20180	//
20181	// The available values for VerificationState are as follows.
20182	//
20183	//    * UNKNOWN – The default disposition of a security finding
20184	//
20185	//    * TRUE_POSITIVE – The security finding is confirmed
20186	//
20187	//    * FALSE_POSITIVE – The security finding was determined to be a false
20188	//    alarm
20189	//
20190	//    * BENIGN_POSITIVE – A special case of TRUE_POSITIVE where the finding
20191	//    doesn't pose any threat, is expected, or both
20192	VerificationState *string `type:"string" enum:"VerificationState"`
20193
20194	// Used to update the workflow status of a finding.
20195	//
20196	// The workflow status indicates the progress of the investigation into the
20197	// finding.
20198	Workflow *WorkflowUpdate `type:"structure"`
20199}
20200
20201// String returns the string representation
20202func (s BatchUpdateFindingsInput) String() string {
20203	return awsutil.Prettify(s)
20204}
20205
20206// GoString returns the string representation
20207func (s BatchUpdateFindingsInput) GoString() string {
20208	return s.String()
20209}
20210
20211// Validate inspects the fields of the type to determine if they are valid.
20212func (s *BatchUpdateFindingsInput) Validate() error {
20213	invalidParams := request.ErrInvalidParams{Context: "BatchUpdateFindingsInput"}
20214	if s.FindingIdentifiers == nil {
20215		invalidParams.Add(request.NewErrParamRequired("FindingIdentifiers"))
20216	}
20217	if s.FindingIdentifiers != nil {
20218		for i, v := range s.FindingIdentifiers {
20219			if v == nil {
20220				continue
20221			}
20222			if err := v.Validate(); err != nil {
20223				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "FindingIdentifiers", i), err.(request.ErrInvalidParams))
20224			}
20225		}
20226	}
20227	if s.Note != nil {
20228		if err := s.Note.Validate(); err != nil {
20229			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
20230		}
20231	}
20232	if s.RelatedFindings != nil {
20233		for i, v := range s.RelatedFindings {
20234			if v == nil {
20235				continue
20236			}
20237			if err := v.Validate(); err != nil {
20238				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
20239			}
20240		}
20241	}
20242
20243	if invalidParams.Len() > 0 {
20244		return invalidParams
20245	}
20246	return nil
20247}
20248
20249// SetConfidence sets the Confidence field's value.
20250func (s *BatchUpdateFindingsInput) SetConfidence(v int64) *BatchUpdateFindingsInput {
20251	s.Confidence = &v
20252	return s
20253}
20254
20255// SetCriticality sets the Criticality field's value.
20256func (s *BatchUpdateFindingsInput) SetCriticality(v int64) *BatchUpdateFindingsInput {
20257	s.Criticality = &v
20258	return s
20259}
20260
20261// SetFindingIdentifiers sets the FindingIdentifiers field's value.
20262func (s *BatchUpdateFindingsInput) SetFindingIdentifiers(v []*AwsSecurityFindingIdentifier) *BatchUpdateFindingsInput {
20263	s.FindingIdentifiers = v
20264	return s
20265}
20266
20267// SetNote sets the Note field's value.
20268func (s *BatchUpdateFindingsInput) SetNote(v *NoteUpdate) *BatchUpdateFindingsInput {
20269	s.Note = v
20270	return s
20271}
20272
20273// SetRelatedFindings sets the RelatedFindings field's value.
20274func (s *BatchUpdateFindingsInput) SetRelatedFindings(v []*RelatedFinding) *BatchUpdateFindingsInput {
20275	s.RelatedFindings = v
20276	return s
20277}
20278
20279// SetSeverity sets the Severity field's value.
20280func (s *BatchUpdateFindingsInput) SetSeverity(v *SeverityUpdate) *BatchUpdateFindingsInput {
20281	s.Severity = v
20282	return s
20283}
20284
20285// SetTypes sets the Types field's value.
20286func (s *BatchUpdateFindingsInput) SetTypes(v []*string) *BatchUpdateFindingsInput {
20287	s.Types = v
20288	return s
20289}
20290
20291// SetUserDefinedFields sets the UserDefinedFields field's value.
20292func (s *BatchUpdateFindingsInput) SetUserDefinedFields(v map[string]*string) *BatchUpdateFindingsInput {
20293	s.UserDefinedFields = v
20294	return s
20295}
20296
20297// SetVerificationState sets the VerificationState field's value.
20298func (s *BatchUpdateFindingsInput) SetVerificationState(v string) *BatchUpdateFindingsInput {
20299	s.VerificationState = &v
20300	return s
20301}
20302
20303// SetWorkflow sets the Workflow field's value.
20304func (s *BatchUpdateFindingsInput) SetWorkflow(v *WorkflowUpdate) *BatchUpdateFindingsInput {
20305	s.Workflow = v
20306	return s
20307}
20308
20309type BatchUpdateFindingsOutput struct {
20310	_ struct{} `type:"structure"`
20311
20312	// The list of findings that were updated successfully.
20313	//
20314	// ProcessedFindings is a required field
20315	ProcessedFindings []*AwsSecurityFindingIdentifier `type:"list" required:"true"`
20316
20317	// The list of findings that were not updated.
20318	//
20319	// UnprocessedFindings is a required field
20320	UnprocessedFindings []*BatchUpdateFindingsUnprocessedFinding `type:"list" required:"true"`
20321}
20322
20323// String returns the string representation
20324func (s BatchUpdateFindingsOutput) String() string {
20325	return awsutil.Prettify(s)
20326}
20327
20328// GoString returns the string representation
20329func (s BatchUpdateFindingsOutput) GoString() string {
20330	return s.String()
20331}
20332
20333// SetProcessedFindings sets the ProcessedFindings field's value.
20334func (s *BatchUpdateFindingsOutput) SetProcessedFindings(v []*AwsSecurityFindingIdentifier) *BatchUpdateFindingsOutput {
20335	s.ProcessedFindings = v
20336	return s
20337}
20338
20339// SetUnprocessedFindings sets the UnprocessedFindings field's value.
20340func (s *BatchUpdateFindingsOutput) SetUnprocessedFindings(v []*BatchUpdateFindingsUnprocessedFinding) *BatchUpdateFindingsOutput {
20341	s.UnprocessedFindings = v
20342	return s
20343}
20344
20345// A finding from a BatchUpdateFindings request that Security Hub was unable
20346// to update.
20347type BatchUpdateFindingsUnprocessedFinding struct {
20348	_ struct{} `type:"structure"`
20349
20350	// The code associated with the error.
20351	//
20352	// ErrorCode is a required field
20353	ErrorCode *string `type:"string" required:"true"`
20354
20355	// The message associated with the error.
20356	//
20357	// ErrorMessage is a required field
20358	ErrorMessage *string `type:"string" required:"true"`
20359
20360	// The identifier of the finding that was not updated.
20361	//
20362	// FindingIdentifier is a required field
20363	FindingIdentifier *AwsSecurityFindingIdentifier `type:"structure" required:"true"`
20364}
20365
20366// String returns the string representation
20367func (s BatchUpdateFindingsUnprocessedFinding) String() string {
20368	return awsutil.Prettify(s)
20369}
20370
20371// GoString returns the string representation
20372func (s BatchUpdateFindingsUnprocessedFinding) GoString() string {
20373	return s.String()
20374}
20375
20376// SetErrorCode sets the ErrorCode field's value.
20377func (s *BatchUpdateFindingsUnprocessedFinding) SetErrorCode(v string) *BatchUpdateFindingsUnprocessedFinding {
20378	s.ErrorCode = &v
20379	return s
20380}
20381
20382// SetErrorMessage sets the ErrorMessage field's value.
20383func (s *BatchUpdateFindingsUnprocessedFinding) SetErrorMessage(v string) *BatchUpdateFindingsUnprocessedFinding {
20384	s.ErrorMessage = &v
20385	return s
20386}
20387
20388// SetFindingIdentifier sets the FindingIdentifier field's value.
20389func (s *BatchUpdateFindingsUnprocessedFinding) SetFindingIdentifier(v *AwsSecurityFindingIdentifier) *BatchUpdateFindingsUnprocessedFinding {
20390	s.FindingIdentifier = v
20391	return s
20392}
20393
20394// An occurrence of sensitive data detected in a Microsoft Excel workbook, comma-separated
20395// value (CSV) file, or tab-separated value (TSV) file.
20396type Cell struct {
20397	_ struct{} `type:"structure"`
20398
20399	// For a Microsoft Excel workbook, provides the location of the cell, as an
20400	// absolute cell reference, that contains the data. For example, Sheet2!C5 for
20401	// cell C5 on Sheet2.
20402	CellReference *string `type:"string"`
20403
20404	// The column number of the column that contains the data. For a Microsoft Excel
20405	// workbook, the column number corresponds to the alphabetical column identifiers.
20406	// For example, a value of 1 for Column corresponds to the A column in the workbook.
20407	Column *int64 `type:"long"`
20408
20409	// The name of the column that contains the data.
20410	ColumnName *string `type:"string"`
20411
20412	// The row number of the row that contains the data.
20413	Row *int64 `type:"long"`
20414}
20415
20416// String returns the string representation
20417func (s Cell) String() string {
20418	return awsutil.Prettify(s)
20419}
20420
20421// GoString returns the string representation
20422func (s Cell) GoString() string {
20423	return s.String()
20424}
20425
20426// SetCellReference sets the CellReference field's value.
20427func (s *Cell) SetCellReference(v string) *Cell {
20428	s.CellReference = &v
20429	return s
20430}
20431
20432// SetColumn sets the Column field's value.
20433func (s *Cell) SetColumn(v int64) *Cell {
20434	s.Column = &v
20435	return s
20436}
20437
20438// SetColumnName sets the ColumnName field's value.
20439func (s *Cell) SetColumnName(v string) *Cell {
20440	s.ColumnName = &v
20441	return s
20442}
20443
20444// SetRow sets the Row field's value.
20445func (s *Cell) SetRow(v int64) *Cell {
20446	s.Row = &v
20447	return s
20448}
20449
20450// An IPv4 CIDR block association.
20451type CidrBlockAssociation struct {
20452	_ struct{} `type:"structure"`
20453
20454	// The association ID for the IPv4 CIDR block.
20455	AssociationId *string `type:"string"`
20456
20457	// The IPv4 CIDR block.
20458	CidrBlock *string `type:"string"`
20459
20460	// Information about the state of the IPv4 CIDR block.
20461	CidrBlockState *string `type:"string"`
20462}
20463
20464// String returns the string representation
20465func (s CidrBlockAssociation) String() string {
20466	return awsutil.Prettify(s)
20467}
20468
20469// GoString returns the string representation
20470func (s CidrBlockAssociation) GoString() string {
20471	return s.String()
20472}
20473
20474// SetAssociationId sets the AssociationId field's value.
20475func (s *CidrBlockAssociation) SetAssociationId(v string) *CidrBlockAssociation {
20476	s.AssociationId = &v
20477	return s
20478}
20479
20480// SetCidrBlock sets the CidrBlock field's value.
20481func (s *CidrBlockAssociation) SetCidrBlock(v string) *CidrBlockAssociation {
20482	s.CidrBlock = &v
20483	return s
20484}
20485
20486// SetCidrBlockState sets the CidrBlockState field's value.
20487func (s *CidrBlockAssociation) SetCidrBlockState(v string) *CidrBlockAssociation {
20488	s.CidrBlockState = &v
20489	return s
20490}
20491
20492// Information about a city.
20493type City struct {
20494	_ struct{} `type:"structure"`
20495
20496	// The name of the city.
20497	CityName *string `type:"string"`
20498}
20499
20500// String returns the string representation
20501func (s City) String() string {
20502	return awsutil.Prettify(s)
20503}
20504
20505// GoString returns the string representation
20506func (s City) GoString() string {
20507	return s.String()
20508}
20509
20510// SetCityName sets the CityName field's value.
20511func (s *City) SetCityName(v string) *City {
20512	s.CityName = &v
20513	return s
20514}
20515
20516// Details about the sensitive data that was detected on the resource.
20517type ClassificationResult struct {
20518	_ struct{} `type:"structure"`
20519
20520	// Indicates whether there are additional occurrences of sensitive data that
20521	// are not included in the finding. This occurs when the number of occurrences
20522	// exceeds the maximum that can be included.
20523	AdditionalOccurrences *bool `type:"boolean"`
20524
20525	// Provides details about sensitive data that was identified based on customer-defined
20526	// configuration.
20527	CustomDataIdentifiers *CustomDataIdentifiersResult `type:"structure"`
20528
20529	// The type of content that the finding applies to.
20530	MimeType *string `type:"string"`
20531
20532	// Provides details about sensitive data that was identified based on built-in
20533	// configuration.
20534	SensitiveData []*SensitiveDataResult `type:"list"`
20535
20536	// The total size in bytes of the affected data.
20537	SizeClassified *int64 `type:"long"`
20538
20539	// The current status of the sensitive data detection.
20540	Status *ClassificationStatus `type:"structure"`
20541}
20542
20543// String returns the string representation
20544func (s ClassificationResult) String() string {
20545	return awsutil.Prettify(s)
20546}
20547
20548// GoString returns the string representation
20549func (s ClassificationResult) GoString() string {
20550	return s.String()
20551}
20552
20553// SetAdditionalOccurrences sets the AdditionalOccurrences field's value.
20554func (s *ClassificationResult) SetAdditionalOccurrences(v bool) *ClassificationResult {
20555	s.AdditionalOccurrences = &v
20556	return s
20557}
20558
20559// SetCustomDataIdentifiers sets the CustomDataIdentifiers field's value.
20560func (s *ClassificationResult) SetCustomDataIdentifiers(v *CustomDataIdentifiersResult) *ClassificationResult {
20561	s.CustomDataIdentifiers = v
20562	return s
20563}
20564
20565// SetMimeType sets the MimeType field's value.
20566func (s *ClassificationResult) SetMimeType(v string) *ClassificationResult {
20567	s.MimeType = &v
20568	return s
20569}
20570
20571// SetSensitiveData sets the SensitiveData field's value.
20572func (s *ClassificationResult) SetSensitiveData(v []*SensitiveDataResult) *ClassificationResult {
20573	s.SensitiveData = v
20574	return s
20575}
20576
20577// SetSizeClassified sets the SizeClassified field's value.
20578func (s *ClassificationResult) SetSizeClassified(v int64) *ClassificationResult {
20579	s.SizeClassified = &v
20580	return s
20581}
20582
20583// SetStatus sets the Status field's value.
20584func (s *ClassificationResult) SetStatus(v *ClassificationStatus) *ClassificationResult {
20585	s.Status = v
20586	return s
20587}
20588
20589// Provides details about the current status of the sensitive data detection.
20590type ClassificationStatus struct {
20591	_ struct{} `type:"structure"`
20592
20593	// The code that represents the status of the sensitive data detection.
20594	Code *string `type:"string"`
20595
20596	// A longer description of the current status of the sensitive data detection.
20597	Reason *string `type:"string"`
20598}
20599
20600// String returns the string representation
20601func (s ClassificationStatus) String() string {
20602	return awsutil.Prettify(s)
20603}
20604
20605// GoString returns the string representation
20606func (s ClassificationStatus) GoString() string {
20607	return s.String()
20608}
20609
20610// SetCode sets the Code field's value.
20611func (s *ClassificationStatus) SetCode(v string) *ClassificationStatus {
20612	s.Code = &v
20613	return s
20614}
20615
20616// SetReason sets the Reason field's value.
20617func (s *ClassificationStatus) SetReason(v string) *ClassificationStatus {
20618	s.Reason = &v
20619	return s
20620}
20621
20622// Contains finding details that are specific to control-based findings. Only
20623// returned for findings generated from controls.
20624type Compliance struct {
20625	_ struct{} `type:"structure"`
20626
20627	// For a control, the industry or regulatory framework requirements that are
20628	// related to the control. The check for that control is aligned with these
20629	// requirements.
20630	RelatedRequirements []*string `type:"list"`
20631
20632	// The result of a standards check.
20633	//
20634	// The valid values for Status are as follows.
20635	//
20636	//    * PASSED - Standards check passed for all evaluated resources. WARNING
20637	//    - Some information is missing or this check is not supported for your
20638	//    configuration. FAILED - Standards check failed for at least one evaluated
20639	//    resource. NOT_AVAILABLE - Check could not be performed due to a service
20640	//    outage, API error, or because the result of the AWS Config evaluation
20641	//    was NOT_APPLICABLE. If the AWS Config evaluation result was NOT_APPLICABLE,
20642	//    then after 3 days, Security Hub automatically archives the finding.
20643	Status *string `type:"string" enum:"ComplianceStatus"`
20644
20645	// For findings generated from controls, a list of reasons behind the value
20646	// of Status. For the list of status reason codes and their meanings, see Standards-related
20647	// information in the ASFF (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-results.html#securityhub-standards-results-asff)
20648	// in the AWS Security Hub User Guide.
20649	StatusReasons []*StatusReason `type:"list"`
20650}
20651
20652// String returns the string representation
20653func (s Compliance) String() string {
20654	return awsutil.Prettify(s)
20655}
20656
20657// GoString returns the string representation
20658func (s Compliance) GoString() string {
20659	return s.String()
20660}
20661
20662// Validate inspects the fields of the type to determine if they are valid.
20663func (s *Compliance) Validate() error {
20664	invalidParams := request.ErrInvalidParams{Context: "Compliance"}
20665	if s.StatusReasons != nil {
20666		for i, v := range s.StatusReasons {
20667			if v == nil {
20668				continue
20669			}
20670			if err := v.Validate(); err != nil {
20671				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "StatusReasons", i), err.(request.ErrInvalidParams))
20672			}
20673		}
20674	}
20675
20676	if invalidParams.Len() > 0 {
20677		return invalidParams
20678	}
20679	return nil
20680}
20681
20682// SetRelatedRequirements sets the RelatedRequirements field's value.
20683func (s *Compliance) SetRelatedRequirements(v []*string) *Compliance {
20684	s.RelatedRequirements = v
20685	return s
20686}
20687
20688// SetStatus sets the Status field's value.
20689func (s *Compliance) SetStatus(v string) *Compliance {
20690	s.Status = &v
20691	return s
20692}
20693
20694// SetStatusReasons sets the StatusReasons field's value.
20695func (s *Compliance) SetStatusReasons(v []*StatusReason) *Compliance {
20696	s.StatusReasons = v
20697	return s
20698}
20699
20700// Container details related to a finding.
20701type ContainerDetails struct {
20702	_ struct{} `type:"structure"`
20703
20704	// The identifier of the image related to a finding.
20705	ImageId *string `type:"string"`
20706
20707	// The name of the image related to a finding.
20708	ImageName *string `type:"string"`
20709
20710	// Indicates when the container started.
20711	//
20712	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
20713	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
20714	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
20715	LaunchedAt *string `type:"string"`
20716
20717	// The name of the container related to a finding.
20718	Name *string `type:"string"`
20719}
20720
20721// String returns the string representation
20722func (s ContainerDetails) String() string {
20723	return awsutil.Prettify(s)
20724}
20725
20726// GoString returns the string representation
20727func (s ContainerDetails) GoString() string {
20728	return s.String()
20729}
20730
20731// SetImageId sets the ImageId field's value.
20732func (s *ContainerDetails) SetImageId(v string) *ContainerDetails {
20733	s.ImageId = &v
20734	return s
20735}
20736
20737// SetImageName sets the ImageName field's value.
20738func (s *ContainerDetails) SetImageName(v string) *ContainerDetails {
20739	s.ImageName = &v
20740	return s
20741}
20742
20743// SetLaunchedAt sets the LaunchedAt field's value.
20744func (s *ContainerDetails) SetLaunchedAt(v string) *ContainerDetails {
20745	s.LaunchedAt = &v
20746	return s
20747}
20748
20749// SetName sets the Name field's value.
20750func (s *ContainerDetails) SetName(v string) *ContainerDetails {
20751	s.Name = &v
20752	return s
20753}
20754
20755// Information about a country.
20756type Country struct {
20757	_ struct{} `type:"structure"`
20758
20759	// The 2-letter ISO 3166 country code for the country.
20760	CountryCode *string `type:"string"`
20761
20762	// The name of the country.
20763	CountryName *string `type:"string"`
20764}
20765
20766// String returns the string representation
20767func (s Country) String() string {
20768	return awsutil.Prettify(s)
20769}
20770
20771// GoString returns the string representation
20772func (s Country) GoString() string {
20773	return s.String()
20774}
20775
20776// SetCountryCode sets the CountryCode field's value.
20777func (s *Country) SetCountryCode(v string) *Country {
20778	s.CountryCode = &v
20779	return s
20780}
20781
20782// SetCountryName sets the CountryName field's value.
20783func (s *Country) SetCountryName(v string) *Country {
20784	s.CountryName = &v
20785	return s
20786}
20787
20788type CreateActionTargetInput struct {
20789	_ struct{} `type:"structure"`
20790
20791	// The description for the custom action target.
20792	//
20793	// Description is a required field
20794	Description *string `type:"string" required:"true"`
20795
20796	// The ID for the custom action target.
20797	//
20798	// Id is a required field
20799	Id *string `type:"string" required:"true"`
20800
20801	// The name of the custom action target.
20802	//
20803	// Name is a required field
20804	Name *string `type:"string" required:"true"`
20805}
20806
20807// String returns the string representation
20808func (s CreateActionTargetInput) String() string {
20809	return awsutil.Prettify(s)
20810}
20811
20812// GoString returns the string representation
20813func (s CreateActionTargetInput) GoString() string {
20814	return s.String()
20815}
20816
20817// Validate inspects the fields of the type to determine if they are valid.
20818func (s *CreateActionTargetInput) Validate() error {
20819	invalidParams := request.ErrInvalidParams{Context: "CreateActionTargetInput"}
20820	if s.Description == nil {
20821		invalidParams.Add(request.NewErrParamRequired("Description"))
20822	}
20823	if s.Id == nil {
20824		invalidParams.Add(request.NewErrParamRequired("Id"))
20825	}
20826	if s.Name == nil {
20827		invalidParams.Add(request.NewErrParamRequired("Name"))
20828	}
20829
20830	if invalidParams.Len() > 0 {
20831		return invalidParams
20832	}
20833	return nil
20834}
20835
20836// SetDescription sets the Description field's value.
20837func (s *CreateActionTargetInput) SetDescription(v string) *CreateActionTargetInput {
20838	s.Description = &v
20839	return s
20840}
20841
20842// SetId sets the Id field's value.
20843func (s *CreateActionTargetInput) SetId(v string) *CreateActionTargetInput {
20844	s.Id = &v
20845	return s
20846}
20847
20848// SetName sets the Name field's value.
20849func (s *CreateActionTargetInput) SetName(v string) *CreateActionTargetInput {
20850	s.Name = &v
20851	return s
20852}
20853
20854type CreateActionTargetOutput struct {
20855	_ struct{} `type:"structure"`
20856
20857	// The ARN for the custom action target.
20858	//
20859	// ActionTargetArn is a required field
20860	ActionTargetArn *string `type:"string" required:"true"`
20861}
20862
20863// String returns the string representation
20864func (s CreateActionTargetOutput) String() string {
20865	return awsutil.Prettify(s)
20866}
20867
20868// GoString returns the string representation
20869func (s CreateActionTargetOutput) GoString() string {
20870	return s.String()
20871}
20872
20873// SetActionTargetArn sets the ActionTargetArn field's value.
20874func (s *CreateActionTargetOutput) SetActionTargetArn(v string) *CreateActionTargetOutput {
20875	s.ActionTargetArn = &v
20876	return s
20877}
20878
20879type CreateInsightInput struct {
20880	_ struct{} `type:"structure"`
20881
20882	// One or more attributes used to filter the findings included in the insight.
20883	// The insight only includes findings that match the criteria defined in the
20884	// filters.
20885	//
20886	// Filters is a required field
20887	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
20888
20889	// The attribute used to group the findings for the insight. The grouping attribute
20890	// identifies the type of item that the insight applies to. For example, if
20891	// an insight is grouped by resource identifier, then the insight produces a
20892	// list of resource identifiers.
20893	//
20894	// GroupByAttribute is a required field
20895	GroupByAttribute *string `type:"string" required:"true"`
20896
20897	// The name of the custom insight to create.
20898	//
20899	// Name is a required field
20900	Name *string `type:"string" required:"true"`
20901}
20902
20903// String returns the string representation
20904func (s CreateInsightInput) String() string {
20905	return awsutil.Prettify(s)
20906}
20907
20908// GoString returns the string representation
20909func (s CreateInsightInput) GoString() string {
20910	return s.String()
20911}
20912
20913// Validate inspects the fields of the type to determine if they are valid.
20914func (s *CreateInsightInput) Validate() error {
20915	invalidParams := request.ErrInvalidParams{Context: "CreateInsightInput"}
20916	if s.Filters == nil {
20917		invalidParams.Add(request.NewErrParamRequired("Filters"))
20918	}
20919	if s.GroupByAttribute == nil {
20920		invalidParams.Add(request.NewErrParamRequired("GroupByAttribute"))
20921	}
20922	if s.Name == nil {
20923		invalidParams.Add(request.NewErrParamRequired("Name"))
20924	}
20925
20926	if invalidParams.Len() > 0 {
20927		return invalidParams
20928	}
20929	return nil
20930}
20931
20932// SetFilters sets the Filters field's value.
20933func (s *CreateInsightInput) SetFilters(v *AwsSecurityFindingFilters) *CreateInsightInput {
20934	s.Filters = v
20935	return s
20936}
20937
20938// SetGroupByAttribute sets the GroupByAttribute field's value.
20939func (s *CreateInsightInput) SetGroupByAttribute(v string) *CreateInsightInput {
20940	s.GroupByAttribute = &v
20941	return s
20942}
20943
20944// SetName sets the Name field's value.
20945func (s *CreateInsightInput) SetName(v string) *CreateInsightInput {
20946	s.Name = &v
20947	return s
20948}
20949
20950type CreateInsightOutput struct {
20951	_ struct{} `type:"structure"`
20952
20953	// The ARN of the insight created.
20954	//
20955	// InsightArn is a required field
20956	InsightArn *string `type:"string" required:"true"`
20957}
20958
20959// String returns the string representation
20960func (s CreateInsightOutput) String() string {
20961	return awsutil.Prettify(s)
20962}
20963
20964// GoString returns the string representation
20965func (s CreateInsightOutput) GoString() string {
20966	return s.String()
20967}
20968
20969// SetInsightArn sets the InsightArn field's value.
20970func (s *CreateInsightOutput) SetInsightArn(v string) *CreateInsightOutput {
20971	s.InsightArn = &v
20972	return s
20973}
20974
20975type CreateMembersInput struct {
20976	_ struct{} `type:"structure"`
20977
20978	// The list of accounts to associate with the Security Hub administrator account.
20979	// For each account, the list includes the account ID and optionally the email
20980	// address.
20981	//
20982	// AccountDetails is a required field
20983	AccountDetails []*AccountDetails `type:"list" required:"true"`
20984}
20985
20986// String returns the string representation
20987func (s CreateMembersInput) String() string {
20988	return awsutil.Prettify(s)
20989}
20990
20991// GoString returns the string representation
20992func (s CreateMembersInput) GoString() string {
20993	return s.String()
20994}
20995
20996// Validate inspects the fields of the type to determine if they are valid.
20997func (s *CreateMembersInput) Validate() error {
20998	invalidParams := request.ErrInvalidParams{Context: "CreateMembersInput"}
20999	if s.AccountDetails == nil {
21000		invalidParams.Add(request.NewErrParamRequired("AccountDetails"))
21001	}
21002	if s.AccountDetails != nil {
21003		for i, v := range s.AccountDetails {
21004			if v == nil {
21005				continue
21006			}
21007			if err := v.Validate(); err != nil {
21008				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountDetails", i), err.(request.ErrInvalidParams))
21009			}
21010		}
21011	}
21012
21013	if invalidParams.Len() > 0 {
21014		return invalidParams
21015	}
21016	return nil
21017}
21018
21019// SetAccountDetails sets the AccountDetails field's value.
21020func (s *CreateMembersInput) SetAccountDetails(v []*AccountDetails) *CreateMembersInput {
21021	s.AccountDetails = v
21022	return s
21023}
21024
21025type CreateMembersOutput struct {
21026	_ struct{} `type:"structure"`
21027
21028	// The list of AWS accounts that were not processed. For each account, the list
21029	// includes the account ID and the email address.
21030	UnprocessedAccounts []*Result `type:"list"`
21031}
21032
21033// String returns the string representation
21034func (s CreateMembersOutput) String() string {
21035	return awsutil.Prettify(s)
21036}
21037
21038// GoString returns the string representation
21039func (s CreateMembersOutput) GoString() string {
21040	return s.String()
21041}
21042
21043// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
21044func (s *CreateMembersOutput) SetUnprocessedAccounts(v []*Result) *CreateMembersOutput {
21045	s.UnprocessedAccounts = v
21046	return s
21047}
21048
21049// The list of detected instances of sensitive data.
21050type CustomDataIdentifiersDetections struct {
21051	_ struct{} `type:"structure"`
21052
21053	// The ARN of the custom identifier that was used to detect the sensitive data.
21054	Arn *string `type:"string"`
21055
21056	// The total number of occurrences of sensitive data that were detected.
21057	Count *int64 `type:"long"`
21058
21059	// he name of the custom identifier that detected the sensitive data.
21060	Name *string `type:"string"`
21061
21062	// Details about the sensitive data that was detected.
21063	Occurrences *Occurrences `type:"structure"`
21064}
21065
21066// String returns the string representation
21067func (s CustomDataIdentifiersDetections) String() string {
21068	return awsutil.Prettify(s)
21069}
21070
21071// GoString returns the string representation
21072func (s CustomDataIdentifiersDetections) GoString() string {
21073	return s.String()
21074}
21075
21076// SetArn sets the Arn field's value.
21077func (s *CustomDataIdentifiersDetections) SetArn(v string) *CustomDataIdentifiersDetections {
21078	s.Arn = &v
21079	return s
21080}
21081
21082// SetCount sets the Count field's value.
21083func (s *CustomDataIdentifiersDetections) SetCount(v int64) *CustomDataIdentifiersDetections {
21084	s.Count = &v
21085	return s
21086}
21087
21088// SetName sets the Name field's value.
21089func (s *CustomDataIdentifiersDetections) SetName(v string) *CustomDataIdentifiersDetections {
21090	s.Name = &v
21091	return s
21092}
21093
21094// SetOccurrences sets the Occurrences field's value.
21095func (s *CustomDataIdentifiersDetections) SetOccurrences(v *Occurrences) *CustomDataIdentifiersDetections {
21096	s.Occurrences = v
21097	return s
21098}
21099
21100// Contains an instance of sensitive data that was detected by a customer-defined
21101// identifier.
21102type CustomDataIdentifiersResult struct {
21103	_ struct{} `type:"structure"`
21104
21105	// The list of detected instances of sensitive data.
21106	Detections []*CustomDataIdentifiersDetections `type:"list"`
21107
21108	// The total number of occurrences of sensitive data.
21109	TotalCount *int64 `type:"long"`
21110}
21111
21112// String returns the string representation
21113func (s CustomDataIdentifiersResult) String() string {
21114	return awsutil.Prettify(s)
21115}
21116
21117// GoString returns the string representation
21118func (s CustomDataIdentifiersResult) GoString() string {
21119	return s.String()
21120}
21121
21122// SetDetections sets the Detections field's value.
21123func (s *CustomDataIdentifiersResult) SetDetections(v []*CustomDataIdentifiersDetections) *CustomDataIdentifiersResult {
21124	s.Detections = v
21125	return s
21126}
21127
21128// SetTotalCount sets the TotalCount field's value.
21129func (s *CustomDataIdentifiersResult) SetTotalCount(v int64) *CustomDataIdentifiersResult {
21130	s.TotalCount = &v
21131	return s
21132}
21133
21134// CVSS scores from the advisory related to the vulnerability.
21135type Cvss struct {
21136	_ struct{} `type:"structure"`
21137
21138	// The base CVSS score.
21139	BaseScore *float64 `type:"double"`
21140
21141	// The base scoring vector for the CVSS score.
21142	BaseVector *string `type:"string"`
21143
21144	// The version of CVSS for the CVSS score.
21145	Version *string `type:"string"`
21146}
21147
21148// String returns the string representation
21149func (s Cvss) String() string {
21150	return awsutil.Prettify(s)
21151}
21152
21153// GoString returns the string representation
21154func (s Cvss) GoString() string {
21155	return s.String()
21156}
21157
21158// SetBaseScore sets the BaseScore field's value.
21159func (s *Cvss) SetBaseScore(v float64) *Cvss {
21160	s.BaseScore = &v
21161	return s
21162}
21163
21164// SetBaseVector sets the BaseVector field's value.
21165func (s *Cvss) SetBaseVector(v string) *Cvss {
21166	s.BaseVector = &v
21167	return s
21168}
21169
21170// SetVersion sets the Version field's value.
21171func (s *Cvss) SetVersion(v string) *Cvss {
21172	s.Version = &v
21173	return s
21174}
21175
21176// Provides details about sensitive data that was detected on a resource.
21177type DataClassificationDetails struct {
21178	_ struct{} `type:"structure"`
21179
21180	// The path to the folder or file that contains the sensitive data.
21181	DetailedResultsLocation *string `type:"string"`
21182
21183	// The details about the sensitive data that was detected on the resource.
21184	Result *ClassificationResult `type:"structure"`
21185}
21186
21187// String returns the string representation
21188func (s DataClassificationDetails) String() string {
21189	return awsutil.Prettify(s)
21190}
21191
21192// GoString returns the string representation
21193func (s DataClassificationDetails) GoString() string {
21194	return s.String()
21195}
21196
21197// SetDetailedResultsLocation sets the DetailedResultsLocation field's value.
21198func (s *DataClassificationDetails) SetDetailedResultsLocation(v string) *DataClassificationDetails {
21199	s.DetailedResultsLocation = &v
21200	return s
21201}
21202
21203// SetResult sets the Result field's value.
21204func (s *DataClassificationDetails) SetResult(v *ClassificationResult) *DataClassificationDetails {
21205	s.Result = v
21206	return s
21207}
21208
21209// A date filter for querying findings.
21210type DateFilter struct {
21211	_ struct{} `type:"structure"`
21212
21213	// A date range for the date filter.
21214	DateRange *DateRange `type:"structure"`
21215
21216	// An end date for the date filter.
21217	End *string `type:"string"`
21218
21219	// A start date for the date filter.
21220	Start *string `type:"string"`
21221}
21222
21223// String returns the string representation
21224func (s DateFilter) String() string {
21225	return awsutil.Prettify(s)
21226}
21227
21228// GoString returns the string representation
21229func (s DateFilter) GoString() string {
21230	return s.String()
21231}
21232
21233// SetDateRange sets the DateRange field's value.
21234func (s *DateFilter) SetDateRange(v *DateRange) *DateFilter {
21235	s.DateRange = v
21236	return s
21237}
21238
21239// SetEnd sets the End field's value.
21240func (s *DateFilter) SetEnd(v string) *DateFilter {
21241	s.End = &v
21242	return s
21243}
21244
21245// SetStart sets the Start field's value.
21246func (s *DateFilter) SetStart(v string) *DateFilter {
21247	s.Start = &v
21248	return s
21249}
21250
21251// A date range for the date filter.
21252type DateRange struct {
21253	_ struct{} `type:"structure"`
21254
21255	// A date range unit for the date filter.
21256	Unit *string `type:"string" enum:"DateRangeUnit"`
21257
21258	// A date range value for the date filter.
21259	Value *int64 `type:"integer"`
21260}
21261
21262// String returns the string representation
21263func (s DateRange) String() string {
21264	return awsutil.Prettify(s)
21265}
21266
21267// GoString returns the string representation
21268func (s DateRange) GoString() string {
21269	return s.String()
21270}
21271
21272// SetUnit sets the Unit field's value.
21273func (s *DateRange) SetUnit(v string) *DateRange {
21274	s.Unit = &v
21275	return s
21276}
21277
21278// SetValue sets the Value field's value.
21279func (s *DateRange) SetValue(v int64) *DateRange {
21280	s.Value = &v
21281	return s
21282}
21283
21284type DeclineInvitationsInput struct {
21285	_ struct{} `type:"structure"`
21286
21287	// The list of account IDs for the accounts from which to decline the invitations
21288	// to Security Hub.
21289	//
21290	// AccountIds is a required field
21291	AccountIds []*string `type:"list" required:"true"`
21292}
21293
21294// String returns the string representation
21295func (s DeclineInvitationsInput) String() string {
21296	return awsutil.Prettify(s)
21297}
21298
21299// GoString returns the string representation
21300func (s DeclineInvitationsInput) GoString() string {
21301	return s.String()
21302}
21303
21304// Validate inspects the fields of the type to determine if they are valid.
21305func (s *DeclineInvitationsInput) Validate() error {
21306	invalidParams := request.ErrInvalidParams{Context: "DeclineInvitationsInput"}
21307	if s.AccountIds == nil {
21308		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
21309	}
21310
21311	if invalidParams.Len() > 0 {
21312		return invalidParams
21313	}
21314	return nil
21315}
21316
21317// SetAccountIds sets the AccountIds field's value.
21318func (s *DeclineInvitationsInput) SetAccountIds(v []*string) *DeclineInvitationsInput {
21319	s.AccountIds = v
21320	return s
21321}
21322
21323type DeclineInvitationsOutput struct {
21324	_ struct{} `type:"structure"`
21325
21326	// The list of AWS accounts that were not processed. For each account, the list
21327	// includes the account ID and the email address.
21328	UnprocessedAccounts []*Result `type:"list"`
21329}
21330
21331// String returns the string representation
21332func (s DeclineInvitationsOutput) String() string {
21333	return awsutil.Prettify(s)
21334}
21335
21336// GoString returns the string representation
21337func (s DeclineInvitationsOutput) GoString() string {
21338	return s.String()
21339}
21340
21341// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
21342func (s *DeclineInvitationsOutput) SetUnprocessedAccounts(v []*Result) *DeclineInvitationsOutput {
21343	s.UnprocessedAccounts = v
21344	return s
21345}
21346
21347type DeleteActionTargetInput struct {
21348	_ struct{} `type:"structure"`
21349
21350	// The ARN of the custom action target to delete.
21351	//
21352	// ActionTargetArn is a required field
21353	ActionTargetArn *string `location:"uri" locationName:"ActionTargetArn" type:"string" required:"true"`
21354}
21355
21356// String returns the string representation
21357func (s DeleteActionTargetInput) String() string {
21358	return awsutil.Prettify(s)
21359}
21360
21361// GoString returns the string representation
21362func (s DeleteActionTargetInput) GoString() string {
21363	return s.String()
21364}
21365
21366// Validate inspects the fields of the type to determine if they are valid.
21367func (s *DeleteActionTargetInput) Validate() error {
21368	invalidParams := request.ErrInvalidParams{Context: "DeleteActionTargetInput"}
21369	if s.ActionTargetArn == nil {
21370		invalidParams.Add(request.NewErrParamRequired("ActionTargetArn"))
21371	}
21372	if s.ActionTargetArn != nil && len(*s.ActionTargetArn) < 1 {
21373		invalidParams.Add(request.NewErrParamMinLen("ActionTargetArn", 1))
21374	}
21375
21376	if invalidParams.Len() > 0 {
21377		return invalidParams
21378	}
21379	return nil
21380}
21381
21382// SetActionTargetArn sets the ActionTargetArn field's value.
21383func (s *DeleteActionTargetInput) SetActionTargetArn(v string) *DeleteActionTargetInput {
21384	s.ActionTargetArn = &v
21385	return s
21386}
21387
21388type DeleteActionTargetOutput struct {
21389	_ struct{} `type:"structure"`
21390
21391	// The ARN of the custom action target that was deleted.
21392	//
21393	// ActionTargetArn is a required field
21394	ActionTargetArn *string `type:"string" required:"true"`
21395}
21396
21397// String returns the string representation
21398func (s DeleteActionTargetOutput) String() string {
21399	return awsutil.Prettify(s)
21400}
21401
21402// GoString returns the string representation
21403func (s DeleteActionTargetOutput) GoString() string {
21404	return s.String()
21405}
21406
21407// SetActionTargetArn sets the ActionTargetArn field's value.
21408func (s *DeleteActionTargetOutput) SetActionTargetArn(v string) *DeleteActionTargetOutput {
21409	s.ActionTargetArn = &v
21410	return s
21411}
21412
21413type DeleteInsightInput struct {
21414	_ struct{} `type:"structure"`
21415
21416	// The ARN of the insight to delete.
21417	//
21418	// InsightArn is a required field
21419	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
21420}
21421
21422// String returns the string representation
21423func (s DeleteInsightInput) String() string {
21424	return awsutil.Prettify(s)
21425}
21426
21427// GoString returns the string representation
21428func (s DeleteInsightInput) GoString() string {
21429	return s.String()
21430}
21431
21432// Validate inspects the fields of the type to determine if they are valid.
21433func (s *DeleteInsightInput) Validate() error {
21434	invalidParams := request.ErrInvalidParams{Context: "DeleteInsightInput"}
21435	if s.InsightArn == nil {
21436		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
21437	}
21438	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
21439		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
21440	}
21441
21442	if invalidParams.Len() > 0 {
21443		return invalidParams
21444	}
21445	return nil
21446}
21447
21448// SetInsightArn sets the InsightArn field's value.
21449func (s *DeleteInsightInput) SetInsightArn(v string) *DeleteInsightInput {
21450	s.InsightArn = &v
21451	return s
21452}
21453
21454type DeleteInsightOutput struct {
21455	_ struct{} `type:"structure"`
21456
21457	// The ARN of the insight that was deleted.
21458	//
21459	// InsightArn is a required field
21460	InsightArn *string `type:"string" required:"true"`
21461}
21462
21463// String returns the string representation
21464func (s DeleteInsightOutput) String() string {
21465	return awsutil.Prettify(s)
21466}
21467
21468// GoString returns the string representation
21469func (s DeleteInsightOutput) GoString() string {
21470	return s.String()
21471}
21472
21473// SetInsightArn sets the InsightArn field's value.
21474func (s *DeleteInsightOutput) SetInsightArn(v string) *DeleteInsightOutput {
21475	s.InsightArn = &v
21476	return s
21477}
21478
21479type DeleteInvitationsInput struct {
21480	_ struct{} `type:"structure"`
21481
21482	// The list of the account IDs that sent the invitations to delete.
21483	//
21484	// AccountIds is a required field
21485	AccountIds []*string `type:"list" required:"true"`
21486}
21487
21488// String returns the string representation
21489func (s DeleteInvitationsInput) String() string {
21490	return awsutil.Prettify(s)
21491}
21492
21493// GoString returns the string representation
21494func (s DeleteInvitationsInput) GoString() string {
21495	return s.String()
21496}
21497
21498// Validate inspects the fields of the type to determine if they are valid.
21499func (s *DeleteInvitationsInput) Validate() error {
21500	invalidParams := request.ErrInvalidParams{Context: "DeleteInvitationsInput"}
21501	if s.AccountIds == nil {
21502		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
21503	}
21504
21505	if invalidParams.Len() > 0 {
21506		return invalidParams
21507	}
21508	return nil
21509}
21510
21511// SetAccountIds sets the AccountIds field's value.
21512func (s *DeleteInvitationsInput) SetAccountIds(v []*string) *DeleteInvitationsInput {
21513	s.AccountIds = v
21514	return s
21515}
21516
21517type DeleteInvitationsOutput struct {
21518	_ struct{} `type:"structure"`
21519
21520	// The list of AWS accounts for which the invitations were not deleted. For
21521	// each account, the list includes the account ID and the email address.
21522	UnprocessedAccounts []*Result `type:"list"`
21523}
21524
21525// String returns the string representation
21526func (s DeleteInvitationsOutput) String() string {
21527	return awsutil.Prettify(s)
21528}
21529
21530// GoString returns the string representation
21531func (s DeleteInvitationsOutput) GoString() string {
21532	return s.String()
21533}
21534
21535// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
21536func (s *DeleteInvitationsOutput) SetUnprocessedAccounts(v []*Result) *DeleteInvitationsOutput {
21537	s.UnprocessedAccounts = v
21538	return s
21539}
21540
21541type DeleteMembersInput struct {
21542	_ struct{} `type:"structure"`
21543
21544	// The list of account IDs for the member accounts to delete.
21545	//
21546	// AccountIds is a required field
21547	AccountIds []*string `type:"list" required:"true"`
21548}
21549
21550// String returns the string representation
21551func (s DeleteMembersInput) String() string {
21552	return awsutil.Prettify(s)
21553}
21554
21555// GoString returns the string representation
21556func (s DeleteMembersInput) GoString() string {
21557	return s.String()
21558}
21559
21560// Validate inspects the fields of the type to determine if they are valid.
21561func (s *DeleteMembersInput) Validate() error {
21562	invalidParams := request.ErrInvalidParams{Context: "DeleteMembersInput"}
21563	if s.AccountIds == nil {
21564		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
21565	}
21566
21567	if invalidParams.Len() > 0 {
21568		return invalidParams
21569	}
21570	return nil
21571}
21572
21573// SetAccountIds sets the AccountIds field's value.
21574func (s *DeleteMembersInput) SetAccountIds(v []*string) *DeleteMembersInput {
21575	s.AccountIds = v
21576	return s
21577}
21578
21579type DeleteMembersOutput struct {
21580	_ struct{} `type:"structure"`
21581
21582	// The list of AWS accounts that were not deleted. For each account, the list
21583	// includes the account ID and the email address.
21584	UnprocessedAccounts []*Result `type:"list"`
21585}
21586
21587// String returns the string representation
21588func (s DeleteMembersOutput) String() string {
21589	return awsutil.Prettify(s)
21590}
21591
21592// GoString returns the string representation
21593func (s DeleteMembersOutput) GoString() string {
21594	return s.String()
21595}
21596
21597// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
21598func (s *DeleteMembersOutput) SetUnprocessedAccounts(v []*Result) *DeleteMembersOutput {
21599	s.UnprocessedAccounts = v
21600	return s
21601}
21602
21603type DescribeActionTargetsInput struct {
21604	_ struct{} `type:"structure"`
21605
21606	// A list of custom action target ARNs for the custom action targets to retrieve.
21607	ActionTargetArns []*string `type:"list"`
21608
21609	// The maximum number of results to return.
21610	MaxResults *int64 `min:"1" type:"integer"`
21611
21612	// The token that is required for pagination. On your first call to the DescribeActionTargets
21613	// operation, set the value of this parameter to NULL.
21614	//
21615	// For subsequent calls to the operation, to continue listing data, set the
21616	// value of this parameter to the value returned from the previous response.
21617	NextToken *string `type:"string"`
21618}
21619
21620// String returns the string representation
21621func (s DescribeActionTargetsInput) String() string {
21622	return awsutil.Prettify(s)
21623}
21624
21625// GoString returns the string representation
21626func (s DescribeActionTargetsInput) GoString() string {
21627	return s.String()
21628}
21629
21630// Validate inspects the fields of the type to determine if they are valid.
21631func (s *DescribeActionTargetsInput) Validate() error {
21632	invalidParams := request.ErrInvalidParams{Context: "DescribeActionTargetsInput"}
21633	if s.MaxResults != nil && *s.MaxResults < 1 {
21634		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21635	}
21636
21637	if invalidParams.Len() > 0 {
21638		return invalidParams
21639	}
21640	return nil
21641}
21642
21643// SetActionTargetArns sets the ActionTargetArns field's value.
21644func (s *DescribeActionTargetsInput) SetActionTargetArns(v []*string) *DescribeActionTargetsInput {
21645	s.ActionTargetArns = v
21646	return s
21647}
21648
21649// SetMaxResults sets the MaxResults field's value.
21650func (s *DescribeActionTargetsInput) SetMaxResults(v int64) *DescribeActionTargetsInput {
21651	s.MaxResults = &v
21652	return s
21653}
21654
21655// SetNextToken sets the NextToken field's value.
21656func (s *DescribeActionTargetsInput) SetNextToken(v string) *DescribeActionTargetsInput {
21657	s.NextToken = &v
21658	return s
21659}
21660
21661type DescribeActionTargetsOutput struct {
21662	_ struct{} `type:"structure"`
21663
21664	// A list of ActionTarget objects. Each object includes the ActionTargetArn,
21665	// Description, and Name of a custom action target available in Security Hub.
21666	//
21667	// ActionTargets is a required field
21668	ActionTargets []*ActionTarget `type:"list" required:"true"`
21669
21670	// The pagination token to use to request the next page of results.
21671	NextToken *string `type:"string"`
21672}
21673
21674// String returns the string representation
21675func (s DescribeActionTargetsOutput) String() string {
21676	return awsutil.Prettify(s)
21677}
21678
21679// GoString returns the string representation
21680func (s DescribeActionTargetsOutput) GoString() string {
21681	return s.String()
21682}
21683
21684// SetActionTargets sets the ActionTargets field's value.
21685func (s *DescribeActionTargetsOutput) SetActionTargets(v []*ActionTarget) *DescribeActionTargetsOutput {
21686	s.ActionTargets = v
21687	return s
21688}
21689
21690// SetNextToken sets the NextToken field's value.
21691func (s *DescribeActionTargetsOutput) SetNextToken(v string) *DescribeActionTargetsOutput {
21692	s.NextToken = &v
21693	return s
21694}
21695
21696type DescribeHubInput struct {
21697	_ struct{} `type:"structure"`
21698
21699	// The ARN of the Hub resource to retrieve.
21700	HubArn *string `location:"querystring" locationName:"HubArn" type:"string"`
21701}
21702
21703// String returns the string representation
21704func (s DescribeHubInput) String() string {
21705	return awsutil.Prettify(s)
21706}
21707
21708// GoString returns the string representation
21709func (s DescribeHubInput) GoString() string {
21710	return s.String()
21711}
21712
21713// SetHubArn sets the HubArn field's value.
21714func (s *DescribeHubInput) SetHubArn(v string) *DescribeHubInput {
21715	s.HubArn = &v
21716	return s
21717}
21718
21719type DescribeHubOutput struct {
21720	_ struct{} `type:"structure"`
21721
21722	// Whether to automatically enable new controls when they are added to standards
21723	// that are enabled.
21724	//
21725	// If set to true, then new controls for enabled standards are enabled automatically.
21726	// If set to false, then new controls are not enabled.
21727	AutoEnableControls *bool `type:"boolean"`
21728
21729	// The ARN of the Hub resource that was retrieved.
21730	HubArn *string `type:"string"`
21731
21732	// The date and time when Security Hub was enabled in the account.
21733	SubscribedAt *string `type:"string"`
21734}
21735
21736// String returns the string representation
21737func (s DescribeHubOutput) String() string {
21738	return awsutil.Prettify(s)
21739}
21740
21741// GoString returns the string representation
21742func (s DescribeHubOutput) GoString() string {
21743	return s.String()
21744}
21745
21746// SetAutoEnableControls sets the AutoEnableControls field's value.
21747func (s *DescribeHubOutput) SetAutoEnableControls(v bool) *DescribeHubOutput {
21748	s.AutoEnableControls = &v
21749	return s
21750}
21751
21752// SetHubArn sets the HubArn field's value.
21753func (s *DescribeHubOutput) SetHubArn(v string) *DescribeHubOutput {
21754	s.HubArn = &v
21755	return s
21756}
21757
21758// SetSubscribedAt sets the SubscribedAt field's value.
21759func (s *DescribeHubOutput) SetSubscribedAt(v string) *DescribeHubOutput {
21760	s.SubscribedAt = &v
21761	return s
21762}
21763
21764type DescribeOrganizationConfigurationInput struct {
21765	_ struct{} `type:"structure"`
21766}
21767
21768// String returns the string representation
21769func (s DescribeOrganizationConfigurationInput) String() string {
21770	return awsutil.Prettify(s)
21771}
21772
21773// GoString returns the string representation
21774func (s DescribeOrganizationConfigurationInput) GoString() string {
21775	return s.String()
21776}
21777
21778type DescribeOrganizationConfigurationOutput struct {
21779	_ struct{} `type:"structure"`
21780
21781	// Whether to automatically enable Security Hub for new accounts in the organization.
21782	//
21783	// If set to true, then Security Hub is enabled for new accounts. If set to
21784	// false, then new accounts are not added automatically.
21785	AutoEnable *bool `type:"boolean"`
21786
21787	// Whether the maximum number of allowed member accounts are already associated
21788	// with the Security Hub administrator account.
21789	MemberAccountLimitReached *bool `type:"boolean"`
21790}
21791
21792// String returns the string representation
21793func (s DescribeOrganizationConfigurationOutput) String() string {
21794	return awsutil.Prettify(s)
21795}
21796
21797// GoString returns the string representation
21798func (s DescribeOrganizationConfigurationOutput) GoString() string {
21799	return s.String()
21800}
21801
21802// SetAutoEnable sets the AutoEnable field's value.
21803func (s *DescribeOrganizationConfigurationOutput) SetAutoEnable(v bool) *DescribeOrganizationConfigurationOutput {
21804	s.AutoEnable = &v
21805	return s
21806}
21807
21808// SetMemberAccountLimitReached sets the MemberAccountLimitReached field's value.
21809func (s *DescribeOrganizationConfigurationOutput) SetMemberAccountLimitReached(v bool) *DescribeOrganizationConfigurationOutput {
21810	s.MemberAccountLimitReached = &v
21811	return s
21812}
21813
21814type DescribeProductsInput struct {
21815	_ struct{} `type:"structure"`
21816
21817	// The maximum number of results to return.
21818	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
21819
21820	// The token that is required for pagination. On your first call to the DescribeProducts
21821	// operation, set the value of this parameter to NULL.
21822	//
21823	// For subsequent calls to the operation, to continue listing data, set the
21824	// value of this parameter to the value returned from the previous response.
21825	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
21826
21827	// The ARN of the integration to return.
21828	ProductArn *string `location:"querystring" locationName:"ProductArn" type:"string"`
21829}
21830
21831// String returns the string representation
21832func (s DescribeProductsInput) String() string {
21833	return awsutil.Prettify(s)
21834}
21835
21836// GoString returns the string representation
21837func (s DescribeProductsInput) GoString() string {
21838	return s.String()
21839}
21840
21841// Validate inspects the fields of the type to determine if they are valid.
21842func (s *DescribeProductsInput) Validate() error {
21843	invalidParams := request.ErrInvalidParams{Context: "DescribeProductsInput"}
21844	if s.MaxResults != nil && *s.MaxResults < 1 {
21845		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21846	}
21847
21848	if invalidParams.Len() > 0 {
21849		return invalidParams
21850	}
21851	return nil
21852}
21853
21854// SetMaxResults sets the MaxResults field's value.
21855func (s *DescribeProductsInput) SetMaxResults(v int64) *DescribeProductsInput {
21856	s.MaxResults = &v
21857	return s
21858}
21859
21860// SetNextToken sets the NextToken field's value.
21861func (s *DescribeProductsInput) SetNextToken(v string) *DescribeProductsInput {
21862	s.NextToken = &v
21863	return s
21864}
21865
21866// SetProductArn sets the ProductArn field's value.
21867func (s *DescribeProductsInput) SetProductArn(v string) *DescribeProductsInput {
21868	s.ProductArn = &v
21869	return s
21870}
21871
21872type DescribeProductsOutput struct {
21873	_ struct{} `type:"structure"`
21874
21875	// The pagination token to use to request the next page of results.
21876	NextToken *string `type:"string"`
21877
21878	// A list of products, including details for each product.
21879	//
21880	// Products is a required field
21881	Products []*Product `type:"list" required:"true"`
21882}
21883
21884// String returns the string representation
21885func (s DescribeProductsOutput) String() string {
21886	return awsutil.Prettify(s)
21887}
21888
21889// GoString returns the string representation
21890func (s DescribeProductsOutput) GoString() string {
21891	return s.String()
21892}
21893
21894// SetNextToken sets the NextToken field's value.
21895func (s *DescribeProductsOutput) SetNextToken(v string) *DescribeProductsOutput {
21896	s.NextToken = &v
21897	return s
21898}
21899
21900// SetProducts sets the Products field's value.
21901func (s *DescribeProductsOutput) SetProducts(v []*Product) *DescribeProductsOutput {
21902	s.Products = v
21903	return s
21904}
21905
21906type DescribeStandardsControlsInput struct {
21907	_ struct{} `type:"structure"`
21908
21909	// The maximum number of security standard controls to return.
21910	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
21911
21912	// The token that is required for pagination. On your first call to the DescribeStandardsControls
21913	// operation, set the value of this parameter to NULL.
21914	//
21915	// For subsequent calls to the operation, to continue listing data, set the
21916	// value of this parameter to the value returned from the previous response.
21917	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
21918
21919	// The ARN of a resource that represents your subscription to a supported standard.
21920	// To get the subscription ARNs of the standards you have enabled, use the GetEnabledStandards
21921	// operation.
21922	//
21923	// StandardsSubscriptionArn is a required field
21924	StandardsSubscriptionArn *string `location:"uri" locationName:"StandardsSubscriptionArn" type:"string" required:"true"`
21925}
21926
21927// String returns the string representation
21928func (s DescribeStandardsControlsInput) String() string {
21929	return awsutil.Prettify(s)
21930}
21931
21932// GoString returns the string representation
21933func (s DescribeStandardsControlsInput) GoString() string {
21934	return s.String()
21935}
21936
21937// Validate inspects the fields of the type to determine if they are valid.
21938func (s *DescribeStandardsControlsInput) Validate() error {
21939	invalidParams := request.ErrInvalidParams{Context: "DescribeStandardsControlsInput"}
21940	if s.MaxResults != nil && *s.MaxResults < 1 {
21941		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
21942	}
21943	if s.StandardsSubscriptionArn == nil {
21944		invalidParams.Add(request.NewErrParamRequired("StandardsSubscriptionArn"))
21945	}
21946	if s.StandardsSubscriptionArn != nil && len(*s.StandardsSubscriptionArn) < 1 {
21947		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArn", 1))
21948	}
21949
21950	if invalidParams.Len() > 0 {
21951		return invalidParams
21952	}
21953	return nil
21954}
21955
21956// SetMaxResults sets the MaxResults field's value.
21957func (s *DescribeStandardsControlsInput) SetMaxResults(v int64) *DescribeStandardsControlsInput {
21958	s.MaxResults = &v
21959	return s
21960}
21961
21962// SetNextToken sets the NextToken field's value.
21963func (s *DescribeStandardsControlsInput) SetNextToken(v string) *DescribeStandardsControlsInput {
21964	s.NextToken = &v
21965	return s
21966}
21967
21968// SetStandardsSubscriptionArn sets the StandardsSubscriptionArn field's value.
21969func (s *DescribeStandardsControlsInput) SetStandardsSubscriptionArn(v string) *DescribeStandardsControlsInput {
21970	s.StandardsSubscriptionArn = &v
21971	return s
21972}
21973
21974type DescribeStandardsControlsOutput struct {
21975	_ struct{} `type:"structure"`
21976
21977	// A list of security standards controls.
21978	Controls []*StandardsControl `type:"list"`
21979
21980	// The pagination token to use to request the next page of results.
21981	NextToken *string `type:"string"`
21982}
21983
21984// String returns the string representation
21985func (s DescribeStandardsControlsOutput) String() string {
21986	return awsutil.Prettify(s)
21987}
21988
21989// GoString returns the string representation
21990func (s DescribeStandardsControlsOutput) GoString() string {
21991	return s.String()
21992}
21993
21994// SetControls sets the Controls field's value.
21995func (s *DescribeStandardsControlsOutput) SetControls(v []*StandardsControl) *DescribeStandardsControlsOutput {
21996	s.Controls = v
21997	return s
21998}
21999
22000// SetNextToken sets the NextToken field's value.
22001func (s *DescribeStandardsControlsOutput) SetNextToken(v string) *DescribeStandardsControlsOutput {
22002	s.NextToken = &v
22003	return s
22004}
22005
22006type DescribeStandardsInput struct {
22007	_ struct{} `type:"structure"`
22008
22009	// The maximum number of standards to return.
22010	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
22011
22012	// The token that is required for pagination. On your first call to the DescribeStandards
22013	// operation, set the value of this parameter to NULL.
22014	//
22015	// For subsequent calls to the operation, to continue listing data, set the
22016	// value of this parameter to the value returned from the previous response.
22017	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
22018}
22019
22020// String returns the string representation
22021func (s DescribeStandardsInput) String() string {
22022	return awsutil.Prettify(s)
22023}
22024
22025// GoString returns the string representation
22026func (s DescribeStandardsInput) GoString() string {
22027	return s.String()
22028}
22029
22030// Validate inspects the fields of the type to determine if they are valid.
22031func (s *DescribeStandardsInput) Validate() error {
22032	invalidParams := request.ErrInvalidParams{Context: "DescribeStandardsInput"}
22033	if s.MaxResults != nil && *s.MaxResults < 1 {
22034		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
22035	}
22036
22037	if invalidParams.Len() > 0 {
22038		return invalidParams
22039	}
22040	return nil
22041}
22042
22043// SetMaxResults sets the MaxResults field's value.
22044func (s *DescribeStandardsInput) SetMaxResults(v int64) *DescribeStandardsInput {
22045	s.MaxResults = &v
22046	return s
22047}
22048
22049// SetNextToken sets the NextToken field's value.
22050func (s *DescribeStandardsInput) SetNextToken(v string) *DescribeStandardsInput {
22051	s.NextToken = &v
22052	return s
22053}
22054
22055type DescribeStandardsOutput struct {
22056	_ struct{} `type:"structure"`
22057
22058	// The pagination token to use to request the next page of results.
22059	NextToken *string `type:"string"`
22060
22061	// A list of available standards.
22062	Standards []*Standard `type:"list"`
22063}
22064
22065// String returns the string representation
22066func (s DescribeStandardsOutput) String() string {
22067	return awsutil.Prettify(s)
22068}
22069
22070// GoString returns the string representation
22071func (s DescribeStandardsOutput) GoString() string {
22072	return s.String()
22073}
22074
22075// SetNextToken sets the NextToken field's value.
22076func (s *DescribeStandardsOutput) SetNextToken(v string) *DescribeStandardsOutput {
22077	s.NextToken = &v
22078	return s
22079}
22080
22081// SetStandards sets the Standards field's value.
22082func (s *DescribeStandardsOutput) SetStandards(v []*Standard) *DescribeStandardsOutput {
22083	s.Standards = v
22084	return s
22085}
22086
22087type DisableImportFindingsForProductInput struct {
22088	_ struct{} `type:"structure"`
22089
22090	// The ARN of the integrated product to disable the integration for.
22091	//
22092	// ProductSubscriptionArn is a required field
22093	ProductSubscriptionArn *string `location:"uri" locationName:"ProductSubscriptionArn" type:"string" required:"true"`
22094}
22095
22096// String returns the string representation
22097func (s DisableImportFindingsForProductInput) String() string {
22098	return awsutil.Prettify(s)
22099}
22100
22101// GoString returns the string representation
22102func (s DisableImportFindingsForProductInput) GoString() string {
22103	return s.String()
22104}
22105
22106// Validate inspects the fields of the type to determine if they are valid.
22107func (s *DisableImportFindingsForProductInput) Validate() error {
22108	invalidParams := request.ErrInvalidParams{Context: "DisableImportFindingsForProductInput"}
22109	if s.ProductSubscriptionArn == nil {
22110		invalidParams.Add(request.NewErrParamRequired("ProductSubscriptionArn"))
22111	}
22112	if s.ProductSubscriptionArn != nil && len(*s.ProductSubscriptionArn) < 1 {
22113		invalidParams.Add(request.NewErrParamMinLen("ProductSubscriptionArn", 1))
22114	}
22115
22116	if invalidParams.Len() > 0 {
22117		return invalidParams
22118	}
22119	return nil
22120}
22121
22122// SetProductSubscriptionArn sets the ProductSubscriptionArn field's value.
22123func (s *DisableImportFindingsForProductInput) SetProductSubscriptionArn(v string) *DisableImportFindingsForProductInput {
22124	s.ProductSubscriptionArn = &v
22125	return s
22126}
22127
22128type DisableImportFindingsForProductOutput struct {
22129	_ struct{} `type:"structure"`
22130}
22131
22132// String returns the string representation
22133func (s DisableImportFindingsForProductOutput) String() string {
22134	return awsutil.Prettify(s)
22135}
22136
22137// GoString returns the string representation
22138func (s DisableImportFindingsForProductOutput) GoString() string {
22139	return s.String()
22140}
22141
22142type DisableOrganizationAdminAccountInput struct {
22143	_ struct{} `type:"structure"`
22144
22145	// The AWS account identifier of the Security Hub administrator account.
22146	//
22147	// AdminAccountId is a required field
22148	AdminAccountId *string `type:"string" required:"true"`
22149}
22150
22151// String returns the string representation
22152func (s DisableOrganizationAdminAccountInput) String() string {
22153	return awsutil.Prettify(s)
22154}
22155
22156// GoString returns the string representation
22157func (s DisableOrganizationAdminAccountInput) GoString() string {
22158	return s.String()
22159}
22160
22161// Validate inspects the fields of the type to determine if they are valid.
22162func (s *DisableOrganizationAdminAccountInput) Validate() error {
22163	invalidParams := request.ErrInvalidParams{Context: "DisableOrganizationAdminAccountInput"}
22164	if s.AdminAccountId == nil {
22165		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
22166	}
22167
22168	if invalidParams.Len() > 0 {
22169		return invalidParams
22170	}
22171	return nil
22172}
22173
22174// SetAdminAccountId sets the AdminAccountId field's value.
22175func (s *DisableOrganizationAdminAccountInput) SetAdminAccountId(v string) *DisableOrganizationAdminAccountInput {
22176	s.AdminAccountId = &v
22177	return s
22178}
22179
22180type DisableOrganizationAdminAccountOutput struct {
22181	_ struct{} `type:"structure"`
22182}
22183
22184// String returns the string representation
22185func (s DisableOrganizationAdminAccountOutput) String() string {
22186	return awsutil.Prettify(s)
22187}
22188
22189// GoString returns the string representation
22190func (s DisableOrganizationAdminAccountOutput) GoString() string {
22191	return s.String()
22192}
22193
22194type DisableSecurityHubInput struct {
22195	_ struct{} `type:"structure"`
22196}
22197
22198// String returns the string representation
22199func (s DisableSecurityHubInput) String() string {
22200	return awsutil.Prettify(s)
22201}
22202
22203// GoString returns the string representation
22204func (s DisableSecurityHubInput) GoString() string {
22205	return s.String()
22206}
22207
22208type DisableSecurityHubOutput struct {
22209	_ struct{} `type:"structure"`
22210}
22211
22212// String returns the string representation
22213func (s DisableSecurityHubOutput) String() string {
22214	return awsutil.Prettify(s)
22215}
22216
22217// GoString returns the string representation
22218func (s DisableSecurityHubOutput) GoString() string {
22219	return s.String()
22220}
22221
22222type DisassociateFromAdministratorAccountInput struct {
22223	_ struct{} `type:"structure"`
22224}
22225
22226// String returns the string representation
22227func (s DisassociateFromAdministratorAccountInput) String() string {
22228	return awsutil.Prettify(s)
22229}
22230
22231// GoString returns the string representation
22232func (s DisassociateFromAdministratorAccountInput) GoString() string {
22233	return s.String()
22234}
22235
22236type DisassociateFromAdministratorAccountOutput struct {
22237	_ struct{} `type:"structure"`
22238}
22239
22240// String returns the string representation
22241func (s DisassociateFromAdministratorAccountOutput) String() string {
22242	return awsutil.Prettify(s)
22243}
22244
22245// GoString returns the string representation
22246func (s DisassociateFromAdministratorAccountOutput) GoString() string {
22247	return s.String()
22248}
22249
22250type DisassociateFromMasterAccountInput struct {
22251	_ struct{} `type:"structure"`
22252}
22253
22254// String returns the string representation
22255func (s DisassociateFromMasterAccountInput) String() string {
22256	return awsutil.Prettify(s)
22257}
22258
22259// GoString returns the string representation
22260func (s DisassociateFromMasterAccountInput) GoString() string {
22261	return s.String()
22262}
22263
22264type DisassociateFromMasterAccountOutput struct {
22265	_ struct{} `type:"structure"`
22266}
22267
22268// String returns the string representation
22269func (s DisassociateFromMasterAccountOutput) String() string {
22270	return awsutil.Prettify(s)
22271}
22272
22273// GoString returns the string representation
22274func (s DisassociateFromMasterAccountOutput) GoString() string {
22275	return s.String()
22276}
22277
22278type DisassociateMembersInput struct {
22279	_ struct{} `type:"structure"`
22280
22281	// The account IDs of the member accounts to disassociate from the administrator
22282	// account.
22283	//
22284	// AccountIds is a required field
22285	AccountIds []*string `type:"list" required:"true"`
22286}
22287
22288// String returns the string representation
22289func (s DisassociateMembersInput) String() string {
22290	return awsutil.Prettify(s)
22291}
22292
22293// GoString returns the string representation
22294func (s DisassociateMembersInput) GoString() string {
22295	return s.String()
22296}
22297
22298// Validate inspects the fields of the type to determine if they are valid.
22299func (s *DisassociateMembersInput) Validate() error {
22300	invalidParams := request.ErrInvalidParams{Context: "DisassociateMembersInput"}
22301	if s.AccountIds == nil {
22302		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
22303	}
22304
22305	if invalidParams.Len() > 0 {
22306		return invalidParams
22307	}
22308	return nil
22309}
22310
22311// SetAccountIds sets the AccountIds field's value.
22312func (s *DisassociateMembersInput) SetAccountIds(v []*string) *DisassociateMembersInput {
22313	s.AccountIds = v
22314	return s
22315}
22316
22317type DisassociateMembersOutput struct {
22318	_ struct{} `type:"structure"`
22319}
22320
22321// String returns the string representation
22322func (s DisassociateMembersOutput) String() string {
22323	return awsutil.Prettify(s)
22324}
22325
22326// GoString returns the string representation
22327func (s DisassociateMembersOutput) GoString() string {
22328	return s.String()
22329}
22330
22331// Provided if ActionType is DNS_REQUEST. It provides details about the DNS
22332// request that was detected.
22333type DnsRequestAction struct {
22334	_ struct{} `type:"structure"`
22335
22336	// Indicates whether the DNS request was blocked.
22337	Blocked *bool `type:"boolean"`
22338
22339	// The DNS domain that is associated with the DNS request.
22340	Domain *string `type:"string"`
22341
22342	// The protocol that was used for the DNS request.
22343	Protocol *string `type:"string"`
22344}
22345
22346// String returns the string representation
22347func (s DnsRequestAction) String() string {
22348	return awsutil.Prettify(s)
22349}
22350
22351// GoString returns the string representation
22352func (s DnsRequestAction) GoString() string {
22353	return s.String()
22354}
22355
22356// SetBlocked sets the Blocked field's value.
22357func (s *DnsRequestAction) SetBlocked(v bool) *DnsRequestAction {
22358	s.Blocked = &v
22359	return s
22360}
22361
22362// SetDomain sets the Domain field's value.
22363func (s *DnsRequestAction) SetDomain(v string) *DnsRequestAction {
22364	s.Domain = &v
22365	return s
22366}
22367
22368// SetProtocol sets the Protocol field's value.
22369func (s *DnsRequestAction) SetProtocol(v string) *DnsRequestAction {
22370	s.Protocol = &v
22371	return s
22372}
22373
22374type EnableImportFindingsForProductInput struct {
22375	_ struct{} `type:"structure"`
22376
22377	// The ARN of the product to enable the integration for.
22378	//
22379	// ProductArn is a required field
22380	ProductArn *string `type:"string" required:"true"`
22381}
22382
22383// String returns the string representation
22384func (s EnableImportFindingsForProductInput) String() string {
22385	return awsutil.Prettify(s)
22386}
22387
22388// GoString returns the string representation
22389func (s EnableImportFindingsForProductInput) GoString() string {
22390	return s.String()
22391}
22392
22393// Validate inspects the fields of the type to determine if they are valid.
22394func (s *EnableImportFindingsForProductInput) Validate() error {
22395	invalidParams := request.ErrInvalidParams{Context: "EnableImportFindingsForProductInput"}
22396	if s.ProductArn == nil {
22397		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
22398	}
22399
22400	if invalidParams.Len() > 0 {
22401		return invalidParams
22402	}
22403	return nil
22404}
22405
22406// SetProductArn sets the ProductArn field's value.
22407func (s *EnableImportFindingsForProductInput) SetProductArn(v string) *EnableImportFindingsForProductInput {
22408	s.ProductArn = &v
22409	return s
22410}
22411
22412type EnableImportFindingsForProductOutput struct {
22413	_ struct{} `type:"structure"`
22414
22415	// The ARN of your subscription to the product to enable integrations for.
22416	ProductSubscriptionArn *string `type:"string"`
22417}
22418
22419// String returns the string representation
22420func (s EnableImportFindingsForProductOutput) String() string {
22421	return awsutil.Prettify(s)
22422}
22423
22424// GoString returns the string representation
22425func (s EnableImportFindingsForProductOutput) GoString() string {
22426	return s.String()
22427}
22428
22429// SetProductSubscriptionArn sets the ProductSubscriptionArn field's value.
22430func (s *EnableImportFindingsForProductOutput) SetProductSubscriptionArn(v string) *EnableImportFindingsForProductOutput {
22431	s.ProductSubscriptionArn = &v
22432	return s
22433}
22434
22435type EnableOrganizationAdminAccountInput struct {
22436	_ struct{} `type:"structure"`
22437
22438	// The AWS account identifier of the account to designate as the Security Hub
22439	// administrator account.
22440	//
22441	// AdminAccountId is a required field
22442	AdminAccountId *string `type:"string" required:"true"`
22443}
22444
22445// String returns the string representation
22446func (s EnableOrganizationAdminAccountInput) String() string {
22447	return awsutil.Prettify(s)
22448}
22449
22450// GoString returns the string representation
22451func (s EnableOrganizationAdminAccountInput) GoString() string {
22452	return s.String()
22453}
22454
22455// Validate inspects the fields of the type to determine if they are valid.
22456func (s *EnableOrganizationAdminAccountInput) Validate() error {
22457	invalidParams := request.ErrInvalidParams{Context: "EnableOrganizationAdminAccountInput"}
22458	if s.AdminAccountId == nil {
22459		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
22460	}
22461
22462	if invalidParams.Len() > 0 {
22463		return invalidParams
22464	}
22465	return nil
22466}
22467
22468// SetAdminAccountId sets the AdminAccountId field's value.
22469func (s *EnableOrganizationAdminAccountInput) SetAdminAccountId(v string) *EnableOrganizationAdminAccountInput {
22470	s.AdminAccountId = &v
22471	return s
22472}
22473
22474type EnableOrganizationAdminAccountOutput struct {
22475	_ struct{} `type:"structure"`
22476}
22477
22478// String returns the string representation
22479func (s EnableOrganizationAdminAccountOutput) String() string {
22480	return awsutil.Prettify(s)
22481}
22482
22483// GoString returns the string representation
22484func (s EnableOrganizationAdminAccountOutput) GoString() string {
22485	return s.String()
22486}
22487
22488type EnableSecurityHubInput struct {
22489	_ struct{} `type:"structure"`
22490
22491	// Whether to enable the security standards that Security Hub has designated
22492	// as automatically enabled. If you do not provide a value for EnableDefaultStandards,
22493	// it is set to true. To not enable the automatically enabled standards, set
22494	// EnableDefaultStandards to false.
22495	EnableDefaultStandards *bool `type:"boolean"`
22496
22497	// The tags to add to the hub resource when you enable Security Hub.
22498	Tags map[string]*string `min:"1" type:"map"`
22499}
22500
22501// String returns the string representation
22502func (s EnableSecurityHubInput) String() string {
22503	return awsutil.Prettify(s)
22504}
22505
22506// GoString returns the string representation
22507func (s EnableSecurityHubInput) GoString() string {
22508	return s.String()
22509}
22510
22511// Validate inspects the fields of the type to determine if they are valid.
22512func (s *EnableSecurityHubInput) Validate() error {
22513	invalidParams := request.ErrInvalidParams{Context: "EnableSecurityHubInput"}
22514	if s.Tags != nil && len(s.Tags) < 1 {
22515		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
22516	}
22517
22518	if invalidParams.Len() > 0 {
22519		return invalidParams
22520	}
22521	return nil
22522}
22523
22524// SetEnableDefaultStandards sets the EnableDefaultStandards field's value.
22525func (s *EnableSecurityHubInput) SetEnableDefaultStandards(v bool) *EnableSecurityHubInput {
22526	s.EnableDefaultStandards = &v
22527	return s
22528}
22529
22530// SetTags sets the Tags field's value.
22531func (s *EnableSecurityHubInput) SetTags(v map[string]*string) *EnableSecurityHubInput {
22532	s.Tags = v
22533	return s
22534}
22535
22536type EnableSecurityHubOutput struct {
22537	_ struct{} `type:"structure"`
22538}
22539
22540// String returns the string representation
22541func (s EnableSecurityHubOutput) String() string {
22542	return awsutil.Prettify(s)
22543}
22544
22545// GoString returns the string representation
22546func (s EnableSecurityHubOutput) GoString() string {
22547	return s.String()
22548}
22549
22550// In a BatchImportFindings request, finding providers use FindingProviderFields
22551// to provide and update values for confidence, criticality, related findings,
22552// severity, and types.
22553type FindingProviderFields struct {
22554	_ struct{} `type:"structure"`
22555
22556	// A finding's confidence. Confidence is defined as the likelihood that a finding
22557	// accurately identifies the behavior or issue that it was intended to identify.
22558	//
22559	// Confidence is scored on a 0-100 basis using a ratio scale, where 0 means
22560	// zero percent confidence and 100 means 100 percent confidence.
22561	Confidence *int64 `type:"integer"`
22562
22563	// The level of importance assigned to the resources associated with the finding.
22564	//
22565	// A score of 0 means that the underlying resources have no criticality, and
22566	// a score of 100 is reserved for the most critical resources.
22567	Criticality *int64 `type:"integer"`
22568
22569	// A list of findings that are related to the current finding.
22570	RelatedFindings []*RelatedFinding `type:"list"`
22571
22572	// The severity of a finding.
22573	Severity *FindingProviderSeverity `type:"structure"`
22574
22575	// One or more finding types in the format of namespace/category/classifier
22576	// that classify a finding.
22577	//
22578	// Valid namespace values are: Software and Configuration Checks | TTPs | Effects
22579	// | Unusual Behaviors | Sensitive Data Identifications
22580	Types []*string `type:"list"`
22581}
22582
22583// String returns the string representation
22584func (s FindingProviderFields) String() string {
22585	return awsutil.Prettify(s)
22586}
22587
22588// GoString returns the string representation
22589func (s FindingProviderFields) GoString() string {
22590	return s.String()
22591}
22592
22593// Validate inspects the fields of the type to determine if they are valid.
22594func (s *FindingProviderFields) Validate() error {
22595	invalidParams := request.ErrInvalidParams{Context: "FindingProviderFields"}
22596	if s.RelatedFindings != nil {
22597		for i, v := range s.RelatedFindings {
22598			if v == nil {
22599				continue
22600			}
22601			if err := v.Validate(); err != nil {
22602				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "RelatedFindings", i), err.(request.ErrInvalidParams))
22603			}
22604		}
22605	}
22606
22607	if invalidParams.Len() > 0 {
22608		return invalidParams
22609	}
22610	return nil
22611}
22612
22613// SetConfidence sets the Confidence field's value.
22614func (s *FindingProviderFields) SetConfidence(v int64) *FindingProviderFields {
22615	s.Confidence = &v
22616	return s
22617}
22618
22619// SetCriticality sets the Criticality field's value.
22620func (s *FindingProviderFields) SetCriticality(v int64) *FindingProviderFields {
22621	s.Criticality = &v
22622	return s
22623}
22624
22625// SetRelatedFindings sets the RelatedFindings field's value.
22626func (s *FindingProviderFields) SetRelatedFindings(v []*RelatedFinding) *FindingProviderFields {
22627	s.RelatedFindings = v
22628	return s
22629}
22630
22631// SetSeverity sets the Severity field's value.
22632func (s *FindingProviderFields) SetSeverity(v *FindingProviderSeverity) *FindingProviderFields {
22633	s.Severity = v
22634	return s
22635}
22636
22637// SetTypes sets the Types field's value.
22638func (s *FindingProviderFields) SetTypes(v []*string) *FindingProviderFields {
22639	s.Types = v
22640	return s
22641}
22642
22643// The severity assigned to the finding by the finding provider.
22644type FindingProviderSeverity struct {
22645	_ struct{} `type:"structure"`
22646
22647	// The severity label assigned to the finding by the finding provider.
22648	Label *string `type:"string" enum:"SeverityLabel"`
22649
22650	// The finding provider's original value for the severity.
22651	Original *string `type:"string"`
22652}
22653
22654// String returns the string representation
22655func (s FindingProviderSeverity) String() string {
22656	return awsutil.Prettify(s)
22657}
22658
22659// GoString returns the string representation
22660func (s FindingProviderSeverity) GoString() string {
22661	return s.String()
22662}
22663
22664// SetLabel sets the Label field's value.
22665func (s *FindingProviderSeverity) SetLabel(v string) *FindingProviderSeverity {
22666	s.Label = &v
22667	return s
22668}
22669
22670// SetOriginal sets the Original field's value.
22671func (s *FindingProviderSeverity) SetOriginal(v string) *FindingProviderSeverity {
22672	s.Original = &v
22673	return s
22674}
22675
22676// Provides the latitude and longitude coordinates of a location.
22677type GeoLocation struct {
22678	_ struct{} `type:"structure"`
22679
22680	// The latitude of the location.
22681	Lat *float64 `type:"double"`
22682
22683	// The longitude of the location.
22684	Lon *float64 `type:"double"`
22685}
22686
22687// String returns the string representation
22688func (s GeoLocation) String() string {
22689	return awsutil.Prettify(s)
22690}
22691
22692// GoString returns the string representation
22693func (s GeoLocation) GoString() string {
22694	return s.String()
22695}
22696
22697// SetLat sets the Lat field's value.
22698func (s *GeoLocation) SetLat(v float64) *GeoLocation {
22699	s.Lat = &v
22700	return s
22701}
22702
22703// SetLon sets the Lon field's value.
22704func (s *GeoLocation) SetLon(v float64) *GeoLocation {
22705	s.Lon = &v
22706	return s
22707}
22708
22709type GetAdministratorAccountInput struct {
22710	_ struct{} `type:"structure"`
22711}
22712
22713// String returns the string representation
22714func (s GetAdministratorAccountInput) String() string {
22715	return awsutil.Prettify(s)
22716}
22717
22718// GoString returns the string representation
22719func (s GetAdministratorAccountInput) GoString() string {
22720	return s.String()
22721}
22722
22723type GetAdministratorAccountOutput struct {
22724	_ struct{} `type:"structure"`
22725
22726	// Details about an invitation.
22727	Administrator *Invitation `type:"structure"`
22728}
22729
22730// String returns the string representation
22731func (s GetAdministratorAccountOutput) String() string {
22732	return awsutil.Prettify(s)
22733}
22734
22735// GoString returns the string representation
22736func (s GetAdministratorAccountOutput) GoString() string {
22737	return s.String()
22738}
22739
22740// SetAdministrator sets the Administrator field's value.
22741func (s *GetAdministratorAccountOutput) SetAdministrator(v *Invitation) *GetAdministratorAccountOutput {
22742	s.Administrator = v
22743	return s
22744}
22745
22746type GetEnabledStandardsInput struct {
22747	_ struct{} `type:"structure"`
22748
22749	// The maximum number of results to return in the response.
22750	MaxResults *int64 `min:"1" type:"integer"`
22751
22752	// The token that is required for pagination. On your first call to the GetEnabledStandards
22753	// operation, set the value of this parameter to NULL.
22754	//
22755	// For subsequent calls to the operation, to continue listing data, set the
22756	// value of this parameter to the value returned from the previous response.
22757	NextToken *string `type:"string"`
22758
22759	// The list of the standards subscription ARNs for the standards to retrieve.
22760	StandardsSubscriptionArns []*string `min:"1" type:"list"`
22761}
22762
22763// String returns the string representation
22764func (s GetEnabledStandardsInput) String() string {
22765	return awsutil.Prettify(s)
22766}
22767
22768// GoString returns the string representation
22769func (s GetEnabledStandardsInput) GoString() string {
22770	return s.String()
22771}
22772
22773// Validate inspects the fields of the type to determine if they are valid.
22774func (s *GetEnabledStandardsInput) Validate() error {
22775	invalidParams := request.ErrInvalidParams{Context: "GetEnabledStandardsInput"}
22776	if s.MaxResults != nil && *s.MaxResults < 1 {
22777		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
22778	}
22779	if s.StandardsSubscriptionArns != nil && len(s.StandardsSubscriptionArns) < 1 {
22780		invalidParams.Add(request.NewErrParamMinLen("StandardsSubscriptionArns", 1))
22781	}
22782
22783	if invalidParams.Len() > 0 {
22784		return invalidParams
22785	}
22786	return nil
22787}
22788
22789// SetMaxResults sets the MaxResults field's value.
22790func (s *GetEnabledStandardsInput) SetMaxResults(v int64) *GetEnabledStandardsInput {
22791	s.MaxResults = &v
22792	return s
22793}
22794
22795// SetNextToken sets the NextToken field's value.
22796func (s *GetEnabledStandardsInput) SetNextToken(v string) *GetEnabledStandardsInput {
22797	s.NextToken = &v
22798	return s
22799}
22800
22801// SetStandardsSubscriptionArns sets the StandardsSubscriptionArns field's value.
22802func (s *GetEnabledStandardsInput) SetStandardsSubscriptionArns(v []*string) *GetEnabledStandardsInput {
22803	s.StandardsSubscriptionArns = v
22804	return s
22805}
22806
22807type GetEnabledStandardsOutput struct {
22808	_ struct{} `type:"structure"`
22809
22810	// The pagination token to use to request the next page of results.
22811	NextToken *string `type:"string"`
22812
22813	// The list of StandardsSubscriptions objects that include information about
22814	// the enabled standards.
22815	StandardsSubscriptions []*StandardsSubscription `type:"list"`
22816}
22817
22818// String returns the string representation
22819func (s GetEnabledStandardsOutput) String() string {
22820	return awsutil.Prettify(s)
22821}
22822
22823// GoString returns the string representation
22824func (s GetEnabledStandardsOutput) GoString() string {
22825	return s.String()
22826}
22827
22828// SetNextToken sets the NextToken field's value.
22829func (s *GetEnabledStandardsOutput) SetNextToken(v string) *GetEnabledStandardsOutput {
22830	s.NextToken = &v
22831	return s
22832}
22833
22834// SetStandardsSubscriptions sets the StandardsSubscriptions field's value.
22835func (s *GetEnabledStandardsOutput) SetStandardsSubscriptions(v []*StandardsSubscription) *GetEnabledStandardsOutput {
22836	s.StandardsSubscriptions = v
22837	return s
22838}
22839
22840type GetFindingsInput struct {
22841	_ struct{} `type:"structure"`
22842
22843	// The finding attributes used to define a condition to filter the returned
22844	// findings.
22845	//
22846	// You can filter by up to 10 finding attributes. For each attribute, you can
22847	// provide up to 20 filter values.
22848	//
22849	// Note that in the available filter fields, WorkflowState is deprecated. To
22850	// search for a finding based on its workflow status, use WorkflowStatus.
22851	Filters *AwsSecurityFindingFilters `type:"structure"`
22852
22853	// The maximum number of findings to return.
22854	MaxResults *int64 `min:"1" type:"integer"`
22855
22856	// The token that is required for pagination. On your first call to the GetFindings
22857	// operation, set the value of this parameter to NULL.
22858	//
22859	// For subsequent calls to the operation, to continue listing data, set the
22860	// value of this parameter to the value returned from the previous response.
22861	NextToken *string `type:"string"`
22862
22863	// The finding attributes used to sort the list of returned findings.
22864	SortCriteria []*SortCriterion `type:"list"`
22865}
22866
22867// String returns the string representation
22868func (s GetFindingsInput) String() string {
22869	return awsutil.Prettify(s)
22870}
22871
22872// GoString returns the string representation
22873func (s GetFindingsInput) GoString() string {
22874	return s.String()
22875}
22876
22877// Validate inspects the fields of the type to determine if they are valid.
22878func (s *GetFindingsInput) Validate() error {
22879	invalidParams := request.ErrInvalidParams{Context: "GetFindingsInput"}
22880	if s.MaxResults != nil && *s.MaxResults < 1 {
22881		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
22882	}
22883
22884	if invalidParams.Len() > 0 {
22885		return invalidParams
22886	}
22887	return nil
22888}
22889
22890// SetFilters sets the Filters field's value.
22891func (s *GetFindingsInput) SetFilters(v *AwsSecurityFindingFilters) *GetFindingsInput {
22892	s.Filters = v
22893	return s
22894}
22895
22896// SetMaxResults sets the MaxResults field's value.
22897func (s *GetFindingsInput) SetMaxResults(v int64) *GetFindingsInput {
22898	s.MaxResults = &v
22899	return s
22900}
22901
22902// SetNextToken sets the NextToken field's value.
22903func (s *GetFindingsInput) SetNextToken(v string) *GetFindingsInput {
22904	s.NextToken = &v
22905	return s
22906}
22907
22908// SetSortCriteria sets the SortCriteria field's value.
22909func (s *GetFindingsInput) SetSortCriteria(v []*SortCriterion) *GetFindingsInput {
22910	s.SortCriteria = v
22911	return s
22912}
22913
22914type GetFindingsOutput struct {
22915	_ struct{} `type:"structure"`
22916
22917	// The findings that matched the filters specified in the request.
22918	//
22919	// Findings is a required field
22920	Findings []*AwsSecurityFinding `type:"list" required:"true"`
22921
22922	// The pagination token to use to request the next page of results.
22923	NextToken *string `type:"string"`
22924}
22925
22926// String returns the string representation
22927func (s GetFindingsOutput) String() string {
22928	return awsutil.Prettify(s)
22929}
22930
22931// GoString returns the string representation
22932func (s GetFindingsOutput) GoString() string {
22933	return s.String()
22934}
22935
22936// SetFindings sets the Findings field's value.
22937func (s *GetFindingsOutput) SetFindings(v []*AwsSecurityFinding) *GetFindingsOutput {
22938	s.Findings = v
22939	return s
22940}
22941
22942// SetNextToken sets the NextToken field's value.
22943func (s *GetFindingsOutput) SetNextToken(v string) *GetFindingsOutput {
22944	s.NextToken = &v
22945	return s
22946}
22947
22948type GetInsightResultsInput struct {
22949	_ struct{} `type:"structure"`
22950
22951	// The ARN of the insight for which to return results.
22952	//
22953	// InsightArn is a required field
22954	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
22955}
22956
22957// String returns the string representation
22958func (s GetInsightResultsInput) String() string {
22959	return awsutil.Prettify(s)
22960}
22961
22962// GoString returns the string representation
22963func (s GetInsightResultsInput) GoString() string {
22964	return s.String()
22965}
22966
22967// Validate inspects the fields of the type to determine if they are valid.
22968func (s *GetInsightResultsInput) Validate() error {
22969	invalidParams := request.ErrInvalidParams{Context: "GetInsightResultsInput"}
22970	if s.InsightArn == nil {
22971		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
22972	}
22973	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
22974		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
22975	}
22976
22977	if invalidParams.Len() > 0 {
22978		return invalidParams
22979	}
22980	return nil
22981}
22982
22983// SetInsightArn sets the InsightArn field's value.
22984func (s *GetInsightResultsInput) SetInsightArn(v string) *GetInsightResultsInput {
22985	s.InsightArn = &v
22986	return s
22987}
22988
22989type GetInsightResultsOutput struct {
22990	_ struct{} `type:"structure"`
22991
22992	// The insight results returned by the operation.
22993	//
22994	// InsightResults is a required field
22995	InsightResults *InsightResults `type:"structure" required:"true"`
22996}
22997
22998// String returns the string representation
22999func (s GetInsightResultsOutput) String() string {
23000	return awsutil.Prettify(s)
23001}
23002
23003// GoString returns the string representation
23004func (s GetInsightResultsOutput) GoString() string {
23005	return s.String()
23006}
23007
23008// SetInsightResults sets the InsightResults field's value.
23009func (s *GetInsightResultsOutput) SetInsightResults(v *InsightResults) *GetInsightResultsOutput {
23010	s.InsightResults = v
23011	return s
23012}
23013
23014type GetInsightsInput struct {
23015	_ struct{} `type:"structure"`
23016
23017	// The ARNs of the insights to describe. If you do not provide any insight ARNs,
23018	// then GetInsights returns all of your custom insights. It does not return
23019	// any managed insights.
23020	InsightArns []*string `type:"list"`
23021
23022	// The maximum number of items to return in the response.
23023	MaxResults *int64 `min:"1" type:"integer"`
23024
23025	// The token that is required for pagination. On your first call to the GetInsights
23026	// operation, set the value of this parameter to NULL.
23027	//
23028	// For subsequent calls to the operation, to continue listing data, set the
23029	// value of this parameter to the value returned from the previous response.
23030	NextToken *string `type:"string"`
23031}
23032
23033// String returns the string representation
23034func (s GetInsightsInput) String() string {
23035	return awsutil.Prettify(s)
23036}
23037
23038// GoString returns the string representation
23039func (s GetInsightsInput) GoString() string {
23040	return s.String()
23041}
23042
23043// Validate inspects the fields of the type to determine if they are valid.
23044func (s *GetInsightsInput) Validate() error {
23045	invalidParams := request.ErrInvalidParams{Context: "GetInsightsInput"}
23046	if s.MaxResults != nil && *s.MaxResults < 1 {
23047		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
23048	}
23049
23050	if invalidParams.Len() > 0 {
23051		return invalidParams
23052	}
23053	return nil
23054}
23055
23056// SetInsightArns sets the InsightArns field's value.
23057func (s *GetInsightsInput) SetInsightArns(v []*string) *GetInsightsInput {
23058	s.InsightArns = v
23059	return s
23060}
23061
23062// SetMaxResults sets the MaxResults field's value.
23063func (s *GetInsightsInput) SetMaxResults(v int64) *GetInsightsInput {
23064	s.MaxResults = &v
23065	return s
23066}
23067
23068// SetNextToken sets the NextToken field's value.
23069func (s *GetInsightsInput) SetNextToken(v string) *GetInsightsInput {
23070	s.NextToken = &v
23071	return s
23072}
23073
23074type GetInsightsOutput struct {
23075	_ struct{} `type:"structure"`
23076
23077	// The insights returned by the operation.
23078	//
23079	// Insights is a required field
23080	Insights []*Insight `type:"list" required:"true"`
23081
23082	// The pagination token to use to request the next page of results.
23083	NextToken *string `type:"string"`
23084}
23085
23086// String returns the string representation
23087func (s GetInsightsOutput) String() string {
23088	return awsutil.Prettify(s)
23089}
23090
23091// GoString returns the string representation
23092func (s GetInsightsOutput) GoString() string {
23093	return s.String()
23094}
23095
23096// SetInsights sets the Insights field's value.
23097func (s *GetInsightsOutput) SetInsights(v []*Insight) *GetInsightsOutput {
23098	s.Insights = v
23099	return s
23100}
23101
23102// SetNextToken sets the NextToken field's value.
23103func (s *GetInsightsOutput) SetNextToken(v string) *GetInsightsOutput {
23104	s.NextToken = &v
23105	return s
23106}
23107
23108type GetInvitationsCountInput struct {
23109	_ struct{} `type:"structure"`
23110}
23111
23112// String returns the string representation
23113func (s GetInvitationsCountInput) String() string {
23114	return awsutil.Prettify(s)
23115}
23116
23117// GoString returns the string representation
23118func (s GetInvitationsCountInput) GoString() string {
23119	return s.String()
23120}
23121
23122type GetInvitationsCountOutput struct {
23123	_ struct{} `type:"structure"`
23124
23125	// The number of all membership invitations sent to this Security Hub member
23126	// account, not including the currently accepted invitation.
23127	InvitationsCount *int64 `type:"integer"`
23128}
23129
23130// String returns the string representation
23131func (s GetInvitationsCountOutput) String() string {
23132	return awsutil.Prettify(s)
23133}
23134
23135// GoString returns the string representation
23136func (s GetInvitationsCountOutput) GoString() string {
23137	return s.String()
23138}
23139
23140// SetInvitationsCount sets the InvitationsCount field's value.
23141func (s *GetInvitationsCountOutput) SetInvitationsCount(v int64) *GetInvitationsCountOutput {
23142	s.InvitationsCount = &v
23143	return s
23144}
23145
23146type GetMasterAccountInput struct {
23147	_ struct{} `type:"structure"`
23148}
23149
23150// String returns the string representation
23151func (s GetMasterAccountInput) String() string {
23152	return awsutil.Prettify(s)
23153}
23154
23155// GoString returns the string representation
23156func (s GetMasterAccountInput) GoString() string {
23157	return s.String()
23158}
23159
23160type GetMasterAccountOutput struct {
23161	_ struct{} `type:"structure"`
23162
23163	// A list of details about the Security Hub administrator account for the current
23164	// member account.
23165	Master *Invitation `type:"structure"`
23166}
23167
23168// String returns the string representation
23169func (s GetMasterAccountOutput) String() string {
23170	return awsutil.Prettify(s)
23171}
23172
23173// GoString returns the string representation
23174func (s GetMasterAccountOutput) GoString() string {
23175	return s.String()
23176}
23177
23178// SetMaster sets the Master field's value.
23179func (s *GetMasterAccountOutput) SetMaster(v *Invitation) *GetMasterAccountOutput {
23180	s.Master = v
23181	return s
23182}
23183
23184type GetMembersInput struct {
23185	_ struct{} `type:"structure"`
23186
23187	// The list of account IDs for the Security Hub member accounts to return the
23188	// details for.
23189	//
23190	// AccountIds is a required field
23191	AccountIds []*string `type:"list" required:"true"`
23192}
23193
23194// String returns the string representation
23195func (s GetMembersInput) String() string {
23196	return awsutil.Prettify(s)
23197}
23198
23199// GoString returns the string representation
23200func (s GetMembersInput) GoString() string {
23201	return s.String()
23202}
23203
23204// Validate inspects the fields of the type to determine if they are valid.
23205func (s *GetMembersInput) Validate() error {
23206	invalidParams := request.ErrInvalidParams{Context: "GetMembersInput"}
23207	if s.AccountIds == nil {
23208		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
23209	}
23210
23211	if invalidParams.Len() > 0 {
23212		return invalidParams
23213	}
23214	return nil
23215}
23216
23217// SetAccountIds sets the AccountIds field's value.
23218func (s *GetMembersInput) SetAccountIds(v []*string) *GetMembersInput {
23219	s.AccountIds = v
23220	return s
23221}
23222
23223type GetMembersOutput struct {
23224	_ struct{} `type:"structure"`
23225
23226	// The list of details about the Security Hub member accounts.
23227	Members []*Member `type:"list"`
23228
23229	// The list of AWS accounts that could not be processed. For each account, the
23230	// list includes the account ID and the email address.
23231	UnprocessedAccounts []*Result `type:"list"`
23232}
23233
23234// String returns the string representation
23235func (s GetMembersOutput) String() string {
23236	return awsutil.Prettify(s)
23237}
23238
23239// GoString returns the string representation
23240func (s GetMembersOutput) GoString() string {
23241	return s.String()
23242}
23243
23244// SetMembers sets the Members field's value.
23245func (s *GetMembersOutput) SetMembers(v []*Member) *GetMembersOutput {
23246	s.Members = v
23247	return s
23248}
23249
23250// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
23251func (s *GetMembersOutput) SetUnprocessedAccounts(v []*Result) *GetMembersOutput {
23252	s.UnprocessedAccounts = v
23253	return s
23254}
23255
23256// An Internet Control Message Protocol (ICMP) type and code.
23257type IcmpTypeCode struct {
23258	_ struct{} `type:"structure"`
23259
23260	// The ICMP code for which to deny or allow access. To deny or allow all codes,
23261	// use the value -1.
23262	Code *int64 `type:"integer"`
23263
23264	// The ICMP type for which to deny or allow access. To deny or allow all types,
23265	// use the value -1.
23266	Type *int64 `type:"integer"`
23267}
23268
23269// String returns the string representation
23270func (s IcmpTypeCode) String() string {
23271	return awsutil.Prettify(s)
23272}
23273
23274// GoString returns the string representation
23275func (s IcmpTypeCode) GoString() string {
23276	return s.String()
23277}
23278
23279// SetCode sets the Code field's value.
23280func (s *IcmpTypeCode) SetCode(v int64) *IcmpTypeCode {
23281	s.Code = &v
23282	return s
23283}
23284
23285// SetType sets the Type field's value.
23286func (s *IcmpTypeCode) SetType(v int64) *IcmpTypeCode {
23287	s.Type = &v
23288	return s
23289}
23290
23291// The list of the findings that cannot be imported. For each finding, the list
23292// provides the error.
23293type ImportFindingsError struct {
23294	_ struct{} `type:"structure"`
23295
23296	// The code of the error returned by the BatchImportFindings operation.
23297	//
23298	// ErrorCode is a required field
23299	ErrorCode *string `type:"string" required:"true"`
23300
23301	// The message of the error returned by the BatchImportFindings operation.
23302	//
23303	// ErrorMessage is a required field
23304	ErrorMessage *string `type:"string" required:"true"`
23305
23306	// The identifier of the finding that could not be updated.
23307	//
23308	// Id is a required field
23309	Id *string `type:"string" required:"true"`
23310}
23311
23312// String returns the string representation
23313func (s ImportFindingsError) String() string {
23314	return awsutil.Prettify(s)
23315}
23316
23317// GoString returns the string representation
23318func (s ImportFindingsError) GoString() string {
23319	return s.String()
23320}
23321
23322// SetErrorCode sets the ErrorCode field's value.
23323func (s *ImportFindingsError) SetErrorCode(v string) *ImportFindingsError {
23324	s.ErrorCode = &v
23325	return s
23326}
23327
23328// SetErrorMessage sets the ErrorMessage field's value.
23329func (s *ImportFindingsError) SetErrorMessage(v string) *ImportFindingsError {
23330	s.ErrorMessage = &v
23331	return s
23332}
23333
23334// SetId sets the Id field's value.
23335func (s *ImportFindingsError) SetId(v string) *ImportFindingsError {
23336	s.Id = &v
23337	return s
23338}
23339
23340// Contains information about a Security Hub insight.
23341type Insight struct {
23342	_ struct{} `type:"structure"`
23343
23344	// One or more attributes used to filter the findings included in the insight.
23345	// The insight only includes findings that match the criteria defined in the
23346	// filters.
23347	//
23348	// Filters is a required field
23349	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
23350
23351	// The grouping attribute for the insight's findings. Indicates how to group
23352	// the matching findings, and identifies the type of item that the insight applies
23353	// to. For example, if an insight is grouped by resource identifier, then the
23354	// insight produces a list of resource identifiers.
23355	//
23356	// GroupByAttribute is a required field
23357	GroupByAttribute *string `type:"string" required:"true"`
23358
23359	// The ARN of a Security Hub insight.
23360	//
23361	// InsightArn is a required field
23362	InsightArn *string `type:"string" required:"true"`
23363
23364	// The name of a Security Hub insight.
23365	//
23366	// Name is a required field
23367	Name *string `type:"string" required:"true"`
23368}
23369
23370// String returns the string representation
23371func (s Insight) String() string {
23372	return awsutil.Prettify(s)
23373}
23374
23375// GoString returns the string representation
23376func (s Insight) GoString() string {
23377	return s.String()
23378}
23379
23380// SetFilters sets the Filters field's value.
23381func (s *Insight) SetFilters(v *AwsSecurityFindingFilters) *Insight {
23382	s.Filters = v
23383	return s
23384}
23385
23386// SetGroupByAttribute sets the GroupByAttribute field's value.
23387func (s *Insight) SetGroupByAttribute(v string) *Insight {
23388	s.GroupByAttribute = &v
23389	return s
23390}
23391
23392// SetInsightArn sets the InsightArn field's value.
23393func (s *Insight) SetInsightArn(v string) *Insight {
23394	s.InsightArn = &v
23395	return s
23396}
23397
23398// SetName sets the Name field's value.
23399func (s *Insight) SetName(v string) *Insight {
23400	s.Name = &v
23401	return s
23402}
23403
23404// The insight result values returned by the GetInsightResults operation.
23405type InsightResultValue struct {
23406	_ struct{} `type:"structure"`
23407
23408	// The number of findings returned for each GroupByAttributeValue.
23409	//
23410	// Count is a required field
23411	Count *int64 `type:"integer" required:"true"`
23412
23413	// The value of the attribute that the findings are grouped by for the insight
23414	// whose results are returned by the GetInsightResults operation.
23415	//
23416	// GroupByAttributeValue is a required field
23417	GroupByAttributeValue *string `type:"string" required:"true"`
23418}
23419
23420// String returns the string representation
23421func (s InsightResultValue) String() string {
23422	return awsutil.Prettify(s)
23423}
23424
23425// GoString returns the string representation
23426func (s InsightResultValue) GoString() string {
23427	return s.String()
23428}
23429
23430// SetCount sets the Count field's value.
23431func (s *InsightResultValue) SetCount(v int64) *InsightResultValue {
23432	s.Count = &v
23433	return s
23434}
23435
23436// SetGroupByAttributeValue sets the GroupByAttributeValue field's value.
23437func (s *InsightResultValue) SetGroupByAttributeValue(v string) *InsightResultValue {
23438	s.GroupByAttributeValue = &v
23439	return s
23440}
23441
23442// The insight results returned by the GetInsightResults operation.
23443type InsightResults struct {
23444	_ struct{} `type:"structure"`
23445
23446	// The attribute that the findings are grouped by for the insight whose results
23447	// are returned by the GetInsightResults operation.
23448	//
23449	// GroupByAttribute is a required field
23450	GroupByAttribute *string `type:"string" required:"true"`
23451
23452	// The ARN of the insight whose results are returned by the GetInsightResults
23453	// operation.
23454	//
23455	// InsightArn is a required field
23456	InsightArn *string `type:"string" required:"true"`
23457
23458	// The list of insight result values returned by the GetInsightResults operation.
23459	//
23460	// ResultValues is a required field
23461	ResultValues []*InsightResultValue `type:"list" required:"true"`
23462}
23463
23464// String returns the string representation
23465func (s InsightResults) String() string {
23466	return awsutil.Prettify(s)
23467}
23468
23469// GoString returns the string representation
23470func (s InsightResults) GoString() string {
23471	return s.String()
23472}
23473
23474// SetGroupByAttribute sets the GroupByAttribute field's value.
23475func (s *InsightResults) SetGroupByAttribute(v string) *InsightResults {
23476	s.GroupByAttribute = &v
23477	return s
23478}
23479
23480// SetInsightArn sets the InsightArn field's value.
23481func (s *InsightResults) SetInsightArn(v string) *InsightResults {
23482	s.InsightArn = &v
23483	return s
23484}
23485
23486// SetResultValues sets the ResultValues field's value.
23487func (s *InsightResults) SetResultValues(v []*InsightResultValue) *InsightResults {
23488	s.ResultValues = v
23489	return s
23490}
23491
23492// Internal server error.
23493type InternalException struct {
23494	_            struct{}                  `type:"structure"`
23495	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
23496
23497	Code_ *string `locationName:"Code" type:"string"`
23498
23499	Message_ *string `locationName:"Message" type:"string"`
23500}
23501
23502// String returns the string representation
23503func (s InternalException) String() string {
23504	return awsutil.Prettify(s)
23505}
23506
23507// GoString returns the string representation
23508func (s InternalException) GoString() string {
23509	return s.String()
23510}
23511
23512func newErrorInternalException(v protocol.ResponseMetadata) error {
23513	return &InternalException{
23514		RespMetadata: v,
23515	}
23516}
23517
23518// Code returns the exception type name.
23519func (s *InternalException) Code() string {
23520	return "InternalException"
23521}
23522
23523// Message returns the exception's message.
23524func (s *InternalException) Message() string {
23525	if s.Message_ != nil {
23526		return *s.Message_
23527	}
23528	return ""
23529}
23530
23531// OrigErr always returns nil, satisfies awserr.Error interface.
23532func (s *InternalException) OrigErr() error {
23533	return nil
23534}
23535
23536func (s *InternalException) Error() string {
23537	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
23538}
23539
23540// Status code returns the HTTP status code for the request's response error.
23541func (s *InternalException) StatusCode() int {
23542	return s.RespMetadata.StatusCode
23543}
23544
23545// RequestID returns the service's response RequestID for request.
23546func (s *InternalException) RequestID() string {
23547	return s.RespMetadata.RequestID
23548}
23549
23550// There is an issue with the account used to make the request. Either Security
23551// Hub is not enabled for the account, or the account does not have permission
23552// to perform this action.
23553type InvalidAccessException struct {
23554	_            struct{}                  `type:"structure"`
23555	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
23556
23557	Code_ *string `locationName:"Code" type:"string"`
23558
23559	Message_ *string `locationName:"Message" type:"string"`
23560}
23561
23562// String returns the string representation
23563func (s InvalidAccessException) String() string {
23564	return awsutil.Prettify(s)
23565}
23566
23567// GoString returns the string representation
23568func (s InvalidAccessException) GoString() string {
23569	return s.String()
23570}
23571
23572func newErrorInvalidAccessException(v protocol.ResponseMetadata) error {
23573	return &InvalidAccessException{
23574		RespMetadata: v,
23575	}
23576}
23577
23578// Code returns the exception type name.
23579func (s *InvalidAccessException) Code() string {
23580	return "InvalidAccessException"
23581}
23582
23583// Message returns the exception's message.
23584func (s *InvalidAccessException) Message() string {
23585	if s.Message_ != nil {
23586		return *s.Message_
23587	}
23588	return ""
23589}
23590
23591// OrigErr always returns nil, satisfies awserr.Error interface.
23592func (s *InvalidAccessException) OrigErr() error {
23593	return nil
23594}
23595
23596func (s *InvalidAccessException) Error() string {
23597	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
23598}
23599
23600// Status code returns the HTTP status code for the request's response error.
23601func (s *InvalidAccessException) StatusCode() int {
23602	return s.RespMetadata.StatusCode
23603}
23604
23605// RequestID returns the service's response RequestID for request.
23606func (s *InvalidAccessException) RequestID() string {
23607	return s.RespMetadata.RequestID
23608}
23609
23610// The request was rejected because you supplied an invalid or out-of-range
23611// value for an input parameter.
23612type InvalidInputException struct {
23613	_            struct{}                  `type:"structure"`
23614	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
23615
23616	Code_ *string `locationName:"Code" type:"string"`
23617
23618	Message_ *string `locationName:"Message" type:"string"`
23619}
23620
23621// String returns the string representation
23622func (s InvalidInputException) String() string {
23623	return awsutil.Prettify(s)
23624}
23625
23626// GoString returns the string representation
23627func (s InvalidInputException) GoString() string {
23628	return s.String()
23629}
23630
23631func newErrorInvalidInputException(v protocol.ResponseMetadata) error {
23632	return &InvalidInputException{
23633		RespMetadata: v,
23634	}
23635}
23636
23637// Code returns the exception type name.
23638func (s *InvalidInputException) Code() string {
23639	return "InvalidInputException"
23640}
23641
23642// Message returns the exception's message.
23643func (s *InvalidInputException) Message() string {
23644	if s.Message_ != nil {
23645		return *s.Message_
23646	}
23647	return ""
23648}
23649
23650// OrigErr always returns nil, satisfies awserr.Error interface.
23651func (s *InvalidInputException) OrigErr() error {
23652	return nil
23653}
23654
23655func (s *InvalidInputException) Error() string {
23656	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
23657}
23658
23659// Status code returns the HTTP status code for the request's response error.
23660func (s *InvalidInputException) StatusCode() int {
23661	return s.RespMetadata.StatusCode
23662}
23663
23664// RequestID returns the service's response RequestID for request.
23665func (s *InvalidInputException) RequestID() string {
23666	return s.RespMetadata.RequestID
23667}
23668
23669// Details about an invitation.
23670type Invitation struct {
23671	_ struct{} `type:"structure"`
23672
23673	// The account ID of the Security Hub administrator account that the invitation
23674	// was sent from.
23675	AccountId *string `type:"string"`
23676
23677	// The ID of the invitation sent to the member account.
23678	InvitationId *string `type:"string"`
23679
23680	// The timestamp of when the invitation was sent.
23681	InvitedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
23682
23683	// The current status of the association between the member and administrator
23684	// accounts.
23685	MemberStatus *string `type:"string"`
23686}
23687
23688// String returns the string representation
23689func (s Invitation) String() string {
23690	return awsutil.Prettify(s)
23691}
23692
23693// GoString returns the string representation
23694func (s Invitation) GoString() string {
23695	return s.String()
23696}
23697
23698// SetAccountId sets the AccountId field's value.
23699func (s *Invitation) SetAccountId(v string) *Invitation {
23700	s.AccountId = &v
23701	return s
23702}
23703
23704// SetInvitationId sets the InvitationId field's value.
23705func (s *Invitation) SetInvitationId(v string) *Invitation {
23706	s.InvitationId = &v
23707	return s
23708}
23709
23710// SetInvitedAt sets the InvitedAt field's value.
23711func (s *Invitation) SetInvitedAt(v time.Time) *Invitation {
23712	s.InvitedAt = &v
23713	return s
23714}
23715
23716// SetMemberStatus sets the MemberStatus field's value.
23717func (s *Invitation) SetMemberStatus(v string) *Invitation {
23718	s.MemberStatus = &v
23719	return s
23720}
23721
23722type InviteMembersInput struct {
23723	_ struct{} `type:"structure"`
23724
23725	// The list of account IDs of the AWS accounts to invite to Security Hub as
23726	// members.
23727	//
23728	// AccountIds is a required field
23729	AccountIds []*string `type:"list" required:"true"`
23730}
23731
23732// String returns the string representation
23733func (s InviteMembersInput) String() string {
23734	return awsutil.Prettify(s)
23735}
23736
23737// GoString returns the string representation
23738func (s InviteMembersInput) GoString() string {
23739	return s.String()
23740}
23741
23742// Validate inspects the fields of the type to determine if they are valid.
23743func (s *InviteMembersInput) Validate() error {
23744	invalidParams := request.ErrInvalidParams{Context: "InviteMembersInput"}
23745	if s.AccountIds == nil {
23746		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
23747	}
23748
23749	if invalidParams.Len() > 0 {
23750		return invalidParams
23751	}
23752	return nil
23753}
23754
23755// SetAccountIds sets the AccountIds field's value.
23756func (s *InviteMembersInput) SetAccountIds(v []*string) *InviteMembersInput {
23757	s.AccountIds = v
23758	return s
23759}
23760
23761type InviteMembersOutput struct {
23762	_ struct{} `type:"structure"`
23763
23764	// The list of AWS accounts that could not be processed. For each account, the
23765	// list includes the account ID and the email address.
23766	UnprocessedAccounts []*Result `type:"list"`
23767}
23768
23769// String returns the string representation
23770func (s InviteMembersOutput) String() string {
23771	return awsutil.Prettify(s)
23772}
23773
23774// GoString returns the string representation
23775func (s InviteMembersOutput) GoString() string {
23776	return s.String()
23777}
23778
23779// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
23780func (s *InviteMembersOutput) SetUnprocessedAccounts(v []*Result) *InviteMembersOutput {
23781	s.UnprocessedAccounts = v
23782	return s
23783}
23784
23785// The IP filter for querying findings.
23786type IpFilter struct {
23787	_ struct{} `type:"structure"`
23788
23789	// A finding's CIDR value.
23790	Cidr *string `type:"string"`
23791}
23792
23793// String returns the string representation
23794func (s IpFilter) String() string {
23795	return awsutil.Prettify(s)
23796}
23797
23798// GoString returns the string representation
23799func (s IpFilter) GoString() string {
23800	return s.String()
23801}
23802
23803// SetCidr sets the Cidr field's value.
23804func (s *IpFilter) SetCidr(v string) *IpFilter {
23805	s.Cidr = &v
23806	return s
23807}
23808
23809// Provides information about an internet provider.
23810type IpOrganizationDetails struct {
23811	_ struct{} `type:"structure"`
23812
23813	// The Autonomous System Number (ASN) of the internet provider
23814	Asn *int64 `type:"integer"`
23815
23816	// The name of the organization that registered the ASN.
23817	AsnOrg *string `type:"string"`
23818
23819	// The ISP information for the internet provider.
23820	Isp *string `type:"string"`
23821
23822	// The name of the internet provider.
23823	Org *string `type:"string"`
23824}
23825
23826// String returns the string representation
23827func (s IpOrganizationDetails) String() string {
23828	return awsutil.Prettify(s)
23829}
23830
23831// GoString returns the string representation
23832func (s IpOrganizationDetails) GoString() string {
23833	return s.String()
23834}
23835
23836// SetAsn sets the Asn field's value.
23837func (s *IpOrganizationDetails) SetAsn(v int64) *IpOrganizationDetails {
23838	s.Asn = &v
23839	return s
23840}
23841
23842// SetAsnOrg sets the AsnOrg field's value.
23843func (s *IpOrganizationDetails) SetAsnOrg(v string) *IpOrganizationDetails {
23844	s.AsnOrg = &v
23845	return s
23846}
23847
23848// SetIsp sets the Isp field's value.
23849func (s *IpOrganizationDetails) SetIsp(v string) *IpOrganizationDetails {
23850	s.Isp = &v
23851	return s
23852}
23853
23854// SetOrg sets the Org field's value.
23855func (s *IpOrganizationDetails) SetOrg(v string) *IpOrganizationDetails {
23856	s.Org = &v
23857	return s
23858}
23859
23860// An IPV6 CIDR block association.
23861type Ipv6CidrBlockAssociation struct {
23862	_ struct{} `type:"structure"`
23863
23864	// The association ID for the IPv6 CIDR block.
23865	AssociationId *string `type:"string"`
23866
23867	// Information about the state of the CIDR block.
23868	CidrBlockState *string `type:"string"`
23869
23870	// The IPv6 CIDR block.
23871	Ipv6CidrBlock *string `type:"string"`
23872}
23873
23874// String returns the string representation
23875func (s Ipv6CidrBlockAssociation) String() string {
23876	return awsutil.Prettify(s)
23877}
23878
23879// GoString returns the string representation
23880func (s Ipv6CidrBlockAssociation) GoString() string {
23881	return s.String()
23882}
23883
23884// SetAssociationId sets the AssociationId field's value.
23885func (s *Ipv6CidrBlockAssociation) SetAssociationId(v string) *Ipv6CidrBlockAssociation {
23886	s.AssociationId = &v
23887	return s
23888}
23889
23890// SetCidrBlockState sets the CidrBlockState field's value.
23891func (s *Ipv6CidrBlockAssociation) SetCidrBlockState(v string) *Ipv6CidrBlockAssociation {
23892	s.CidrBlockState = &v
23893	return s
23894}
23895
23896// SetIpv6CidrBlock sets the Ipv6CidrBlock field's value.
23897func (s *Ipv6CidrBlockAssociation) SetIpv6CidrBlock(v string) *Ipv6CidrBlockAssociation {
23898	s.Ipv6CidrBlock = &v
23899	return s
23900}
23901
23902// A keyword filter for querying findings.
23903type KeywordFilter struct {
23904	_ struct{} `type:"structure"`
23905
23906	// A value for the keyword.
23907	Value *string `type:"string"`
23908}
23909
23910// String returns the string representation
23911func (s KeywordFilter) String() string {
23912	return awsutil.Prettify(s)
23913}
23914
23915// GoString returns the string representation
23916func (s KeywordFilter) GoString() string {
23917	return s.String()
23918}
23919
23920// SetValue sets the Value field's value.
23921func (s *KeywordFilter) SetValue(v string) *KeywordFilter {
23922	s.Value = &v
23923	return s
23924}
23925
23926// The request was rejected because it attempted to create resources beyond
23927// the current AWS account or throttling limits. The error code describes the
23928// limit exceeded.
23929type LimitExceededException struct {
23930	_            struct{}                  `type:"structure"`
23931	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
23932
23933	Code_ *string `locationName:"Code" type:"string"`
23934
23935	Message_ *string `locationName:"Message" type:"string"`
23936}
23937
23938// String returns the string representation
23939func (s LimitExceededException) String() string {
23940	return awsutil.Prettify(s)
23941}
23942
23943// GoString returns the string representation
23944func (s LimitExceededException) GoString() string {
23945	return s.String()
23946}
23947
23948func newErrorLimitExceededException(v protocol.ResponseMetadata) error {
23949	return &LimitExceededException{
23950		RespMetadata: v,
23951	}
23952}
23953
23954// Code returns the exception type name.
23955func (s *LimitExceededException) Code() string {
23956	return "LimitExceededException"
23957}
23958
23959// Message returns the exception's message.
23960func (s *LimitExceededException) Message() string {
23961	if s.Message_ != nil {
23962		return *s.Message_
23963	}
23964	return ""
23965}
23966
23967// OrigErr always returns nil, satisfies awserr.Error interface.
23968func (s *LimitExceededException) OrigErr() error {
23969	return nil
23970}
23971
23972func (s *LimitExceededException) Error() string {
23973	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
23974}
23975
23976// Status code returns the HTTP status code for the request's response error.
23977func (s *LimitExceededException) StatusCode() int {
23978	return s.RespMetadata.StatusCode
23979}
23980
23981// RequestID returns the service's response RequestID for request.
23982func (s *LimitExceededException) RequestID() string {
23983	return s.RespMetadata.RequestID
23984}
23985
23986type ListEnabledProductsForImportInput struct {
23987	_ struct{} `type:"structure"`
23988
23989	// The maximum number of items to return in the response.
23990	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
23991
23992	// The token that is required for pagination. On your first call to the ListEnabledProductsForImport
23993	// operation, set the value of this parameter to NULL.
23994	//
23995	// For subsequent calls to the operation, to continue listing data, set the
23996	// value of this parameter to the value returned from the previous response.
23997	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
23998}
23999
24000// String returns the string representation
24001func (s ListEnabledProductsForImportInput) String() string {
24002	return awsutil.Prettify(s)
24003}
24004
24005// GoString returns the string representation
24006func (s ListEnabledProductsForImportInput) GoString() string {
24007	return s.String()
24008}
24009
24010// Validate inspects the fields of the type to determine if they are valid.
24011func (s *ListEnabledProductsForImportInput) Validate() error {
24012	invalidParams := request.ErrInvalidParams{Context: "ListEnabledProductsForImportInput"}
24013	if s.MaxResults != nil && *s.MaxResults < 1 {
24014		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
24015	}
24016
24017	if invalidParams.Len() > 0 {
24018		return invalidParams
24019	}
24020	return nil
24021}
24022
24023// SetMaxResults sets the MaxResults field's value.
24024func (s *ListEnabledProductsForImportInput) SetMaxResults(v int64) *ListEnabledProductsForImportInput {
24025	s.MaxResults = &v
24026	return s
24027}
24028
24029// SetNextToken sets the NextToken field's value.
24030func (s *ListEnabledProductsForImportInput) SetNextToken(v string) *ListEnabledProductsForImportInput {
24031	s.NextToken = &v
24032	return s
24033}
24034
24035type ListEnabledProductsForImportOutput struct {
24036	_ struct{} `type:"structure"`
24037
24038	// The pagination token to use to request the next page of results.
24039	NextToken *string `type:"string"`
24040
24041	// The list of ARNs for the resources that represent your subscriptions to products.
24042	ProductSubscriptions []*string `type:"list"`
24043}
24044
24045// String returns the string representation
24046func (s ListEnabledProductsForImportOutput) String() string {
24047	return awsutil.Prettify(s)
24048}
24049
24050// GoString returns the string representation
24051func (s ListEnabledProductsForImportOutput) GoString() string {
24052	return s.String()
24053}
24054
24055// SetNextToken sets the NextToken field's value.
24056func (s *ListEnabledProductsForImportOutput) SetNextToken(v string) *ListEnabledProductsForImportOutput {
24057	s.NextToken = &v
24058	return s
24059}
24060
24061// SetProductSubscriptions sets the ProductSubscriptions field's value.
24062func (s *ListEnabledProductsForImportOutput) SetProductSubscriptions(v []*string) *ListEnabledProductsForImportOutput {
24063	s.ProductSubscriptions = v
24064	return s
24065}
24066
24067type ListInvitationsInput struct {
24068	_ struct{} `type:"structure"`
24069
24070	// The maximum number of items to return in the response.
24071	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
24072
24073	// The token that is required for pagination. On your first call to the ListInvitations
24074	// operation, set the value of this parameter to NULL.
24075	//
24076	// For subsequent calls to the operation, to continue listing data, set the
24077	// value of this parameter to the value returned from the previous response.
24078	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
24079}
24080
24081// String returns the string representation
24082func (s ListInvitationsInput) String() string {
24083	return awsutil.Prettify(s)
24084}
24085
24086// GoString returns the string representation
24087func (s ListInvitationsInput) GoString() string {
24088	return s.String()
24089}
24090
24091// Validate inspects the fields of the type to determine if they are valid.
24092func (s *ListInvitationsInput) Validate() error {
24093	invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"}
24094	if s.MaxResults != nil && *s.MaxResults < 1 {
24095		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
24096	}
24097
24098	if invalidParams.Len() > 0 {
24099		return invalidParams
24100	}
24101	return nil
24102}
24103
24104// SetMaxResults sets the MaxResults field's value.
24105func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput {
24106	s.MaxResults = &v
24107	return s
24108}
24109
24110// SetNextToken sets the NextToken field's value.
24111func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput {
24112	s.NextToken = &v
24113	return s
24114}
24115
24116type ListInvitationsOutput struct {
24117	_ struct{} `type:"structure"`
24118
24119	// The details of the invitations returned by the operation.
24120	Invitations []*Invitation `type:"list"`
24121
24122	// The pagination token to use to request the next page of results.
24123	NextToken *string `type:"string"`
24124}
24125
24126// String returns the string representation
24127func (s ListInvitationsOutput) String() string {
24128	return awsutil.Prettify(s)
24129}
24130
24131// GoString returns the string representation
24132func (s ListInvitationsOutput) GoString() string {
24133	return s.String()
24134}
24135
24136// SetInvitations sets the Invitations field's value.
24137func (s *ListInvitationsOutput) SetInvitations(v []*Invitation) *ListInvitationsOutput {
24138	s.Invitations = v
24139	return s
24140}
24141
24142// SetNextToken sets the NextToken field's value.
24143func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput {
24144	s.NextToken = &v
24145	return s
24146}
24147
24148type ListMembersInput struct {
24149	_ struct{} `type:"structure"`
24150
24151	// The maximum number of items to return in the response.
24152	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
24153
24154	// The token that is required for pagination. On your first call to the ListMembers
24155	// operation, set the value of this parameter to NULL.
24156	//
24157	// For subsequent calls to the operation, to continue listing data, set the
24158	// value of this parameter to the value returned from the previous response.
24159	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
24160
24161	// Specifies which member accounts to include in the response based on their
24162	// relationship status with the administrator account. The default value is
24163	// TRUE.
24164	//
24165	// If OnlyAssociated is set to TRUE, the response includes member accounts whose
24166	// relationship status with the administrator account is set to ENABLED.
24167	//
24168	// If OnlyAssociated is set to FALSE, the response includes all existing member
24169	// accounts.
24170	OnlyAssociated *bool `location:"querystring" locationName:"OnlyAssociated" type:"boolean"`
24171}
24172
24173// String returns the string representation
24174func (s ListMembersInput) String() string {
24175	return awsutil.Prettify(s)
24176}
24177
24178// GoString returns the string representation
24179func (s ListMembersInput) GoString() string {
24180	return s.String()
24181}
24182
24183// Validate inspects the fields of the type to determine if they are valid.
24184func (s *ListMembersInput) Validate() error {
24185	invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"}
24186	if s.MaxResults != nil && *s.MaxResults < 1 {
24187		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
24188	}
24189
24190	if invalidParams.Len() > 0 {
24191		return invalidParams
24192	}
24193	return nil
24194}
24195
24196// SetMaxResults sets the MaxResults field's value.
24197func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput {
24198	s.MaxResults = &v
24199	return s
24200}
24201
24202// SetNextToken sets the NextToken field's value.
24203func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput {
24204	s.NextToken = &v
24205	return s
24206}
24207
24208// SetOnlyAssociated sets the OnlyAssociated field's value.
24209func (s *ListMembersInput) SetOnlyAssociated(v bool) *ListMembersInput {
24210	s.OnlyAssociated = &v
24211	return s
24212}
24213
24214type ListMembersOutput struct {
24215	_ struct{} `type:"structure"`
24216
24217	// Member details returned by the operation.
24218	Members []*Member `type:"list"`
24219
24220	// The pagination token to use to request the next page of results.
24221	NextToken *string `type:"string"`
24222}
24223
24224// String returns the string representation
24225func (s ListMembersOutput) String() string {
24226	return awsutil.Prettify(s)
24227}
24228
24229// GoString returns the string representation
24230func (s ListMembersOutput) GoString() string {
24231	return s.String()
24232}
24233
24234// SetMembers sets the Members field's value.
24235func (s *ListMembersOutput) SetMembers(v []*Member) *ListMembersOutput {
24236	s.Members = v
24237	return s
24238}
24239
24240// SetNextToken sets the NextToken field's value.
24241func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput {
24242	s.NextToken = &v
24243	return s
24244}
24245
24246type ListOrganizationAdminAccountsInput struct {
24247	_ struct{} `type:"structure"`
24248
24249	// The maximum number of items to return in the response.
24250	MaxResults *int64 `location:"querystring" locationName:"MaxResults" min:"1" type:"integer"`
24251
24252	// The token that is required for pagination. On your first call to the ListOrganizationAdminAccounts
24253	// operation, set the value of this parameter to NULL. For subsequent calls
24254	// to the operation, to continue listing data, set the value of this parameter
24255	// to the value returned from the previous response.
24256	NextToken *string `location:"querystring" locationName:"NextToken" type:"string"`
24257}
24258
24259// String returns the string representation
24260func (s ListOrganizationAdminAccountsInput) String() string {
24261	return awsutil.Prettify(s)
24262}
24263
24264// GoString returns the string representation
24265func (s ListOrganizationAdminAccountsInput) GoString() string {
24266	return s.String()
24267}
24268
24269// Validate inspects the fields of the type to determine if they are valid.
24270func (s *ListOrganizationAdminAccountsInput) Validate() error {
24271	invalidParams := request.ErrInvalidParams{Context: "ListOrganizationAdminAccountsInput"}
24272	if s.MaxResults != nil && *s.MaxResults < 1 {
24273		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
24274	}
24275
24276	if invalidParams.Len() > 0 {
24277		return invalidParams
24278	}
24279	return nil
24280}
24281
24282// SetMaxResults sets the MaxResults field's value.
24283func (s *ListOrganizationAdminAccountsInput) SetMaxResults(v int64) *ListOrganizationAdminAccountsInput {
24284	s.MaxResults = &v
24285	return s
24286}
24287
24288// SetNextToken sets the NextToken field's value.
24289func (s *ListOrganizationAdminAccountsInput) SetNextToken(v string) *ListOrganizationAdminAccountsInput {
24290	s.NextToken = &v
24291	return s
24292}
24293
24294type ListOrganizationAdminAccountsOutput struct {
24295	_ struct{} `type:"structure"`
24296
24297	// The list of Security Hub administrator accounts.
24298	AdminAccounts []*AdminAccount `type:"list"`
24299
24300	// The pagination token to use to request the next page of results.
24301	NextToken *string `type:"string"`
24302}
24303
24304// String returns the string representation
24305func (s ListOrganizationAdminAccountsOutput) String() string {
24306	return awsutil.Prettify(s)
24307}
24308
24309// GoString returns the string representation
24310func (s ListOrganizationAdminAccountsOutput) GoString() string {
24311	return s.String()
24312}
24313
24314// SetAdminAccounts sets the AdminAccounts field's value.
24315func (s *ListOrganizationAdminAccountsOutput) SetAdminAccounts(v []*AdminAccount) *ListOrganizationAdminAccountsOutput {
24316	s.AdminAccounts = v
24317	return s
24318}
24319
24320// SetNextToken sets the NextToken field's value.
24321func (s *ListOrganizationAdminAccountsOutput) SetNextToken(v string) *ListOrganizationAdminAccountsOutput {
24322	s.NextToken = &v
24323	return s
24324}
24325
24326type ListTagsForResourceInput struct {
24327	_ struct{} `type:"structure"`
24328
24329	// The ARN of the resource to retrieve tags for.
24330	//
24331	// ResourceArn is a required field
24332	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
24333}
24334
24335// String returns the string representation
24336func (s ListTagsForResourceInput) String() string {
24337	return awsutil.Prettify(s)
24338}
24339
24340// GoString returns the string representation
24341func (s ListTagsForResourceInput) GoString() string {
24342	return s.String()
24343}
24344
24345// Validate inspects the fields of the type to determine if they are valid.
24346func (s *ListTagsForResourceInput) Validate() error {
24347	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
24348	if s.ResourceArn == nil {
24349		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
24350	}
24351	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
24352		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
24353	}
24354
24355	if invalidParams.Len() > 0 {
24356		return invalidParams
24357	}
24358	return nil
24359}
24360
24361// SetResourceArn sets the ResourceArn field's value.
24362func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
24363	s.ResourceArn = &v
24364	return s
24365}
24366
24367type ListTagsForResourceOutput struct {
24368	_ struct{} `type:"structure"`
24369
24370	// The tags associated with a resource.
24371	Tags map[string]*string `min:"1" type:"map"`
24372}
24373
24374// String returns the string representation
24375func (s ListTagsForResourceOutput) String() string {
24376	return awsutil.Prettify(s)
24377}
24378
24379// GoString returns the string representation
24380func (s ListTagsForResourceOutput) GoString() string {
24381	return s.String()
24382}
24383
24384// SetTags sets the Tags field's value.
24385func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
24386	s.Tags = v
24387	return s
24388}
24389
24390// Information about the state of the load balancer.
24391type LoadBalancerState struct {
24392	_ struct{} `type:"structure"`
24393
24394	// The state code. The initial state of the load balancer is provisioning.
24395	//
24396	// After the load balancer is fully set up and ready to route traffic, its state
24397	// is active.
24398	//
24399	// If the load balancer could not be set up, its state is failed.
24400	Code *string `type:"string"`
24401
24402	// A description of the state.
24403	Reason *string `type:"string"`
24404}
24405
24406// String returns the string representation
24407func (s LoadBalancerState) String() string {
24408	return awsutil.Prettify(s)
24409}
24410
24411// GoString returns the string representation
24412func (s LoadBalancerState) GoString() string {
24413	return s.String()
24414}
24415
24416// SetCode sets the Code field's value.
24417func (s *LoadBalancerState) SetCode(v string) *LoadBalancerState {
24418	s.Code = &v
24419	return s
24420}
24421
24422// SetReason sets the Reason field's value.
24423func (s *LoadBalancerState) SetReason(v string) *LoadBalancerState {
24424	s.Reason = &v
24425	return s
24426}
24427
24428// A list of malware related to a finding.
24429type Malware struct {
24430	_ struct{} `type:"structure"`
24431
24432	// The name of the malware that was observed.
24433	//
24434	// Name is a required field
24435	Name *string `type:"string" required:"true"`
24436
24437	// The file system path of the malware that was observed.
24438	Path *string `type:"string"`
24439
24440	// The state of the malware that was observed.
24441	State *string `type:"string" enum:"MalwareState"`
24442
24443	// The type of the malware that was observed.
24444	Type *string `type:"string" enum:"MalwareType"`
24445}
24446
24447// String returns the string representation
24448func (s Malware) String() string {
24449	return awsutil.Prettify(s)
24450}
24451
24452// GoString returns the string representation
24453func (s Malware) GoString() string {
24454	return s.String()
24455}
24456
24457// Validate inspects the fields of the type to determine if they are valid.
24458func (s *Malware) Validate() error {
24459	invalidParams := request.ErrInvalidParams{Context: "Malware"}
24460	if s.Name == nil {
24461		invalidParams.Add(request.NewErrParamRequired("Name"))
24462	}
24463
24464	if invalidParams.Len() > 0 {
24465		return invalidParams
24466	}
24467	return nil
24468}
24469
24470// SetName sets the Name field's value.
24471func (s *Malware) SetName(v string) *Malware {
24472	s.Name = &v
24473	return s
24474}
24475
24476// SetPath sets the Path field's value.
24477func (s *Malware) SetPath(v string) *Malware {
24478	s.Path = &v
24479	return s
24480}
24481
24482// SetState sets the State field's value.
24483func (s *Malware) SetState(v string) *Malware {
24484	s.State = &v
24485	return s
24486}
24487
24488// SetType sets the Type field's value.
24489func (s *Malware) SetType(v string) *Malware {
24490	s.Type = &v
24491	return s
24492}
24493
24494// A map filter for querying findings. Each map filter provides the field to
24495// check, the value to look for, and the comparison operator.
24496type MapFilter struct {
24497	_ struct{} `type:"structure"`
24498
24499	// The condition to apply to the key value when querying for findings with a
24500	// map filter.
24501	//
24502	// To search for values that exactly match the filter value, use EQUALS. For
24503	// example, for the ResourceTags field, the filter Department EQUALS Security
24504	// matches findings that have the value Security for the tag Department.
24505	//
24506	// To search for values other than the filter value, use NOT_EQUALS. For example,
24507	// for the ResourceTags field, the filter Department NOT_EQUALS Finance matches
24508	// findings that do not have the value Finance for the tag Department.
24509	//
24510	// EQUALS filters on the same field are joined by OR. A finding matches if it
24511	// matches any one of those filters.
24512	//
24513	// NOT_EQUALS filters on the same field are joined by AND. A finding matches
24514	// only if it matches all of those filters.
24515	//
24516	// You cannot have both an EQUALS filter and a NOT_EQUALS filter on the same
24517	// field.
24518	Comparison *string `type:"string" enum:"MapFilterComparison"`
24519
24520	// The key of the map filter. For example, for ResourceTags, Key identifies
24521	// the name of the tag. For UserDefinedFields, Key is the name of the field.
24522	Key *string `type:"string"`
24523
24524	// The value for the key in the map filter. Filter values are case sensitive.
24525	// For example, one of the values for a tag called Department might be Security.
24526	// If you provide security as the filter value, then there is no match.
24527	Value *string `type:"string"`
24528}
24529
24530// String returns the string representation
24531func (s MapFilter) String() string {
24532	return awsutil.Prettify(s)
24533}
24534
24535// GoString returns the string representation
24536func (s MapFilter) GoString() string {
24537	return s.String()
24538}
24539
24540// SetComparison sets the Comparison field's value.
24541func (s *MapFilter) SetComparison(v string) *MapFilter {
24542	s.Comparison = &v
24543	return s
24544}
24545
24546// SetKey sets the Key field's value.
24547func (s *MapFilter) SetKey(v string) *MapFilter {
24548	s.Key = &v
24549	return s
24550}
24551
24552// SetValue sets the Value field's value.
24553func (s *MapFilter) SetValue(v string) *MapFilter {
24554	s.Value = &v
24555	return s
24556}
24557
24558// The details about a member account.
24559type Member struct {
24560	_ struct{} `type:"structure"`
24561
24562	// The AWS account ID of the member account.
24563	AccountId *string `type:"string"`
24564
24565	// The AWS account ID of the Security Hub administrator account associated with
24566	// this member account.
24567	AdministratorId *string `type:"string"`
24568
24569	// The email address of the member account.
24570	Email *string `type:"string"`
24571
24572	// A timestamp for the date and time when the invitation was sent to the member
24573	// account.
24574	InvitedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
24575
24576	// This is replaced by AdministratorID.
24577	//
24578	// The AWS account ID of the Security Hub administrator account associated with
24579	// this member account.
24580	//
24581	// Deprecated: This field is deprecated, use AdministratorId instead.
24582	MasterId *string `deprecated:"true" type:"string"`
24583
24584	// The status of the relationship between the member account and its administrator
24585	// account.
24586	//
24587	// The status can have one of the following values:
24588	//
24589	//    * CREATED - Indicates that the administrator account added the member
24590	//    account, but has not yet invited the member account.
24591	//
24592	//    * INVITED - Indicates that the administrator account invited the member
24593	//    account. The member account has not yet responded to the invitation.
24594	//
24595	//    * ENABLED - Indicates that the member account is currently active. For
24596	//    manually invited member accounts, indicates that the member account accepted
24597	//    the invitation.
24598	//
24599	//    * REMOVED - Indicates that the administrator account disassociated the
24600	//    member account.
24601	//
24602	//    * RESIGNED - Indicates that the member account disassociated themselves
24603	//    from the administrator account.
24604	//
24605	//    * DELETED - Indicates that the administrator account deleted the member
24606	//    account.
24607	MemberStatus *string `type:"string"`
24608
24609	// The timestamp for the date and time when the member account was updated.
24610	UpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
24611}
24612
24613// String returns the string representation
24614func (s Member) String() string {
24615	return awsutil.Prettify(s)
24616}
24617
24618// GoString returns the string representation
24619func (s Member) GoString() string {
24620	return s.String()
24621}
24622
24623// SetAccountId sets the AccountId field's value.
24624func (s *Member) SetAccountId(v string) *Member {
24625	s.AccountId = &v
24626	return s
24627}
24628
24629// SetAdministratorId sets the AdministratorId field's value.
24630func (s *Member) SetAdministratorId(v string) *Member {
24631	s.AdministratorId = &v
24632	return s
24633}
24634
24635// SetEmail sets the Email field's value.
24636func (s *Member) SetEmail(v string) *Member {
24637	s.Email = &v
24638	return s
24639}
24640
24641// SetInvitedAt sets the InvitedAt field's value.
24642func (s *Member) SetInvitedAt(v time.Time) *Member {
24643	s.InvitedAt = &v
24644	return s
24645}
24646
24647// SetMasterId sets the MasterId field's value.
24648func (s *Member) SetMasterId(v string) *Member {
24649	s.MasterId = &v
24650	return s
24651}
24652
24653// SetMemberStatus sets the MemberStatus field's value.
24654func (s *Member) SetMemberStatus(v string) *Member {
24655	s.MemberStatus = &v
24656	return s
24657}
24658
24659// SetUpdatedAt sets the UpdatedAt field's value.
24660func (s *Member) SetUpdatedAt(v time.Time) *Member {
24661	s.UpdatedAt = &v
24662	return s
24663}
24664
24665// The details of network-related information about a finding.
24666type Network struct {
24667	_ struct{} `type:"structure"`
24668
24669	// The destination domain of network-related information about a finding.
24670	DestinationDomain *string `type:"string"`
24671
24672	// The destination IPv4 address of network-related information about a finding.
24673	DestinationIpV4 *string `type:"string"`
24674
24675	// The destination IPv6 address of network-related information about a finding.
24676	DestinationIpV6 *string `type:"string"`
24677
24678	// The destination port of network-related information about a finding.
24679	DestinationPort *int64 `type:"integer"`
24680
24681	// The direction of network traffic associated with a finding.
24682	Direction *string `type:"string" enum:"NetworkDirection"`
24683
24684	// The range of open ports that is present on the network.
24685	OpenPortRange *PortRange `type:"structure"`
24686
24687	// The protocol of network-related information about a finding.
24688	Protocol *string `type:"string"`
24689
24690	// The source domain of network-related information about a finding.
24691	SourceDomain *string `type:"string"`
24692
24693	// The source IPv4 address of network-related information about a finding.
24694	SourceIpV4 *string `type:"string"`
24695
24696	// The source IPv6 address of network-related information about a finding.
24697	SourceIpV6 *string `type:"string"`
24698
24699	// The source media access control (MAC) address of network-related information
24700	// about a finding.
24701	SourceMac *string `type:"string"`
24702
24703	// The source port of network-related information about a finding.
24704	SourcePort *int64 `type:"integer"`
24705}
24706
24707// String returns the string representation
24708func (s Network) String() string {
24709	return awsutil.Prettify(s)
24710}
24711
24712// GoString returns the string representation
24713func (s Network) GoString() string {
24714	return s.String()
24715}
24716
24717// SetDestinationDomain sets the DestinationDomain field's value.
24718func (s *Network) SetDestinationDomain(v string) *Network {
24719	s.DestinationDomain = &v
24720	return s
24721}
24722
24723// SetDestinationIpV4 sets the DestinationIpV4 field's value.
24724func (s *Network) SetDestinationIpV4(v string) *Network {
24725	s.DestinationIpV4 = &v
24726	return s
24727}
24728
24729// SetDestinationIpV6 sets the DestinationIpV6 field's value.
24730func (s *Network) SetDestinationIpV6(v string) *Network {
24731	s.DestinationIpV6 = &v
24732	return s
24733}
24734
24735// SetDestinationPort sets the DestinationPort field's value.
24736func (s *Network) SetDestinationPort(v int64) *Network {
24737	s.DestinationPort = &v
24738	return s
24739}
24740
24741// SetDirection sets the Direction field's value.
24742func (s *Network) SetDirection(v string) *Network {
24743	s.Direction = &v
24744	return s
24745}
24746
24747// SetOpenPortRange sets the OpenPortRange field's value.
24748func (s *Network) SetOpenPortRange(v *PortRange) *Network {
24749	s.OpenPortRange = v
24750	return s
24751}
24752
24753// SetProtocol sets the Protocol field's value.
24754func (s *Network) SetProtocol(v string) *Network {
24755	s.Protocol = &v
24756	return s
24757}
24758
24759// SetSourceDomain sets the SourceDomain field's value.
24760func (s *Network) SetSourceDomain(v string) *Network {
24761	s.SourceDomain = &v
24762	return s
24763}
24764
24765// SetSourceIpV4 sets the SourceIpV4 field's value.
24766func (s *Network) SetSourceIpV4(v string) *Network {
24767	s.SourceIpV4 = &v
24768	return s
24769}
24770
24771// SetSourceIpV6 sets the SourceIpV6 field's value.
24772func (s *Network) SetSourceIpV6(v string) *Network {
24773	s.SourceIpV6 = &v
24774	return s
24775}
24776
24777// SetSourceMac sets the SourceMac field's value.
24778func (s *Network) SetSourceMac(v string) *Network {
24779	s.SourceMac = &v
24780	return s
24781}
24782
24783// SetSourcePort sets the SourcePort field's value.
24784func (s *Network) SetSourcePort(v int64) *Network {
24785	s.SourcePort = &v
24786	return s
24787}
24788
24789// Provided if ActionType is NETWORK_CONNECTION. It provides details about the
24790// attempted network connection that was detected.
24791type NetworkConnectionAction struct {
24792	_ struct{} `type:"structure"`
24793
24794	// Indicates whether the network connection attempt was blocked.
24795	Blocked *bool `type:"boolean"`
24796
24797	// The direction of the network connection request (IN or OUT).
24798	ConnectionDirection *string `type:"string"`
24799
24800	// Information about the port on the EC2 instance.
24801	LocalPortDetails *ActionLocalPortDetails `type:"structure"`
24802
24803	// The protocol used to make the network connection request.
24804	Protocol *string `type:"string"`
24805
24806	// Information about the remote IP address that issued the network connection
24807	// request.
24808	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
24809
24810	// Information about the port on the remote IP address.
24811	RemotePortDetails *ActionRemotePortDetails `type:"structure"`
24812}
24813
24814// String returns the string representation
24815func (s NetworkConnectionAction) String() string {
24816	return awsutil.Prettify(s)
24817}
24818
24819// GoString returns the string representation
24820func (s NetworkConnectionAction) GoString() string {
24821	return s.String()
24822}
24823
24824// SetBlocked sets the Blocked field's value.
24825func (s *NetworkConnectionAction) SetBlocked(v bool) *NetworkConnectionAction {
24826	s.Blocked = &v
24827	return s
24828}
24829
24830// SetConnectionDirection sets the ConnectionDirection field's value.
24831func (s *NetworkConnectionAction) SetConnectionDirection(v string) *NetworkConnectionAction {
24832	s.ConnectionDirection = &v
24833	return s
24834}
24835
24836// SetLocalPortDetails sets the LocalPortDetails field's value.
24837func (s *NetworkConnectionAction) SetLocalPortDetails(v *ActionLocalPortDetails) *NetworkConnectionAction {
24838	s.LocalPortDetails = v
24839	return s
24840}
24841
24842// SetProtocol sets the Protocol field's value.
24843func (s *NetworkConnectionAction) SetProtocol(v string) *NetworkConnectionAction {
24844	s.Protocol = &v
24845	return s
24846}
24847
24848// SetRemoteIpDetails sets the RemoteIpDetails field's value.
24849func (s *NetworkConnectionAction) SetRemoteIpDetails(v *ActionRemoteIpDetails) *NetworkConnectionAction {
24850	s.RemoteIpDetails = v
24851	return s
24852}
24853
24854// SetRemotePortDetails sets the RemotePortDetails field's value.
24855func (s *NetworkConnectionAction) SetRemotePortDetails(v *ActionRemotePortDetails) *NetworkConnectionAction {
24856	s.RemotePortDetails = v
24857	return s
24858}
24859
24860// Details about a network path component that occurs before or after the current
24861// component.
24862type NetworkHeader struct {
24863	_ struct{} `type:"structure"`
24864
24865	// Information about the destination of the component.
24866	Destination *NetworkPathComponentDetails `type:"structure"`
24867
24868	// The protocol used for the component.
24869	Protocol *string `type:"string"`
24870
24871	// Information about the origin of the component.
24872	Source *NetworkPathComponentDetails `type:"structure"`
24873}
24874
24875// String returns the string representation
24876func (s NetworkHeader) String() string {
24877	return awsutil.Prettify(s)
24878}
24879
24880// GoString returns the string representation
24881func (s NetworkHeader) GoString() string {
24882	return s.String()
24883}
24884
24885// SetDestination sets the Destination field's value.
24886func (s *NetworkHeader) SetDestination(v *NetworkPathComponentDetails) *NetworkHeader {
24887	s.Destination = v
24888	return s
24889}
24890
24891// SetProtocol sets the Protocol field's value.
24892func (s *NetworkHeader) SetProtocol(v string) *NetworkHeader {
24893	s.Protocol = &v
24894	return s
24895}
24896
24897// SetSource sets the Source field's value.
24898func (s *NetworkHeader) SetSource(v *NetworkPathComponentDetails) *NetworkHeader {
24899	s.Source = v
24900	return s
24901}
24902
24903// Information about a network path component.
24904type NetworkPathComponent struct {
24905	_ struct{} `type:"structure"`
24906
24907	// The identifier of a component in the network path.
24908	ComponentId *string `type:"string"`
24909
24910	// The type of component.
24911	ComponentType *string `type:"string"`
24912
24913	// Information about the component that comes after the current component in
24914	// the network path.
24915	Egress *NetworkHeader `type:"structure"`
24916
24917	// Information about the component that comes before the current node in the
24918	// network path.
24919	Ingress *NetworkHeader `type:"structure"`
24920}
24921
24922// String returns the string representation
24923func (s NetworkPathComponent) String() string {
24924	return awsutil.Prettify(s)
24925}
24926
24927// GoString returns the string representation
24928func (s NetworkPathComponent) GoString() string {
24929	return s.String()
24930}
24931
24932// SetComponentId sets the ComponentId field's value.
24933func (s *NetworkPathComponent) SetComponentId(v string) *NetworkPathComponent {
24934	s.ComponentId = &v
24935	return s
24936}
24937
24938// SetComponentType sets the ComponentType field's value.
24939func (s *NetworkPathComponent) SetComponentType(v string) *NetworkPathComponent {
24940	s.ComponentType = &v
24941	return s
24942}
24943
24944// SetEgress sets the Egress field's value.
24945func (s *NetworkPathComponent) SetEgress(v *NetworkHeader) *NetworkPathComponent {
24946	s.Egress = v
24947	return s
24948}
24949
24950// SetIngress sets the Ingress field's value.
24951func (s *NetworkPathComponent) SetIngress(v *NetworkHeader) *NetworkPathComponent {
24952	s.Ingress = v
24953	return s
24954}
24955
24956// Information about the destination of the next component in the network path.
24957type NetworkPathComponentDetails struct {
24958	_ struct{} `type:"structure"`
24959
24960	// The IP addresses of the destination.
24961	Address []*string `type:"list"`
24962
24963	// A list of port ranges for the destination.
24964	PortRanges []*PortRange `type:"list"`
24965}
24966
24967// String returns the string representation
24968func (s NetworkPathComponentDetails) String() string {
24969	return awsutil.Prettify(s)
24970}
24971
24972// GoString returns the string representation
24973func (s NetworkPathComponentDetails) GoString() string {
24974	return s.String()
24975}
24976
24977// SetAddress sets the Address field's value.
24978func (s *NetworkPathComponentDetails) SetAddress(v []*string) *NetworkPathComponentDetails {
24979	s.Address = v
24980	return s
24981}
24982
24983// SetPortRanges sets the PortRanges field's value.
24984func (s *NetworkPathComponentDetails) SetPortRanges(v []*PortRange) *NetworkPathComponentDetails {
24985	s.PortRanges = v
24986	return s
24987}
24988
24989// A user-defined note added to a finding.
24990type Note struct {
24991	_ struct{} `type:"structure"`
24992
24993	// The text of a note.
24994	//
24995	// Text is a required field
24996	Text *string `type:"string" required:"true"`
24997
24998	// The timestamp of when the note was updated.
24999	//
25000	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
25001	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
25002	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
25003	//
25004	// UpdatedAt is a required field
25005	UpdatedAt *string `type:"string" required:"true"`
25006
25007	// The principal that created a note.
25008	//
25009	// UpdatedBy is a required field
25010	UpdatedBy *string `type:"string" required:"true"`
25011}
25012
25013// String returns the string representation
25014func (s Note) String() string {
25015	return awsutil.Prettify(s)
25016}
25017
25018// GoString returns the string representation
25019func (s Note) GoString() string {
25020	return s.String()
25021}
25022
25023// Validate inspects the fields of the type to determine if they are valid.
25024func (s *Note) Validate() error {
25025	invalidParams := request.ErrInvalidParams{Context: "Note"}
25026	if s.Text == nil {
25027		invalidParams.Add(request.NewErrParamRequired("Text"))
25028	}
25029	if s.UpdatedAt == nil {
25030		invalidParams.Add(request.NewErrParamRequired("UpdatedAt"))
25031	}
25032	if s.UpdatedBy == nil {
25033		invalidParams.Add(request.NewErrParamRequired("UpdatedBy"))
25034	}
25035
25036	if invalidParams.Len() > 0 {
25037		return invalidParams
25038	}
25039	return nil
25040}
25041
25042// SetText sets the Text field's value.
25043func (s *Note) SetText(v string) *Note {
25044	s.Text = &v
25045	return s
25046}
25047
25048// SetUpdatedAt sets the UpdatedAt field's value.
25049func (s *Note) SetUpdatedAt(v string) *Note {
25050	s.UpdatedAt = &v
25051	return s
25052}
25053
25054// SetUpdatedBy sets the UpdatedBy field's value.
25055func (s *Note) SetUpdatedBy(v string) *Note {
25056	s.UpdatedBy = &v
25057	return s
25058}
25059
25060// The updated note.
25061type NoteUpdate struct {
25062	_ struct{} `type:"structure"`
25063
25064	// The updated note text.
25065	//
25066	// Text is a required field
25067	Text *string `type:"string" required:"true"`
25068
25069	// The principal that updated the note.
25070	//
25071	// UpdatedBy is a required field
25072	UpdatedBy *string `type:"string" required:"true"`
25073}
25074
25075// String returns the string representation
25076func (s NoteUpdate) String() string {
25077	return awsutil.Prettify(s)
25078}
25079
25080// GoString returns the string representation
25081func (s NoteUpdate) GoString() string {
25082	return s.String()
25083}
25084
25085// Validate inspects the fields of the type to determine if they are valid.
25086func (s *NoteUpdate) Validate() error {
25087	invalidParams := request.ErrInvalidParams{Context: "NoteUpdate"}
25088	if s.Text == nil {
25089		invalidParams.Add(request.NewErrParamRequired("Text"))
25090	}
25091	if s.UpdatedBy == nil {
25092		invalidParams.Add(request.NewErrParamRequired("UpdatedBy"))
25093	}
25094
25095	if invalidParams.Len() > 0 {
25096		return invalidParams
25097	}
25098	return nil
25099}
25100
25101// SetText sets the Text field's value.
25102func (s *NoteUpdate) SetText(v string) *NoteUpdate {
25103	s.Text = &v
25104	return s
25105}
25106
25107// SetUpdatedBy sets the UpdatedBy field's value.
25108func (s *NoteUpdate) SetUpdatedBy(v string) *NoteUpdate {
25109	s.UpdatedBy = &v
25110	return s
25111}
25112
25113// A number filter for querying findings.
25114type NumberFilter struct {
25115	_ struct{} `type:"structure"`
25116
25117	// The equal-to condition to be applied to a single field when querying for
25118	// findings.
25119	Eq *float64 `type:"double"`
25120
25121	// The greater-than-equal condition to be applied to a single field when querying
25122	// for findings.
25123	Gte *float64 `type:"double"`
25124
25125	// The less-than-equal condition to be applied to a single field when querying
25126	// for findings.
25127	Lte *float64 `type:"double"`
25128}
25129
25130// String returns the string representation
25131func (s NumberFilter) String() string {
25132	return awsutil.Prettify(s)
25133}
25134
25135// GoString returns the string representation
25136func (s NumberFilter) GoString() string {
25137	return s.String()
25138}
25139
25140// SetEq sets the Eq field's value.
25141func (s *NumberFilter) SetEq(v float64) *NumberFilter {
25142	s.Eq = &v
25143	return s
25144}
25145
25146// SetGte sets the Gte field's value.
25147func (s *NumberFilter) SetGte(v float64) *NumberFilter {
25148	s.Gte = &v
25149	return s
25150}
25151
25152// SetLte sets the Lte field's value.
25153func (s *NumberFilter) SetLte(v float64) *NumberFilter {
25154	s.Lte = &v
25155	return s
25156}
25157
25158// The detected occurrences of sensitive data.
25159type Occurrences struct {
25160	_ struct{} `type:"structure"`
25161
25162	// Occurrences of sensitive data detected in Microsoft Excel workbooks, comma-separated
25163	// value (CSV) files, or tab-separated value (TSV) files.
25164	Cells []*Cell `type:"list"`
25165
25166	// Occurrences of sensitive data detected in a non-binary text file or a Microsoft
25167	// Word file. Non-binary text files include files such as HTML, XML, JSON, and
25168	// TXT files.
25169	LineRanges []*Range `type:"list"`
25170
25171	// Occurrences of sensitive data detected in a binary text file.
25172	OffsetRanges []*Range `type:"list"`
25173
25174	// Occurrences of sensitive data in an Adobe Portable Document Format (PDF)
25175	// file.
25176	Pages []*Page `type:"list"`
25177
25178	// Occurrences of sensitive data in an Apache Avro object container or an Apache
25179	// Parquet file.
25180	Records []*Record `type:"list"`
25181}
25182
25183// String returns the string representation
25184func (s Occurrences) String() string {
25185	return awsutil.Prettify(s)
25186}
25187
25188// GoString returns the string representation
25189func (s Occurrences) GoString() string {
25190	return s.String()
25191}
25192
25193// SetCells sets the Cells field's value.
25194func (s *Occurrences) SetCells(v []*Cell) *Occurrences {
25195	s.Cells = v
25196	return s
25197}
25198
25199// SetLineRanges sets the LineRanges field's value.
25200func (s *Occurrences) SetLineRanges(v []*Range) *Occurrences {
25201	s.LineRanges = v
25202	return s
25203}
25204
25205// SetOffsetRanges sets the OffsetRanges field's value.
25206func (s *Occurrences) SetOffsetRanges(v []*Range) *Occurrences {
25207	s.OffsetRanges = v
25208	return s
25209}
25210
25211// SetPages sets the Pages field's value.
25212func (s *Occurrences) SetPages(v []*Page) *Occurrences {
25213	s.Pages = v
25214	return s
25215}
25216
25217// SetRecords sets the Records field's value.
25218func (s *Occurrences) SetRecords(v []*Record) *Occurrences {
25219	s.Records = v
25220	return s
25221}
25222
25223// An occurrence of sensitive data in an Adobe Portable Document Format (PDF)
25224// file.
25225type Page struct {
25226	_ struct{} `type:"structure"`
25227
25228	// An occurrence of sensitive data detected in a non-binary text file or a Microsoft
25229	// Word file. Non-binary text files include files such as HTML, XML, JSON, and
25230	// TXT files.
25231	LineRange *Range `type:"structure"`
25232
25233	// An occurrence of sensitive data detected in a binary text file.
25234	OffsetRange *Range `type:"structure"`
25235
25236	// The page number of the page that contains the sensitive data.
25237	PageNumber *int64 `type:"long"`
25238}
25239
25240// String returns the string representation
25241func (s Page) String() string {
25242	return awsutil.Prettify(s)
25243}
25244
25245// GoString returns the string representation
25246func (s Page) GoString() string {
25247	return s.String()
25248}
25249
25250// SetLineRange sets the LineRange field's value.
25251func (s *Page) SetLineRange(v *Range) *Page {
25252	s.LineRange = v
25253	return s
25254}
25255
25256// SetOffsetRange sets the OffsetRange field's value.
25257func (s *Page) SetOffsetRange(v *Range) *Page {
25258	s.OffsetRange = v
25259	return s
25260}
25261
25262// SetPageNumber sets the PageNumber field's value.
25263func (s *Page) SetPageNumber(v int64) *Page {
25264	s.PageNumber = &v
25265	return s
25266}
25267
25268// Provides an overview of the patch compliance status for an instance against
25269// a selected compliance standard.
25270type PatchSummary struct {
25271	_ struct{} `type:"structure"`
25272
25273	// The number of patches from the compliance standard that failed to install.
25274	FailedCount *int64 `type:"integer"`
25275
25276	// The identifier of the compliance standard that was used to determine the
25277	// patch compliance status.
25278	//
25279	// Id is a required field
25280	Id *string `type:"string" required:"true"`
25281
25282	// The number of patches from the compliance standard that were installed successfully.
25283	InstalledCount *int64 `type:"integer"`
25284
25285	// The number of installed patches that are not part of the compliance standard.
25286	InstalledOtherCount *int64 `type:"integer"`
25287
25288	// The number of patches that were applied, but that require the instance to
25289	// be rebooted in order to be marked as installed.
25290	InstalledPendingReboot *int64 `type:"integer"`
25291
25292	// The number of patches that are installed but are also on a list of patches
25293	// that the customer rejected.
25294	InstalledRejectedCount *int64 `type:"integer"`
25295
25296	// The number of patches that are part of the compliance standard but are not
25297	// installed. The count includes patches that failed to install.
25298	MissingCount *int64 `type:"integer"`
25299
25300	// The type of patch operation performed. For Patch Manager, the values are
25301	// SCAN and INSTALL.
25302	Operation *string `type:"string"`
25303
25304	// Indicates when the operation completed.
25305	//
25306	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
25307	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
25308	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
25309	OperationEndTime *string `type:"string"`
25310
25311	// Indicates when the operation started.
25312	//
25313	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
25314	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
25315	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
25316	OperationStartTime *string `type:"string"`
25317
25318	// The reboot option specified for the instance.
25319	RebootOption *string `type:"string"`
25320}
25321
25322// String returns the string representation
25323func (s PatchSummary) String() string {
25324	return awsutil.Prettify(s)
25325}
25326
25327// GoString returns the string representation
25328func (s PatchSummary) GoString() string {
25329	return s.String()
25330}
25331
25332// Validate inspects the fields of the type to determine if they are valid.
25333func (s *PatchSummary) Validate() error {
25334	invalidParams := request.ErrInvalidParams{Context: "PatchSummary"}
25335	if s.Id == nil {
25336		invalidParams.Add(request.NewErrParamRequired("Id"))
25337	}
25338
25339	if invalidParams.Len() > 0 {
25340		return invalidParams
25341	}
25342	return nil
25343}
25344
25345// SetFailedCount sets the FailedCount field's value.
25346func (s *PatchSummary) SetFailedCount(v int64) *PatchSummary {
25347	s.FailedCount = &v
25348	return s
25349}
25350
25351// SetId sets the Id field's value.
25352func (s *PatchSummary) SetId(v string) *PatchSummary {
25353	s.Id = &v
25354	return s
25355}
25356
25357// SetInstalledCount sets the InstalledCount field's value.
25358func (s *PatchSummary) SetInstalledCount(v int64) *PatchSummary {
25359	s.InstalledCount = &v
25360	return s
25361}
25362
25363// SetInstalledOtherCount sets the InstalledOtherCount field's value.
25364func (s *PatchSummary) SetInstalledOtherCount(v int64) *PatchSummary {
25365	s.InstalledOtherCount = &v
25366	return s
25367}
25368
25369// SetInstalledPendingReboot sets the InstalledPendingReboot field's value.
25370func (s *PatchSummary) SetInstalledPendingReboot(v int64) *PatchSummary {
25371	s.InstalledPendingReboot = &v
25372	return s
25373}
25374
25375// SetInstalledRejectedCount sets the InstalledRejectedCount field's value.
25376func (s *PatchSummary) SetInstalledRejectedCount(v int64) *PatchSummary {
25377	s.InstalledRejectedCount = &v
25378	return s
25379}
25380
25381// SetMissingCount sets the MissingCount field's value.
25382func (s *PatchSummary) SetMissingCount(v int64) *PatchSummary {
25383	s.MissingCount = &v
25384	return s
25385}
25386
25387// SetOperation sets the Operation field's value.
25388func (s *PatchSummary) SetOperation(v string) *PatchSummary {
25389	s.Operation = &v
25390	return s
25391}
25392
25393// SetOperationEndTime sets the OperationEndTime field's value.
25394func (s *PatchSummary) SetOperationEndTime(v string) *PatchSummary {
25395	s.OperationEndTime = &v
25396	return s
25397}
25398
25399// SetOperationStartTime sets the OperationStartTime field's value.
25400func (s *PatchSummary) SetOperationStartTime(v string) *PatchSummary {
25401	s.OperationStartTime = &v
25402	return s
25403}
25404
25405// SetRebootOption sets the RebootOption field's value.
25406func (s *PatchSummary) SetRebootOption(v string) *PatchSummary {
25407	s.RebootOption = &v
25408	return s
25409}
25410
25411// Provided if ActionType is PORT_PROBE. It provides details about the attempted
25412// port probe that was detected.
25413type PortProbeAction struct {
25414	_ struct{} `type:"structure"`
25415
25416	// Indicates whether the port probe was blocked.
25417	Blocked *bool `type:"boolean"`
25418
25419	// Information about the ports affected by the port probe.
25420	PortProbeDetails []*PortProbeDetail `type:"list"`
25421}
25422
25423// String returns the string representation
25424func (s PortProbeAction) String() string {
25425	return awsutil.Prettify(s)
25426}
25427
25428// GoString returns the string representation
25429func (s PortProbeAction) GoString() string {
25430	return s.String()
25431}
25432
25433// SetBlocked sets the Blocked field's value.
25434func (s *PortProbeAction) SetBlocked(v bool) *PortProbeAction {
25435	s.Blocked = &v
25436	return s
25437}
25438
25439// SetPortProbeDetails sets the PortProbeDetails field's value.
25440func (s *PortProbeAction) SetPortProbeDetails(v []*PortProbeDetail) *PortProbeAction {
25441	s.PortProbeDetails = v
25442	return s
25443}
25444
25445// A port scan that was part of the port probe. For each scan, PortProbeDetails
25446// provides information about the local IP address and port that were scanned,
25447// and the remote IP address that the scan originated from.
25448type PortProbeDetail struct {
25449	_ struct{} `type:"structure"`
25450
25451	// Provides information about the IP address where the scanned port is located.
25452	LocalIpDetails *ActionLocalIpDetails `type:"structure"`
25453
25454	// Provides information about the port that was scanned.
25455	LocalPortDetails *ActionLocalPortDetails `type:"structure"`
25456
25457	// Provides information about the remote IP address that performed the scan.
25458	RemoteIpDetails *ActionRemoteIpDetails `type:"structure"`
25459}
25460
25461// String returns the string representation
25462func (s PortProbeDetail) String() string {
25463	return awsutil.Prettify(s)
25464}
25465
25466// GoString returns the string representation
25467func (s PortProbeDetail) GoString() string {
25468	return s.String()
25469}
25470
25471// SetLocalIpDetails sets the LocalIpDetails field's value.
25472func (s *PortProbeDetail) SetLocalIpDetails(v *ActionLocalIpDetails) *PortProbeDetail {
25473	s.LocalIpDetails = v
25474	return s
25475}
25476
25477// SetLocalPortDetails sets the LocalPortDetails field's value.
25478func (s *PortProbeDetail) SetLocalPortDetails(v *ActionLocalPortDetails) *PortProbeDetail {
25479	s.LocalPortDetails = v
25480	return s
25481}
25482
25483// SetRemoteIpDetails sets the RemoteIpDetails field's value.
25484func (s *PortProbeDetail) SetRemoteIpDetails(v *ActionRemoteIpDetails) *PortProbeDetail {
25485	s.RemoteIpDetails = v
25486	return s
25487}
25488
25489// A range of ports.
25490type PortRange struct {
25491	_ struct{} `type:"structure"`
25492
25493	// The first port in the port range.
25494	Begin *int64 `type:"integer"`
25495
25496	// The last port in the port range.
25497	End *int64 `type:"integer"`
25498}
25499
25500// String returns the string representation
25501func (s PortRange) String() string {
25502	return awsutil.Prettify(s)
25503}
25504
25505// GoString returns the string representation
25506func (s PortRange) GoString() string {
25507	return s.String()
25508}
25509
25510// SetBegin sets the Begin field's value.
25511func (s *PortRange) SetBegin(v int64) *PortRange {
25512	s.Begin = &v
25513	return s
25514}
25515
25516// SetEnd sets the End field's value.
25517func (s *PortRange) SetEnd(v int64) *PortRange {
25518	s.End = &v
25519	return s
25520}
25521
25522// A range of ports.
25523type PortRangeFromTo struct {
25524	_ struct{} `type:"structure"`
25525
25526	// The first port in the port range.
25527	From *int64 `type:"integer"`
25528
25529	// The last port in the port range.
25530	To *int64 `type:"integer"`
25531}
25532
25533// String returns the string representation
25534func (s PortRangeFromTo) String() string {
25535	return awsutil.Prettify(s)
25536}
25537
25538// GoString returns the string representation
25539func (s PortRangeFromTo) GoString() string {
25540	return s.String()
25541}
25542
25543// SetFrom sets the From field's value.
25544func (s *PortRangeFromTo) SetFrom(v int64) *PortRangeFromTo {
25545	s.From = &v
25546	return s
25547}
25548
25549// SetTo sets the To field's value.
25550func (s *PortRangeFromTo) SetTo(v int64) *PortRangeFromTo {
25551	s.To = &v
25552	return s
25553}
25554
25555// The details of process-related information about a finding.
25556type ProcessDetails struct {
25557	_ struct{} `type:"structure"`
25558
25559	// Indicates when the process was launched.
25560	//
25561	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
25562	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
25563	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
25564	LaunchedAt *string `type:"string"`
25565
25566	// The name of the process.
25567	Name *string `type:"string"`
25568
25569	// The parent process ID.
25570	ParentPid *int64 `type:"integer"`
25571
25572	// The path to the process executable.
25573	Path *string `type:"string"`
25574
25575	// The process ID.
25576	Pid *int64 `type:"integer"`
25577
25578	// Indicates when the process was terminated.
25579	//
25580	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
25581	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
25582	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
25583	TerminatedAt *string `type:"string"`
25584}
25585
25586// String returns the string representation
25587func (s ProcessDetails) String() string {
25588	return awsutil.Prettify(s)
25589}
25590
25591// GoString returns the string representation
25592func (s ProcessDetails) GoString() string {
25593	return s.String()
25594}
25595
25596// SetLaunchedAt sets the LaunchedAt field's value.
25597func (s *ProcessDetails) SetLaunchedAt(v string) *ProcessDetails {
25598	s.LaunchedAt = &v
25599	return s
25600}
25601
25602// SetName sets the Name field's value.
25603func (s *ProcessDetails) SetName(v string) *ProcessDetails {
25604	s.Name = &v
25605	return s
25606}
25607
25608// SetParentPid sets the ParentPid field's value.
25609func (s *ProcessDetails) SetParentPid(v int64) *ProcessDetails {
25610	s.ParentPid = &v
25611	return s
25612}
25613
25614// SetPath sets the Path field's value.
25615func (s *ProcessDetails) SetPath(v string) *ProcessDetails {
25616	s.Path = &v
25617	return s
25618}
25619
25620// SetPid sets the Pid field's value.
25621func (s *ProcessDetails) SetPid(v int64) *ProcessDetails {
25622	s.Pid = &v
25623	return s
25624}
25625
25626// SetTerminatedAt sets the TerminatedAt field's value.
25627func (s *ProcessDetails) SetTerminatedAt(v string) *ProcessDetails {
25628	s.TerminatedAt = &v
25629	return s
25630}
25631
25632// Contains details about a product.
25633type Product struct {
25634	_ struct{} `type:"structure"`
25635
25636	// The URL to the service or product documentation about the integration with
25637	// Security Hub, including how to activate the integration.
25638	ActivationUrl *string `type:"string"`
25639
25640	// The categories assigned to the product.
25641	Categories []*string `type:"list"`
25642
25643	// The name of the company that provides the product.
25644	CompanyName *string `type:"string"`
25645
25646	// A description of the product.
25647	Description *string `type:"string"`
25648
25649	// The types of integration that the product supports. Available values are
25650	// the following.
25651	//
25652	//    * SEND_FINDINGS_TO_SECURITY_HUB - The integration sends findings to Security
25653	//    Hub.
25654	//
25655	//    * RECEIVE_FINDINGS_FROM_SECURITY_HUB - The integration receives findings
25656	//    from Security Hub.
25657	//
25658	//    * UPDATE_FINDINGS_IN_SECURITY_HUB - The integration does not send new
25659	//    findings to Security Hub, but does make updates to the findings that it
25660	//    receives from Security Hub.
25661	IntegrationTypes []*string `type:"list"`
25662
25663	// For integrations with AWS services, the AWS Console URL from which to activate
25664	// the service.
25665	//
25666	// For integrations with third-party products, the AWS Marketplace URL from
25667	// which to subscribe to or purchase the product.
25668	MarketplaceUrl *string `type:"string"`
25669
25670	// The ARN assigned to the product.
25671	//
25672	// ProductArn is a required field
25673	ProductArn *string `type:"string" required:"true"`
25674
25675	// The name of the product.
25676	ProductName *string `type:"string"`
25677
25678	// The resource policy associated with the product.
25679	ProductSubscriptionResourcePolicy *string `type:"string"`
25680}
25681
25682// String returns the string representation
25683func (s Product) String() string {
25684	return awsutil.Prettify(s)
25685}
25686
25687// GoString returns the string representation
25688func (s Product) GoString() string {
25689	return s.String()
25690}
25691
25692// SetActivationUrl sets the ActivationUrl field's value.
25693func (s *Product) SetActivationUrl(v string) *Product {
25694	s.ActivationUrl = &v
25695	return s
25696}
25697
25698// SetCategories sets the Categories field's value.
25699func (s *Product) SetCategories(v []*string) *Product {
25700	s.Categories = v
25701	return s
25702}
25703
25704// SetCompanyName sets the CompanyName field's value.
25705func (s *Product) SetCompanyName(v string) *Product {
25706	s.CompanyName = &v
25707	return s
25708}
25709
25710// SetDescription sets the Description field's value.
25711func (s *Product) SetDescription(v string) *Product {
25712	s.Description = &v
25713	return s
25714}
25715
25716// SetIntegrationTypes sets the IntegrationTypes field's value.
25717func (s *Product) SetIntegrationTypes(v []*string) *Product {
25718	s.IntegrationTypes = v
25719	return s
25720}
25721
25722// SetMarketplaceUrl sets the MarketplaceUrl field's value.
25723func (s *Product) SetMarketplaceUrl(v string) *Product {
25724	s.MarketplaceUrl = &v
25725	return s
25726}
25727
25728// SetProductArn sets the ProductArn field's value.
25729func (s *Product) SetProductArn(v string) *Product {
25730	s.ProductArn = &v
25731	return s
25732}
25733
25734// SetProductName sets the ProductName field's value.
25735func (s *Product) SetProductName(v string) *Product {
25736	s.ProductName = &v
25737	return s
25738}
25739
25740// SetProductSubscriptionResourcePolicy sets the ProductSubscriptionResourcePolicy field's value.
25741func (s *Product) SetProductSubscriptionResourcePolicy(v string) *Product {
25742	s.ProductSubscriptionResourcePolicy = &v
25743	return s
25744}
25745
25746// Identifies where the sensitive data begins and ends.
25747type Range struct {
25748	_ struct{} `type:"structure"`
25749
25750	// The number of lines (for a line range) or characters (for an offset range)
25751	// from the beginning of the file to the end of the sensitive data.
25752	End *int64 `type:"long"`
25753
25754	// The number of lines (for a line range) or characters (for an offset range)
25755	// from the beginning of the file to the end of the sensitive data.
25756	Start *int64 `type:"long"`
25757
25758	// In the line where the sensitive data starts, the column within the line where
25759	// the sensitive data starts.
25760	StartColumn *int64 `type:"long"`
25761}
25762
25763// String returns the string representation
25764func (s Range) String() string {
25765	return awsutil.Prettify(s)
25766}
25767
25768// GoString returns the string representation
25769func (s Range) GoString() string {
25770	return s.String()
25771}
25772
25773// SetEnd sets the End field's value.
25774func (s *Range) SetEnd(v int64) *Range {
25775	s.End = &v
25776	return s
25777}
25778
25779// SetStart sets the Start field's value.
25780func (s *Range) SetStart(v int64) *Range {
25781	s.Start = &v
25782	return s
25783}
25784
25785// SetStartColumn sets the StartColumn field's value.
25786func (s *Range) SetStartColumn(v int64) *Range {
25787	s.StartColumn = &v
25788	return s
25789}
25790
25791// A recommendation on how to remediate the issue identified in a finding.
25792type Recommendation struct {
25793	_ struct{} `type:"structure"`
25794
25795	// Describes the recommended steps to take to remediate an issue identified
25796	// in a finding.
25797	Text *string `type:"string"`
25798
25799	// A URL to a page or site that contains information about how to remediate
25800	// a finding.
25801	Url *string `type:"string"`
25802}
25803
25804// String returns the string representation
25805func (s Recommendation) String() string {
25806	return awsutil.Prettify(s)
25807}
25808
25809// GoString returns the string representation
25810func (s Recommendation) GoString() string {
25811	return s.String()
25812}
25813
25814// SetText sets the Text field's value.
25815func (s *Recommendation) SetText(v string) *Recommendation {
25816	s.Text = &v
25817	return s
25818}
25819
25820// SetUrl sets the Url field's value.
25821func (s *Recommendation) SetUrl(v string) *Recommendation {
25822	s.Url = &v
25823	return s
25824}
25825
25826// An occurrence of sensitive data in an Apache Avro object container or an
25827// Apache Parquet file.
25828type Record struct {
25829	_ struct{} `type:"structure"`
25830
25831	// The path, as a JSONPath expression, to the field in the record that contains
25832	// the data. If the field name is longer than 20 characters, it is truncated.
25833	// If the path is longer than 250 characters, it is truncated.
25834	JsonPath *string `type:"string"`
25835
25836	// The record index, starting from 0, for the record that contains the data.
25837	RecordIndex *int64 `type:"long"`
25838}
25839
25840// String returns the string representation
25841func (s Record) String() string {
25842	return awsutil.Prettify(s)
25843}
25844
25845// GoString returns the string representation
25846func (s Record) GoString() string {
25847	return s.String()
25848}
25849
25850// SetJsonPath sets the JsonPath field's value.
25851func (s *Record) SetJsonPath(v string) *Record {
25852	s.JsonPath = &v
25853	return s
25854}
25855
25856// SetRecordIndex sets the RecordIndex field's value.
25857func (s *Record) SetRecordIndex(v int64) *Record {
25858	s.RecordIndex = &v
25859	return s
25860}
25861
25862// Details about a related finding.
25863type RelatedFinding struct {
25864	_ struct{} `type:"structure"`
25865
25866	// The product-generated identifier for a related finding.
25867	//
25868	// Id is a required field
25869	Id *string `type:"string" required:"true"`
25870
25871	// The ARN of the product that generated a related finding.
25872	//
25873	// ProductArn is a required field
25874	ProductArn *string `type:"string" required:"true"`
25875}
25876
25877// String returns the string representation
25878func (s RelatedFinding) String() string {
25879	return awsutil.Prettify(s)
25880}
25881
25882// GoString returns the string representation
25883func (s RelatedFinding) GoString() string {
25884	return s.String()
25885}
25886
25887// Validate inspects the fields of the type to determine if they are valid.
25888func (s *RelatedFinding) Validate() error {
25889	invalidParams := request.ErrInvalidParams{Context: "RelatedFinding"}
25890	if s.Id == nil {
25891		invalidParams.Add(request.NewErrParamRequired("Id"))
25892	}
25893	if s.ProductArn == nil {
25894		invalidParams.Add(request.NewErrParamRequired("ProductArn"))
25895	}
25896
25897	if invalidParams.Len() > 0 {
25898		return invalidParams
25899	}
25900	return nil
25901}
25902
25903// SetId sets the Id field's value.
25904func (s *RelatedFinding) SetId(v string) *RelatedFinding {
25905	s.Id = &v
25906	return s
25907}
25908
25909// SetProductArn sets the ProductArn field's value.
25910func (s *RelatedFinding) SetProductArn(v string) *RelatedFinding {
25911	s.ProductArn = &v
25912	return s
25913}
25914
25915// Details about the remediation steps for a finding.
25916type Remediation struct {
25917	_ struct{} `type:"structure"`
25918
25919	// A recommendation on the steps to take to remediate the issue identified by
25920	// a finding.
25921	Recommendation *Recommendation `type:"structure"`
25922}
25923
25924// String returns the string representation
25925func (s Remediation) String() string {
25926	return awsutil.Prettify(s)
25927}
25928
25929// GoString returns the string representation
25930func (s Remediation) GoString() string {
25931	return s.String()
25932}
25933
25934// SetRecommendation sets the Recommendation field's value.
25935func (s *Remediation) SetRecommendation(v *Recommendation) *Remediation {
25936	s.Recommendation = v
25937	return s
25938}
25939
25940// A resource related to a finding.
25941type Resource struct {
25942	_ struct{} `type:"structure"`
25943
25944	// Contains information about sensitive data that was detected on the resource.
25945	DataClassification *DataClassificationDetails `type:"structure"`
25946
25947	// Additional details about the resource related to a finding.
25948	Details *ResourceDetails `type:"structure"`
25949
25950	// The canonical identifier for the given resource type.
25951	//
25952	// Id is a required field
25953	Id *string `type:"string" required:"true"`
25954
25955	// The canonical AWS partition name that the Region is assigned to.
25956	Partition *string `type:"string" enum:"Partition"`
25957
25958	// The canonical AWS external Region name where this resource is located.
25959	Region *string `type:"string"`
25960
25961	// Identifies the role of the resource in the finding. A resource is either
25962	// the actor or target of the finding activity,
25963	ResourceRole *string `type:"string"`
25964
25965	// A list of AWS tags associated with a resource at the time the finding was
25966	// processed.
25967	Tags map[string]*string `type:"map"`
25968
25969	// The type of the resource that details are provided for. If possible, set
25970	// Type to one of the supported resource types. For example, if the resource
25971	// is an EC2 instance, then set Type to AwsEc2Instance.
25972	//
25973	// If the resource does not match any of the provided types, then set Type to
25974	// Other.
25975	//
25976	// Type is a required field
25977	Type *string `type:"string" required:"true"`
25978}
25979
25980// String returns the string representation
25981func (s Resource) String() string {
25982	return awsutil.Prettify(s)
25983}
25984
25985// GoString returns the string representation
25986func (s Resource) GoString() string {
25987	return s.String()
25988}
25989
25990// Validate inspects the fields of the type to determine if they are valid.
25991func (s *Resource) Validate() error {
25992	invalidParams := request.ErrInvalidParams{Context: "Resource"}
25993	if s.Id == nil {
25994		invalidParams.Add(request.NewErrParamRequired("Id"))
25995	}
25996	if s.Type == nil {
25997		invalidParams.Add(request.NewErrParamRequired("Type"))
25998	}
25999	if s.Details != nil {
26000		if err := s.Details.Validate(); err != nil {
26001			invalidParams.AddNested("Details", err.(request.ErrInvalidParams))
26002		}
26003	}
26004
26005	if invalidParams.Len() > 0 {
26006		return invalidParams
26007	}
26008	return nil
26009}
26010
26011// SetDataClassification sets the DataClassification field's value.
26012func (s *Resource) SetDataClassification(v *DataClassificationDetails) *Resource {
26013	s.DataClassification = v
26014	return s
26015}
26016
26017// SetDetails sets the Details field's value.
26018func (s *Resource) SetDetails(v *ResourceDetails) *Resource {
26019	s.Details = v
26020	return s
26021}
26022
26023// SetId sets the Id field's value.
26024func (s *Resource) SetId(v string) *Resource {
26025	s.Id = &v
26026	return s
26027}
26028
26029// SetPartition sets the Partition field's value.
26030func (s *Resource) SetPartition(v string) *Resource {
26031	s.Partition = &v
26032	return s
26033}
26034
26035// SetRegion sets the Region field's value.
26036func (s *Resource) SetRegion(v string) *Resource {
26037	s.Region = &v
26038	return s
26039}
26040
26041// SetResourceRole sets the ResourceRole field's value.
26042func (s *Resource) SetResourceRole(v string) *Resource {
26043	s.ResourceRole = &v
26044	return s
26045}
26046
26047// SetTags sets the Tags field's value.
26048func (s *Resource) SetTags(v map[string]*string) *Resource {
26049	s.Tags = v
26050	return s
26051}
26052
26053// SetType sets the Type field's value.
26054func (s *Resource) SetType(v string) *Resource {
26055	s.Type = &v
26056	return s
26057}
26058
26059// The resource specified in the request conflicts with an existing resource.
26060type ResourceConflictException struct {
26061	_            struct{}                  `type:"structure"`
26062	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
26063
26064	Code_ *string `locationName:"Code" type:"string"`
26065
26066	Message_ *string `locationName:"Message" type:"string"`
26067}
26068
26069// String returns the string representation
26070func (s ResourceConflictException) String() string {
26071	return awsutil.Prettify(s)
26072}
26073
26074// GoString returns the string representation
26075func (s ResourceConflictException) GoString() string {
26076	return s.String()
26077}
26078
26079func newErrorResourceConflictException(v protocol.ResponseMetadata) error {
26080	return &ResourceConflictException{
26081		RespMetadata: v,
26082	}
26083}
26084
26085// Code returns the exception type name.
26086func (s *ResourceConflictException) Code() string {
26087	return "ResourceConflictException"
26088}
26089
26090// Message returns the exception's message.
26091func (s *ResourceConflictException) Message() string {
26092	if s.Message_ != nil {
26093		return *s.Message_
26094	}
26095	return ""
26096}
26097
26098// OrigErr always returns nil, satisfies awserr.Error interface.
26099func (s *ResourceConflictException) OrigErr() error {
26100	return nil
26101}
26102
26103func (s *ResourceConflictException) Error() string {
26104	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
26105}
26106
26107// Status code returns the HTTP status code for the request's response error.
26108func (s *ResourceConflictException) StatusCode() int {
26109	return s.RespMetadata.StatusCode
26110}
26111
26112// RequestID returns the service's response RequestID for request.
26113func (s *ResourceConflictException) RequestID() string {
26114	return s.RespMetadata.RequestID
26115}
26116
26117// Additional details about a resource related to a finding.
26118//
26119// To provide the details, use the object that corresponds to the resource type.
26120// For example, if the resource type is AwsEc2Instance, then you use the AwsEc2Instance
26121// object to provide the details.
26122//
26123// If the type-specific object does not contain all of the fields you want to
26124// populate, then you use the Other object to populate those additional fields.
26125//
26126// You also use the Other object to populate the details when the selected type
26127// does not have a corresponding object.
26128type ResourceDetails struct {
26129	_ struct{} `type:"structure"`
26130
26131	// Provides information about a REST API in version 1 of Amazon API Gateway.
26132	AwsApiGatewayRestApi *AwsApiGatewayRestApiDetails `type:"structure"`
26133
26134	// Provides information about a version 1 Amazon API Gateway stage.
26135	AwsApiGatewayStage *AwsApiGatewayStageDetails `type:"structure"`
26136
26137	// Provides information about a version 2 API in Amazon API Gateway.
26138	AwsApiGatewayV2Api *AwsApiGatewayV2ApiDetails `type:"structure"`
26139
26140	// Provides information about a version 2 stage for Amazon API Gateway.
26141	AwsApiGatewayV2Stage *AwsApiGatewayV2StageDetails `type:"structure"`
26142
26143	// Details for an autoscaling group.
26144	AwsAutoScalingAutoScalingGroup *AwsAutoScalingAutoScalingGroupDetails `type:"structure"`
26145
26146	// Provides details about an AWS Certificate Manager (ACM) certificate.
26147	AwsCertificateManagerCertificate *AwsCertificateManagerCertificateDetails `type:"structure"`
26148
26149	// Details about a CloudFront distribution.
26150	AwsCloudFrontDistribution *AwsCloudFrontDistributionDetails `type:"structure"`
26151
26152	// Provides details about a CloudTrail trail.
26153	AwsCloudTrailTrail *AwsCloudTrailTrailDetails `type:"structure"`
26154
26155	// Details for an AWS CodeBuild project.
26156	AwsCodeBuildProject *AwsCodeBuildProjectDetails `type:"structure"`
26157
26158	// Details about a DynamoDB table.
26159	AwsDynamoDbTable *AwsDynamoDbTableDetails `type:"structure"`
26160
26161	// Details about an Elastic IP address.
26162	AwsEc2Eip *AwsEc2EipDetails `type:"structure"`
26163
26164	// Details about an Amazon EC2 instance related to a finding.
26165	AwsEc2Instance *AwsEc2InstanceDetails `type:"structure"`
26166
26167	// Details about an EC2 network access control list (ACL).
26168	AwsEc2NetworkAcl *AwsEc2NetworkAclDetails `type:"structure"`
26169
26170	// Details for an Amazon EC2 network interface.
26171	AwsEc2NetworkInterface *AwsEc2NetworkInterfaceDetails `type:"structure"`
26172
26173	// Details for an EC2 security group.
26174	AwsEc2SecurityGroup *AwsEc2SecurityGroupDetails `type:"structure"`
26175
26176	// Details about a subnet in EC2.
26177	AwsEc2Subnet *AwsEc2SubnetDetails `type:"structure"`
26178
26179	// Details for an EC2 volume.
26180	AwsEc2Volume *AwsEc2VolumeDetails `type:"structure"`
26181
26182	// Details for an EC2 VPC.
26183	AwsEc2Vpc *AwsEc2VpcDetails `type:"structure"`
26184
26185	// Details about an Elastic Beanstalk environment.
26186	AwsElasticBeanstalkEnvironment *AwsElasticBeanstalkEnvironmentDetails `type:"structure"`
26187
26188	// Details for an Elasticsearch domain.
26189	AwsElasticsearchDomain *AwsElasticsearchDomainDetails `type:"structure"`
26190
26191	// contains details about a Classic Load Balancer.
26192	AwsElbLoadBalancer *AwsElbLoadBalancerDetails `type:"structure"`
26193
26194	// Details about a load balancer.
26195	AwsElbv2LoadBalancer *AwsElbv2LoadBalancerDetails `type:"structure"`
26196
26197	// Details about an IAM access key related to a finding.
26198	AwsIamAccessKey *AwsIamAccessKeyDetails `type:"structure"`
26199
26200	// Contains details about an IAM group.
26201	AwsIamGroup *AwsIamGroupDetails `type:"structure"`
26202
26203	// Details about an IAM permissions policy.
26204	AwsIamPolicy *AwsIamPolicyDetails `type:"structure"`
26205
26206	// Details about an IAM role.
26207	AwsIamRole *AwsIamRoleDetails `type:"structure"`
26208
26209	// Details about an IAM user.
26210	AwsIamUser *AwsIamUserDetails `type:"structure"`
26211
26212	// Details about a KMS key.
26213	AwsKmsKey *AwsKmsKeyDetails `type:"structure"`
26214
26215	// Details about a Lambda function.
26216	AwsLambdaFunction *AwsLambdaFunctionDetails `type:"structure"`
26217
26218	// Details for a Lambda layer version.
26219	AwsLambdaLayerVersion *AwsLambdaLayerVersionDetails `type:"structure"`
26220
26221	// Details about an Amazon RDS database cluster.
26222	AwsRdsDbCluster *AwsRdsDbClusterDetails `type:"structure"`
26223
26224	// Details about an Amazon RDS database cluster snapshot.
26225	AwsRdsDbClusterSnapshot *AwsRdsDbClusterSnapshotDetails `type:"structure"`
26226
26227	// Details about an Amazon RDS database instance.
26228	AwsRdsDbInstance *AwsRdsDbInstanceDetails `type:"structure"`
26229
26230	// Details about an Amazon RDS database snapshot.
26231	AwsRdsDbSnapshot *AwsRdsDbSnapshotDetails `type:"structure"`
26232
26233	// Contains details about an Amazon Redshift cluster.
26234	AwsRedshiftCluster *AwsRedshiftClusterDetails `type:"structure"`
26235
26236	// Details about the Amazon S3 Public Access Block configuration for an account.
26237	AwsS3AccountPublicAccessBlock *AwsS3AccountPublicAccessBlockDetails `type:"structure"`
26238
26239	// Details about an Amazon S3 bucket related to a finding.
26240	AwsS3Bucket *AwsS3BucketDetails `type:"structure"`
26241
26242	// Details about an Amazon S3 object related to a finding.
26243	AwsS3Object *AwsS3ObjectDetails `type:"structure"`
26244
26245	// Details about a Secrets Manager secret.
26246	AwsSecretsManagerSecret *AwsSecretsManagerSecretDetails `type:"structure"`
26247
26248	// Details about an SNS topic.
26249	AwsSnsTopic *AwsSnsTopicDetails `type:"structure"`
26250
26251	// Details about an SQS queue.
26252	AwsSqsQueue *AwsSqsQueueDetails `type:"structure"`
26253
26254	// Provides information about the state of a patch on an instance based on the
26255	// patch baseline that was used to patch the instance.
26256	AwsSsmPatchCompliance *AwsSsmPatchComplianceDetails `type:"structure"`
26257
26258	// Details for a WAF WebACL.
26259	AwsWafWebAcl *AwsWafWebAclDetails `type:"structure"`
26260
26261	// Details about a container resource related to a finding.
26262	Container *ContainerDetails `type:"structure"`
26263
26264	// Details about a resource that are not available in a type-specific details
26265	// object. Use the Other object in the following cases.
26266	//
26267	//    * The type-specific object does not contain all of the fields that you
26268	//    want to populate. In this case, first use the type-specific object to
26269	//    populate those fields. Use the Other object to populate the fields that
26270	//    are missing from the type-specific object.
26271	//
26272	//    * The resource type does not have a corresponding object. This includes
26273	//    resources for which the type is Other.
26274	Other map[string]*string `type:"map"`
26275}
26276
26277// String returns the string representation
26278func (s ResourceDetails) String() string {
26279	return awsutil.Prettify(s)
26280}
26281
26282// GoString returns the string representation
26283func (s ResourceDetails) GoString() string {
26284	return s.String()
26285}
26286
26287// Validate inspects the fields of the type to determine if they are valid.
26288func (s *ResourceDetails) Validate() error {
26289	invalidParams := request.ErrInvalidParams{Context: "ResourceDetails"}
26290	if s.AwsIamRole != nil {
26291		if err := s.AwsIamRole.Validate(); err != nil {
26292			invalidParams.AddNested("AwsIamRole", err.(request.ErrInvalidParams))
26293		}
26294	}
26295
26296	if invalidParams.Len() > 0 {
26297		return invalidParams
26298	}
26299	return nil
26300}
26301
26302// SetAwsApiGatewayRestApi sets the AwsApiGatewayRestApi field's value.
26303func (s *ResourceDetails) SetAwsApiGatewayRestApi(v *AwsApiGatewayRestApiDetails) *ResourceDetails {
26304	s.AwsApiGatewayRestApi = v
26305	return s
26306}
26307
26308// SetAwsApiGatewayStage sets the AwsApiGatewayStage field's value.
26309func (s *ResourceDetails) SetAwsApiGatewayStage(v *AwsApiGatewayStageDetails) *ResourceDetails {
26310	s.AwsApiGatewayStage = v
26311	return s
26312}
26313
26314// SetAwsApiGatewayV2Api sets the AwsApiGatewayV2Api field's value.
26315func (s *ResourceDetails) SetAwsApiGatewayV2Api(v *AwsApiGatewayV2ApiDetails) *ResourceDetails {
26316	s.AwsApiGatewayV2Api = v
26317	return s
26318}
26319
26320// SetAwsApiGatewayV2Stage sets the AwsApiGatewayV2Stage field's value.
26321func (s *ResourceDetails) SetAwsApiGatewayV2Stage(v *AwsApiGatewayV2StageDetails) *ResourceDetails {
26322	s.AwsApiGatewayV2Stage = v
26323	return s
26324}
26325
26326// SetAwsAutoScalingAutoScalingGroup sets the AwsAutoScalingAutoScalingGroup field's value.
26327func (s *ResourceDetails) SetAwsAutoScalingAutoScalingGroup(v *AwsAutoScalingAutoScalingGroupDetails) *ResourceDetails {
26328	s.AwsAutoScalingAutoScalingGroup = v
26329	return s
26330}
26331
26332// SetAwsCertificateManagerCertificate sets the AwsCertificateManagerCertificate field's value.
26333func (s *ResourceDetails) SetAwsCertificateManagerCertificate(v *AwsCertificateManagerCertificateDetails) *ResourceDetails {
26334	s.AwsCertificateManagerCertificate = v
26335	return s
26336}
26337
26338// SetAwsCloudFrontDistribution sets the AwsCloudFrontDistribution field's value.
26339func (s *ResourceDetails) SetAwsCloudFrontDistribution(v *AwsCloudFrontDistributionDetails) *ResourceDetails {
26340	s.AwsCloudFrontDistribution = v
26341	return s
26342}
26343
26344// SetAwsCloudTrailTrail sets the AwsCloudTrailTrail field's value.
26345func (s *ResourceDetails) SetAwsCloudTrailTrail(v *AwsCloudTrailTrailDetails) *ResourceDetails {
26346	s.AwsCloudTrailTrail = v
26347	return s
26348}
26349
26350// SetAwsCodeBuildProject sets the AwsCodeBuildProject field's value.
26351func (s *ResourceDetails) SetAwsCodeBuildProject(v *AwsCodeBuildProjectDetails) *ResourceDetails {
26352	s.AwsCodeBuildProject = v
26353	return s
26354}
26355
26356// SetAwsDynamoDbTable sets the AwsDynamoDbTable field's value.
26357func (s *ResourceDetails) SetAwsDynamoDbTable(v *AwsDynamoDbTableDetails) *ResourceDetails {
26358	s.AwsDynamoDbTable = v
26359	return s
26360}
26361
26362// SetAwsEc2Eip sets the AwsEc2Eip field's value.
26363func (s *ResourceDetails) SetAwsEc2Eip(v *AwsEc2EipDetails) *ResourceDetails {
26364	s.AwsEc2Eip = v
26365	return s
26366}
26367
26368// SetAwsEc2Instance sets the AwsEc2Instance field's value.
26369func (s *ResourceDetails) SetAwsEc2Instance(v *AwsEc2InstanceDetails) *ResourceDetails {
26370	s.AwsEc2Instance = v
26371	return s
26372}
26373
26374// SetAwsEc2NetworkAcl sets the AwsEc2NetworkAcl field's value.
26375func (s *ResourceDetails) SetAwsEc2NetworkAcl(v *AwsEc2NetworkAclDetails) *ResourceDetails {
26376	s.AwsEc2NetworkAcl = v
26377	return s
26378}
26379
26380// SetAwsEc2NetworkInterface sets the AwsEc2NetworkInterface field's value.
26381func (s *ResourceDetails) SetAwsEc2NetworkInterface(v *AwsEc2NetworkInterfaceDetails) *ResourceDetails {
26382	s.AwsEc2NetworkInterface = v
26383	return s
26384}
26385
26386// SetAwsEc2SecurityGroup sets the AwsEc2SecurityGroup field's value.
26387func (s *ResourceDetails) SetAwsEc2SecurityGroup(v *AwsEc2SecurityGroupDetails) *ResourceDetails {
26388	s.AwsEc2SecurityGroup = v
26389	return s
26390}
26391
26392// SetAwsEc2Subnet sets the AwsEc2Subnet field's value.
26393func (s *ResourceDetails) SetAwsEc2Subnet(v *AwsEc2SubnetDetails) *ResourceDetails {
26394	s.AwsEc2Subnet = v
26395	return s
26396}
26397
26398// SetAwsEc2Volume sets the AwsEc2Volume field's value.
26399func (s *ResourceDetails) SetAwsEc2Volume(v *AwsEc2VolumeDetails) *ResourceDetails {
26400	s.AwsEc2Volume = v
26401	return s
26402}
26403
26404// SetAwsEc2Vpc sets the AwsEc2Vpc field's value.
26405func (s *ResourceDetails) SetAwsEc2Vpc(v *AwsEc2VpcDetails) *ResourceDetails {
26406	s.AwsEc2Vpc = v
26407	return s
26408}
26409
26410// SetAwsElasticBeanstalkEnvironment sets the AwsElasticBeanstalkEnvironment field's value.
26411func (s *ResourceDetails) SetAwsElasticBeanstalkEnvironment(v *AwsElasticBeanstalkEnvironmentDetails) *ResourceDetails {
26412	s.AwsElasticBeanstalkEnvironment = v
26413	return s
26414}
26415
26416// SetAwsElasticsearchDomain sets the AwsElasticsearchDomain field's value.
26417func (s *ResourceDetails) SetAwsElasticsearchDomain(v *AwsElasticsearchDomainDetails) *ResourceDetails {
26418	s.AwsElasticsearchDomain = v
26419	return s
26420}
26421
26422// SetAwsElbLoadBalancer sets the AwsElbLoadBalancer field's value.
26423func (s *ResourceDetails) SetAwsElbLoadBalancer(v *AwsElbLoadBalancerDetails) *ResourceDetails {
26424	s.AwsElbLoadBalancer = v
26425	return s
26426}
26427
26428// SetAwsElbv2LoadBalancer sets the AwsElbv2LoadBalancer field's value.
26429func (s *ResourceDetails) SetAwsElbv2LoadBalancer(v *AwsElbv2LoadBalancerDetails) *ResourceDetails {
26430	s.AwsElbv2LoadBalancer = v
26431	return s
26432}
26433
26434// SetAwsIamAccessKey sets the AwsIamAccessKey field's value.
26435func (s *ResourceDetails) SetAwsIamAccessKey(v *AwsIamAccessKeyDetails) *ResourceDetails {
26436	s.AwsIamAccessKey = v
26437	return s
26438}
26439
26440// SetAwsIamGroup sets the AwsIamGroup field's value.
26441func (s *ResourceDetails) SetAwsIamGroup(v *AwsIamGroupDetails) *ResourceDetails {
26442	s.AwsIamGroup = v
26443	return s
26444}
26445
26446// SetAwsIamPolicy sets the AwsIamPolicy field's value.
26447func (s *ResourceDetails) SetAwsIamPolicy(v *AwsIamPolicyDetails) *ResourceDetails {
26448	s.AwsIamPolicy = v
26449	return s
26450}
26451
26452// SetAwsIamRole sets the AwsIamRole field's value.
26453func (s *ResourceDetails) SetAwsIamRole(v *AwsIamRoleDetails) *ResourceDetails {
26454	s.AwsIamRole = v
26455	return s
26456}
26457
26458// SetAwsIamUser sets the AwsIamUser field's value.
26459func (s *ResourceDetails) SetAwsIamUser(v *AwsIamUserDetails) *ResourceDetails {
26460	s.AwsIamUser = v
26461	return s
26462}
26463
26464// SetAwsKmsKey sets the AwsKmsKey field's value.
26465func (s *ResourceDetails) SetAwsKmsKey(v *AwsKmsKeyDetails) *ResourceDetails {
26466	s.AwsKmsKey = v
26467	return s
26468}
26469
26470// SetAwsLambdaFunction sets the AwsLambdaFunction field's value.
26471func (s *ResourceDetails) SetAwsLambdaFunction(v *AwsLambdaFunctionDetails) *ResourceDetails {
26472	s.AwsLambdaFunction = v
26473	return s
26474}
26475
26476// SetAwsLambdaLayerVersion sets the AwsLambdaLayerVersion field's value.
26477func (s *ResourceDetails) SetAwsLambdaLayerVersion(v *AwsLambdaLayerVersionDetails) *ResourceDetails {
26478	s.AwsLambdaLayerVersion = v
26479	return s
26480}
26481
26482// SetAwsRdsDbCluster sets the AwsRdsDbCluster field's value.
26483func (s *ResourceDetails) SetAwsRdsDbCluster(v *AwsRdsDbClusterDetails) *ResourceDetails {
26484	s.AwsRdsDbCluster = v
26485	return s
26486}
26487
26488// SetAwsRdsDbClusterSnapshot sets the AwsRdsDbClusterSnapshot field's value.
26489func (s *ResourceDetails) SetAwsRdsDbClusterSnapshot(v *AwsRdsDbClusterSnapshotDetails) *ResourceDetails {
26490	s.AwsRdsDbClusterSnapshot = v
26491	return s
26492}
26493
26494// SetAwsRdsDbInstance sets the AwsRdsDbInstance field's value.
26495func (s *ResourceDetails) SetAwsRdsDbInstance(v *AwsRdsDbInstanceDetails) *ResourceDetails {
26496	s.AwsRdsDbInstance = v
26497	return s
26498}
26499
26500// SetAwsRdsDbSnapshot sets the AwsRdsDbSnapshot field's value.
26501func (s *ResourceDetails) SetAwsRdsDbSnapshot(v *AwsRdsDbSnapshotDetails) *ResourceDetails {
26502	s.AwsRdsDbSnapshot = v
26503	return s
26504}
26505
26506// SetAwsRedshiftCluster sets the AwsRedshiftCluster field's value.
26507func (s *ResourceDetails) SetAwsRedshiftCluster(v *AwsRedshiftClusterDetails) *ResourceDetails {
26508	s.AwsRedshiftCluster = v
26509	return s
26510}
26511
26512// SetAwsS3AccountPublicAccessBlock sets the AwsS3AccountPublicAccessBlock field's value.
26513func (s *ResourceDetails) SetAwsS3AccountPublicAccessBlock(v *AwsS3AccountPublicAccessBlockDetails) *ResourceDetails {
26514	s.AwsS3AccountPublicAccessBlock = v
26515	return s
26516}
26517
26518// SetAwsS3Bucket sets the AwsS3Bucket field's value.
26519func (s *ResourceDetails) SetAwsS3Bucket(v *AwsS3BucketDetails) *ResourceDetails {
26520	s.AwsS3Bucket = v
26521	return s
26522}
26523
26524// SetAwsS3Object sets the AwsS3Object field's value.
26525func (s *ResourceDetails) SetAwsS3Object(v *AwsS3ObjectDetails) *ResourceDetails {
26526	s.AwsS3Object = v
26527	return s
26528}
26529
26530// SetAwsSecretsManagerSecret sets the AwsSecretsManagerSecret field's value.
26531func (s *ResourceDetails) SetAwsSecretsManagerSecret(v *AwsSecretsManagerSecretDetails) *ResourceDetails {
26532	s.AwsSecretsManagerSecret = v
26533	return s
26534}
26535
26536// SetAwsSnsTopic sets the AwsSnsTopic field's value.
26537func (s *ResourceDetails) SetAwsSnsTopic(v *AwsSnsTopicDetails) *ResourceDetails {
26538	s.AwsSnsTopic = v
26539	return s
26540}
26541
26542// SetAwsSqsQueue sets the AwsSqsQueue field's value.
26543func (s *ResourceDetails) SetAwsSqsQueue(v *AwsSqsQueueDetails) *ResourceDetails {
26544	s.AwsSqsQueue = v
26545	return s
26546}
26547
26548// SetAwsSsmPatchCompliance sets the AwsSsmPatchCompliance field's value.
26549func (s *ResourceDetails) SetAwsSsmPatchCompliance(v *AwsSsmPatchComplianceDetails) *ResourceDetails {
26550	s.AwsSsmPatchCompliance = v
26551	return s
26552}
26553
26554// SetAwsWafWebAcl sets the AwsWafWebAcl field's value.
26555func (s *ResourceDetails) SetAwsWafWebAcl(v *AwsWafWebAclDetails) *ResourceDetails {
26556	s.AwsWafWebAcl = v
26557	return s
26558}
26559
26560// SetContainer sets the Container field's value.
26561func (s *ResourceDetails) SetContainer(v *ContainerDetails) *ResourceDetails {
26562	s.Container = v
26563	return s
26564}
26565
26566// SetOther sets the Other field's value.
26567func (s *ResourceDetails) SetOther(v map[string]*string) *ResourceDetails {
26568	s.Other = v
26569	return s
26570}
26571
26572// The request was rejected because we can't find the specified resource.
26573type ResourceNotFoundException struct {
26574	_            struct{}                  `type:"structure"`
26575	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
26576
26577	Code_ *string `locationName:"Code" type:"string"`
26578
26579	Message_ *string `locationName:"Message" type:"string"`
26580}
26581
26582// String returns the string representation
26583func (s ResourceNotFoundException) String() string {
26584	return awsutil.Prettify(s)
26585}
26586
26587// GoString returns the string representation
26588func (s ResourceNotFoundException) GoString() string {
26589	return s.String()
26590}
26591
26592func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
26593	return &ResourceNotFoundException{
26594		RespMetadata: v,
26595	}
26596}
26597
26598// Code returns the exception type name.
26599func (s *ResourceNotFoundException) Code() string {
26600	return "ResourceNotFoundException"
26601}
26602
26603// Message returns the exception's message.
26604func (s *ResourceNotFoundException) Message() string {
26605	if s.Message_ != nil {
26606		return *s.Message_
26607	}
26608	return ""
26609}
26610
26611// OrigErr always returns nil, satisfies awserr.Error interface.
26612func (s *ResourceNotFoundException) OrigErr() error {
26613	return nil
26614}
26615
26616func (s *ResourceNotFoundException) Error() string {
26617	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
26618}
26619
26620// Status code returns the HTTP status code for the request's response error.
26621func (s *ResourceNotFoundException) StatusCode() int {
26622	return s.RespMetadata.StatusCode
26623}
26624
26625// RequestID returns the service's response RequestID for request.
26626func (s *ResourceNotFoundException) RequestID() string {
26627	return s.RespMetadata.RequestID
26628}
26629
26630// Details about the account that was not processed.
26631type Result struct {
26632	_ struct{} `type:"structure"`
26633
26634	// An AWS account ID of the account that was not processed.
26635	AccountId *string `type:"string"`
26636
26637	// The reason that the account was not processed.
26638	ProcessingResult *string `type:"string"`
26639}
26640
26641// String returns the string representation
26642func (s Result) String() string {
26643	return awsutil.Prettify(s)
26644}
26645
26646// GoString returns the string representation
26647func (s Result) GoString() string {
26648	return s.String()
26649}
26650
26651// SetAccountId sets the AccountId field's value.
26652func (s *Result) SetAccountId(v string) *Result {
26653	s.AccountId = &v
26654	return s
26655}
26656
26657// SetProcessingResult sets the ProcessingResult field's value.
26658func (s *Result) SetProcessingResult(v string) *Result {
26659	s.ProcessingResult = &v
26660	return s
26661}
26662
26663// The list of detected instances of sensitive data.
26664type SensitiveDataDetections struct {
26665	_ struct{} `type:"structure"`
26666
26667	// The total number of occurrences of sensitive data that were detected.
26668	Count *int64 `type:"long"`
26669
26670	// Details about the sensitive data that was detected.
26671	Occurrences *Occurrences `type:"structure"`
26672
26673	// The type of sensitive data that was detected. For example, the type might
26674	// indicate that the data is an email address.
26675	Type *string `type:"string"`
26676}
26677
26678// String returns the string representation
26679func (s SensitiveDataDetections) String() string {
26680	return awsutil.Prettify(s)
26681}
26682
26683// GoString returns the string representation
26684func (s SensitiveDataDetections) GoString() string {
26685	return s.String()
26686}
26687
26688// SetCount sets the Count field's value.
26689func (s *SensitiveDataDetections) SetCount(v int64) *SensitiveDataDetections {
26690	s.Count = &v
26691	return s
26692}
26693
26694// SetOccurrences sets the Occurrences field's value.
26695func (s *SensitiveDataDetections) SetOccurrences(v *Occurrences) *SensitiveDataDetections {
26696	s.Occurrences = v
26697	return s
26698}
26699
26700// SetType sets the Type field's value.
26701func (s *SensitiveDataDetections) SetType(v string) *SensitiveDataDetections {
26702	s.Type = &v
26703	return s
26704}
26705
26706// Contains a detected instance of sensitive data that are based on built-in
26707// identifiers.
26708type SensitiveDataResult struct {
26709	_ struct{} `type:"structure"`
26710
26711	// The category of sensitive data that was detected. For example, the category
26712	// can indicate that the sensitive data involved credentials, financial information,
26713	// or personal information.
26714	Category *string `type:"string"`
26715
26716	// The list of detected instances of sensitive data.
26717	Detections []*SensitiveDataDetections `type:"list"`
26718
26719	// The total number of occurrences of sensitive data.
26720	TotalCount *int64 `type:"long"`
26721}
26722
26723// String returns the string representation
26724func (s SensitiveDataResult) String() string {
26725	return awsutil.Prettify(s)
26726}
26727
26728// GoString returns the string representation
26729func (s SensitiveDataResult) GoString() string {
26730	return s.String()
26731}
26732
26733// SetCategory sets the Category field's value.
26734func (s *SensitiveDataResult) SetCategory(v string) *SensitiveDataResult {
26735	s.Category = &v
26736	return s
26737}
26738
26739// SetDetections sets the Detections field's value.
26740func (s *SensitiveDataResult) SetDetections(v []*SensitiveDataDetections) *SensitiveDataResult {
26741	s.Detections = v
26742	return s
26743}
26744
26745// SetTotalCount sets the TotalCount field's value.
26746func (s *SensitiveDataResult) SetTotalCount(v int64) *SensitiveDataResult {
26747	s.TotalCount = &v
26748	return s
26749}
26750
26751// The severity of the finding.
26752//
26753// The finding provider can provide the initial severity. The finding provider
26754// can only update the severity if it has not been updated using BatchUpdateFindings.
26755//
26756// The finding must have either Label or Normalized populated. If only one of
26757// these attributes is populated, then Security Hub automatically populates
26758// the other one. If neither attribute is populated, then the finding is invalid.
26759// Label is the preferred attribute.
26760type Severity struct {
26761	_ struct{} `type:"structure"`
26762
26763	// The severity value of the finding. The allowed values are the following.
26764	//
26765	//    * INFORMATIONAL - No issue was found.
26766	//
26767	//    * LOW - The issue does not require action on its own.
26768	//
26769	//    * MEDIUM - The issue must be addressed but not urgently.
26770	//
26771	//    * HIGH - The issue must be addressed as a priority.
26772	//
26773	//    * CRITICAL - The issue must be remediated immediately to avoid it escalating.
26774	//
26775	// If you provide Normalized and do not provide Label, then Label is set automatically
26776	// as follows.
26777	//
26778	//    * 0 - INFORMATIONAL
26779	//
26780	//    * 1–39 - LOW
26781	//
26782	//    * 40–69 - MEDIUM
26783	//
26784	//    * 70–89 - HIGH
26785	//
26786	//    * 90–100 - CRITICAL
26787	Label *string `type:"string" enum:"SeverityLabel"`
26788
26789	// Deprecated. The normalized severity of a finding. This attribute is being
26790	// deprecated. Instead of providing Normalized, provide Label.
26791	//
26792	// If you provide Label and do not provide Normalized, then Normalized is set
26793	// automatically as follows.
26794	//
26795	//    * INFORMATIONAL - 0
26796	//
26797	//    * LOW - 1
26798	//
26799	//    * MEDIUM - 40
26800	//
26801	//    * HIGH - 70
26802	//
26803	//    * CRITICAL - 90
26804	Normalized *int64 `type:"integer"`
26805
26806	// The native severity from the finding product that generated the finding.
26807	Original *string `type:"string"`
26808
26809	// Deprecated. This attribute is being deprecated. Instead of providing Product,
26810	// provide Original.
26811	//
26812	// The native severity as defined by the AWS service or integrated partner product
26813	// that generated the finding.
26814	Product *float64 `type:"double"`
26815}
26816
26817// String returns the string representation
26818func (s Severity) String() string {
26819	return awsutil.Prettify(s)
26820}
26821
26822// GoString returns the string representation
26823func (s Severity) GoString() string {
26824	return s.String()
26825}
26826
26827// SetLabel sets the Label field's value.
26828func (s *Severity) SetLabel(v string) *Severity {
26829	s.Label = &v
26830	return s
26831}
26832
26833// SetNormalized sets the Normalized field's value.
26834func (s *Severity) SetNormalized(v int64) *Severity {
26835	s.Normalized = &v
26836	return s
26837}
26838
26839// SetOriginal sets the Original field's value.
26840func (s *Severity) SetOriginal(v string) *Severity {
26841	s.Original = &v
26842	return s
26843}
26844
26845// SetProduct sets the Product field's value.
26846func (s *Severity) SetProduct(v float64) *Severity {
26847	s.Product = &v
26848	return s
26849}
26850
26851// Updates to the severity information for a finding.
26852type SeverityUpdate struct {
26853	_ struct{} `type:"structure"`
26854
26855	// The severity value of the finding. The allowed values are the following.
26856	//
26857	//    * INFORMATIONAL - No issue was found.
26858	//
26859	//    * LOW - The issue does not require action on its own.
26860	//
26861	//    * MEDIUM - The issue must be addressed but not urgently.
26862	//
26863	//    * HIGH - The issue must be addressed as a priority.
26864	//
26865	//    * CRITICAL - The issue must be remediated immediately to avoid it escalating.
26866	Label *string `type:"string" enum:"SeverityLabel"`
26867
26868	// The normalized severity for the finding. This attribute is to be deprecated
26869	// in favor of Label.
26870	//
26871	// If you provide Normalized and do not provide Label, Label is set automatically
26872	// as follows.
26873	//
26874	//    * 0 - INFORMATIONAL
26875	//
26876	//    * 1–39 - LOW
26877	//
26878	//    * 40–69 - MEDIUM
26879	//
26880	//    * 70–89 - HIGH
26881	//
26882	//    * 90–100 - CRITICAL
26883	Normalized *int64 `type:"integer"`
26884
26885	// The native severity as defined by the AWS service or integrated partner product
26886	// that generated the finding.
26887	Product *float64 `type:"double"`
26888}
26889
26890// String returns the string representation
26891func (s SeverityUpdate) String() string {
26892	return awsutil.Prettify(s)
26893}
26894
26895// GoString returns the string representation
26896func (s SeverityUpdate) GoString() string {
26897	return s.String()
26898}
26899
26900// SetLabel sets the Label field's value.
26901func (s *SeverityUpdate) SetLabel(v string) *SeverityUpdate {
26902	s.Label = &v
26903	return s
26904}
26905
26906// SetNormalized sets the Normalized field's value.
26907func (s *SeverityUpdate) SetNormalized(v int64) *SeverityUpdate {
26908	s.Normalized = &v
26909	return s
26910}
26911
26912// SetProduct sets the Product field's value.
26913func (s *SeverityUpdate) SetProduct(v float64) *SeverityUpdate {
26914	s.Product = &v
26915	return s
26916}
26917
26918// Information about a software package.
26919type SoftwarePackage struct {
26920	_ struct{} `type:"structure"`
26921
26922	// The architecture used for the software package.
26923	Architecture *string `type:"string"`
26924
26925	// The epoch of the software package.
26926	Epoch *string `type:"string"`
26927
26928	// The name of the software package.
26929	Name *string `type:"string"`
26930
26931	// The release of the software package.
26932	Release *string `type:"string"`
26933
26934	// The version of the software package.
26935	Version *string `type:"string"`
26936}
26937
26938// String returns the string representation
26939func (s SoftwarePackage) String() string {
26940	return awsutil.Prettify(s)
26941}
26942
26943// GoString returns the string representation
26944func (s SoftwarePackage) GoString() string {
26945	return s.String()
26946}
26947
26948// SetArchitecture sets the Architecture field's value.
26949func (s *SoftwarePackage) SetArchitecture(v string) *SoftwarePackage {
26950	s.Architecture = &v
26951	return s
26952}
26953
26954// SetEpoch sets the Epoch field's value.
26955func (s *SoftwarePackage) SetEpoch(v string) *SoftwarePackage {
26956	s.Epoch = &v
26957	return s
26958}
26959
26960// SetName sets the Name field's value.
26961func (s *SoftwarePackage) SetName(v string) *SoftwarePackage {
26962	s.Name = &v
26963	return s
26964}
26965
26966// SetRelease sets the Release field's value.
26967func (s *SoftwarePackage) SetRelease(v string) *SoftwarePackage {
26968	s.Release = &v
26969	return s
26970}
26971
26972// SetVersion sets the Version field's value.
26973func (s *SoftwarePackage) SetVersion(v string) *SoftwarePackage {
26974	s.Version = &v
26975	return s
26976}
26977
26978// A collection of finding attributes used to sort findings.
26979type SortCriterion struct {
26980	_ struct{} `type:"structure"`
26981
26982	// The finding attribute used to sort findings.
26983	Field *string `type:"string"`
26984
26985	// The order used to sort findings.
26986	SortOrder *string `type:"string" enum:"SortOrder"`
26987}
26988
26989// String returns the string representation
26990func (s SortCriterion) String() string {
26991	return awsutil.Prettify(s)
26992}
26993
26994// GoString returns the string representation
26995func (s SortCriterion) GoString() string {
26996	return s.String()
26997}
26998
26999// SetField sets the Field field's value.
27000func (s *SortCriterion) SetField(v string) *SortCriterion {
27001	s.Field = &v
27002	return s
27003}
27004
27005// SetSortOrder sets the SortOrder field's value.
27006func (s *SortCriterion) SetSortOrder(v string) *SortCriterion {
27007	s.SortOrder = &v
27008	return s
27009}
27010
27011// Provides information about a specific standard.
27012type Standard struct {
27013	_ struct{} `type:"structure"`
27014
27015	// A description of the standard.
27016	Description *string `type:"string"`
27017
27018	// Whether the standard is enabled by default. When Security Hub is enabled
27019	// from the console, if a standard is enabled by default, the check box for
27020	// that standard is selected by default.
27021	//
27022	// When Security Hub is enabled using the EnableSecurityHub API operation, the
27023	// standard is enabled by default unless EnableDefaultStandards is set to false.
27024	EnabledByDefault *bool `type:"boolean"`
27025
27026	// The name of the standard.
27027	Name *string `type:"string"`
27028
27029	// The ARN of a standard.
27030	StandardsArn *string `type:"string"`
27031}
27032
27033// String returns the string representation
27034func (s Standard) String() string {
27035	return awsutil.Prettify(s)
27036}
27037
27038// GoString returns the string representation
27039func (s Standard) GoString() string {
27040	return s.String()
27041}
27042
27043// SetDescription sets the Description field's value.
27044func (s *Standard) SetDescription(v string) *Standard {
27045	s.Description = &v
27046	return s
27047}
27048
27049// SetEnabledByDefault sets the EnabledByDefault field's value.
27050func (s *Standard) SetEnabledByDefault(v bool) *Standard {
27051	s.EnabledByDefault = &v
27052	return s
27053}
27054
27055// SetName sets the Name field's value.
27056func (s *Standard) SetName(v string) *Standard {
27057	s.Name = &v
27058	return s
27059}
27060
27061// SetStandardsArn sets the StandardsArn field's value.
27062func (s *Standard) SetStandardsArn(v string) *Standard {
27063	s.StandardsArn = &v
27064	return s
27065}
27066
27067// Details for an individual security standard control.
27068type StandardsControl struct {
27069	_ struct{} `type:"structure"`
27070
27071	// The identifier of the security standard control.
27072	ControlId *string `type:"string"`
27073
27074	// The current status of the security standard control. Indicates whether the
27075	// control is enabled or disabled. Security Hub does not check against disabled
27076	// controls.
27077	ControlStatus *string `type:"string" enum:"ControlStatus"`
27078
27079	// The date and time that the status of the security standard control was most
27080	// recently updated.
27081	ControlStatusUpdatedAt *time.Time `type:"timestamp" timestampFormat:"iso8601"`
27082
27083	// The longer description of the security standard control. Provides information
27084	// about what the control is checking for.
27085	Description *string `type:"string"`
27086
27087	// The reason provided for the most recent change in status for the control.
27088	DisabledReason *string `type:"string"`
27089
27090	// The list of requirements that are related to this control.
27091	RelatedRequirements []*string `type:"list"`
27092
27093	// A link to remediation information for the control in the Security Hub user
27094	// documentation.
27095	RemediationUrl *string `type:"string"`
27096
27097	// The severity of findings generated from this security standard control.
27098	//
27099	// The finding severity is based on an assessment of how easy it would be to
27100	// compromise AWS resources if the issue is detected.
27101	SeverityRating *string `type:"string" enum:"SeverityRating"`
27102
27103	// The ARN of the security standard control.
27104	StandardsControlArn *string `type:"string"`
27105
27106	// The title of the security standard control.
27107	Title *string `type:"string"`
27108}
27109
27110// String returns the string representation
27111func (s StandardsControl) String() string {
27112	return awsutil.Prettify(s)
27113}
27114
27115// GoString returns the string representation
27116func (s StandardsControl) GoString() string {
27117	return s.String()
27118}
27119
27120// SetControlId sets the ControlId field's value.
27121func (s *StandardsControl) SetControlId(v string) *StandardsControl {
27122	s.ControlId = &v
27123	return s
27124}
27125
27126// SetControlStatus sets the ControlStatus field's value.
27127func (s *StandardsControl) SetControlStatus(v string) *StandardsControl {
27128	s.ControlStatus = &v
27129	return s
27130}
27131
27132// SetControlStatusUpdatedAt sets the ControlStatusUpdatedAt field's value.
27133func (s *StandardsControl) SetControlStatusUpdatedAt(v time.Time) *StandardsControl {
27134	s.ControlStatusUpdatedAt = &v
27135	return s
27136}
27137
27138// SetDescription sets the Description field's value.
27139func (s *StandardsControl) SetDescription(v string) *StandardsControl {
27140	s.Description = &v
27141	return s
27142}
27143
27144// SetDisabledReason sets the DisabledReason field's value.
27145func (s *StandardsControl) SetDisabledReason(v string) *StandardsControl {
27146	s.DisabledReason = &v
27147	return s
27148}
27149
27150// SetRelatedRequirements sets the RelatedRequirements field's value.
27151func (s *StandardsControl) SetRelatedRequirements(v []*string) *StandardsControl {
27152	s.RelatedRequirements = v
27153	return s
27154}
27155
27156// SetRemediationUrl sets the RemediationUrl field's value.
27157func (s *StandardsControl) SetRemediationUrl(v string) *StandardsControl {
27158	s.RemediationUrl = &v
27159	return s
27160}
27161
27162// SetSeverityRating sets the SeverityRating field's value.
27163func (s *StandardsControl) SetSeverityRating(v string) *StandardsControl {
27164	s.SeverityRating = &v
27165	return s
27166}
27167
27168// SetStandardsControlArn sets the StandardsControlArn field's value.
27169func (s *StandardsControl) SetStandardsControlArn(v string) *StandardsControl {
27170	s.StandardsControlArn = &v
27171	return s
27172}
27173
27174// SetTitle sets the Title field's value.
27175func (s *StandardsControl) SetTitle(v string) *StandardsControl {
27176	s.Title = &v
27177	return s
27178}
27179
27180// A resource that represents your subscription to a supported standard.
27181type StandardsSubscription struct {
27182	_ struct{} `type:"structure"`
27183
27184	// The ARN of a standard.
27185	//
27186	// StandardsArn is a required field
27187	StandardsArn *string `type:"string" required:"true"`
27188
27189	// A key-value pair of input for the standard.
27190	//
27191	// StandardsInput is a required field
27192	StandardsInput map[string]*string `type:"map" required:"true"`
27193
27194	// The status of the standard subscription.
27195	//
27196	// The status values are as follows:
27197	//
27198	//    * PENDING - Standard is in the process of being enabled.
27199	//
27200	//    * READY - Standard is enabled.
27201	//
27202	//    * INCOMPLETE - Standard could not be enabled completely. Some controls
27203	//    may not be available.
27204	//
27205	//    * DELETING - Standard is in the process of being disabled.
27206	//
27207	//    * FAILED - Standard could not be disabled.
27208	//
27209	// StandardsStatus is a required field
27210	StandardsStatus *string `type:"string" required:"true" enum:"StandardsStatus"`
27211
27212	// The ARN of a resource that represents your subscription to a supported standard.
27213	//
27214	// StandardsSubscriptionArn is a required field
27215	StandardsSubscriptionArn *string `type:"string" required:"true"`
27216}
27217
27218// String returns the string representation
27219func (s StandardsSubscription) String() string {
27220	return awsutil.Prettify(s)
27221}
27222
27223// GoString returns the string representation
27224func (s StandardsSubscription) GoString() string {
27225	return s.String()
27226}
27227
27228// SetStandardsArn sets the StandardsArn field's value.
27229func (s *StandardsSubscription) SetStandardsArn(v string) *StandardsSubscription {
27230	s.StandardsArn = &v
27231	return s
27232}
27233
27234// SetStandardsInput sets the StandardsInput field's value.
27235func (s *StandardsSubscription) SetStandardsInput(v map[string]*string) *StandardsSubscription {
27236	s.StandardsInput = v
27237	return s
27238}
27239
27240// SetStandardsStatus sets the StandardsStatus field's value.
27241func (s *StandardsSubscription) SetStandardsStatus(v string) *StandardsSubscription {
27242	s.StandardsStatus = &v
27243	return s
27244}
27245
27246// SetStandardsSubscriptionArn sets the StandardsSubscriptionArn field's value.
27247func (s *StandardsSubscription) SetStandardsSubscriptionArn(v string) *StandardsSubscription {
27248	s.StandardsSubscriptionArn = &v
27249	return s
27250}
27251
27252// The standard that you want to enable.
27253type StandardsSubscriptionRequest struct {
27254	_ struct{} `type:"structure"`
27255
27256	// The ARN of the standard that you want to enable. To view the list of available
27257	// standards and their ARNs, use the DescribeStandards operation.
27258	//
27259	// StandardsArn is a required field
27260	StandardsArn *string `type:"string" required:"true"`
27261
27262	// A key-value pair of input for the standard.
27263	StandardsInput map[string]*string `type:"map"`
27264}
27265
27266// String returns the string representation
27267func (s StandardsSubscriptionRequest) String() string {
27268	return awsutil.Prettify(s)
27269}
27270
27271// GoString returns the string representation
27272func (s StandardsSubscriptionRequest) GoString() string {
27273	return s.String()
27274}
27275
27276// Validate inspects the fields of the type to determine if they are valid.
27277func (s *StandardsSubscriptionRequest) Validate() error {
27278	invalidParams := request.ErrInvalidParams{Context: "StandardsSubscriptionRequest"}
27279	if s.StandardsArn == nil {
27280		invalidParams.Add(request.NewErrParamRequired("StandardsArn"))
27281	}
27282
27283	if invalidParams.Len() > 0 {
27284		return invalidParams
27285	}
27286	return nil
27287}
27288
27289// SetStandardsArn sets the StandardsArn field's value.
27290func (s *StandardsSubscriptionRequest) SetStandardsArn(v string) *StandardsSubscriptionRequest {
27291	s.StandardsArn = &v
27292	return s
27293}
27294
27295// SetStandardsInput sets the StandardsInput field's value.
27296func (s *StandardsSubscriptionRequest) SetStandardsInput(v map[string]*string) *StandardsSubscriptionRequest {
27297	s.StandardsInput = v
27298	return s
27299}
27300
27301// Provides additional context for the value of Compliance.Status.
27302type StatusReason struct {
27303	_ struct{} `type:"structure"`
27304
27305	// The corresponding description for the status reason code.
27306	Description *string `type:"string"`
27307
27308	// A code that represents a reason for the control status. For the list of status
27309	// reason codes and their meanings, see Standards-related information in the
27310	// ASFF (https://docs.aws.amazon.com/securityhub/latest/userguide/securityhub-standards-results.html#securityhub-standards-results-asff)
27311	// in the AWS Security Hub User Guide.
27312	//
27313	// ReasonCode is a required field
27314	ReasonCode *string `type:"string" required:"true"`
27315}
27316
27317// String returns the string representation
27318func (s StatusReason) String() string {
27319	return awsutil.Prettify(s)
27320}
27321
27322// GoString returns the string representation
27323func (s StatusReason) GoString() string {
27324	return s.String()
27325}
27326
27327// Validate inspects the fields of the type to determine if they are valid.
27328func (s *StatusReason) Validate() error {
27329	invalidParams := request.ErrInvalidParams{Context: "StatusReason"}
27330	if s.ReasonCode == nil {
27331		invalidParams.Add(request.NewErrParamRequired("ReasonCode"))
27332	}
27333
27334	if invalidParams.Len() > 0 {
27335		return invalidParams
27336	}
27337	return nil
27338}
27339
27340// SetDescription sets the Description field's value.
27341func (s *StatusReason) SetDescription(v string) *StatusReason {
27342	s.Description = &v
27343	return s
27344}
27345
27346// SetReasonCode sets the ReasonCode field's value.
27347func (s *StatusReason) SetReasonCode(v string) *StatusReason {
27348	s.ReasonCode = &v
27349	return s
27350}
27351
27352// A string filter for querying findings.
27353type StringFilter struct {
27354	_ struct{} `type:"structure"`
27355
27356	// The condition to apply to a string value when querying for findings. To search
27357	// for values that contain the filter criteria value, use one of the following
27358	// comparison operators:
27359	//
27360	//    * To search for values that exactly match the filter value, use EQUALS.
27361	//    For example, the filter ResourceType EQUALS AwsEc2SecurityGroup only matches
27362	//    findings that have a resource type of AwsEc2SecurityGroup.
27363	//
27364	//    * To search for values that start with the filter value, use PREFIX. For
27365	//    example, the filter ResourceType PREFIX AwsIam matches findings that have
27366	//    a resource type that starts with AwsIam. Findings with a resource type
27367	//    of AwsIamPolicy, AwsIamRole, or AwsIamUser would all match.
27368	//
27369	// EQUALS and PREFIX filters on the same field are joined by OR. A finding matches
27370	// if it matches any one of those filters.
27371	//
27372	// To search for values that do not contain the filter criteria value, use one
27373	// of the following comparison operators:
27374	//
27375	//    * To search for values that do not exactly match the filter value, use
27376	//    NOT_EQUALS. For example, the filter ResourceType NOT_EQUALS AwsIamPolicy
27377	//    matches findings that have a resource type other than AwsIamPolicy.
27378	//
27379	//    * To search for values that do not start with the filter value, use PREFIX_NOT_EQUALS.
27380	//    For example, the filter ResourceType PREFIX_NOT_EQUALS AwsIam matches
27381	//    findings that have a resource type that does not start with AwsIam. Findings
27382	//    with a resource type of AwsIamPolicy, AwsIamRole, or AwsIamUser would
27383	//    all be excluded from the results.
27384	//
27385	// NOT_EQUALS and PREFIX_NOT_EQUALS filters on the same field are joined by
27386	// AND. A finding matches only if it matches all of those filters.
27387	//
27388	// For filters on the same field, you cannot provide both an EQUALS filter and
27389	// a NOT_EQUALS or PREFIX_NOT_EQUALS filter. Combining filters in this way always
27390	// returns an error, even if the provided filter values would return valid results.
27391	//
27392	// You can combine PREFIX filters with NOT_EQUALS or PREFIX_NOT_EQUALS filters
27393	// for the same field. Security Hub first processes the PREFIX filters, then
27394	// the NOT_EQUALS or PREFIX_NOT_EQUALS filters.
27395	//
27396	// For example, for the following filter, Security Hub first identifies findings
27397	// that have resource types that start with either AwsIAM or AwsEc2. It then
27398	// excludes findings that have a resource type of AwsIamPolicy and findings
27399	// that have a resource type of AwsEc2NetworkInterface.
27400	//
27401	//    * ResourceType PREFIX AwsIam
27402	//
27403	//    * ResourceType PREFIX AwsEc2
27404	//
27405	//    * ResourceType NOT_EQUALS AwsIamPolicy
27406	//
27407	//    * ResourceType NOT_EQUALS AwsEc2NetworkInterface
27408	Comparison *string `type:"string" enum:"StringFilterComparison"`
27409
27410	// The string filter value. Filter values are case sensitive. For example, the
27411	// product name for control-based findings is Security Hub. If you provide security
27412	// hub as the filter text, then there is no match.
27413	Value *string `type:"string"`
27414}
27415
27416// String returns the string representation
27417func (s StringFilter) String() string {
27418	return awsutil.Prettify(s)
27419}
27420
27421// GoString returns the string representation
27422func (s StringFilter) GoString() string {
27423	return s.String()
27424}
27425
27426// SetComparison sets the Comparison field's value.
27427func (s *StringFilter) SetComparison(v string) *StringFilter {
27428	s.Comparison = &v
27429	return s
27430}
27431
27432// SetValue sets the Value field's value.
27433func (s *StringFilter) SetValue(v string) *StringFilter {
27434	s.Value = &v
27435	return s
27436}
27437
27438type TagResourceInput struct {
27439	_ struct{} `type:"structure"`
27440
27441	// The ARN of the resource to apply the tags to.
27442	//
27443	// ResourceArn is a required field
27444	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
27445
27446	// The tags to add to the resource.
27447	//
27448	// Tags is a required field
27449	Tags map[string]*string `min:"1" type:"map" required:"true"`
27450}
27451
27452// String returns the string representation
27453func (s TagResourceInput) String() string {
27454	return awsutil.Prettify(s)
27455}
27456
27457// GoString returns the string representation
27458func (s TagResourceInput) GoString() string {
27459	return s.String()
27460}
27461
27462// Validate inspects the fields of the type to determine if they are valid.
27463func (s *TagResourceInput) Validate() error {
27464	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
27465	if s.ResourceArn == nil {
27466		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
27467	}
27468	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
27469		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
27470	}
27471	if s.Tags == nil {
27472		invalidParams.Add(request.NewErrParamRequired("Tags"))
27473	}
27474	if s.Tags != nil && len(s.Tags) < 1 {
27475		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
27476	}
27477
27478	if invalidParams.Len() > 0 {
27479		return invalidParams
27480	}
27481	return nil
27482}
27483
27484// SetResourceArn sets the ResourceArn field's value.
27485func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
27486	s.ResourceArn = &v
27487	return s
27488}
27489
27490// SetTags sets the Tags field's value.
27491func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
27492	s.Tags = v
27493	return s
27494}
27495
27496type TagResourceOutput struct {
27497	_ struct{} `type:"structure"`
27498}
27499
27500// String returns the string representation
27501func (s TagResourceOutput) String() string {
27502	return awsutil.Prettify(s)
27503}
27504
27505// GoString returns the string representation
27506func (s TagResourceOutput) GoString() string {
27507	return s.String()
27508}
27509
27510// Details about the threat intelligence related to a finding.
27511type ThreatIntelIndicator struct {
27512	_ struct{} `type:"structure"`
27513
27514	// The category of a threat intelligence indicator.
27515	Category *string `type:"string" enum:"ThreatIntelIndicatorCategory"`
27516
27517	// Indicates when the most recent instance of a threat intelligence indicator
27518	// was observed.
27519	//
27520	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
27521	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
27522	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
27523	LastObservedAt *string `type:"string"`
27524
27525	// The source of the threat intelligence indicator.
27526	Source *string `type:"string"`
27527
27528	// The URL to the page or site where you can get more information about the
27529	// threat intelligence indicator.
27530	SourceUrl *string `type:"string"`
27531
27532	// The type of threat intelligence indicator.
27533	Type *string `type:"string" enum:"ThreatIntelIndicatorType"`
27534
27535	// The value of a threat intelligence indicator.
27536	Value *string `type:"string"`
27537}
27538
27539// String returns the string representation
27540func (s ThreatIntelIndicator) String() string {
27541	return awsutil.Prettify(s)
27542}
27543
27544// GoString returns the string representation
27545func (s ThreatIntelIndicator) GoString() string {
27546	return s.String()
27547}
27548
27549// SetCategory sets the Category field's value.
27550func (s *ThreatIntelIndicator) SetCategory(v string) *ThreatIntelIndicator {
27551	s.Category = &v
27552	return s
27553}
27554
27555// SetLastObservedAt sets the LastObservedAt field's value.
27556func (s *ThreatIntelIndicator) SetLastObservedAt(v string) *ThreatIntelIndicator {
27557	s.LastObservedAt = &v
27558	return s
27559}
27560
27561// SetSource sets the Source field's value.
27562func (s *ThreatIntelIndicator) SetSource(v string) *ThreatIntelIndicator {
27563	s.Source = &v
27564	return s
27565}
27566
27567// SetSourceUrl sets the SourceUrl field's value.
27568func (s *ThreatIntelIndicator) SetSourceUrl(v string) *ThreatIntelIndicator {
27569	s.SourceUrl = &v
27570	return s
27571}
27572
27573// SetType sets the Type field's value.
27574func (s *ThreatIntelIndicator) SetType(v string) *ThreatIntelIndicator {
27575	s.Type = &v
27576	return s
27577}
27578
27579// SetValue sets the Value field's value.
27580func (s *ThreatIntelIndicator) SetValue(v string) *ThreatIntelIndicator {
27581	s.Value = &v
27582	return s
27583}
27584
27585type UntagResourceInput struct {
27586	_ struct{} `type:"structure"`
27587
27588	// The ARN of the resource to remove the tags from.
27589	//
27590	// ResourceArn is a required field
27591	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
27592
27593	// The tag keys associated with the tags to remove from the resource.
27594	//
27595	// TagKeys is a required field
27596	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
27597}
27598
27599// String returns the string representation
27600func (s UntagResourceInput) String() string {
27601	return awsutil.Prettify(s)
27602}
27603
27604// GoString returns the string representation
27605func (s UntagResourceInput) GoString() string {
27606	return s.String()
27607}
27608
27609// Validate inspects the fields of the type to determine if they are valid.
27610func (s *UntagResourceInput) Validate() error {
27611	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
27612	if s.ResourceArn == nil {
27613		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
27614	}
27615	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
27616		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
27617	}
27618	if s.TagKeys == nil {
27619		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
27620	}
27621	if s.TagKeys != nil && len(s.TagKeys) < 1 {
27622		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
27623	}
27624
27625	if invalidParams.Len() > 0 {
27626		return invalidParams
27627	}
27628	return nil
27629}
27630
27631// SetResourceArn sets the ResourceArn field's value.
27632func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
27633	s.ResourceArn = &v
27634	return s
27635}
27636
27637// SetTagKeys sets the TagKeys field's value.
27638func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
27639	s.TagKeys = v
27640	return s
27641}
27642
27643type UntagResourceOutput struct {
27644	_ struct{} `type:"structure"`
27645}
27646
27647// String returns the string representation
27648func (s UntagResourceOutput) String() string {
27649	return awsutil.Prettify(s)
27650}
27651
27652// GoString returns the string representation
27653func (s UntagResourceOutput) GoString() string {
27654	return s.String()
27655}
27656
27657type UpdateActionTargetInput struct {
27658	_ struct{} `type:"structure"`
27659
27660	// The ARN of the custom action target to update.
27661	//
27662	// ActionTargetArn is a required field
27663	ActionTargetArn *string `location:"uri" locationName:"ActionTargetArn" type:"string" required:"true"`
27664
27665	// The updated description for the custom action target.
27666	Description *string `type:"string"`
27667
27668	// The updated name of the custom action target.
27669	Name *string `type:"string"`
27670}
27671
27672// String returns the string representation
27673func (s UpdateActionTargetInput) String() string {
27674	return awsutil.Prettify(s)
27675}
27676
27677// GoString returns the string representation
27678func (s UpdateActionTargetInput) GoString() string {
27679	return s.String()
27680}
27681
27682// Validate inspects the fields of the type to determine if they are valid.
27683func (s *UpdateActionTargetInput) Validate() error {
27684	invalidParams := request.ErrInvalidParams{Context: "UpdateActionTargetInput"}
27685	if s.ActionTargetArn == nil {
27686		invalidParams.Add(request.NewErrParamRequired("ActionTargetArn"))
27687	}
27688	if s.ActionTargetArn != nil && len(*s.ActionTargetArn) < 1 {
27689		invalidParams.Add(request.NewErrParamMinLen("ActionTargetArn", 1))
27690	}
27691
27692	if invalidParams.Len() > 0 {
27693		return invalidParams
27694	}
27695	return nil
27696}
27697
27698// SetActionTargetArn sets the ActionTargetArn field's value.
27699func (s *UpdateActionTargetInput) SetActionTargetArn(v string) *UpdateActionTargetInput {
27700	s.ActionTargetArn = &v
27701	return s
27702}
27703
27704// SetDescription sets the Description field's value.
27705func (s *UpdateActionTargetInput) SetDescription(v string) *UpdateActionTargetInput {
27706	s.Description = &v
27707	return s
27708}
27709
27710// SetName sets the Name field's value.
27711func (s *UpdateActionTargetInput) SetName(v string) *UpdateActionTargetInput {
27712	s.Name = &v
27713	return s
27714}
27715
27716type UpdateActionTargetOutput struct {
27717	_ struct{} `type:"structure"`
27718}
27719
27720// String returns the string representation
27721func (s UpdateActionTargetOutput) String() string {
27722	return awsutil.Prettify(s)
27723}
27724
27725// GoString returns the string representation
27726func (s UpdateActionTargetOutput) GoString() string {
27727	return s.String()
27728}
27729
27730type UpdateFindingsInput struct {
27731	_ struct{} `type:"structure"`
27732
27733	// A collection of attributes that specify which findings you want to update.
27734	//
27735	// Filters is a required field
27736	Filters *AwsSecurityFindingFilters `type:"structure" required:"true"`
27737
27738	// The updated note for the finding.
27739	Note *NoteUpdate `type:"structure"`
27740
27741	// The updated record state for the finding.
27742	RecordState *string `type:"string" enum:"RecordState"`
27743}
27744
27745// String returns the string representation
27746func (s UpdateFindingsInput) String() string {
27747	return awsutil.Prettify(s)
27748}
27749
27750// GoString returns the string representation
27751func (s UpdateFindingsInput) GoString() string {
27752	return s.String()
27753}
27754
27755// Validate inspects the fields of the type to determine if they are valid.
27756func (s *UpdateFindingsInput) Validate() error {
27757	invalidParams := request.ErrInvalidParams{Context: "UpdateFindingsInput"}
27758	if s.Filters == nil {
27759		invalidParams.Add(request.NewErrParamRequired("Filters"))
27760	}
27761	if s.Note != nil {
27762		if err := s.Note.Validate(); err != nil {
27763			invalidParams.AddNested("Note", err.(request.ErrInvalidParams))
27764		}
27765	}
27766
27767	if invalidParams.Len() > 0 {
27768		return invalidParams
27769	}
27770	return nil
27771}
27772
27773// SetFilters sets the Filters field's value.
27774func (s *UpdateFindingsInput) SetFilters(v *AwsSecurityFindingFilters) *UpdateFindingsInput {
27775	s.Filters = v
27776	return s
27777}
27778
27779// SetNote sets the Note field's value.
27780func (s *UpdateFindingsInput) SetNote(v *NoteUpdate) *UpdateFindingsInput {
27781	s.Note = v
27782	return s
27783}
27784
27785// SetRecordState sets the RecordState field's value.
27786func (s *UpdateFindingsInput) SetRecordState(v string) *UpdateFindingsInput {
27787	s.RecordState = &v
27788	return s
27789}
27790
27791type UpdateFindingsOutput struct {
27792	_ struct{} `type:"structure"`
27793}
27794
27795// String returns the string representation
27796func (s UpdateFindingsOutput) String() string {
27797	return awsutil.Prettify(s)
27798}
27799
27800// GoString returns the string representation
27801func (s UpdateFindingsOutput) GoString() string {
27802	return s.String()
27803}
27804
27805type UpdateInsightInput struct {
27806	_ struct{} `type:"structure"`
27807
27808	// The updated filters that define this insight.
27809	Filters *AwsSecurityFindingFilters `type:"structure"`
27810
27811	// The updated GroupBy attribute that defines this insight.
27812	GroupByAttribute *string `type:"string"`
27813
27814	// The ARN of the insight that you want to update.
27815	//
27816	// InsightArn is a required field
27817	InsightArn *string `location:"uri" locationName:"InsightArn" type:"string" required:"true"`
27818
27819	// The updated name for the insight.
27820	Name *string `type:"string"`
27821}
27822
27823// String returns the string representation
27824func (s UpdateInsightInput) String() string {
27825	return awsutil.Prettify(s)
27826}
27827
27828// GoString returns the string representation
27829func (s UpdateInsightInput) GoString() string {
27830	return s.String()
27831}
27832
27833// Validate inspects the fields of the type to determine if they are valid.
27834func (s *UpdateInsightInput) Validate() error {
27835	invalidParams := request.ErrInvalidParams{Context: "UpdateInsightInput"}
27836	if s.InsightArn == nil {
27837		invalidParams.Add(request.NewErrParamRequired("InsightArn"))
27838	}
27839	if s.InsightArn != nil && len(*s.InsightArn) < 1 {
27840		invalidParams.Add(request.NewErrParamMinLen("InsightArn", 1))
27841	}
27842
27843	if invalidParams.Len() > 0 {
27844		return invalidParams
27845	}
27846	return nil
27847}
27848
27849// SetFilters sets the Filters field's value.
27850func (s *UpdateInsightInput) SetFilters(v *AwsSecurityFindingFilters) *UpdateInsightInput {
27851	s.Filters = v
27852	return s
27853}
27854
27855// SetGroupByAttribute sets the GroupByAttribute field's value.
27856func (s *UpdateInsightInput) SetGroupByAttribute(v string) *UpdateInsightInput {
27857	s.GroupByAttribute = &v
27858	return s
27859}
27860
27861// SetInsightArn sets the InsightArn field's value.
27862func (s *UpdateInsightInput) SetInsightArn(v string) *UpdateInsightInput {
27863	s.InsightArn = &v
27864	return s
27865}
27866
27867// SetName sets the Name field's value.
27868func (s *UpdateInsightInput) SetName(v string) *UpdateInsightInput {
27869	s.Name = &v
27870	return s
27871}
27872
27873type UpdateInsightOutput struct {
27874	_ struct{} `type:"structure"`
27875}
27876
27877// String returns the string representation
27878func (s UpdateInsightOutput) String() string {
27879	return awsutil.Prettify(s)
27880}
27881
27882// GoString returns the string representation
27883func (s UpdateInsightOutput) GoString() string {
27884	return s.String()
27885}
27886
27887type UpdateOrganizationConfigurationInput struct {
27888	_ struct{} `type:"structure"`
27889
27890	// Whether to automatically enable Security Hub for new accounts in the organization.
27891	//
27892	// By default, this is false, and new accounts are not added automatically.
27893	//
27894	// To automatically enable Security Hub for new accounts, set this to true.
27895	//
27896	// AutoEnable is a required field
27897	AutoEnable *bool `type:"boolean" required:"true"`
27898}
27899
27900// String returns the string representation
27901func (s UpdateOrganizationConfigurationInput) String() string {
27902	return awsutil.Prettify(s)
27903}
27904
27905// GoString returns the string representation
27906func (s UpdateOrganizationConfigurationInput) GoString() string {
27907	return s.String()
27908}
27909
27910// Validate inspects the fields of the type to determine if they are valid.
27911func (s *UpdateOrganizationConfigurationInput) Validate() error {
27912	invalidParams := request.ErrInvalidParams{Context: "UpdateOrganizationConfigurationInput"}
27913	if s.AutoEnable == nil {
27914		invalidParams.Add(request.NewErrParamRequired("AutoEnable"))
27915	}
27916
27917	if invalidParams.Len() > 0 {
27918		return invalidParams
27919	}
27920	return nil
27921}
27922
27923// SetAutoEnable sets the AutoEnable field's value.
27924func (s *UpdateOrganizationConfigurationInput) SetAutoEnable(v bool) *UpdateOrganizationConfigurationInput {
27925	s.AutoEnable = &v
27926	return s
27927}
27928
27929type UpdateOrganizationConfigurationOutput struct {
27930	_ struct{} `type:"structure"`
27931}
27932
27933// String returns the string representation
27934func (s UpdateOrganizationConfigurationOutput) String() string {
27935	return awsutil.Prettify(s)
27936}
27937
27938// GoString returns the string representation
27939func (s UpdateOrganizationConfigurationOutput) GoString() string {
27940	return s.String()
27941}
27942
27943type UpdateSecurityHubConfigurationInput struct {
27944	_ struct{} `type:"structure"`
27945
27946	// Whether to automatically enable new controls when they are added to standards
27947	// that are enabled.
27948	//
27949	// By default, this is set to true, and new controls are enabled automatically.
27950	// To not automatically enable new controls, set this to false.
27951	AutoEnableControls *bool `type:"boolean"`
27952}
27953
27954// String returns the string representation
27955func (s UpdateSecurityHubConfigurationInput) String() string {
27956	return awsutil.Prettify(s)
27957}
27958
27959// GoString returns the string representation
27960func (s UpdateSecurityHubConfigurationInput) GoString() string {
27961	return s.String()
27962}
27963
27964// SetAutoEnableControls sets the AutoEnableControls field's value.
27965func (s *UpdateSecurityHubConfigurationInput) SetAutoEnableControls(v bool) *UpdateSecurityHubConfigurationInput {
27966	s.AutoEnableControls = &v
27967	return s
27968}
27969
27970type UpdateSecurityHubConfigurationOutput struct {
27971	_ struct{} `type:"structure"`
27972}
27973
27974// String returns the string representation
27975func (s UpdateSecurityHubConfigurationOutput) String() string {
27976	return awsutil.Prettify(s)
27977}
27978
27979// GoString returns the string representation
27980func (s UpdateSecurityHubConfigurationOutput) GoString() string {
27981	return s.String()
27982}
27983
27984type UpdateStandardsControlInput struct {
27985	_ struct{} `type:"structure"`
27986
27987	// The updated status of the security standard control.
27988	ControlStatus *string `type:"string" enum:"ControlStatus"`
27989
27990	// A description of the reason why you are disabling a security standard control.
27991	// If you are disabling a control, then this is required.
27992	DisabledReason *string `type:"string"`
27993
27994	// The ARN of the security standard control to enable or disable.
27995	//
27996	// StandardsControlArn is a required field
27997	StandardsControlArn *string `location:"uri" locationName:"StandardsControlArn" type:"string" required:"true"`
27998}
27999
28000// String returns the string representation
28001func (s UpdateStandardsControlInput) String() string {
28002	return awsutil.Prettify(s)
28003}
28004
28005// GoString returns the string representation
28006func (s UpdateStandardsControlInput) GoString() string {
28007	return s.String()
28008}
28009
28010// Validate inspects the fields of the type to determine if they are valid.
28011func (s *UpdateStandardsControlInput) Validate() error {
28012	invalidParams := request.ErrInvalidParams{Context: "UpdateStandardsControlInput"}
28013	if s.StandardsControlArn == nil {
28014		invalidParams.Add(request.NewErrParamRequired("StandardsControlArn"))
28015	}
28016	if s.StandardsControlArn != nil && len(*s.StandardsControlArn) < 1 {
28017		invalidParams.Add(request.NewErrParamMinLen("StandardsControlArn", 1))
28018	}
28019
28020	if invalidParams.Len() > 0 {
28021		return invalidParams
28022	}
28023	return nil
28024}
28025
28026// SetControlStatus sets the ControlStatus field's value.
28027func (s *UpdateStandardsControlInput) SetControlStatus(v string) *UpdateStandardsControlInput {
28028	s.ControlStatus = &v
28029	return s
28030}
28031
28032// SetDisabledReason sets the DisabledReason field's value.
28033func (s *UpdateStandardsControlInput) SetDisabledReason(v string) *UpdateStandardsControlInput {
28034	s.DisabledReason = &v
28035	return s
28036}
28037
28038// SetStandardsControlArn sets the StandardsControlArn field's value.
28039func (s *UpdateStandardsControlInput) SetStandardsControlArn(v string) *UpdateStandardsControlInput {
28040	s.StandardsControlArn = &v
28041	return s
28042}
28043
28044type UpdateStandardsControlOutput struct {
28045	_ struct{} `type:"structure"`
28046}
28047
28048// String returns the string representation
28049func (s UpdateStandardsControlOutput) String() string {
28050	return awsutil.Prettify(s)
28051}
28052
28053// GoString returns the string representation
28054func (s UpdateStandardsControlOutput) GoString() string {
28055	return s.String()
28056}
28057
28058// A vulnerability associated with a finding.
28059type Vulnerability struct {
28060	_ struct{} `type:"structure"`
28061
28062	// CVSS scores from the advisory related to the vulnerability.
28063	Cvss []*Cvss `type:"list"`
28064
28065	// The identifier of the vulnerability.
28066	//
28067	// Id is a required field
28068	Id *string `type:"string" required:"true"`
28069
28070	// A list of URLs that provide additional information about the vulnerability.
28071	ReferenceUrls []*string `type:"list"`
28072
28073	// List of vulnerabilities that are related to this vulnerability.
28074	RelatedVulnerabilities []*string `type:"list"`
28075
28076	// Information about the vendor that generates the vulnerability report.
28077	Vendor *VulnerabilityVendor `type:"structure"`
28078
28079	// List of software packages that have the vulnerability.
28080	VulnerablePackages []*SoftwarePackage `type:"list"`
28081}
28082
28083// String returns the string representation
28084func (s Vulnerability) String() string {
28085	return awsutil.Prettify(s)
28086}
28087
28088// GoString returns the string representation
28089func (s Vulnerability) GoString() string {
28090	return s.String()
28091}
28092
28093// Validate inspects the fields of the type to determine if they are valid.
28094func (s *Vulnerability) Validate() error {
28095	invalidParams := request.ErrInvalidParams{Context: "Vulnerability"}
28096	if s.Id == nil {
28097		invalidParams.Add(request.NewErrParamRequired("Id"))
28098	}
28099	if s.Vendor != nil {
28100		if err := s.Vendor.Validate(); err != nil {
28101			invalidParams.AddNested("Vendor", err.(request.ErrInvalidParams))
28102		}
28103	}
28104
28105	if invalidParams.Len() > 0 {
28106		return invalidParams
28107	}
28108	return nil
28109}
28110
28111// SetCvss sets the Cvss field's value.
28112func (s *Vulnerability) SetCvss(v []*Cvss) *Vulnerability {
28113	s.Cvss = v
28114	return s
28115}
28116
28117// SetId sets the Id field's value.
28118func (s *Vulnerability) SetId(v string) *Vulnerability {
28119	s.Id = &v
28120	return s
28121}
28122
28123// SetReferenceUrls sets the ReferenceUrls field's value.
28124func (s *Vulnerability) SetReferenceUrls(v []*string) *Vulnerability {
28125	s.ReferenceUrls = v
28126	return s
28127}
28128
28129// SetRelatedVulnerabilities sets the RelatedVulnerabilities field's value.
28130func (s *Vulnerability) SetRelatedVulnerabilities(v []*string) *Vulnerability {
28131	s.RelatedVulnerabilities = v
28132	return s
28133}
28134
28135// SetVendor sets the Vendor field's value.
28136func (s *Vulnerability) SetVendor(v *VulnerabilityVendor) *Vulnerability {
28137	s.Vendor = v
28138	return s
28139}
28140
28141// SetVulnerablePackages sets the VulnerablePackages field's value.
28142func (s *Vulnerability) SetVulnerablePackages(v []*SoftwarePackage) *Vulnerability {
28143	s.VulnerablePackages = v
28144	return s
28145}
28146
28147// A vendor that generates a vulnerability report.
28148type VulnerabilityVendor struct {
28149	_ struct{} `type:"structure"`
28150
28151	// The name of the vendor.
28152	//
28153	// Name is a required field
28154	Name *string `type:"string" required:"true"`
28155
28156	// The URL of the vulnerability advisory.
28157	Url *string `type:"string"`
28158
28159	// Indicates when the vulnerability advisory was created.
28160	//
28161	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
28162	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
28163	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
28164	VendorCreatedAt *string `type:"string"`
28165
28166	// The severity that the vendor assigned to the vulnerability.
28167	VendorSeverity *string `type:"string"`
28168
28169	// Indicates when the vulnerability advisory was last updated.
28170	//
28171	// Uses the date-time format specified in RFC 3339 section 5.6, Internet Date/Time
28172	// Format (https://tools.ietf.org/html/rfc3339#section-5.6). The value cannot
28173	// contain spaces. For example, 2020-03-22T13:22:13.933Z.
28174	VendorUpdatedAt *string `type:"string"`
28175}
28176
28177// String returns the string representation
28178func (s VulnerabilityVendor) String() string {
28179	return awsutil.Prettify(s)
28180}
28181
28182// GoString returns the string representation
28183func (s VulnerabilityVendor) GoString() string {
28184	return s.String()
28185}
28186
28187// Validate inspects the fields of the type to determine if they are valid.
28188func (s *VulnerabilityVendor) Validate() error {
28189	invalidParams := request.ErrInvalidParams{Context: "VulnerabilityVendor"}
28190	if s.Name == nil {
28191		invalidParams.Add(request.NewErrParamRequired("Name"))
28192	}
28193
28194	if invalidParams.Len() > 0 {
28195		return invalidParams
28196	}
28197	return nil
28198}
28199
28200// SetName sets the Name field's value.
28201func (s *VulnerabilityVendor) SetName(v string) *VulnerabilityVendor {
28202	s.Name = &v
28203	return s
28204}
28205
28206// SetUrl sets the Url field's value.
28207func (s *VulnerabilityVendor) SetUrl(v string) *VulnerabilityVendor {
28208	s.Url = &v
28209	return s
28210}
28211
28212// SetVendorCreatedAt sets the VendorCreatedAt field's value.
28213func (s *VulnerabilityVendor) SetVendorCreatedAt(v string) *VulnerabilityVendor {
28214	s.VendorCreatedAt = &v
28215	return s
28216}
28217
28218// SetVendorSeverity sets the VendorSeverity field's value.
28219func (s *VulnerabilityVendor) SetVendorSeverity(v string) *VulnerabilityVendor {
28220	s.VendorSeverity = &v
28221	return s
28222}
28223
28224// SetVendorUpdatedAt sets the VendorUpdatedAt field's value.
28225func (s *VulnerabilityVendor) SetVendorUpdatedAt(v string) *VulnerabilityVendor {
28226	s.VendorUpdatedAt = &v
28227	return s
28228}
28229
28230// Details about the action that CloudFront or AWS WAF takes when a web request
28231// matches the conditions in the rule.
28232type WafAction struct {
28233	_ struct{} `type:"structure"`
28234
28235	// Specifies how you want AWS WAF to respond to requests that match the settings
28236	// in a rule.
28237	//
28238	// Valid settings include the following:
28239	//
28240	//    * ALLOW - AWS WAF allows requests
28241	//
28242	//    * BLOCK - AWS WAF blocks requests
28243	//
28244	//    * COUNT - AWS WAF increments a counter of the requests that match all
28245	//    of the conditions in the rule. AWS WAF then continues to inspect the web
28246	//    request based on the remaining rules in the web ACL. You can't specify
28247	//    COUNT for the default action for a WebACL.
28248	Type *string `type:"string"`
28249}
28250
28251// String returns the string representation
28252func (s WafAction) String() string {
28253	return awsutil.Prettify(s)
28254}
28255
28256// GoString returns the string representation
28257func (s WafAction) GoString() string {
28258	return s.String()
28259}
28260
28261// SetType sets the Type field's value.
28262func (s *WafAction) SetType(v string) *WafAction {
28263	s.Type = &v
28264	return s
28265}
28266
28267// Details about a rule to exclude from a rule group.
28268type WafExcludedRule struct {
28269	_ struct{} `type:"structure"`
28270
28271	// The unique identifier for the rule to exclude from the rule group.
28272	RuleId *string `type:"string"`
28273}
28274
28275// String returns the string representation
28276func (s WafExcludedRule) String() string {
28277	return awsutil.Prettify(s)
28278}
28279
28280// GoString returns the string representation
28281func (s WafExcludedRule) GoString() string {
28282	return s.String()
28283}
28284
28285// SetRuleId sets the RuleId field's value.
28286func (s *WafExcludedRule) SetRuleId(v string) *WafExcludedRule {
28287	s.RuleId = &v
28288	return s
28289}
28290
28291// Details about an override action for a rule.
28292type WafOverrideAction struct {
28293	_ struct{} `type:"structure"`
28294
28295	// COUNT overrides the action specified by the individual rule within a RuleGroup .
28296	//
28297	// If set to NONE, the rule's action takes place.
28298	Type *string `type:"string"`
28299}
28300
28301// String returns the string representation
28302func (s WafOverrideAction) String() string {
28303	return awsutil.Prettify(s)
28304}
28305
28306// GoString returns the string representation
28307func (s WafOverrideAction) GoString() string {
28308	return s.String()
28309}
28310
28311// SetType sets the Type field's value.
28312func (s *WafOverrideAction) SetType(v string) *WafOverrideAction {
28313	s.Type = &v
28314	return s
28315}
28316
28317// Provides information about the status of the investigation into a finding.
28318type Workflow struct {
28319	_ struct{} `type:"structure"`
28320
28321	// The status of the investigation into the finding. The allowed values are
28322	// the following.
28323	//
28324	//    * NEW - The initial state of a finding, before it is reviewed. Security
28325	//    Hub also resets the workflow status from NOTIFIED or RESOLVED to NEW in
28326	//    the following cases: RecordState changes from ARCHIVED to ACTIVE. ComplianceStatus
28327	//    changes from PASSED to either WARNING, FAILED, or NOT_AVAILABLE.
28328	//
28329	//    * NOTIFIED - Indicates that you notified the resource owner about the
28330	//    security issue. Used when the initial reviewer is not the resource owner,
28331	//    and needs intervention from the resource owner.
28332	//
28333	//    * SUPPRESSED - The finding will not be reviewed again and will not be
28334	//    acted upon.
28335	//
28336	//    * RESOLVED - The finding was reviewed and remediated and is now considered
28337	//    resolved.
28338	Status *string `type:"string" enum:"WorkflowStatus"`
28339}
28340
28341// String returns the string representation
28342func (s Workflow) String() string {
28343	return awsutil.Prettify(s)
28344}
28345
28346// GoString returns the string representation
28347func (s Workflow) GoString() string {
28348	return s.String()
28349}
28350
28351// SetStatus sets the Status field's value.
28352func (s *Workflow) SetStatus(v string) *Workflow {
28353	s.Status = &v
28354	return s
28355}
28356
28357// Used to update information about the investigation into the finding.
28358type WorkflowUpdate struct {
28359	_ struct{} `type:"structure"`
28360
28361	// The status of the investigation into the finding. The allowed values are
28362	// the following.
28363	//
28364	//    * NEW - The initial state of a finding, before it is reviewed. Security
28365	//    Hub also resets WorkFlowStatus from NOTIFIED or RESOLVED to NEW in the
28366	//    following cases: The record state changes from ARCHIVED to ACTIVE. The
28367	//    compliance status changes from PASSED to either WARNING, FAILED, or NOT_AVAILABLE.
28368	//
28369	//    * NOTIFIED - Indicates that you notified the resource owner about the
28370	//    security issue. Used when the initial reviewer is not the resource owner,
28371	//    and needs intervention from the resource owner.
28372	//
28373	//    * RESOLVED - The finding was reviewed and remediated and is now considered
28374	//    resolved.
28375	//
28376	//    * SUPPRESSED - The finding will not be reviewed again and will not be
28377	//    acted upon.
28378	Status *string `type:"string" enum:"WorkflowStatus"`
28379}
28380
28381// String returns the string representation
28382func (s WorkflowUpdate) String() string {
28383	return awsutil.Prettify(s)
28384}
28385
28386// GoString returns the string representation
28387func (s WorkflowUpdate) GoString() string {
28388	return s.String()
28389}
28390
28391// SetStatus sets the Status field's value.
28392func (s *WorkflowUpdate) SetStatus(v string) *WorkflowUpdate {
28393	s.Status = &v
28394	return s
28395}
28396
28397const (
28398	// AdminStatusEnabled is a AdminStatus enum value
28399	AdminStatusEnabled = "ENABLED"
28400
28401	// AdminStatusDisableInProgress is a AdminStatus enum value
28402	AdminStatusDisableInProgress = "DISABLE_IN_PROGRESS"
28403)
28404
28405// AdminStatus_Values returns all elements of the AdminStatus enum
28406func AdminStatus_Values() []string {
28407	return []string{
28408		AdminStatusEnabled,
28409		AdminStatusDisableInProgress,
28410	}
28411}
28412
28413const (
28414	// AwsIamAccessKeyStatusActive is a AwsIamAccessKeyStatus enum value
28415	AwsIamAccessKeyStatusActive = "Active"
28416
28417	// AwsIamAccessKeyStatusInactive is a AwsIamAccessKeyStatus enum value
28418	AwsIamAccessKeyStatusInactive = "Inactive"
28419)
28420
28421// AwsIamAccessKeyStatus_Values returns all elements of the AwsIamAccessKeyStatus enum
28422func AwsIamAccessKeyStatus_Values() []string {
28423	return []string{
28424		AwsIamAccessKeyStatusActive,
28425		AwsIamAccessKeyStatusInactive,
28426	}
28427}
28428
28429const (
28430	// ComplianceStatusPassed is a ComplianceStatus enum value
28431	ComplianceStatusPassed = "PASSED"
28432
28433	// ComplianceStatusWarning is a ComplianceStatus enum value
28434	ComplianceStatusWarning = "WARNING"
28435
28436	// ComplianceStatusFailed is a ComplianceStatus enum value
28437	ComplianceStatusFailed = "FAILED"
28438
28439	// ComplianceStatusNotAvailable is a ComplianceStatus enum value
28440	ComplianceStatusNotAvailable = "NOT_AVAILABLE"
28441)
28442
28443// ComplianceStatus_Values returns all elements of the ComplianceStatus enum
28444func ComplianceStatus_Values() []string {
28445	return []string{
28446		ComplianceStatusPassed,
28447		ComplianceStatusWarning,
28448		ComplianceStatusFailed,
28449		ComplianceStatusNotAvailable,
28450	}
28451}
28452
28453const (
28454	// ControlStatusEnabled is a ControlStatus enum value
28455	ControlStatusEnabled = "ENABLED"
28456
28457	// ControlStatusDisabled is a ControlStatus enum value
28458	ControlStatusDisabled = "DISABLED"
28459)
28460
28461// ControlStatus_Values returns all elements of the ControlStatus enum
28462func ControlStatus_Values() []string {
28463	return []string{
28464		ControlStatusEnabled,
28465		ControlStatusDisabled,
28466	}
28467}
28468
28469const (
28470	// DateRangeUnitDays is a DateRangeUnit enum value
28471	DateRangeUnitDays = "DAYS"
28472)
28473
28474// DateRangeUnit_Values returns all elements of the DateRangeUnit enum
28475func DateRangeUnit_Values() []string {
28476	return []string{
28477		DateRangeUnitDays,
28478	}
28479}
28480
28481const (
28482	// IntegrationTypeSendFindingsToSecurityHub is a IntegrationType enum value
28483	IntegrationTypeSendFindingsToSecurityHub = "SEND_FINDINGS_TO_SECURITY_HUB"
28484
28485	// IntegrationTypeReceiveFindingsFromSecurityHub is a IntegrationType enum value
28486	IntegrationTypeReceiveFindingsFromSecurityHub = "RECEIVE_FINDINGS_FROM_SECURITY_HUB"
28487
28488	// IntegrationTypeUpdateFindingsInSecurityHub is a IntegrationType enum value
28489	IntegrationTypeUpdateFindingsInSecurityHub = "UPDATE_FINDINGS_IN_SECURITY_HUB"
28490)
28491
28492// IntegrationType_Values returns all elements of the IntegrationType enum
28493func IntegrationType_Values() []string {
28494	return []string{
28495		IntegrationTypeSendFindingsToSecurityHub,
28496		IntegrationTypeReceiveFindingsFromSecurityHub,
28497		IntegrationTypeUpdateFindingsInSecurityHub,
28498	}
28499}
28500
28501const (
28502	// MalwareStateObserved is a MalwareState enum value
28503	MalwareStateObserved = "OBSERVED"
28504
28505	// MalwareStateRemovalFailed is a MalwareState enum value
28506	MalwareStateRemovalFailed = "REMOVAL_FAILED"
28507
28508	// MalwareStateRemoved is a MalwareState enum value
28509	MalwareStateRemoved = "REMOVED"
28510)
28511
28512// MalwareState_Values returns all elements of the MalwareState enum
28513func MalwareState_Values() []string {
28514	return []string{
28515		MalwareStateObserved,
28516		MalwareStateRemovalFailed,
28517		MalwareStateRemoved,
28518	}
28519}
28520
28521const (
28522	// MalwareTypeAdware is a MalwareType enum value
28523	MalwareTypeAdware = "ADWARE"
28524
28525	// MalwareTypeBlendedThreat is a MalwareType enum value
28526	MalwareTypeBlendedThreat = "BLENDED_THREAT"
28527
28528	// MalwareTypeBotnetAgent is a MalwareType enum value
28529	MalwareTypeBotnetAgent = "BOTNET_AGENT"
28530
28531	// MalwareTypeCoinMiner is a MalwareType enum value
28532	MalwareTypeCoinMiner = "COIN_MINER"
28533
28534	// MalwareTypeExploitKit is a MalwareType enum value
28535	MalwareTypeExploitKit = "EXPLOIT_KIT"
28536
28537	// MalwareTypeKeylogger is a MalwareType enum value
28538	MalwareTypeKeylogger = "KEYLOGGER"
28539
28540	// MalwareTypeMacro is a MalwareType enum value
28541	MalwareTypeMacro = "MACRO"
28542
28543	// MalwareTypePotentiallyUnwanted is a MalwareType enum value
28544	MalwareTypePotentiallyUnwanted = "POTENTIALLY_UNWANTED"
28545
28546	// MalwareTypeSpyware is a MalwareType enum value
28547	MalwareTypeSpyware = "SPYWARE"
28548
28549	// MalwareTypeRansomware is a MalwareType enum value
28550	MalwareTypeRansomware = "RANSOMWARE"
28551
28552	// MalwareTypeRemoteAccess is a MalwareType enum value
28553	MalwareTypeRemoteAccess = "REMOTE_ACCESS"
28554
28555	// MalwareTypeRootkit is a MalwareType enum value
28556	MalwareTypeRootkit = "ROOTKIT"
28557
28558	// MalwareTypeTrojan is a MalwareType enum value
28559	MalwareTypeTrojan = "TROJAN"
28560
28561	// MalwareTypeVirus is a MalwareType enum value
28562	MalwareTypeVirus = "VIRUS"
28563
28564	// MalwareTypeWorm is a MalwareType enum value
28565	MalwareTypeWorm = "WORM"
28566)
28567
28568// MalwareType_Values returns all elements of the MalwareType enum
28569func MalwareType_Values() []string {
28570	return []string{
28571		MalwareTypeAdware,
28572		MalwareTypeBlendedThreat,
28573		MalwareTypeBotnetAgent,
28574		MalwareTypeCoinMiner,
28575		MalwareTypeExploitKit,
28576		MalwareTypeKeylogger,
28577		MalwareTypeMacro,
28578		MalwareTypePotentiallyUnwanted,
28579		MalwareTypeSpyware,
28580		MalwareTypeRansomware,
28581		MalwareTypeRemoteAccess,
28582		MalwareTypeRootkit,
28583		MalwareTypeTrojan,
28584		MalwareTypeVirus,
28585		MalwareTypeWorm,
28586	}
28587}
28588
28589const (
28590	// MapFilterComparisonEquals is a MapFilterComparison enum value
28591	MapFilterComparisonEquals = "EQUALS"
28592
28593	// MapFilterComparisonNotEquals is a MapFilterComparison enum value
28594	MapFilterComparisonNotEquals = "NOT_EQUALS"
28595)
28596
28597// MapFilterComparison_Values returns all elements of the MapFilterComparison enum
28598func MapFilterComparison_Values() []string {
28599	return []string{
28600		MapFilterComparisonEquals,
28601		MapFilterComparisonNotEquals,
28602	}
28603}
28604
28605const (
28606	// NetworkDirectionIn is a NetworkDirection enum value
28607	NetworkDirectionIn = "IN"
28608
28609	// NetworkDirectionOut is a NetworkDirection enum value
28610	NetworkDirectionOut = "OUT"
28611)
28612
28613// NetworkDirection_Values returns all elements of the NetworkDirection enum
28614func NetworkDirection_Values() []string {
28615	return []string{
28616		NetworkDirectionIn,
28617		NetworkDirectionOut,
28618	}
28619}
28620
28621const (
28622	// PartitionAws is a Partition enum value
28623	PartitionAws = "aws"
28624
28625	// PartitionAwsCn is a Partition enum value
28626	PartitionAwsCn = "aws-cn"
28627
28628	// PartitionAwsUsGov is a Partition enum value
28629	PartitionAwsUsGov = "aws-us-gov"
28630)
28631
28632// Partition_Values returns all elements of the Partition enum
28633func Partition_Values() []string {
28634	return []string{
28635		PartitionAws,
28636		PartitionAwsCn,
28637		PartitionAwsUsGov,
28638	}
28639}
28640
28641const (
28642	// RecordStateActive is a RecordState enum value
28643	RecordStateActive = "ACTIVE"
28644
28645	// RecordStateArchived is a RecordState enum value
28646	RecordStateArchived = "ARCHIVED"
28647)
28648
28649// RecordState_Values returns all elements of the RecordState enum
28650func RecordState_Values() []string {
28651	return []string{
28652		RecordStateActive,
28653		RecordStateArchived,
28654	}
28655}
28656
28657const (
28658	// SeverityLabelInformational is a SeverityLabel enum value
28659	SeverityLabelInformational = "INFORMATIONAL"
28660
28661	// SeverityLabelLow is a SeverityLabel enum value
28662	SeverityLabelLow = "LOW"
28663
28664	// SeverityLabelMedium is a SeverityLabel enum value
28665	SeverityLabelMedium = "MEDIUM"
28666
28667	// SeverityLabelHigh is a SeverityLabel enum value
28668	SeverityLabelHigh = "HIGH"
28669
28670	// SeverityLabelCritical is a SeverityLabel enum value
28671	SeverityLabelCritical = "CRITICAL"
28672)
28673
28674// SeverityLabel_Values returns all elements of the SeverityLabel enum
28675func SeverityLabel_Values() []string {
28676	return []string{
28677		SeverityLabelInformational,
28678		SeverityLabelLow,
28679		SeverityLabelMedium,
28680		SeverityLabelHigh,
28681		SeverityLabelCritical,
28682	}
28683}
28684
28685const (
28686	// SeverityRatingLow is a SeverityRating enum value
28687	SeverityRatingLow = "LOW"
28688
28689	// SeverityRatingMedium is a SeverityRating enum value
28690	SeverityRatingMedium = "MEDIUM"
28691
28692	// SeverityRatingHigh is a SeverityRating enum value
28693	SeverityRatingHigh = "HIGH"
28694
28695	// SeverityRatingCritical is a SeverityRating enum value
28696	SeverityRatingCritical = "CRITICAL"
28697)
28698
28699// SeverityRating_Values returns all elements of the SeverityRating enum
28700func SeverityRating_Values() []string {
28701	return []string{
28702		SeverityRatingLow,
28703		SeverityRatingMedium,
28704		SeverityRatingHigh,
28705		SeverityRatingCritical,
28706	}
28707}
28708
28709const (
28710	// SortOrderAsc is a SortOrder enum value
28711	SortOrderAsc = "asc"
28712
28713	// SortOrderDesc is a SortOrder enum value
28714	SortOrderDesc = "desc"
28715)
28716
28717// SortOrder_Values returns all elements of the SortOrder enum
28718func SortOrder_Values() []string {
28719	return []string{
28720		SortOrderAsc,
28721		SortOrderDesc,
28722	}
28723}
28724
28725const (
28726	// StandardsStatusPending is a StandardsStatus enum value
28727	StandardsStatusPending = "PENDING"
28728
28729	// StandardsStatusReady is a StandardsStatus enum value
28730	StandardsStatusReady = "READY"
28731
28732	// StandardsStatusFailed is a StandardsStatus enum value
28733	StandardsStatusFailed = "FAILED"
28734
28735	// StandardsStatusDeleting is a StandardsStatus enum value
28736	StandardsStatusDeleting = "DELETING"
28737
28738	// StandardsStatusIncomplete is a StandardsStatus enum value
28739	StandardsStatusIncomplete = "INCOMPLETE"
28740)
28741
28742// StandardsStatus_Values returns all elements of the StandardsStatus enum
28743func StandardsStatus_Values() []string {
28744	return []string{
28745		StandardsStatusPending,
28746		StandardsStatusReady,
28747		StandardsStatusFailed,
28748		StandardsStatusDeleting,
28749		StandardsStatusIncomplete,
28750	}
28751}
28752
28753const (
28754	// StringFilterComparisonEquals is a StringFilterComparison enum value
28755	StringFilterComparisonEquals = "EQUALS"
28756
28757	// StringFilterComparisonPrefix is a StringFilterComparison enum value
28758	StringFilterComparisonPrefix = "PREFIX"
28759
28760	// StringFilterComparisonNotEquals is a StringFilterComparison enum value
28761	StringFilterComparisonNotEquals = "NOT_EQUALS"
28762
28763	// StringFilterComparisonPrefixNotEquals is a StringFilterComparison enum value
28764	StringFilterComparisonPrefixNotEquals = "PREFIX_NOT_EQUALS"
28765)
28766
28767// StringFilterComparison_Values returns all elements of the StringFilterComparison enum
28768func StringFilterComparison_Values() []string {
28769	return []string{
28770		StringFilterComparisonEquals,
28771		StringFilterComparisonPrefix,
28772		StringFilterComparisonNotEquals,
28773		StringFilterComparisonPrefixNotEquals,
28774	}
28775}
28776
28777const (
28778	// ThreatIntelIndicatorCategoryBackdoor is a ThreatIntelIndicatorCategory enum value
28779	ThreatIntelIndicatorCategoryBackdoor = "BACKDOOR"
28780
28781	// ThreatIntelIndicatorCategoryCardStealer is a ThreatIntelIndicatorCategory enum value
28782	ThreatIntelIndicatorCategoryCardStealer = "CARD_STEALER"
28783
28784	// ThreatIntelIndicatorCategoryCommandAndControl is a ThreatIntelIndicatorCategory enum value
28785	ThreatIntelIndicatorCategoryCommandAndControl = "COMMAND_AND_CONTROL"
28786
28787	// ThreatIntelIndicatorCategoryDropSite is a ThreatIntelIndicatorCategory enum value
28788	ThreatIntelIndicatorCategoryDropSite = "DROP_SITE"
28789
28790	// ThreatIntelIndicatorCategoryExploitSite is a ThreatIntelIndicatorCategory enum value
28791	ThreatIntelIndicatorCategoryExploitSite = "EXPLOIT_SITE"
28792
28793	// ThreatIntelIndicatorCategoryKeylogger is a ThreatIntelIndicatorCategory enum value
28794	ThreatIntelIndicatorCategoryKeylogger = "KEYLOGGER"
28795)
28796
28797// ThreatIntelIndicatorCategory_Values returns all elements of the ThreatIntelIndicatorCategory enum
28798func ThreatIntelIndicatorCategory_Values() []string {
28799	return []string{
28800		ThreatIntelIndicatorCategoryBackdoor,
28801		ThreatIntelIndicatorCategoryCardStealer,
28802		ThreatIntelIndicatorCategoryCommandAndControl,
28803		ThreatIntelIndicatorCategoryDropSite,
28804		ThreatIntelIndicatorCategoryExploitSite,
28805		ThreatIntelIndicatorCategoryKeylogger,
28806	}
28807}
28808
28809const (
28810	// ThreatIntelIndicatorTypeDomain is a ThreatIntelIndicatorType enum value
28811	ThreatIntelIndicatorTypeDomain = "DOMAIN"
28812
28813	// ThreatIntelIndicatorTypeEmailAddress is a ThreatIntelIndicatorType enum value
28814	ThreatIntelIndicatorTypeEmailAddress = "EMAIL_ADDRESS"
28815
28816	// ThreatIntelIndicatorTypeHashMd5 is a ThreatIntelIndicatorType enum value
28817	ThreatIntelIndicatorTypeHashMd5 = "HASH_MD5"
28818
28819	// ThreatIntelIndicatorTypeHashSha1 is a ThreatIntelIndicatorType enum value
28820	ThreatIntelIndicatorTypeHashSha1 = "HASH_SHA1"
28821
28822	// ThreatIntelIndicatorTypeHashSha256 is a ThreatIntelIndicatorType enum value
28823	ThreatIntelIndicatorTypeHashSha256 = "HASH_SHA256"
28824
28825	// ThreatIntelIndicatorTypeHashSha512 is a ThreatIntelIndicatorType enum value
28826	ThreatIntelIndicatorTypeHashSha512 = "HASH_SHA512"
28827
28828	// ThreatIntelIndicatorTypeIpv4Address is a ThreatIntelIndicatorType enum value
28829	ThreatIntelIndicatorTypeIpv4Address = "IPV4_ADDRESS"
28830
28831	// ThreatIntelIndicatorTypeIpv6Address is a ThreatIntelIndicatorType enum value
28832	ThreatIntelIndicatorTypeIpv6Address = "IPV6_ADDRESS"
28833
28834	// ThreatIntelIndicatorTypeMutex is a ThreatIntelIndicatorType enum value
28835	ThreatIntelIndicatorTypeMutex = "MUTEX"
28836
28837	// ThreatIntelIndicatorTypeProcess is a ThreatIntelIndicatorType enum value
28838	ThreatIntelIndicatorTypeProcess = "PROCESS"
28839
28840	// ThreatIntelIndicatorTypeUrl is a ThreatIntelIndicatorType enum value
28841	ThreatIntelIndicatorTypeUrl = "URL"
28842)
28843
28844// ThreatIntelIndicatorType_Values returns all elements of the ThreatIntelIndicatorType enum
28845func ThreatIntelIndicatorType_Values() []string {
28846	return []string{
28847		ThreatIntelIndicatorTypeDomain,
28848		ThreatIntelIndicatorTypeEmailAddress,
28849		ThreatIntelIndicatorTypeHashMd5,
28850		ThreatIntelIndicatorTypeHashSha1,
28851		ThreatIntelIndicatorTypeHashSha256,
28852		ThreatIntelIndicatorTypeHashSha512,
28853		ThreatIntelIndicatorTypeIpv4Address,
28854		ThreatIntelIndicatorTypeIpv6Address,
28855		ThreatIntelIndicatorTypeMutex,
28856		ThreatIntelIndicatorTypeProcess,
28857		ThreatIntelIndicatorTypeUrl,
28858	}
28859}
28860
28861const (
28862	// VerificationStateUnknown is a VerificationState enum value
28863	VerificationStateUnknown = "UNKNOWN"
28864
28865	// VerificationStateTruePositive is a VerificationState enum value
28866	VerificationStateTruePositive = "TRUE_POSITIVE"
28867
28868	// VerificationStateFalsePositive is a VerificationState enum value
28869	VerificationStateFalsePositive = "FALSE_POSITIVE"
28870
28871	// VerificationStateBenignPositive is a VerificationState enum value
28872	VerificationStateBenignPositive = "BENIGN_POSITIVE"
28873)
28874
28875// VerificationState_Values returns all elements of the VerificationState enum
28876func VerificationState_Values() []string {
28877	return []string{
28878		VerificationStateUnknown,
28879		VerificationStateTruePositive,
28880		VerificationStateFalsePositive,
28881		VerificationStateBenignPositive,
28882	}
28883}
28884
28885const (
28886	// WorkflowStateNew is a WorkflowState enum value
28887	WorkflowStateNew = "NEW"
28888
28889	// WorkflowStateAssigned is a WorkflowState enum value
28890	WorkflowStateAssigned = "ASSIGNED"
28891
28892	// WorkflowStateInProgress is a WorkflowState enum value
28893	WorkflowStateInProgress = "IN_PROGRESS"
28894
28895	// WorkflowStateDeferred is a WorkflowState enum value
28896	WorkflowStateDeferred = "DEFERRED"
28897
28898	// WorkflowStateResolved is a WorkflowState enum value
28899	WorkflowStateResolved = "RESOLVED"
28900)
28901
28902// WorkflowState_Values returns all elements of the WorkflowState enum
28903func WorkflowState_Values() []string {
28904	return []string{
28905		WorkflowStateNew,
28906		WorkflowStateAssigned,
28907		WorkflowStateInProgress,
28908		WorkflowStateDeferred,
28909		WorkflowStateResolved,
28910	}
28911}
28912
28913const (
28914	// WorkflowStatusNew is a WorkflowStatus enum value
28915	WorkflowStatusNew = "NEW"
28916
28917	// WorkflowStatusNotified is a WorkflowStatus enum value
28918	WorkflowStatusNotified = "NOTIFIED"
28919
28920	// WorkflowStatusResolved is a WorkflowStatus enum value
28921	WorkflowStatusResolved = "RESOLVED"
28922
28923	// WorkflowStatusSuppressed is a WorkflowStatus enum value
28924	WorkflowStatusSuppressed = "SUPPRESSED"
28925)
28926
28927// WorkflowStatus_Values returns all elements of the WorkflowStatus enum
28928func WorkflowStatus_Values() []string {
28929	return []string{
28930		WorkflowStatusNew,
28931		WorkflowStatusNotified,
28932		WorkflowStatusResolved,
28933		WorkflowStatusSuppressed,
28934	}
28935}
28936