1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package macie2
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 opAcceptInvitation = "AcceptInvitation"
17
18// AcceptInvitationRequest generates a "aws/request.Request" representing the
19// client's request for the AcceptInvitation 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 AcceptInvitation for more information on using the AcceptInvitation
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 AcceptInvitationRequest method.
34//    req, resp := client.AcceptInvitationRequest(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/macie2-2020-01-01/AcceptInvitation
42func (c *Macie2) AcceptInvitationRequest(input *AcceptInvitationInput) (req *request.Request, output *AcceptInvitationOutput) {
43	op := &request.Operation{
44		Name:       opAcceptInvitation,
45		HTTPMethod: "POST",
46		HTTPPath:   "/invitations/accept",
47	}
48
49	if input == nil {
50		input = &AcceptInvitationInput{}
51	}
52
53	output = &AcceptInvitationOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AcceptInvitation API operation for Amazon Macie 2.
60//
61// Accepts an Amazon Macie membership invitation that was received from a specific
62// account.
63//
64// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
65// with awserr.Error's Code and Message methods to get detailed information about
66// the error.
67//
68// See the AWS API reference guide for Amazon Macie 2's
69// API operation AcceptInvitation for usage and error information.
70//
71// Returned Error Types:
72//   * ValidationException
73//   Provides information about an error that occurred due to a syntax error in
74//   a request.
75//
76//   * InternalServerException
77//   Provides information about an error that occurred due to an unknown internal
78//   server error, exception, or failure.
79//
80//   * ServiceQuotaExceededException
81//   Provides information about an error that occurred due to one or more service
82//   quotas for an account.
83//
84//   * AccessDeniedException
85//   Provides information about an error that occurred due to insufficient access
86//   to a specified resource.
87//
88//   * ResourceNotFoundException
89//   Provides information about an error that occurred because a specified resource
90//   wasn't found.
91//
92//   * ThrottlingException
93//   Provides information about an error that occurred because too many requests
94//   were sent during a certain amount of time.
95//
96//   * ConflictException
97//   Provides information about an error that occurred due to a versioning conflict
98//   for a specified resource.
99//
100// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/AcceptInvitation
101func (c *Macie2) AcceptInvitation(input *AcceptInvitationInput) (*AcceptInvitationOutput, error) {
102	req, out := c.AcceptInvitationRequest(input)
103	return out, req.Send()
104}
105
106// AcceptInvitationWithContext is the same as AcceptInvitation with the addition of
107// the ability to pass a context and additional request options.
108//
109// See AcceptInvitation for details on how to use this API operation.
110//
111// The context must be non-nil and will be used for request cancellation. If
112// the context is nil a panic will occur. In the future the SDK may create
113// sub-contexts for http.Requests. See https://golang.org/pkg/context/
114// for more information on using Contexts.
115func (c *Macie2) AcceptInvitationWithContext(ctx aws.Context, input *AcceptInvitationInput, opts ...request.Option) (*AcceptInvitationOutput, error) {
116	req, out := c.AcceptInvitationRequest(input)
117	req.SetContext(ctx)
118	req.ApplyOptions(opts...)
119	return out, req.Send()
120}
121
122const opBatchGetCustomDataIdentifiers = "BatchGetCustomDataIdentifiers"
123
124// BatchGetCustomDataIdentifiersRequest generates a "aws/request.Request" representing the
125// client's request for the BatchGetCustomDataIdentifiers operation. The "output" return
126// value will be populated with the request's response once the request completes
127// successfully.
128//
129// Use "Send" method on the returned Request to send the API call to the service.
130// the "output" return value is not valid until after Send returns without error.
131//
132// See BatchGetCustomDataIdentifiers for more information on using the BatchGetCustomDataIdentifiers
133// API call, and error handling.
134//
135// This method is useful when you want to inject custom logic or configuration
136// into the SDK's request lifecycle. Such as custom headers, or retry logic.
137//
138//
139//    // Example sending a request using the BatchGetCustomDataIdentifiersRequest method.
140//    req, resp := client.BatchGetCustomDataIdentifiersRequest(params)
141//
142//    err := req.Send()
143//    if err == nil { // resp is now filled
144//        fmt.Println(resp)
145//    }
146//
147// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/BatchGetCustomDataIdentifiers
148func (c *Macie2) BatchGetCustomDataIdentifiersRequest(input *BatchGetCustomDataIdentifiersInput) (req *request.Request, output *BatchGetCustomDataIdentifiersOutput) {
149	op := &request.Operation{
150		Name:       opBatchGetCustomDataIdentifiers,
151		HTTPMethod: "POST",
152		HTTPPath:   "/custom-data-identifiers/get",
153	}
154
155	if input == nil {
156		input = &BatchGetCustomDataIdentifiersInput{}
157	}
158
159	output = &BatchGetCustomDataIdentifiersOutput{}
160	req = c.newRequest(op, input, output)
161	return
162}
163
164// BatchGetCustomDataIdentifiers API operation for Amazon Macie 2.
165//
166// Retrieves information about one or more custom data identifiers.
167//
168// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
169// with awserr.Error's Code and Message methods to get detailed information about
170// the error.
171//
172// See the AWS API reference guide for Amazon Macie 2's
173// API operation BatchGetCustomDataIdentifiers for usage and error information.
174//
175// Returned Error Types:
176//   * ValidationException
177//   Provides information about an error that occurred due to a syntax error in
178//   a request.
179//
180//   * InternalServerException
181//   Provides information about an error that occurred due to an unknown internal
182//   server error, exception, or failure.
183//
184//   * ServiceQuotaExceededException
185//   Provides information about an error that occurred due to one or more service
186//   quotas for an account.
187//
188//   * AccessDeniedException
189//   Provides information about an error that occurred due to insufficient access
190//   to a specified resource.
191//
192//   * ResourceNotFoundException
193//   Provides information about an error that occurred because a specified resource
194//   wasn't found.
195//
196//   * ThrottlingException
197//   Provides information about an error that occurred because too many requests
198//   were sent during a certain amount of time.
199//
200//   * ConflictException
201//   Provides information about an error that occurred due to a versioning conflict
202//   for a specified resource.
203//
204// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/BatchGetCustomDataIdentifiers
205func (c *Macie2) BatchGetCustomDataIdentifiers(input *BatchGetCustomDataIdentifiersInput) (*BatchGetCustomDataIdentifiersOutput, error) {
206	req, out := c.BatchGetCustomDataIdentifiersRequest(input)
207	return out, req.Send()
208}
209
210// BatchGetCustomDataIdentifiersWithContext is the same as BatchGetCustomDataIdentifiers with the addition of
211// the ability to pass a context and additional request options.
212//
213// See BatchGetCustomDataIdentifiers for details on how to use this API operation.
214//
215// The context must be non-nil and will be used for request cancellation. If
216// the context is nil a panic will occur. In the future the SDK may create
217// sub-contexts for http.Requests. See https://golang.org/pkg/context/
218// for more information on using Contexts.
219func (c *Macie2) BatchGetCustomDataIdentifiersWithContext(ctx aws.Context, input *BatchGetCustomDataIdentifiersInput, opts ...request.Option) (*BatchGetCustomDataIdentifiersOutput, error) {
220	req, out := c.BatchGetCustomDataIdentifiersRequest(input)
221	req.SetContext(ctx)
222	req.ApplyOptions(opts...)
223	return out, req.Send()
224}
225
226const opCreateClassificationJob = "CreateClassificationJob"
227
228// CreateClassificationJobRequest generates a "aws/request.Request" representing the
229// client's request for the CreateClassificationJob operation. The "output" return
230// value will be populated with the request's response once the request completes
231// successfully.
232//
233// Use "Send" method on the returned Request to send the API call to the service.
234// the "output" return value is not valid until after Send returns without error.
235//
236// See CreateClassificationJob for more information on using the CreateClassificationJob
237// API call, and error handling.
238//
239// This method is useful when you want to inject custom logic or configuration
240// into the SDK's request lifecycle. Such as custom headers, or retry logic.
241//
242//
243//    // Example sending a request using the CreateClassificationJobRequest method.
244//    req, resp := client.CreateClassificationJobRequest(params)
245//
246//    err := req.Send()
247//    if err == nil { // resp is now filled
248//        fmt.Println(resp)
249//    }
250//
251// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/CreateClassificationJob
252func (c *Macie2) CreateClassificationJobRequest(input *CreateClassificationJobInput) (req *request.Request, output *CreateClassificationJobOutput) {
253	op := &request.Operation{
254		Name:       opCreateClassificationJob,
255		HTTPMethod: "POST",
256		HTTPPath:   "/jobs",
257	}
258
259	if input == nil {
260		input = &CreateClassificationJobInput{}
261	}
262
263	output = &CreateClassificationJobOutput{}
264	req = c.newRequest(op, input, output)
265	return
266}
267
268// CreateClassificationJob API operation for Amazon Macie 2.
269//
270// Creates and defines the settings for a classification job.
271//
272// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
273// with awserr.Error's Code and Message methods to get detailed information about
274// the error.
275//
276// See the AWS API reference guide for Amazon Macie 2's
277// API operation CreateClassificationJob for usage and error information.
278//
279// Returned Error Types:
280//   * ValidationException
281//   Provides information about an error that occurred due to a syntax error in
282//   a request.
283//
284//   * InternalServerException
285//   Provides information about an error that occurred due to an unknown internal
286//   server error, exception, or failure.
287//
288//   * ServiceQuotaExceededException
289//   Provides information about an error that occurred due to one or more service
290//   quotas for an account.
291//
292//   * AccessDeniedException
293//   Provides information about an error that occurred due to insufficient access
294//   to a specified resource.
295//
296//   * ResourceNotFoundException
297//   Provides information about an error that occurred because a specified resource
298//   wasn't found.
299//
300//   * ThrottlingException
301//   Provides information about an error that occurred because too many requests
302//   were sent during a certain amount of time.
303//
304//   * ConflictException
305//   Provides information about an error that occurred due to a versioning conflict
306//   for a specified resource.
307//
308// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/CreateClassificationJob
309func (c *Macie2) CreateClassificationJob(input *CreateClassificationJobInput) (*CreateClassificationJobOutput, error) {
310	req, out := c.CreateClassificationJobRequest(input)
311	return out, req.Send()
312}
313
314// CreateClassificationJobWithContext is the same as CreateClassificationJob with the addition of
315// the ability to pass a context and additional request options.
316//
317// See CreateClassificationJob for details on how to use this API operation.
318//
319// The context must be non-nil and will be used for request cancellation. If
320// the context is nil a panic will occur. In the future the SDK may create
321// sub-contexts for http.Requests. See https://golang.org/pkg/context/
322// for more information on using Contexts.
323func (c *Macie2) CreateClassificationJobWithContext(ctx aws.Context, input *CreateClassificationJobInput, opts ...request.Option) (*CreateClassificationJobOutput, error) {
324	req, out := c.CreateClassificationJobRequest(input)
325	req.SetContext(ctx)
326	req.ApplyOptions(opts...)
327	return out, req.Send()
328}
329
330const opCreateCustomDataIdentifier = "CreateCustomDataIdentifier"
331
332// CreateCustomDataIdentifierRequest generates a "aws/request.Request" representing the
333// client's request for the CreateCustomDataIdentifier operation. The "output" return
334// value will be populated with the request's response once the request completes
335// successfully.
336//
337// Use "Send" method on the returned Request to send the API call to the service.
338// the "output" return value is not valid until after Send returns without error.
339//
340// See CreateCustomDataIdentifier for more information on using the CreateCustomDataIdentifier
341// API call, and error handling.
342//
343// This method is useful when you want to inject custom logic or configuration
344// into the SDK's request lifecycle. Such as custom headers, or retry logic.
345//
346//
347//    // Example sending a request using the CreateCustomDataIdentifierRequest method.
348//    req, resp := client.CreateCustomDataIdentifierRequest(params)
349//
350//    err := req.Send()
351//    if err == nil { // resp is now filled
352//        fmt.Println(resp)
353//    }
354//
355// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/CreateCustomDataIdentifier
356func (c *Macie2) CreateCustomDataIdentifierRequest(input *CreateCustomDataIdentifierInput) (req *request.Request, output *CreateCustomDataIdentifierOutput) {
357	op := &request.Operation{
358		Name:       opCreateCustomDataIdentifier,
359		HTTPMethod: "POST",
360		HTTPPath:   "/custom-data-identifiers",
361	}
362
363	if input == nil {
364		input = &CreateCustomDataIdentifierInput{}
365	}
366
367	output = &CreateCustomDataIdentifierOutput{}
368	req = c.newRequest(op, input, output)
369	return
370}
371
372// CreateCustomDataIdentifier API operation for Amazon Macie 2.
373//
374// Creates and defines the criteria and other settings for a custom data identifier.
375//
376// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
377// with awserr.Error's Code and Message methods to get detailed information about
378// the error.
379//
380// See the AWS API reference guide for Amazon Macie 2's
381// API operation CreateCustomDataIdentifier for usage and error information.
382//
383// Returned Error Types:
384//   * ValidationException
385//   Provides information about an error that occurred due to a syntax error in
386//   a request.
387//
388//   * InternalServerException
389//   Provides information about an error that occurred due to an unknown internal
390//   server error, exception, or failure.
391//
392//   * ServiceQuotaExceededException
393//   Provides information about an error that occurred due to one or more service
394//   quotas for an account.
395//
396//   * AccessDeniedException
397//   Provides information about an error that occurred due to insufficient access
398//   to a specified resource.
399//
400//   * ResourceNotFoundException
401//   Provides information about an error that occurred because a specified resource
402//   wasn't found.
403//
404//   * ThrottlingException
405//   Provides information about an error that occurred because too many requests
406//   were sent during a certain amount of time.
407//
408//   * ConflictException
409//   Provides information about an error that occurred due to a versioning conflict
410//   for a specified resource.
411//
412// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/CreateCustomDataIdentifier
413func (c *Macie2) CreateCustomDataIdentifier(input *CreateCustomDataIdentifierInput) (*CreateCustomDataIdentifierOutput, error) {
414	req, out := c.CreateCustomDataIdentifierRequest(input)
415	return out, req.Send()
416}
417
418// CreateCustomDataIdentifierWithContext is the same as CreateCustomDataIdentifier with the addition of
419// the ability to pass a context and additional request options.
420//
421// See CreateCustomDataIdentifier for details on how to use this API operation.
422//
423// The context must be non-nil and will be used for request cancellation. If
424// the context is nil a panic will occur. In the future the SDK may create
425// sub-contexts for http.Requests. See https://golang.org/pkg/context/
426// for more information on using Contexts.
427func (c *Macie2) CreateCustomDataIdentifierWithContext(ctx aws.Context, input *CreateCustomDataIdentifierInput, opts ...request.Option) (*CreateCustomDataIdentifierOutput, error) {
428	req, out := c.CreateCustomDataIdentifierRequest(input)
429	req.SetContext(ctx)
430	req.ApplyOptions(opts...)
431	return out, req.Send()
432}
433
434const opCreateFindingsFilter = "CreateFindingsFilter"
435
436// CreateFindingsFilterRequest generates a "aws/request.Request" representing the
437// client's request for the CreateFindingsFilter operation. The "output" return
438// value will be populated with the request's response once the request completes
439// successfully.
440//
441// Use "Send" method on the returned Request to send the API call to the service.
442// the "output" return value is not valid until after Send returns without error.
443//
444// See CreateFindingsFilter for more information on using the CreateFindingsFilter
445// API call, and error handling.
446//
447// This method is useful when you want to inject custom logic or configuration
448// into the SDK's request lifecycle. Such as custom headers, or retry logic.
449//
450//
451//    // Example sending a request using the CreateFindingsFilterRequest method.
452//    req, resp := client.CreateFindingsFilterRequest(params)
453//
454//    err := req.Send()
455//    if err == nil { // resp is now filled
456//        fmt.Println(resp)
457//    }
458//
459// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/CreateFindingsFilter
460func (c *Macie2) CreateFindingsFilterRequest(input *CreateFindingsFilterInput) (req *request.Request, output *CreateFindingsFilterOutput) {
461	op := &request.Operation{
462		Name:       opCreateFindingsFilter,
463		HTTPMethod: "POST",
464		HTTPPath:   "/findingsfilters",
465	}
466
467	if input == nil {
468		input = &CreateFindingsFilterInput{}
469	}
470
471	output = &CreateFindingsFilterOutput{}
472	req = c.newRequest(op, input, output)
473	return
474}
475
476// CreateFindingsFilter API operation for Amazon Macie 2.
477//
478// Creates and defines the criteria and other settings for a findings filter.
479//
480// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
481// with awserr.Error's Code and Message methods to get detailed information about
482// the error.
483//
484// See the AWS API reference guide for Amazon Macie 2's
485// API operation CreateFindingsFilter for usage and error information.
486//
487// Returned Error Types:
488//   * ValidationException
489//   Provides information about an error that occurred due to a syntax error in
490//   a request.
491//
492//   * InternalServerException
493//   Provides information about an error that occurred due to an unknown internal
494//   server error, exception, or failure.
495//
496//   * ServiceQuotaExceededException
497//   Provides information about an error that occurred due to one or more service
498//   quotas for an account.
499//
500//   * AccessDeniedException
501//   Provides information about an error that occurred due to insufficient access
502//   to a specified resource.
503//
504//   * ResourceNotFoundException
505//   Provides information about an error that occurred because a specified resource
506//   wasn't found.
507//
508//   * ThrottlingException
509//   Provides information about an error that occurred because too many requests
510//   were sent during a certain amount of time.
511//
512//   * ConflictException
513//   Provides information about an error that occurred due to a versioning conflict
514//   for a specified resource.
515//
516// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/CreateFindingsFilter
517func (c *Macie2) CreateFindingsFilter(input *CreateFindingsFilterInput) (*CreateFindingsFilterOutput, error) {
518	req, out := c.CreateFindingsFilterRequest(input)
519	return out, req.Send()
520}
521
522// CreateFindingsFilterWithContext is the same as CreateFindingsFilter with the addition of
523// the ability to pass a context and additional request options.
524//
525// See CreateFindingsFilter for details on how to use this API operation.
526//
527// The context must be non-nil and will be used for request cancellation. If
528// the context is nil a panic will occur. In the future the SDK may create
529// sub-contexts for http.Requests. See https://golang.org/pkg/context/
530// for more information on using Contexts.
531func (c *Macie2) CreateFindingsFilterWithContext(ctx aws.Context, input *CreateFindingsFilterInput, opts ...request.Option) (*CreateFindingsFilterOutput, error) {
532	req, out := c.CreateFindingsFilterRequest(input)
533	req.SetContext(ctx)
534	req.ApplyOptions(opts...)
535	return out, req.Send()
536}
537
538const opCreateInvitations = "CreateInvitations"
539
540// CreateInvitationsRequest generates a "aws/request.Request" representing the
541// client's request for the CreateInvitations operation. The "output" return
542// value will be populated with the request's response once the request completes
543// successfully.
544//
545// Use "Send" method on the returned Request to send the API call to the service.
546// the "output" return value is not valid until after Send returns without error.
547//
548// See CreateInvitations for more information on using the CreateInvitations
549// API call, and error handling.
550//
551// This method is useful when you want to inject custom logic or configuration
552// into the SDK's request lifecycle. Such as custom headers, or retry logic.
553//
554//
555//    // Example sending a request using the CreateInvitationsRequest method.
556//    req, resp := client.CreateInvitationsRequest(params)
557//
558//    err := req.Send()
559//    if err == nil { // resp is now filled
560//        fmt.Println(resp)
561//    }
562//
563// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/CreateInvitations
564func (c *Macie2) CreateInvitationsRequest(input *CreateInvitationsInput) (req *request.Request, output *CreateInvitationsOutput) {
565	op := &request.Operation{
566		Name:       opCreateInvitations,
567		HTTPMethod: "POST",
568		HTTPPath:   "/invitations",
569	}
570
571	if input == nil {
572		input = &CreateInvitationsInput{}
573	}
574
575	output = &CreateInvitationsOutput{}
576	req = c.newRequest(op, input, output)
577	return
578}
579
580// CreateInvitations API operation for Amazon Macie 2.
581//
582// Sends an Amazon Macie membership invitation to one or more accounts.
583//
584// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
585// with awserr.Error's Code and Message methods to get detailed information about
586// the error.
587//
588// See the AWS API reference guide for Amazon Macie 2's
589// API operation CreateInvitations for usage and error information.
590//
591// Returned Error Types:
592//   * ValidationException
593//   Provides information about an error that occurred due to a syntax error in
594//   a request.
595//
596//   * InternalServerException
597//   Provides information about an error that occurred due to an unknown internal
598//   server error, exception, or failure.
599//
600//   * ServiceQuotaExceededException
601//   Provides information about an error that occurred due to one or more service
602//   quotas for an account.
603//
604//   * AccessDeniedException
605//   Provides information about an error that occurred due to insufficient access
606//   to a specified resource.
607//
608//   * ResourceNotFoundException
609//   Provides information about an error that occurred because a specified resource
610//   wasn't found.
611//
612//   * ThrottlingException
613//   Provides information about an error that occurred because too many requests
614//   were sent during a certain amount of time.
615//
616//   * ConflictException
617//   Provides information about an error that occurred due to a versioning conflict
618//   for a specified resource.
619//
620// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/CreateInvitations
621func (c *Macie2) CreateInvitations(input *CreateInvitationsInput) (*CreateInvitationsOutput, error) {
622	req, out := c.CreateInvitationsRequest(input)
623	return out, req.Send()
624}
625
626// CreateInvitationsWithContext is the same as CreateInvitations with the addition of
627// the ability to pass a context and additional request options.
628//
629// See CreateInvitations for details on how to use this API operation.
630//
631// The context must be non-nil and will be used for request cancellation. If
632// the context is nil a panic will occur. In the future the SDK may create
633// sub-contexts for http.Requests. See https://golang.org/pkg/context/
634// for more information on using Contexts.
635func (c *Macie2) CreateInvitationsWithContext(ctx aws.Context, input *CreateInvitationsInput, opts ...request.Option) (*CreateInvitationsOutput, error) {
636	req, out := c.CreateInvitationsRequest(input)
637	req.SetContext(ctx)
638	req.ApplyOptions(opts...)
639	return out, req.Send()
640}
641
642const opCreateMember = "CreateMember"
643
644// CreateMemberRequest generates a "aws/request.Request" representing the
645// client's request for the CreateMember operation. The "output" return
646// value will be populated with the request's response once the request completes
647// successfully.
648//
649// Use "Send" method on the returned Request to send the API call to the service.
650// the "output" return value is not valid until after Send returns without error.
651//
652// See CreateMember for more information on using the CreateMember
653// API call, and error handling.
654//
655// This method is useful when you want to inject custom logic or configuration
656// into the SDK's request lifecycle. Such as custom headers, or retry logic.
657//
658//
659//    // Example sending a request using the CreateMemberRequest method.
660//    req, resp := client.CreateMemberRequest(params)
661//
662//    err := req.Send()
663//    if err == nil { // resp is now filled
664//        fmt.Println(resp)
665//    }
666//
667// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/CreateMember
668func (c *Macie2) CreateMemberRequest(input *CreateMemberInput) (req *request.Request, output *CreateMemberOutput) {
669	op := &request.Operation{
670		Name:       opCreateMember,
671		HTTPMethod: "POST",
672		HTTPPath:   "/members",
673	}
674
675	if input == nil {
676		input = &CreateMemberInput{}
677	}
678
679	output = &CreateMemberOutput{}
680	req = c.newRequest(op, input, output)
681	return
682}
683
684// CreateMember API operation for Amazon Macie 2.
685//
686// Associates an account with an Amazon Macie administrator account.
687//
688// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
689// with awserr.Error's Code and Message methods to get detailed information about
690// the error.
691//
692// See the AWS API reference guide for Amazon Macie 2's
693// API operation CreateMember for usage and error information.
694//
695// Returned Error Types:
696//   * ValidationException
697//   Provides information about an error that occurred due to a syntax error in
698//   a request.
699//
700//   * InternalServerException
701//   Provides information about an error that occurred due to an unknown internal
702//   server error, exception, or failure.
703//
704//   * ServiceQuotaExceededException
705//   Provides information about an error that occurred due to one or more service
706//   quotas for an account.
707//
708//   * AccessDeniedException
709//   Provides information about an error that occurred due to insufficient access
710//   to a specified resource.
711//
712//   * ResourceNotFoundException
713//   Provides information about an error that occurred because a specified resource
714//   wasn't found.
715//
716//   * ThrottlingException
717//   Provides information about an error that occurred because too many requests
718//   were sent during a certain amount of time.
719//
720//   * ConflictException
721//   Provides information about an error that occurred due to a versioning conflict
722//   for a specified resource.
723//
724// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/CreateMember
725func (c *Macie2) CreateMember(input *CreateMemberInput) (*CreateMemberOutput, error) {
726	req, out := c.CreateMemberRequest(input)
727	return out, req.Send()
728}
729
730// CreateMemberWithContext is the same as CreateMember with the addition of
731// the ability to pass a context and additional request options.
732//
733// See CreateMember for details on how to use this API operation.
734//
735// The context must be non-nil and will be used for request cancellation. If
736// the context is nil a panic will occur. In the future the SDK may create
737// sub-contexts for http.Requests. See https://golang.org/pkg/context/
738// for more information on using Contexts.
739func (c *Macie2) CreateMemberWithContext(ctx aws.Context, input *CreateMemberInput, opts ...request.Option) (*CreateMemberOutput, error) {
740	req, out := c.CreateMemberRequest(input)
741	req.SetContext(ctx)
742	req.ApplyOptions(opts...)
743	return out, req.Send()
744}
745
746const opCreateSampleFindings = "CreateSampleFindings"
747
748// CreateSampleFindingsRequest generates a "aws/request.Request" representing the
749// client's request for the CreateSampleFindings operation. The "output" return
750// value will be populated with the request's response once the request completes
751// successfully.
752//
753// Use "Send" method on the returned Request to send the API call to the service.
754// the "output" return value is not valid until after Send returns without error.
755//
756// See CreateSampleFindings for more information on using the CreateSampleFindings
757// API call, and error handling.
758//
759// This method is useful when you want to inject custom logic or configuration
760// into the SDK's request lifecycle. Such as custom headers, or retry logic.
761//
762//
763//    // Example sending a request using the CreateSampleFindingsRequest method.
764//    req, resp := client.CreateSampleFindingsRequest(params)
765//
766//    err := req.Send()
767//    if err == nil { // resp is now filled
768//        fmt.Println(resp)
769//    }
770//
771// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/CreateSampleFindings
772func (c *Macie2) CreateSampleFindingsRequest(input *CreateSampleFindingsInput) (req *request.Request, output *CreateSampleFindingsOutput) {
773	op := &request.Operation{
774		Name:       opCreateSampleFindings,
775		HTTPMethod: "POST",
776		HTTPPath:   "/findings/sample",
777	}
778
779	if input == nil {
780		input = &CreateSampleFindingsInput{}
781	}
782
783	output = &CreateSampleFindingsOutput{}
784	req = c.newRequest(op, input, output)
785	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
786	return
787}
788
789// CreateSampleFindings API operation for Amazon Macie 2.
790//
791// Creates sample findings.
792//
793// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
794// with awserr.Error's Code and Message methods to get detailed information about
795// the error.
796//
797// See the AWS API reference guide for Amazon Macie 2's
798// API operation CreateSampleFindings for usage and error information.
799//
800// Returned Error Types:
801//   * ValidationException
802//   Provides information about an error that occurred due to a syntax error in
803//   a request.
804//
805//   * InternalServerException
806//   Provides information about an error that occurred due to an unknown internal
807//   server error, exception, or failure.
808//
809//   * ServiceQuotaExceededException
810//   Provides information about an error that occurred due to one or more service
811//   quotas for an account.
812//
813//   * AccessDeniedException
814//   Provides information about an error that occurred due to insufficient access
815//   to a specified resource.
816//
817//   * ResourceNotFoundException
818//   Provides information about an error that occurred because a specified resource
819//   wasn't found.
820//
821//   * ThrottlingException
822//   Provides information about an error that occurred because too many requests
823//   were sent during a certain amount of time.
824//
825//   * ConflictException
826//   Provides information about an error that occurred due to a versioning conflict
827//   for a specified resource.
828//
829// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/CreateSampleFindings
830func (c *Macie2) CreateSampleFindings(input *CreateSampleFindingsInput) (*CreateSampleFindingsOutput, error) {
831	req, out := c.CreateSampleFindingsRequest(input)
832	return out, req.Send()
833}
834
835// CreateSampleFindingsWithContext is the same as CreateSampleFindings with the addition of
836// the ability to pass a context and additional request options.
837//
838// See CreateSampleFindings for details on how to use this API operation.
839//
840// The context must be non-nil and will be used for request cancellation. If
841// the context is nil a panic will occur. In the future the SDK may create
842// sub-contexts for http.Requests. See https://golang.org/pkg/context/
843// for more information on using Contexts.
844func (c *Macie2) CreateSampleFindingsWithContext(ctx aws.Context, input *CreateSampleFindingsInput, opts ...request.Option) (*CreateSampleFindingsOutput, error) {
845	req, out := c.CreateSampleFindingsRequest(input)
846	req.SetContext(ctx)
847	req.ApplyOptions(opts...)
848	return out, req.Send()
849}
850
851const opDeclineInvitations = "DeclineInvitations"
852
853// DeclineInvitationsRequest generates a "aws/request.Request" representing the
854// client's request for the DeclineInvitations operation. The "output" return
855// value will be populated with the request's response once the request completes
856// successfully.
857//
858// Use "Send" method on the returned Request to send the API call to the service.
859// the "output" return value is not valid until after Send returns without error.
860//
861// See DeclineInvitations for more information on using the DeclineInvitations
862// API call, and error handling.
863//
864// This method is useful when you want to inject custom logic or configuration
865// into the SDK's request lifecycle. Such as custom headers, or retry logic.
866//
867//
868//    // Example sending a request using the DeclineInvitationsRequest method.
869//    req, resp := client.DeclineInvitationsRequest(params)
870//
871//    err := req.Send()
872//    if err == nil { // resp is now filled
873//        fmt.Println(resp)
874//    }
875//
876// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DeclineInvitations
877func (c *Macie2) DeclineInvitationsRequest(input *DeclineInvitationsInput) (req *request.Request, output *DeclineInvitationsOutput) {
878	op := &request.Operation{
879		Name:       opDeclineInvitations,
880		HTTPMethod: "POST",
881		HTTPPath:   "/invitations/decline",
882	}
883
884	if input == nil {
885		input = &DeclineInvitationsInput{}
886	}
887
888	output = &DeclineInvitationsOutput{}
889	req = c.newRequest(op, input, output)
890	return
891}
892
893// DeclineInvitations API operation for Amazon Macie 2.
894//
895// Declines Amazon Macie membership invitations that were received from specific
896// accounts.
897//
898// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
899// with awserr.Error's Code and Message methods to get detailed information about
900// the error.
901//
902// See the AWS API reference guide for Amazon Macie 2's
903// API operation DeclineInvitations for usage and error information.
904//
905// Returned Error Types:
906//   * ValidationException
907//   Provides information about an error that occurred due to a syntax error in
908//   a request.
909//
910//   * InternalServerException
911//   Provides information about an error that occurred due to an unknown internal
912//   server error, exception, or failure.
913//
914//   * ServiceQuotaExceededException
915//   Provides information about an error that occurred due to one or more service
916//   quotas for an account.
917//
918//   * AccessDeniedException
919//   Provides information about an error that occurred due to insufficient access
920//   to a specified resource.
921//
922//   * ResourceNotFoundException
923//   Provides information about an error that occurred because a specified resource
924//   wasn't found.
925//
926//   * ThrottlingException
927//   Provides information about an error that occurred because too many requests
928//   were sent during a certain amount of time.
929//
930//   * ConflictException
931//   Provides information about an error that occurred due to a versioning conflict
932//   for a specified resource.
933//
934// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DeclineInvitations
935func (c *Macie2) DeclineInvitations(input *DeclineInvitationsInput) (*DeclineInvitationsOutput, error) {
936	req, out := c.DeclineInvitationsRequest(input)
937	return out, req.Send()
938}
939
940// DeclineInvitationsWithContext is the same as DeclineInvitations with the addition of
941// the ability to pass a context and additional request options.
942//
943// See DeclineInvitations for details on how to use this API operation.
944//
945// The context must be non-nil and will be used for request cancellation. If
946// the context is nil a panic will occur. In the future the SDK may create
947// sub-contexts for http.Requests. See https://golang.org/pkg/context/
948// for more information on using Contexts.
949func (c *Macie2) DeclineInvitationsWithContext(ctx aws.Context, input *DeclineInvitationsInput, opts ...request.Option) (*DeclineInvitationsOutput, error) {
950	req, out := c.DeclineInvitationsRequest(input)
951	req.SetContext(ctx)
952	req.ApplyOptions(opts...)
953	return out, req.Send()
954}
955
956const opDeleteCustomDataIdentifier = "DeleteCustomDataIdentifier"
957
958// DeleteCustomDataIdentifierRequest generates a "aws/request.Request" representing the
959// client's request for the DeleteCustomDataIdentifier operation. The "output" return
960// value will be populated with the request's response once the request completes
961// successfully.
962//
963// Use "Send" method on the returned Request to send the API call to the service.
964// the "output" return value is not valid until after Send returns without error.
965//
966// See DeleteCustomDataIdentifier for more information on using the DeleteCustomDataIdentifier
967// API call, and error handling.
968//
969// This method is useful when you want to inject custom logic or configuration
970// into the SDK's request lifecycle. Such as custom headers, or retry logic.
971//
972//
973//    // Example sending a request using the DeleteCustomDataIdentifierRequest method.
974//    req, resp := client.DeleteCustomDataIdentifierRequest(params)
975//
976//    err := req.Send()
977//    if err == nil { // resp is now filled
978//        fmt.Println(resp)
979//    }
980//
981// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DeleteCustomDataIdentifier
982func (c *Macie2) DeleteCustomDataIdentifierRequest(input *DeleteCustomDataIdentifierInput) (req *request.Request, output *DeleteCustomDataIdentifierOutput) {
983	op := &request.Operation{
984		Name:       opDeleteCustomDataIdentifier,
985		HTTPMethod: "DELETE",
986		HTTPPath:   "/custom-data-identifiers/{id}",
987	}
988
989	if input == nil {
990		input = &DeleteCustomDataIdentifierInput{}
991	}
992
993	output = &DeleteCustomDataIdentifierOutput{}
994	req = c.newRequest(op, input, output)
995	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
996	return
997}
998
999// DeleteCustomDataIdentifier API operation for Amazon Macie 2.
1000//
1001// Soft deletes a custom data identifier.
1002//
1003// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1004// with awserr.Error's Code and Message methods to get detailed information about
1005// the error.
1006//
1007// See the AWS API reference guide for Amazon Macie 2's
1008// API operation DeleteCustomDataIdentifier for usage and error information.
1009//
1010// Returned Error Types:
1011//   * ValidationException
1012//   Provides information about an error that occurred due to a syntax error in
1013//   a request.
1014//
1015//   * InternalServerException
1016//   Provides information about an error that occurred due to an unknown internal
1017//   server error, exception, or failure.
1018//
1019//   * ServiceQuotaExceededException
1020//   Provides information about an error that occurred due to one or more service
1021//   quotas for an account.
1022//
1023//   * AccessDeniedException
1024//   Provides information about an error that occurred due to insufficient access
1025//   to a specified resource.
1026//
1027//   * ResourceNotFoundException
1028//   Provides information about an error that occurred because a specified resource
1029//   wasn't found.
1030//
1031//   * ThrottlingException
1032//   Provides information about an error that occurred because too many requests
1033//   were sent during a certain amount of time.
1034//
1035//   * ConflictException
1036//   Provides information about an error that occurred due to a versioning conflict
1037//   for a specified resource.
1038//
1039// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DeleteCustomDataIdentifier
1040func (c *Macie2) DeleteCustomDataIdentifier(input *DeleteCustomDataIdentifierInput) (*DeleteCustomDataIdentifierOutput, error) {
1041	req, out := c.DeleteCustomDataIdentifierRequest(input)
1042	return out, req.Send()
1043}
1044
1045// DeleteCustomDataIdentifierWithContext is the same as DeleteCustomDataIdentifier with the addition of
1046// the ability to pass a context and additional request options.
1047//
1048// See DeleteCustomDataIdentifier for details on how to use this API operation.
1049//
1050// The context must be non-nil and will be used for request cancellation. If
1051// the context is nil a panic will occur. In the future the SDK may create
1052// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1053// for more information on using Contexts.
1054func (c *Macie2) DeleteCustomDataIdentifierWithContext(ctx aws.Context, input *DeleteCustomDataIdentifierInput, opts ...request.Option) (*DeleteCustomDataIdentifierOutput, error) {
1055	req, out := c.DeleteCustomDataIdentifierRequest(input)
1056	req.SetContext(ctx)
1057	req.ApplyOptions(opts...)
1058	return out, req.Send()
1059}
1060
1061const opDeleteFindingsFilter = "DeleteFindingsFilter"
1062
1063// DeleteFindingsFilterRequest generates a "aws/request.Request" representing the
1064// client's request for the DeleteFindingsFilter operation. The "output" return
1065// value will be populated with the request's response once the request completes
1066// successfully.
1067//
1068// Use "Send" method on the returned Request to send the API call to the service.
1069// the "output" return value is not valid until after Send returns without error.
1070//
1071// See DeleteFindingsFilter for more information on using the DeleteFindingsFilter
1072// API call, and error handling.
1073//
1074// This method is useful when you want to inject custom logic or configuration
1075// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1076//
1077//
1078//    // Example sending a request using the DeleteFindingsFilterRequest method.
1079//    req, resp := client.DeleteFindingsFilterRequest(params)
1080//
1081//    err := req.Send()
1082//    if err == nil { // resp is now filled
1083//        fmt.Println(resp)
1084//    }
1085//
1086// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DeleteFindingsFilter
1087func (c *Macie2) DeleteFindingsFilterRequest(input *DeleteFindingsFilterInput) (req *request.Request, output *DeleteFindingsFilterOutput) {
1088	op := &request.Operation{
1089		Name:       opDeleteFindingsFilter,
1090		HTTPMethod: "DELETE",
1091		HTTPPath:   "/findingsfilters/{id}",
1092	}
1093
1094	if input == nil {
1095		input = &DeleteFindingsFilterInput{}
1096	}
1097
1098	output = &DeleteFindingsFilterOutput{}
1099	req = c.newRequest(op, input, output)
1100	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1101	return
1102}
1103
1104// DeleteFindingsFilter API operation for Amazon Macie 2.
1105//
1106// Deletes a findings filter.
1107//
1108// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1109// with awserr.Error's Code and Message methods to get detailed information about
1110// the error.
1111//
1112// See the AWS API reference guide for Amazon Macie 2's
1113// API operation DeleteFindingsFilter for usage and error information.
1114//
1115// Returned Error Types:
1116//   * ValidationException
1117//   Provides information about an error that occurred due to a syntax error in
1118//   a request.
1119//
1120//   * InternalServerException
1121//   Provides information about an error that occurred due to an unknown internal
1122//   server error, exception, or failure.
1123//
1124//   * ServiceQuotaExceededException
1125//   Provides information about an error that occurred due to one or more service
1126//   quotas for an account.
1127//
1128//   * AccessDeniedException
1129//   Provides information about an error that occurred due to insufficient access
1130//   to a specified resource.
1131//
1132//   * ResourceNotFoundException
1133//   Provides information about an error that occurred because a specified resource
1134//   wasn't found.
1135//
1136//   * ThrottlingException
1137//   Provides information about an error that occurred because too many requests
1138//   were sent during a certain amount of time.
1139//
1140//   * ConflictException
1141//   Provides information about an error that occurred due to a versioning conflict
1142//   for a specified resource.
1143//
1144// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DeleteFindingsFilter
1145func (c *Macie2) DeleteFindingsFilter(input *DeleteFindingsFilterInput) (*DeleteFindingsFilterOutput, error) {
1146	req, out := c.DeleteFindingsFilterRequest(input)
1147	return out, req.Send()
1148}
1149
1150// DeleteFindingsFilterWithContext is the same as DeleteFindingsFilter with the addition of
1151// the ability to pass a context and additional request options.
1152//
1153// See DeleteFindingsFilter for details on how to use this API operation.
1154//
1155// The context must be non-nil and will be used for request cancellation. If
1156// the context is nil a panic will occur. In the future the SDK may create
1157// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1158// for more information on using Contexts.
1159func (c *Macie2) DeleteFindingsFilterWithContext(ctx aws.Context, input *DeleteFindingsFilterInput, opts ...request.Option) (*DeleteFindingsFilterOutput, error) {
1160	req, out := c.DeleteFindingsFilterRequest(input)
1161	req.SetContext(ctx)
1162	req.ApplyOptions(opts...)
1163	return out, req.Send()
1164}
1165
1166const opDeleteInvitations = "DeleteInvitations"
1167
1168// DeleteInvitationsRequest generates a "aws/request.Request" representing the
1169// client's request for the DeleteInvitations operation. The "output" return
1170// value will be populated with the request's response once the request completes
1171// successfully.
1172//
1173// Use "Send" method on the returned Request to send the API call to the service.
1174// the "output" return value is not valid until after Send returns without error.
1175//
1176// See DeleteInvitations for more information on using the DeleteInvitations
1177// API call, and error handling.
1178//
1179// This method is useful when you want to inject custom logic or configuration
1180// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1181//
1182//
1183//    // Example sending a request using the DeleteInvitationsRequest method.
1184//    req, resp := client.DeleteInvitationsRequest(params)
1185//
1186//    err := req.Send()
1187//    if err == nil { // resp is now filled
1188//        fmt.Println(resp)
1189//    }
1190//
1191// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DeleteInvitations
1192func (c *Macie2) DeleteInvitationsRequest(input *DeleteInvitationsInput) (req *request.Request, output *DeleteInvitationsOutput) {
1193	op := &request.Operation{
1194		Name:       opDeleteInvitations,
1195		HTTPMethod: "POST",
1196		HTTPPath:   "/invitations/delete",
1197	}
1198
1199	if input == nil {
1200		input = &DeleteInvitationsInput{}
1201	}
1202
1203	output = &DeleteInvitationsOutput{}
1204	req = c.newRequest(op, input, output)
1205	return
1206}
1207
1208// DeleteInvitations API operation for Amazon Macie 2.
1209//
1210// Deletes Amazon Macie membership invitations that were received from specific
1211// accounts.
1212//
1213// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1214// with awserr.Error's Code and Message methods to get detailed information about
1215// the error.
1216//
1217// See the AWS API reference guide for Amazon Macie 2's
1218// API operation DeleteInvitations for usage and error information.
1219//
1220// Returned Error Types:
1221//   * ValidationException
1222//   Provides information about an error that occurred due to a syntax error in
1223//   a request.
1224//
1225//   * InternalServerException
1226//   Provides information about an error that occurred due to an unknown internal
1227//   server error, exception, or failure.
1228//
1229//   * ServiceQuotaExceededException
1230//   Provides information about an error that occurred due to one or more service
1231//   quotas for an account.
1232//
1233//   * AccessDeniedException
1234//   Provides information about an error that occurred due to insufficient access
1235//   to a specified resource.
1236//
1237//   * ResourceNotFoundException
1238//   Provides information about an error that occurred because a specified resource
1239//   wasn't found.
1240//
1241//   * ThrottlingException
1242//   Provides information about an error that occurred because too many requests
1243//   were sent during a certain amount of time.
1244//
1245//   * ConflictException
1246//   Provides information about an error that occurred due to a versioning conflict
1247//   for a specified resource.
1248//
1249// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DeleteInvitations
1250func (c *Macie2) DeleteInvitations(input *DeleteInvitationsInput) (*DeleteInvitationsOutput, error) {
1251	req, out := c.DeleteInvitationsRequest(input)
1252	return out, req.Send()
1253}
1254
1255// DeleteInvitationsWithContext is the same as DeleteInvitations with the addition of
1256// the ability to pass a context and additional request options.
1257//
1258// See DeleteInvitations for details on how to use this API operation.
1259//
1260// The context must be non-nil and will be used for request cancellation. If
1261// the context is nil a panic will occur. In the future the SDK may create
1262// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1263// for more information on using Contexts.
1264func (c *Macie2) DeleteInvitationsWithContext(ctx aws.Context, input *DeleteInvitationsInput, opts ...request.Option) (*DeleteInvitationsOutput, error) {
1265	req, out := c.DeleteInvitationsRequest(input)
1266	req.SetContext(ctx)
1267	req.ApplyOptions(opts...)
1268	return out, req.Send()
1269}
1270
1271const opDeleteMember = "DeleteMember"
1272
1273// DeleteMemberRequest generates a "aws/request.Request" representing the
1274// client's request for the DeleteMember operation. The "output" return
1275// value will be populated with the request's response once the request completes
1276// successfully.
1277//
1278// Use "Send" method on the returned Request to send the API call to the service.
1279// the "output" return value is not valid until after Send returns without error.
1280//
1281// See DeleteMember for more information on using the DeleteMember
1282// API call, and error handling.
1283//
1284// This method is useful when you want to inject custom logic or configuration
1285// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1286//
1287//
1288//    // Example sending a request using the DeleteMemberRequest method.
1289//    req, resp := client.DeleteMemberRequest(params)
1290//
1291//    err := req.Send()
1292//    if err == nil { // resp is now filled
1293//        fmt.Println(resp)
1294//    }
1295//
1296// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DeleteMember
1297func (c *Macie2) DeleteMemberRequest(input *DeleteMemberInput) (req *request.Request, output *DeleteMemberOutput) {
1298	op := &request.Operation{
1299		Name:       opDeleteMember,
1300		HTTPMethod: "DELETE",
1301		HTTPPath:   "/members/{id}",
1302	}
1303
1304	if input == nil {
1305		input = &DeleteMemberInput{}
1306	}
1307
1308	output = &DeleteMemberOutput{}
1309	req = c.newRequest(op, input, output)
1310	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1311	return
1312}
1313
1314// DeleteMember API operation for Amazon Macie 2.
1315//
1316// Deletes the association between an Amazon Macie administrator account and
1317// an account.
1318//
1319// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1320// with awserr.Error's Code and Message methods to get detailed information about
1321// the error.
1322//
1323// See the AWS API reference guide for Amazon Macie 2's
1324// API operation DeleteMember for usage and error information.
1325//
1326// Returned Error Types:
1327//   * ValidationException
1328//   Provides information about an error that occurred due to a syntax error in
1329//   a request.
1330//
1331//   * InternalServerException
1332//   Provides information about an error that occurred due to an unknown internal
1333//   server error, exception, or failure.
1334//
1335//   * ServiceQuotaExceededException
1336//   Provides information about an error that occurred due to one or more service
1337//   quotas for an account.
1338//
1339//   * AccessDeniedException
1340//   Provides information about an error that occurred due to insufficient access
1341//   to a specified resource.
1342//
1343//   * ResourceNotFoundException
1344//   Provides information about an error that occurred because a specified resource
1345//   wasn't found.
1346//
1347//   * ThrottlingException
1348//   Provides information about an error that occurred because too many requests
1349//   were sent during a certain amount of time.
1350//
1351//   * ConflictException
1352//   Provides information about an error that occurred due to a versioning conflict
1353//   for a specified resource.
1354//
1355// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DeleteMember
1356func (c *Macie2) DeleteMember(input *DeleteMemberInput) (*DeleteMemberOutput, error) {
1357	req, out := c.DeleteMemberRequest(input)
1358	return out, req.Send()
1359}
1360
1361// DeleteMemberWithContext is the same as DeleteMember with the addition of
1362// the ability to pass a context and additional request options.
1363//
1364// See DeleteMember for details on how to use this API operation.
1365//
1366// The context must be non-nil and will be used for request cancellation. If
1367// the context is nil a panic will occur. In the future the SDK may create
1368// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1369// for more information on using Contexts.
1370func (c *Macie2) DeleteMemberWithContext(ctx aws.Context, input *DeleteMemberInput, opts ...request.Option) (*DeleteMemberOutput, error) {
1371	req, out := c.DeleteMemberRequest(input)
1372	req.SetContext(ctx)
1373	req.ApplyOptions(opts...)
1374	return out, req.Send()
1375}
1376
1377const opDescribeBuckets = "DescribeBuckets"
1378
1379// DescribeBucketsRequest generates a "aws/request.Request" representing the
1380// client's request for the DescribeBuckets operation. The "output" return
1381// value will be populated with the request's response once the request completes
1382// successfully.
1383//
1384// Use "Send" method on the returned Request to send the API call to the service.
1385// the "output" return value is not valid until after Send returns without error.
1386//
1387// See DescribeBuckets for more information on using the DescribeBuckets
1388// API call, and error handling.
1389//
1390// This method is useful when you want to inject custom logic or configuration
1391// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1392//
1393//
1394//    // Example sending a request using the DescribeBucketsRequest method.
1395//    req, resp := client.DescribeBucketsRequest(params)
1396//
1397//    err := req.Send()
1398//    if err == nil { // resp is now filled
1399//        fmt.Println(resp)
1400//    }
1401//
1402// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DescribeBuckets
1403func (c *Macie2) DescribeBucketsRequest(input *DescribeBucketsInput) (req *request.Request, output *DescribeBucketsOutput) {
1404	op := &request.Operation{
1405		Name:       opDescribeBuckets,
1406		HTTPMethod: "POST",
1407		HTTPPath:   "/datasources/s3",
1408		Paginator: &request.Paginator{
1409			InputTokens:     []string{"nextToken"},
1410			OutputTokens:    []string{"nextToken"},
1411			LimitToken:      "maxResults",
1412			TruncationToken: "",
1413		},
1414	}
1415
1416	if input == nil {
1417		input = &DescribeBucketsInput{}
1418	}
1419
1420	output = &DescribeBucketsOutput{}
1421	req = c.newRequest(op, input, output)
1422	return
1423}
1424
1425// DescribeBuckets API operation for Amazon Macie 2.
1426//
1427// Retrieves (queries) statistical data and other information about one or more
1428// S3 buckets that Amazon Macie monitors and analyzes.
1429//
1430// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1431// with awserr.Error's Code and Message methods to get detailed information about
1432// the error.
1433//
1434// See the AWS API reference guide for Amazon Macie 2's
1435// API operation DescribeBuckets for usage and error information.
1436//
1437// Returned Error Types:
1438//   * ValidationException
1439//   Provides information about an error that occurred due to a syntax error in
1440//   a request.
1441//
1442//   * InternalServerException
1443//   Provides information about an error that occurred due to an unknown internal
1444//   server error, exception, or failure.
1445//
1446//   * ServiceQuotaExceededException
1447//   Provides information about an error that occurred due to one or more service
1448//   quotas for an account.
1449//
1450//   * AccessDeniedException
1451//   Provides information about an error that occurred due to insufficient access
1452//   to a specified resource.
1453//
1454//   * ResourceNotFoundException
1455//   Provides information about an error that occurred because a specified resource
1456//   wasn't found.
1457//
1458//   * ThrottlingException
1459//   Provides information about an error that occurred because too many requests
1460//   were sent during a certain amount of time.
1461//
1462//   * ConflictException
1463//   Provides information about an error that occurred due to a versioning conflict
1464//   for a specified resource.
1465//
1466// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DescribeBuckets
1467func (c *Macie2) DescribeBuckets(input *DescribeBucketsInput) (*DescribeBucketsOutput, error) {
1468	req, out := c.DescribeBucketsRequest(input)
1469	return out, req.Send()
1470}
1471
1472// DescribeBucketsWithContext is the same as DescribeBuckets with the addition of
1473// the ability to pass a context and additional request options.
1474//
1475// See DescribeBuckets for details on how to use this API operation.
1476//
1477// The context must be non-nil and will be used for request cancellation. If
1478// the context is nil a panic will occur. In the future the SDK may create
1479// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1480// for more information on using Contexts.
1481func (c *Macie2) DescribeBucketsWithContext(ctx aws.Context, input *DescribeBucketsInput, opts ...request.Option) (*DescribeBucketsOutput, error) {
1482	req, out := c.DescribeBucketsRequest(input)
1483	req.SetContext(ctx)
1484	req.ApplyOptions(opts...)
1485	return out, req.Send()
1486}
1487
1488// DescribeBucketsPages iterates over the pages of a DescribeBuckets operation,
1489// calling the "fn" function with the response data for each page. To stop
1490// iterating, return false from the fn function.
1491//
1492// See DescribeBuckets method for more information on how to use this operation.
1493//
1494// Note: This operation can generate multiple requests to a service.
1495//
1496//    // Example iterating over at most 3 pages of a DescribeBuckets operation.
1497//    pageNum := 0
1498//    err := client.DescribeBucketsPages(params,
1499//        func(page *macie2.DescribeBucketsOutput, lastPage bool) bool {
1500//            pageNum++
1501//            fmt.Println(page)
1502//            return pageNum <= 3
1503//        })
1504//
1505func (c *Macie2) DescribeBucketsPages(input *DescribeBucketsInput, fn func(*DescribeBucketsOutput, bool) bool) error {
1506	return c.DescribeBucketsPagesWithContext(aws.BackgroundContext(), input, fn)
1507}
1508
1509// DescribeBucketsPagesWithContext same as DescribeBucketsPages except
1510// it takes a Context and allows setting request options on the pages.
1511//
1512// The context must be non-nil and will be used for request cancellation. If
1513// the context is nil a panic will occur. In the future the SDK may create
1514// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1515// for more information on using Contexts.
1516func (c *Macie2) DescribeBucketsPagesWithContext(ctx aws.Context, input *DescribeBucketsInput, fn func(*DescribeBucketsOutput, bool) bool, opts ...request.Option) error {
1517	p := request.Pagination{
1518		NewRequest: func() (*request.Request, error) {
1519			var inCpy *DescribeBucketsInput
1520			if input != nil {
1521				tmp := *input
1522				inCpy = &tmp
1523			}
1524			req, _ := c.DescribeBucketsRequest(inCpy)
1525			req.SetContext(ctx)
1526			req.ApplyOptions(opts...)
1527			return req, nil
1528		},
1529	}
1530
1531	for p.Next() {
1532		if !fn(p.Page().(*DescribeBucketsOutput), !p.HasNextPage()) {
1533			break
1534		}
1535	}
1536
1537	return p.Err()
1538}
1539
1540const opDescribeClassificationJob = "DescribeClassificationJob"
1541
1542// DescribeClassificationJobRequest generates a "aws/request.Request" representing the
1543// client's request for the DescribeClassificationJob operation. The "output" return
1544// value will be populated with the request's response once the request completes
1545// successfully.
1546//
1547// Use "Send" method on the returned Request to send the API call to the service.
1548// the "output" return value is not valid until after Send returns without error.
1549//
1550// See DescribeClassificationJob for more information on using the DescribeClassificationJob
1551// API call, and error handling.
1552//
1553// This method is useful when you want to inject custom logic or configuration
1554// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1555//
1556//
1557//    // Example sending a request using the DescribeClassificationJobRequest method.
1558//    req, resp := client.DescribeClassificationJobRequest(params)
1559//
1560//    err := req.Send()
1561//    if err == nil { // resp is now filled
1562//        fmt.Println(resp)
1563//    }
1564//
1565// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DescribeClassificationJob
1566func (c *Macie2) DescribeClassificationJobRequest(input *DescribeClassificationJobInput) (req *request.Request, output *DescribeClassificationJobOutput) {
1567	op := &request.Operation{
1568		Name:       opDescribeClassificationJob,
1569		HTTPMethod: "GET",
1570		HTTPPath:   "/jobs/{jobId}",
1571	}
1572
1573	if input == nil {
1574		input = &DescribeClassificationJobInput{}
1575	}
1576
1577	output = &DescribeClassificationJobOutput{}
1578	req = c.newRequest(op, input, output)
1579	return
1580}
1581
1582// DescribeClassificationJob API operation for Amazon Macie 2.
1583//
1584// Retrieves the status and settings for a classification job.
1585//
1586// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1587// with awserr.Error's Code and Message methods to get detailed information about
1588// the error.
1589//
1590// See the AWS API reference guide for Amazon Macie 2's
1591// API operation DescribeClassificationJob for usage and error information.
1592//
1593// Returned Error Types:
1594//   * ValidationException
1595//   Provides information about an error that occurred due to a syntax error in
1596//   a request.
1597//
1598//   * InternalServerException
1599//   Provides information about an error that occurred due to an unknown internal
1600//   server error, exception, or failure.
1601//
1602//   * ServiceQuotaExceededException
1603//   Provides information about an error that occurred due to one or more service
1604//   quotas for an account.
1605//
1606//   * AccessDeniedException
1607//   Provides information about an error that occurred due to insufficient access
1608//   to a specified resource.
1609//
1610//   * ResourceNotFoundException
1611//   Provides information about an error that occurred because a specified resource
1612//   wasn't found.
1613//
1614//   * ThrottlingException
1615//   Provides information about an error that occurred because too many requests
1616//   were sent during a certain amount of time.
1617//
1618//   * ConflictException
1619//   Provides information about an error that occurred due to a versioning conflict
1620//   for a specified resource.
1621//
1622// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DescribeClassificationJob
1623func (c *Macie2) DescribeClassificationJob(input *DescribeClassificationJobInput) (*DescribeClassificationJobOutput, error) {
1624	req, out := c.DescribeClassificationJobRequest(input)
1625	return out, req.Send()
1626}
1627
1628// DescribeClassificationJobWithContext is the same as DescribeClassificationJob with the addition of
1629// the ability to pass a context and additional request options.
1630//
1631// See DescribeClassificationJob for details on how to use this API operation.
1632//
1633// The context must be non-nil and will be used for request cancellation. If
1634// the context is nil a panic will occur. In the future the SDK may create
1635// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1636// for more information on using Contexts.
1637func (c *Macie2) DescribeClassificationJobWithContext(ctx aws.Context, input *DescribeClassificationJobInput, opts ...request.Option) (*DescribeClassificationJobOutput, error) {
1638	req, out := c.DescribeClassificationJobRequest(input)
1639	req.SetContext(ctx)
1640	req.ApplyOptions(opts...)
1641	return out, req.Send()
1642}
1643
1644const opDescribeOrganizationConfiguration = "DescribeOrganizationConfiguration"
1645
1646// DescribeOrganizationConfigurationRequest generates a "aws/request.Request" representing the
1647// client's request for the DescribeOrganizationConfiguration 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 DescribeOrganizationConfiguration for more information on using the DescribeOrganizationConfiguration
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 DescribeOrganizationConfigurationRequest method.
1662//    req, resp := client.DescribeOrganizationConfigurationRequest(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/macie2-2020-01-01/DescribeOrganizationConfiguration
1670func (c *Macie2) DescribeOrganizationConfigurationRequest(input *DescribeOrganizationConfigurationInput) (req *request.Request, output *DescribeOrganizationConfigurationOutput) {
1671	op := &request.Operation{
1672		Name:       opDescribeOrganizationConfiguration,
1673		HTTPMethod: "GET",
1674		HTTPPath:   "/admin/configuration",
1675	}
1676
1677	if input == nil {
1678		input = &DescribeOrganizationConfigurationInput{}
1679	}
1680
1681	output = &DescribeOrganizationConfigurationOutput{}
1682	req = c.newRequest(op, input, output)
1683	return
1684}
1685
1686// DescribeOrganizationConfiguration API operation for Amazon Macie 2.
1687//
1688// Retrieves the Amazon Macie configuration settings for an Amazon Web Services
1689// organization.
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 Amazon Macie 2's
1696// API operation DescribeOrganizationConfiguration for usage and error information.
1697//
1698// Returned Error Types:
1699//   * ValidationException
1700//   Provides information about an error that occurred due to a syntax error in
1701//   a request.
1702//
1703//   * InternalServerException
1704//   Provides information about an error that occurred due to an unknown internal
1705//   server error, exception, or failure.
1706//
1707//   * ServiceQuotaExceededException
1708//   Provides information about an error that occurred due to one or more service
1709//   quotas for an account.
1710//
1711//   * AccessDeniedException
1712//   Provides information about an error that occurred due to insufficient access
1713//   to a specified resource.
1714//
1715//   * ResourceNotFoundException
1716//   Provides information about an error that occurred because a specified resource
1717//   wasn't found.
1718//
1719//   * ThrottlingException
1720//   Provides information about an error that occurred because too many requests
1721//   were sent during a certain amount of time.
1722//
1723//   * ConflictException
1724//   Provides information about an error that occurred due to a versioning conflict
1725//   for a specified resource.
1726//
1727// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DescribeOrganizationConfiguration
1728func (c *Macie2) DescribeOrganizationConfiguration(input *DescribeOrganizationConfigurationInput) (*DescribeOrganizationConfigurationOutput, error) {
1729	req, out := c.DescribeOrganizationConfigurationRequest(input)
1730	return out, req.Send()
1731}
1732
1733// DescribeOrganizationConfigurationWithContext is the same as DescribeOrganizationConfiguration with the addition of
1734// the ability to pass a context and additional request options.
1735//
1736// See DescribeOrganizationConfiguration for details on how to use this API operation.
1737//
1738// The context must be non-nil and will be used for request cancellation. If
1739// the context is nil a panic will occur. In the future the SDK may create
1740// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1741// for more information on using Contexts.
1742func (c *Macie2) DescribeOrganizationConfigurationWithContext(ctx aws.Context, input *DescribeOrganizationConfigurationInput, opts ...request.Option) (*DescribeOrganizationConfigurationOutput, error) {
1743	req, out := c.DescribeOrganizationConfigurationRequest(input)
1744	req.SetContext(ctx)
1745	req.ApplyOptions(opts...)
1746	return out, req.Send()
1747}
1748
1749const opDisableMacie = "DisableMacie"
1750
1751// DisableMacieRequest generates a "aws/request.Request" representing the
1752// client's request for the DisableMacie operation. The "output" return
1753// value will be populated with the request's response once the request completes
1754// successfully.
1755//
1756// Use "Send" method on the returned Request to send the API call to the service.
1757// the "output" return value is not valid until after Send returns without error.
1758//
1759// See DisableMacie for more information on using the DisableMacie
1760// API call, and error handling.
1761//
1762// This method is useful when you want to inject custom logic or configuration
1763// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1764//
1765//
1766//    // Example sending a request using the DisableMacieRequest method.
1767//    req, resp := client.DisableMacieRequest(params)
1768//
1769//    err := req.Send()
1770//    if err == nil { // resp is now filled
1771//        fmt.Println(resp)
1772//    }
1773//
1774// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DisableMacie
1775func (c *Macie2) DisableMacieRequest(input *DisableMacieInput) (req *request.Request, output *DisableMacieOutput) {
1776	op := &request.Operation{
1777		Name:       opDisableMacie,
1778		HTTPMethod: "DELETE",
1779		HTTPPath:   "/macie",
1780	}
1781
1782	if input == nil {
1783		input = &DisableMacieInput{}
1784	}
1785
1786	output = &DisableMacieOutput{}
1787	req = c.newRequest(op, input, output)
1788	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1789	return
1790}
1791
1792// DisableMacie API operation for Amazon Macie 2.
1793//
1794// Disables an Amazon Macie account and deletes Macie resources for the account.
1795//
1796// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1797// with awserr.Error's Code and Message methods to get detailed information about
1798// the error.
1799//
1800// See the AWS API reference guide for Amazon Macie 2's
1801// API operation DisableMacie for usage and error information.
1802//
1803// Returned Error Types:
1804//   * ValidationException
1805//   Provides information about an error that occurred due to a syntax error in
1806//   a request.
1807//
1808//   * InternalServerException
1809//   Provides information about an error that occurred due to an unknown internal
1810//   server error, exception, or failure.
1811//
1812//   * ServiceQuotaExceededException
1813//   Provides information about an error that occurred due to one or more service
1814//   quotas for an account.
1815//
1816//   * AccessDeniedException
1817//   Provides information about an error that occurred due to insufficient access
1818//   to a specified resource.
1819//
1820//   * ResourceNotFoundException
1821//   Provides information about an error that occurred because a specified resource
1822//   wasn't found.
1823//
1824//   * ThrottlingException
1825//   Provides information about an error that occurred because too many requests
1826//   were sent during a certain amount of time.
1827//
1828//   * ConflictException
1829//   Provides information about an error that occurred due to a versioning conflict
1830//   for a specified resource.
1831//
1832// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DisableMacie
1833func (c *Macie2) DisableMacie(input *DisableMacieInput) (*DisableMacieOutput, error) {
1834	req, out := c.DisableMacieRequest(input)
1835	return out, req.Send()
1836}
1837
1838// DisableMacieWithContext is the same as DisableMacie with the addition of
1839// the ability to pass a context and additional request options.
1840//
1841// See DisableMacie for details on how to use this API operation.
1842//
1843// The context must be non-nil and will be used for request cancellation. If
1844// the context is nil a panic will occur. In the future the SDK may create
1845// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1846// for more information on using Contexts.
1847func (c *Macie2) DisableMacieWithContext(ctx aws.Context, input *DisableMacieInput, opts ...request.Option) (*DisableMacieOutput, error) {
1848	req, out := c.DisableMacieRequest(input)
1849	req.SetContext(ctx)
1850	req.ApplyOptions(opts...)
1851	return out, req.Send()
1852}
1853
1854const opDisableOrganizationAdminAccount = "DisableOrganizationAdminAccount"
1855
1856// DisableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
1857// client's request for the DisableOrganizationAdminAccount operation. The "output" return
1858// value will be populated with the request's response once the request completes
1859// successfully.
1860//
1861// Use "Send" method on the returned Request to send the API call to the service.
1862// the "output" return value is not valid until after Send returns without error.
1863//
1864// See DisableOrganizationAdminAccount for more information on using the DisableOrganizationAdminAccount
1865// API call, and error handling.
1866//
1867// This method is useful when you want to inject custom logic or configuration
1868// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1869//
1870//
1871//    // Example sending a request using the DisableOrganizationAdminAccountRequest method.
1872//    req, resp := client.DisableOrganizationAdminAccountRequest(params)
1873//
1874//    err := req.Send()
1875//    if err == nil { // resp is now filled
1876//        fmt.Println(resp)
1877//    }
1878//
1879// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DisableOrganizationAdminAccount
1880func (c *Macie2) DisableOrganizationAdminAccountRequest(input *DisableOrganizationAdminAccountInput) (req *request.Request, output *DisableOrganizationAdminAccountOutput) {
1881	op := &request.Operation{
1882		Name:       opDisableOrganizationAdminAccount,
1883		HTTPMethod: "DELETE",
1884		HTTPPath:   "/admin",
1885	}
1886
1887	if input == nil {
1888		input = &DisableOrganizationAdminAccountInput{}
1889	}
1890
1891	output = &DisableOrganizationAdminAccountOutput{}
1892	req = c.newRequest(op, input, output)
1893	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1894	return
1895}
1896
1897// DisableOrganizationAdminAccount API operation for Amazon Macie 2.
1898//
1899// Disables an account as the delegated Amazon Macie administrator account for
1900// an Amazon Web Services organization.
1901//
1902// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1903// with awserr.Error's Code and Message methods to get detailed information about
1904// the error.
1905//
1906// See the AWS API reference guide for Amazon Macie 2's
1907// API operation DisableOrganizationAdminAccount for usage and error information.
1908//
1909// Returned Error Types:
1910//   * ValidationException
1911//   Provides information about an error that occurred due to a syntax error in
1912//   a request.
1913//
1914//   * InternalServerException
1915//   Provides information about an error that occurred due to an unknown internal
1916//   server error, exception, or failure.
1917//
1918//   * ServiceQuotaExceededException
1919//   Provides information about an error that occurred due to one or more service
1920//   quotas for an account.
1921//
1922//   * AccessDeniedException
1923//   Provides information about an error that occurred due to insufficient access
1924//   to a specified resource.
1925//
1926//   * ResourceNotFoundException
1927//   Provides information about an error that occurred because a specified resource
1928//   wasn't found.
1929//
1930//   * ThrottlingException
1931//   Provides information about an error that occurred because too many requests
1932//   were sent during a certain amount of time.
1933//
1934//   * ConflictException
1935//   Provides information about an error that occurred due to a versioning conflict
1936//   for a specified resource.
1937//
1938// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DisableOrganizationAdminAccount
1939func (c *Macie2) DisableOrganizationAdminAccount(input *DisableOrganizationAdminAccountInput) (*DisableOrganizationAdminAccountOutput, error) {
1940	req, out := c.DisableOrganizationAdminAccountRequest(input)
1941	return out, req.Send()
1942}
1943
1944// DisableOrganizationAdminAccountWithContext is the same as DisableOrganizationAdminAccount with the addition of
1945// the ability to pass a context and additional request options.
1946//
1947// See DisableOrganizationAdminAccount for details on how to use this API operation.
1948//
1949// The context must be non-nil and will be used for request cancellation. If
1950// the context is nil a panic will occur. In the future the SDK may create
1951// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1952// for more information on using Contexts.
1953func (c *Macie2) DisableOrganizationAdminAccountWithContext(ctx aws.Context, input *DisableOrganizationAdminAccountInput, opts ...request.Option) (*DisableOrganizationAdminAccountOutput, error) {
1954	req, out := c.DisableOrganizationAdminAccountRequest(input)
1955	req.SetContext(ctx)
1956	req.ApplyOptions(opts...)
1957	return out, req.Send()
1958}
1959
1960const opDisassociateFromAdministratorAccount = "DisassociateFromAdministratorAccount"
1961
1962// DisassociateFromAdministratorAccountRequest generates a "aws/request.Request" representing the
1963// client's request for the DisassociateFromAdministratorAccount operation. The "output" return
1964// value will be populated with the request's response once the request completes
1965// successfully.
1966//
1967// Use "Send" method on the returned Request to send the API call to the service.
1968// the "output" return value is not valid until after Send returns without error.
1969//
1970// See DisassociateFromAdministratorAccount for more information on using the DisassociateFromAdministratorAccount
1971// API call, and error handling.
1972//
1973// This method is useful when you want to inject custom logic or configuration
1974// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1975//
1976//
1977//    // Example sending a request using the DisassociateFromAdministratorAccountRequest method.
1978//    req, resp := client.DisassociateFromAdministratorAccountRequest(params)
1979//
1980//    err := req.Send()
1981//    if err == nil { // resp is now filled
1982//        fmt.Println(resp)
1983//    }
1984//
1985// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DisassociateFromAdministratorAccount
1986func (c *Macie2) DisassociateFromAdministratorAccountRequest(input *DisassociateFromAdministratorAccountInput) (req *request.Request, output *DisassociateFromAdministratorAccountOutput) {
1987	op := &request.Operation{
1988		Name:       opDisassociateFromAdministratorAccount,
1989		HTTPMethod: "POST",
1990		HTTPPath:   "/administrator/disassociate",
1991	}
1992
1993	if input == nil {
1994		input = &DisassociateFromAdministratorAccountInput{}
1995	}
1996
1997	output = &DisassociateFromAdministratorAccountOutput{}
1998	req = c.newRequest(op, input, output)
1999	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2000	return
2001}
2002
2003// DisassociateFromAdministratorAccount API operation for Amazon Macie 2.
2004//
2005// Disassociates a member account from its Amazon Macie administrator account.
2006//
2007// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2008// with awserr.Error's Code and Message methods to get detailed information about
2009// the error.
2010//
2011// See the AWS API reference guide for Amazon Macie 2's
2012// API operation DisassociateFromAdministratorAccount for usage and error information.
2013//
2014// Returned Error Types:
2015//   * ValidationException
2016//   Provides information about an error that occurred due to a syntax error in
2017//   a request.
2018//
2019//   * InternalServerException
2020//   Provides information about an error that occurred due to an unknown internal
2021//   server error, exception, or failure.
2022//
2023//   * ServiceQuotaExceededException
2024//   Provides information about an error that occurred due to one or more service
2025//   quotas for an account.
2026//
2027//   * AccessDeniedException
2028//   Provides information about an error that occurred due to insufficient access
2029//   to a specified resource.
2030//
2031//   * ResourceNotFoundException
2032//   Provides information about an error that occurred because a specified resource
2033//   wasn't found.
2034//
2035//   * ThrottlingException
2036//   Provides information about an error that occurred because too many requests
2037//   were sent during a certain amount of time.
2038//
2039//   * ConflictException
2040//   Provides information about an error that occurred due to a versioning conflict
2041//   for a specified resource.
2042//
2043// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DisassociateFromAdministratorAccount
2044func (c *Macie2) DisassociateFromAdministratorAccount(input *DisassociateFromAdministratorAccountInput) (*DisassociateFromAdministratorAccountOutput, error) {
2045	req, out := c.DisassociateFromAdministratorAccountRequest(input)
2046	return out, req.Send()
2047}
2048
2049// DisassociateFromAdministratorAccountWithContext is the same as DisassociateFromAdministratorAccount with the addition of
2050// the ability to pass a context and additional request options.
2051//
2052// See DisassociateFromAdministratorAccount for details on how to use this API operation.
2053//
2054// The context must be non-nil and will be used for request cancellation. If
2055// the context is nil a panic will occur. In the future the SDK may create
2056// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2057// for more information on using Contexts.
2058func (c *Macie2) DisassociateFromAdministratorAccountWithContext(ctx aws.Context, input *DisassociateFromAdministratorAccountInput, opts ...request.Option) (*DisassociateFromAdministratorAccountOutput, error) {
2059	req, out := c.DisassociateFromAdministratorAccountRequest(input)
2060	req.SetContext(ctx)
2061	req.ApplyOptions(opts...)
2062	return out, req.Send()
2063}
2064
2065const opDisassociateFromMasterAccount = "DisassociateFromMasterAccount"
2066
2067// DisassociateFromMasterAccountRequest generates a "aws/request.Request" representing the
2068// client's request for the DisassociateFromMasterAccount operation. The "output" return
2069// value will be populated with the request's response once the request completes
2070// successfully.
2071//
2072// Use "Send" method on the returned Request to send the API call to the service.
2073// the "output" return value is not valid until after Send returns without error.
2074//
2075// See DisassociateFromMasterAccount for more information on using the DisassociateFromMasterAccount
2076// API call, and error handling.
2077//
2078// This method is useful when you want to inject custom logic or configuration
2079// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2080//
2081//
2082//    // Example sending a request using the DisassociateFromMasterAccountRequest method.
2083//    req, resp := client.DisassociateFromMasterAccountRequest(params)
2084//
2085//    err := req.Send()
2086//    if err == nil { // resp is now filled
2087//        fmt.Println(resp)
2088//    }
2089//
2090// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DisassociateFromMasterAccount
2091func (c *Macie2) DisassociateFromMasterAccountRequest(input *DisassociateFromMasterAccountInput) (req *request.Request, output *DisassociateFromMasterAccountOutput) {
2092	op := &request.Operation{
2093		Name:       opDisassociateFromMasterAccount,
2094		HTTPMethod: "POST",
2095		HTTPPath:   "/master/disassociate",
2096	}
2097
2098	if input == nil {
2099		input = &DisassociateFromMasterAccountInput{}
2100	}
2101
2102	output = &DisassociateFromMasterAccountOutput{}
2103	req = c.newRequest(op, input, output)
2104	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2105	return
2106}
2107
2108// DisassociateFromMasterAccount API operation for Amazon Macie 2.
2109//
2110// (Deprecated) Disassociates a member account from its Amazon Macie administrator
2111// account. This operation has been replaced by the DisassociateFromAdministratorAccount
2112// operation.
2113//
2114// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2115// with awserr.Error's Code and Message methods to get detailed information about
2116// the error.
2117//
2118// See the AWS API reference guide for Amazon Macie 2's
2119// API operation DisassociateFromMasterAccount for usage and error information.
2120//
2121// Returned Error Types:
2122//   * ValidationException
2123//   Provides information about an error that occurred due to a syntax error in
2124//   a request.
2125//
2126//   * InternalServerException
2127//   Provides information about an error that occurred due to an unknown internal
2128//   server error, exception, or failure.
2129//
2130//   * ServiceQuotaExceededException
2131//   Provides information about an error that occurred due to one or more service
2132//   quotas for an account.
2133//
2134//   * AccessDeniedException
2135//   Provides information about an error that occurred due to insufficient access
2136//   to a specified resource.
2137//
2138//   * ResourceNotFoundException
2139//   Provides information about an error that occurred because a specified resource
2140//   wasn't found.
2141//
2142//   * ThrottlingException
2143//   Provides information about an error that occurred because too many requests
2144//   were sent during a certain amount of time.
2145//
2146//   * ConflictException
2147//   Provides information about an error that occurred due to a versioning conflict
2148//   for a specified resource.
2149//
2150// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DisassociateFromMasterAccount
2151func (c *Macie2) DisassociateFromMasterAccount(input *DisassociateFromMasterAccountInput) (*DisassociateFromMasterAccountOutput, error) {
2152	req, out := c.DisassociateFromMasterAccountRequest(input)
2153	return out, req.Send()
2154}
2155
2156// DisassociateFromMasterAccountWithContext is the same as DisassociateFromMasterAccount with the addition of
2157// the ability to pass a context and additional request options.
2158//
2159// See DisassociateFromMasterAccount for details on how to use this API operation.
2160//
2161// The context must be non-nil and will be used for request cancellation. If
2162// the context is nil a panic will occur. In the future the SDK may create
2163// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2164// for more information on using Contexts.
2165func (c *Macie2) DisassociateFromMasterAccountWithContext(ctx aws.Context, input *DisassociateFromMasterAccountInput, opts ...request.Option) (*DisassociateFromMasterAccountOutput, error) {
2166	req, out := c.DisassociateFromMasterAccountRequest(input)
2167	req.SetContext(ctx)
2168	req.ApplyOptions(opts...)
2169	return out, req.Send()
2170}
2171
2172const opDisassociateMember = "DisassociateMember"
2173
2174// DisassociateMemberRequest generates a "aws/request.Request" representing the
2175// client's request for the DisassociateMember operation. The "output" return
2176// value will be populated with the request's response once the request completes
2177// successfully.
2178//
2179// Use "Send" method on the returned Request to send the API call to the service.
2180// the "output" return value is not valid until after Send returns without error.
2181//
2182// See DisassociateMember for more information on using the DisassociateMember
2183// API call, and error handling.
2184//
2185// This method is useful when you want to inject custom logic or configuration
2186// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2187//
2188//
2189//    // Example sending a request using the DisassociateMemberRequest method.
2190//    req, resp := client.DisassociateMemberRequest(params)
2191//
2192//    err := req.Send()
2193//    if err == nil { // resp is now filled
2194//        fmt.Println(resp)
2195//    }
2196//
2197// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DisassociateMember
2198func (c *Macie2) DisassociateMemberRequest(input *DisassociateMemberInput) (req *request.Request, output *DisassociateMemberOutput) {
2199	op := &request.Operation{
2200		Name:       opDisassociateMember,
2201		HTTPMethod: "POST",
2202		HTTPPath:   "/members/disassociate/{id}",
2203	}
2204
2205	if input == nil {
2206		input = &DisassociateMemberInput{}
2207	}
2208
2209	output = &DisassociateMemberOutput{}
2210	req = c.newRequest(op, input, output)
2211	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2212	return
2213}
2214
2215// DisassociateMember API operation for Amazon Macie 2.
2216//
2217// Disassociates an Amazon Macie administrator account from a member account.
2218//
2219// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2220// with awserr.Error's Code and Message methods to get detailed information about
2221// the error.
2222//
2223// See the AWS API reference guide for Amazon Macie 2's
2224// API operation DisassociateMember for usage and error information.
2225//
2226// Returned Error Types:
2227//   * ValidationException
2228//   Provides information about an error that occurred due to a syntax error in
2229//   a request.
2230//
2231//   * InternalServerException
2232//   Provides information about an error that occurred due to an unknown internal
2233//   server error, exception, or failure.
2234//
2235//   * ServiceQuotaExceededException
2236//   Provides information about an error that occurred due to one or more service
2237//   quotas for an account.
2238//
2239//   * AccessDeniedException
2240//   Provides information about an error that occurred due to insufficient access
2241//   to a specified resource.
2242//
2243//   * ResourceNotFoundException
2244//   Provides information about an error that occurred because a specified resource
2245//   wasn't found.
2246//
2247//   * ThrottlingException
2248//   Provides information about an error that occurred because too many requests
2249//   were sent during a certain amount of time.
2250//
2251//   * ConflictException
2252//   Provides information about an error that occurred due to a versioning conflict
2253//   for a specified resource.
2254//
2255// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/DisassociateMember
2256func (c *Macie2) DisassociateMember(input *DisassociateMemberInput) (*DisassociateMemberOutput, error) {
2257	req, out := c.DisassociateMemberRequest(input)
2258	return out, req.Send()
2259}
2260
2261// DisassociateMemberWithContext is the same as DisassociateMember with the addition of
2262// the ability to pass a context and additional request options.
2263//
2264// See DisassociateMember for details on how to use this API operation.
2265//
2266// The context must be non-nil and will be used for request cancellation. If
2267// the context is nil a panic will occur. In the future the SDK may create
2268// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2269// for more information on using Contexts.
2270func (c *Macie2) DisassociateMemberWithContext(ctx aws.Context, input *DisassociateMemberInput, opts ...request.Option) (*DisassociateMemberOutput, error) {
2271	req, out := c.DisassociateMemberRequest(input)
2272	req.SetContext(ctx)
2273	req.ApplyOptions(opts...)
2274	return out, req.Send()
2275}
2276
2277const opEnableMacie = "EnableMacie"
2278
2279// EnableMacieRequest generates a "aws/request.Request" representing the
2280// client's request for the EnableMacie operation. The "output" return
2281// value will be populated with the request's response once the request completes
2282// successfully.
2283//
2284// Use "Send" method on the returned Request to send the API call to the service.
2285// the "output" return value is not valid until after Send returns without error.
2286//
2287// See EnableMacie for more information on using the EnableMacie
2288// API call, and error handling.
2289//
2290// This method is useful when you want to inject custom logic or configuration
2291// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2292//
2293//
2294//    // Example sending a request using the EnableMacieRequest method.
2295//    req, resp := client.EnableMacieRequest(params)
2296//
2297//    err := req.Send()
2298//    if err == nil { // resp is now filled
2299//        fmt.Println(resp)
2300//    }
2301//
2302// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/EnableMacie
2303func (c *Macie2) EnableMacieRequest(input *EnableMacieInput) (req *request.Request, output *EnableMacieOutput) {
2304	op := &request.Operation{
2305		Name:       opEnableMacie,
2306		HTTPMethod: "POST",
2307		HTTPPath:   "/macie",
2308	}
2309
2310	if input == nil {
2311		input = &EnableMacieInput{}
2312	}
2313
2314	output = &EnableMacieOutput{}
2315	req = c.newRequest(op, input, output)
2316	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2317	return
2318}
2319
2320// EnableMacie API operation for Amazon Macie 2.
2321//
2322// Enables Amazon Macie and specifies the configuration settings for a Macie
2323// account.
2324//
2325// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2326// with awserr.Error's Code and Message methods to get detailed information about
2327// the error.
2328//
2329// See the AWS API reference guide for Amazon Macie 2's
2330// API operation EnableMacie for usage and error information.
2331//
2332// Returned Error Types:
2333//   * ValidationException
2334//   Provides information about an error that occurred due to a syntax error in
2335//   a request.
2336//
2337//   * InternalServerException
2338//   Provides information about an error that occurred due to an unknown internal
2339//   server error, exception, or failure.
2340//
2341//   * ServiceQuotaExceededException
2342//   Provides information about an error that occurred due to one or more service
2343//   quotas for an account.
2344//
2345//   * AccessDeniedException
2346//   Provides information about an error that occurred due to insufficient access
2347//   to a specified resource.
2348//
2349//   * ResourceNotFoundException
2350//   Provides information about an error that occurred because a specified resource
2351//   wasn't found.
2352//
2353//   * ThrottlingException
2354//   Provides information about an error that occurred because too many requests
2355//   were sent during a certain amount of time.
2356//
2357//   * ConflictException
2358//   Provides information about an error that occurred due to a versioning conflict
2359//   for a specified resource.
2360//
2361// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/EnableMacie
2362func (c *Macie2) EnableMacie(input *EnableMacieInput) (*EnableMacieOutput, error) {
2363	req, out := c.EnableMacieRequest(input)
2364	return out, req.Send()
2365}
2366
2367// EnableMacieWithContext is the same as EnableMacie with the addition of
2368// the ability to pass a context and additional request options.
2369//
2370// See EnableMacie for details on how to use this API operation.
2371//
2372// The context must be non-nil and will be used for request cancellation. If
2373// the context is nil a panic will occur. In the future the SDK may create
2374// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2375// for more information on using Contexts.
2376func (c *Macie2) EnableMacieWithContext(ctx aws.Context, input *EnableMacieInput, opts ...request.Option) (*EnableMacieOutput, error) {
2377	req, out := c.EnableMacieRequest(input)
2378	req.SetContext(ctx)
2379	req.ApplyOptions(opts...)
2380	return out, req.Send()
2381}
2382
2383const opEnableOrganizationAdminAccount = "EnableOrganizationAdminAccount"
2384
2385// EnableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
2386// client's request for the EnableOrganizationAdminAccount operation. The "output" return
2387// value will be populated with the request's response once the request completes
2388// successfully.
2389//
2390// Use "Send" method on the returned Request to send the API call to the service.
2391// the "output" return value is not valid until after Send returns without error.
2392//
2393// See EnableOrganizationAdminAccount for more information on using the EnableOrganizationAdminAccount
2394// API call, and error handling.
2395//
2396// This method is useful when you want to inject custom logic or configuration
2397// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2398//
2399//
2400//    // Example sending a request using the EnableOrganizationAdminAccountRequest method.
2401//    req, resp := client.EnableOrganizationAdminAccountRequest(params)
2402//
2403//    err := req.Send()
2404//    if err == nil { // resp is now filled
2405//        fmt.Println(resp)
2406//    }
2407//
2408// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/EnableOrganizationAdminAccount
2409func (c *Macie2) EnableOrganizationAdminAccountRequest(input *EnableOrganizationAdminAccountInput) (req *request.Request, output *EnableOrganizationAdminAccountOutput) {
2410	op := &request.Operation{
2411		Name:       opEnableOrganizationAdminAccount,
2412		HTTPMethod: "POST",
2413		HTTPPath:   "/admin",
2414	}
2415
2416	if input == nil {
2417		input = &EnableOrganizationAdminAccountInput{}
2418	}
2419
2420	output = &EnableOrganizationAdminAccountOutput{}
2421	req = c.newRequest(op, input, output)
2422	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
2423	return
2424}
2425
2426// EnableOrganizationAdminAccount API operation for Amazon Macie 2.
2427//
2428// Designates an account as the delegated Amazon Macie administrator account
2429// for an Amazon Web Services organization.
2430//
2431// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2432// with awserr.Error's Code and Message methods to get detailed information about
2433// the error.
2434//
2435// See the AWS API reference guide for Amazon Macie 2's
2436// API operation EnableOrganizationAdminAccount for usage and error information.
2437//
2438// Returned Error Types:
2439//   * ValidationException
2440//   Provides information about an error that occurred due to a syntax error in
2441//   a request.
2442//
2443//   * InternalServerException
2444//   Provides information about an error that occurred due to an unknown internal
2445//   server error, exception, or failure.
2446//
2447//   * ServiceQuotaExceededException
2448//   Provides information about an error that occurred due to one or more service
2449//   quotas for an account.
2450//
2451//   * AccessDeniedException
2452//   Provides information about an error that occurred due to insufficient access
2453//   to a specified resource.
2454//
2455//   * ResourceNotFoundException
2456//   Provides information about an error that occurred because a specified resource
2457//   wasn't found.
2458//
2459//   * ThrottlingException
2460//   Provides information about an error that occurred because too many requests
2461//   were sent during a certain amount of time.
2462//
2463//   * ConflictException
2464//   Provides information about an error that occurred due to a versioning conflict
2465//   for a specified resource.
2466//
2467// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/EnableOrganizationAdminAccount
2468func (c *Macie2) EnableOrganizationAdminAccount(input *EnableOrganizationAdminAccountInput) (*EnableOrganizationAdminAccountOutput, error) {
2469	req, out := c.EnableOrganizationAdminAccountRequest(input)
2470	return out, req.Send()
2471}
2472
2473// EnableOrganizationAdminAccountWithContext is the same as EnableOrganizationAdminAccount with the addition of
2474// the ability to pass a context and additional request options.
2475//
2476// See EnableOrganizationAdminAccount for details on how to use this API operation.
2477//
2478// The context must be non-nil and will be used for request cancellation. If
2479// the context is nil a panic will occur. In the future the SDK may create
2480// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2481// for more information on using Contexts.
2482func (c *Macie2) EnableOrganizationAdminAccountWithContext(ctx aws.Context, input *EnableOrganizationAdminAccountInput, opts ...request.Option) (*EnableOrganizationAdminAccountOutput, error) {
2483	req, out := c.EnableOrganizationAdminAccountRequest(input)
2484	req.SetContext(ctx)
2485	req.ApplyOptions(opts...)
2486	return out, req.Send()
2487}
2488
2489const opGetAdministratorAccount = "GetAdministratorAccount"
2490
2491// GetAdministratorAccountRequest generates a "aws/request.Request" representing the
2492// client's request for the GetAdministratorAccount operation. The "output" return
2493// value will be populated with the request's response once the request completes
2494// successfully.
2495//
2496// Use "Send" method on the returned Request to send the API call to the service.
2497// the "output" return value is not valid until after Send returns without error.
2498//
2499// See GetAdministratorAccount for more information on using the GetAdministratorAccount
2500// API call, and error handling.
2501//
2502// This method is useful when you want to inject custom logic or configuration
2503// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2504//
2505//
2506//    // Example sending a request using the GetAdministratorAccountRequest method.
2507//    req, resp := client.GetAdministratorAccountRequest(params)
2508//
2509//    err := req.Send()
2510//    if err == nil { // resp is now filled
2511//        fmt.Println(resp)
2512//    }
2513//
2514// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetAdministratorAccount
2515func (c *Macie2) GetAdministratorAccountRequest(input *GetAdministratorAccountInput) (req *request.Request, output *GetAdministratorAccountOutput) {
2516	op := &request.Operation{
2517		Name:       opGetAdministratorAccount,
2518		HTTPMethod: "GET",
2519		HTTPPath:   "/administrator",
2520	}
2521
2522	if input == nil {
2523		input = &GetAdministratorAccountInput{}
2524	}
2525
2526	output = &GetAdministratorAccountOutput{}
2527	req = c.newRequest(op, input, output)
2528	return
2529}
2530
2531// GetAdministratorAccount API operation for Amazon Macie 2.
2532//
2533// Retrieves information about the Amazon Macie administrator account for an
2534// account.
2535//
2536// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2537// with awserr.Error's Code and Message methods to get detailed information about
2538// the error.
2539//
2540// See the AWS API reference guide for Amazon Macie 2's
2541// API operation GetAdministratorAccount for usage and error information.
2542//
2543// Returned Error Types:
2544//   * ValidationException
2545//   Provides information about an error that occurred due to a syntax error in
2546//   a request.
2547//
2548//   * InternalServerException
2549//   Provides information about an error that occurred due to an unknown internal
2550//   server error, exception, or failure.
2551//
2552//   * ServiceQuotaExceededException
2553//   Provides information about an error that occurred due to one or more service
2554//   quotas for an account.
2555//
2556//   * AccessDeniedException
2557//   Provides information about an error that occurred due to insufficient access
2558//   to a specified resource.
2559//
2560//   * ResourceNotFoundException
2561//   Provides information about an error that occurred because a specified resource
2562//   wasn't found.
2563//
2564//   * ThrottlingException
2565//   Provides information about an error that occurred because too many requests
2566//   were sent during a certain amount of time.
2567//
2568//   * ConflictException
2569//   Provides information about an error that occurred due to a versioning conflict
2570//   for a specified resource.
2571//
2572// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetAdministratorAccount
2573func (c *Macie2) GetAdministratorAccount(input *GetAdministratorAccountInput) (*GetAdministratorAccountOutput, error) {
2574	req, out := c.GetAdministratorAccountRequest(input)
2575	return out, req.Send()
2576}
2577
2578// GetAdministratorAccountWithContext is the same as GetAdministratorAccount with the addition of
2579// the ability to pass a context and additional request options.
2580//
2581// See GetAdministratorAccount for details on how to use this API operation.
2582//
2583// The context must be non-nil and will be used for request cancellation. If
2584// the context is nil a panic will occur. In the future the SDK may create
2585// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2586// for more information on using Contexts.
2587func (c *Macie2) GetAdministratorAccountWithContext(ctx aws.Context, input *GetAdministratorAccountInput, opts ...request.Option) (*GetAdministratorAccountOutput, error) {
2588	req, out := c.GetAdministratorAccountRequest(input)
2589	req.SetContext(ctx)
2590	req.ApplyOptions(opts...)
2591	return out, req.Send()
2592}
2593
2594const opGetBucketStatistics = "GetBucketStatistics"
2595
2596// GetBucketStatisticsRequest generates a "aws/request.Request" representing the
2597// client's request for the GetBucketStatistics operation. The "output" return
2598// value will be populated with the request's response once the request completes
2599// successfully.
2600//
2601// Use "Send" method on the returned Request to send the API call to the service.
2602// the "output" return value is not valid until after Send returns without error.
2603//
2604// See GetBucketStatistics for more information on using the GetBucketStatistics
2605// API call, and error handling.
2606//
2607// This method is useful when you want to inject custom logic or configuration
2608// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2609//
2610//
2611//    // Example sending a request using the GetBucketStatisticsRequest method.
2612//    req, resp := client.GetBucketStatisticsRequest(params)
2613//
2614//    err := req.Send()
2615//    if err == nil { // resp is now filled
2616//        fmt.Println(resp)
2617//    }
2618//
2619// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetBucketStatistics
2620func (c *Macie2) GetBucketStatisticsRequest(input *GetBucketStatisticsInput) (req *request.Request, output *GetBucketStatisticsOutput) {
2621	op := &request.Operation{
2622		Name:       opGetBucketStatistics,
2623		HTTPMethod: "POST",
2624		HTTPPath:   "/datasources/s3/statistics",
2625	}
2626
2627	if input == nil {
2628		input = &GetBucketStatisticsInput{}
2629	}
2630
2631	output = &GetBucketStatisticsOutput{}
2632	req = c.newRequest(op, input, output)
2633	return
2634}
2635
2636// GetBucketStatistics API operation for Amazon Macie 2.
2637//
2638// Retrieves (queries) aggregated statistical data for all the S3 buckets that
2639// Amazon Macie monitors and analyzes.
2640//
2641// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2642// with awserr.Error's Code and Message methods to get detailed information about
2643// the error.
2644//
2645// See the AWS API reference guide for Amazon Macie 2's
2646// API operation GetBucketStatistics for usage and error information.
2647//
2648// Returned Error Types:
2649//   * ValidationException
2650//   Provides information about an error that occurred due to a syntax error in
2651//   a request.
2652//
2653//   * InternalServerException
2654//   Provides information about an error that occurred due to an unknown internal
2655//   server error, exception, or failure.
2656//
2657//   * ServiceQuotaExceededException
2658//   Provides information about an error that occurred due to one or more service
2659//   quotas for an account.
2660//
2661//   * AccessDeniedException
2662//   Provides information about an error that occurred due to insufficient access
2663//   to a specified resource.
2664//
2665//   * ResourceNotFoundException
2666//   Provides information about an error that occurred because a specified resource
2667//   wasn't found.
2668//
2669//   * ThrottlingException
2670//   Provides information about an error that occurred because too many requests
2671//   were sent during a certain amount of time.
2672//
2673//   * ConflictException
2674//   Provides information about an error that occurred due to a versioning conflict
2675//   for a specified resource.
2676//
2677// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetBucketStatistics
2678func (c *Macie2) GetBucketStatistics(input *GetBucketStatisticsInput) (*GetBucketStatisticsOutput, error) {
2679	req, out := c.GetBucketStatisticsRequest(input)
2680	return out, req.Send()
2681}
2682
2683// GetBucketStatisticsWithContext is the same as GetBucketStatistics with the addition of
2684// the ability to pass a context and additional request options.
2685//
2686// See GetBucketStatistics for details on how to use this API operation.
2687//
2688// The context must be non-nil and will be used for request cancellation. If
2689// the context is nil a panic will occur. In the future the SDK may create
2690// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2691// for more information on using Contexts.
2692func (c *Macie2) GetBucketStatisticsWithContext(ctx aws.Context, input *GetBucketStatisticsInput, opts ...request.Option) (*GetBucketStatisticsOutput, error) {
2693	req, out := c.GetBucketStatisticsRequest(input)
2694	req.SetContext(ctx)
2695	req.ApplyOptions(opts...)
2696	return out, req.Send()
2697}
2698
2699const opGetClassificationExportConfiguration = "GetClassificationExportConfiguration"
2700
2701// GetClassificationExportConfigurationRequest generates a "aws/request.Request" representing the
2702// client's request for the GetClassificationExportConfiguration operation. The "output" return
2703// value will be populated with the request's response once the request completes
2704// successfully.
2705//
2706// Use "Send" method on the returned Request to send the API call to the service.
2707// the "output" return value is not valid until after Send returns without error.
2708//
2709// See GetClassificationExportConfiguration for more information on using the GetClassificationExportConfiguration
2710// API call, and error handling.
2711//
2712// This method is useful when you want to inject custom logic or configuration
2713// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2714//
2715//
2716//    // Example sending a request using the GetClassificationExportConfigurationRequest method.
2717//    req, resp := client.GetClassificationExportConfigurationRequest(params)
2718//
2719//    err := req.Send()
2720//    if err == nil { // resp is now filled
2721//        fmt.Println(resp)
2722//    }
2723//
2724// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetClassificationExportConfiguration
2725func (c *Macie2) GetClassificationExportConfigurationRequest(input *GetClassificationExportConfigurationInput) (req *request.Request, output *GetClassificationExportConfigurationOutput) {
2726	op := &request.Operation{
2727		Name:       opGetClassificationExportConfiguration,
2728		HTTPMethod: "GET",
2729		HTTPPath:   "/classification-export-configuration",
2730	}
2731
2732	if input == nil {
2733		input = &GetClassificationExportConfigurationInput{}
2734	}
2735
2736	output = &GetClassificationExportConfigurationOutput{}
2737	req = c.newRequest(op, input, output)
2738	return
2739}
2740
2741// GetClassificationExportConfiguration API operation for Amazon Macie 2.
2742//
2743// Retrieves the configuration settings for storing data classification results.
2744//
2745// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2746// with awserr.Error's Code and Message methods to get detailed information about
2747// the error.
2748//
2749// See the AWS API reference guide for Amazon Macie 2's
2750// API operation GetClassificationExportConfiguration for usage and error information.
2751//
2752// Returned Error Types:
2753//   * ValidationException
2754//   Provides information about an error that occurred due to a syntax error in
2755//   a request.
2756//
2757//   * InternalServerException
2758//   Provides information about an error that occurred due to an unknown internal
2759//   server error, exception, or failure.
2760//
2761//   * ServiceQuotaExceededException
2762//   Provides information about an error that occurred due to one or more service
2763//   quotas for an account.
2764//
2765//   * AccessDeniedException
2766//   Provides information about an error that occurred due to insufficient access
2767//   to a specified resource.
2768//
2769//   * ResourceNotFoundException
2770//   Provides information about an error that occurred because a specified resource
2771//   wasn't found.
2772//
2773//   * ThrottlingException
2774//   Provides information about an error that occurred because too many requests
2775//   were sent during a certain amount of time.
2776//
2777//   * ConflictException
2778//   Provides information about an error that occurred due to a versioning conflict
2779//   for a specified resource.
2780//
2781// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetClassificationExportConfiguration
2782func (c *Macie2) GetClassificationExportConfiguration(input *GetClassificationExportConfigurationInput) (*GetClassificationExportConfigurationOutput, error) {
2783	req, out := c.GetClassificationExportConfigurationRequest(input)
2784	return out, req.Send()
2785}
2786
2787// GetClassificationExportConfigurationWithContext is the same as GetClassificationExportConfiguration with the addition of
2788// the ability to pass a context and additional request options.
2789//
2790// See GetClassificationExportConfiguration for details on how to use this API operation.
2791//
2792// The context must be non-nil and will be used for request cancellation. If
2793// the context is nil a panic will occur. In the future the SDK may create
2794// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2795// for more information on using Contexts.
2796func (c *Macie2) GetClassificationExportConfigurationWithContext(ctx aws.Context, input *GetClassificationExportConfigurationInput, opts ...request.Option) (*GetClassificationExportConfigurationOutput, error) {
2797	req, out := c.GetClassificationExportConfigurationRequest(input)
2798	req.SetContext(ctx)
2799	req.ApplyOptions(opts...)
2800	return out, req.Send()
2801}
2802
2803const opGetCustomDataIdentifier = "GetCustomDataIdentifier"
2804
2805// GetCustomDataIdentifierRequest generates a "aws/request.Request" representing the
2806// client's request for the GetCustomDataIdentifier operation. The "output" return
2807// value will be populated with the request's response once the request completes
2808// successfully.
2809//
2810// Use "Send" method on the returned Request to send the API call to the service.
2811// the "output" return value is not valid until after Send returns without error.
2812//
2813// See GetCustomDataIdentifier for more information on using the GetCustomDataIdentifier
2814// API call, and error handling.
2815//
2816// This method is useful when you want to inject custom logic or configuration
2817// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2818//
2819//
2820//    // Example sending a request using the GetCustomDataIdentifierRequest method.
2821//    req, resp := client.GetCustomDataIdentifierRequest(params)
2822//
2823//    err := req.Send()
2824//    if err == nil { // resp is now filled
2825//        fmt.Println(resp)
2826//    }
2827//
2828// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetCustomDataIdentifier
2829func (c *Macie2) GetCustomDataIdentifierRequest(input *GetCustomDataIdentifierInput) (req *request.Request, output *GetCustomDataIdentifierOutput) {
2830	op := &request.Operation{
2831		Name:       opGetCustomDataIdentifier,
2832		HTTPMethod: "GET",
2833		HTTPPath:   "/custom-data-identifiers/{id}",
2834	}
2835
2836	if input == nil {
2837		input = &GetCustomDataIdentifierInput{}
2838	}
2839
2840	output = &GetCustomDataIdentifierOutput{}
2841	req = c.newRequest(op, input, output)
2842	return
2843}
2844
2845// GetCustomDataIdentifier API operation for Amazon Macie 2.
2846//
2847// Retrieves the criteria and other settings for a custom data identifier.
2848//
2849// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2850// with awserr.Error's Code and Message methods to get detailed information about
2851// the error.
2852//
2853// See the AWS API reference guide for Amazon Macie 2's
2854// API operation GetCustomDataIdentifier for usage and error information.
2855//
2856// Returned Error Types:
2857//   * ValidationException
2858//   Provides information about an error that occurred due to a syntax error in
2859//   a request.
2860//
2861//   * InternalServerException
2862//   Provides information about an error that occurred due to an unknown internal
2863//   server error, exception, or failure.
2864//
2865//   * ServiceQuotaExceededException
2866//   Provides information about an error that occurred due to one or more service
2867//   quotas for an account.
2868//
2869//   * AccessDeniedException
2870//   Provides information about an error that occurred due to insufficient access
2871//   to a specified resource.
2872//
2873//   * ResourceNotFoundException
2874//   Provides information about an error that occurred because a specified resource
2875//   wasn't found.
2876//
2877//   * ThrottlingException
2878//   Provides information about an error that occurred because too many requests
2879//   were sent during a certain amount of time.
2880//
2881//   * ConflictException
2882//   Provides information about an error that occurred due to a versioning conflict
2883//   for a specified resource.
2884//
2885// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetCustomDataIdentifier
2886func (c *Macie2) GetCustomDataIdentifier(input *GetCustomDataIdentifierInput) (*GetCustomDataIdentifierOutput, error) {
2887	req, out := c.GetCustomDataIdentifierRequest(input)
2888	return out, req.Send()
2889}
2890
2891// GetCustomDataIdentifierWithContext is the same as GetCustomDataIdentifier with the addition of
2892// the ability to pass a context and additional request options.
2893//
2894// See GetCustomDataIdentifier for details on how to use this API operation.
2895//
2896// The context must be non-nil and will be used for request cancellation. If
2897// the context is nil a panic will occur. In the future the SDK may create
2898// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2899// for more information on using Contexts.
2900func (c *Macie2) GetCustomDataIdentifierWithContext(ctx aws.Context, input *GetCustomDataIdentifierInput, opts ...request.Option) (*GetCustomDataIdentifierOutput, error) {
2901	req, out := c.GetCustomDataIdentifierRequest(input)
2902	req.SetContext(ctx)
2903	req.ApplyOptions(opts...)
2904	return out, req.Send()
2905}
2906
2907const opGetFindingStatistics = "GetFindingStatistics"
2908
2909// GetFindingStatisticsRequest generates a "aws/request.Request" representing the
2910// client's request for the GetFindingStatistics operation. The "output" return
2911// value will be populated with the request's response once the request completes
2912// successfully.
2913//
2914// Use "Send" method on the returned Request to send the API call to the service.
2915// the "output" return value is not valid until after Send returns without error.
2916//
2917// See GetFindingStatistics for more information on using the GetFindingStatistics
2918// API call, and error handling.
2919//
2920// This method is useful when you want to inject custom logic or configuration
2921// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2922//
2923//
2924//    // Example sending a request using the GetFindingStatisticsRequest method.
2925//    req, resp := client.GetFindingStatisticsRequest(params)
2926//
2927//    err := req.Send()
2928//    if err == nil { // resp is now filled
2929//        fmt.Println(resp)
2930//    }
2931//
2932// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetFindingStatistics
2933func (c *Macie2) GetFindingStatisticsRequest(input *GetFindingStatisticsInput) (req *request.Request, output *GetFindingStatisticsOutput) {
2934	op := &request.Operation{
2935		Name:       opGetFindingStatistics,
2936		HTTPMethod: "POST",
2937		HTTPPath:   "/findings/statistics",
2938	}
2939
2940	if input == nil {
2941		input = &GetFindingStatisticsInput{}
2942	}
2943
2944	output = &GetFindingStatisticsOutput{}
2945	req = c.newRequest(op, input, output)
2946	return
2947}
2948
2949// GetFindingStatistics API operation for Amazon Macie 2.
2950//
2951// Retrieves (queries) aggregated statistical data about findings.
2952//
2953// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2954// with awserr.Error's Code and Message methods to get detailed information about
2955// the error.
2956//
2957// See the AWS API reference guide for Amazon Macie 2's
2958// API operation GetFindingStatistics for usage and error information.
2959//
2960// Returned Error Types:
2961//   * ValidationException
2962//   Provides information about an error that occurred due to a syntax error in
2963//   a request.
2964//
2965//   * InternalServerException
2966//   Provides information about an error that occurred due to an unknown internal
2967//   server error, exception, or failure.
2968//
2969//   * ServiceQuotaExceededException
2970//   Provides information about an error that occurred due to one or more service
2971//   quotas for an account.
2972//
2973//   * AccessDeniedException
2974//   Provides information about an error that occurred due to insufficient access
2975//   to a specified resource.
2976//
2977//   * ResourceNotFoundException
2978//   Provides information about an error that occurred because a specified resource
2979//   wasn't found.
2980//
2981//   * ThrottlingException
2982//   Provides information about an error that occurred because too many requests
2983//   were sent during a certain amount of time.
2984//
2985//   * ConflictException
2986//   Provides information about an error that occurred due to a versioning conflict
2987//   for a specified resource.
2988//
2989// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetFindingStatistics
2990func (c *Macie2) GetFindingStatistics(input *GetFindingStatisticsInput) (*GetFindingStatisticsOutput, error) {
2991	req, out := c.GetFindingStatisticsRequest(input)
2992	return out, req.Send()
2993}
2994
2995// GetFindingStatisticsWithContext is the same as GetFindingStatistics with the addition of
2996// the ability to pass a context and additional request options.
2997//
2998// See GetFindingStatistics for details on how to use this API operation.
2999//
3000// The context must be non-nil and will be used for request cancellation. If
3001// the context is nil a panic will occur. In the future the SDK may create
3002// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3003// for more information on using Contexts.
3004func (c *Macie2) GetFindingStatisticsWithContext(ctx aws.Context, input *GetFindingStatisticsInput, opts ...request.Option) (*GetFindingStatisticsOutput, error) {
3005	req, out := c.GetFindingStatisticsRequest(input)
3006	req.SetContext(ctx)
3007	req.ApplyOptions(opts...)
3008	return out, req.Send()
3009}
3010
3011const opGetFindings = "GetFindings"
3012
3013// GetFindingsRequest generates a "aws/request.Request" representing the
3014// client's request for the GetFindings operation. The "output" return
3015// value will be populated with the request's response once the request completes
3016// successfully.
3017//
3018// Use "Send" method on the returned Request to send the API call to the service.
3019// the "output" return value is not valid until after Send returns without error.
3020//
3021// See GetFindings for more information on using the GetFindings
3022// API call, and error handling.
3023//
3024// This method is useful when you want to inject custom logic or configuration
3025// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3026//
3027//
3028//    // Example sending a request using the GetFindingsRequest method.
3029//    req, resp := client.GetFindingsRequest(params)
3030//
3031//    err := req.Send()
3032//    if err == nil { // resp is now filled
3033//        fmt.Println(resp)
3034//    }
3035//
3036// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetFindings
3037func (c *Macie2) GetFindingsRequest(input *GetFindingsInput) (req *request.Request, output *GetFindingsOutput) {
3038	op := &request.Operation{
3039		Name:       opGetFindings,
3040		HTTPMethod: "POST",
3041		HTTPPath:   "/findings/describe",
3042	}
3043
3044	if input == nil {
3045		input = &GetFindingsInput{}
3046	}
3047
3048	output = &GetFindingsOutput{}
3049	req = c.newRequest(op, input, output)
3050	return
3051}
3052
3053// GetFindings API operation for Amazon Macie 2.
3054//
3055// Retrieves the details of one or more findings.
3056//
3057// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3058// with awserr.Error's Code and Message methods to get detailed information about
3059// the error.
3060//
3061// See the AWS API reference guide for Amazon Macie 2's
3062// API operation GetFindings for usage and error information.
3063//
3064// Returned Error Types:
3065//   * ValidationException
3066//   Provides information about an error that occurred due to a syntax error in
3067//   a request.
3068//
3069//   * InternalServerException
3070//   Provides information about an error that occurred due to an unknown internal
3071//   server error, exception, or failure.
3072//
3073//   * ServiceQuotaExceededException
3074//   Provides information about an error that occurred due to one or more service
3075//   quotas for an account.
3076//
3077//   * AccessDeniedException
3078//   Provides information about an error that occurred due to insufficient access
3079//   to a specified resource.
3080//
3081//   * ResourceNotFoundException
3082//   Provides information about an error that occurred because a specified resource
3083//   wasn't found.
3084//
3085//   * ThrottlingException
3086//   Provides information about an error that occurred because too many requests
3087//   were sent during a certain amount of time.
3088//
3089//   * ConflictException
3090//   Provides information about an error that occurred due to a versioning conflict
3091//   for a specified resource.
3092//
3093// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetFindings
3094func (c *Macie2) GetFindings(input *GetFindingsInput) (*GetFindingsOutput, error) {
3095	req, out := c.GetFindingsRequest(input)
3096	return out, req.Send()
3097}
3098
3099// GetFindingsWithContext is the same as GetFindings with the addition of
3100// the ability to pass a context and additional request options.
3101//
3102// See GetFindings for details on how to use this API operation.
3103//
3104// The context must be non-nil and will be used for request cancellation. If
3105// the context is nil a panic will occur. In the future the SDK may create
3106// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3107// for more information on using Contexts.
3108func (c *Macie2) GetFindingsWithContext(ctx aws.Context, input *GetFindingsInput, opts ...request.Option) (*GetFindingsOutput, error) {
3109	req, out := c.GetFindingsRequest(input)
3110	req.SetContext(ctx)
3111	req.ApplyOptions(opts...)
3112	return out, req.Send()
3113}
3114
3115const opGetFindingsFilter = "GetFindingsFilter"
3116
3117// GetFindingsFilterRequest generates a "aws/request.Request" representing the
3118// client's request for the GetFindingsFilter operation. The "output" return
3119// value will be populated with the request's response once the request completes
3120// successfully.
3121//
3122// Use "Send" method on the returned Request to send the API call to the service.
3123// the "output" return value is not valid until after Send returns without error.
3124//
3125// See GetFindingsFilter for more information on using the GetFindingsFilter
3126// API call, and error handling.
3127//
3128// This method is useful when you want to inject custom logic or configuration
3129// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3130//
3131//
3132//    // Example sending a request using the GetFindingsFilterRequest method.
3133//    req, resp := client.GetFindingsFilterRequest(params)
3134//
3135//    err := req.Send()
3136//    if err == nil { // resp is now filled
3137//        fmt.Println(resp)
3138//    }
3139//
3140// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetFindingsFilter
3141func (c *Macie2) GetFindingsFilterRequest(input *GetFindingsFilterInput) (req *request.Request, output *GetFindingsFilterOutput) {
3142	op := &request.Operation{
3143		Name:       opGetFindingsFilter,
3144		HTTPMethod: "GET",
3145		HTTPPath:   "/findingsfilters/{id}",
3146	}
3147
3148	if input == nil {
3149		input = &GetFindingsFilterInput{}
3150	}
3151
3152	output = &GetFindingsFilterOutput{}
3153	req = c.newRequest(op, input, output)
3154	return
3155}
3156
3157// GetFindingsFilter API operation for Amazon Macie 2.
3158//
3159// Retrieves the criteria and other settings for a findings filter.
3160//
3161// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3162// with awserr.Error's Code and Message methods to get detailed information about
3163// the error.
3164//
3165// See the AWS API reference guide for Amazon Macie 2's
3166// API operation GetFindingsFilter for usage and error information.
3167//
3168// Returned Error Types:
3169//   * ValidationException
3170//   Provides information about an error that occurred due to a syntax error in
3171//   a request.
3172//
3173//   * InternalServerException
3174//   Provides information about an error that occurred due to an unknown internal
3175//   server error, exception, or failure.
3176//
3177//   * ServiceQuotaExceededException
3178//   Provides information about an error that occurred due to one or more service
3179//   quotas for an account.
3180//
3181//   * AccessDeniedException
3182//   Provides information about an error that occurred due to insufficient access
3183//   to a specified resource.
3184//
3185//   * ResourceNotFoundException
3186//   Provides information about an error that occurred because a specified resource
3187//   wasn't found.
3188//
3189//   * ThrottlingException
3190//   Provides information about an error that occurred because too many requests
3191//   were sent during a certain amount of time.
3192//
3193//   * ConflictException
3194//   Provides information about an error that occurred due to a versioning conflict
3195//   for a specified resource.
3196//
3197// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetFindingsFilter
3198func (c *Macie2) GetFindingsFilter(input *GetFindingsFilterInput) (*GetFindingsFilterOutput, error) {
3199	req, out := c.GetFindingsFilterRequest(input)
3200	return out, req.Send()
3201}
3202
3203// GetFindingsFilterWithContext is the same as GetFindingsFilter with the addition of
3204// the ability to pass a context and additional request options.
3205//
3206// See GetFindingsFilter for details on how to use this API operation.
3207//
3208// The context must be non-nil and will be used for request cancellation. If
3209// the context is nil a panic will occur. In the future the SDK may create
3210// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3211// for more information on using Contexts.
3212func (c *Macie2) GetFindingsFilterWithContext(ctx aws.Context, input *GetFindingsFilterInput, opts ...request.Option) (*GetFindingsFilterOutput, error) {
3213	req, out := c.GetFindingsFilterRequest(input)
3214	req.SetContext(ctx)
3215	req.ApplyOptions(opts...)
3216	return out, req.Send()
3217}
3218
3219const opGetFindingsPublicationConfiguration = "GetFindingsPublicationConfiguration"
3220
3221// GetFindingsPublicationConfigurationRequest generates a "aws/request.Request" representing the
3222// client's request for the GetFindingsPublicationConfiguration operation. The "output" return
3223// value will be populated with the request's response once the request completes
3224// successfully.
3225//
3226// Use "Send" method on the returned Request to send the API call to the service.
3227// the "output" return value is not valid until after Send returns without error.
3228//
3229// See GetFindingsPublicationConfiguration for more information on using the GetFindingsPublicationConfiguration
3230// API call, and error handling.
3231//
3232// This method is useful when you want to inject custom logic or configuration
3233// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3234//
3235//
3236//    // Example sending a request using the GetFindingsPublicationConfigurationRequest method.
3237//    req, resp := client.GetFindingsPublicationConfigurationRequest(params)
3238//
3239//    err := req.Send()
3240//    if err == nil { // resp is now filled
3241//        fmt.Println(resp)
3242//    }
3243//
3244// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetFindingsPublicationConfiguration
3245func (c *Macie2) GetFindingsPublicationConfigurationRequest(input *GetFindingsPublicationConfigurationInput) (req *request.Request, output *GetFindingsPublicationConfigurationOutput) {
3246	op := &request.Operation{
3247		Name:       opGetFindingsPublicationConfiguration,
3248		HTTPMethod: "GET",
3249		HTTPPath:   "/findings-publication-configuration",
3250	}
3251
3252	if input == nil {
3253		input = &GetFindingsPublicationConfigurationInput{}
3254	}
3255
3256	output = &GetFindingsPublicationConfigurationOutput{}
3257	req = c.newRequest(op, input, output)
3258	return
3259}
3260
3261// GetFindingsPublicationConfiguration API operation for Amazon Macie 2.
3262//
3263// Retrieves the configuration settings for publishing findings to Security
3264// Hub.
3265//
3266// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3267// with awserr.Error's Code and Message methods to get detailed information about
3268// the error.
3269//
3270// See the AWS API reference guide for Amazon Macie 2's
3271// API operation GetFindingsPublicationConfiguration for usage and error information.
3272//
3273// Returned Error Types:
3274//   * ValidationException
3275//   Provides information about an error that occurred due to a syntax error in
3276//   a request.
3277//
3278//   * InternalServerException
3279//   Provides information about an error that occurred due to an unknown internal
3280//   server error, exception, or failure.
3281//
3282//   * ServiceQuotaExceededException
3283//   Provides information about an error that occurred due to one or more service
3284//   quotas for an account.
3285//
3286//   * AccessDeniedException
3287//   Provides information about an error that occurred due to insufficient access
3288//   to a specified resource.
3289//
3290//   * ResourceNotFoundException
3291//   Provides information about an error that occurred because a specified resource
3292//   wasn't found.
3293//
3294//   * ThrottlingException
3295//   Provides information about an error that occurred because too many requests
3296//   were sent during a certain amount of time.
3297//
3298//   * ConflictException
3299//   Provides information about an error that occurred due to a versioning conflict
3300//   for a specified resource.
3301//
3302// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetFindingsPublicationConfiguration
3303func (c *Macie2) GetFindingsPublicationConfiguration(input *GetFindingsPublicationConfigurationInput) (*GetFindingsPublicationConfigurationOutput, error) {
3304	req, out := c.GetFindingsPublicationConfigurationRequest(input)
3305	return out, req.Send()
3306}
3307
3308// GetFindingsPublicationConfigurationWithContext is the same as GetFindingsPublicationConfiguration with the addition of
3309// the ability to pass a context and additional request options.
3310//
3311// See GetFindingsPublicationConfiguration for details on how to use this API operation.
3312//
3313// The context must be non-nil and will be used for request cancellation. If
3314// the context is nil a panic will occur. In the future the SDK may create
3315// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3316// for more information on using Contexts.
3317func (c *Macie2) GetFindingsPublicationConfigurationWithContext(ctx aws.Context, input *GetFindingsPublicationConfigurationInput, opts ...request.Option) (*GetFindingsPublicationConfigurationOutput, error) {
3318	req, out := c.GetFindingsPublicationConfigurationRequest(input)
3319	req.SetContext(ctx)
3320	req.ApplyOptions(opts...)
3321	return out, req.Send()
3322}
3323
3324const opGetInvitationsCount = "GetInvitationsCount"
3325
3326// GetInvitationsCountRequest generates a "aws/request.Request" representing the
3327// client's request for the GetInvitationsCount operation. The "output" return
3328// value will be populated with the request's response once the request completes
3329// successfully.
3330//
3331// Use "Send" method on the returned Request to send the API call to the service.
3332// the "output" return value is not valid until after Send returns without error.
3333//
3334// See GetInvitationsCount for more information on using the GetInvitationsCount
3335// API call, and error handling.
3336//
3337// This method is useful when you want to inject custom logic or configuration
3338// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3339//
3340//
3341//    // Example sending a request using the GetInvitationsCountRequest method.
3342//    req, resp := client.GetInvitationsCountRequest(params)
3343//
3344//    err := req.Send()
3345//    if err == nil { // resp is now filled
3346//        fmt.Println(resp)
3347//    }
3348//
3349// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetInvitationsCount
3350func (c *Macie2) GetInvitationsCountRequest(input *GetInvitationsCountInput) (req *request.Request, output *GetInvitationsCountOutput) {
3351	op := &request.Operation{
3352		Name:       opGetInvitationsCount,
3353		HTTPMethod: "GET",
3354		HTTPPath:   "/invitations/count",
3355	}
3356
3357	if input == nil {
3358		input = &GetInvitationsCountInput{}
3359	}
3360
3361	output = &GetInvitationsCountOutput{}
3362	req = c.newRequest(op, input, output)
3363	return
3364}
3365
3366// GetInvitationsCount API operation for Amazon Macie 2.
3367//
3368// Retrieves the count of Amazon Macie membership invitations that were received
3369// by an account.
3370//
3371// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3372// with awserr.Error's Code and Message methods to get detailed information about
3373// the error.
3374//
3375// See the AWS API reference guide for Amazon Macie 2's
3376// API operation GetInvitationsCount for usage and error information.
3377//
3378// Returned Error Types:
3379//   * ValidationException
3380//   Provides information about an error that occurred due to a syntax error in
3381//   a request.
3382//
3383//   * InternalServerException
3384//   Provides information about an error that occurred due to an unknown internal
3385//   server error, exception, or failure.
3386//
3387//   * ServiceQuotaExceededException
3388//   Provides information about an error that occurred due to one or more service
3389//   quotas for an account.
3390//
3391//   * AccessDeniedException
3392//   Provides information about an error that occurred due to insufficient access
3393//   to a specified resource.
3394//
3395//   * ResourceNotFoundException
3396//   Provides information about an error that occurred because a specified resource
3397//   wasn't found.
3398//
3399//   * ThrottlingException
3400//   Provides information about an error that occurred because too many requests
3401//   were sent during a certain amount of time.
3402//
3403//   * ConflictException
3404//   Provides information about an error that occurred due to a versioning conflict
3405//   for a specified resource.
3406//
3407// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetInvitationsCount
3408func (c *Macie2) GetInvitationsCount(input *GetInvitationsCountInput) (*GetInvitationsCountOutput, error) {
3409	req, out := c.GetInvitationsCountRequest(input)
3410	return out, req.Send()
3411}
3412
3413// GetInvitationsCountWithContext is the same as GetInvitationsCount with the addition of
3414// the ability to pass a context and additional request options.
3415//
3416// See GetInvitationsCount for details on how to use this API operation.
3417//
3418// The context must be non-nil and will be used for request cancellation. If
3419// the context is nil a panic will occur. In the future the SDK may create
3420// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3421// for more information on using Contexts.
3422func (c *Macie2) GetInvitationsCountWithContext(ctx aws.Context, input *GetInvitationsCountInput, opts ...request.Option) (*GetInvitationsCountOutput, error) {
3423	req, out := c.GetInvitationsCountRequest(input)
3424	req.SetContext(ctx)
3425	req.ApplyOptions(opts...)
3426	return out, req.Send()
3427}
3428
3429const opGetMacieSession = "GetMacieSession"
3430
3431// GetMacieSessionRequest generates a "aws/request.Request" representing the
3432// client's request for the GetMacieSession operation. The "output" return
3433// value will be populated with the request's response once the request completes
3434// successfully.
3435//
3436// Use "Send" method on the returned Request to send the API call to the service.
3437// the "output" return value is not valid until after Send returns without error.
3438//
3439// See GetMacieSession for more information on using the GetMacieSession
3440// API call, and error handling.
3441//
3442// This method is useful when you want to inject custom logic or configuration
3443// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3444//
3445//
3446//    // Example sending a request using the GetMacieSessionRequest method.
3447//    req, resp := client.GetMacieSessionRequest(params)
3448//
3449//    err := req.Send()
3450//    if err == nil { // resp is now filled
3451//        fmt.Println(resp)
3452//    }
3453//
3454// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetMacieSession
3455func (c *Macie2) GetMacieSessionRequest(input *GetMacieSessionInput) (req *request.Request, output *GetMacieSessionOutput) {
3456	op := &request.Operation{
3457		Name:       opGetMacieSession,
3458		HTTPMethod: "GET",
3459		HTTPPath:   "/macie",
3460	}
3461
3462	if input == nil {
3463		input = &GetMacieSessionInput{}
3464	}
3465
3466	output = &GetMacieSessionOutput{}
3467	req = c.newRequest(op, input, output)
3468	return
3469}
3470
3471// GetMacieSession API operation for Amazon Macie 2.
3472//
3473// Retrieves the current status and configuration settings for an Amazon Macie
3474// account.
3475//
3476// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3477// with awserr.Error's Code and Message methods to get detailed information about
3478// the error.
3479//
3480// See the AWS API reference guide for Amazon Macie 2's
3481// API operation GetMacieSession for usage and error information.
3482//
3483// Returned Error Types:
3484//   * ValidationException
3485//   Provides information about an error that occurred due to a syntax error in
3486//   a request.
3487//
3488//   * InternalServerException
3489//   Provides information about an error that occurred due to an unknown internal
3490//   server error, exception, or failure.
3491//
3492//   * ServiceQuotaExceededException
3493//   Provides information about an error that occurred due to one or more service
3494//   quotas for an account.
3495//
3496//   * AccessDeniedException
3497//   Provides information about an error that occurred due to insufficient access
3498//   to a specified resource.
3499//
3500//   * ResourceNotFoundException
3501//   Provides information about an error that occurred because a specified resource
3502//   wasn't found.
3503//
3504//   * ThrottlingException
3505//   Provides information about an error that occurred because too many requests
3506//   were sent during a certain amount of time.
3507//
3508//   * ConflictException
3509//   Provides information about an error that occurred due to a versioning conflict
3510//   for a specified resource.
3511//
3512// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetMacieSession
3513func (c *Macie2) GetMacieSession(input *GetMacieSessionInput) (*GetMacieSessionOutput, error) {
3514	req, out := c.GetMacieSessionRequest(input)
3515	return out, req.Send()
3516}
3517
3518// GetMacieSessionWithContext is the same as GetMacieSession with the addition of
3519// the ability to pass a context and additional request options.
3520//
3521// See GetMacieSession for details on how to use this API operation.
3522//
3523// The context must be non-nil and will be used for request cancellation. If
3524// the context is nil a panic will occur. In the future the SDK may create
3525// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3526// for more information on using Contexts.
3527func (c *Macie2) GetMacieSessionWithContext(ctx aws.Context, input *GetMacieSessionInput, opts ...request.Option) (*GetMacieSessionOutput, error) {
3528	req, out := c.GetMacieSessionRequest(input)
3529	req.SetContext(ctx)
3530	req.ApplyOptions(opts...)
3531	return out, req.Send()
3532}
3533
3534const opGetMasterAccount = "GetMasterAccount"
3535
3536// GetMasterAccountRequest generates a "aws/request.Request" representing the
3537// client's request for the GetMasterAccount operation. The "output" return
3538// value will be populated with the request's response once the request completes
3539// successfully.
3540//
3541// Use "Send" method on the returned Request to send the API call to the service.
3542// the "output" return value is not valid until after Send returns without error.
3543//
3544// See GetMasterAccount for more information on using the GetMasterAccount
3545// API call, and error handling.
3546//
3547// This method is useful when you want to inject custom logic or configuration
3548// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3549//
3550//
3551//    // Example sending a request using the GetMasterAccountRequest method.
3552//    req, resp := client.GetMasterAccountRequest(params)
3553//
3554//    err := req.Send()
3555//    if err == nil { // resp is now filled
3556//        fmt.Println(resp)
3557//    }
3558//
3559// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetMasterAccount
3560func (c *Macie2) GetMasterAccountRequest(input *GetMasterAccountInput) (req *request.Request, output *GetMasterAccountOutput) {
3561	op := &request.Operation{
3562		Name:       opGetMasterAccount,
3563		HTTPMethod: "GET",
3564		HTTPPath:   "/master",
3565	}
3566
3567	if input == nil {
3568		input = &GetMasterAccountInput{}
3569	}
3570
3571	output = &GetMasterAccountOutput{}
3572	req = c.newRequest(op, input, output)
3573	return
3574}
3575
3576// GetMasterAccount API operation for Amazon Macie 2.
3577//
3578// (Deprecated) Retrieves information about the Amazon Macie administrator account
3579// for an account. This operation has been replaced by the GetAdministratorAccount
3580// operation.
3581//
3582// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3583// with awserr.Error's Code and Message methods to get detailed information about
3584// the error.
3585//
3586// See the AWS API reference guide for Amazon Macie 2's
3587// API operation GetMasterAccount for usage and error information.
3588//
3589// Returned Error Types:
3590//   * ValidationException
3591//   Provides information about an error that occurred due to a syntax error in
3592//   a request.
3593//
3594//   * InternalServerException
3595//   Provides information about an error that occurred due to an unknown internal
3596//   server error, exception, or failure.
3597//
3598//   * ServiceQuotaExceededException
3599//   Provides information about an error that occurred due to one or more service
3600//   quotas for an account.
3601//
3602//   * AccessDeniedException
3603//   Provides information about an error that occurred due to insufficient access
3604//   to a specified resource.
3605//
3606//   * ResourceNotFoundException
3607//   Provides information about an error that occurred because a specified resource
3608//   wasn't found.
3609//
3610//   * ThrottlingException
3611//   Provides information about an error that occurred because too many requests
3612//   were sent during a certain amount of time.
3613//
3614//   * ConflictException
3615//   Provides information about an error that occurred due to a versioning conflict
3616//   for a specified resource.
3617//
3618// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetMasterAccount
3619func (c *Macie2) GetMasterAccount(input *GetMasterAccountInput) (*GetMasterAccountOutput, error) {
3620	req, out := c.GetMasterAccountRequest(input)
3621	return out, req.Send()
3622}
3623
3624// GetMasterAccountWithContext is the same as GetMasterAccount with the addition of
3625// the ability to pass a context and additional request options.
3626//
3627// See GetMasterAccount for details on how to use this API operation.
3628//
3629// The context must be non-nil and will be used for request cancellation. If
3630// the context is nil a panic will occur. In the future the SDK may create
3631// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3632// for more information on using Contexts.
3633func (c *Macie2) GetMasterAccountWithContext(ctx aws.Context, input *GetMasterAccountInput, opts ...request.Option) (*GetMasterAccountOutput, error) {
3634	req, out := c.GetMasterAccountRequest(input)
3635	req.SetContext(ctx)
3636	req.ApplyOptions(opts...)
3637	return out, req.Send()
3638}
3639
3640const opGetMember = "GetMember"
3641
3642// GetMemberRequest generates a "aws/request.Request" representing the
3643// client's request for the GetMember operation. The "output" return
3644// value will be populated with the request's response once the request completes
3645// successfully.
3646//
3647// Use "Send" method on the returned Request to send the API call to the service.
3648// the "output" return value is not valid until after Send returns without error.
3649//
3650// See GetMember for more information on using the GetMember
3651// API call, and error handling.
3652//
3653// This method is useful when you want to inject custom logic or configuration
3654// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3655//
3656//
3657//    // Example sending a request using the GetMemberRequest method.
3658//    req, resp := client.GetMemberRequest(params)
3659//
3660//    err := req.Send()
3661//    if err == nil { // resp is now filled
3662//        fmt.Println(resp)
3663//    }
3664//
3665// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetMember
3666func (c *Macie2) GetMemberRequest(input *GetMemberInput) (req *request.Request, output *GetMemberOutput) {
3667	op := &request.Operation{
3668		Name:       opGetMember,
3669		HTTPMethod: "GET",
3670		HTTPPath:   "/members/{id}",
3671	}
3672
3673	if input == nil {
3674		input = &GetMemberInput{}
3675	}
3676
3677	output = &GetMemberOutput{}
3678	req = c.newRequest(op, input, output)
3679	return
3680}
3681
3682// GetMember API operation for Amazon Macie 2.
3683//
3684// Retrieves information about an account that's associated with an Amazon Macie
3685// administrator account.
3686//
3687// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3688// with awserr.Error's Code and Message methods to get detailed information about
3689// the error.
3690//
3691// See the AWS API reference guide for Amazon Macie 2's
3692// API operation GetMember for usage and error information.
3693//
3694// Returned Error Types:
3695//   * ValidationException
3696//   Provides information about an error that occurred due to a syntax error in
3697//   a request.
3698//
3699//   * InternalServerException
3700//   Provides information about an error that occurred due to an unknown internal
3701//   server error, exception, or failure.
3702//
3703//   * ServiceQuotaExceededException
3704//   Provides information about an error that occurred due to one or more service
3705//   quotas for an account.
3706//
3707//   * AccessDeniedException
3708//   Provides information about an error that occurred due to insufficient access
3709//   to a specified resource.
3710//
3711//   * ResourceNotFoundException
3712//   Provides information about an error that occurred because a specified resource
3713//   wasn't found.
3714//
3715//   * ThrottlingException
3716//   Provides information about an error that occurred because too many requests
3717//   were sent during a certain amount of time.
3718//
3719//   * ConflictException
3720//   Provides information about an error that occurred due to a versioning conflict
3721//   for a specified resource.
3722//
3723// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetMember
3724func (c *Macie2) GetMember(input *GetMemberInput) (*GetMemberOutput, error) {
3725	req, out := c.GetMemberRequest(input)
3726	return out, req.Send()
3727}
3728
3729// GetMemberWithContext is the same as GetMember with the addition of
3730// the ability to pass a context and additional request options.
3731//
3732// See GetMember for details on how to use this API operation.
3733//
3734// The context must be non-nil and will be used for request cancellation. If
3735// the context is nil a panic will occur. In the future the SDK may create
3736// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3737// for more information on using Contexts.
3738func (c *Macie2) GetMemberWithContext(ctx aws.Context, input *GetMemberInput, opts ...request.Option) (*GetMemberOutput, error) {
3739	req, out := c.GetMemberRequest(input)
3740	req.SetContext(ctx)
3741	req.ApplyOptions(opts...)
3742	return out, req.Send()
3743}
3744
3745const opGetUsageStatistics = "GetUsageStatistics"
3746
3747// GetUsageStatisticsRequest generates a "aws/request.Request" representing the
3748// client's request for the GetUsageStatistics operation. The "output" return
3749// value will be populated with the request's response once the request completes
3750// successfully.
3751//
3752// Use "Send" method on the returned Request to send the API call to the service.
3753// the "output" return value is not valid until after Send returns without error.
3754//
3755// See GetUsageStatistics for more information on using the GetUsageStatistics
3756// API call, and error handling.
3757//
3758// This method is useful when you want to inject custom logic or configuration
3759// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3760//
3761//
3762//    // Example sending a request using the GetUsageStatisticsRequest method.
3763//    req, resp := client.GetUsageStatisticsRequest(params)
3764//
3765//    err := req.Send()
3766//    if err == nil { // resp is now filled
3767//        fmt.Println(resp)
3768//    }
3769//
3770// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetUsageStatistics
3771func (c *Macie2) GetUsageStatisticsRequest(input *GetUsageStatisticsInput) (req *request.Request, output *GetUsageStatisticsOutput) {
3772	op := &request.Operation{
3773		Name:       opGetUsageStatistics,
3774		HTTPMethod: "POST",
3775		HTTPPath:   "/usage/statistics",
3776		Paginator: &request.Paginator{
3777			InputTokens:     []string{"nextToken"},
3778			OutputTokens:    []string{"nextToken"},
3779			LimitToken:      "maxResults",
3780			TruncationToken: "",
3781		},
3782	}
3783
3784	if input == nil {
3785		input = &GetUsageStatisticsInput{}
3786	}
3787
3788	output = &GetUsageStatisticsOutput{}
3789	req = c.newRequest(op, input, output)
3790	return
3791}
3792
3793// GetUsageStatistics API operation for Amazon Macie 2.
3794//
3795// Retrieves (queries) quotas and aggregated usage data for one or more accounts.
3796//
3797// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3798// with awserr.Error's Code and Message methods to get detailed information about
3799// the error.
3800//
3801// See the AWS API reference guide for Amazon Macie 2's
3802// API operation GetUsageStatistics for usage and error information.
3803//
3804// Returned Error Types:
3805//   * ValidationException
3806//   Provides information about an error that occurred due to a syntax error in
3807//   a request.
3808//
3809//   * InternalServerException
3810//   Provides information about an error that occurred due to an unknown internal
3811//   server error, exception, or failure.
3812//
3813//   * ServiceQuotaExceededException
3814//   Provides information about an error that occurred due to one or more service
3815//   quotas for an account.
3816//
3817//   * AccessDeniedException
3818//   Provides information about an error that occurred due to insufficient access
3819//   to a specified resource.
3820//
3821//   * ResourceNotFoundException
3822//   Provides information about an error that occurred because a specified resource
3823//   wasn't found.
3824//
3825//   * ThrottlingException
3826//   Provides information about an error that occurred because too many requests
3827//   were sent during a certain amount of time.
3828//
3829//   * ConflictException
3830//   Provides information about an error that occurred due to a versioning conflict
3831//   for a specified resource.
3832//
3833// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetUsageStatistics
3834func (c *Macie2) GetUsageStatistics(input *GetUsageStatisticsInput) (*GetUsageStatisticsOutput, error) {
3835	req, out := c.GetUsageStatisticsRequest(input)
3836	return out, req.Send()
3837}
3838
3839// GetUsageStatisticsWithContext is the same as GetUsageStatistics with the addition of
3840// the ability to pass a context and additional request options.
3841//
3842// See GetUsageStatistics for details on how to use this API operation.
3843//
3844// The context must be non-nil and will be used for request cancellation. If
3845// the context is nil a panic will occur. In the future the SDK may create
3846// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3847// for more information on using Contexts.
3848func (c *Macie2) GetUsageStatisticsWithContext(ctx aws.Context, input *GetUsageStatisticsInput, opts ...request.Option) (*GetUsageStatisticsOutput, error) {
3849	req, out := c.GetUsageStatisticsRequest(input)
3850	req.SetContext(ctx)
3851	req.ApplyOptions(opts...)
3852	return out, req.Send()
3853}
3854
3855// GetUsageStatisticsPages iterates over the pages of a GetUsageStatistics operation,
3856// calling the "fn" function with the response data for each page. To stop
3857// iterating, return false from the fn function.
3858//
3859// See GetUsageStatistics method for more information on how to use this operation.
3860//
3861// Note: This operation can generate multiple requests to a service.
3862//
3863//    // Example iterating over at most 3 pages of a GetUsageStatistics operation.
3864//    pageNum := 0
3865//    err := client.GetUsageStatisticsPages(params,
3866//        func(page *macie2.GetUsageStatisticsOutput, lastPage bool) bool {
3867//            pageNum++
3868//            fmt.Println(page)
3869//            return pageNum <= 3
3870//        })
3871//
3872func (c *Macie2) GetUsageStatisticsPages(input *GetUsageStatisticsInput, fn func(*GetUsageStatisticsOutput, bool) bool) error {
3873	return c.GetUsageStatisticsPagesWithContext(aws.BackgroundContext(), input, fn)
3874}
3875
3876// GetUsageStatisticsPagesWithContext same as GetUsageStatisticsPages except
3877// it takes a Context and allows setting request options on the pages.
3878//
3879// The context must be non-nil and will be used for request cancellation. If
3880// the context is nil a panic will occur. In the future the SDK may create
3881// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3882// for more information on using Contexts.
3883func (c *Macie2) GetUsageStatisticsPagesWithContext(ctx aws.Context, input *GetUsageStatisticsInput, fn func(*GetUsageStatisticsOutput, bool) bool, opts ...request.Option) error {
3884	p := request.Pagination{
3885		NewRequest: func() (*request.Request, error) {
3886			var inCpy *GetUsageStatisticsInput
3887			if input != nil {
3888				tmp := *input
3889				inCpy = &tmp
3890			}
3891			req, _ := c.GetUsageStatisticsRequest(inCpy)
3892			req.SetContext(ctx)
3893			req.ApplyOptions(opts...)
3894			return req, nil
3895		},
3896	}
3897
3898	for p.Next() {
3899		if !fn(p.Page().(*GetUsageStatisticsOutput), !p.HasNextPage()) {
3900			break
3901		}
3902	}
3903
3904	return p.Err()
3905}
3906
3907const opGetUsageTotals = "GetUsageTotals"
3908
3909// GetUsageTotalsRequest generates a "aws/request.Request" representing the
3910// client's request for the GetUsageTotals operation. The "output" return
3911// value will be populated with the request's response once the request completes
3912// successfully.
3913//
3914// Use "Send" method on the returned Request to send the API call to the service.
3915// the "output" return value is not valid until after Send returns without error.
3916//
3917// See GetUsageTotals for more information on using the GetUsageTotals
3918// API call, and error handling.
3919//
3920// This method is useful when you want to inject custom logic or configuration
3921// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3922//
3923//
3924//    // Example sending a request using the GetUsageTotalsRequest method.
3925//    req, resp := client.GetUsageTotalsRequest(params)
3926//
3927//    err := req.Send()
3928//    if err == nil { // resp is now filled
3929//        fmt.Println(resp)
3930//    }
3931//
3932// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetUsageTotals
3933func (c *Macie2) GetUsageTotalsRequest(input *GetUsageTotalsInput) (req *request.Request, output *GetUsageTotalsOutput) {
3934	op := &request.Operation{
3935		Name:       opGetUsageTotals,
3936		HTTPMethod: "GET",
3937		HTTPPath:   "/usage",
3938	}
3939
3940	if input == nil {
3941		input = &GetUsageTotalsInput{}
3942	}
3943
3944	output = &GetUsageTotalsOutput{}
3945	req = c.newRequest(op, input, output)
3946	return
3947}
3948
3949// GetUsageTotals API operation for Amazon Macie 2.
3950//
3951// Retrieves (queries) aggregated usage data for an account.
3952//
3953// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3954// with awserr.Error's Code and Message methods to get detailed information about
3955// the error.
3956//
3957// See the AWS API reference guide for Amazon Macie 2's
3958// API operation GetUsageTotals for usage and error information.
3959//
3960// Returned Error Types:
3961//   * ValidationException
3962//   Provides information about an error that occurred due to a syntax error in
3963//   a request.
3964//
3965//   * InternalServerException
3966//   Provides information about an error that occurred due to an unknown internal
3967//   server error, exception, or failure.
3968//
3969//   * ServiceQuotaExceededException
3970//   Provides information about an error that occurred due to one or more service
3971//   quotas for an account.
3972//
3973//   * AccessDeniedException
3974//   Provides information about an error that occurred due to insufficient access
3975//   to a specified resource.
3976//
3977//   * ResourceNotFoundException
3978//   Provides information about an error that occurred because a specified resource
3979//   wasn't found.
3980//
3981//   * ThrottlingException
3982//   Provides information about an error that occurred because too many requests
3983//   were sent during a certain amount of time.
3984//
3985//   * ConflictException
3986//   Provides information about an error that occurred due to a versioning conflict
3987//   for a specified resource.
3988//
3989// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/GetUsageTotals
3990func (c *Macie2) GetUsageTotals(input *GetUsageTotalsInput) (*GetUsageTotalsOutput, error) {
3991	req, out := c.GetUsageTotalsRequest(input)
3992	return out, req.Send()
3993}
3994
3995// GetUsageTotalsWithContext is the same as GetUsageTotals with the addition of
3996// the ability to pass a context and additional request options.
3997//
3998// See GetUsageTotals for details on how to use this API operation.
3999//
4000// The context must be non-nil and will be used for request cancellation. If
4001// the context is nil a panic will occur. In the future the SDK may create
4002// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4003// for more information on using Contexts.
4004func (c *Macie2) GetUsageTotalsWithContext(ctx aws.Context, input *GetUsageTotalsInput, opts ...request.Option) (*GetUsageTotalsOutput, error) {
4005	req, out := c.GetUsageTotalsRequest(input)
4006	req.SetContext(ctx)
4007	req.ApplyOptions(opts...)
4008	return out, req.Send()
4009}
4010
4011const opListClassificationJobs = "ListClassificationJobs"
4012
4013// ListClassificationJobsRequest generates a "aws/request.Request" representing the
4014// client's request for the ListClassificationJobs operation. The "output" return
4015// value will be populated with the request's response once the request completes
4016// successfully.
4017//
4018// Use "Send" method on the returned Request to send the API call to the service.
4019// the "output" return value is not valid until after Send returns without error.
4020//
4021// See ListClassificationJobs for more information on using the ListClassificationJobs
4022// API call, and error handling.
4023//
4024// This method is useful when you want to inject custom logic or configuration
4025// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4026//
4027//
4028//    // Example sending a request using the ListClassificationJobsRequest method.
4029//    req, resp := client.ListClassificationJobsRequest(params)
4030//
4031//    err := req.Send()
4032//    if err == nil { // resp is now filled
4033//        fmt.Println(resp)
4034//    }
4035//
4036// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListClassificationJobs
4037func (c *Macie2) ListClassificationJobsRequest(input *ListClassificationJobsInput) (req *request.Request, output *ListClassificationJobsOutput) {
4038	op := &request.Operation{
4039		Name:       opListClassificationJobs,
4040		HTTPMethod: "POST",
4041		HTTPPath:   "/jobs/list",
4042		Paginator: &request.Paginator{
4043			InputTokens:     []string{"nextToken"},
4044			OutputTokens:    []string{"nextToken"},
4045			LimitToken:      "maxResults",
4046			TruncationToken: "",
4047		},
4048	}
4049
4050	if input == nil {
4051		input = &ListClassificationJobsInput{}
4052	}
4053
4054	output = &ListClassificationJobsOutput{}
4055	req = c.newRequest(op, input, output)
4056	return
4057}
4058
4059// ListClassificationJobs API operation for Amazon Macie 2.
4060//
4061// Retrieves a subset of information about one or more classification jobs.
4062//
4063// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4064// with awserr.Error's Code and Message methods to get detailed information about
4065// the error.
4066//
4067// See the AWS API reference guide for Amazon Macie 2's
4068// API operation ListClassificationJobs for usage and error information.
4069//
4070// Returned Error Types:
4071//   * ValidationException
4072//   Provides information about an error that occurred due to a syntax error in
4073//   a request.
4074//
4075//   * InternalServerException
4076//   Provides information about an error that occurred due to an unknown internal
4077//   server error, exception, or failure.
4078//
4079//   * ServiceQuotaExceededException
4080//   Provides information about an error that occurred due to one or more service
4081//   quotas for an account.
4082//
4083//   * AccessDeniedException
4084//   Provides information about an error that occurred due to insufficient access
4085//   to a specified resource.
4086//
4087//   * ResourceNotFoundException
4088//   Provides information about an error that occurred because a specified resource
4089//   wasn't found.
4090//
4091//   * ThrottlingException
4092//   Provides information about an error that occurred because too many requests
4093//   were sent during a certain amount of time.
4094//
4095//   * ConflictException
4096//   Provides information about an error that occurred due to a versioning conflict
4097//   for a specified resource.
4098//
4099// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListClassificationJobs
4100func (c *Macie2) ListClassificationJobs(input *ListClassificationJobsInput) (*ListClassificationJobsOutput, error) {
4101	req, out := c.ListClassificationJobsRequest(input)
4102	return out, req.Send()
4103}
4104
4105// ListClassificationJobsWithContext is the same as ListClassificationJobs with the addition of
4106// the ability to pass a context and additional request options.
4107//
4108// See ListClassificationJobs for details on how to use this API operation.
4109//
4110// The context must be non-nil and will be used for request cancellation. If
4111// the context is nil a panic will occur. In the future the SDK may create
4112// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4113// for more information on using Contexts.
4114func (c *Macie2) ListClassificationJobsWithContext(ctx aws.Context, input *ListClassificationJobsInput, opts ...request.Option) (*ListClassificationJobsOutput, error) {
4115	req, out := c.ListClassificationJobsRequest(input)
4116	req.SetContext(ctx)
4117	req.ApplyOptions(opts...)
4118	return out, req.Send()
4119}
4120
4121// ListClassificationJobsPages iterates over the pages of a ListClassificationJobs operation,
4122// calling the "fn" function with the response data for each page. To stop
4123// iterating, return false from the fn function.
4124//
4125// See ListClassificationJobs method for more information on how to use this operation.
4126//
4127// Note: This operation can generate multiple requests to a service.
4128//
4129//    // Example iterating over at most 3 pages of a ListClassificationJobs operation.
4130//    pageNum := 0
4131//    err := client.ListClassificationJobsPages(params,
4132//        func(page *macie2.ListClassificationJobsOutput, lastPage bool) bool {
4133//            pageNum++
4134//            fmt.Println(page)
4135//            return pageNum <= 3
4136//        })
4137//
4138func (c *Macie2) ListClassificationJobsPages(input *ListClassificationJobsInput, fn func(*ListClassificationJobsOutput, bool) bool) error {
4139	return c.ListClassificationJobsPagesWithContext(aws.BackgroundContext(), input, fn)
4140}
4141
4142// ListClassificationJobsPagesWithContext same as ListClassificationJobsPages except
4143// it takes a Context and allows setting request options on the pages.
4144//
4145// The context must be non-nil and will be used for request cancellation. If
4146// the context is nil a panic will occur. In the future the SDK may create
4147// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4148// for more information on using Contexts.
4149func (c *Macie2) ListClassificationJobsPagesWithContext(ctx aws.Context, input *ListClassificationJobsInput, fn func(*ListClassificationJobsOutput, bool) bool, opts ...request.Option) error {
4150	p := request.Pagination{
4151		NewRequest: func() (*request.Request, error) {
4152			var inCpy *ListClassificationJobsInput
4153			if input != nil {
4154				tmp := *input
4155				inCpy = &tmp
4156			}
4157			req, _ := c.ListClassificationJobsRequest(inCpy)
4158			req.SetContext(ctx)
4159			req.ApplyOptions(opts...)
4160			return req, nil
4161		},
4162	}
4163
4164	for p.Next() {
4165		if !fn(p.Page().(*ListClassificationJobsOutput), !p.HasNextPage()) {
4166			break
4167		}
4168	}
4169
4170	return p.Err()
4171}
4172
4173const opListCustomDataIdentifiers = "ListCustomDataIdentifiers"
4174
4175// ListCustomDataIdentifiersRequest generates a "aws/request.Request" representing the
4176// client's request for the ListCustomDataIdentifiers operation. The "output" return
4177// value will be populated with the request's response once the request completes
4178// successfully.
4179//
4180// Use "Send" method on the returned Request to send the API call to the service.
4181// the "output" return value is not valid until after Send returns without error.
4182//
4183// See ListCustomDataIdentifiers for more information on using the ListCustomDataIdentifiers
4184// API call, and error handling.
4185//
4186// This method is useful when you want to inject custom logic or configuration
4187// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4188//
4189//
4190//    // Example sending a request using the ListCustomDataIdentifiersRequest method.
4191//    req, resp := client.ListCustomDataIdentifiersRequest(params)
4192//
4193//    err := req.Send()
4194//    if err == nil { // resp is now filled
4195//        fmt.Println(resp)
4196//    }
4197//
4198// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListCustomDataIdentifiers
4199func (c *Macie2) ListCustomDataIdentifiersRequest(input *ListCustomDataIdentifiersInput) (req *request.Request, output *ListCustomDataIdentifiersOutput) {
4200	op := &request.Operation{
4201		Name:       opListCustomDataIdentifiers,
4202		HTTPMethod: "POST",
4203		HTTPPath:   "/custom-data-identifiers/list",
4204		Paginator: &request.Paginator{
4205			InputTokens:     []string{"nextToken"},
4206			OutputTokens:    []string{"nextToken"},
4207			LimitToken:      "maxResults",
4208			TruncationToken: "",
4209		},
4210	}
4211
4212	if input == nil {
4213		input = &ListCustomDataIdentifiersInput{}
4214	}
4215
4216	output = &ListCustomDataIdentifiersOutput{}
4217	req = c.newRequest(op, input, output)
4218	return
4219}
4220
4221// ListCustomDataIdentifiers API operation for Amazon Macie 2.
4222//
4223// Retrieves a subset of information about all the custom data identifiers for
4224// an account.
4225//
4226// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4227// with awserr.Error's Code and Message methods to get detailed information about
4228// the error.
4229//
4230// See the AWS API reference guide for Amazon Macie 2's
4231// API operation ListCustomDataIdentifiers for usage and error information.
4232//
4233// Returned Error Types:
4234//   * ValidationException
4235//   Provides information about an error that occurred due to a syntax error in
4236//   a request.
4237//
4238//   * InternalServerException
4239//   Provides information about an error that occurred due to an unknown internal
4240//   server error, exception, or failure.
4241//
4242//   * ServiceQuotaExceededException
4243//   Provides information about an error that occurred due to one or more service
4244//   quotas for an account.
4245//
4246//   * AccessDeniedException
4247//   Provides information about an error that occurred due to insufficient access
4248//   to a specified resource.
4249//
4250//   * ResourceNotFoundException
4251//   Provides information about an error that occurred because a specified resource
4252//   wasn't found.
4253//
4254//   * ThrottlingException
4255//   Provides information about an error that occurred because too many requests
4256//   were sent during a certain amount of time.
4257//
4258//   * ConflictException
4259//   Provides information about an error that occurred due to a versioning conflict
4260//   for a specified resource.
4261//
4262// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListCustomDataIdentifiers
4263func (c *Macie2) ListCustomDataIdentifiers(input *ListCustomDataIdentifiersInput) (*ListCustomDataIdentifiersOutput, error) {
4264	req, out := c.ListCustomDataIdentifiersRequest(input)
4265	return out, req.Send()
4266}
4267
4268// ListCustomDataIdentifiersWithContext is the same as ListCustomDataIdentifiers with the addition of
4269// the ability to pass a context and additional request options.
4270//
4271// See ListCustomDataIdentifiers for details on how to use this API operation.
4272//
4273// The context must be non-nil and will be used for request cancellation. If
4274// the context is nil a panic will occur. In the future the SDK may create
4275// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4276// for more information on using Contexts.
4277func (c *Macie2) ListCustomDataIdentifiersWithContext(ctx aws.Context, input *ListCustomDataIdentifiersInput, opts ...request.Option) (*ListCustomDataIdentifiersOutput, error) {
4278	req, out := c.ListCustomDataIdentifiersRequest(input)
4279	req.SetContext(ctx)
4280	req.ApplyOptions(opts...)
4281	return out, req.Send()
4282}
4283
4284// ListCustomDataIdentifiersPages iterates over the pages of a ListCustomDataIdentifiers operation,
4285// calling the "fn" function with the response data for each page. To stop
4286// iterating, return false from the fn function.
4287//
4288// See ListCustomDataIdentifiers method for more information on how to use this operation.
4289//
4290// Note: This operation can generate multiple requests to a service.
4291//
4292//    // Example iterating over at most 3 pages of a ListCustomDataIdentifiers operation.
4293//    pageNum := 0
4294//    err := client.ListCustomDataIdentifiersPages(params,
4295//        func(page *macie2.ListCustomDataIdentifiersOutput, lastPage bool) bool {
4296//            pageNum++
4297//            fmt.Println(page)
4298//            return pageNum <= 3
4299//        })
4300//
4301func (c *Macie2) ListCustomDataIdentifiersPages(input *ListCustomDataIdentifiersInput, fn func(*ListCustomDataIdentifiersOutput, bool) bool) error {
4302	return c.ListCustomDataIdentifiersPagesWithContext(aws.BackgroundContext(), input, fn)
4303}
4304
4305// ListCustomDataIdentifiersPagesWithContext same as ListCustomDataIdentifiersPages except
4306// it takes a Context and allows setting request options on the pages.
4307//
4308// The context must be non-nil and will be used for request cancellation. If
4309// the context is nil a panic will occur. In the future the SDK may create
4310// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4311// for more information on using Contexts.
4312func (c *Macie2) ListCustomDataIdentifiersPagesWithContext(ctx aws.Context, input *ListCustomDataIdentifiersInput, fn func(*ListCustomDataIdentifiersOutput, bool) bool, opts ...request.Option) error {
4313	p := request.Pagination{
4314		NewRequest: func() (*request.Request, error) {
4315			var inCpy *ListCustomDataIdentifiersInput
4316			if input != nil {
4317				tmp := *input
4318				inCpy = &tmp
4319			}
4320			req, _ := c.ListCustomDataIdentifiersRequest(inCpy)
4321			req.SetContext(ctx)
4322			req.ApplyOptions(opts...)
4323			return req, nil
4324		},
4325	}
4326
4327	for p.Next() {
4328		if !fn(p.Page().(*ListCustomDataIdentifiersOutput), !p.HasNextPage()) {
4329			break
4330		}
4331	}
4332
4333	return p.Err()
4334}
4335
4336const opListFindings = "ListFindings"
4337
4338// ListFindingsRequest generates a "aws/request.Request" representing the
4339// client's request for the ListFindings operation. The "output" return
4340// value will be populated with the request's response once the request completes
4341// successfully.
4342//
4343// Use "Send" method on the returned Request to send the API call to the service.
4344// the "output" return value is not valid until after Send returns without error.
4345//
4346// See ListFindings for more information on using the ListFindings
4347// API call, and error handling.
4348//
4349// This method is useful when you want to inject custom logic or configuration
4350// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4351//
4352//
4353//    // Example sending a request using the ListFindingsRequest method.
4354//    req, resp := client.ListFindingsRequest(params)
4355//
4356//    err := req.Send()
4357//    if err == nil { // resp is now filled
4358//        fmt.Println(resp)
4359//    }
4360//
4361// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListFindings
4362func (c *Macie2) ListFindingsRequest(input *ListFindingsInput) (req *request.Request, output *ListFindingsOutput) {
4363	op := &request.Operation{
4364		Name:       opListFindings,
4365		HTTPMethod: "POST",
4366		HTTPPath:   "/findings",
4367		Paginator: &request.Paginator{
4368			InputTokens:     []string{"nextToken"},
4369			OutputTokens:    []string{"nextToken"},
4370			LimitToken:      "maxResults",
4371			TruncationToken: "",
4372		},
4373	}
4374
4375	if input == nil {
4376		input = &ListFindingsInput{}
4377	}
4378
4379	output = &ListFindingsOutput{}
4380	req = c.newRequest(op, input, output)
4381	return
4382}
4383
4384// ListFindings API operation for Amazon Macie 2.
4385//
4386// Retrieves a subset of information about one or more findings.
4387//
4388// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4389// with awserr.Error's Code and Message methods to get detailed information about
4390// the error.
4391//
4392// See the AWS API reference guide for Amazon Macie 2's
4393// API operation ListFindings for usage and error information.
4394//
4395// Returned Error Types:
4396//   * ValidationException
4397//   Provides information about an error that occurred due to a syntax error in
4398//   a request.
4399//
4400//   * InternalServerException
4401//   Provides information about an error that occurred due to an unknown internal
4402//   server error, exception, or failure.
4403//
4404//   * ServiceQuotaExceededException
4405//   Provides information about an error that occurred due to one or more service
4406//   quotas for an account.
4407//
4408//   * AccessDeniedException
4409//   Provides information about an error that occurred due to insufficient access
4410//   to a specified resource.
4411//
4412//   * ResourceNotFoundException
4413//   Provides information about an error that occurred because a specified resource
4414//   wasn't found.
4415//
4416//   * ThrottlingException
4417//   Provides information about an error that occurred because too many requests
4418//   were sent during a certain amount of time.
4419//
4420//   * ConflictException
4421//   Provides information about an error that occurred due to a versioning conflict
4422//   for a specified resource.
4423//
4424// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListFindings
4425func (c *Macie2) ListFindings(input *ListFindingsInput) (*ListFindingsOutput, error) {
4426	req, out := c.ListFindingsRequest(input)
4427	return out, req.Send()
4428}
4429
4430// ListFindingsWithContext is the same as ListFindings with the addition of
4431// the ability to pass a context and additional request options.
4432//
4433// See ListFindings for details on how to use this API operation.
4434//
4435// The context must be non-nil and will be used for request cancellation. If
4436// the context is nil a panic will occur. In the future the SDK may create
4437// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4438// for more information on using Contexts.
4439func (c *Macie2) ListFindingsWithContext(ctx aws.Context, input *ListFindingsInput, opts ...request.Option) (*ListFindingsOutput, error) {
4440	req, out := c.ListFindingsRequest(input)
4441	req.SetContext(ctx)
4442	req.ApplyOptions(opts...)
4443	return out, req.Send()
4444}
4445
4446// ListFindingsPages iterates over the pages of a ListFindings operation,
4447// calling the "fn" function with the response data for each page. To stop
4448// iterating, return false from the fn function.
4449//
4450// See ListFindings method for more information on how to use this operation.
4451//
4452// Note: This operation can generate multiple requests to a service.
4453//
4454//    // Example iterating over at most 3 pages of a ListFindings operation.
4455//    pageNum := 0
4456//    err := client.ListFindingsPages(params,
4457//        func(page *macie2.ListFindingsOutput, lastPage bool) bool {
4458//            pageNum++
4459//            fmt.Println(page)
4460//            return pageNum <= 3
4461//        })
4462//
4463func (c *Macie2) ListFindingsPages(input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool) error {
4464	return c.ListFindingsPagesWithContext(aws.BackgroundContext(), input, fn)
4465}
4466
4467// ListFindingsPagesWithContext same as ListFindingsPages except
4468// it takes a Context and allows setting request options on the pages.
4469//
4470// The context must be non-nil and will be used for request cancellation. If
4471// the context is nil a panic will occur. In the future the SDK may create
4472// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4473// for more information on using Contexts.
4474func (c *Macie2) ListFindingsPagesWithContext(ctx aws.Context, input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool, opts ...request.Option) error {
4475	p := request.Pagination{
4476		NewRequest: func() (*request.Request, error) {
4477			var inCpy *ListFindingsInput
4478			if input != nil {
4479				tmp := *input
4480				inCpy = &tmp
4481			}
4482			req, _ := c.ListFindingsRequest(inCpy)
4483			req.SetContext(ctx)
4484			req.ApplyOptions(opts...)
4485			return req, nil
4486		},
4487	}
4488
4489	for p.Next() {
4490		if !fn(p.Page().(*ListFindingsOutput), !p.HasNextPage()) {
4491			break
4492		}
4493	}
4494
4495	return p.Err()
4496}
4497
4498const opListFindingsFilters = "ListFindingsFilters"
4499
4500// ListFindingsFiltersRequest generates a "aws/request.Request" representing the
4501// client's request for the ListFindingsFilters operation. The "output" return
4502// value will be populated with the request's response once the request completes
4503// successfully.
4504//
4505// Use "Send" method on the returned Request to send the API call to the service.
4506// the "output" return value is not valid until after Send returns without error.
4507//
4508// See ListFindingsFilters for more information on using the ListFindingsFilters
4509// API call, and error handling.
4510//
4511// This method is useful when you want to inject custom logic or configuration
4512// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4513//
4514//
4515//    // Example sending a request using the ListFindingsFiltersRequest method.
4516//    req, resp := client.ListFindingsFiltersRequest(params)
4517//
4518//    err := req.Send()
4519//    if err == nil { // resp is now filled
4520//        fmt.Println(resp)
4521//    }
4522//
4523// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListFindingsFilters
4524func (c *Macie2) ListFindingsFiltersRequest(input *ListFindingsFiltersInput) (req *request.Request, output *ListFindingsFiltersOutput) {
4525	op := &request.Operation{
4526		Name:       opListFindingsFilters,
4527		HTTPMethod: "GET",
4528		HTTPPath:   "/findingsfilters",
4529		Paginator: &request.Paginator{
4530			InputTokens:     []string{"nextToken"},
4531			OutputTokens:    []string{"nextToken"},
4532			LimitToken:      "maxResults",
4533			TruncationToken: "",
4534		},
4535	}
4536
4537	if input == nil {
4538		input = &ListFindingsFiltersInput{}
4539	}
4540
4541	output = &ListFindingsFiltersOutput{}
4542	req = c.newRequest(op, input, output)
4543	return
4544}
4545
4546// ListFindingsFilters API operation for Amazon Macie 2.
4547//
4548// Retrieves a subset of information about all the findings filters for an account.
4549//
4550// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4551// with awserr.Error's Code and Message methods to get detailed information about
4552// the error.
4553//
4554// See the AWS API reference guide for Amazon Macie 2's
4555// API operation ListFindingsFilters for usage and error information.
4556//
4557// Returned Error Types:
4558//   * ValidationException
4559//   Provides information about an error that occurred due to a syntax error in
4560//   a request.
4561//
4562//   * InternalServerException
4563//   Provides information about an error that occurred due to an unknown internal
4564//   server error, exception, or failure.
4565//
4566//   * ServiceQuotaExceededException
4567//   Provides information about an error that occurred due to one or more service
4568//   quotas for an account.
4569//
4570//   * AccessDeniedException
4571//   Provides information about an error that occurred due to insufficient access
4572//   to a specified resource.
4573//
4574//   * ResourceNotFoundException
4575//   Provides information about an error that occurred because a specified resource
4576//   wasn't found.
4577//
4578//   * ThrottlingException
4579//   Provides information about an error that occurred because too many requests
4580//   were sent during a certain amount of time.
4581//
4582//   * ConflictException
4583//   Provides information about an error that occurred due to a versioning conflict
4584//   for a specified resource.
4585//
4586// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListFindingsFilters
4587func (c *Macie2) ListFindingsFilters(input *ListFindingsFiltersInput) (*ListFindingsFiltersOutput, error) {
4588	req, out := c.ListFindingsFiltersRequest(input)
4589	return out, req.Send()
4590}
4591
4592// ListFindingsFiltersWithContext is the same as ListFindingsFilters with the addition of
4593// the ability to pass a context and additional request options.
4594//
4595// See ListFindingsFilters for details on how to use this API operation.
4596//
4597// The context must be non-nil and will be used for request cancellation. If
4598// the context is nil a panic will occur. In the future the SDK may create
4599// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4600// for more information on using Contexts.
4601func (c *Macie2) ListFindingsFiltersWithContext(ctx aws.Context, input *ListFindingsFiltersInput, opts ...request.Option) (*ListFindingsFiltersOutput, error) {
4602	req, out := c.ListFindingsFiltersRequest(input)
4603	req.SetContext(ctx)
4604	req.ApplyOptions(opts...)
4605	return out, req.Send()
4606}
4607
4608// ListFindingsFiltersPages iterates over the pages of a ListFindingsFilters operation,
4609// calling the "fn" function with the response data for each page. To stop
4610// iterating, return false from the fn function.
4611//
4612// See ListFindingsFilters method for more information on how to use this operation.
4613//
4614// Note: This operation can generate multiple requests to a service.
4615//
4616//    // Example iterating over at most 3 pages of a ListFindingsFilters operation.
4617//    pageNum := 0
4618//    err := client.ListFindingsFiltersPages(params,
4619//        func(page *macie2.ListFindingsFiltersOutput, lastPage bool) bool {
4620//            pageNum++
4621//            fmt.Println(page)
4622//            return pageNum <= 3
4623//        })
4624//
4625func (c *Macie2) ListFindingsFiltersPages(input *ListFindingsFiltersInput, fn func(*ListFindingsFiltersOutput, bool) bool) error {
4626	return c.ListFindingsFiltersPagesWithContext(aws.BackgroundContext(), input, fn)
4627}
4628
4629// ListFindingsFiltersPagesWithContext same as ListFindingsFiltersPages except
4630// it takes a Context and allows setting request options on the pages.
4631//
4632// The context must be non-nil and will be used for request cancellation. If
4633// the context is nil a panic will occur. In the future the SDK may create
4634// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4635// for more information on using Contexts.
4636func (c *Macie2) ListFindingsFiltersPagesWithContext(ctx aws.Context, input *ListFindingsFiltersInput, fn func(*ListFindingsFiltersOutput, bool) bool, opts ...request.Option) error {
4637	p := request.Pagination{
4638		NewRequest: func() (*request.Request, error) {
4639			var inCpy *ListFindingsFiltersInput
4640			if input != nil {
4641				tmp := *input
4642				inCpy = &tmp
4643			}
4644			req, _ := c.ListFindingsFiltersRequest(inCpy)
4645			req.SetContext(ctx)
4646			req.ApplyOptions(opts...)
4647			return req, nil
4648		},
4649	}
4650
4651	for p.Next() {
4652		if !fn(p.Page().(*ListFindingsFiltersOutput), !p.HasNextPage()) {
4653			break
4654		}
4655	}
4656
4657	return p.Err()
4658}
4659
4660const opListInvitations = "ListInvitations"
4661
4662// ListInvitationsRequest generates a "aws/request.Request" representing the
4663// client's request for the ListInvitations operation. The "output" return
4664// value will be populated with the request's response once the request completes
4665// successfully.
4666//
4667// Use "Send" method on the returned Request to send the API call to the service.
4668// the "output" return value is not valid until after Send returns without error.
4669//
4670// See ListInvitations for more information on using the ListInvitations
4671// API call, and error handling.
4672//
4673// This method is useful when you want to inject custom logic or configuration
4674// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4675//
4676//
4677//    // Example sending a request using the ListInvitationsRequest method.
4678//    req, resp := client.ListInvitationsRequest(params)
4679//
4680//    err := req.Send()
4681//    if err == nil { // resp is now filled
4682//        fmt.Println(resp)
4683//    }
4684//
4685// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListInvitations
4686func (c *Macie2) ListInvitationsRequest(input *ListInvitationsInput) (req *request.Request, output *ListInvitationsOutput) {
4687	op := &request.Operation{
4688		Name:       opListInvitations,
4689		HTTPMethod: "GET",
4690		HTTPPath:   "/invitations",
4691		Paginator: &request.Paginator{
4692			InputTokens:     []string{"nextToken"},
4693			OutputTokens:    []string{"nextToken"},
4694			LimitToken:      "maxResults",
4695			TruncationToken: "",
4696		},
4697	}
4698
4699	if input == nil {
4700		input = &ListInvitationsInput{}
4701	}
4702
4703	output = &ListInvitationsOutput{}
4704	req = c.newRequest(op, input, output)
4705	return
4706}
4707
4708// ListInvitations API operation for Amazon Macie 2.
4709//
4710// Retrieves information about all the Amazon Macie membership invitations that
4711// were received by an account.
4712//
4713// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4714// with awserr.Error's Code and Message methods to get detailed information about
4715// the error.
4716//
4717// See the AWS API reference guide for Amazon Macie 2's
4718// API operation ListInvitations for usage and error information.
4719//
4720// Returned Error Types:
4721//   * ValidationException
4722//   Provides information about an error that occurred due to a syntax error in
4723//   a request.
4724//
4725//   * InternalServerException
4726//   Provides information about an error that occurred due to an unknown internal
4727//   server error, exception, or failure.
4728//
4729//   * ServiceQuotaExceededException
4730//   Provides information about an error that occurred due to one or more service
4731//   quotas for an account.
4732//
4733//   * AccessDeniedException
4734//   Provides information about an error that occurred due to insufficient access
4735//   to a specified resource.
4736//
4737//   * ResourceNotFoundException
4738//   Provides information about an error that occurred because a specified resource
4739//   wasn't found.
4740//
4741//   * ThrottlingException
4742//   Provides information about an error that occurred because too many requests
4743//   were sent during a certain amount of time.
4744//
4745//   * ConflictException
4746//   Provides information about an error that occurred due to a versioning conflict
4747//   for a specified resource.
4748//
4749// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListInvitations
4750func (c *Macie2) ListInvitations(input *ListInvitationsInput) (*ListInvitationsOutput, error) {
4751	req, out := c.ListInvitationsRequest(input)
4752	return out, req.Send()
4753}
4754
4755// ListInvitationsWithContext is the same as ListInvitations with the addition of
4756// the ability to pass a context and additional request options.
4757//
4758// See ListInvitations for details on how to use this API operation.
4759//
4760// The context must be non-nil and will be used for request cancellation. If
4761// the context is nil a panic will occur. In the future the SDK may create
4762// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4763// for more information on using Contexts.
4764func (c *Macie2) ListInvitationsWithContext(ctx aws.Context, input *ListInvitationsInput, opts ...request.Option) (*ListInvitationsOutput, error) {
4765	req, out := c.ListInvitationsRequest(input)
4766	req.SetContext(ctx)
4767	req.ApplyOptions(opts...)
4768	return out, req.Send()
4769}
4770
4771// ListInvitationsPages iterates over the pages of a ListInvitations operation,
4772// calling the "fn" function with the response data for each page. To stop
4773// iterating, return false from the fn function.
4774//
4775// See ListInvitations method for more information on how to use this operation.
4776//
4777// Note: This operation can generate multiple requests to a service.
4778//
4779//    // Example iterating over at most 3 pages of a ListInvitations operation.
4780//    pageNum := 0
4781//    err := client.ListInvitationsPages(params,
4782//        func(page *macie2.ListInvitationsOutput, lastPage bool) bool {
4783//            pageNum++
4784//            fmt.Println(page)
4785//            return pageNum <= 3
4786//        })
4787//
4788func (c *Macie2) ListInvitationsPages(input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool) error {
4789	return c.ListInvitationsPagesWithContext(aws.BackgroundContext(), input, fn)
4790}
4791
4792// ListInvitationsPagesWithContext same as ListInvitationsPages except
4793// it takes a Context and allows setting request options on the pages.
4794//
4795// The context must be non-nil and will be used for request cancellation. If
4796// the context is nil a panic will occur. In the future the SDK may create
4797// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4798// for more information on using Contexts.
4799func (c *Macie2) ListInvitationsPagesWithContext(ctx aws.Context, input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool, opts ...request.Option) error {
4800	p := request.Pagination{
4801		NewRequest: func() (*request.Request, error) {
4802			var inCpy *ListInvitationsInput
4803			if input != nil {
4804				tmp := *input
4805				inCpy = &tmp
4806			}
4807			req, _ := c.ListInvitationsRequest(inCpy)
4808			req.SetContext(ctx)
4809			req.ApplyOptions(opts...)
4810			return req, nil
4811		},
4812	}
4813
4814	for p.Next() {
4815		if !fn(p.Page().(*ListInvitationsOutput), !p.HasNextPage()) {
4816			break
4817		}
4818	}
4819
4820	return p.Err()
4821}
4822
4823const opListMembers = "ListMembers"
4824
4825// ListMembersRequest generates a "aws/request.Request" representing the
4826// client's request for the ListMembers operation. The "output" return
4827// value will be populated with the request's response once the request completes
4828// successfully.
4829//
4830// Use "Send" method on the returned Request to send the API call to the service.
4831// the "output" return value is not valid until after Send returns without error.
4832//
4833// See ListMembers for more information on using the ListMembers
4834// API call, and error handling.
4835//
4836// This method is useful when you want to inject custom logic or configuration
4837// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4838//
4839//
4840//    // Example sending a request using the ListMembersRequest method.
4841//    req, resp := client.ListMembersRequest(params)
4842//
4843//    err := req.Send()
4844//    if err == nil { // resp is now filled
4845//        fmt.Println(resp)
4846//    }
4847//
4848// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListMembers
4849func (c *Macie2) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) {
4850	op := &request.Operation{
4851		Name:       opListMembers,
4852		HTTPMethod: "GET",
4853		HTTPPath:   "/members",
4854		Paginator: &request.Paginator{
4855			InputTokens:     []string{"nextToken"},
4856			OutputTokens:    []string{"nextToken"},
4857			LimitToken:      "maxResults",
4858			TruncationToken: "",
4859		},
4860	}
4861
4862	if input == nil {
4863		input = &ListMembersInput{}
4864	}
4865
4866	output = &ListMembersOutput{}
4867	req = c.newRequest(op, input, output)
4868	return
4869}
4870
4871// ListMembers API operation for Amazon Macie 2.
4872//
4873// Retrieves information about the accounts that are associated with an Amazon
4874// Macie administrator account.
4875//
4876// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4877// with awserr.Error's Code and Message methods to get detailed information about
4878// the error.
4879//
4880// See the AWS API reference guide for Amazon Macie 2's
4881// API operation ListMembers for usage and error information.
4882//
4883// Returned Error Types:
4884//   * ValidationException
4885//   Provides information about an error that occurred due to a syntax error in
4886//   a request.
4887//
4888//   * InternalServerException
4889//   Provides information about an error that occurred due to an unknown internal
4890//   server error, exception, or failure.
4891//
4892//   * ServiceQuotaExceededException
4893//   Provides information about an error that occurred due to one or more service
4894//   quotas for an account.
4895//
4896//   * AccessDeniedException
4897//   Provides information about an error that occurred due to insufficient access
4898//   to a specified resource.
4899//
4900//   * ResourceNotFoundException
4901//   Provides information about an error that occurred because a specified resource
4902//   wasn't found.
4903//
4904//   * ThrottlingException
4905//   Provides information about an error that occurred because too many requests
4906//   were sent during a certain amount of time.
4907//
4908//   * ConflictException
4909//   Provides information about an error that occurred due to a versioning conflict
4910//   for a specified resource.
4911//
4912// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListMembers
4913func (c *Macie2) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) {
4914	req, out := c.ListMembersRequest(input)
4915	return out, req.Send()
4916}
4917
4918// ListMembersWithContext is the same as ListMembers with the addition of
4919// the ability to pass a context and additional request options.
4920//
4921// See ListMembers for details on how to use this API operation.
4922//
4923// The context must be non-nil and will be used for request cancellation. If
4924// the context is nil a panic will occur. In the future the SDK may create
4925// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4926// for more information on using Contexts.
4927func (c *Macie2) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) {
4928	req, out := c.ListMembersRequest(input)
4929	req.SetContext(ctx)
4930	req.ApplyOptions(opts...)
4931	return out, req.Send()
4932}
4933
4934// ListMembersPages iterates over the pages of a ListMembers operation,
4935// calling the "fn" function with the response data for each page. To stop
4936// iterating, return false from the fn function.
4937//
4938// See ListMembers method for more information on how to use this operation.
4939//
4940// Note: This operation can generate multiple requests to a service.
4941//
4942//    // Example iterating over at most 3 pages of a ListMembers operation.
4943//    pageNum := 0
4944//    err := client.ListMembersPages(params,
4945//        func(page *macie2.ListMembersOutput, lastPage bool) bool {
4946//            pageNum++
4947//            fmt.Println(page)
4948//            return pageNum <= 3
4949//        })
4950//
4951func (c *Macie2) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error {
4952	return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn)
4953}
4954
4955// ListMembersPagesWithContext same as ListMembersPages except
4956// it takes a Context and allows setting request options on the pages.
4957//
4958// The context must be non-nil and will be used for request cancellation. If
4959// the context is nil a panic will occur. In the future the SDK may create
4960// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4961// for more information on using Contexts.
4962func (c *Macie2) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error {
4963	p := request.Pagination{
4964		NewRequest: func() (*request.Request, error) {
4965			var inCpy *ListMembersInput
4966			if input != nil {
4967				tmp := *input
4968				inCpy = &tmp
4969			}
4970			req, _ := c.ListMembersRequest(inCpy)
4971			req.SetContext(ctx)
4972			req.ApplyOptions(opts...)
4973			return req, nil
4974		},
4975	}
4976
4977	for p.Next() {
4978		if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) {
4979			break
4980		}
4981	}
4982
4983	return p.Err()
4984}
4985
4986const opListOrganizationAdminAccounts = "ListOrganizationAdminAccounts"
4987
4988// ListOrganizationAdminAccountsRequest generates a "aws/request.Request" representing the
4989// client's request for the ListOrganizationAdminAccounts operation. The "output" return
4990// value will be populated with the request's response once the request completes
4991// successfully.
4992//
4993// Use "Send" method on the returned Request to send the API call to the service.
4994// the "output" return value is not valid until after Send returns without error.
4995//
4996// See ListOrganizationAdminAccounts for more information on using the ListOrganizationAdminAccounts
4997// API call, and error handling.
4998//
4999// This method is useful when you want to inject custom logic or configuration
5000// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5001//
5002//
5003//    // Example sending a request using the ListOrganizationAdminAccountsRequest method.
5004//    req, resp := client.ListOrganizationAdminAccountsRequest(params)
5005//
5006//    err := req.Send()
5007//    if err == nil { // resp is now filled
5008//        fmt.Println(resp)
5009//    }
5010//
5011// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListOrganizationAdminAccounts
5012func (c *Macie2) ListOrganizationAdminAccountsRequest(input *ListOrganizationAdminAccountsInput) (req *request.Request, output *ListOrganizationAdminAccountsOutput) {
5013	op := &request.Operation{
5014		Name:       opListOrganizationAdminAccounts,
5015		HTTPMethod: "GET",
5016		HTTPPath:   "/admin",
5017		Paginator: &request.Paginator{
5018			InputTokens:     []string{"nextToken"},
5019			OutputTokens:    []string{"nextToken"},
5020			LimitToken:      "maxResults",
5021			TruncationToken: "",
5022		},
5023	}
5024
5025	if input == nil {
5026		input = &ListOrganizationAdminAccountsInput{}
5027	}
5028
5029	output = &ListOrganizationAdminAccountsOutput{}
5030	req = c.newRequest(op, input, output)
5031	return
5032}
5033
5034// ListOrganizationAdminAccounts API operation for Amazon Macie 2.
5035//
5036// Retrieves information about the delegated Amazon Macie administrator account
5037// for an Amazon Web Services organization.
5038//
5039// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5040// with awserr.Error's Code and Message methods to get detailed information about
5041// the error.
5042//
5043// See the AWS API reference guide for Amazon Macie 2's
5044// API operation ListOrganizationAdminAccounts for usage and error information.
5045//
5046// Returned Error Types:
5047//   * ValidationException
5048//   Provides information about an error that occurred due to a syntax error in
5049//   a request.
5050//
5051//   * InternalServerException
5052//   Provides information about an error that occurred due to an unknown internal
5053//   server error, exception, or failure.
5054//
5055//   * ServiceQuotaExceededException
5056//   Provides information about an error that occurred due to one or more service
5057//   quotas for an account.
5058//
5059//   * AccessDeniedException
5060//   Provides information about an error that occurred due to insufficient access
5061//   to a specified resource.
5062//
5063//   * ResourceNotFoundException
5064//   Provides information about an error that occurred because a specified resource
5065//   wasn't found.
5066//
5067//   * ThrottlingException
5068//   Provides information about an error that occurred because too many requests
5069//   were sent during a certain amount of time.
5070//
5071//   * ConflictException
5072//   Provides information about an error that occurred due to a versioning conflict
5073//   for a specified resource.
5074//
5075// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListOrganizationAdminAccounts
5076func (c *Macie2) ListOrganizationAdminAccounts(input *ListOrganizationAdminAccountsInput) (*ListOrganizationAdminAccountsOutput, error) {
5077	req, out := c.ListOrganizationAdminAccountsRequest(input)
5078	return out, req.Send()
5079}
5080
5081// ListOrganizationAdminAccountsWithContext is the same as ListOrganizationAdminAccounts with the addition of
5082// the ability to pass a context and additional request options.
5083//
5084// See ListOrganizationAdminAccounts for details on how to use this API operation.
5085//
5086// The context must be non-nil and will be used for request cancellation. If
5087// the context is nil a panic will occur. In the future the SDK may create
5088// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5089// for more information on using Contexts.
5090func (c *Macie2) ListOrganizationAdminAccountsWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, opts ...request.Option) (*ListOrganizationAdminAccountsOutput, error) {
5091	req, out := c.ListOrganizationAdminAccountsRequest(input)
5092	req.SetContext(ctx)
5093	req.ApplyOptions(opts...)
5094	return out, req.Send()
5095}
5096
5097// ListOrganizationAdminAccountsPages iterates over the pages of a ListOrganizationAdminAccounts operation,
5098// calling the "fn" function with the response data for each page. To stop
5099// iterating, return false from the fn function.
5100//
5101// See ListOrganizationAdminAccounts method for more information on how to use this operation.
5102//
5103// Note: This operation can generate multiple requests to a service.
5104//
5105//    // Example iterating over at most 3 pages of a ListOrganizationAdminAccounts operation.
5106//    pageNum := 0
5107//    err := client.ListOrganizationAdminAccountsPages(params,
5108//        func(page *macie2.ListOrganizationAdminAccountsOutput, lastPage bool) bool {
5109//            pageNum++
5110//            fmt.Println(page)
5111//            return pageNum <= 3
5112//        })
5113//
5114func (c *Macie2) ListOrganizationAdminAccountsPages(input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool) error {
5115	return c.ListOrganizationAdminAccountsPagesWithContext(aws.BackgroundContext(), input, fn)
5116}
5117
5118// ListOrganizationAdminAccountsPagesWithContext same as ListOrganizationAdminAccountsPages except
5119// it takes a Context and allows setting request options on the pages.
5120//
5121// The context must be non-nil and will be used for request cancellation. If
5122// the context is nil a panic will occur. In the future the SDK may create
5123// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5124// for more information on using Contexts.
5125func (c *Macie2) ListOrganizationAdminAccountsPagesWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool, opts ...request.Option) error {
5126	p := request.Pagination{
5127		NewRequest: func() (*request.Request, error) {
5128			var inCpy *ListOrganizationAdminAccountsInput
5129			if input != nil {
5130				tmp := *input
5131				inCpy = &tmp
5132			}
5133			req, _ := c.ListOrganizationAdminAccountsRequest(inCpy)
5134			req.SetContext(ctx)
5135			req.ApplyOptions(opts...)
5136			return req, nil
5137		},
5138	}
5139
5140	for p.Next() {
5141		if !fn(p.Page().(*ListOrganizationAdminAccountsOutput), !p.HasNextPage()) {
5142			break
5143		}
5144	}
5145
5146	return p.Err()
5147}
5148
5149const opListTagsForResource = "ListTagsForResource"
5150
5151// ListTagsForResourceRequest generates a "aws/request.Request" representing the
5152// client's request for the ListTagsForResource operation. The "output" return
5153// value will be populated with the request's response once the request completes
5154// successfully.
5155//
5156// Use "Send" method on the returned Request to send the API call to the service.
5157// the "output" return value is not valid until after Send returns without error.
5158//
5159// See ListTagsForResource for more information on using the ListTagsForResource
5160// API call, and error handling.
5161//
5162// This method is useful when you want to inject custom logic or configuration
5163// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5164//
5165//
5166//    // Example sending a request using the ListTagsForResourceRequest method.
5167//    req, resp := client.ListTagsForResourceRequest(params)
5168//
5169//    err := req.Send()
5170//    if err == nil { // resp is now filled
5171//        fmt.Println(resp)
5172//    }
5173//
5174// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListTagsForResource
5175func (c *Macie2) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
5176	op := &request.Operation{
5177		Name:       opListTagsForResource,
5178		HTTPMethod: "GET",
5179		HTTPPath:   "/tags/{resourceArn}",
5180	}
5181
5182	if input == nil {
5183		input = &ListTagsForResourceInput{}
5184	}
5185
5186	output = &ListTagsForResourceOutput{}
5187	req = c.newRequest(op, input, output)
5188	return
5189}
5190
5191// ListTagsForResource API operation for Amazon Macie 2.
5192//
5193// Retrieves the tags (keys and values) that are associated with a classification
5194// job, custom data identifier, findings filter, or member account.
5195//
5196// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5197// with awserr.Error's Code and Message methods to get detailed information about
5198// the error.
5199//
5200// See the AWS API reference guide for Amazon Macie 2's
5201// API operation ListTagsForResource for usage and error information.
5202// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/ListTagsForResource
5203func (c *Macie2) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
5204	req, out := c.ListTagsForResourceRequest(input)
5205	return out, req.Send()
5206}
5207
5208// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
5209// the ability to pass a context and additional request options.
5210//
5211// See ListTagsForResource for details on how to use this API operation.
5212//
5213// The context must be non-nil and will be used for request cancellation. If
5214// the context is nil a panic will occur. In the future the SDK may create
5215// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5216// for more information on using Contexts.
5217func (c *Macie2) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
5218	req, out := c.ListTagsForResourceRequest(input)
5219	req.SetContext(ctx)
5220	req.ApplyOptions(opts...)
5221	return out, req.Send()
5222}
5223
5224const opPutClassificationExportConfiguration = "PutClassificationExportConfiguration"
5225
5226// PutClassificationExportConfigurationRequest generates a "aws/request.Request" representing the
5227// client's request for the PutClassificationExportConfiguration operation. The "output" return
5228// value will be populated with the request's response once the request completes
5229// successfully.
5230//
5231// Use "Send" method on the returned Request to send the API call to the service.
5232// the "output" return value is not valid until after Send returns without error.
5233//
5234// See PutClassificationExportConfiguration for more information on using the PutClassificationExportConfiguration
5235// API call, and error handling.
5236//
5237// This method is useful when you want to inject custom logic or configuration
5238// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5239//
5240//
5241//    // Example sending a request using the PutClassificationExportConfigurationRequest method.
5242//    req, resp := client.PutClassificationExportConfigurationRequest(params)
5243//
5244//    err := req.Send()
5245//    if err == nil { // resp is now filled
5246//        fmt.Println(resp)
5247//    }
5248//
5249// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/PutClassificationExportConfiguration
5250func (c *Macie2) PutClassificationExportConfigurationRequest(input *PutClassificationExportConfigurationInput) (req *request.Request, output *PutClassificationExportConfigurationOutput) {
5251	op := &request.Operation{
5252		Name:       opPutClassificationExportConfiguration,
5253		HTTPMethod: "PUT",
5254		HTTPPath:   "/classification-export-configuration",
5255	}
5256
5257	if input == nil {
5258		input = &PutClassificationExportConfigurationInput{}
5259	}
5260
5261	output = &PutClassificationExportConfigurationOutput{}
5262	req = c.newRequest(op, input, output)
5263	return
5264}
5265
5266// PutClassificationExportConfiguration API operation for Amazon Macie 2.
5267//
5268// Creates or updates the configuration settings for storing data classification
5269// results.
5270//
5271// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5272// with awserr.Error's Code and Message methods to get detailed information about
5273// the error.
5274//
5275// See the AWS API reference guide for Amazon Macie 2's
5276// API operation PutClassificationExportConfiguration for usage and error information.
5277//
5278// Returned Error Types:
5279//   * ValidationException
5280//   Provides information about an error that occurred due to a syntax error in
5281//   a request.
5282//
5283//   * InternalServerException
5284//   Provides information about an error that occurred due to an unknown internal
5285//   server error, exception, or failure.
5286//
5287//   * ServiceQuotaExceededException
5288//   Provides information about an error that occurred due to one or more service
5289//   quotas for an account.
5290//
5291//   * AccessDeniedException
5292//   Provides information about an error that occurred due to insufficient access
5293//   to a specified resource.
5294//
5295//   * ResourceNotFoundException
5296//   Provides information about an error that occurred because a specified resource
5297//   wasn't found.
5298//
5299//   * ThrottlingException
5300//   Provides information about an error that occurred because too many requests
5301//   were sent during a certain amount of time.
5302//
5303//   * ConflictException
5304//   Provides information about an error that occurred due to a versioning conflict
5305//   for a specified resource.
5306//
5307// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/PutClassificationExportConfiguration
5308func (c *Macie2) PutClassificationExportConfiguration(input *PutClassificationExportConfigurationInput) (*PutClassificationExportConfigurationOutput, error) {
5309	req, out := c.PutClassificationExportConfigurationRequest(input)
5310	return out, req.Send()
5311}
5312
5313// PutClassificationExportConfigurationWithContext is the same as PutClassificationExportConfiguration with the addition of
5314// the ability to pass a context and additional request options.
5315//
5316// See PutClassificationExportConfiguration for details on how to use this API operation.
5317//
5318// The context must be non-nil and will be used for request cancellation. If
5319// the context is nil a panic will occur. In the future the SDK may create
5320// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5321// for more information on using Contexts.
5322func (c *Macie2) PutClassificationExportConfigurationWithContext(ctx aws.Context, input *PutClassificationExportConfigurationInput, opts ...request.Option) (*PutClassificationExportConfigurationOutput, error) {
5323	req, out := c.PutClassificationExportConfigurationRequest(input)
5324	req.SetContext(ctx)
5325	req.ApplyOptions(opts...)
5326	return out, req.Send()
5327}
5328
5329const opPutFindingsPublicationConfiguration = "PutFindingsPublicationConfiguration"
5330
5331// PutFindingsPublicationConfigurationRequest generates a "aws/request.Request" representing the
5332// client's request for the PutFindingsPublicationConfiguration operation. The "output" return
5333// value will be populated with the request's response once the request completes
5334// successfully.
5335//
5336// Use "Send" method on the returned Request to send the API call to the service.
5337// the "output" return value is not valid until after Send returns without error.
5338//
5339// See PutFindingsPublicationConfiguration for more information on using the PutFindingsPublicationConfiguration
5340// API call, and error handling.
5341//
5342// This method is useful when you want to inject custom logic or configuration
5343// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5344//
5345//
5346//    // Example sending a request using the PutFindingsPublicationConfigurationRequest method.
5347//    req, resp := client.PutFindingsPublicationConfigurationRequest(params)
5348//
5349//    err := req.Send()
5350//    if err == nil { // resp is now filled
5351//        fmt.Println(resp)
5352//    }
5353//
5354// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/PutFindingsPublicationConfiguration
5355func (c *Macie2) PutFindingsPublicationConfigurationRequest(input *PutFindingsPublicationConfigurationInput) (req *request.Request, output *PutFindingsPublicationConfigurationOutput) {
5356	op := &request.Operation{
5357		Name:       opPutFindingsPublicationConfiguration,
5358		HTTPMethod: "PUT",
5359		HTTPPath:   "/findings-publication-configuration",
5360	}
5361
5362	if input == nil {
5363		input = &PutFindingsPublicationConfigurationInput{}
5364	}
5365
5366	output = &PutFindingsPublicationConfigurationOutput{}
5367	req = c.newRequest(op, input, output)
5368	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5369	return
5370}
5371
5372// PutFindingsPublicationConfiguration API operation for Amazon Macie 2.
5373//
5374// Updates the configuration settings for publishing findings to Security Hub.
5375//
5376// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5377// with awserr.Error's Code and Message methods to get detailed information about
5378// the error.
5379//
5380// See the AWS API reference guide for Amazon Macie 2's
5381// API operation PutFindingsPublicationConfiguration for usage and error information.
5382//
5383// Returned Error Types:
5384//   * ValidationException
5385//   Provides information about an error that occurred due to a syntax error in
5386//   a request.
5387//
5388//   * InternalServerException
5389//   Provides information about an error that occurred due to an unknown internal
5390//   server error, exception, or failure.
5391//
5392//   * ServiceQuotaExceededException
5393//   Provides information about an error that occurred due to one or more service
5394//   quotas for an account.
5395//
5396//   * AccessDeniedException
5397//   Provides information about an error that occurred due to insufficient access
5398//   to a specified resource.
5399//
5400//   * ResourceNotFoundException
5401//   Provides information about an error that occurred because a specified resource
5402//   wasn't found.
5403//
5404//   * ThrottlingException
5405//   Provides information about an error that occurred because too many requests
5406//   were sent during a certain amount of time.
5407//
5408//   * ConflictException
5409//   Provides information about an error that occurred due to a versioning conflict
5410//   for a specified resource.
5411//
5412// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/PutFindingsPublicationConfiguration
5413func (c *Macie2) PutFindingsPublicationConfiguration(input *PutFindingsPublicationConfigurationInput) (*PutFindingsPublicationConfigurationOutput, error) {
5414	req, out := c.PutFindingsPublicationConfigurationRequest(input)
5415	return out, req.Send()
5416}
5417
5418// PutFindingsPublicationConfigurationWithContext is the same as PutFindingsPublicationConfiguration with the addition of
5419// the ability to pass a context and additional request options.
5420//
5421// See PutFindingsPublicationConfiguration for details on how to use this API operation.
5422//
5423// The context must be non-nil and will be used for request cancellation. If
5424// the context is nil a panic will occur. In the future the SDK may create
5425// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5426// for more information on using Contexts.
5427func (c *Macie2) PutFindingsPublicationConfigurationWithContext(ctx aws.Context, input *PutFindingsPublicationConfigurationInput, opts ...request.Option) (*PutFindingsPublicationConfigurationOutput, error) {
5428	req, out := c.PutFindingsPublicationConfigurationRequest(input)
5429	req.SetContext(ctx)
5430	req.ApplyOptions(opts...)
5431	return out, req.Send()
5432}
5433
5434const opSearchResources = "SearchResources"
5435
5436// SearchResourcesRequest generates a "aws/request.Request" representing the
5437// client's request for the SearchResources operation. The "output" return
5438// value will be populated with the request's response once the request completes
5439// successfully.
5440//
5441// Use "Send" method on the returned Request to send the API call to the service.
5442// the "output" return value is not valid until after Send returns without error.
5443//
5444// See SearchResources for more information on using the SearchResources
5445// API call, and error handling.
5446//
5447// This method is useful when you want to inject custom logic or configuration
5448// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5449//
5450//
5451//    // Example sending a request using the SearchResourcesRequest method.
5452//    req, resp := client.SearchResourcesRequest(params)
5453//
5454//    err := req.Send()
5455//    if err == nil { // resp is now filled
5456//        fmt.Println(resp)
5457//    }
5458//
5459// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/SearchResources
5460func (c *Macie2) SearchResourcesRequest(input *SearchResourcesInput) (req *request.Request, output *SearchResourcesOutput) {
5461	op := &request.Operation{
5462		Name:       opSearchResources,
5463		HTTPMethod: "POST",
5464		HTTPPath:   "/datasources/search-resources",
5465		Paginator: &request.Paginator{
5466			InputTokens:     []string{"nextToken"},
5467			OutputTokens:    []string{"nextToken"},
5468			LimitToken:      "maxResults",
5469			TruncationToken: "",
5470		},
5471	}
5472
5473	if input == nil {
5474		input = &SearchResourcesInput{}
5475	}
5476
5477	output = &SearchResourcesOutput{}
5478	req = c.newRequest(op, input, output)
5479	return
5480}
5481
5482// SearchResources API operation for Amazon Macie 2.
5483//
5484// Retrieves (queries) statistical data and other information about Amazon Web
5485// Services resources that Amazon Macie monitors and analyzes.
5486//
5487// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5488// with awserr.Error's Code and Message methods to get detailed information about
5489// the error.
5490//
5491// See the AWS API reference guide for Amazon Macie 2's
5492// API operation SearchResources for usage and error information.
5493//
5494// Returned Error Types:
5495//   * ValidationException
5496//   Provides information about an error that occurred due to a syntax error in
5497//   a request.
5498//
5499//   * InternalServerException
5500//   Provides information about an error that occurred due to an unknown internal
5501//   server error, exception, or failure.
5502//
5503//   * ServiceQuotaExceededException
5504//   Provides information about an error that occurred due to one or more service
5505//   quotas for an account.
5506//
5507//   * AccessDeniedException
5508//   Provides information about an error that occurred due to insufficient access
5509//   to a specified resource.
5510//
5511//   * ResourceNotFoundException
5512//   Provides information about an error that occurred because a specified resource
5513//   wasn't found.
5514//
5515//   * ThrottlingException
5516//   Provides information about an error that occurred because too many requests
5517//   were sent during a certain amount of time.
5518//
5519//   * ConflictException
5520//   Provides information about an error that occurred due to a versioning conflict
5521//   for a specified resource.
5522//
5523// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/SearchResources
5524func (c *Macie2) SearchResources(input *SearchResourcesInput) (*SearchResourcesOutput, error) {
5525	req, out := c.SearchResourcesRequest(input)
5526	return out, req.Send()
5527}
5528
5529// SearchResourcesWithContext is the same as SearchResources with the addition of
5530// the ability to pass a context and additional request options.
5531//
5532// See SearchResources for details on how to use this API operation.
5533//
5534// The context must be non-nil and will be used for request cancellation. If
5535// the context is nil a panic will occur. In the future the SDK may create
5536// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5537// for more information on using Contexts.
5538func (c *Macie2) SearchResourcesWithContext(ctx aws.Context, input *SearchResourcesInput, opts ...request.Option) (*SearchResourcesOutput, error) {
5539	req, out := c.SearchResourcesRequest(input)
5540	req.SetContext(ctx)
5541	req.ApplyOptions(opts...)
5542	return out, req.Send()
5543}
5544
5545// SearchResourcesPages iterates over the pages of a SearchResources operation,
5546// calling the "fn" function with the response data for each page. To stop
5547// iterating, return false from the fn function.
5548//
5549// See SearchResources method for more information on how to use this operation.
5550//
5551// Note: This operation can generate multiple requests to a service.
5552//
5553//    // Example iterating over at most 3 pages of a SearchResources operation.
5554//    pageNum := 0
5555//    err := client.SearchResourcesPages(params,
5556//        func(page *macie2.SearchResourcesOutput, lastPage bool) bool {
5557//            pageNum++
5558//            fmt.Println(page)
5559//            return pageNum <= 3
5560//        })
5561//
5562func (c *Macie2) SearchResourcesPages(input *SearchResourcesInput, fn func(*SearchResourcesOutput, bool) bool) error {
5563	return c.SearchResourcesPagesWithContext(aws.BackgroundContext(), input, fn)
5564}
5565
5566// SearchResourcesPagesWithContext same as SearchResourcesPages except
5567// it takes a Context and allows setting request options on the pages.
5568//
5569// The context must be non-nil and will be used for request cancellation. If
5570// the context is nil a panic will occur. In the future the SDK may create
5571// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5572// for more information on using Contexts.
5573func (c *Macie2) SearchResourcesPagesWithContext(ctx aws.Context, input *SearchResourcesInput, fn func(*SearchResourcesOutput, bool) bool, opts ...request.Option) error {
5574	p := request.Pagination{
5575		NewRequest: func() (*request.Request, error) {
5576			var inCpy *SearchResourcesInput
5577			if input != nil {
5578				tmp := *input
5579				inCpy = &tmp
5580			}
5581			req, _ := c.SearchResourcesRequest(inCpy)
5582			req.SetContext(ctx)
5583			req.ApplyOptions(opts...)
5584			return req, nil
5585		},
5586	}
5587
5588	for p.Next() {
5589		if !fn(p.Page().(*SearchResourcesOutput), !p.HasNextPage()) {
5590			break
5591		}
5592	}
5593
5594	return p.Err()
5595}
5596
5597const opTagResource = "TagResource"
5598
5599// TagResourceRequest generates a "aws/request.Request" representing the
5600// client's request for the TagResource operation. The "output" return
5601// value will be populated with the request's response once the request completes
5602// successfully.
5603//
5604// Use "Send" method on the returned Request to send the API call to the service.
5605// the "output" return value is not valid until after Send returns without error.
5606//
5607// See TagResource for more information on using the TagResource
5608// API call, and error handling.
5609//
5610// This method is useful when you want to inject custom logic or configuration
5611// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5612//
5613//
5614//    // Example sending a request using the TagResourceRequest method.
5615//    req, resp := client.TagResourceRequest(params)
5616//
5617//    err := req.Send()
5618//    if err == nil { // resp is now filled
5619//        fmt.Println(resp)
5620//    }
5621//
5622// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/TagResource
5623func (c *Macie2) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
5624	op := &request.Operation{
5625		Name:       opTagResource,
5626		HTTPMethod: "POST",
5627		HTTPPath:   "/tags/{resourceArn}",
5628	}
5629
5630	if input == nil {
5631		input = &TagResourceInput{}
5632	}
5633
5634	output = &TagResourceOutput{}
5635	req = c.newRequest(op, input, output)
5636	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5637	return
5638}
5639
5640// TagResource API operation for Amazon Macie 2.
5641//
5642// Adds or updates one or more tags (keys and values) that are associated with
5643// a classification job, custom data identifier, findings filter, or member
5644// account.
5645//
5646// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5647// with awserr.Error's Code and Message methods to get detailed information about
5648// the error.
5649//
5650// See the AWS API reference guide for Amazon Macie 2's
5651// API operation TagResource for usage and error information.
5652// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/TagResource
5653func (c *Macie2) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
5654	req, out := c.TagResourceRequest(input)
5655	return out, req.Send()
5656}
5657
5658// TagResourceWithContext is the same as TagResource with the addition of
5659// the ability to pass a context and additional request options.
5660//
5661// See TagResource for details on how to use this API operation.
5662//
5663// The context must be non-nil and will be used for request cancellation. If
5664// the context is nil a panic will occur. In the future the SDK may create
5665// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5666// for more information on using Contexts.
5667func (c *Macie2) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
5668	req, out := c.TagResourceRequest(input)
5669	req.SetContext(ctx)
5670	req.ApplyOptions(opts...)
5671	return out, req.Send()
5672}
5673
5674const opTestCustomDataIdentifier = "TestCustomDataIdentifier"
5675
5676// TestCustomDataIdentifierRequest generates a "aws/request.Request" representing the
5677// client's request for the TestCustomDataIdentifier operation. The "output" return
5678// value will be populated with the request's response once the request completes
5679// successfully.
5680//
5681// Use "Send" method on the returned Request to send the API call to the service.
5682// the "output" return value is not valid until after Send returns without error.
5683//
5684// See TestCustomDataIdentifier for more information on using the TestCustomDataIdentifier
5685// API call, and error handling.
5686//
5687// This method is useful when you want to inject custom logic or configuration
5688// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5689//
5690//
5691//    // Example sending a request using the TestCustomDataIdentifierRequest method.
5692//    req, resp := client.TestCustomDataIdentifierRequest(params)
5693//
5694//    err := req.Send()
5695//    if err == nil { // resp is now filled
5696//        fmt.Println(resp)
5697//    }
5698//
5699// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/TestCustomDataIdentifier
5700func (c *Macie2) TestCustomDataIdentifierRequest(input *TestCustomDataIdentifierInput) (req *request.Request, output *TestCustomDataIdentifierOutput) {
5701	op := &request.Operation{
5702		Name:       opTestCustomDataIdentifier,
5703		HTTPMethod: "POST",
5704		HTTPPath:   "/custom-data-identifiers/test",
5705	}
5706
5707	if input == nil {
5708		input = &TestCustomDataIdentifierInput{}
5709	}
5710
5711	output = &TestCustomDataIdentifierOutput{}
5712	req = c.newRequest(op, input, output)
5713	return
5714}
5715
5716// TestCustomDataIdentifier API operation for Amazon Macie 2.
5717//
5718// Tests a custom data identifier.
5719//
5720// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5721// with awserr.Error's Code and Message methods to get detailed information about
5722// the error.
5723//
5724// See the AWS API reference guide for Amazon Macie 2's
5725// API operation TestCustomDataIdentifier for usage and error information.
5726//
5727// Returned Error Types:
5728//   * ValidationException
5729//   Provides information about an error that occurred due to a syntax error in
5730//   a request.
5731//
5732//   * InternalServerException
5733//   Provides information about an error that occurred due to an unknown internal
5734//   server error, exception, or failure.
5735//
5736//   * ServiceQuotaExceededException
5737//   Provides information about an error that occurred due to one or more service
5738//   quotas for an account.
5739//
5740//   * AccessDeniedException
5741//   Provides information about an error that occurred due to insufficient access
5742//   to a specified resource.
5743//
5744//   * ResourceNotFoundException
5745//   Provides information about an error that occurred because a specified resource
5746//   wasn't found.
5747//
5748//   * ThrottlingException
5749//   Provides information about an error that occurred because too many requests
5750//   were sent during a certain amount of time.
5751//
5752//   * ConflictException
5753//   Provides information about an error that occurred due to a versioning conflict
5754//   for a specified resource.
5755//
5756// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/TestCustomDataIdentifier
5757func (c *Macie2) TestCustomDataIdentifier(input *TestCustomDataIdentifierInput) (*TestCustomDataIdentifierOutput, error) {
5758	req, out := c.TestCustomDataIdentifierRequest(input)
5759	return out, req.Send()
5760}
5761
5762// TestCustomDataIdentifierWithContext is the same as TestCustomDataIdentifier with the addition of
5763// the ability to pass a context and additional request options.
5764//
5765// See TestCustomDataIdentifier for details on how to use this API operation.
5766//
5767// The context must be non-nil and will be used for request cancellation. If
5768// the context is nil a panic will occur. In the future the SDK may create
5769// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5770// for more information on using Contexts.
5771func (c *Macie2) TestCustomDataIdentifierWithContext(ctx aws.Context, input *TestCustomDataIdentifierInput, opts ...request.Option) (*TestCustomDataIdentifierOutput, error) {
5772	req, out := c.TestCustomDataIdentifierRequest(input)
5773	req.SetContext(ctx)
5774	req.ApplyOptions(opts...)
5775	return out, req.Send()
5776}
5777
5778const opUntagResource = "UntagResource"
5779
5780// UntagResourceRequest generates a "aws/request.Request" representing the
5781// client's request for the UntagResource operation. The "output" return
5782// value will be populated with the request's response once the request completes
5783// successfully.
5784//
5785// Use "Send" method on the returned Request to send the API call to the service.
5786// the "output" return value is not valid until after Send returns without error.
5787//
5788// See UntagResource for more information on using the UntagResource
5789// API call, and error handling.
5790//
5791// This method is useful when you want to inject custom logic or configuration
5792// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5793//
5794//
5795//    // Example sending a request using the UntagResourceRequest method.
5796//    req, resp := client.UntagResourceRequest(params)
5797//
5798//    err := req.Send()
5799//    if err == nil { // resp is now filled
5800//        fmt.Println(resp)
5801//    }
5802//
5803// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UntagResource
5804func (c *Macie2) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
5805	op := &request.Operation{
5806		Name:       opUntagResource,
5807		HTTPMethod: "DELETE",
5808		HTTPPath:   "/tags/{resourceArn}",
5809	}
5810
5811	if input == nil {
5812		input = &UntagResourceInput{}
5813	}
5814
5815	output = &UntagResourceOutput{}
5816	req = c.newRequest(op, input, output)
5817	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5818	return
5819}
5820
5821// UntagResource API operation for Amazon Macie 2.
5822//
5823// Removes one or more tags (keys and values) from a classification job, custom
5824// data identifier, findings filter, or member account.
5825//
5826// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5827// with awserr.Error's Code and Message methods to get detailed information about
5828// the error.
5829//
5830// See the AWS API reference guide for Amazon Macie 2's
5831// API operation UntagResource for usage and error information.
5832// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UntagResource
5833func (c *Macie2) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
5834	req, out := c.UntagResourceRequest(input)
5835	return out, req.Send()
5836}
5837
5838// UntagResourceWithContext is the same as UntagResource with the addition of
5839// the ability to pass a context and additional request options.
5840//
5841// See UntagResource for details on how to use this API operation.
5842//
5843// The context must be non-nil and will be used for request cancellation. If
5844// the context is nil a panic will occur. In the future the SDK may create
5845// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5846// for more information on using Contexts.
5847func (c *Macie2) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
5848	req, out := c.UntagResourceRequest(input)
5849	req.SetContext(ctx)
5850	req.ApplyOptions(opts...)
5851	return out, req.Send()
5852}
5853
5854const opUpdateClassificationJob = "UpdateClassificationJob"
5855
5856// UpdateClassificationJobRequest generates a "aws/request.Request" representing the
5857// client's request for the UpdateClassificationJob operation. The "output" return
5858// value will be populated with the request's response once the request completes
5859// successfully.
5860//
5861// Use "Send" method on the returned Request to send the API call to the service.
5862// the "output" return value is not valid until after Send returns without error.
5863//
5864// See UpdateClassificationJob for more information on using the UpdateClassificationJob
5865// API call, and error handling.
5866//
5867// This method is useful when you want to inject custom logic or configuration
5868// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5869//
5870//
5871//    // Example sending a request using the UpdateClassificationJobRequest method.
5872//    req, resp := client.UpdateClassificationJobRequest(params)
5873//
5874//    err := req.Send()
5875//    if err == nil { // resp is now filled
5876//        fmt.Println(resp)
5877//    }
5878//
5879// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateClassificationJob
5880func (c *Macie2) UpdateClassificationJobRequest(input *UpdateClassificationJobInput) (req *request.Request, output *UpdateClassificationJobOutput) {
5881	op := &request.Operation{
5882		Name:       opUpdateClassificationJob,
5883		HTTPMethod: "PATCH",
5884		HTTPPath:   "/jobs/{jobId}",
5885	}
5886
5887	if input == nil {
5888		input = &UpdateClassificationJobInput{}
5889	}
5890
5891	output = &UpdateClassificationJobOutput{}
5892	req = c.newRequest(op, input, output)
5893	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5894	return
5895}
5896
5897// UpdateClassificationJob API operation for Amazon Macie 2.
5898//
5899// Changes the status of a classification job.
5900//
5901// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5902// with awserr.Error's Code and Message methods to get detailed information about
5903// the error.
5904//
5905// See the AWS API reference guide for Amazon Macie 2's
5906// API operation UpdateClassificationJob for usage and error information.
5907//
5908// Returned Error Types:
5909//   * ValidationException
5910//   Provides information about an error that occurred due to a syntax error in
5911//   a request.
5912//
5913//   * InternalServerException
5914//   Provides information about an error that occurred due to an unknown internal
5915//   server error, exception, or failure.
5916//
5917//   * ServiceQuotaExceededException
5918//   Provides information about an error that occurred due to one or more service
5919//   quotas for an account.
5920//
5921//   * AccessDeniedException
5922//   Provides information about an error that occurred due to insufficient access
5923//   to a specified resource.
5924//
5925//   * ResourceNotFoundException
5926//   Provides information about an error that occurred because a specified resource
5927//   wasn't found.
5928//
5929//   * ThrottlingException
5930//   Provides information about an error that occurred because too many requests
5931//   were sent during a certain amount of time.
5932//
5933//   * ConflictException
5934//   Provides information about an error that occurred due to a versioning conflict
5935//   for a specified resource.
5936//
5937// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateClassificationJob
5938func (c *Macie2) UpdateClassificationJob(input *UpdateClassificationJobInput) (*UpdateClassificationJobOutput, error) {
5939	req, out := c.UpdateClassificationJobRequest(input)
5940	return out, req.Send()
5941}
5942
5943// UpdateClassificationJobWithContext is the same as UpdateClassificationJob with the addition of
5944// the ability to pass a context and additional request options.
5945//
5946// See UpdateClassificationJob for details on how to use this API operation.
5947//
5948// The context must be non-nil and will be used for request cancellation. If
5949// the context is nil a panic will occur. In the future the SDK may create
5950// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5951// for more information on using Contexts.
5952func (c *Macie2) UpdateClassificationJobWithContext(ctx aws.Context, input *UpdateClassificationJobInput, opts ...request.Option) (*UpdateClassificationJobOutput, error) {
5953	req, out := c.UpdateClassificationJobRequest(input)
5954	req.SetContext(ctx)
5955	req.ApplyOptions(opts...)
5956	return out, req.Send()
5957}
5958
5959const opUpdateFindingsFilter = "UpdateFindingsFilter"
5960
5961// UpdateFindingsFilterRequest generates a "aws/request.Request" representing the
5962// client's request for the UpdateFindingsFilter operation. The "output" return
5963// value will be populated with the request's response once the request completes
5964// successfully.
5965//
5966// Use "Send" method on the returned Request to send the API call to the service.
5967// the "output" return value is not valid until after Send returns without error.
5968//
5969// See UpdateFindingsFilter for more information on using the UpdateFindingsFilter
5970// API call, and error handling.
5971//
5972// This method is useful when you want to inject custom logic or configuration
5973// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5974//
5975//
5976//    // Example sending a request using the UpdateFindingsFilterRequest method.
5977//    req, resp := client.UpdateFindingsFilterRequest(params)
5978//
5979//    err := req.Send()
5980//    if err == nil { // resp is now filled
5981//        fmt.Println(resp)
5982//    }
5983//
5984// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateFindingsFilter
5985func (c *Macie2) UpdateFindingsFilterRequest(input *UpdateFindingsFilterInput) (req *request.Request, output *UpdateFindingsFilterOutput) {
5986	op := &request.Operation{
5987		Name:       opUpdateFindingsFilter,
5988		HTTPMethod: "PATCH",
5989		HTTPPath:   "/findingsfilters/{id}",
5990	}
5991
5992	if input == nil {
5993		input = &UpdateFindingsFilterInput{}
5994	}
5995
5996	output = &UpdateFindingsFilterOutput{}
5997	req = c.newRequest(op, input, output)
5998	return
5999}
6000
6001// UpdateFindingsFilter API operation for Amazon Macie 2.
6002//
6003// Updates the criteria and other settings for a findings filter.
6004//
6005// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6006// with awserr.Error's Code and Message methods to get detailed information about
6007// the error.
6008//
6009// See the AWS API reference guide for Amazon Macie 2's
6010// API operation UpdateFindingsFilter for usage and error information.
6011//
6012// Returned Error Types:
6013//   * ValidationException
6014//   Provides information about an error that occurred due to a syntax error in
6015//   a request.
6016//
6017//   * InternalServerException
6018//   Provides information about an error that occurred due to an unknown internal
6019//   server error, exception, or failure.
6020//
6021//   * ServiceQuotaExceededException
6022//   Provides information about an error that occurred due to one or more service
6023//   quotas for an account.
6024//
6025//   * AccessDeniedException
6026//   Provides information about an error that occurred due to insufficient access
6027//   to a specified resource.
6028//
6029//   * ResourceNotFoundException
6030//   Provides information about an error that occurred because a specified resource
6031//   wasn't found.
6032//
6033//   * ThrottlingException
6034//   Provides information about an error that occurred because too many requests
6035//   were sent during a certain amount of time.
6036//
6037//   * ConflictException
6038//   Provides information about an error that occurred due to a versioning conflict
6039//   for a specified resource.
6040//
6041// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateFindingsFilter
6042func (c *Macie2) UpdateFindingsFilter(input *UpdateFindingsFilterInput) (*UpdateFindingsFilterOutput, error) {
6043	req, out := c.UpdateFindingsFilterRequest(input)
6044	return out, req.Send()
6045}
6046
6047// UpdateFindingsFilterWithContext is the same as UpdateFindingsFilter with the addition of
6048// the ability to pass a context and additional request options.
6049//
6050// See UpdateFindingsFilter for details on how to use this API operation.
6051//
6052// The context must be non-nil and will be used for request cancellation. If
6053// the context is nil a panic will occur. In the future the SDK may create
6054// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6055// for more information on using Contexts.
6056func (c *Macie2) UpdateFindingsFilterWithContext(ctx aws.Context, input *UpdateFindingsFilterInput, opts ...request.Option) (*UpdateFindingsFilterOutput, error) {
6057	req, out := c.UpdateFindingsFilterRequest(input)
6058	req.SetContext(ctx)
6059	req.ApplyOptions(opts...)
6060	return out, req.Send()
6061}
6062
6063const opUpdateMacieSession = "UpdateMacieSession"
6064
6065// UpdateMacieSessionRequest generates a "aws/request.Request" representing the
6066// client's request for the UpdateMacieSession operation. The "output" return
6067// value will be populated with the request's response once the request completes
6068// successfully.
6069//
6070// Use "Send" method on the returned Request to send the API call to the service.
6071// the "output" return value is not valid until after Send returns without error.
6072//
6073// See UpdateMacieSession for more information on using the UpdateMacieSession
6074// API call, and error handling.
6075//
6076// This method is useful when you want to inject custom logic or configuration
6077// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6078//
6079//
6080//    // Example sending a request using the UpdateMacieSessionRequest method.
6081//    req, resp := client.UpdateMacieSessionRequest(params)
6082//
6083//    err := req.Send()
6084//    if err == nil { // resp is now filled
6085//        fmt.Println(resp)
6086//    }
6087//
6088// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateMacieSession
6089func (c *Macie2) UpdateMacieSessionRequest(input *UpdateMacieSessionInput) (req *request.Request, output *UpdateMacieSessionOutput) {
6090	op := &request.Operation{
6091		Name:       opUpdateMacieSession,
6092		HTTPMethod: "PATCH",
6093		HTTPPath:   "/macie",
6094	}
6095
6096	if input == nil {
6097		input = &UpdateMacieSessionInput{}
6098	}
6099
6100	output = &UpdateMacieSessionOutput{}
6101	req = c.newRequest(op, input, output)
6102	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6103	return
6104}
6105
6106// UpdateMacieSession API operation for Amazon Macie 2.
6107//
6108// Suspends or re-enables an Amazon Macie account, or updates the configuration
6109// settings for a Macie account.
6110//
6111// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6112// with awserr.Error's Code and Message methods to get detailed information about
6113// the error.
6114//
6115// See the AWS API reference guide for Amazon Macie 2's
6116// API operation UpdateMacieSession for usage and error information.
6117//
6118// Returned Error Types:
6119//   * ValidationException
6120//   Provides information about an error that occurred due to a syntax error in
6121//   a request.
6122//
6123//   * InternalServerException
6124//   Provides information about an error that occurred due to an unknown internal
6125//   server error, exception, or failure.
6126//
6127//   * ServiceQuotaExceededException
6128//   Provides information about an error that occurred due to one or more service
6129//   quotas for an account.
6130//
6131//   * AccessDeniedException
6132//   Provides information about an error that occurred due to insufficient access
6133//   to a specified resource.
6134//
6135//   * ResourceNotFoundException
6136//   Provides information about an error that occurred because a specified resource
6137//   wasn't found.
6138//
6139//   * ThrottlingException
6140//   Provides information about an error that occurred because too many requests
6141//   were sent during a certain amount of time.
6142//
6143//   * ConflictException
6144//   Provides information about an error that occurred due to a versioning conflict
6145//   for a specified resource.
6146//
6147// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateMacieSession
6148func (c *Macie2) UpdateMacieSession(input *UpdateMacieSessionInput) (*UpdateMacieSessionOutput, error) {
6149	req, out := c.UpdateMacieSessionRequest(input)
6150	return out, req.Send()
6151}
6152
6153// UpdateMacieSessionWithContext is the same as UpdateMacieSession with the addition of
6154// the ability to pass a context and additional request options.
6155//
6156// See UpdateMacieSession for details on how to use this API operation.
6157//
6158// The context must be non-nil and will be used for request cancellation. If
6159// the context is nil a panic will occur. In the future the SDK may create
6160// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6161// for more information on using Contexts.
6162func (c *Macie2) UpdateMacieSessionWithContext(ctx aws.Context, input *UpdateMacieSessionInput, opts ...request.Option) (*UpdateMacieSessionOutput, error) {
6163	req, out := c.UpdateMacieSessionRequest(input)
6164	req.SetContext(ctx)
6165	req.ApplyOptions(opts...)
6166	return out, req.Send()
6167}
6168
6169const opUpdateMemberSession = "UpdateMemberSession"
6170
6171// UpdateMemberSessionRequest generates a "aws/request.Request" representing the
6172// client's request for the UpdateMemberSession operation. The "output" return
6173// value will be populated with the request's response once the request completes
6174// successfully.
6175//
6176// Use "Send" method on the returned Request to send the API call to the service.
6177// the "output" return value is not valid until after Send returns without error.
6178//
6179// See UpdateMemberSession for more information on using the UpdateMemberSession
6180// API call, and error handling.
6181//
6182// This method is useful when you want to inject custom logic or configuration
6183// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6184//
6185//
6186//    // Example sending a request using the UpdateMemberSessionRequest method.
6187//    req, resp := client.UpdateMemberSessionRequest(params)
6188//
6189//    err := req.Send()
6190//    if err == nil { // resp is now filled
6191//        fmt.Println(resp)
6192//    }
6193//
6194// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateMemberSession
6195func (c *Macie2) UpdateMemberSessionRequest(input *UpdateMemberSessionInput) (req *request.Request, output *UpdateMemberSessionOutput) {
6196	op := &request.Operation{
6197		Name:       opUpdateMemberSession,
6198		HTTPMethod: "PATCH",
6199		HTTPPath:   "/macie/members/{id}",
6200	}
6201
6202	if input == nil {
6203		input = &UpdateMemberSessionInput{}
6204	}
6205
6206	output = &UpdateMemberSessionOutput{}
6207	req = c.newRequest(op, input, output)
6208	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6209	return
6210}
6211
6212// UpdateMemberSession API operation for Amazon Macie 2.
6213//
6214// Enables an Amazon Macie administrator to suspend or re-enable a member account.
6215//
6216// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6217// with awserr.Error's Code and Message methods to get detailed information about
6218// the error.
6219//
6220// See the AWS API reference guide for Amazon Macie 2's
6221// API operation UpdateMemberSession for usage and error information.
6222//
6223// Returned Error Types:
6224//   * ValidationException
6225//   Provides information about an error that occurred due to a syntax error in
6226//   a request.
6227//
6228//   * InternalServerException
6229//   Provides information about an error that occurred due to an unknown internal
6230//   server error, exception, or failure.
6231//
6232//   * ServiceQuotaExceededException
6233//   Provides information about an error that occurred due to one or more service
6234//   quotas for an account.
6235//
6236//   * AccessDeniedException
6237//   Provides information about an error that occurred due to insufficient access
6238//   to a specified resource.
6239//
6240//   * ResourceNotFoundException
6241//   Provides information about an error that occurred because a specified resource
6242//   wasn't found.
6243//
6244//   * ThrottlingException
6245//   Provides information about an error that occurred because too many requests
6246//   were sent during a certain amount of time.
6247//
6248//   * ConflictException
6249//   Provides information about an error that occurred due to a versioning conflict
6250//   for a specified resource.
6251//
6252// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateMemberSession
6253func (c *Macie2) UpdateMemberSession(input *UpdateMemberSessionInput) (*UpdateMemberSessionOutput, error) {
6254	req, out := c.UpdateMemberSessionRequest(input)
6255	return out, req.Send()
6256}
6257
6258// UpdateMemberSessionWithContext is the same as UpdateMemberSession with the addition of
6259// the ability to pass a context and additional request options.
6260//
6261// See UpdateMemberSession for details on how to use this API operation.
6262//
6263// The context must be non-nil and will be used for request cancellation. If
6264// the context is nil a panic will occur. In the future the SDK may create
6265// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6266// for more information on using Contexts.
6267func (c *Macie2) UpdateMemberSessionWithContext(ctx aws.Context, input *UpdateMemberSessionInput, opts ...request.Option) (*UpdateMemberSessionOutput, error) {
6268	req, out := c.UpdateMemberSessionRequest(input)
6269	req.SetContext(ctx)
6270	req.ApplyOptions(opts...)
6271	return out, req.Send()
6272}
6273
6274const opUpdateOrganizationConfiguration = "UpdateOrganizationConfiguration"
6275
6276// UpdateOrganizationConfigurationRequest generates a "aws/request.Request" representing the
6277// client's request for the UpdateOrganizationConfiguration operation. The "output" return
6278// value will be populated with the request's response once the request completes
6279// successfully.
6280//
6281// Use "Send" method on the returned Request to send the API call to the service.
6282// the "output" return value is not valid until after Send returns without error.
6283//
6284// See UpdateOrganizationConfiguration for more information on using the UpdateOrganizationConfiguration
6285// API call, and error handling.
6286//
6287// This method is useful when you want to inject custom logic or configuration
6288// into the SDK's request lifecycle. Such as custom headers, or retry logic.
6289//
6290//
6291//    // Example sending a request using the UpdateOrganizationConfigurationRequest method.
6292//    req, resp := client.UpdateOrganizationConfigurationRequest(params)
6293//
6294//    err := req.Send()
6295//    if err == nil { // resp is now filled
6296//        fmt.Println(resp)
6297//    }
6298//
6299// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateOrganizationConfiguration
6300func (c *Macie2) UpdateOrganizationConfigurationRequest(input *UpdateOrganizationConfigurationInput) (req *request.Request, output *UpdateOrganizationConfigurationOutput) {
6301	op := &request.Operation{
6302		Name:       opUpdateOrganizationConfiguration,
6303		HTTPMethod: "PATCH",
6304		HTTPPath:   "/admin/configuration",
6305	}
6306
6307	if input == nil {
6308		input = &UpdateOrganizationConfigurationInput{}
6309	}
6310
6311	output = &UpdateOrganizationConfigurationOutput{}
6312	req = c.newRequest(op, input, output)
6313	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
6314	return
6315}
6316
6317// UpdateOrganizationConfiguration API operation for Amazon Macie 2.
6318//
6319// Updates the Amazon Macie configuration settings for an Amazon Web Services
6320// organization.
6321//
6322// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
6323// with awserr.Error's Code and Message methods to get detailed information about
6324// the error.
6325//
6326// See the AWS API reference guide for Amazon Macie 2's
6327// API operation UpdateOrganizationConfiguration for usage and error information.
6328//
6329// Returned Error Types:
6330//   * ValidationException
6331//   Provides information about an error that occurred due to a syntax error in
6332//   a request.
6333//
6334//   * InternalServerException
6335//   Provides information about an error that occurred due to an unknown internal
6336//   server error, exception, or failure.
6337//
6338//   * ServiceQuotaExceededException
6339//   Provides information about an error that occurred due to one or more service
6340//   quotas for an account.
6341//
6342//   * AccessDeniedException
6343//   Provides information about an error that occurred due to insufficient access
6344//   to a specified resource.
6345//
6346//   * ResourceNotFoundException
6347//   Provides information about an error that occurred because a specified resource
6348//   wasn't found.
6349//
6350//   * ThrottlingException
6351//   Provides information about an error that occurred because too many requests
6352//   were sent during a certain amount of time.
6353//
6354//   * ConflictException
6355//   Provides information about an error that occurred due to a versioning conflict
6356//   for a specified resource.
6357//
6358// See also, https://docs.aws.amazon.com/goto/WebAPI/macie2-2020-01-01/UpdateOrganizationConfiguration
6359func (c *Macie2) UpdateOrganizationConfiguration(input *UpdateOrganizationConfigurationInput) (*UpdateOrganizationConfigurationOutput, error) {
6360	req, out := c.UpdateOrganizationConfigurationRequest(input)
6361	return out, req.Send()
6362}
6363
6364// UpdateOrganizationConfigurationWithContext is the same as UpdateOrganizationConfiguration with the addition of
6365// the ability to pass a context and additional request options.
6366//
6367// See UpdateOrganizationConfiguration for details on how to use this API operation.
6368//
6369// The context must be non-nil and will be used for request cancellation. If
6370// the context is nil a panic will occur. In the future the SDK may create
6371// sub-contexts for http.Requests. See https://golang.org/pkg/context/
6372// for more information on using Contexts.
6373func (c *Macie2) UpdateOrganizationConfigurationWithContext(ctx aws.Context, input *UpdateOrganizationConfigurationInput, opts ...request.Option) (*UpdateOrganizationConfigurationOutput, error) {
6374	req, out := c.UpdateOrganizationConfigurationRequest(input)
6375	req.SetContext(ctx)
6376	req.ApplyOptions(opts...)
6377	return out, req.Send()
6378}
6379
6380// Specifies an Amazon Macie membership invitation to accept. In the request,
6381// you have to specify the ID for the Amazon Web Services account that sent
6382// the invitation. Otherwise, a validation error occurs. To specify this ID,
6383// we recommend that you use the administratorAccountId property instead of
6384// the masterAccount property. The masterAccount property has been deprecated
6385// and is retained only for backward compatibility.
6386type AcceptInvitationInput struct {
6387	_ struct{} `type:"structure"`
6388
6389	AdministratorAccountId *string `locationName:"administratorAccountId" type:"string"`
6390
6391	// InvitationId is a required field
6392	InvitationId *string `locationName:"invitationId" type:"string" required:"true"`
6393
6394	MasterAccount *string `locationName:"masterAccount" type:"string"`
6395}
6396
6397// String returns the string representation
6398func (s AcceptInvitationInput) String() string {
6399	return awsutil.Prettify(s)
6400}
6401
6402// GoString returns the string representation
6403func (s AcceptInvitationInput) GoString() string {
6404	return s.String()
6405}
6406
6407// Validate inspects the fields of the type to determine if they are valid.
6408func (s *AcceptInvitationInput) Validate() error {
6409	invalidParams := request.ErrInvalidParams{Context: "AcceptInvitationInput"}
6410	if s.InvitationId == nil {
6411		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
6412	}
6413
6414	if invalidParams.Len() > 0 {
6415		return invalidParams
6416	}
6417	return nil
6418}
6419
6420// SetAdministratorAccountId sets the AdministratorAccountId field's value.
6421func (s *AcceptInvitationInput) SetAdministratorAccountId(v string) *AcceptInvitationInput {
6422	s.AdministratorAccountId = &v
6423	return s
6424}
6425
6426// SetInvitationId sets the InvitationId field's value.
6427func (s *AcceptInvitationInput) SetInvitationId(v string) *AcceptInvitationInput {
6428	s.InvitationId = &v
6429	return s
6430}
6431
6432// SetMasterAccount sets the MasterAccount field's value.
6433func (s *AcceptInvitationInput) SetMasterAccount(v string) *AcceptInvitationInput {
6434	s.MasterAccount = &v
6435	return s
6436}
6437
6438type AcceptInvitationOutput struct {
6439	_ struct{} `type:"structure"`
6440}
6441
6442// String returns the string representation
6443func (s AcceptInvitationOutput) String() string {
6444	return awsutil.Prettify(s)
6445}
6446
6447// GoString returns the string representation
6448func (s AcceptInvitationOutput) GoString() string {
6449	return s.String()
6450}
6451
6452// Provides information about the permissions settings of the bucket-level access
6453// control list (ACL) for an S3 bucket.
6454type AccessControlList struct {
6455	_ struct{} `type:"structure"`
6456
6457	AllowsPublicReadAccess *bool `locationName:"allowsPublicReadAccess" type:"boolean"`
6458
6459	AllowsPublicWriteAccess *bool `locationName:"allowsPublicWriteAccess" type:"boolean"`
6460}
6461
6462// String returns the string representation
6463func (s AccessControlList) String() string {
6464	return awsutil.Prettify(s)
6465}
6466
6467// GoString returns the string representation
6468func (s AccessControlList) GoString() string {
6469	return s.String()
6470}
6471
6472// SetAllowsPublicReadAccess sets the AllowsPublicReadAccess field's value.
6473func (s *AccessControlList) SetAllowsPublicReadAccess(v bool) *AccessControlList {
6474	s.AllowsPublicReadAccess = &v
6475	return s
6476}
6477
6478// SetAllowsPublicWriteAccess sets the AllowsPublicWriteAccess field's value.
6479func (s *AccessControlList) SetAllowsPublicWriteAccess(v bool) *AccessControlList {
6480	s.AllowsPublicWriteAccess = &v
6481	return s
6482}
6483
6484// Provides information about an error that occurred due to insufficient access
6485// to a specified resource.
6486type AccessDeniedException struct {
6487	_            struct{}                  `type:"structure"`
6488	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
6489
6490	Message_ *string `locationName:"message" type:"string"`
6491}
6492
6493// String returns the string representation
6494func (s AccessDeniedException) String() string {
6495	return awsutil.Prettify(s)
6496}
6497
6498// GoString returns the string representation
6499func (s AccessDeniedException) GoString() string {
6500	return s.String()
6501}
6502
6503func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
6504	return &AccessDeniedException{
6505		RespMetadata: v,
6506	}
6507}
6508
6509// Code returns the exception type name.
6510func (s *AccessDeniedException) Code() string {
6511	return "AccessDeniedException"
6512}
6513
6514// Message returns the exception's message.
6515func (s *AccessDeniedException) Message() string {
6516	if s.Message_ != nil {
6517		return *s.Message_
6518	}
6519	return ""
6520}
6521
6522// OrigErr always returns nil, satisfies awserr.Error interface.
6523func (s *AccessDeniedException) OrigErr() error {
6524	return nil
6525}
6526
6527func (s *AccessDeniedException) Error() string {
6528	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
6529}
6530
6531// Status code returns the HTTP status code for the request's response error.
6532func (s *AccessDeniedException) StatusCode() int {
6533	return s.RespMetadata.StatusCode
6534}
6535
6536// RequestID returns the service's response RequestID for request.
6537func (s *AccessDeniedException) RequestID() string {
6538	return s.RespMetadata.RequestID
6539}
6540
6541// Specifies the details of an account to associate with an Amazon Macie administrator
6542// account.
6543type AccountDetail struct {
6544	_ struct{} `type:"structure"`
6545
6546	// AccountId is a required field
6547	AccountId *string `locationName:"accountId" type:"string" required:"true"`
6548
6549	// Email is a required field
6550	Email *string `locationName:"email" type:"string" required:"true"`
6551}
6552
6553// String returns the string representation
6554func (s AccountDetail) String() string {
6555	return awsutil.Prettify(s)
6556}
6557
6558// GoString returns the string representation
6559func (s AccountDetail) GoString() string {
6560	return s.String()
6561}
6562
6563// Validate inspects the fields of the type to determine if they are valid.
6564func (s *AccountDetail) Validate() error {
6565	invalidParams := request.ErrInvalidParams{Context: "AccountDetail"}
6566	if s.AccountId == nil {
6567		invalidParams.Add(request.NewErrParamRequired("AccountId"))
6568	}
6569	if s.Email == nil {
6570		invalidParams.Add(request.NewErrParamRequired("Email"))
6571	}
6572
6573	if invalidParams.Len() > 0 {
6574		return invalidParams
6575	}
6576	return nil
6577}
6578
6579// SetAccountId sets the AccountId field's value.
6580func (s *AccountDetail) SetAccountId(v string) *AccountDetail {
6581	s.AccountId = &v
6582	return s
6583}
6584
6585// SetEmail sets the Email field's value.
6586func (s *AccountDetail) SetEmail(v string) *AccountDetail {
6587	s.Email = &v
6588	return s
6589}
6590
6591// Provides information about the account-level permissions settings that apply
6592// to an S3 bucket.
6593type AccountLevelPermissions struct {
6594	_ struct{} `type:"structure"`
6595
6596	// Provides information about the block public access settings for an S3 bucket.
6597	// These settings can apply to a bucket at the account level or bucket level.
6598	// For detailed information about each setting, see Blocking public access to
6599	// your Amazon S3 storage (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html)
6600	// in the Amazon Simple Storage Service User Guide.
6601	BlockPublicAccess *BlockPublicAccess `locationName:"blockPublicAccess" type:"structure"`
6602}
6603
6604// String returns the string representation
6605func (s AccountLevelPermissions) String() string {
6606	return awsutil.Prettify(s)
6607}
6608
6609// GoString returns the string representation
6610func (s AccountLevelPermissions) GoString() string {
6611	return s.String()
6612}
6613
6614// SetBlockPublicAccess sets the BlockPublicAccess field's value.
6615func (s *AccountLevelPermissions) SetBlockPublicAccess(v *BlockPublicAccess) *AccountLevelPermissions {
6616	s.BlockPublicAccess = v
6617	return s
6618}
6619
6620// Provides information about the delegated Amazon Macie administrator account
6621// for an Amazon Web Services organization.
6622type AdminAccount struct {
6623	_ struct{} `type:"structure"`
6624
6625	AccountId *string `locationName:"accountId" type:"string"`
6626
6627	// The current status of an account as the delegated Amazon Macie administrator
6628	// account for an Amazon Web Services organization. Possible values are:
6629	Status *string `locationName:"status" type:"string" enum:"AdminStatus"`
6630}
6631
6632// String returns the string representation
6633func (s AdminAccount) String() string {
6634	return awsutil.Prettify(s)
6635}
6636
6637// GoString returns the string representation
6638func (s AdminAccount) GoString() string {
6639	return s.String()
6640}
6641
6642// SetAccountId sets the AccountId field's value.
6643func (s *AdminAccount) SetAccountId(v string) *AdminAccount {
6644	s.AccountId = &v
6645	return s
6646}
6647
6648// SetStatus sets the Status field's value.
6649func (s *AdminAccount) SetStatus(v string) *AdminAccount {
6650	s.Status = &v
6651	return s
6652}
6653
6654// Provides information about an API operation that an entity invoked for an
6655// affected resource.
6656type ApiCallDetails struct {
6657	_ struct{} `type:"structure"`
6658
6659	Api *string `locationName:"api" type:"string"`
6660
6661	ApiServiceName *string `locationName:"apiServiceName" type:"string"`
6662
6663	FirstSeen *time.Time `locationName:"firstSeen" type:"timestamp" timestampFormat:"iso8601"`
6664
6665	LastSeen *time.Time `locationName:"lastSeen" type:"timestamp" timestampFormat:"iso8601"`
6666}
6667
6668// String returns the string representation
6669func (s ApiCallDetails) String() string {
6670	return awsutil.Prettify(s)
6671}
6672
6673// GoString returns the string representation
6674func (s ApiCallDetails) GoString() string {
6675	return s.String()
6676}
6677
6678// SetApi sets the Api field's value.
6679func (s *ApiCallDetails) SetApi(v string) *ApiCallDetails {
6680	s.Api = &v
6681	return s
6682}
6683
6684// SetApiServiceName sets the ApiServiceName field's value.
6685func (s *ApiCallDetails) SetApiServiceName(v string) *ApiCallDetails {
6686	s.ApiServiceName = &v
6687	return s
6688}
6689
6690// SetFirstSeen sets the FirstSeen field's value.
6691func (s *ApiCallDetails) SetFirstSeen(v time.Time) *ApiCallDetails {
6692	s.FirstSeen = &v
6693	return s
6694}
6695
6696// SetLastSeen sets the LastSeen field's value.
6697func (s *ApiCallDetails) SetLastSeen(v time.Time) *ApiCallDetails {
6698	s.LastSeen = &v
6699	return s
6700}
6701
6702// Provides information about an identity that performed an action on an affected
6703// resource by using temporary security credentials. The credentials were obtained
6704// using the AssumeRole operation of the Security Token Service (STS) API.
6705type AssumedRole struct {
6706	_ struct{} `type:"structure"`
6707
6708	AccessKeyId *string `locationName:"accessKeyId" type:"string"`
6709
6710	AccountId *string `locationName:"accountId" type:"string"`
6711
6712	Arn *string `locationName:"arn" type:"string"`
6713
6714	PrincipalId *string `locationName:"principalId" type:"string"`
6715
6716	// Provides information about a session that was created for an entity that
6717	// performed an action by using temporary security credentials.
6718	SessionContext *SessionContext `locationName:"sessionContext" type:"structure"`
6719}
6720
6721// String returns the string representation
6722func (s AssumedRole) String() string {
6723	return awsutil.Prettify(s)
6724}
6725
6726// GoString returns the string representation
6727func (s AssumedRole) GoString() string {
6728	return s.String()
6729}
6730
6731// SetAccessKeyId sets the AccessKeyId field's value.
6732func (s *AssumedRole) SetAccessKeyId(v string) *AssumedRole {
6733	s.AccessKeyId = &v
6734	return s
6735}
6736
6737// SetAccountId sets the AccountId field's value.
6738func (s *AssumedRole) SetAccountId(v string) *AssumedRole {
6739	s.AccountId = &v
6740	return s
6741}
6742
6743// SetArn sets the Arn field's value.
6744func (s *AssumedRole) SetArn(v string) *AssumedRole {
6745	s.Arn = &v
6746	return s
6747}
6748
6749// SetPrincipalId sets the PrincipalId field's value.
6750func (s *AssumedRole) SetPrincipalId(v string) *AssumedRole {
6751	s.PrincipalId = &v
6752	return s
6753}
6754
6755// SetSessionContext sets the SessionContext field's value.
6756func (s *AssumedRole) SetSessionContext(v *SessionContext) *AssumedRole {
6757	s.SessionContext = v
6758	return s
6759}
6760
6761// Provides information about an Amazon Web Services account and entity that
6762// performed an action on an affected resource. The action was performed using
6763// the credentials for an Amazon Web Services account other than your own account.
6764type AwsAccount struct {
6765	_ struct{} `type:"structure"`
6766
6767	AccountId *string `locationName:"accountId" type:"string"`
6768
6769	PrincipalId *string `locationName:"principalId" type:"string"`
6770}
6771
6772// String returns the string representation
6773func (s AwsAccount) String() string {
6774	return awsutil.Prettify(s)
6775}
6776
6777// GoString returns the string representation
6778func (s AwsAccount) GoString() string {
6779	return s.String()
6780}
6781
6782// SetAccountId sets the AccountId field's value.
6783func (s *AwsAccount) SetAccountId(v string) *AwsAccount {
6784	s.AccountId = &v
6785	return s
6786}
6787
6788// SetPrincipalId sets the PrincipalId field's value.
6789func (s *AwsAccount) SetPrincipalId(v string) *AwsAccount {
6790	s.PrincipalId = &v
6791	return s
6792}
6793
6794// Provides information about an Amazon Web Service that performed an action
6795// on an affected resource.
6796type AwsService struct {
6797	_ struct{} `type:"structure"`
6798
6799	InvokedBy *string `locationName:"invokedBy" type:"string"`
6800}
6801
6802// String returns the string representation
6803func (s AwsService) String() string {
6804	return awsutil.Prettify(s)
6805}
6806
6807// GoString returns the string representation
6808func (s AwsService) GoString() string {
6809	return s.String()
6810}
6811
6812// SetInvokedBy sets the InvokedBy field's value.
6813func (s *AwsService) SetInvokedBy(v string) *AwsService {
6814	s.InvokedBy = &v
6815	return s
6816}
6817
6818// Provides information about a custom data identifier.
6819type BatchGetCustomDataIdentifierSummary struct {
6820	_ struct{} `type:"structure"`
6821
6822	Arn *string `locationName:"arn" type:"string"`
6823
6824	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"`
6825
6826	Deleted *bool `locationName:"deleted" type:"boolean"`
6827
6828	Description *string `locationName:"description" type:"string"`
6829
6830	Id *string `locationName:"id" type:"string"`
6831
6832	Name *string `locationName:"name" type:"string"`
6833}
6834
6835// String returns the string representation
6836func (s BatchGetCustomDataIdentifierSummary) String() string {
6837	return awsutil.Prettify(s)
6838}
6839
6840// GoString returns the string representation
6841func (s BatchGetCustomDataIdentifierSummary) GoString() string {
6842	return s.String()
6843}
6844
6845// SetArn sets the Arn field's value.
6846func (s *BatchGetCustomDataIdentifierSummary) SetArn(v string) *BatchGetCustomDataIdentifierSummary {
6847	s.Arn = &v
6848	return s
6849}
6850
6851// SetCreatedAt sets the CreatedAt field's value.
6852func (s *BatchGetCustomDataIdentifierSummary) SetCreatedAt(v time.Time) *BatchGetCustomDataIdentifierSummary {
6853	s.CreatedAt = &v
6854	return s
6855}
6856
6857// SetDeleted sets the Deleted field's value.
6858func (s *BatchGetCustomDataIdentifierSummary) SetDeleted(v bool) *BatchGetCustomDataIdentifierSummary {
6859	s.Deleted = &v
6860	return s
6861}
6862
6863// SetDescription sets the Description field's value.
6864func (s *BatchGetCustomDataIdentifierSummary) SetDescription(v string) *BatchGetCustomDataIdentifierSummary {
6865	s.Description = &v
6866	return s
6867}
6868
6869// SetId sets the Id field's value.
6870func (s *BatchGetCustomDataIdentifierSummary) SetId(v string) *BatchGetCustomDataIdentifierSummary {
6871	s.Id = &v
6872	return s
6873}
6874
6875// SetName sets the Name field's value.
6876func (s *BatchGetCustomDataIdentifierSummary) SetName(v string) *BatchGetCustomDataIdentifierSummary {
6877	s.Name = &v
6878	return s
6879}
6880
6881// Specifies one or more custom data identifiers to retrieve information about.
6882type BatchGetCustomDataIdentifiersInput struct {
6883	_ struct{} `type:"structure"`
6884
6885	Ids []*string `locationName:"ids" type:"list"`
6886}
6887
6888// String returns the string representation
6889func (s BatchGetCustomDataIdentifiersInput) String() string {
6890	return awsutil.Prettify(s)
6891}
6892
6893// GoString returns the string representation
6894func (s BatchGetCustomDataIdentifiersInput) GoString() string {
6895	return s.String()
6896}
6897
6898// SetIds sets the Ids field's value.
6899func (s *BatchGetCustomDataIdentifiersInput) SetIds(v []*string) *BatchGetCustomDataIdentifiersInput {
6900	s.Ids = v
6901	return s
6902}
6903
6904// Provides information about one or more custom data identifiers.
6905type BatchGetCustomDataIdentifiersOutput struct {
6906	_ struct{} `type:"structure"`
6907
6908	CustomDataIdentifiers []*BatchGetCustomDataIdentifierSummary `locationName:"customDataIdentifiers" type:"list"`
6909
6910	NotFoundIdentifierIds []*string `locationName:"notFoundIdentifierIds" type:"list"`
6911}
6912
6913// String returns the string representation
6914func (s BatchGetCustomDataIdentifiersOutput) String() string {
6915	return awsutil.Prettify(s)
6916}
6917
6918// GoString returns the string representation
6919func (s BatchGetCustomDataIdentifiersOutput) GoString() string {
6920	return s.String()
6921}
6922
6923// SetCustomDataIdentifiers sets the CustomDataIdentifiers field's value.
6924func (s *BatchGetCustomDataIdentifiersOutput) SetCustomDataIdentifiers(v []*BatchGetCustomDataIdentifierSummary) *BatchGetCustomDataIdentifiersOutput {
6925	s.CustomDataIdentifiers = v
6926	return s
6927}
6928
6929// SetNotFoundIdentifierIds sets the NotFoundIdentifierIds field's value.
6930func (s *BatchGetCustomDataIdentifiersOutput) SetNotFoundIdentifierIds(v []*string) *BatchGetCustomDataIdentifiersOutput {
6931	s.NotFoundIdentifierIds = v
6932	return s
6933}
6934
6935// Provides information about the block public access settings for an S3 bucket.
6936// These settings can apply to a bucket at the account level or bucket level.
6937// For detailed information about each setting, see Blocking public access to
6938// your Amazon S3 storage (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html)
6939// in the Amazon Simple Storage Service User Guide.
6940type BlockPublicAccess struct {
6941	_ struct{} `type:"structure"`
6942
6943	BlockPublicAcls *bool `locationName:"blockPublicAcls" type:"boolean"`
6944
6945	BlockPublicPolicy *bool `locationName:"blockPublicPolicy" type:"boolean"`
6946
6947	IgnorePublicAcls *bool `locationName:"ignorePublicAcls" type:"boolean"`
6948
6949	RestrictPublicBuckets *bool `locationName:"restrictPublicBuckets" type:"boolean"`
6950}
6951
6952// String returns the string representation
6953func (s BlockPublicAccess) String() string {
6954	return awsutil.Prettify(s)
6955}
6956
6957// GoString returns the string representation
6958func (s BlockPublicAccess) GoString() string {
6959	return s.String()
6960}
6961
6962// SetBlockPublicAcls sets the BlockPublicAcls field's value.
6963func (s *BlockPublicAccess) SetBlockPublicAcls(v bool) *BlockPublicAccess {
6964	s.BlockPublicAcls = &v
6965	return s
6966}
6967
6968// SetBlockPublicPolicy sets the BlockPublicPolicy field's value.
6969func (s *BlockPublicAccess) SetBlockPublicPolicy(v bool) *BlockPublicAccess {
6970	s.BlockPublicPolicy = &v
6971	return s
6972}
6973
6974// SetIgnorePublicAcls sets the IgnorePublicAcls field's value.
6975func (s *BlockPublicAccess) SetIgnorePublicAcls(v bool) *BlockPublicAccess {
6976	s.IgnorePublicAcls = &v
6977	return s
6978}
6979
6980// SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value.
6981func (s *BlockPublicAccess) SetRestrictPublicBuckets(v bool) *BlockPublicAccess {
6982	s.RestrictPublicBuckets = &v
6983	return s
6984}
6985
6986// Provides information about the number of S3 buckets that are publicly accessible
6987// based on a combination of permissions settings for each bucket.
6988type BucketCountByEffectivePermission struct {
6989	_ struct{} `type:"structure"`
6990
6991	PubliclyAccessible *int64 `locationName:"publiclyAccessible" type:"long"`
6992
6993	PubliclyReadable *int64 `locationName:"publiclyReadable" type:"long"`
6994
6995	PubliclyWritable *int64 `locationName:"publiclyWritable" type:"long"`
6996
6997	Unknown *int64 `locationName:"unknown" type:"long"`
6998}
6999
7000// String returns the string representation
7001func (s BucketCountByEffectivePermission) String() string {
7002	return awsutil.Prettify(s)
7003}
7004
7005// GoString returns the string representation
7006func (s BucketCountByEffectivePermission) GoString() string {
7007	return s.String()
7008}
7009
7010// SetPubliclyAccessible sets the PubliclyAccessible field's value.
7011func (s *BucketCountByEffectivePermission) SetPubliclyAccessible(v int64) *BucketCountByEffectivePermission {
7012	s.PubliclyAccessible = &v
7013	return s
7014}
7015
7016// SetPubliclyReadable sets the PubliclyReadable field's value.
7017func (s *BucketCountByEffectivePermission) SetPubliclyReadable(v int64) *BucketCountByEffectivePermission {
7018	s.PubliclyReadable = &v
7019	return s
7020}
7021
7022// SetPubliclyWritable sets the PubliclyWritable field's value.
7023func (s *BucketCountByEffectivePermission) SetPubliclyWritable(v int64) *BucketCountByEffectivePermission {
7024	s.PubliclyWritable = &v
7025	return s
7026}
7027
7028// SetUnknown sets the Unknown field's value.
7029func (s *BucketCountByEffectivePermission) SetUnknown(v int64) *BucketCountByEffectivePermission {
7030	s.Unknown = &v
7031	return s
7032}
7033
7034// Provides information about the number of S3 buckets that use certain types
7035// of server-side encryption by default or don't encrypt new objects by default.
7036// For detailed information about these settings, see Setting default server-side
7037// encryption behavior for Amazon S3 buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html)
7038// in the Amazon Simple Storage Service User Guide.
7039type BucketCountByEncryptionType struct {
7040	_ struct{} `type:"structure"`
7041
7042	KmsManaged *int64 `locationName:"kmsManaged" type:"long"`
7043
7044	S3Managed *int64 `locationName:"s3Managed" type:"long"`
7045
7046	Unencrypted *int64 `locationName:"unencrypted" type:"long"`
7047
7048	Unknown *int64 `locationName:"unknown" type:"long"`
7049}
7050
7051// String returns the string representation
7052func (s BucketCountByEncryptionType) String() string {
7053	return awsutil.Prettify(s)
7054}
7055
7056// GoString returns the string representation
7057func (s BucketCountByEncryptionType) GoString() string {
7058	return s.String()
7059}
7060
7061// SetKmsManaged sets the KmsManaged field's value.
7062func (s *BucketCountByEncryptionType) SetKmsManaged(v int64) *BucketCountByEncryptionType {
7063	s.KmsManaged = &v
7064	return s
7065}
7066
7067// SetS3Managed sets the S3Managed field's value.
7068func (s *BucketCountByEncryptionType) SetS3Managed(v int64) *BucketCountByEncryptionType {
7069	s.S3Managed = &v
7070	return s
7071}
7072
7073// SetUnencrypted sets the Unencrypted field's value.
7074func (s *BucketCountByEncryptionType) SetUnencrypted(v int64) *BucketCountByEncryptionType {
7075	s.Unencrypted = &v
7076	return s
7077}
7078
7079// SetUnknown sets the Unknown field's value.
7080func (s *BucketCountByEncryptionType) SetUnknown(v int64) *BucketCountByEncryptionType {
7081	s.Unknown = &v
7082	return s
7083}
7084
7085// Provides information about the number of S3 buckets that are or aren't shared
7086// with other Amazon Web Services accounts.
7087type BucketCountBySharedAccessType struct {
7088	_ struct{} `type:"structure"`
7089
7090	External *int64 `locationName:"external" type:"long"`
7091
7092	Internal *int64 `locationName:"internal" type:"long"`
7093
7094	NotShared *int64 `locationName:"notShared" type:"long"`
7095
7096	Unknown *int64 `locationName:"unknown" type:"long"`
7097}
7098
7099// String returns the string representation
7100func (s BucketCountBySharedAccessType) String() string {
7101	return awsutil.Prettify(s)
7102}
7103
7104// GoString returns the string representation
7105func (s BucketCountBySharedAccessType) GoString() string {
7106	return s.String()
7107}
7108
7109// SetExternal sets the External field's value.
7110func (s *BucketCountBySharedAccessType) SetExternal(v int64) *BucketCountBySharedAccessType {
7111	s.External = &v
7112	return s
7113}
7114
7115// SetInternal sets the Internal field's value.
7116func (s *BucketCountBySharedAccessType) SetInternal(v int64) *BucketCountBySharedAccessType {
7117	s.Internal = &v
7118	return s
7119}
7120
7121// SetNotShared sets the NotShared field's value.
7122func (s *BucketCountBySharedAccessType) SetNotShared(v int64) *BucketCountBySharedAccessType {
7123	s.NotShared = &v
7124	return s
7125}
7126
7127// SetUnknown sets the Unknown field's value.
7128func (s *BucketCountBySharedAccessType) SetUnknown(v int64) *BucketCountBySharedAccessType {
7129	s.Unknown = &v
7130	return s
7131}
7132
7133// Provides information about the number of S3 buckets whose bucket policies
7134// do or don't require server-side encryption of objects when objects are uploaded
7135// to the buckets.
7136type BucketCountPolicyAllowsUnencryptedObjectUploads struct {
7137	_ struct{} `type:"structure"`
7138
7139	AllowsUnencryptedObjectUploads *int64 `locationName:"allowsUnencryptedObjectUploads" type:"long"`
7140
7141	DeniesUnencryptedObjectUploads *int64 `locationName:"deniesUnencryptedObjectUploads" type:"long"`
7142
7143	Unknown *int64 `locationName:"unknown" type:"long"`
7144}
7145
7146// String returns the string representation
7147func (s BucketCountPolicyAllowsUnencryptedObjectUploads) String() string {
7148	return awsutil.Prettify(s)
7149}
7150
7151// GoString returns the string representation
7152func (s BucketCountPolicyAllowsUnencryptedObjectUploads) GoString() string {
7153	return s.String()
7154}
7155
7156// SetAllowsUnencryptedObjectUploads sets the AllowsUnencryptedObjectUploads field's value.
7157func (s *BucketCountPolicyAllowsUnencryptedObjectUploads) SetAllowsUnencryptedObjectUploads(v int64) *BucketCountPolicyAllowsUnencryptedObjectUploads {
7158	s.AllowsUnencryptedObjectUploads = &v
7159	return s
7160}
7161
7162// SetDeniesUnencryptedObjectUploads sets the DeniesUnencryptedObjectUploads field's value.
7163func (s *BucketCountPolicyAllowsUnencryptedObjectUploads) SetDeniesUnencryptedObjectUploads(v int64) *BucketCountPolicyAllowsUnencryptedObjectUploads {
7164	s.DeniesUnencryptedObjectUploads = &v
7165	return s
7166}
7167
7168// SetUnknown sets the Unknown field's value.
7169func (s *BucketCountPolicyAllowsUnencryptedObjectUploads) SetUnknown(v int64) *BucketCountPolicyAllowsUnencryptedObjectUploads {
7170	s.Unknown = &v
7171	return s
7172}
7173
7174// Specifies the operator to use in a property-based condition that filters
7175// the results of a query for information about S3 buckets.
7176type BucketCriteriaAdditionalProperties struct {
7177	_ struct{} `type:"structure"`
7178
7179	Eq []*string `locationName:"eq" type:"list"`
7180
7181	Gt *int64 `locationName:"gt" type:"long"`
7182
7183	Gte *int64 `locationName:"gte" type:"long"`
7184
7185	Lt *int64 `locationName:"lt" type:"long"`
7186
7187	Lte *int64 `locationName:"lte" type:"long"`
7188
7189	Neq []*string `locationName:"neq" type:"list"`
7190
7191	Prefix *string `locationName:"prefix" type:"string"`
7192}
7193
7194// String returns the string representation
7195func (s BucketCriteriaAdditionalProperties) String() string {
7196	return awsutil.Prettify(s)
7197}
7198
7199// GoString returns the string representation
7200func (s BucketCriteriaAdditionalProperties) GoString() string {
7201	return s.String()
7202}
7203
7204// SetEq sets the Eq field's value.
7205func (s *BucketCriteriaAdditionalProperties) SetEq(v []*string) *BucketCriteriaAdditionalProperties {
7206	s.Eq = v
7207	return s
7208}
7209
7210// SetGt sets the Gt field's value.
7211func (s *BucketCriteriaAdditionalProperties) SetGt(v int64) *BucketCriteriaAdditionalProperties {
7212	s.Gt = &v
7213	return s
7214}
7215
7216// SetGte sets the Gte field's value.
7217func (s *BucketCriteriaAdditionalProperties) SetGte(v int64) *BucketCriteriaAdditionalProperties {
7218	s.Gte = &v
7219	return s
7220}
7221
7222// SetLt sets the Lt field's value.
7223func (s *BucketCriteriaAdditionalProperties) SetLt(v int64) *BucketCriteriaAdditionalProperties {
7224	s.Lt = &v
7225	return s
7226}
7227
7228// SetLte sets the Lte field's value.
7229func (s *BucketCriteriaAdditionalProperties) SetLte(v int64) *BucketCriteriaAdditionalProperties {
7230	s.Lte = &v
7231	return s
7232}
7233
7234// SetNeq sets the Neq field's value.
7235func (s *BucketCriteriaAdditionalProperties) SetNeq(v []*string) *BucketCriteriaAdditionalProperties {
7236	s.Neq = v
7237	return s
7238}
7239
7240// SetPrefix sets the Prefix field's value.
7241func (s *BucketCriteriaAdditionalProperties) SetPrefix(v string) *BucketCriteriaAdditionalProperties {
7242	s.Prefix = &v
7243	return s
7244}
7245
7246// Provides information about the bucket-level permissions settings for an S3
7247// bucket.
7248type BucketLevelPermissions struct {
7249	_ struct{} `type:"structure"`
7250
7251	// Provides information about the permissions settings of the bucket-level access
7252	// control list (ACL) for an S3 bucket.
7253	AccessControlList *AccessControlList `locationName:"accessControlList" type:"structure"`
7254
7255	// Provides information about the block public access settings for an S3 bucket.
7256	// These settings can apply to a bucket at the account level or bucket level.
7257	// For detailed information about each setting, see Blocking public access to
7258	// your Amazon S3 storage (https://docs.aws.amazon.com/AmazonS3/latest/userguide/access-control-block-public-access.html)
7259	// in the Amazon Simple Storage Service User Guide.
7260	BlockPublicAccess *BlockPublicAccess `locationName:"blockPublicAccess" type:"structure"`
7261
7262	// Provides information about the permissions settings of the bucket policy
7263	// for an S3 bucket.
7264	BucketPolicy *BucketPolicy `locationName:"bucketPolicy" type:"structure"`
7265}
7266
7267// String returns the string representation
7268func (s BucketLevelPermissions) String() string {
7269	return awsutil.Prettify(s)
7270}
7271
7272// GoString returns the string representation
7273func (s BucketLevelPermissions) GoString() string {
7274	return s.String()
7275}
7276
7277// SetAccessControlList sets the AccessControlList field's value.
7278func (s *BucketLevelPermissions) SetAccessControlList(v *AccessControlList) *BucketLevelPermissions {
7279	s.AccessControlList = v
7280	return s
7281}
7282
7283// SetBlockPublicAccess sets the BlockPublicAccess field's value.
7284func (s *BucketLevelPermissions) SetBlockPublicAccess(v *BlockPublicAccess) *BucketLevelPermissions {
7285	s.BlockPublicAccess = v
7286	return s
7287}
7288
7289// SetBucketPolicy sets the BucketPolicy field's value.
7290func (s *BucketLevelPermissions) SetBucketPolicy(v *BucketPolicy) *BucketLevelPermissions {
7291	s.BucketPolicy = v
7292	return s
7293}
7294
7295// Provides information about an S3 bucket that Amazon Macie monitors and analyzes.
7296type BucketMetadata struct {
7297	_ struct{} `type:"structure"`
7298
7299	AccountId *string `locationName:"accountId" type:"string"`
7300
7301	AllowsUnencryptedObjectUploads *string `locationName:"allowsUnencryptedObjectUploads" type:"string" enum:"AllowsUnencryptedObjectUploads"`
7302
7303	BucketArn *string `locationName:"bucketArn" type:"string"`
7304
7305	BucketCreatedAt *time.Time `locationName:"bucketCreatedAt" type:"timestamp" timestampFormat:"iso8601"`
7306
7307	BucketName *string `locationName:"bucketName" type:"string"`
7308
7309	ClassifiableObjectCount *int64 `locationName:"classifiableObjectCount" type:"long"`
7310
7311	ClassifiableSizeInBytes *int64 `locationName:"classifiableSizeInBytes" type:"long"`
7312
7313	// Specifies whether any one-time or recurring classification jobs are configured
7314	// to analyze data in an S3 bucket, and, if so, the details of the job that
7315	// ran most recently.
7316	JobDetails *JobDetails `locationName:"jobDetails" type:"structure"`
7317
7318	LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp" timestampFormat:"iso8601"`
7319
7320	ObjectCount *int64 `locationName:"objectCount" type:"long"`
7321
7322	// Provides information about the number of objects that are in an S3 bucket
7323	// and use certain types of server-side encryption, use client-side encryption,
7324	// or aren't encrypted.
7325	ObjectCountByEncryptionType *ObjectCountByEncryptionType `locationName:"objectCountByEncryptionType" type:"structure"`
7326
7327	// Provides information about the permissions settings that determine whether
7328	// an S3 bucket is publicly accessible.
7329	PublicAccess *BucketPublicAccess `locationName:"publicAccess" type:"structure"`
7330
7331	Region *string `locationName:"region" type:"string"`
7332
7333	// Provides information about settings that define whether one or more objects
7334	// in an S3 bucket are replicated to S3 buckets for other Amazon Web Services
7335	// accounts and, if so, which accounts.
7336	ReplicationDetails *ReplicationDetails `locationName:"replicationDetails" type:"structure"`
7337
7338	// Provides information about the default server-side encryption settings for
7339	// an S3 bucket. For detailed information about these settings, see Setting
7340	// default server-side encryption behavior for Amazon S3 buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html)
7341	// in the Amazon Simple Storage Service User Guide.
7342	ServerSideEncryption *BucketServerSideEncryption `locationName:"serverSideEncryption" type:"structure"`
7343
7344	SharedAccess *string `locationName:"sharedAccess" type:"string" enum:"SharedAccess"`
7345
7346	SizeInBytes *int64 `locationName:"sizeInBytes" type:"long"`
7347
7348	SizeInBytesCompressed *int64 `locationName:"sizeInBytesCompressed" type:"long"`
7349
7350	Tags []*KeyValuePair `locationName:"tags" type:"list"`
7351
7352	// Provides information about the total storage size (in bytes) or number of
7353	// objects that Amazon Macie can't analyze in one or more S3 buckets. In a BucketMetadata
7354	// or MatchingBucket object, this data is for a specific bucket. In a GetBucketStatisticsResponse
7355	// object, this data is aggregated for all the buckets in the query results.
7356	// If versioning is enabled for a bucket, total storage size values are based
7357	// on the size of the latest version of each applicable object in the bucket.
7358	UnclassifiableObjectCount *ObjectLevelStatistics `locationName:"unclassifiableObjectCount" type:"structure"`
7359
7360	// Provides information about the total storage size (in bytes) or number of
7361	// objects that Amazon Macie can't analyze in one or more S3 buckets. In a BucketMetadata
7362	// or MatchingBucket object, this data is for a specific bucket. In a GetBucketStatisticsResponse
7363	// object, this data is aggregated for all the buckets in the query results.
7364	// If versioning is enabled for a bucket, total storage size values are based
7365	// on the size of the latest version of each applicable object in the bucket.
7366	UnclassifiableObjectSizeInBytes *ObjectLevelStatistics `locationName:"unclassifiableObjectSizeInBytes" type:"structure"`
7367
7368	Versioning *bool `locationName:"versioning" type:"boolean"`
7369}
7370
7371// String returns the string representation
7372func (s BucketMetadata) String() string {
7373	return awsutil.Prettify(s)
7374}
7375
7376// GoString returns the string representation
7377func (s BucketMetadata) GoString() string {
7378	return s.String()
7379}
7380
7381// SetAccountId sets the AccountId field's value.
7382func (s *BucketMetadata) SetAccountId(v string) *BucketMetadata {
7383	s.AccountId = &v
7384	return s
7385}
7386
7387// SetAllowsUnencryptedObjectUploads sets the AllowsUnencryptedObjectUploads field's value.
7388func (s *BucketMetadata) SetAllowsUnencryptedObjectUploads(v string) *BucketMetadata {
7389	s.AllowsUnencryptedObjectUploads = &v
7390	return s
7391}
7392
7393// SetBucketArn sets the BucketArn field's value.
7394func (s *BucketMetadata) SetBucketArn(v string) *BucketMetadata {
7395	s.BucketArn = &v
7396	return s
7397}
7398
7399// SetBucketCreatedAt sets the BucketCreatedAt field's value.
7400func (s *BucketMetadata) SetBucketCreatedAt(v time.Time) *BucketMetadata {
7401	s.BucketCreatedAt = &v
7402	return s
7403}
7404
7405// SetBucketName sets the BucketName field's value.
7406func (s *BucketMetadata) SetBucketName(v string) *BucketMetadata {
7407	s.BucketName = &v
7408	return s
7409}
7410
7411// SetClassifiableObjectCount sets the ClassifiableObjectCount field's value.
7412func (s *BucketMetadata) SetClassifiableObjectCount(v int64) *BucketMetadata {
7413	s.ClassifiableObjectCount = &v
7414	return s
7415}
7416
7417// SetClassifiableSizeInBytes sets the ClassifiableSizeInBytes field's value.
7418func (s *BucketMetadata) SetClassifiableSizeInBytes(v int64) *BucketMetadata {
7419	s.ClassifiableSizeInBytes = &v
7420	return s
7421}
7422
7423// SetJobDetails sets the JobDetails field's value.
7424func (s *BucketMetadata) SetJobDetails(v *JobDetails) *BucketMetadata {
7425	s.JobDetails = v
7426	return s
7427}
7428
7429// SetLastUpdated sets the LastUpdated field's value.
7430func (s *BucketMetadata) SetLastUpdated(v time.Time) *BucketMetadata {
7431	s.LastUpdated = &v
7432	return s
7433}
7434
7435// SetObjectCount sets the ObjectCount field's value.
7436func (s *BucketMetadata) SetObjectCount(v int64) *BucketMetadata {
7437	s.ObjectCount = &v
7438	return s
7439}
7440
7441// SetObjectCountByEncryptionType sets the ObjectCountByEncryptionType field's value.
7442func (s *BucketMetadata) SetObjectCountByEncryptionType(v *ObjectCountByEncryptionType) *BucketMetadata {
7443	s.ObjectCountByEncryptionType = v
7444	return s
7445}
7446
7447// SetPublicAccess sets the PublicAccess field's value.
7448func (s *BucketMetadata) SetPublicAccess(v *BucketPublicAccess) *BucketMetadata {
7449	s.PublicAccess = v
7450	return s
7451}
7452
7453// SetRegion sets the Region field's value.
7454func (s *BucketMetadata) SetRegion(v string) *BucketMetadata {
7455	s.Region = &v
7456	return s
7457}
7458
7459// SetReplicationDetails sets the ReplicationDetails field's value.
7460func (s *BucketMetadata) SetReplicationDetails(v *ReplicationDetails) *BucketMetadata {
7461	s.ReplicationDetails = v
7462	return s
7463}
7464
7465// SetServerSideEncryption sets the ServerSideEncryption field's value.
7466func (s *BucketMetadata) SetServerSideEncryption(v *BucketServerSideEncryption) *BucketMetadata {
7467	s.ServerSideEncryption = v
7468	return s
7469}
7470
7471// SetSharedAccess sets the SharedAccess field's value.
7472func (s *BucketMetadata) SetSharedAccess(v string) *BucketMetadata {
7473	s.SharedAccess = &v
7474	return s
7475}
7476
7477// SetSizeInBytes sets the SizeInBytes field's value.
7478func (s *BucketMetadata) SetSizeInBytes(v int64) *BucketMetadata {
7479	s.SizeInBytes = &v
7480	return s
7481}
7482
7483// SetSizeInBytesCompressed sets the SizeInBytesCompressed field's value.
7484func (s *BucketMetadata) SetSizeInBytesCompressed(v int64) *BucketMetadata {
7485	s.SizeInBytesCompressed = &v
7486	return s
7487}
7488
7489// SetTags sets the Tags field's value.
7490func (s *BucketMetadata) SetTags(v []*KeyValuePair) *BucketMetadata {
7491	s.Tags = v
7492	return s
7493}
7494
7495// SetUnclassifiableObjectCount sets the UnclassifiableObjectCount field's value.
7496func (s *BucketMetadata) SetUnclassifiableObjectCount(v *ObjectLevelStatistics) *BucketMetadata {
7497	s.UnclassifiableObjectCount = v
7498	return s
7499}
7500
7501// SetUnclassifiableObjectSizeInBytes sets the UnclassifiableObjectSizeInBytes field's value.
7502func (s *BucketMetadata) SetUnclassifiableObjectSizeInBytes(v *ObjectLevelStatistics) *BucketMetadata {
7503	s.UnclassifiableObjectSizeInBytes = v
7504	return s
7505}
7506
7507// SetVersioning sets the Versioning field's value.
7508func (s *BucketMetadata) SetVersioning(v bool) *BucketMetadata {
7509	s.Versioning = &v
7510	return s
7511}
7512
7513// Provides information about the account-level and bucket-level permissions
7514// settings for an S3 bucket.
7515type BucketPermissionConfiguration struct {
7516	_ struct{} `type:"structure"`
7517
7518	// Provides information about the account-level permissions settings that apply
7519	// to an S3 bucket.
7520	AccountLevelPermissions *AccountLevelPermissions `locationName:"accountLevelPermissions" type:"structure"`
7521
7522	// Provides information about the bucket-level permissions settings for an S3
7523	// bucket.
7524	BucketLevelPermissions *BucketLevelPermissions `locationName:"bucketLevelPermissions" type:"structure"`
7525}
7526
7527// String returns the string representation
7528func (s BucketPermissionConfiguration) String() string {
7529	return awsutil.Prettify(s)
7530}
7531
7532// GoString returns the string representation
7533func (s BucketPermissionConfiguration) GoString() string {
7534	return s.String()
7535}
7536
7537// SetAccountLevelPermissions sets the AccountLevelPermissions field's value.
7538func (s *BucketPermissionConfiguration) SetAccountLevelPermissions(v *AccountLevelPermissions) *BucketPermissionConfiguration {
7539	s.AccountLevelPermissions = v
7540	return s
7541}
7542
7543// SetBucketLevelPermissions sets the BucketLevelPermissions field's value.
7544func (s *BucketPermissionConfiguration) SetBucketLevelPermissions(v *BucketLevelPermissions) *BucketPermissionConfiguration {
7545	s.BucketLevelPermissions = v
7546	return s
7547}
7548
7549// Provides information about the permissions settings of the bucket policy
7550// for an S3 bucket.
7551type BucketPolicy struct {
7552	_ struct{} `type:"structure"`
7553
7554	AllowsPublicReadAccess *bool `locationName:"allowsPublicReadAccess" type:"boolean"`
7555
7556	AllowsPublicWriteAccess *bool `locationName:"allowsPublicWriteAccess" type:"boolean"`
7557}
7558
7559// String returns the string representation
7560func (s BucketPolicy) String() string {
7561	return awsutil.Prettify(s)
7562}
7563
7564// GoString returns the string representation
7565func (s BucketPolicy) GoString() string {
7566	return s.String()
7567}
7568
7569// SetAllowsPublicReadAccess sets the AllowsPublicReadAccess field's value.
7570func (s *BucketPolicy) SetAllowsPublicReadAccess(v bool) *BucketPolicy {
7571	s.AllowsPublicReadAccess = &v
7572	return s
7573}
7574
7575// SetAllowsPublicWriteAccess sets the AllowsPublicWriteAccess field's value.
7576func (s *BucketPolicy) SetAllowsPublicWriteAccess(v bool) *BucketPolicy {
7577	s.AllowsPublicWriteAccess = &v
7578	return s
7579}
7580
7581// Provides information about the permissions settings that determine whether
7582// an S3 bucket is publicly accessible.
7583type BucketPublicAccess struct {
7584	_ struct{} `type:"structure"`
7585
7586	EffectivePermission *string `locationName:"effectivePermission" type:"string" enum:"EffectivePermission"`
7587
7588	// Provides information about the account-level and bucket-level permissions
7589	// settings for an S3 bucket.
7590	PermissionConfiguration *BucketPermissionConfiguration `locationName:"permissionConfiguration" type:"structure"`
7591}
7592
7593// String returns the string representation
7594func (s BucketPublicAccess) String() string {
7595	return awsutil.Prettify(s)
7596}
7597
7598// GoString returns the string representation
7599func (s BucketPublicAccess) GoString() string {
7600	return s.String()
7601}
7602
7603// SetEffectivePermission sets the EffectivePermission field's value.
7604func (s *BucketPublicAccess) SetEffectivePermission(v string) *BucketPublicAccess {
7605	s.EffectivePermission = &v
7606	return s
7607}
7608
7609// SetPermissionConfiguration sets the PermissionConfiguration field's value.
7610func (s *BucketPublicAccess) SetPermissionConfiguration(v *BucketPermissionConfiguration) *BucketPublicAccess {
7611	s.PermissionConfiguration = v
7612	return s
7613}
7614
7615// Provides information about the default server-side encryption settings for
7616// an S3 bucket. For detailed information about these settings, see Setting
7617// default server-side encryption behavior for Amazon S3 buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html)
7618// in the Amazon Simple Storage Service User Guide.
7619type BucketServerSideEncryption struct {
7620	_ struct{} `type:"structure"`
7621
7622	KmsMasterKeyId *string `locationName:"kmsMasterKeyId" type:"string"`
7623
7624	Type *string `locationName:"type" type:"string" enum:"Type"`
7625}
7626
7627// String returns the string representation
7628func (s BucketServerSideEncryption) String() string {
7629	return awsutil.Prettify(s)
7630}
7631
7632// GoString returns the string representation
7633func (s BucketServerSideEncryption) GoString() string {
7634	return s.String()
7635}
7636
7637// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
7638func (s *BucketServerSideEncryption) SetKmsMasterKeyId(v string) *BucketServerSideEncryption {
7639	s.KmsMasterKeyId = &v
7640	return s
7641}
7642
7643// SetType sets the Type field's value.
7644func (s *BucketServerSideEncryption) SetType(v string) *BucketServerSideEncryption {
7645	s.Type = &v
7646	return s
7647}
7648
7649// Specifies criteria for sorting the results of a query for information about
7650// S3 buckets.
7651type BucketSortCriteria struct {
7652	_ struct{} `type:"structure"`
7653
7654	AttributeName *string `locationName:"attributeName" type:"string"`
7655
7656	OrderBy *string `locationName:"orderBy" type:"string" enum:"OrderBy"`
7657}
7658
7659// String returns the string representation
7660func (s BucketSortCriteria) String() string {
7661	return awsutil.Prettify(s)
7662}
7663
7664// GoString returns the string representation
7665func (s BucketSortCriteria) GoString() string {
7666	return s.String()
7667}
7668
7669// SetAttributeName sets the AttributeName field's value.
7670func (s *BucketSortCriteria) SetAttributeName(v string) *BucketSortCriteria {
7671	s.AttributeName = &v
7672	return s
7673}
7674
7675// SetOrderBy sets the OrderBy field's value.
7676func (s *BucketSortCriteria) SetOrderBy(v string) *BucketSortCriteria {
7677	s.OrderBy = &v
7678	return s
7679}
7680
7681// Specifies the location of an occurrence of sensitive data in a Microsoft
7682// Excel workbook, CSV file, or TSV file.
7683type Cell struct {
7684	_ struct{} `type:"structure"`
7685
7686	CellReference *string `locationName:"cellReference" type:"string"`
7687
7688	Column *int64 `locationName:"column" type:"long"`
7689
7690	ColumnName *string `locationName:"columnName" type:"string"`
7691
7692	Row *int64 `locationName:"row" type:"long"`
7693}
7694
7695// String returns the string representation
7696func (s Cell) String() string {
7697	return awsutil.Prettify(s)
7698}
7699
7700// GoString returns the string representation
7701func (s Cell) GoString() string {
7702	return s.String()
7703}
7704
7705// SetCellReference sets the CellReference field's value.
7706func (s *Cell) SetCellReference(v string) *Cell {
7707	s.CellReference = &v
7708	return s
7709}
7710
7711// SetColumn sets the Column field's value.
7712func (s *Cell) SetColumn(v int64) *Cell {
7713	s.Column = &v
7714	return s
7715}
7716
7717// SetColumnName sets the ColumnName field's value.
7718func (s *Cell) SetColumnName(v string) *Cell {
7719	s.ColumnName = &v
7720	return s
7721}
7722
7723// SetRow sets the Row field's value.
7724func (s *Cell) SetRow(v int64) *Cell {
7725	s.Row = &v
7726	return s
7727}
7728
7729// Provides information about a sensitive data finding, including the classification
7730// job that produced the finding.
7731type ClassificationDetails struct {
7732	_ struct{} `type:"structure"`
7733
7734	DetailedResultsLocation *string `locationName:"detailedResultsLocation" type:"string"`
7735
7736	JobArn *string `locationName:"jobArn" type:"string"`
7737
7738	JobId *string `locationName:"jobId" type:"string"`
7739
7740	// Provides the details of a sensitive data finding, including the types, number
7741	// of occurrences, and locations of the sensitive data that was detected.
7742	Result *ClassificationResult `locationName:"result" type:"structure"`
7743}
7744
7745// String returns the string representation
7746func (s ClassificationDetails) String() string {
7747	return awsutil.Prettify(s)
7748}
7749
7750// GoString returns the string representation
7751func (s ClassificationDetails) GoString() string {
7752	return s.String()
7753}
7754
7755// SetDetailedResultsLocation sets the DetailedResultsLocation field's value.
7756func (s *ClassificationDetails) SetDetailedResultsLocation(v string) *ClassificationDetails {
7757	s.DetailedResultsLocation = &v
7758	return s
7759}
7760
7761// SetJobArn sets the JobArn field's value.
7762func (s *ClassificationDetails) SetJobArn(v string) *ClassificationDetails {
7763	s.JobArn = &v
7764	return s
7765}
7766
7767// SetJobId sets the JobId field's value.
7768func (s *ClassificationDetails) SetJobId(v string) *ClassificationDetails {
7769	s.JobId = &v
7770	return s
7771}
7772
7773// SetResult sets the Result field's value.
7774func (s *ClassificationDetails) SetResult(v *ClassificationResult) *ClassificationDetails {
7775	s.Result = v
7776	return s
7777}
7778
7779// Specifies where to store data classification results, and the encryption
7780// settings to use when storing results in that location. Currently, you can
7781// store classification results only in an S3 bucket.
7782type ClassificationExportConfiguration struct {
7783	_ struct{} `type:"structure"`
7784
7785	// Specifies an S3 bucket to store data classification results in, and the encryption
7786	// settings to use when storing results in that bucket.
7787	S3Destination *S3Destination `locationName:"s3Destination" type:"structure"`
7788}
7789
7790// String returns the string representation
7791func (s ClassificationExportConfiguration) String() string {
7792	return awsutil.Prettify(s)
7793}
7794
7795// GoString returns the string representation
7796func (s ClassificationExportConfiguration) GoString() string {
7797	return s.String()
7798}
7799
7800// Validate inspects the fields of the type to determine if they are valid.
7801func (s *ClassificationExportConfiguration) Validate() error {
7802	invalidParams := request.ErrInvalidParams{Context: "ClassificationExportConfiguration"}
7803	if s.S3Destination != nil {
7804		if err := s.S3Destination.Validate(); err != nil {
7805			invalidParams.AddNested("S3Destination", err.(request.ErrInvalidParams))
7806		}
7807	}
7808
7809	if invalidParams.Len() > 0 {
7810		return invalidParams
7811	}
7812	return nil
7813}
7814
7815// SetS3Destination sets the S3Destination field's value.
7816func (s *ClassificationExportConfiguration) SetS3Destination(v *S3Destination) *ClassificationExportConfiguration {
7817	s.S3Destination = v
7818	return s
7819}
7820
7821// Provides the details of a sensitive data finding, including the types, number
7822// of occurrences, and locations of the sensitive data that was detected.
7823type ClassificationResult struct {
7824	_ struct{} `type:"structure"`
7825
7826	AdditionalOccurrences *bool `locationName:"additionalOccurrences" type:"boolean"`
7827
7828	// Provides information about custom data identifiers that produced a sensitive
7829	// data finding, and the number of occurrences of the data that they detected
7830	// for the finding.
7831	CustomDataIdentifiers *CustomDataIdentifiers `locationName:"customDataIdentifiers" type:"structure"`
7832
7833	MimeType *string `locationName:"mimeType" type:"string"`
7834
7835	// Provides information about the category and number of occurrences of sensitive
7836	// data that produced a finding.
7837	SensitiveData []*SensitiveDataItem `locationName:"sensitiveData" type:"list"`
7838
7839	SizeClassified *int64 `locationName:"sizeClassified" type:"long"`
7840
7841	// Provides information about the status of a sensitive data finding.
7842	Status *ClassificationResultStatus `locationName:"status" type:"structure"`
7843}
7844
7845// String returns the string representation
7846func (s ClassificationResult) String() string {
7847	return awsutil.Prettify(s)
7848}
7849
7850// GoString returns the string representation
7851func (s ClassificationResult) GoString() string {
7852	return s.String()
7853}
7854
7855// SetAdditionalOccurrences sets the AdditionalOccurrences field's value.
7856func (s *ClassificationResult) SetAdditionalOccurrences(v bool) *ClassificationResult {
7857	s.AdditionalOccurrences = &v
7858	return s
7859}
7860
7861// SetCustomDataIdentifiers sets the CustomDataIdentifiers field's value.
7862func (s *ClassificationResult) SetCustomDataIdentifiers(v *CustomDataIdentifiers) *ClassificationResult {
7863	s.CustomDataIdentifiers = v
7864	return s
7865}
7866
7867// SetMimeType sets the MimeType field's value.
7868func (s *ClassificationResult) SetMimeType(v string) *ClassificationResult {
7869	s.MimeType = &v
7870	return s
7871}
7872
7873// SetSensitiveData sets the SensitiveData field's value.
7874func (s *ClassificationResult) SetSensitiveData(v []*SensitiveDataItem) *ClassificationResult {
7875	s.SensitiveData = v
7876	return s
7877}
7878
7879// SetSizeClassified sets the SizeClassified field's value.
7880func (s *ClassificationResult) SetSizeClassified(v int64) *ClassificationResult {
7881	s.SizeClassified = &v
7882	return s
7883}
7884
7885// SetStatus sets the Status field's value.
7886func (s *ClassificationResult) SetStatus(v *ClassificationResultStatus) *ClassificationResult {
7887	s.Status = v
7888	return s
7889}
7890
7891// Provides information about the status of a sensitive data finding.
7892type ClassificationResultStatus struct {
7893	_ struct{} `type:"structure"`
7894
7895	Code *string `locationName:"code" type:"string"`
7896
7897	Reason *string `locationName:"reason" type:"string"`
7898}
7899
7900// String returns the string representation
7901func (s ClassificationResultStatus) String() string {
7902	return awsutil.Prettify(s)
7903}
7904
7905// GoString returns the string representation
7906func (s ClassificationResultStatus) GoString() string {
7907	return s.String()
7908}
7909
7910// SetCode sets the Code field's value.
7911func (s *ClassificationResultStatus) SetCode(v string) *ClassificationResultStatus {
7912	s.Code = &v
7913	return s
7914}
7915
7916// SetReason sets the Reason field's value.
7917func (s *ClassificationResultStatus) SetReason(v string) *ClassificationResultStatus {
7918	s.Reason = &v
7919	return s
7920}
7921
7922// Provides information about an error that occurred due to a versioning conflict
7923// for a specified resource.
7924type ConflictException struct {
7925	_            struct{}                  `type:"structure"`
7926	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
7927
7928	Message_ *string `locationName:"message" type:"string"`
7929}
7930
7931// String returns the string representation
7932func (s ConflictException) String() string {
7933	return awsutil.Prettify(s)
7934}
7935
7936// GoString returns the string representation
7937func (s ConflictException) GoString() string {
7938	return s.String()
7939}
7940
7941func newErrorConflictException(v protocol.ResponseMetadata) error {
7942	return &ConflictException{
7943		RespMetadata: v,
7944	}
7945}
7946
7947// Code returns the exception type name.
7948func (s *ConflictException) Code() string {
7949	return "ConflictException"
7950}
7951
7952// Message returns the exception's message.
7953func (s *ConflictException) Message() string {
7954	if s.Message_ != nil {
7955		return *s.Message_
7956	}
7957	return ""
7958}
7959
7960// OrigErr always returns nil, satisfies awserr.Error interface.
7961func (s *ConflictException) OrigErr() error {
7962	return nil
7963}
7964
7965func (s *ConflictException) Error() string {
7966	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
7967}
7968
7969// Status code returns the HTTP status code for the request's response error.
7970func (s *ConflictException) StatusCode() int {
7971	return s.RespMetadata.StatusCode
7972}
7973
7974// RequestID returns the service's response RequestID for request.
7975func (s *ConflictException) RequestID() string {
7976	return s.RespMetadata.RequestID
7977}
7978
7979// Specifies the scope, schedule, and other settings for a classification job.
7980// You can't change any settings for a classification job after you create it.
7981// This helps ensure that you have an immutable history of sensitive data findings
7982// and discovery results for data privacy and protection audits or investigations.
7983type CreateClassificationJobInput struct {
7984	_ struct{} `type:"structure"`
7985
7986	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
7987
7988	CustomDataIdentifierIds []*string `locationName:"customDataIdentifierIds" type:"list"`
7989
7990	Description *string `locationName:"description" type:"string"`
7991
7992	InitialRun *bool `locationName:"initialRun" type:"boolean"`
7993
7994	// The schedule for running a classification job. Valid values are:
7995	//
7996	// JobType is a required field
7997	JobType *string `locationName:"jobType" type:"string" required:"true" enum:"JobType"`
7998
7999	// Name is a required field
8000	Name *string `locationName:"name" type:"string" required:"true"`
8001
8002	// Specifies which S3 buckets contain the objects that a classification job
8003	// analyzes, and the scope of that analysis. The bucket specification can be
8004	// static (bucketDefinitions) or dynamic (bucketCriteria). If it's static, the
8005	// job analyzes objects in the same predefined set of buckets each time the
8006	// job runs. If it's dynamic, the job analyzes objects in any buckets that match
8007	// the specified criteria each time the job starts to run.
8008	//
8009	// S3JobDefinition is a required field
8010	S3JobDefinition *S3JobDefinition `locationName:"s3JobDefinition" type:"structure" required:"true"`
8011
8012	SamplingPercentage *int64 `locationName:"samplingPercentage" type:"integer"`
8013
8014	// Specifies the recurrence pattern for running a classification job.
8015	ScheduleFrequency *JobScheduleFrequency `locationName:"scheduleFrequency" type:"structure"`
8016
8017	// A string-to-string map of key-value pairs that specifies the tags (keys and
8018	// values) for a classification job, custom data identifier, findings filter,
8019	// or member account.
8020	Tags map[string]*string `locationName:"tags" type:"map"`
8021}
8022
8023// String returns the string representation
8024func (s CreateClassificationJobInput) String() string {
8025	return awsutil.Prettify(s)
8026}
8027
8028// GoString returns the string representation
8029func (s CreateClassificationJobInput) GoString() string {
8030	return s.String()
8031}
8032
8033// Validate inspects the fields of the type to determine if they are valid.
8034func (s *CreateClassificationJobInput) Validate() error {
8035	invalidParams := request.ErrInvalidParams{Context: "CreateClassificationJobInput"}
8036	if s.JobType == nil {
8037		invalidParams.Add(request.NewErrParamRequired("JobType"))
8038	}
8039	if s.Name == nil {
8040		invalidParams.Add(request.NewErrParamRequired("Name"))
8041	}
8042	if s.S3JobDefinition == nil {
8043		invalidParams.Add(request.NewErrParamRequired("S3JobDefinition"))
8044	}
8045	if s.S3JobDefinition != nil {
8046		if err := s.S3JobDefinition.Validate(); err != nil {
8047			invalidParams.AddNested("S3JobDefinition", err.(request.ErrInvalidParams))
8048		}
8049	}
8050
8051	if invalidParams.Len() > 0 {
8052		return invalidParams
8053	}
8054	return nil
8055}
8056
8057// SetClientToken sets the ClientToken field's value.
8058func (s *CreateClassificationJobInput) SetClientToken(v string) *CreateClassificationJobInput {
8059	s.ClientToken = &v
8060	return s
8061}
8062
8063// SetCustomDataIdentifierIds sets the CustomDataIdentifierIds field's value.
8064func (s *CreateClassificationJobInput) SetCustomDataIdentifierIds(v []*string) *CreateClassificationJobInput {
8065	s.CustomDataIdentifierIds = v
8066	return s
8067}
8068
8069// SetDescription sets the Description field's value.
8070func (s *CreateClassificationJobInput) SetDescription(v string) *CreateClassificationJobInput {
8071	s.Description = &v
8072	return s
8073}
8074
8075// SetInitialRun sets the InitialRun field's value.
8076func (s *CreateClassificationJobInput) SetInitialRun(v bool) *CreateClassificationJobInput {
8077	s.InitialRun = &v
8078	return s
8079}
8080
8081// SetJobType sets the JobType field's value.
8082func (s *CreateClassificationJobInput) SetJobType(v string) *CreateClassificationJobInput {
8083	s.JobType = &v
8084	return s
8085}
8086
8087// SetName sets the Name field's value.
8088func (s *CreateClassificationJobInput) SetName(v string) *CreateClassificationJobInput {
8089	s.Name = &v
8090	return s
8091}
8092
8093// SetS3JobDefinition sets the S3JobDefinition field's value.
8094func (s *CreateClassificationJobInput) SetS3JobDefinition(v *S3JobDefinition) *CreateClassificationJobInput {
8095	s.S3JobDefinition = v
8096	return s
8097}
8098
8099// SetSamplingPercentage sets the SamplingPercentage field's value.
8100func (s *CreateClassificationJobInput) SetSamplingPercentage(v int64) *CreateClassificationJobInput {
8101	s.SamplingPercentage = &v
8102	return s
8103}
8104
8105// SetScheduleFrequency sets the ScheduleFrequency field's value.
8106func (s *CreateClassificationJobInput) SetScheduleFrequency(v *JobScheduleFrequency) *CreateClassificationJobInput {
8107	s.ScheduleFrequency = v
8108	return s
8109}
8110
8111// SetTags sets the Tags field's value.
8112func (s *CreateClassificationJobInput) SetTags(v map[string]*string) *CreateClassificationJobInput {
8113	s.Tags = v
8114	return s
8115}
8116
8117// Provides information about a classification job that was created in response
8118// to a request.
8119type CreateClassificationJobOutput struct {
8120	_ struct{} `type:"structure"`
8121
8122	JobArn *string `locationName:"jobArn" type:"string"`
8123
8124	JobId *string `locationName:"jobId" type:"string"`
8125}
8126
8127// String returns the string representation
8128func (s CreateClassificationJobOutput) String() string {
8129	return awsutil.Prettify(s)
8130}
8131
8132// GoString returns the string representation
8133func (s CreateClassificationJobOutput) GoString() string {
8134	return s.String()
8135}
8136
8137// SetJobArn sets the JobArn field's value.
8138func (s *CreateClassificationJobOutput) SetJobArn(v string) *CreateClassificationJobOutput {
8139	s.JobArn = &v
8140	return s
8141}
8142
8143// SetJobId sets the JobId field's value.
8144func (s *CreateClassificationJobOutput) SetJobId(v string) *CreateClassificationJobOutput {
8145	s.JobId = &v
8146	return s
8147}
8148
8149// Specifies the criteria and other settings for a new custom data identifier.
8150// You can't change a custom data identifier after you create it. This helps
8151// ensure that you have an immutable history of sensitive data findings and
8152// discovery results for data privacy and protection audits or investigations.
8153type CreateCustomDataIdentifierInput struct {
8154	_ struct{} `type:"structure"`
8155
8156	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
8157
8158	Description *string `locationName:"description" type:"string"`
8159
8160	IgnoreWords []*string `locationName:"ignoreWords" type:"list"`
8161
8162	Keywords []*string `locationName:"keywords" type:"list"`
8163
8164	MaximumMatchDistance *int64 `locationName:"maximumMatchDistance" type:"integer"`
8165
8166	Name *string `locationName:"name" type:"string"`
8167
8168	Regex *string `locationName:"regex" type:"string"`
8169
8170	// A string-to-string map of key-value pairs that specifies the tags (keys and
8171	// values) for a classification job, custom data identifier, findings filter,
8172	// or member account.
8173	Tags map[string]*string `locationName:"tags" type:"map"`
8174}
8175
8176// String returns the string representation
8177func (s CreateCustomDataIdentifierInput) String() string {
8178	return awsutil.Prettify(s)
8179}
8180
8181// GoString returns the string representation
8182func (s CreateCustomDataIdentifierInput) GoString() string {
8183	return s.String()
8184}
8185
8186// SetClientToken sets the ClientToken field's value.
8187func (s *CreateCustomDataIdentifierInput) SetClientToken(v string) *CreateCustomDataIdentifierInput {
8188	s.ClientToken = &v
8189	return s
8190}
8191
8192// SetDescription sets the Description field's value.
8193func (s *CreateCustomDataIdentifierInput) SetDescription(v string) *CreateCustomDataIdentifierInput {
8194	s.Description = &v
8195	return s
8196}
8197
8198// SetIgnoreWords sets the IgnoreWords field's value.
8199func (s *CreateCustomDataIdentifierInput) SetIgnoreWords(v []*string) *CreateCustomDataIdentifierInput {
8200	s.IgnoreWords = v
8201	return s
8202}
8203
8204// SetKeywords sets the Keywords field's value.
8205func (s *CreateCustomDataIdentifierInput) SetKeywords(v []*string) *CreateCustomDataIdentifierInput {
8206	s.Keywords = v
8207	return s
8208}
8209
8210// SetMaximumMatchDistance sets the MaximumMatchDistance field's value.
8211func (s *CreateCustomDataIdentifierInput) SetMaximumMatchDistance(v int64) *CreateCustomDataIdentifierInput {
8212	s.MaximumMatchDistance = &v
8213	return s
8214}
8215
8216// SetName sets the Name field's value.
8217func (s *CreateCustomDataIdentifierInput) SetName(v string) *CreateCustomDataIdentifierInput {
8218	s.Name = &v
8219	return s
8220}
8221
8222// SetRegex sets the Regex field's value.
8223func (s *CreateCustomDataIdentifierInput) SetRegex(v string) *CreateCustomDataIdentifierInput {
8224	s.Regex = &v
8225	return s
8226}
8227
8228// SetTags sets the Tags field's value.
8229func (s *CreateCustomDataIdentifierInput) SetTags(v map[string]*string) *CreateCustomDataIdentifierInput {
8230	s.Tags = v
8231	return s
8232}
8233
8234// Provides information about a custom data identifier that was created in response
8235// to a request.
8236type CreateCustomDataIdentifierOutput struct {
8237	_ struct{} `type:"structure"`
8238
8239	CustomDataIdentifierId *string `locationName:"customDataIdentifierId" type:"string"`
8240}
8241
8242// String returns the string representation
8243func (s CreateCustomDataIdentifierOutput) String() string {
8244	return awsutil.Prettify(s)
8245}
8246
8247// GoString returns the string representation
8248func (s CreateCustomDataIdentifierOutput) GoString() string {
8249	return s.String()
8250}
8251
8252// SetCustomDataIdentifierId sets the CustomDataIdentifierId field's value.
8253func (s *CreateCustomDataIdentifierOutput) SetCustomDataIdentifierId(v string) *CreateCustomDataIdentifierOutput {
8254	s.CustomDataIdentifierId = &v
8255	return s
8256}
8257
8258// Specifies the criteria and other settings for a new findings filter.
8259type CreateFindingsFilterInput struct {
8260	_ struct{} `type:"structure"`
8261
8262	// The action to perform on findings that meet the filter criteria. To suppress
8263	// (automatically archive) findings that meet the criteria, set this value to
8264	// ARCHIVE. Valid values are:
8265	//
8266	// Action is a required field
8267	Action *string `locationName:"action" type:"string" required:"true" enum:"FindingsFilterAction"`
8268
8269	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
8270
8271	Description *string `locationName:"description" type:"string"`
8272
8273	// Specifies, as a map, one or more property-based conditions that filter the
8274	// results of a query for findings.
8275	//
8276	// FindingCriteria is a required field
8277	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure" required:"true"`
8278
8279	// Name is a required field
8280	Name *string `locationName:"name" type:"string" required:"true"`
8281
8282	Position *int64 `locationName:"position" type:"integer"`
8283
8284	// A string-to-string map of key-value pairs that specifies the tags (keys and
8285	// values) for a classification job, custom data identifier, findings filter,
8286	// or member account.
8287	Tags map[string]*string `locationName:"tags" type:"map"`
8288}
8289
8290// String returns the string representation
8291func (s CreateFindingsFilterInput) String() string {
8292	return awsutil.Prettify(s)
8293}
8294
8295// GoString returns the string representation
8296func (s CreateFindingsFilterInput) GoString() string {
8297	return s.String()
8298}
8299
8300// Validate inspects the fields of the type to determine if they are valid.
8301func (s *CreateFindingsFilterInput) Validate() error {
8302	invalidParams := request.ErrInvalidParams{Context: "CreateFindingsFilterInput"}
8303	if s.Action == nil {
8304		invalidParams.Add(request.NewErrParamRequired("Action"))
8305	}
8306	if s.FindingCriteria == nil {
8307		invalidParams.Add(request.NewErrParamRequired("FindingCriteria"))
8308	}
8309	if s.Name == nil {
8310		invalidParams.Add(request.NewErrParamRequired("Name"))
8311	}
8312
8313	if invalidParams.Len() > 0 {
8314		return invalidParams
8315	}
8316	return nil
8317}
8318
8319// SetAction sets the Action field's value.
8320func (s *CreateFindingsFilterInput) SetAction(v string) *CreateFindingsFilterInput {
8321	s.Action = &v
8322	return s
8323}
8324
8325// SetClientToken sets the ClientToken field's value.
8326func (s *CreateFindingsFilterInput) SetClientToken(v string) *CreateFindingsFilterInput {
8327	s.ClientToken = &v
8328	return s
8329}
8330
8331// SetDescription sets the Description field's value.
8332func (s *CreateFindingsFilterInput) SetDescription(v string) *CreateFindingsFilterInput {
8333	s.Description = &v
8334	return s
8335}
8336
8337// SetFindingCriteria sets the FindingCriteria field's value.
8338func (s *CreateFindingsFilterInput) SetFindingCriteria(v *FindingCriteria) *CreateFindingsFilterInput {
8339	s.FindingCriteria = v
8340	return s
8341}
8342
8343// SetName sets the Name field's value.
8344func (s *CreateFindingsFilterInput) SetName(v string) *CreateFindingsFilterInput {
8345	s.Name = &v
8346	return s
8347}
8348
8349// SetPosition sets the Position field's value.
8350func (s *CreateFindingsFilterInput) SetPosition(v int64) *CreateFindingsFilterInput {
8351	s.Position = &v
8352	return s
8353}
8354
8355// SetTags sets the Tags field's value.
8356func (s *CreateFindingsFilterInput) SetTags(v map[string]*string) *CreateFindingsFilterInput {
8357	s.Tags = v
8358	return s
8359}
8360
8361// Provides information about a findings filter that was created in response
8362// to a request.
8363type CreateFindingsFilterOutput struct {
8364	_ struct{} `type:"structure"`
8365
8366	Arn *string `locationName:"arn" type:"string"`
8367
8368	Id *string `locationName:"id" type:"string"`
8369}
8370
8371// String returns the string representation
8372func (s CreateFindingsFilterOutput) String() string {
8373	return awsutil.Prettify(s)
8374}
8375
8376// GoString returns the string representation
8377func (s CreateFindingsFilterOutput) GoString() string {
8378	return s.String()
8379}
8380
8381// SetArn sets the Arn field's value.
8382func (s *CreateFindingsFilterOutput) SetArn(v string) *CreateFindingsFilterOutput {
8383	s.Arn = &v
8384	return s
8385}
8386
8387// SetId sets the Id field's value.
8388func (s *CreateFindingsFilterOutput) SetId(v string) *CreateFindingsFilterOutput {
8389	s.Id = &v
8390	return s
8391}
8392
8393// Specifies the settings for an Amazon Macie membership invitation.
8394type CreateInvitationsInput struct {
8395	_ struct{} `type:"structure"`
8396
8397	// AccountIds is a required field
8398	AccountIds []*string `locationName:"accountIds" type:"list" required:"true"`
8399
8400	DisableEmailNotification *bool `locationName:"disableEmailNotification" type:"boolean"`
8401
8402	Message *string `locationName:"message" type:"string"`
8403}
8404
8405// String returns the string representation
8406func (s CreateInvitationsInput) String() string {
8407	return awsutil.Prettify(s)
8408}
8409
8410// GoString returns the string representation
8411func (s CreateInvitationsInput) GoString() string {
8412	return s.String()
8413}
8414
8415// Validate inspects the fields of the type to determine if they are valid.
8416func (s *CreateInvitationsInput) Validate() error {
8417	invalidParams := request.ErrInvalidParams{Context: "CreateInvitationsInput"}
8418	if s.AccountIds == nil {
8419		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
8420	}
8421
8422	if invalidParams.Len() > 0 {
8423		return invalidParams
8424	}
8425	return nil
8426}
8427
8428// SetAccountIds sets the AccountIds field's value.
8429func (s *CreateInvitationsInput) SetAccountIds(v []*string) *CreateInvitationsInput {
8430	s.AccountIds = v
8431	return s
8432}
8433
8434// SetDisableEmailNotification sets the DisableEmailNotification field's value.
8435func (s *CreateInvitationsInput) SetDisableEmailNotification(v bool) *CreateInvitationsInput {
8436	s.DisableEmailNotification = &v
8437	return s
8438}
8439
8440// SetMessage sets the Message field's value.
8441func (s *CreateInvitationsInput) SetMessage(v string) *CreateInvitationsInput {
8442	s.Message = &v
8443	return s
8444}
8445
8446// Provides information about an unprocessed request to send an Amazon Macie
8447// membership invitation to a specific account.
8448type CreateInvitationsOutput struct {
8449	_ struct{} `type:"structure"`
8450
8451	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list"`
8452}
8453
8454// String returns the string representation
8455func (s CreateInvitationsOutput) String() string {
8456	return awsutil.Prettify(s)
8457}
8458
8459// GoString returns the string representation
8460func (s CreateInvitationsOutput) GoString() string {
8461	return s.String()
8462}
8463
8464// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
8465func (s *CreateInvitationsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *CreateInvitationsOutput {
8466	s.UnprocessedAccounts = v
8467	return s
8468}
8469
8470// Specifies an Amazon Web Services account to associate with an Amazon Macie
8471// administrator account.
8472type CreateMemberInput struct {
8473	_ struct{} `type:"structure"`
8474
8475	// Specifies the details of an account to associate with an Amazon Macie administrator
8476	// account.
8477	//
8478	// Account is a required field
8479	Account *AccountDetail `locationName:"account" type:"structure" required:"true"`
8480
8481	// A string-to-string map of key-value pairs that specifies the tags (keys and
8482	// values) for a classification job, custom data identifier, findings filter,
8483	// or member account.
8484	Tags map[string]*string `locationName:"tags" type:"map"`
8485}
8486
8487// String returns the string representation
8488func (s CreateMemberInput) String() string {
8489	return awsutil.Prettify(s)
8490}
8491
8492// GoString returns the string representation
8493func (s CreateMemberInput) GoString() string {
8494	return s.String()
8495}
8496
8497// Validate inspects the fields of the type to determine if they are valid.
8498func (s *CreateMemberInput) Validate() error {
8499	invalidParams := request.ErrInvalidParams{Context: "CreateMemberInput"}
8500	if s.Account == nil {
8501		invalidParams.Add(request.NewErrParamRequired("Account"))
8502	}
8503	if s.Account != nil {
8504		if err := s.Account.Validate(); err != nil {
8505			invalidParams.AddNested("Account", err.(request.ErrInvalidParams))
8506		}
8507	}
8508
8509	if invalidParams.Len() > 0 {
8510		return invalidParams
8511	}
8512	return nil
8513}
8514
8515// SetAccount sets the Account field's value.
8516func (s *CreateMemberInput) SetAccount(v *AccountDetail) *CreateMemberInput {
8517	s.Account = v
8518	return s
8519}
8520
8521// SetTags sets the Tags field's value.
8522func (s *CreateMemberInput) SetTags(v map[string]*string) *CreateMemberInput {
8523	s.Tags = v
8524	return s
8525}
8526
8527// Provides information about a request to associate an account with an Amazon
8528// Macie administrator account.
8529type CreateMemberOutput struct {
8530	_ struct{} `type:"structure"`
8531
8532	Arn *string `locationName:"arn" type:"string"`
8533}
8534
8535// String returns the string representation
8536func (s CreateMemberOutput) String() string {
8537	return awsutil.Prettify(s)
8538}
8539
8540// GoString returns the string representation
8541func (s CreateMemberOutput) GoString() string {
8542	return s.String()
8543}
8544
8545// SetArn sets the Arn field's value.
8546func (s *CreateMemberOutput) SetArn(v string) *CreateMemberOutput {
8547	s.Arn = &v
8548	return s
8549}
8550
8551// Specifies the types of findings to include in a set of sample findings that
8552// Amazon Macie creates.
8553type CreateSampleFindingsInput struct {
8554	_ struct{} `type:"structure"`
8555
8556	FindingTypes []*string `locationName:"findingTypes" type:"list"`
8557}
8558
8559// String returns the string representation
8560func (s CreateSampleFindingsInput) String() string {
8561	return awsutil.Prettify(s)
8562}
8563
8564// GoString returns the string representation
8565func (s CreateSampleFindingsInput) GoString() string {
8566	return s.String()
8567}
8568
8569// SetFindingTypes sets the FindingTypes field's value.
8570func (s *CreateSampleFindingsInput) SetFindingTypes(v []*string) *CreateSampleFindingsInput {
8571	s.FindingTypes = v
8572	return s
8573}
8574
8575type CreateSampleFindingsOutput struct {
8576	_ struct{} `type:"structure"`
8577}
8578
8579// String returns the string representation
8580func (s CreateSampleFindingsOutput) String() string {
8581	return awsutil.Prettify(s)
8582}
8583
8584// GoString returns the string representation
8585func (s CreateSampleFindingsOutput) GoString() string {
8586	return s.String()
8587}
8588
8589// Specifies one or more property- and tag-based conditions that define criteria
8590// for including or excluding S3 buckets from a classification job.
8591type CriteriaBlockForJob struct {
8592	_ struct{} `type:"structure"`
8593
8594	And []*CriteriaForJob `locationName:"and" type:"list"`
8595}
8596
8597// String returns the string representation
8598func (s CriteriaBlockForJob) String() string {
8599	return awsutil.Prettify(s)
8600}
8601
8602// GoString returns the string representation
8603func (s CriteriaBlockForJob) GoString() string {
8604	return s.String()
8605}
8606
8607// SetAnd sets the And field's value.
8608func (s *CriteriaBlockForJob) SetAnd(v []*CriteriaForJob) *CriteriaBlockForJob {
8609	s.And = v
8610	return s
8611}
8612
8613// Specifies a property- or tag-based condition that defines criteria for including
8614// or excluding S3 buckets from a classification job.
8615type CriteriaForJob struct {
8616	_ struct{} `type:"structure"`
8617
8618	// Specifies a property-based condition that determines whether an S3 bucket
8619	// is included or excluded from a classification job.
8620	SimpleCriterion *SimpleCriterionForJob `locationName:"simpleCriterion" type:"structure"`
8621
8622	// Specifies a tag-based condition that determines whether an S3 bucket is included
8623	// or excluded from a classification job.
8624	TagCriterion *TagCriterionForJob `locationName:"tagCriterion" type:"structure"`
8625}
8626
8627// String returns the string representation
8628func (s CriteriaForJob) String() string {
8629	return awsutil.Prettify(s)
8630}
8631
8632// GoString returns the string representation
8633func (s CriteriaForJob) GoString() string {
8634	return s.String()
8635}
8636
8637// SetSimpleCriterion sets the SimpleCriterion field's value.
8638func (s *CriteriaForJob) SetSimpleCriterion(v *SimpleCriterionForJob) *CriteriaForJob {
8639	s.SimpleCriterion = v
8640	return s
8641}
8642
8643// SetTagCriterion sets the TagCriterion field's value.
8644func (s *CriteriaForJob) SetTagCriterion(v *TagCriterionForJob) *CriteriaForJob {
8645	s.TagCriterion = v
8646	return s
8647}
8648
8649// Specifies the operator to use in a property-based condition that filters
8650// the results of a query for findings. For detailed information and examples
8651// of each operator, see Fundamentals of filtering findings (https://docs.aws.amazon.com/macie/latest/user/findings-filter-basics.html)
8652// in the Amazon Macie User Guide.
8653type CriterionAdditionalProperties struct {
8654	_ struct{} `type:"structure"`
8655
8656	Eq []*string `locationName:"eq" type:"list"`
8657
8658	EqExactMatch []*string `locationName:"eqExactMatch" type:"list"`
8659
8660	Gt *int64 `locationName:"gt" type:"long"`
8661
8662	Gte *int64 `locationName:"gte" type:"long"`
8663
8664	Lt *int64 `locationName:"lt" type:"long"`
8665
8666	Lte *int64 `locationName:"lte" type:"long"`
8667
8668	Neq []*string `locationName:"neq" type:"list"`
8669}
8670
8671// String returns the string representation
8672func (s CriterionAdditionalProperties) String() string {
8673	return awsutil.Prettify(s)
8674}
8675
8676// GoString returns the string representation
8677func (s CriterionAdditionalProperties) GoString() string {
8678	return s.String()
8679}
8680
8681// SetEq sets the Eq field's value.
8682func (s *CriterionAdditionalProperties) SetEq(v []*string) *CriterionAdditionalProperties {
8683	s.Eq = v
8684	return s
8685}
8686
8687// SetEqExactMatch sets the EqExactMatch field's value.
8688func (s *CriterionAdditionalProperties) SetEqExactMatch(v []*string) *CriterionAdditionalProperties {
8689	s.EqExactMatch = v
8690	return s
8691}
8692
8693// SetGt sets the Gt field's value.
8694func (s *CriterionAdditionalProperties) SetGt(v int64) *CriterionAdditionalProperties {
8695	s.Gt = &v
8696	return s
8697}
8698
8699// SetGte sets the Gte field's value.
8700func (s *CriterionAdditionalProperties) SetGte(v int64) *CriterionAdditionalProperties {
8701	s.Gte = &v
8702	return s
8703}
8704
8705// SetLt sets the Lt field's value.
8706func (s *CriterionAdditionalProperties) SetLt(v int64) *CriterionAdditionalProperties {
8707	s.Lt = &v
8708	return s
8709}
8710
8711// SetLte sets the Lte field's value.
8712func (s *CriterionAdditionalProperties) SetLte(v int64) *CriterionAdditionalProperties {
8713	s.Lte = &v
8714	return s
8715}
8716
8717// SetNeq sets the Neq field's value.
8718func (s *CriterionAdditionalProperties) SetNeq(v []*string) *CriterionAdditionalProperties {
8719	s.Neq = v
8720	return s
8721}
8722
8723// Provides information about a custom data identifier.
8724type CustomDataIdentifierSummary struct {
8725	_ struct{} `type:"structure"`
8726
8727	Arn *string `locationName:"arn" type:"string"`
8728
8729	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"`
8730
8731	Description *string `locationName:"description" type:"string"`
8732
8733	Id *string `locationName:"id" type:"string"`
8734
8735	Name *string `locationName:"name" type:"string"`
8736}
8737
8738// String returns the string representation
8739func (s CustomDataIdentifierSummary) String() string {
8740	return awsutil.Prettify(s)
8741}
8742
8743// GoString returns the string representation
8744func (s CustomDataIdentifierSummary) GoString() string {
8745	return s.String()
8746}
8747
8748// SetArn sets the Arn field's value.
8749func (s *CustomDataIdentifierSummary) SetArn(v string) *CustomDataIdentifierSummary {
8750	s.Arn = &v
8751	return s
8752}
8753
8754// SetCreatedAt sets the CreatedAt field's value.
8755func (s *CustomDataIdentifierSummary) SetCreatedAt(v time.Time) *CustomDataIdentifierSummary {
8756	s.CreatedAt = &v
8757	return s
8758}
8759
8760// SetDescription sets the Description field's value.
8761func (s *CustomDataIdentifierSummary) SetDescription(v string) *CustomDataIdentifierSummary {
8762	s.Description = &v
8763	return s
8764}
8765
8766// SetId sets the Id field's value.
8767func (s *CustomDataIdentifierSummary) SetId(v string) *CustomDataIdentifierSummary {
8768	s.Id = &v
8769	return s
8770}
8771
8772// SetName sets the Name field's value.
8773func (s *CustomDataIdentifierSummary) SetName(v string) *CustomDataIdentifierSummary {
8774	s.Name = &v
8775	return s
8776}
8777
8778// Provides information about custom data identifiers that produced a sensitive
8779// data finding, and the number of occurrences of the data that they detected
8780// for the finding.
8781type CustomDataIdentifiers struct {
8782	_ struct{} `type:"structure"`
8783
8784	// Provides information about custom data identifiers that produced a sensitive
8785	// data finding, and the number of occurrences of the data that each identifier
8786	// detected.
8787	Detections []*CustomDetection `locationName:"detections" type:"list"`
8788
8789	TotalCount *int64 `locationName:"totalCount" type:"long"`
8790}
8791
8792// String returns the string representation
8793func (s CustomDataIdentifiers) String() string {
8794	return awsutil.Prettify(s)
8795}
8796
8797// GoString returns the string representation
8798func (s CustomDataIdentifiers) GoString() string {
8799	return s.String()
8800}
8801
8802// SetDetections sets the Detections field's value.
8803func (s *CustomDataIdentifiers) SetDetections(v []*CustomDetection) *CustomDataIdentifiers {
8804	s.Detections = v
8805	return s
8806}
8807
8808// SetTotalCount sets the TotalCount field's value.
8809func (s *CustomDataIdentifiers) SetTotalCount(v int64) *CustomDataIdentifiers {
8810	s.TotalCount = &v
8811	return s
8812}
8813
8814// Provides information about a custom data identifier that produced a sensitive
8815// data finding, and the sensitive data that it detected for the finding.
8816type CustomDetection struct {
8817	_ struct{} `type:"structure"`
8818
8819	Arn *string `locationName:"arn" type:"string"`
8820
8821	Count *int64 `locationName:"count" type:"long"`
8822
8823	Name *string `locationName:"name" type:"string"`
8824
8825	// Specifies the location of 1-15 occurrences of sensitive data that was detected
8826	// by managed data identifiers or a custom data identifier and produced a sensitive
8827	// data finding.
8828	Occurrences *Occurrences `locationName:"occurrences" type:"structure"`
8829}
8830
8831// String returns the string representation
8832func (s CustomDetection) String() string {
8833	return awsutil.Prettify(s)
8834}
8835
8836// GoString returns the string representation
8837func (s CustomDetection) GoString() string {
8838	return s.String()
8839}
8840
8841// SetArn sets the Arn field's value.
8842func (s *CustomDetection) SetArn(v string) *CustomDetection {
8843	s.Arn = &v
8844	return s
8845}
8846
8847// SetCount sets the Count field's value.
8848func (s *CustomDetection) SetCount(v int64) *CustomDetection {
8849	s.Count = &v
8850	return s
8851}
8852
8853// SetName sets the Name field's value.
8854func (s *CustomDetection) SetName(v string) *CustomDetection {
8855	s.Name = &v
8856	return s
8857}
8858
8859// SetOccurrences sets the Occurrences field's value.
8860func (s *CustomDetection) SetOccurrences(v *Occurrences) *CustomDetection {
8861	s.Occurrences = v
8862	return s
8863}
8864
8865// Specifies that a classification job runs once a day, every day. This is an
8866// empty object.
8867type DailySchedule struct {
8868	_ struct{} `type:"structure"`
8869}
8870
8871// String returns the string representation
8872func (s DailySchedule) String() string {
8873	return awsutil.Prettify(s)
8874}
8875
8876// GoString returns the string representation
8877func (s DailySchedule) GoString() string {
8878	return s.String()
8879}
8880
8881// Specifies one or more accounts that sent Amazon Macie membership invitations
8882// to decline.
8883type DeclineInvitationsInput struct {
8884	_ struct{} `type:"structure"`
8885
8886	// AccountIds is a required field
8887	AccountIds []*string `locationName:"accountIds" type:"list" required:"true"`
8888}
8889
8890// String returns the string representation
8891func (s DeclineInvitationsInput) String() string {
8892	return awsutil.Prettify(s)
8893}
8894
8895// GoString returns the string representation
8896func (s DeclineInvitationsInput) GoString() string {
8897	return s.String()
8898}
8899
8900// Validate inspects the fields of the type to determine if they are valid.
8901func (s *DeclineInvitationsInput) Validate() error {
8902	invalidParams := request.ErrInvalidParams{Context: "DeclineInvitationsInput"}
8903	if s.AccountIds == nil {
8904		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
8905	}
8906
8907	if invalidParams.Len() > 0 {
8908		return invalidParams
8909	}
8910	return nil
8911}
8912
8913// SetAccountIds sets the AccountIds field's value.
8914func (s *DeclineInvitationsInput) SetAccountIds(v []*string) *DeclineInvitationsInput {
8915	s.AccountIds = v
8916	return s
8917}
8918
8919// Provides information about unprocessed requests to decline Amazon Macie membership
8920// invitations that were received from specific accounts.
8921type DeclineInvitationsOutput struct {
8922	_ struct{} `type:"structure"`
8923
8924	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list"`
8925}
8926
8927// String returns the string representation
8928func (s DeclineInvitationsOutput) String() string {
8929	return awsutil.Prettify(s)
8930}
8931
8932// GoString returns the string representation
8933func (s DeclineInvitationsOutput) GoString() string {
8934	return s.String()
8935}
8936
8937// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
8938func (s *DeclineInvitationsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DeclineInvitationsOutput {
8939	s.UnprocessedAccounts = v
8940	return s
8941}
8942
8943// Provides information about a type of sensitive data that was detected by
8944// managed data identifiers and produced a sensitive data finding.
8945type DefaultDetection struct {
8946	_ struct{} `type:"structure"`
8947
8948	Count *int64 `locationName:"count" type:"long"`
8949
8950	// Specifies the location of 1-15 occurrences of sensitive data that was detected
8951	// by managed data identifiers or a custom data identifier and produced a sensitive
8952	// data finding.
8953	Occurrences *Occurrences `locationName:"occurrences" type:"structure"`
8954
8955	Type *string `locationName:"type" type:"string"`
8956}
8957
8958// String returns the string representation
8959func (s DefaultDetection) String() string {
8960	return awsutil.Prettify(s)
8961}
8962
8963// GoString returns the string representation
8964func (s DefaultDetection) GoString() string {
8965	return s.String()
8966}
8967
8968// SetCount sets the Count field's value.
8969func (s *DefaultDetection) SetCount(v int64) *DefaultDetection {
8970	s.Count = &v
8971	return s
8972}
8973
8974// SetOccurrences sets the Occurrences field's value.
8975func (s *DefaultDetection) SetOccurrences(v *Occurrences) *DefaultDetection {
8976	s.Occurrences = v
8977	return s
8978}
8979
8980// SetType sets the Type field's value.
8981func (s *DefaultDetection) SetType(v string) *DefaultDetection {
8982	s.Type = &v
8983	return s
8984}
8985
8986type DeleteCustomDataIdentifierInput struct {
8987	_ struct{} `type:"structure"`
8988
8989	// Id is a required field
8990	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
8991}
8992
8993// String returns the string representation
8994func (s DeleteCustomDataIdentifierInput) String() string {
8995	return awsutil.Prettify(s)
8996}
8997
8998// GoString returns the string representation
8999func (s DeleteCustomDataIdentifierInput) GoString() string {
9000	return s.String()
9001}
9002
9003// Validate inspects the fields of the type to determine if they are valid.
9004func (s *DeleteCustomDataIdentifierInput) Validate() error {
9005	invalidParams := request.ErrInvalidParams{Context: "DeleteCustomDataIdentifierInput"}
9006	if s.Id == nil {
9007		invalidParams.Add(request.NewErrParamRequired("Id"))
9008	}
9009	if s.Id != nil && len(*s.Id) < 1 {
9010		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
9011	}
9012
9013	if invalidParams.Len() > 0 {
9014		return invalidParams
9015	}
9016	return nil
9017}
9018
9019// SetId sets the Id field's value.
9020func (s *DeleteCustomDataIdentifierInput) SetId(v string) *DeleteCustomDataIdentifierInput {
9021	s.Id = &v
9022	return s
9023}
9024
9025type DeleteCustomDataIdentifierOutput struct {
9026	_ struct{} `type:"structure"`
9027}
9028
9029// String returns the string representation
9030func (s DeleteCustomDataIdentifierOutput) String() string {
9031	return awsutil.Prettify(s)
9032}
9033
9034// GoString returns the string representation
9035func (s DeleteCustomDataIdentifierOutput) GoString() string {
9036	return s.String()
9037}
9038
9039type DeleteFindingsFilterInput struct {
9040	_ struct{} `type:"structure"`
9041
9042	// Id is a required field
9043	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
9044}
9045
9046// String returns the string representation
9047func (s DeleteFindingsFilterInput) String() string {
9048	return awsutil.Prettify(s)
9049}
9050
9051// GoString returns the string representation
9052func (s DeleteFindingsFilterInput) GoString() string {
9053	return s.String()
9054}
9055
9056// Validate inspects the fields of the type to determine if they are valid.
9057func (s *DeleteFindingsFilterInput) Validate() error {
9058	invalidParams := request.ErrInvalidParams{Context: "DeleteFindingsFilterInput"}
9059	if s.Id == nil {
9060		invalidParams.Add(request.NewErrParamRequired("Id"))
9061	}
9062	if s.Id != nil && len(*s.Id) < 1 {
9063		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
9064	}
9065
9066	if invalidParams.Len() > 0 {
9067		return invalidParams
9068	}
9069	return nil
9070}
9071
9072// SetId sets the Id field's value.
9073func (s *DeleteFindingsFilterInput) SetId(v string) *DeleteFindingsFilterInput {
9074	s.Id = &v
9075	return s
9076}
9077
9078type DeleteFindingsFilterOutput struct {
9079	_ struct{} `type:"structure"`
9080}
9081
9082// String returns the string representation
9083func (s DeleteFindingsFilterOutput) String() string {
9084	return awsutil.Prettify(s)
9085}
9086
9087// GoString returns the string representation
9088func (s DeleteFindingsFilterOutput) GoString() string {
9089	return s.String()
9090}
9091
9092// Specifies one or more accounts that sent Amazon Macie membership invitations
9093// to delete.
9094type DeleteInvitationsInput struct {
9095	_ struct{} `type:"structure"`
9096
9097	// AccountIds is a required field
9098	AccountIds []*string `locationName:"accountIds" type:"list" required:"true"`
9099}
9100
9101// String returns the string representation
9102func (s DeleteInvitationsInput) String() string {
9103	return awsutil.Prettify(s)
9104}
9105
9106// GoString returns the string representation
9107func (s DeleteInvitationsInput) GoString() string {
9108	return s.String()
9109}
9110
9111// Validate inspects the fields of the type to determine if they are valid.
9112func (s *DeleteInvitationsInput) Validate() error {
9113	invalidParams := request.ErrInvalidParams{Context: "DeleteInvitationsInput"}
9114	if s.AccountIds == nil {
9115		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
9116	}
9117
9118	if invalidParams.Len() > 0 {
9119		return invalidParams
9120	}
9121	return nil
9122}
9123
9124// SetAccountIds sets the AccountIds field's value.
9125func (s *DeleteInvitationsInput) SetAccountIds(v []*string) *DeleteInvitationsInput {
9126	s.AccountIds = v
9127	return s
9128}
9129
9130// Provides information about unprocessed requests to delete Amazon Macie membership
9131// invitations that were received from specific accounts.
9132type DeleteInvitationsOutput struct {
9133	_ struct{} `type:"structure"`
9134
9135	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list"`
9136}
9137
9138// String returns the string representation
9139func (s DeleteInvitationsOutput) String() string {
9140	return awsutil.Prettify(s)
9141}
9142
9143// GoString returns the string representation
9144func (s DeleteInvitationsOutput) GoString() string {
9145	return s.String()
9146}
9147
9148// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
9149func (s *DeleteInvitationsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DeleteInvitationsOutput {
9150	s.UnprocessedAccounts = v
9151	return s
9152}
9153
9154type DeleteMemberInput struct {
9155	_ struct{} `type:"structure"`
9156
9157	// Id is a required field
9158	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
9159}
9160
9161// String returns the string representation
9162func (s DeleteMemberInput) String() string {
9163	return awsutil.Prettify(s)
9164}
9165
9166// GoString returns the string representation
9167func (s DeleteMemberInput) GoString() string {
9168	return s.String()
9169}
9170
9171// Validate inspects the fields of the type to determine if they are valid.
9172func (s *DeleteMemberInput) Validate() error {
9173	invalidParams := request.ErrInvalidParams{Context: "DeleteMemberInput"}
9174	if s.Id == nil {
9175		invalidParams.Add(request.NewErrParamRequired("Id"))
9176	}
9177	if s.Id != nil && len(*s.Id) < 1 {
9178		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
9179	}
9180
9181	if invalidParams.Len() > 0 {
9182		return invalidParams
9183	}
9184	return nil
9185}
9186
9187// SetId sets the Id field's value.
9188func (s *DeleteMemberInput) SetId(v string) *DeleteMemberInput {
9189	s.Id = &v
9190	return s
9191}
9192
9193type DeleteMemberOutput struct {
9194	_ struct{} `type:"structure"`
9195}
9196
9197// String returns the string representation
9198func (s DeleteMemberOutput) String() string {
9199	return awsutil.Prettify(s)
9200}
9201
9202// GoString returns the string representation
9203func (s DeleteMemberOutput) GoString() string {
9204	return s.String()
9205}
9206
9207// Specifies criteria for filtering, sorting, and paginating the results of
9208// a query for statistical data and other information about S3 buckets.
9209type DescribeBucketsInput struct {
9210	_ struct{} `type:"structure"`
9211
9212	// Specifies, as a map, one or more property-based conditions that filter the
9213	// results of a query for information about S3 buckets.
9214	Criteria map[string]*BucketCriteriaAdditionalProperties `locationName:"criteria" type:"map"`
9215
9216	MaxResults *int64 `locationName:"maxResults" type:"integer"`
9217
9218	NextToken *string `locationName:"nextToken" type:"string"`
9219
9220	// Specifies criteria for sorting the results of a query for information about
9221	// S3 buckets.
9222	SortCriteria *BucketSortCriteria `locationName:"sortCriteria" type:"structure"`
9223}
9224
9225// String returns the string representation
9226func (s DescribeBucketsInput) String() string {
9227	return awsutil.Prettify(s)
9228}
9229
9230// GoString returns the string representation
9231func (s DescribeBucketsInput) GoString() string {
9232	return s.String()
9233}
9234
9235// SetCriteria sets the Criteria field's value.
9236func (s *DescribeBucketsInput) SetCriteria(v map[string]*BucketCriteriaAdditionalProperties) *DescribeBucketsInput {
9237	s.Criteria = v
9238	return s
9239}
9240
9241// SetMaxResults sets the MaxResults field's value.
9242func (s *DescribeBucketsInput) SetMaxResults(v int64) *DescribeBucketsInput {
9243	s.MaxResults = &v
9244	return s
9245}
9246
9247// SetNextToken sets the NextToken field's value.
9248func (s *DescribeBucketsInput) SetNextToken(v string) *DescribeBucketsInput {
9249	s.NextToken = &v
9250	return s
9251}
9252
9253// SetSortCriteria sets the SortCriteria field's value.
9254func (s *DescribeBucketsInput) SetSortCriteria(v *BucketSortCriteria) *DescribeBucketsInput {
9255	s.SortCriteria = v
9256	return s
9257}
9258
9259// Provides the results of a query that retrieved statistical data and other
9260// information about one or more S3 buckets that Amazon Macie monitors and analyzes.
9261type DescribeBucketsOutput struct {
9262	_ struct{} `type:"structure"`
9263
9264	Buckets []*BucketMetadata `locationName:"buckets" type:"list"`
9265
9266	NextToken *string `locationName:"nextToken" type:"string"`
9267}
9268
9269// String returns the string representation
9270func (s DescribeBucketsOutput) String() string {
9271	return awsutil.Prettify(s)
9272}
9273
9274// GoString returns the string representation
9275func (s DescribeBucketsOutput) GoString() string {
9276	return s.String()
9277}
9278
9279// SetBuckets sets the Buckets field's value.
9280func (s *DescribeBucketsOutput) SetBuckets(v []*BucketMetadata) *DescribeBucketsOutput {
9281	s.Buckets = v
9282	return s
9283}
9284
9285// SetNextToken sets the NextToken field's value.
9286func (s *DescribeBucketsOutput) SetNextToken(v string) *DescribeBucketsOutput {
9287	s.NextToken = &v
9288	return s
9289}
9290
9291type DescribeClassificationJobInput struct {
9292	_ struct{} `type:"structure"`
9293
9294	// JobId is a required field
9295	JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"`
9296}
9297
9298// String returns the string representation
9299func (s DescribeClassificationJobInput) String() string {
9300	return awsutil.Prettify(s)
9301}
9302
9303// GoString returns the string representation
9304func (s DescribeClassificationJobInput) GoString() string {
9305	return s.String()
9306}
9307
9308// Validate inspects the fields of the type to determine if they are valid.
9309func (s *DescribeClassificationJobInput) Validate() error {
9310	invalidParams := request.ErrInvalidParams{Context: "DescribeClassificationJobInput"}
9311	if s.JobId == nil {
9312		invalidParams.Add(request.NewErrParamRequired("JobId"))
9313	}
9314	if s.JobId != nil && len(*s.JobId) < 1 {
9315		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
9316	}
9317
9318	if invalidParams.Len() > 0 {
9319		return invalidParams
9320	}
9321	return nil
9322}
9323
9324// SetJobId sets the JobId field's value.
9325func (s *DescribeClassificationJobInput) SetJobId(v string) *DescribeClassificationJobInput {
9326	s.JobId = &v
9327	return s
9328}
9329
9330// Provides information about a classification job, including the current configuration
9331// settings and status of the job.
9332type DescribeClassificationJobOutput struct {
9333	_ struct{} `type:"structure"`
9334
9335	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
9336
9337	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"`
9338
9339	CustomDataIdentifierIds []*string `locationName:"customDataIdentifierIds" type:"list"`
9340
9341	Description *string `locationName:"description" type:"string"`
9342
9343	InitialRun *bool `locationName:"initialRun" type:"boolean"`
9344
9345	JobArn *string `locationName:"jobArn" type:"string"`
9346
9347	JobId *string `locationName:"jobId" type:"string"`
9348
9349	// The status of a classification job. Possible values are:
9350	JobStatus *string `locationName:"jobStatus" type:"string" enum:"JobStatus"`
9351
9352	// The schedule for running a classification job. Valid values are:
9353	JobType *string `locationName:"jobType" type:"string" enum:"JobType"`
9354
9355	// Specifies whether any account- or bucket-level access errors occurred when
9356	// a classification job ran. For information about using logging data to investigate
9357	// these errors, see Monitoring sensitive data discovery jobs (https://docs.aws.amazon.com/macie/latest/user/discovery-jobs-monitor-cw-logs.html)
9358	// in the Amazon Macie User Guide.
9359	LastRunErrorStatus *LastRunErrorStatus `locationName:"lastRunErrorStatus" type:"structure"`
9360
9361	LastRunTime *time.Time `locationName:"lastRunTime" type:"timestamp" timestampFormat:"iso8601"`
9362
9363	Name *string `locationName:"name" type:"string"`
9364
9365	// Specifies which S3 buckets contain the objects that a classification job
9366	// analyzes, and the scope of that analysis. The bucket specification can be
9367	// static (bucketDefinitions) or dynamic (bucketCriteria). If it's static, the
9368	// job analyzes objects in the same predefined set of buckets each time the
9369	// job runs. If it's dynamic, the job analyzes objects in any buckets that match
9370	// the specified criteria each time the job starts to run.
9371	S3JobDefinition *S3JobDefinition `locationName:"s3JobDefinition" type:"structure"`
9372
9373	SamplingPercentage *int64 `locationName:"samplingPercentage" type:"integer"`
9374
9375	// Specifies the recurrence pattern for running a classification job.
9376	ScheduleFrequency *JobScheduleFrequency `locationName:"scheduleFrequency" type:"structure"`
9377
9378	// Provides processing statistics for a classification job.
9379	Statistics *Statistics `locationName:"statistics" type:"structure"`
9380
9381	// A string-to-string map of key-value pairs that specifies the tags (keys and
9382	// values) for a classification job, custom data identifier, findings filter,
9383	// or member account.
9384	Tags map[string]*string `locationName:"tags" type:"map"`
9385
9386	// Provides information about when a classification job was paused. For a one-time
9387	// job, this object also specifies when the job will expire and be cancelled
9388	// if it isn't resumed. For a recurring job, this object also specifies when
9389	// the paused job run will expire and be cancelled if it isn't resumed. This
9390	// object is present only if a job's current status (jobStatus) is USER_PAUSED.
9391	// The information in this object applies only to a job that was paused while
9392	// it had a status of RUNNING.
9393	UserPausedDetails *UserPausedDetails `locationName:"userPausedDetails" type:"structure"`
9394}
9395
9396// String returns the string representation
9397func (s DescribeClassificationJobOutput) String() string {
9398	return awsutil.Prettify(s)
9399}
9400
9401// GoString returns the string representation
9402func (s DescribeClassificationJobOutput) GoString() string {
9403	return s.String()
9404}
9405
9406// SetClientToken sets the ClientToken field's value.
9407func (s *DescribeClassificationJobOutput) SetClientToken(v string) *DescribeClassificationJobOutput {
9408	s.ClientToken = &v
9409	return s
9410}
9411
9412// SetCreatedAt sets the CreatedAt field's value.
9413func (s *DescribeClassificationJobOutput) SetCreatedAt(v time.Time) *DescribeClassificationJobOutput {
9414	s.CreatedAt = &v
9415	return s
9416}
9417
9418// SetCustomDataIdentifierIds sets the CustomDataIdentifierIds field's value.
9419func (s *DescribeClassificationJobOutput) SetCustomDataIdentifierIds(v []*string) *DescribeClassificationJobOutput {
9420	s.CustomDataIdentifierIds = v
9421	return s
9422}
9423
9424// SetDescription sets the Description field's value.
9425func (s *DescribeClassificationJobOutput) SetDescription(v string) *DescribeClassificationJobOutput {
9426	s.Description = &v
9427	return s
9428}
9429
9430// SetInitialRun sets the InitialRun field's value.
9431func (s *DescribeClassificationJobOutput) SetInitialRun(v bool) *DescribeClassificationJobOutput {
9432	s.InitialRun = &v
9433	return s
9434}
9435
9436// SetJobArn sets the JobArn field's value.
9437func (s *DescribeClassificationJobOutput) SetJobArn(v string) *DescribeClassificationJobOutput {
9438	s.JobArn = &v
9439	return s
9440}
9441
9442// SetJobId sets the JobId field's value.
9443func (s *DescribeClassificationJobOutput) SetJobId(v string) *DescribeClassificationJobOutput {
9444	s.JobId = &v
9445	return s
9446}
9447
9448// SetJobStatus sets the JobStatus field's value.
9449func (s *DescribeClassificationJobOutput) SetJobStatus(v string) *DescribeClassificationJobOutput {
9450	s.JobStatus = &v
9451	return s
9452}
9453
9454// SetJobType sets the JobType field's value.
9455func (s *DescribeClassificationJobOutput) SetJobType(v string) *DescribeClassificationJobOutput {
9456	s.JobType = &v
9457	return s
9458}
9459
9460// SetLastRunErrorStatus sets the LastRunErrorStatus field's value.
9461func (s *DescribeClassificationJobOutput) SetLastRunErrorStatus(v *LastRunErrorStatus) *DescribeClassificationJobOutput {
9462	s.LastRunErrorStatus = v
9463	return s
9464}
9465
9466// SetLastRunTime sets the LastRunTime field's value.
9467func (s *DescribeClassificationJobOutput) SetLastRunTime(v time.Time) *DescribeClassificationJobOutput {
9468	s.LastRunTime = &v
9469	return s
9470}
9471
9472// SetName sets the Name field's value.
9473func (s *DescribeClassificationJobOutput) SetName(v string) *DescribeClassificationJobOutput {
9474	s.Name = &v
9475	return s
9476}
9477
9478// SetS3JobDefinition sets the S3JobDefinition field's value.
9479func (s *DescribeClassificationJobOutput) SetS3JobDefinition(v *S3JobDefinition) *DescribeClassificationJobOutput {
9480	s.S3JobDefinition = v
9481	return s
9482}
9483
9484// SetSamplingPercentage sets the SamplingPercentage field's value.
9485func (s *DescribeClassificationJobOutput) SetSamplingPercentage(v int64) *DescribeClassificationJobOutput {
9486	s.SamplingPercentage = &v
9487	return s
9488}
9489
9490// SetScheduleFrequency sets the ScheduleFrequency field's value.
9491func (s *DescribeClassificationJobOutput) SetScheduleFrequency(v *JobScheduleFrequency) *DescribeClassificationJobOutput {
9492	s.ScheduleFrequency = v
9493	return s
9494}
9495
9496// SetStatistics sets the Statistics field's value.
9497func (s *DescribeClassificationJobOutput) SetStatistics(v *Statistics) *DescribeClassificationJobOutput {
9498	s.Statistics = v
9499	return s
9500}
9501
9502// SetTags sets the Tags field's value.
9503func (s *DescribeClassificationJobOutput) SetTags(v map[string]*string) *DescribeClassificationJobOutput {
9504	s.Tags = v
9505	return s
9506}
9507
9508// SetUserPausedDetails sets the UserPausedDetails field's value.
9509func (s *DescribeClassificationJobOutput) SetUserPausedDetails(v *UserPausedDetails) *DescribeClassificationJobOutput {
9510	s.UserPausedDetails = v
9511	return s
9512}
9513
9514type DescribeOrganizationConfigurationInput struct {
9515	_ struct{} `type:"structure"`
9516}
9517
9518// String returns the string representation
9519func (s DescribeOrganizationConfigurationInput) String() string {
9520	return awsutil.Prettify(s)
9521}
9522
9523// GoString returns the string representation
9524func (s DescribeOrganizationConfigurationInput) GoString() string {
9525	return s.String()
9526}
9527
9528// Provides information about the Amazon Macie configuration settings for an
9529// Amazon Web Services organization.
9530type DescribeOrganizationConfigurationOutput struct {
9531	_ struct{} `type:"structure"`
9532
9533	AutoEnable *bool `locationName:"autoEnable" type:"boolean"`
9534
9535	MaxAccountLimitReached *bool `locationName:"maxAccountLimitReached" type:"boolean"`
9536}
9537
9538// String returns the string representation
9539func (s DescribeOrganizationConfigurationOutput) String() string {
9540	return awsutil.Prettify(s)
9541}
9542
9543// GoString returns the string representation
9544func (s DescribeOrganizationConfigurationOutput) GoString() string {
9545	return s.String()
9546}
9547
9548// SetAutoEnable sets the AutoEnable field's value.
9549func (s *DescribeOrganizationConfigurationOutput) SetAutoEnable(v bool) *DescribeOrganizationConfigurationOutput {
9550	s.AutoEnable = &v
9551	return s
9552}
9553
9554// SetMaxAccountLimitReached sets the MaxAccountLimitReached field's value.
9555func (s *DescribeOrganizationConfigurationOutput) SetMaxAccountLimitReached(v bool) *DescribeOrganizationConfigurationOutput {
9556	s.MaxAccountLimitReached = &v
9557	return s
9558}
9559
9560type DisableMacieInput struct {
9561	_ struct{} `type:"structure"`
9562}
9563
9564// String returns the string representation
9565func (s DisableMacieInput) String() string {
9566	return awsutil.Prettify(s)
9567}
9568
9569// GoString returns the string representation
9570func (s DisableMacieInput) GoString() string {
9571	return s.String()
9572}
9573
9574type DisableMacieOutput struct {
9575	_ struct{} `type:"structure"`
9576}
9577
9578// String returns the string representation
9579func (s DisableMacieOutput) String() string {
9580	return awsutil.Prettify(s)
9581}
9582
9583// GoString returns the string representation
9584func (s DisableMacieOutput) GoString() string {
9585	return s.String()
9586}
9587
9588type DisableOrganizationAdminAccountInput struct {
9589	_ struct{} `type:"structure"`
9590
9591	// AdminAccountId is a required field
9592	AdminAccountId *string `location:"querystring" locationName:"adminAccountId" type:"string" required:"true"`
9593}
9594
9595// String returns the string representation
9596func (s DisableOrganizationAdminAccountInput) String() string {
9597	return awsutil.Prettify(s)
9598}
9599
9600// GoString returns the string representation
9601func (s DisableOrganizationAdminAccountInput) GoString() string {
9602	return s.String()
9603}
9604
9605// Validate inspects the fields of the type to determine if they are valid.
9606func (s *DisableOrganizationAdminAccountInput) Validate() error {
9607	invalidParams := request.ErrInvalidParams{Context: "DisableOrganizationAdminAccountInput"}
9608	if s.AdminAccountId == nil {
9609		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
9610	}
9611
9612	if invalidParams.Len() > 0 {
9613		return invalidParams
9614	}
9615	return nil
9616}
9617
9618// SetAdminAccountId sets the AdminAccountId field's value.
9619func (s *DisableOrganizationAdminAccountInput) SetAdminAccountId(v string) *DisableOrganizationAdminAccountInput {
9620	s.AdminAccountId = &v
9621	return s
9622}
9623
9624type DisableOrganizationAdminAccountOutput struct {
9625	_ struct{} `type:"structure"`
9626}
9627
9628// String returns the string representation
9629func (s DisableOrganizationAdminAccountOutput) String() string {
9630	return awsutil.Prettify(s)
9631}
9632
9633// GoString returns the string representation
9634func (s DisableOrganizationAdminAccountOutput) GoString() string {
9635	return s.String()
9636}
9637
9638type DisassociateFromAdministratorAccountInput struct {
9639	_ struct{} `type:"structure"`
9640}
9641
9642// String returns the string representation
9643func (s DisassociateFromAdministratorAccountInput) String() string {
9644	return awsutil.Prettify(s)
9645}
9646
9647// GoString returns the string representation
9648func (s DisassociateFromAdministratorAccountInput) GoString() string {
9649	return s.String()
9650}
9651
9652type DisassociateFromAdministratorAccountOutput struct {
9653	_ struct{} `type:"structure"`
9654}
9655
9656// String returns the string representation
9657func (s DisassociateFromAdministratorAccountOutput) String() string {
9658	return awsutil.Prettify(s)
9659}
9660
9661// GoString returns the string representation
9662func (s DisassociateFromAdministratorAccountOutput) GoString() string {
9663	return s.String()
9664}
9665
9666type DisassociateFromMasterAccountInput struct {
9667	_ struct{} `type:"structure"`
9668}
9669
9670// String returns the string representation
9671func (s DisassociateFromMasterAccountInput) String() string {
9672	return awsutil.Prettify(s)
9673}
9674
9675// GoString returns the string representation
9676func (s DisassociateFromMasterAccountInput) GoString() string {
9677	return s.String()
9678}
9679
9680type DisassociateFromMasterAccountOutput struct {
9681	_ struct{} `type:"structure"`
9682}
9683
9684// String returns the string representation
9685func (s DisassociateFromMasterAccountOutput) String() string {
9686	return awsutil.Prettify(s)
9687}
9688
9689// GoString returns the string representation
9690func (s DisassociateFromMasterAccountOutput) GoString() string {
9691	return s.String()
9692}
9693
9694type DisassociateMemberInput struct {
9695	_ struct{} `type:"structure"`
9696
9697	// Id is a required field
9698	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
9699}
9700
9701// String returns the string representation
9702func (s DisassociateMemberInput) String() string {
9703	return awsutil.Prettify(s)
9704}
9705
9706// GoString returns the string representation
9707func (s DisassociateMemberInput) GoString() string {
9708	return s.String()
9709}
9710
9711// Validate inspects the fields of the type to determine if they are valid.
9712func (s *DisassociateMemberInput) Validate() error {
9713	invalidParams := request.ErrInvalidParams{Context: "DisassociateMemberInput"}
9714	if s.Id == nil {
9715		invalidParams.Add(request.NewErrParamRequired("Id"))
9716	}
9717	if s.Id != nil && len(*s.Id) < 1 {
9718		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
9719	}
9720
9721	if invalidParams.Len() > 0 {
9722		return invalidParams
9723	}
9724	return nil
9725}
9726
9727// SetId sets the Id field's value.
9728func (s *DisassociateMemberInput) SetId(v string) *DisassociateMemberInput {
9729	s.Id = &v
9730	return s
9731}
9732
9733type DisassociateMemberOutput struct {
9734	_ struct{} `type:"structure"`
9735}
9736
9737// String returns the string representation
9738func (s DisassociateMemberOutput) String() string {
9739	return awsutil.Prettify(s)
9740}
9741
9742// GoString returns the string representation
9743func (s DisassociateMemberOutput) GoString() string {
9744	return s.String()
9745}
9746
9747// Provides information about the domain name of the device that an entity used
9748// to perform an action on an affected resource.
9749type DomainDetails struct {
9750	_ struct{} `type:"structure"`
9751
9752	DomainName *string `locationName:"domainName" type:"string"`
9753}
9754
9755// String returns the string representation
9756func (s DomainDetails) String() string {
9757	return awsutil.Prettify(s)
9758}
9759
9760// GoString returns the string representation
9761func (s DomainDetails) GoString() string {
9762	return s.String()
9763}
9764
9765// SetDomainName sets the DomainName field's value.
9766func (s *DomainDetails) SetDomainName(v string) *DomainDetails {
9767	s.DomainName = &v
9768	return s
9769}
9770
9771// Enables Amazon Macie and specifies the configuration settings for a Macie
9772// account.
9773type EnableMacieInput struct {
9774	_ struct{} `type:"structure"`
9775
9776	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
9777
9778	// The frequency with which Amazon Macie publishes updates to policy findings
9779	// for an account. This includes publishing updates to Security Hub and Amazon
9780	// EventBridge (formerly called Amazon CloudWatch Events). For more information,
9781	// see Monitoring and processing findings (https://docs.aws.amazon.com/macie/latest/user/findings-monitor.html)
9782	// in the Amazon Macie User Guide. Valid values are:
9783	FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"`
9784
9785	// The status of an Amazon Macie account. Valid values are:
9786	Status *string `locationName:"status" type:"string" enum:"MacieStatus"`
9787}
9788
9789// String returns the string representation
9790func (s EnableMacieInput) String() string {
9791	return awsutil.Prettify(s)
9792}
9793
9794// GoString returns the string representation
9795func (s EnableMacieInput) GoString() string {
9796	return s.String()
9797}
9798
9799// SetClientToken sets the ClientToken field's value.
9800func (s *EnableMacieInput) SetClientToken(v string) *EnableMacieInput {
9801	s.ClientToken = &v
9802	return s
9803}
9804
9805// SetFindingPublishingFrequency sets the FindingPublishingFrequency field's value.
9806func (s *EnableMacieInput) SetFindingPublishingFrequency(v string) *EnableMacieInput {
9807	s.FindingPublishingFrequency = &v
9808	return s
9809}
9810
9811// SetStatus sets the Status field's value.
9812func (s *EnableMacieInput) SetStatus(v string) *EnableMacieInput {
9813	s.Status = &v
9814	return s
9815}
9816
9817type EnableMacieOutput struct {
9818	_ struct{} `type:"structure"`
9819}
9820
9821// String returns the string representation
9822func (s EnableMacieOutput) String() string {
9823	return awsutil.Prettify(s)
9824}
9825
9826// GoString returns the string representation
9827func (s EnableMacieOutput) GoString() string {
9828	return s.String()
9829}
9830
9831// Specifies an account to designate as a delegated Amazon Macie administrator
9832// account for an Amazon Web Services organization. To submit this request,
9833// you must be a user of the management account for the Amazon Web Services
9834// organization.
9835type EnableOrganizationAdminAccountInput struct {
9836	_ struct{} `type:"structure"`
9837
9838	// AdminAccountId is a required field
9839	AdminAccountId *string `locationName:"adminAccountId" type:"string" required:"true"`
9840
9841	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
9842}
9843
9844// String returns the string representation
9845func (s EnableOrganizationAdminAccountInput) String() string {
9846	return awsutil.Prettify(s)
9847}
9848
9849// GoString returns the string representation
9850func (s EnableOrganizationAdminAccountInput) GoString() string {
9851	return s.String()
9852}
9853
9854// Validate inspects the fields of the type to determine if they are valid.
9855func (s *EnableOrganizationAdminAccountInput) Validate() error {
9856	invalidParams := request.ErrInvalidParams{Context: "EnableOrganizationAdminAccountInput"}
9857	if s.AdminAccountId == nil {
9858		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
9859	}
9860
9861	if invalidParams.Len() > 0 {
9862		return invalidParams
9863	}
9864	return nil
9865}
9866
9867// SetAdminAccountId sets the AdminAccountId field's value.
9868func (s *EnableOrganizationAdminAccountInput) SetAdminAccountId(v string) *EnableOrganizationAdminAccountInput {
9869	s.AdminAccountId = &v
9870	return s
9871}
9872
9873// SetClientToken sets the ClientToken field's value.
9874func (s *EnableOrganizationAdminAccountInput) SetClientToken(v string) *EnableOrganizationAdminAccountInput {
9875	s.ClientToken = &v
9876	return s
9877}
9878
9879type EnableOrganizationAdminAccountOutput struct {
9880	_ struct{} `type:"structure"`
9881}
9882
9883// String returns the string representation
9884func (s EnableOrganizationAdminAccountOutput) String() string {
9885	return awsutil.Prettify(s)
9886}
9887
9888// GoString returns the string representation
9889func (s EnableOrganizationAdminAccountOutput) GoString() string {
9890	return s.String()
9891}
9892
9893// Provides information about an identity that performed an action on an affected
9894// resource by using temporary security credentials. The credentials were obtained
9895// using the GetFederationToken operation of the Security Token Service (STS)
9896// API.
9897type FederatedUser struct {
9898	_ struct{} `type:"structure"`
9899
9900	AccessKeyId *string `locationName:"accessKeyId" type:"string"`
9901
9902	AccountId *string `locationName:"accountId" type:"string"`
9903
9904	Arn *string `locationName:"arn" type:"string"`
9905
9906	PrincipalId *string `locationName:"principalId" type:"string"`
9907
9908	// Provides information about a session that was created for an entity that
9909	// performed an action by using temporary security credentials.
9910	SessionContext *SessionContext `locationName:"sessionContext" type:"structure"`
9911}
9912
9913// String returns the string representation
9914func (s FederatedUser) String() string {
9915	return awsutil.Prettify(s)
9916}
9917
9918// GoString returns the string representation
9919func (s FederatedUser) GoString() string {
9920	return s.String()
9921}
9922
9923// SetAccessKeyId sets the AccessKeyId field's value.
9924func (s *FederatedUser) SetAccessKeyId(v string) *FederatedUser {
9925	s.AccessKeyId = &v
9926	return s
9927}
9928
9929// SetAccountId sets the AccountId field's value.
9930func (s *FederatedUser) SetAccountId(v string) *FederatedUser {
9931	s.AccountId = &v
9932	return s
9933}
9934
9935// SetArn sets the Arn field's value.
9936func (s *FederatedUser) SetArn(v string) *FederatedUser {
9937	s.Arn = &v
9938	return s
9939}
9940
9941// SetPrincipalId sets the PrincipalId field's value.
9942func (s *FederatedUser) SetPrincipalId(v string) *FederatedUser {
9943	s.PrincipalId = &v
9944	return s
9945}
9946
9947// SetSessionContext sets the SessionContext field's value.
9948func (s *FederatedUser) SetSessionContext(v *SessionContext) *FederatedUser {
9949	s.SessionContext = v
9950	return s
9951}
9952
9953// Provides the details of a finding.
9954type Finding struct {
9955	_ struct{} `type:"structure"`
9956
9957	AccountId *string `locationName:"accountId" type:"string"`
9958
9959	Archived *bool `locationName:"archived" type:"boolean"`
9960
9961	// The category of the finding. Valid values are:
9962	Category *string `locationName:"category" type:"string" enum:"FindingCategory"`
9963
9964	// Provides information about a sensitive data finding, including the classification
9965	// job that produced the finding.
9966	ClassificationDetails *ClassificationDetails `locationName:"classificationDetails" type:"structure"`
9967
9968	Count *int64 `locationName:"count" type:"long"`
9969
9970	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"`
9971
9972	Description *string `locationName:"description" type:"string"`
9973
9974	Id *string `locationName:"id" type:"string"`
9975
9976	Partition *string `locationName:"partition" type:"string"`
9977
9978	// Provides the details of a policy finding.
9979	PolicyDetails *PolicyDetails `locationName:"policyDetails" type:"structure"`
9980
9981	Region *string `locationName:"region" type:"string"`
9982
9983	// Provides information about the resources that a finding applies to.
9984	ResourcesAffected *ResourcesAffected `locationName:"resourcesAffected" type:"structure"`
9985
9986	Sample *bool `locationName:"sample" type:"boolean"`
9987
9988	SchemaVersion *string `locationName:"schemaVersion" type:"string"`
9989
9990	// Provides the numerical and qualitative representations of a finding's severity.
9991	Severity *Severity `locationName:"severity" type:"structure"`
9992
9993	Title *string `locationName:"title" type:"string"`
9994
9995	// The type of finding. For details about each type, see Types of Amazon Macie
9996	// findings (https://docs.aws.amazon.com/macie/latest/user/findings-types.html)
9997	// in the Amazon Macie User Guide. Valid values are:
9998	Type *string `locationName:"type" type:"string" enum:"FindingType"`
9999
10000	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601"`
10001}
10002
10003// String returns the string representation
10004func (s Finding) String() string {
10005	return awsutil.Prettify(s)
10006}
10007
10008// GoString returns the string representation
10009func (s Finding) GoString() string {
10010	return s.String()
10011}
10012
10013// SetAccountId sets the AccountId field's value.
10014func (s *Finding) SetAccountId(v string) *Finding {
10015	s.AccountId = &v
10016	return s
10017}
10018
10019// SetArchived sets the Archived field's value.
10020func (s *Finding) SetArchived(v bool) *Finding {
10021	s.Archived = &v
10022	return s
10023}
10024
10025// SetCategory sets the Category field's value.
10026func (s *Finding) SetCategory(v string) *Finding {
10027	s.Category = &v
10028	return s
10029}
10030
10031// SetClassificationDetails sets the ClassificationDetails field's value.
10032func (s *Finding) SetClassificationDetails(v *ClassificationDetails) *Finding {
10033	s.ClassificationDetails = v
10034	return s
10035}
10036
10037// SetCount sets the Count field's value.
10038func (s *Finding) SetCount(v int64) *Finding {
10039	s.Count = &v
10040	return s
10041}
10042
10043// SetCreatedAt sets the CreatedAt field's value.
10044func (s *Finding) SetCreatedAt(v time.Time) *Finding {
10045	s.CreatedAt = &v
10046	return s
10047}
10048
10049// SetDescription sets the Description field's value.
10050func (s *Finding) SetDescription(v string) *Finding {
10051	s.Description = &v
10052	return s
10053}
10054
10055// SetId sets the Id field's value.
10056func (s *Finding) SetId(v string) *Finding {
10057	s.Id = &v
10058	return s
10059}
10060
10061// SetPartition sets the Partition field's value.
10062func (s *Finding) SetPartition(v string) *Finding {
10063	s.Partition = &v
10064	return s
10065}
10066
10067// SetPolicyDetails sets the PolicyDetails field's value.
10068func (s *Finding) SetPolicyDetails(v *PolicyDetails) *Finding {
10069	s.PolicyDetails = v
10070	return s
10071}
10072
10073// SetRegion sets the Region field's value.
10074func (s *Finding) SetRegion(v string) *Finding {
10075	s.Region = &v
10076	return s
10077}
10078
10079// SetResourcesAffected sets the ResourcesAffected field's value.
10080func (s *Finding) SetResourcesAffected(v *ResourcesAffected) *Finding {
10081	s.ResourcesAffected = v
10082	return s
10083}
10084
10085// SetSample sets the Sample field's value.
10086func (s *Finding) SetSample(v bool) *Finding {
10087	s.Sample = &v
10088	return s
10089}
10090
10091// SetSchemaVersion sets the SchemaVersion field's value.
10092func (s *Finding) SetSchemaVersion(v string) *Finding {
10093	s.SchemaVersion = &v
10094	return s
10095}
10096
10097// SetSeverity sets the Severity field's value.
10098func (s *Finding) SetSeverity(v *Severity) *Finding {
10099	s.Severity = v
10100	return s
10101}
10102
10103// SetTitle sets the Title field's value.
10104func (s *Finding) SetTitle(v string) *Finding {
10105	s.Title = &v
10106	return s
10107}
10108
10109// SetType sets the Type field's value.
10110func (s *Finding) SetType(v string) *Finding {
10111	s.Type = &v
10112	return s
10113}
10114
10115// SetUpdatedAt sets the UpdatedAt field's value.
10116func (s *Finding) SetUpdatedAt(v time.Time) *Finding {
10117	s.UpdatedAt = &v
10118	return s
10119}
10120
10121// Provides information about an action that occurred for a resource and produced
10122// a policy finding.
10123type FindingAction struct {
10124	_ struct{} `type:"structure"`
10125
10126	// The type of action that occurred for the resource and produced the policy
10127	// finding:
10128	ActionType *string `locationName:"actionType" type:"string" enum:"FindingActionType"`
10129
10130	// Provides information about an API operation that an entity invoked for an
10131	// affected resource.
10132	ApiCallDetails *ApiCallDetails `locationName:"apiCallDetails" type:"structure"`
10133}
10134
10135// String returns the string representation
10136func (s FindingAction) String() string {
10137	return awsutil.Prettify(s)
10138}
10139
10140// GoString returns the string representation
10141func (s FindingAction) GoString() string {
10142	return s.String()
10143}
10144
10145// SetActionType sets the ActionType field's value.
10146func (s *FindingAction) SetActionType(v string) *FindingAction {
10147	s.ActionType = &v
10148	return s
10149}
10150
10151// SetApiCallDetails sets the ApiCallDetails field's value.
10152func (s *FindingAction) SetApiCallDetails(v *ApiCallDetails) *FindingAction {
10153	s.ApiCallDetails = v
10154	return s
10155}
10156
10157// Provides information about an entity that performed an action that produced
10158// a policy finding for a resource.
10159type FindingActor struct {
10160	_ struct{} `type:"structure"`
10161
10162	// Provides information about the domain name of the device that an entity used
10163	// to perform an action on an affected resource.
10164	DomainDetails *DomainDetails `locationName:"domainDetails" type:"structure"`
10165
10166	// Provides information about the IP address of the device that an entity used
10167	// to perform an action on an affected resource.
10168	IpAddressDetails *IpAddressDetails `locationName:"ipAddressDetails" type:"structure"`
10169
10170	// Provides information about the type and other characteristics of an entity
10171	// that performed an action on an affected resource.
10172	UserIdentity *UserIdentity `locationName:"userIdentity" type:"structure"`
10173}
10174
10175// String returns the string representation
10176func (s FindingActor) String() string {
10177	return awsutil.Prettify(s)
10178}
10179
10180// GoString returns the string representation
10181func (s FindingActor) GoString() string {
10182	return s.String()
10183}
10184
10185// SetDomainDetails sets the DomainDetails field's value.
10186func (s *FindingActor) SetDomainDetails(v *DomainDetails) *FindingActor {
10187	s.DomainDetails = v
10188	return s
10189}
10190
10191// SetIpAddressDetails sets the IpAddressDetails field's value.
10192func (s *FindingActor) SetIpAddressDetails(v *IpAddressDetails) *FindingActor {
10193	s.IpAddressDetails = v
10194	return s
10195}
10196
10197// SetUserIdentity sets the UserIdentity field's value.
10198func (s *FindingActor) SetUserIdentity(v *UserIdentity) *FindingActor {
10199	s.UserIdentity = v
10200	return s
10201}
10202
10203// Specifies, as a map, one or more property-based conditions that filter the
10204// results of a query for findings.
10205type FindingCriteria struct {
10206	_ struct{} `type:"structure"`
10207
10208	// Specifies a condition that defines a property, operator, and one or more
10209	// values to filter the results of a query for findings. The number of values
10210	// depends on the property and operator specified by the condition. For information
10211	// about defining filter conditions, see Fundamentals of filtering findings
10212	// (https://docs.aws.amazon.com/macie/latest/user/findings-filter-basics.html)
10213	// in the Amazon Macie User Guide.
10214	Criterion map[string]*CriterionAdditionalProperties `locationName:"criterion" type:"map"`
10215}
10216
10217// String returns the string representation
10218func (s FindingCriteria) String() string {
10219	return awsutil.Prettify(s)
10220}
10221
10222// GoString returns the string representation
10223func (s FindingCriteria) GoString() string {
10224	return s.String()
10225}
10226
10227// SetCriterion sets the Criterion field's value.
10228func (s *FindingCriteria) SetCriterion(v map[string]*CriterionAdditionalProperties) *FindingCriteria {
10229	s.Criterion = v
10230	return s
10231}
10232
10233// Specifies criteria for sorting the results of a query that retrieves aggregated
10234// statistical data about findings.
10235type FindingStatisticsSortCriteria struct {
10236	_ struct{} `type:"structure"`
10237
10238	// The grouping to sort the results by. Valid values are:
10239	AttributeName *string `locationName:"attributeName" type:"string" enum:"FindingStatisticsSortAttributeName"`
10240
10241	OrderBy *string `locationName:"orderBy" type:"string" enum:"OrderBy"`
10242}
10243
10244// String returns the string representation
10245func (s FindingStatisticsSortCriteria) String() string {
10246	return awsutil.Prettify(s)
10247}
10248
10249// GoString returns the string representation
10250func (s FindingStatisticsSortCriteria) GoString() string {
10251	return s.String()
10252}
10253
10254// SetAttributeName sets the AttributeName field's value.
10255func (s *FindingStatisticsSortCriteria) SetAttributeName(v string) *FindingStatisticsSortCriteria {
10256	s.AttributeName = &v
10257	return s
10258}
10259
10260// SetOrderBy sets the OrderBy field's value.
10261func (s *FindingStatisticsSortCriteria) SetOrderBy(v string) *FindingStatisticsSortCriteria {
10262	s.OrderBy = &v
10263	return s
10264}
10265
10266// Provides information about a findings filter.
10267type FindingsFilterListItem struct {
10268	_ struct{} `type:"structure"`
10269
10270	// The action to perform on findings that meet the filter criteria. To suppress
10271	// (automatically archive) findings that meet the criteria, set this value to
10272	// ARCHIVE. Valid values are:
10273	Action *string `locationName:"action" type:"string" enum:"FindingsFilterAction"`
10274
10275	Arn *string `locationName:"arn" type:"string"`
10276
10277	Id *string `locationName:"id" type:"string"`
10278
10279	Name *string `locationName:"name" type:"string"`
10280
10281	// A string-to-string map of key-value pairs that specifies the tags (keys and
10282	// values) for a classification job, custom data identifier, findings filter,
10283	// or member account.
10284	Tags map[string]*string `locationName:"tags" type:"map"`
10285}
10286
10287// String returns the string representation
10288func (s FindingsFilterListItem) String() string {
10289	return awsutil.Prettify(s)
10290}
10291
10292// GoString returns the string representation
10293func (s FindingsFilterListItem) GoString() string {
10294	return s.String()
10295}
10296
10297// SetAction sets the Action field's value.
10298func (s *FindingsFilterListItem) SetAction(v string) *FindingsFilterListItem {
10299	s.Action = &v
10300	return s
10301}
10302
10303// SetArn sets the Arn field's value.
10304func (s *FindingsFilterListItem) SetArn(v string) *FindingsFilterListItem {
10305	s.Arn = &v
10306	return s
10307}
10308
10309// SetId sets the Id field's value.
10310func (s *FindingsFilterListItem) SetId(v string) *FindingsFilterListItem {
10311	s.Id = &v
10312	return s
10313}
10314
10315// SetName sets the Name field's value.
10316func (s *FindingsFilterListItem) SetName(v string) *FindingsFilterListItem {
10317	s.Name = &v
10318	return s
10319}
10320
10321// SetTags sets the Tags field's value.
10322func (s *FindingsFilterListItem) SetTags(v map[string]*string) *FindingsFilterListItem {
10323	s.Tags = v
10324	return s
10325}
10326
10327type GetAdministratorAccountInput struct {
10328	_ struct{} `type:"structure"`
10329}
10330
10331// String returns the string representation
10332func (s GetAdministratorAccountInput) String() string {
10333	return awsutil.Prettify(s)
10334}
10335
10336// GoString returns the string representation
10337func (s GetAdministratorAccountInput) GoString() string {
10338	return s.String()
10339}
10340
10341// Provides information about the Amazon Macie administrator account for an
10342// account. If the accounts are associated by a Macie membership invitation,
10343// the response also provides information about that invitation.
10344type GetAdministratorAccountOutput struct {
10345	_ struct{} `type:"structure"`
10346
10347	// Provides information about an Amazon Macie membership invitation that was
10348	// received by an account.
10349	Administrator *Invitation `locationName:"administrator" type:"structure"`
10350}
10351
10352// String returns the string representation
10353func (s GetAdministratorAccountOutput) String() string {
10354	return awsutil.Prettify(s)
10355}
10356
10357// GoString returns the string representation
10358func (s GetAdministratorAccountOutput) GoString() string {
10359	return s.String()
10360}
10361
10362// SetAdministrator sets the Administrator field's value.
10363func (s *GetAdministratorAccountOutput) SetAdministrator(v *Invitation) *GetAdministratorAccountOutput {
10364	s.Administrator = v
10365	return s
10366}
10367
10368// Specifies the account that owns the S3 buckets to retrieve aggregated statistical
10369// data for.
10370type GetBucketStatisticsInput struct {
10371	_ struct{} `type:"structure"`
10372
10373	AccountId *string `locationName:"accountId" type:"string"`
10374}
10375
10376// String returns the string representation
10377func (s GetBucketStatisticsInput) String() string {
10378	return awsutil.Prettify(s)
10379}
10380
10381// GoString returns the string representation
10382func (s GetBucketStatisticsInput) GoString() string {
10383	return s.String()
10384}
10385
10386// SetAccountId sets the AccountId field's value.
10387func (s *GetBucketStatisticsInput) SetAccountId(v string) *GetBucketStatisticsInput {
10388	s.AccountId = &v
10389	return s
10390}
10391
10392// Provides the results of a query that retrieved aggregated statistical data
10393// for all the S3 buckets that Amazon Macie monitors and analyzes for an account.
10394type GetBucketStatisticsOutput struct {
10395	_ struct{} `type:"structure"`
10396
10397	BucketCount *int64 `locationName:"bucketCount" type:"long"`
10398
10399	// Provides information about the number of S3 buckets that are publicly accessible
10400	// based on a combination of permissions settings for each bucket.
10401	BucketCountByEffectivePermission *BucketCountByEffectivePermission `locationName:"bucketCountByEffectivePermission" type:"structure"`
10402
10403	// Provides information about the number of S3 buckets that use certain types
10404	// of server-side encryption by default or don't encrypt new objects by default.
10405	// For detailed information about these settings, see Setting default server-side
10406	// encryption behavior for Amazon S3 buckets (https://docs.aws.amazon.com/AmazonS3/latest/userguide/bucket-encryption.html)
10407	// in the Amazon Simple Storage Service User Guide.
10408	BucketCountByEncryptionType *BucketCountByEncryptionType `locationName:"bucketCountByEncryptionType" type:"structure"`
10409
10410	// Provides information about the number of S3 buckets whose bucket policies
10411	// do or don't require server-side encryption of objects when objects are uploaded
10412	// to the buckets.
10413	BucketCountByObjectEncryptionRequirement *BucketCountPolicyAllowsUnencryptedObjectUploads `locationName:"bucketCountByObjectEncryptionRequirement" type:"structure"`
10414
10415	// Provides information about the number of S3 buckets that are or aren't shared
10416	// with other Amazon Web Services accounts.
10417	BucketCountBySharedAccessType *BucketCountBySharedAccessType `locationName:"bucketCountBySharedAccessType" type:"structure"`
10418
10419	ClassifiableObjectCount *int64 `locationName:"classifiableObjectCount" type:"long"`
10420
10421	ClassifiableSizeInBytes *int64 `locationName:"classifiableSizeInBytes" type:"long"`
10422
10423	LastUpdated *time.Time `locationName:"lastUpdated" type:"timestamp" timestampFormat:"iso8601"`
10424
10425	ObjectCount *int64 `locationName:"objectCount" type:"long"`
10426
10427	SizeInBytes *int64 `locationName:"sizeInBytes" type:"long"`
10428
10429	SizeInBytesCompressed *int64 `locationName:"sizeInBytesCompressed" type:"long"`
10430
10431	// Provides information about the total storage size (in bytes) or number of
10432	// objects that Amazon Macie can't analyze in one or more S3 buckets. In a BucketMetadata
10433	// or MatchingBucket object, this data is for a specific bucket. In a GetBucketStatisticsResponse
10434	// object, this data is aggregated for all the buckets in the query results.
10435	// If versioning is enabled for a bucket, total storage size values are based
10436	// on the size of the latest version of each applicable object in the bucket.
10437	UnclassifiableObjectCount *ObjectLevelStatistics `locationName:"unclassifiableObjectCount" type:"structure"`
10438
10439	// Provides information about the total storage size (in bytes) or number of
10440	// objects that Amazon Macie can't analyze in one or more S3 buckets. In a BucketMetadata
10441	// or MatchingBucket object, this data is for a specific bucket. In a GetBucketStatisticsResponse
10442	// object, this data is aggregated for all the buckets in the query results.
10443	// If versioning is enabled for a bucket, total storage size values are based
10444	// on the size of the latest version of each applicable object in the bucket.
10445	UnclassifiableObjectSizeInBytes *ObjectLevelStatistics `locationName:"unclassifiableObjectSizeInBytes" type:"structure"`
10446}
10447
10448// String returns the string representation
10449func (s GetBucketStatisticsOutput) String() string {
10450	return awsutil.Prettify(s)
10451}
10452
10453// GoString returns the string representation
10454func (s GetBucketStatisticsOutput) GoString() string {
10455	return s.String()
10456}
10457
10458// SetBucketCount sets the BucketCount field's value.
10459func (s *GetBucketStatisticsOutput) SetBucketCount(v int64) *GetBucketStatisticsOutput {
10460	s.BucketCount = &v
10461	return s
10462}
10463
10464// SetBucketCountByEffectivePermission sets the BucketCountByEffectivePermission field's value.
10465func (s *GetBucketStatisticsOutput) SetBucketCountByEffectivePermission(v *BucketCountByEffectivePermission) *GetBucketStatisticsOutput {
10466	s.BucketCountByEffectivePermission = v
10467	return s
10468}
10469
10470// SetBucketCountByEncryptionType sets the BucketCountByEncryptionType field's value.
10471func (s *GetBucketStatisticsOutput) SetBucketCountByEncryptionType(v *BucketCountByEncryptionType) *GetBucketStatisticsOutput {
10472	s.BucketCountByEncryptionType = v
10473	return s
10474}
10475
10476// SetBucketCountByObjectEncryptionRequirement sets the BucketCountByObjectEncryptionRequirement field's value.
10477func (s *GetBucketStatisticsOutput) SetBucketCountByObjectEncryptionRequirement(v *BucketCountPolicyAllowsUnencryptedObjectUploads) *GetBucketStatisticsOutput {
10478	s.BucketCountByObjectEncryptionRequirement = v
10479	return s
10480}
10481
10482// SetBucketCountBySharedAccessType sets the BucketCountBySharedAccessType field's value.
10483func (s *GetBucketStatisticsOutput) SetBucketCountBySharedAccessType(v *BucketCountBySharedAccessType) *GetBucketStatisticsOutput {
10484	s.BucketCountBySharedAccessType = v
10485	return s
10486}
10487
10488// SetClassifiableObjectCount sets the ClassifiableObjectCount field's value.
10489func (s *GetBucketStatisticsOutput) SetClassifiableObjectCount(v int64) *GetBucketStatisticsOutput {
10490	s.ClassifiableObjectCount = &v
10491	return s
10492}
10493
10494// SetClassifiableSizeInBytes sets the ClassifiableSizeInBytes field's value.
10495func (s *GetBucketStatisticsOutput) SetClassifiableSizeInBytes(v int64) *GetBucketStatisticsOutput {
10496	s.ClassifiableSizeInBytes = &v
10497	return s
10498}
10499
10500// SetLastUpdated sets the LastUpdated field's value.
10501func (s *GetBucketStatisticsOutput) SetLastUpdated(v time.Time) *GetBucketStatisticsOutput {
10502	s.LastUpdated = &v
10503	return s
10504}
10505
10506// SetObjectCount sets the ObjectCount field's value.
10507func (s *GetBucketStatisticsOutput) SetObjectCount(v int64) *GetBucketStatisticsOutput {
10508	s.ObjectCount = &v
10509	return s
10510}
10511
10512// SetSizeInBytes sets the SizeInBytes field's value.
10513func (s *GetBucketStatisticsOutput) SetSizeInBytes(v int64) *GetBucketStatisticsOutput {
10514	s.SizeInBytes = &v
10515	return s
10516}
10517
10518// SetSizeInBytesCompressed sets the SizeInBytesCompressed field's value.
10519func (s *GetBucketStatisticsOutput) SetSizeInBytesCompressed(v int64) *GetBucketStatisticsOutput {
10520	s.SizeInBytesCompressed = &v
10521	return s
10522}
10523
10524// SetUnclassifiableObjectCount sets the UnclassifiableObjectCount field's value.
10525func (s *GetBucketStatisticsOutput) SetUnclassifiableObjectCount(v *ObjectLevelStatistics) *GetBucketStatisticsOutput {
10526	s.UnclassifiableObjectCount = v
10527	return s
10528}
10529
10530// SetUnclassifiableObjectSizeInBytes sets the UnclassifiableObjectSizeInBytes field's value.
10531func (s *GetBucketStatisticsOutput) SetUnclassifiableObjectSizeInBytes(v *ObjectLevelStatistics) *GetBucketStatisticsOutput {
10532	s.UnclassifiableObjectSizeInBytes = v
10533	return s
10534}
10535
10536type GetClassificationExportConfigurationInput struct {
10537	_ struct{} `type:"structure"`
10538}
10539
10540// String returns the string representation
10541func (s GetClassificationExportConfigurationInput) String() string {
10542	return awsutil.Prettify(s)
10543}
10544
10545// GoString returns the string representation
10546func (s GetClassificationExportConfigurationInput) GoString() string {
10547	return s.String()
10548}
10549
10550// Provides information about the current configuration settings for storing
10551// data classification results.
10552type GetClassificationExportConfigurationOutput struct {
10553	_ struct{} `type:"structure"`
10554
10555	// Specifies where to store data classification results, and the encryption
10556	// settings to use when storing results in that location. Currently, you can
10557	// store classification results only in an S3 bucket.
10558	Configuration *ClassificationExportConfiguration `locationName:"configuration" type:"structure"`
10559}
10560
10561// String returns the string representation
10562func (s GetClassificationExportConfigurationOutput) String() string {
10563	return awsutil.Prettify(s)
10564}
10565
10566// GoString returns the string representation
10567func (s GetClassificationExportConfigurationOutput) GoString() string {
10568	return s.String()
10569}
10570
10571// SetConfiguration sets the Configuration field's value.
10572func (s *GetClassificationExportConfigurationOutput) SetConfiguration(v *ClassificationExportConfiguration) *GetClassificationExportConfigurationOutput {
10573	s.Configuration = v
10574	return s
10575}
10576
10577type GetCustomDataIdentifierInput struct {
10578	_ struct{} `type:"structure"`
10579
10580	// Id is a required field
10581	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
10582}
10583
10584// String returns the string representation
10585func (s GetCustomDataIdentifierInput) String() string {
10586	return awsutil.Prettify(s)
10587}
10588
10589// GoString returns the string representation
10590func (s GetCustomDataIdentifierInput) GoString() string {
10591	return s.String()
10592}
10593
10594// Validate inspects the fields of the type to determine if they are valid.
10595func (s *GetCustomDataIdentifierInput) Validate() error {
10596	invalidParams := request.ErrInvalidParams{Context: "GetCustomDataIdentifierInput"}
10597	if s.Id == nil {
10598		invalidParams.Add(request.NewErrParamRequired("Id"))
10599	}
10600	if s.Id != nil && len(*s.Id) < 1 {
10601		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
10602	}
10603
10604	if invalidParams.Len() > 0 {
10605		return invalidParams
10606	}
10607	return nil
10608}
10609
10610// SetId sets the Id field's value.
10611func (s *GetCustomDataIdentifierInput) SetId(v string) *GetCustomDataIdentifierInput {
10612	s.Id = &v
10613	return s
10614}
10615
10616// Provides information about the criteria and other settings for a custom data
10617// identifier.
10618type GetCustomDataIdentifierOutput struct {
10619	_ struct{} `type:"structure"`
10620
10621	Arn *string `locationName:"arn" type:"string"`
10622
10623	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"`
10624
10625	Deleted *bool `locationName:"deleted" type:"boolean"`
10626
10627	Description *string `locationName:"description" type:"string"`
10628
10629	Id *string `locationName:"id" type:"string"`
10630
10631	IgnoreWords []*string `locationName:"ignoreWords" type:"list"`
10632
10633	Keywords []*string `locationName:"keywords" type:"list"`
10634
10635	MaximumMatchDistance *int64 `locationName:"maximumMatchDistance" type:"integer"`
10636
10637	Name *string `locationName:"name" type:"string"`
10638
10639	Regex *string `locationName:"regex" type:"string"`
10640
10641	// A string-to-string map of key-value pairs that specifies the tags (keys and
10642	// values) for a classification job, custom data identifier, findings filter,
10643	// or member account.
10644	Tags map[string]*string `locationName:"tags" type:"map"`
10645}
10646
10647// String returns the string representation
10648func (s GetCustomDataIdentifierOutput) String() string {
10649	return awsutil.Prettify(s)
10650}
10651
10652// GoString returns the string representation
10653func (s GetCustomDataIdentifierOutput) GoString() string {
10654	return s.String()
10655}
10656
10657// SetArn sets the Arn field's value.
10658func (s *GetCustomDataIdentifierOutput) SetArn(v string) *GetCustomDataIdentifierOutput {
10659	s.Arn = &v
10660	return s
10661}
10662
10663// SetCreatedAt sets the CreatedAt field's value.
10664func (s *GetCustomDataIdentifierOutput) SetCreatedAt(v time.Time) *GetCustomDataIdentifierOutput {
10665	s.CreatedAt = &v
10666	return s
10667}
10668
10669// SetDeleted sets the Deleted field's value.
10670func (s *GetCustomDataIdentifierOutput) SetDeleted(v bool) *GetCustomDataIdentifierOutput {
10671	s.Deleted = &v
10672	return s
10673}
10674
10675// SetDescription sets the Description field's value.
10676func (s *GetCustomDataIdentifierOutput) SetDescription(v string) *GetCustomDataIdentifierOutput {
10677	s.Description = &v
10678	return s
10679}
10680
10681// SetId sets the Id field's value.
10682func (s *GetCustomDataIdentifierOutput) SetId(v string) *GetCustomDataIdentifierOutput {
10683	s.Id = &v
10684	return s
10685}
10686
10687// SetIgnoreWords sets the IgnoreWords field's value.
10688func (s *GetCustomDataIdentifierOutput) SetIgnoreWords(v []*string) *GetCustomDataIdentifierOutput {
10689	s.IgnoreWords = v
10690	return s
10691}
10692
10693// SetKeywords sets the Keywords field's value.
10694func (s *GetCustomDataIdentifierOutput) SetKeywords(v []*string) *GetCustomDataIdentifierOutput {
10695	s.Keywords = v
10696	return s
10697}
10698
10699// SetMaximumMatchDistance sets the MaximumMatchDistance field's value.
10700func (s *GetCustomDataIdentifierOutput) SetMaximumMatchDistance(v int64) *GetCustomDataIdentifierOutput {
10701	s.MaximumMatchDistance = &v
10702	return s
10703}
10704
10705// SetName sets the Name field's value.
10706func (s *GetCustomDataIdentifierOutput) SetName(v string) *GetCustomDataIdentifierOutput {
10707	s.Name = &v
10708	return s
10709}
10710
10711// SetRegex sets the Regex field's value.
10712func (s *GetCustomDataIdentifierOutput) SetRegex(v string) *GetCustomDataIdentifierOutput {
10713	s.Regex = &v
10714	return s
10715}
10716
10717// SetTags sets the Tags field's value.
10718func (s *GetCustomDataIdentifierOutput) SetTags(v map[string]*string) *GetCustomDataIdentifierOutput {
10719	s.Tags = v
10720	return s
10721}
10722
10723// Specifies criteria for filtering, grouping, sorting, and paginating the results
10724// of a query that retrieves aggregated statistical data about findings.
10725type GetFindingStatisticsInput struct {
10726	_ struct{} `type:"structure"`
10727
10728	// Specifies, as a map, one or more property-based conditions that filter the
10729	// results of a query for findings.
10730	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"`
10731
10732	// GroupBy is a required field
10733	GroupBy *string `locationName:"groupBy" type:"string" required:"true" enum:"GroupBy"`
10734
10735	Size *int64 `locationName:"size" type:"integer"`
10736
10737	// Specifies criteria for sorting the results of a query that retrieves aggregated
10738	// statistical data about findings.
10739	SortCriteria *FindingStatisticsSortCriteria `locationName:"sortCriteria" type:"structure"`
10740}
10741
10742// String returns the string representation
10743func (s GetFindingStatisticsInput) String() string {
10744	return awsutil.Prettify(s)
10745}
10746
10747// GoString returns the string representation
10748func (s GetFindingStatisticsInput) GoString() string {
10749	return s.String()
10750}
10751
10752// Validate inspects the fields of the type to determine if they are valid.
10753func (s *GetFindingStatisticsInput) Validate() error {
10754	invalidParams := request.ErrInvalidParams{Context: "GetFindingStatisticsInput"}
10755	if s.GroupBy == nil {
10756		invalidParams.Add(request.NewErrParamRequired("GroupBy"))
10757	}
10758
10759	if invalidParams.Len() > 0 {
10760		return invalidParams
10761	}
10762	return nil
10763}
10764
10765// SetFindingCriteria sets the FindingCriteria field's value.
10766func (s *GetFindingStatisticsInput) SetFindingCriteria(v *FindingCriteria) *GetFindingStatisticsInput {
10767	s.FindingCriteria = v
10768	return s
10769}
10770
10771// SetGroupBy sets the GroupBy field's value.
10772func (s *GetFindingStatisticsInput) SetGroupBy(v string) *GetFindingStatisticsInput {
10773	s.GroupBy = &v
10774	return s
10775}
10776
10777// SetSize sets the Size field's value.
10778func (s *GetFindingStatisticsInput) SetSize(v int64) *GetFindingStatisticsInput {
10779	s.Size = &v
10780	return s
10781}
10782
10783// SetSortCriteria sets the SortCriteria field's value.
10784func (s *GetFindingStatisticsInput) SetSortCriteria(v *FindingStatisticsSortCriteria) *GetFindingStatisticsInput {
10785	s.SortCriteria = v
10786	return s
10787}
10788
10789// Provides the results of a query that retrieved aggregated statistical data
10790// about findings.
10791type GetFindingStatisticsOutput struct {
10792	_ struct{} `type:"structure"`
10793
10794	CountsByGroup []*GroupCount `locationName:"countsByGroup" type:"list"`
10795}
10796
10797// String returns the string representation
10798func (s GetFindingStatisticsOutput) String() string {
10799	return awsutil.Prettify(s)
10800}
10801
10802// GoString returns the string representation
10803func (s GetFindingStatisticsOutput) GoString() string {
10804	return s.String()
10805}
10806
10807// SetCountsByGroup sets the CountsByGroup field's value.
10808func (s *GetFindingStatisticsOutput) SetCountsByGroup(v []*GroupCount) *GetFindingStatisticsOutput {
10809	s.CountsByGroup = v
10810	return s
10811}
10812
10813type GetFindingsFilterInput struct {
10814	_ struct{} `type:"structure"`
10815
10816	// Id is a required field
10817	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
10818}
10819
10820// String returns the string representation
10821func (s GetFindingsFilterInput) String() string {
10822	return awsutil.Prettify(s)
10823}
10824
10825// GoString returns the string representation
10826func (s GetFindingsFilterInput) GoString() string {
10827	return s.String()
10828}
10829
10830// Validate inspects the fields of the type to determine if they are valid.
10831func (s *GetFindingsFilterInput) Validate() error {
10832	invalidParams := request.ErrInvalidParams{Context: "GetFindingsFilterInput"}
10833	if s.Id == nil {
10834		invalidParams.Add(request.NewErrParamRequired("Id"))
10835	}
10836	if s.Id != nil && len(*s.Id) < 1 {
10837		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
10838	}
10839
10840	if invalidParams.Len() > 0 {
10841		return invalidParams
10842	}
10843	return nil
10844}
10845
10846// SetId sets the Id field's value.
10847func (s *GetFindingsFilterInput) SetId(v string) *GetFindingsFilterInput {
10848	s.Id = &v
10849	return s
10850}
10851
10852// Provides information about the criteria and other settings for a findings
10853// filter.
10854type GetFindingsFilterOutput struct {
10855	_ struct{} `type:"structure"`
10856
10857	// The action to perform on findings that meet the filter criteria. To suppress
10858	// (automatically archive) findings that meet the criteria, set this value to
10859	// ARCHIVE. Valid values are:
10860	Action *string `locationName:"action" type:"string" enum:"FindingsFilterAction"`
10861
10862	Arn *string `locationName:"arn" type:"string"`
10863
10864	Description *string `locationName:"description" type:"string"`
10865
10866	// Specifies, as a map, one or more property-based conditions that filter the
10867	// results of a query for findings.
10868	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"`
10869
10870	Id *string `locationName:"id" type:"string"`
10871
10872	Name *string `locationName:"name" type:"string"`
10873
10874	Position *int64 `locationName:"position" type:"integer"`
10875
10876	// A string-to-string map of key-value pairs that specifies the tags (keys and
10877	// values) for a classification job, custom data identifier, findings filter,
10878	// or member account.
10879	Tags map[string]*string `locationName:"tags" type:"map"`
10880}
10881
10882// String returns the string representation
10883func (s GetFindingsFilterOutput) String() string {
10884	return awsutil.Prettify(s)
10885}
10886
10887// GoString returns the string representation
10888func (s GetFindingsFilterOutput) GoString() string {
10889	return s.String()
10890}
10891
10892// SetAction sets the Action field's value.
10893func (s *GetFindingsFilterOutput) SetAction(v string) *GetFindingsFilterOutput {
10894	s.Action = &v
10895	return s
10896}
10897
10898// SetArn sets the Arn field's value.
10899func (s *GetFindingsFilterOutput) SetArn(v string) *GetFindingsFilterOutput {
10900	s.Arn = &v
10901	return s
10902}
10903
10904// SetDescription sets the Description field's value.
10905func (s *GetFindingsFilterOutput) SetDescription(v string) *GetFindingsFilterOutput {
10906	s.Description = &v
10907	return s
10908}
10909
10910// SetFindingCriteria sets the FindingCriteria field's value.
10911func (s *GetFindingsFilterOutput) SetFindingCriteria(v *FindingCriteria) *GetFindingsFilterOutput {
10912	s.FindingCriteria = v
10913	return s
10914}
10915
10916// SetId sets the Id field's value.
10917func (s *GetFindingsFilterOutput) SetId(v string) *GetFindingsFilterOutput {
10918	s.Id = &v
10919	return s
10920}
10921
10922// SetName sets the Name field's value.
10923func (s *GetFindingsFilterOutput) SetName(v string) *GetFindingsFilterOutput {
10924	s.Name = &v
10925	return s
10926}
10927
10928// SetPosition sets the Position field's value.
10929func (s *GetFindingsFilterOutput) SetPosition(v int64) *GetFindingsFilterOutput {
10930	s.Position = &v
10931	return s
10932}
10933
10934// SetTags sets the Tags field's value.
10935func (s *GetFindingsFilterOutput) SetTags(v map[string]*string) *GetFindingsFilterOutput {
10936	s.Tags = v
10937	return s
10938}
10939
10940// Specifies one or more findings to retrieve.
10941type GetFindingsInput struct {
10942	_ struct{} `type:"structure"`
10943
10944	// FindingIds is a required field
10945	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
10946
10947	// Specifies criteria for sorting the results of a request for findings.
10948	SortCriteria *SortCriteria `locationName:"sortCriteria" type:"structure"`
10949}
10950
10951// String returns the string representation
10952func (s GetFindingsInput) String() string {
10953	return awsutil.Prettify(s)
10954}
10955
10956// GoString returns the string representation
10957func (s GetFindingsInput) GoString() string {
10958	return s.String()
10959}
10960
10961// Validate inspects the fields of the type to determine if they are valid.
10962func (s *GetFindingsInput) Validate() error {
10963	invalidParams := request.ErrInvalidParams{Context: "GetFindingsInput"}
10964	if s.FindingIds == nil {
10965		invalidParams.Add(request.NewErrParamRequired("FindingIds"))
10966	}
10967
10968	if invalidParams.Len() > 0 {
10969		return invalidParams
10970	}
10971	return nil
10972}
10973
10974// SetFindingIds sets the FindingIds field's value.
10975func (s *GetFindingsInput) SetFindingIds(v []*string) *GetFindingsInput {
10976	s.FindingIds = v
10977	return s
10978}
10979
10980// SetSortCriteria sets the SortCriteria field's value.
10981func (s *GetFindingsInput) SetSortCriteria(v *SortCriteria) *GetFindingsInput {
10982	s.SortCriteria = v
10983	return s
10984}
10985
10986// Provides the results of a request for one or more findings.
10987type GetFindingsOutput struct {
10988	_ struct{} `type:"structure"`
10989
10990	Findings []*Finding `locationName:"findings" type:"list"`
10991}
10992
10993// String returns the string representation
10994func (s GetFindingsOutput) String() string {
10995	return awsutil.Prettify(s)
10996}
10997
10998// GoString returns the string representation
10999func (s GetFindingsOutput) GoString() string {
11000	return s.String()
11001}
11002
11003// SetFindings sets the Findings field's value.
11004func (s *GetFindingsOutput) SetFindings(v []*Finding) *GetFindingsOutput {
11005	s.Findings = v
11006	return s
11007}
11008
11009type GetFindingsPublicationConfigurationInput struct {
11010	_ struct{} `type:"structure"`
11011}
11012
11013// String returns the string representation
11014func (s GetFindingsPublicationConfigurationInput) String() string {
11015	return awsutil.Prettify(s)
11016}
11017
11018// GoString returns the string representation
11019func (s GetFindingsPublicationConfigurationInput) GoString() string {
11020	return s.String()
11021}
11022
11023// Provides information about the current configuration settings for publishing
11024// findings to Security Hub automatically.
11025type GetFindingsPublicationConfigurationOutput struct {
11026	_ struct{} `type:"structure"`
11027
11028	// Specifies configuration settings that determine which findings are published
11029	// to Security Hub automatically. For information about how Macie publishes
11030	// findings to Security Hub, see Amazon Macie integration with Security Hub
11031	// (https://docs.aws.amazon.com/macie/latest/user/securityhub-integration.html)
11032	// in the Amazon Macie User Guide.
11033	SecurityHubConfiguration *SecurityHubConfiguration `locationName:"securityHubConfiguration" type:"structure"`
11034}
11035
11036// String returns the string representation
11037func (s GetFindingsPublicationConfigurationOutput) String() string {
11038	return awsutil.Prettify(s)
11039}
11040
11041// GoString returns the string representation
11042func (s GetFindingsPublicationConfigurationOutput) GoString() string {
11043	return s.String()
11044}
11045
11046// SetSecurityHubConfiguration sets the SecurityHubConfiguration field's value.
11047func (s *GetFindingsPublicationConfigurationOutput) SetSecurityHubConfiguration(v *SecurityHubConfiguration) *GetFindingsPublicationConfigurationOutput {
11048	s.SecurityHubConfiguration = v
11049	return s
11050}
11051
11052type GetInvitationsCountInput struct {
11053	_ struct{} `type:"structure"`
11054}
11055
11056// String returns the string representation
11057func (s GetInvitationsCountInput) String() string {
11058	return awsutil.Prettify(s)
11059}
11060
11061// GoString returns the string representation
11062func (s GetInvitationsCountInput) GoString() string {
11063	return s.String()
11064}
11065
11066// Provides the count of all the Amazon Macie membership invitations that were
11067// received by an account, not including the currently accepted invitation.
11068type GetInvitationsCountOutput struct {
11069	_ struct{} `type:"structure"`
11070
11071	InvitationsCount *int64 `locationName:"invitationsCount" type:"long"`
11072}
11073
11074// String returns the string representation
11075func (s GetInvitationsCountOutput) String() string {
11076	return awsutil.Prettify(s)
11077}
11078
11079// GoString returns the string representation
11080func (s GetInvitationsCountOutput) GoString() string {
11081	return s.String()
11082}
11083
11084// SetInvitationsCount sets the InvitationsCount field's value.
11085func (s *GetInvitationsCountOutput) SetInvitationsCount(v int64) *GetInvitationsCountOutput {
11086	s.InvitationsCount = &v
11087	return s
11088}
11089
11090type GetMacieSessionInput struct {
11091	_ struct{} `type:"structure"`
11092}
11093
11094// String returns the string representation
11095func (s GetMacieSessionInput) String() string {
11096	return awsutil.Prettify(s)
11097}
11098
11099// GoString returns the string representation
11100func (s GetMacieSessionInput) GoString() string {
11101	return s.String()
11102}
11103
11104// Provides information about the current status and configuration settings
11105// for an Amazon Macie account.
11106type GetMacieSessionOutput struct {
11107	_ struct{} `type:"structure"`
11108
11109	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"`
11110
11111	// The frequency with which Amazon Macie publishes updates to policy findings
11112	// for an account. This includes publishing updates to Security Hub and Amazon
11113	// EventBridge (formerly called Amazon CloudWatch Events). For more information,
11114	// see Monitoring and processing findings (https://docs.aws.amazon.com/macie/latest/user/findings-monitor.html)
11115	// in the Amazon Macie User Guide. Valid values are:
11116	FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"`
11117
11118	ServiceRole *string `locationName:"serviceRole" type:"string"`
11119
11120	// The status of an Amazon Macie account. Valid values are:
11121	Status *string `locationName:"status" type:"string" enum:"MacieStatus"`
11122
11123	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601"`
11124}
11125
11126// String returns the string representation
11127func (s GetMacieSessionOutput) String() string {
11128	return awsutil.Prettify(s)
11129}
11130
11131// GoString returns the string representation
11132func (s GetMacieSessionOutput) GoString() string {
11133	return s.String()
11134}
11135
11136// SetCreatedAt sets the CreatedAt field's value.
11137func (s *GetMacieSessionOutput) SetCreatedAt(v time.Time) *GetMacieSessionOutput {
11138	s.CreatedAt = &v
11139	return s
11140}
11141
11142// SetFindingPublishingFrequency sets the FindingPublishingFrequency field's value.
11143func (s *GetMacieSessionOutput) SetFindingPublishingFrequency(v string) *GetMacieSessionOutput {
11144	s.FindingPublishingFrequency = &v
11145	return s
11146}
11147
11148// SetServiceRole sets the ServiceRole field's value.
11149func (s *GetMacieSessionOutput) SetServiceRole(v string) *GetMacieSessionOutput {
11150	s.ServiceRole = &v
11151	return s
11152}
11153
11154// SetStatus sets the Status field's value.
11155func (s *GetMacieSessionOutput) SetStatus(v string) *GetMacieSessionOutput {
11156	s.Status = &v
11157	return s
11158}
11159
11160// SetUpdatedAt sets the UpdatedAt field's value.
11161func (s *GetMacieSessionOutput) SetUpdatedAt(v time.Time) *GetMacieSessionOutput {
11162	s.UpdatedAt = &v
11163	return s
11164}
11165
11166type GetMasterAccountInput struct {
11167	_ struct{} `type:"structure"`
11168}
11169
11170// String returns the string representation
11171func (s GetMasterAccountInput) String() string {
11172	return awsutil.Prettify(s)
11173}
11174
11175// GoString returns the string representation
11176func (s GetMasterAccountInput) GoString() string {
11177	return s.String()
11178}
11179
11180// (Deprecated) Provides information about the Amazon Macie administrator account
11181// for an account. If the accounts are associated by a Macie membership invitation,
11182// the response also provides information about that invitation.
11183type GetMasterAccountOutput struct {
11184	_ struct{} `type:"structure"`
11185
11186	// Provides information about an Amazon Macie membership invitation that was
11187	// received by an account.
11188	Master *Invitation `locationName:"master" type:"structure"`
11189}
11190
11191// String returns the string representation
11192func (s GetMasterAccountOutput) String() string {
11193	return awsutil.Prettify(s)
11194}
11195
11196// GoString returns the string representation
11197func (s GetMasterAccountOutput) GoString() string {
11198	return s.String()
11199}
11200
11201// SetMaster sets the Master field's value.
11202func (s *GetMasterAccountOutput) SetMaster(v *Invitation) *GetMasterAccountOutput {
11203	s.Master = v
11204	return s
11205}
11206
11207type GetMemberInput struct {
11208	_ struct{} `type:"structure"`
11209
11210	// Id is a required field
11211	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
11212}
11213
11214// String returns the string representation
11215func (s GetMemberInput) String() string {
11216	return awsutil.Prettify(s)
11217}
11218
11219// GoString returns the string representation
11220func (s GetMemberInput) GoString() string {
11221	return s.String()
11222}
11223
11224// Validate inspects the fields of the type to determine if they are valid.
11225func (s *GetMemberInput) Validate() error {
11226	invalidParams := request.ErrInvalidParams{Context: "GetMemberInput"}
11227	if s.Id == nil {
11228		invalidParams.Add(request.NewErrParamRequired("Id"))
11229	}
11230	if s.Id != nil && len(*s.Id) < 1 {
11231		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
11232	}
11233
11234	if invalidParams.Len() > 0 {
11235		return invalidParams
11236	}
11237	return nil
11238}
11239
11240// SetId sets the Id field's value.
11241func (s *GetMemberInput) SetId(v string) *GetMemberInput {
11242	s.Id = &v
11243	return s
11244}
11245
11246// Provides information about an account that's associated with an Amazon Macie
11247// administrator account.
11248type GetMemberOutput struct {
11249	_ struct{} `type:"structure"`
11250
11251	AccountId *string `locationName:"accountId" type:"string"`
11252
11253	AdministratorAccountId *string `locationName:"administratorAccountId" type:"string"`
11254
11255	Arn *string `locationName:"arn" type:"string"`
11256
11257	Email *string `locationName:"email" type:"string"`
11258
11259	InvitedAt *time.Time `locationName:"invitedAt" type:"timestamp" timestampFormat:"iso8601"`
11260
11261	MasterAccountId *string `locationName:"masterAccountId" type:"string"`
11262
11263	// The current status of the relationship between an account and an associated
11264	// Amazon Macie administrator account (inviter account). Possible values are:
11265	RelationshipStatus *string `locationName:"relationshipStatus" type:"string" enum:"RelationshipStatus"`
11266
11267	// A string-to-string map of key-value pairs that specifies the tags (keys and
11268	// values) for a classification job, custom data identifier, findings filter,
11269	// or member account.
11270	Tags map[string]*string `locationName:"tags" type:"map"`
11271
11272	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601"`
11273}
11274
11275// String returns the string representation
11276func (s GetMemberOutput) String() string {
11277	return awsutil.Prettify(s)
11278}
11279
11280// GoString returns the string representation
11281func (s GetMemberOutput) GoString() string {
11282	return s.String()
11283}
11284
11285// SetAccountId sets the AccountId field's value.
11286func (s *GetMemberOutput) SetAccountId(v string) *GetMemberOutput {
11287	s.AccountId = &v
11288	return s
11289}
11290
11291// SetAdministratorAccountId sets the AdministratorAccountId field's value.
11292func (s *GetMemberOutput) SetAdministratorAccountId(v string) *GetMemberOutput {
11293	s.AdministratorAccountId = &v
11294	return s
11295}
11296
11297// SetArn sets the Arn field's value.
11298func (s *GetMemberOutput) SetArn(v string) *GetMemberOutput {
11299	s.Arn = &v
11300	return s
11301}
11302
11303// SetEmail sets the Email field's value.
11304func (s *GetMemberOutput) SetEmail(v string) *GetMemberOutput {
11305	s.Email = &v
11306	return s
11307}
11308
11309// SetInvitedAt sets the InvitedAt field's value.
11310func (s *GetMemberOutput) SetInvitedAt(v time.Time) *GetMemberOutput {
11311	s.InvitedAt = &v
11312	return s
11313}
11314
11315// SetMasterAccountId sets the MasterAccountId field's value.
11316func (s *GetMemberOutput) SetMasterAccountId(v string) *GetMemberOutput {
11317	s.MasterAccountId = &v
11318	return s
11319}
11320
11321// SetRelationshipStatus sets the RelationshipStatus field's value.
11322func (s *GetMemberOutput) SetRelationshipStatus(v string) *GetMemberOutput {
11323	s.RelationshipStatus = &v
11324	return s
11325}
11326
11327// SetTags sets the Tags field's value.
11328func (s *GetMemberOutput) SetTags(v map[string]*string) *GetMemberOutput {
11329	s.Tags = v
11330	return s
11331}
11332
11333// SetUpdatedAt sets the UpdatedAt field's value.
11334func (s *GetMemberOutput) SetUpdatedAt(v time.Time) *GetMemberOutput {
11335	s.UpdatedAt = &v
11336	return s
11337}
11338
11339// Specifies criteria for filtering, sorting, and paginating the results of
11340// a query for quotas and aggregated usage data for one or more Amazon Macie
11341// accounts.
11342type GetUsageStatisticsInput struct {
11343	_ struct{} `type:"structure"`
11344
11345	FilterBy []*UsageStatisticsFilter `locationName:"filterBy" type:"list"`
11346
11347	MaxResults *int64 `locationName:"maxResults" type:"integer"`
11348
11349	NextToken *string `locationName:"nextToken" type:"string"`
11350
11351	// Specifies criteria for sorting the results of a query for Amazon Macie account
11352	// quotas and usage data.
11353	SortBy *UsageStatisticsSortBy `locationName:"sortBy" type:"structure"`
11354
11355	// An inclusive time period that Amazon Macie usage data applies to. Possible
11356	// values are:
11357	TimeRange *string `locationName:"timeRange" type:"string" enum:"TimeRange"`
11358}
11359
11360// String returns the string representation
11361func (s GetUsageStatisticsInput) String() string {
11362	return awsutil.Prettify(s)
11363}
11364
11365// GoString returns the string representation
11366func (s GetUsageStatisticsInput) GoString() string {
11367	return s.String()
11368}
11369
11370// SetFilterBy sets the FilterBy field's value.
11371func (s *GetUsageStatisticsInput) SetFilterBy(v []*UsageStatisticsFilter) *GetUsageStatisticsInput {
11372	s.FilterBy = v
11373	return s
11374}
11375
11376// SetMaxResults sets the MaxResults field's value.
11377func (s *GetUsageStatisticsInput) SetMaxResults(v int64) *GetUsageStatisticsInput {
11378	s.MaxResults = &v
11379	return s
11380}
11381
11382// SetNextToken sets the NextToken field's value.
11383func (s *GetUsageStatisticsInput) SetNextToken(v string) *GetUsageStatisticsInput {
11384	s.NextToken = &v
11385	return s
11386}
11387
11388// SetSortBy sets the SortBy field's value.
11389func (s *GetUsageStatisticsInput) SetSortBy(v *UsageStatisticsSortBy) *GetUsageStatisticsInput {
11390	s.SortBy = v
11391	return s
11392}
11393
11394// SetTimeRange sets the TimeRange field's value.
11395func (s *GetUsageStatisticsInput) SetTimeRange(v string) *GetUsageStatisticsInput {
11396	s.TimeRange = &v
11397	return s
11398}
11399
11400// Provides the results of a query that retrieved quotas and aggregated usage
11401// data for one or more Amazon Macie accounts.
11402type GetUsageStatisticsOutput struct {
11403	_ struct{} `type:"structure"`
11404
11405	NextToken *string `locationName:"nextToken" type:"string"`
11406
11407	Records []*UsageRecord `locationName:"records" type:"list"`
11408
11409	// An inclusive time period that Amazon Macie usage data applies to. Possible
11410	// values are:
11411	TimeRange *string `locationName:"timeRange" type:"string" enum:"TimeRange"`
11412}
11413
11414// String returns the string representation
11415func (s GetUsageStatisticsOutput) String() string {
11416	return awsutil.Prettify(s)
11417}
11418
11419// GoString returns the string representation
11420func (s GetUsageStatisticsOutput) GoString() string {
11421	return s.String()
11422}
11423
11424// SetNextToken sets the NextToken field's value.
11425func (s *GetUsageStatisticsOutput) SetNextToken(v string) *GetUsageStatisticsOutput {
11426	s.NextToken = &v
11427	return s
11428}
11429
11430// SetRecords sets the Records field's value.
11431func (s *GetUsageStatisticsOutput) SetRecords(v []*UsageRecord) *GetUsageStatisticsOutput {
11432	s.Records = v
11433	return s
11434}
11435
11436// SetTimeRange sets the TimeRange field's value.
11437func (s *GetUsageStatisticsOutput) SetTimeRange(v string) *GetUsageStatisticsOutput {
11438	s.TimeRange = &v
11439	return s
11440}
11441
11442type GetUsageTotalsInput struct {
11443	_ struct{} `type:"structure"`
11444
11445	TimeRange *string `location:"querystring" locationName:"timeRange" type:"string"`
11446}
11447
11448// String returns the string representation
11449func (s GetUsageTotalsInput) String() string {
11450	return awsutil.Prettify(s)
11451}
11452
11453// GoString returns the string representation
11454func (s GetUsageTotalsInput) GoString() string {
11455	return s.String()
11456}
11457
11458// SetTimeRange sets the TimeRange field's value.
11459func (s *GetUsageTotalsInput) SetTimeRange(v string) *GetUsageTotalsInput {
11460	s.TimeRange = &v
11461	return s
11462}
11463
11464// Provides the results of a query that retrieved aggregated usage data for
11465// an Amazon Macie account.
11466type GetUsageTotalsOutput struct {
11467	_ struct{} `type:"structure"`
11468
11469	// An inclusive time period that Amazon Macie usage data applies to. Possible
11470	// values are:
11471	TimeRange *string `locationName:"timeRange" type:"string" enum:"TimeRange"`
11472
11473	UsageTotals []*UsageTotal `locationName:"usageTotals" type:"list"`
11474}
11475
11476// String returns the string representation
11477func (s GetUsageTotalsOutput) String() string {
11478	return awsutil.Prettify(s)
11479}
11480
11481// GoString returns the string representation
11482func (s GetUsageTotalsOutput) GoString() string {
11483	return s.String()
11484}
11485
11486// SetTimeRange sets the TimeRange field's value.
11487func (s *GetUsageTotalsOutput) SetTimeRange(v string) *GetUsageTotalsOutput {
11488	s.TimeRange = &v
11489	return s
11490}
11491
11492// SetUsageTotals sets the UsageTotals field's value.
11493func (s *GetUsageTotalsOutput) SetUsageTotals(v []*UsageTotal) *GetUsageTotalsOutput {
11494	s.UsageTotals = v
11495	return s
11496}
11497
11498// Provides a group of results for a query that retrieved aggregated statistical
11499// data about findings.
11500type GroupCount struct {
11501	_ struct{} `type:"structure"`
11502
11503	Count *int64 `locationName:"count" type:"long"`
11504
11505	GroupKey *string `locationName:"groupKey" type:"string"`
11506}
11507
11508// String returns the string representation
11509func (s GroupCount) String() string {
11510	return awsutil.Prettify(s)
11511}
11512
11513// GoString returns the string representation
11514func (s GroupCount) GoString() string {
11515	return s.String()
11516}
11517
11518// SetCount sets the Count field's value.
11519func (s *GroupCount) SetCount(v int64) *GroupCount {
11520	s.Count = &v
11521	return s
11522}
11523
11524// SetGroupKey sets the GroupKey field's value.
11525func (s *GroupCount) SetGroupKey(v string) *GroupCount {
11526	s.GroupKey = &v
11527	return s
11528}
11529
11530// Provides information about an Identity and Access Management (IAM) user who
11531// performed an action on an affected resource.
11532type IamUser struct {
11533	_ struct{} `type:"structure"`
11534
11535	AccountId *string `locationName:"accountId" type:"string"`
11536
11537	Arn *string `locationName:"arn" type:"string"`
11538
11539	PrincipalId *string `locationName:"principalId" type:"string"`
11540
11541	UserName *string `locationName:"userName" type:"string"`
11542}
11543
11544// String returns the string representation
11545func (s IamUser) String() string {
11546	return awsutil.Prettify(s)
11547}
11548
11549// GoString returns the string representation
11550func (s IamUser) GoString() string {
11551	return s.String()
11552}
11553
11554// SetAccountId sets the AccountId field's value.
11555func (s *IamUser) SetAccountId(v string) *IamUser {
11556	s.AccountId = &v
11557	return s
11558}
11559
11560// SetArn sets the Arn field's value.
11561func (s *IamUser) SetArn(v string) *IamUser {
11562	s.Arn = &v
11563	return s
11564}
11565
11566// SetPrincipalId sets the PrincipalId field's value.
11567func (s *IamUser) SetPrincipalId(v string) *IamUser {
11568	s.PrincipalId = &v
11569	return s
11570}
11571
11572// SetUserName sets the UserName field's value.
11573func (s *IamUser) SetUserName(v string) *IamUser {
11574	s.UserName = &v
11575	return s
11576}
11577
11578// Provides information about an error that occurred due to an unknown internal
11579// server error, exception, or failure.
11580type InternalServerException struct {
11581	_            struct{}                  `type:"structure"`
11582	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
11583
11584	Message_ *string `locationName:"message" type:"string"`
11585}
11586
11587// String returns the string representation
11588func (s InternalServerException) String() string {
11589	return awsutil.Prettify(s)
11590}
11591
11592// GoString returns the string representation
11593func (s InternalServerException) GoString() string {
11594	return s.String()
11595}
11596
11597func newErrorInternalServerException(v protocol.ResponseMetadata) error {
11598	return &InternalServerException{
11599		RespMetadata: v,
11600	}
11601}
11602
11603// Code returns the exception type name.
11604func (s *InternalServerException) Code() string {
11605	return "InternalServerException"
11606}
11607
11608// Message returns the exception's message.
11609func (s *InternalServerException) Message() string {
11610	if s.Message_ != nil {
11611		return *s.Message_
11612	}
11613	return ""
11614}
11615
11616// OrigErr always returns nil, satisfies awserr.Error interface.
11617func (s *InternalServerException) OrigErr() error {
11618	return nil
11619}
11620
11621func (s *InternalServerException) Error() string {
11622	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
11623}
11624
11625// Status code returns the HTTP status code for the request's response error.
11626func (s *InternalServerException) StatusCode() int {
11627	return s.RespMetadata.StatusCode
11628}
11629
11630// RequestID returns the service's response RequestID for request.
11631func (s *InternalServerException) RequestID() string {
11632	return s.RespMetadata.RequestID
11633}
11634
11635// Provides information about an Amazon Macie membership invitation that was
11636// received by an account.
11637type Invitation struct {
11638	_ struct{} `type:"structure"`
11639
11640	AccountId *string `locationName:"accountId" type:"string"`
11641
11642	InvitationId *string `locationName:"invitationId" type:"string"`
11643
11644	InvitedAt *time.Time `locationName:"invitedAt" type:"timestamp" timestampFormat:"iso8601"`
11645
11646	// The current status of the relationship between an account and an associated
11647	// Amazon Macie administrator account (inviter account). Possible values are:
11648	RelationshipStatus *string `locationName:"relationshipStatus" type:"string" enum:"RelationshipStatus"`
11649}
11650
11651// String returns the string representation
11652func (s Invitation) String() string {
11653	return awsutil.Prettify(s)
11654}
11655
11656// GoString returns the string representation
11657func (s Invitation) GoString() string {
11658	return s.String()
11659}
11660
11661// SetAccountId sets the AccountId field's value.
11662func (s *Invitation) SetAccountId(v string) *Invitation {
11663	s.AccountId = &v
11664	return s
11665}
11666
11667// SetInvitationId sets the InvitationId field's value.
11668func (s *Invitation) SetInvitationId(v string) *Invitation {
11669	s.InvitationId = &v
11670	return s
11671}
11672
11673// SetInvitedAt sets the InvitedAt field's value.
11674func (s *Invitation) SetInvitedAt(v time.Time) *Invitation {
11675	s.InvitedAt = &v
11676	return s
11677}
11678
11679// SetRelationshipStatus sets the RelationshipStatus field's value.
11680func (s *Invitation) SetRelationshipStatus(v string) *Invitation {
11681	s.RelationshipStatus = &v
11682	return s
11683}
11684
11685// Provides information about the IP address of the device that an entity used
11686// to perform an action on an affected resource.
11687type IpAddressDetails struct {
11688	_ struct{} `type:"structure"`
11689
11690	IpAddressV4 *string `locationName:"ipAddressV4" type:"string"`
11691
11692	// Provides information about the city that an IP address originated from.
11693	IpCity *IpCity `locationName:"ipCity" type:"structure"`
11694
11695	// Provides information about the country that an IP address originated from.
11696	IpCountry *IpCountry `locationName:"ipCountry" type:"structure"`
11697
11698	// Provides geographic coordinates that indicate where a specified IP address
11699	// originated from.
11700	IpGeoLocation *IpGeoLocation `locationName:"ipGeoLocation" type:"structure"`
11701
11702	// Provides information about the registered owner of an IP address.
11703	IpOwner *IpOwner `locationName:"ipOwner" type:"structure"`
11704}
11705
11706// String returns the string representation
11707func (s IpAddressDetails) String() string {
11708	return awsutil.Prettify(s)
11709}
11710
11711// GoString returns the string representation
11712func (s IpAddressDetails) GoString() string {
11713	return s.String()
11714}
11715
11716// SetIpAddressV4 sets the IpAddressV4 field's value.
11717func (s *IpAddressDetails) SetIpAddressV4(v string) *IpAddressDetails {
11718	s.IpAddressV4 = &v
11719	return s
11720}
11721
11722// SetIpCity sets the IpCity field's value.
11723func (s *IpAddressDetails) SetIpCity(v *IpCity) *IpAddressDetails {
11724	s.IpCity = v
11725	return s
11726}
11727
11728// SetIpCountry sets the IpCountry field's value.
11729func (s *IpAddressDetails) SetIpCountry(v *IpCountry) *IpAddressDetails {
11730	s.IpCountry = v
11731	return s
11732}
11733
11734// SetIpGeoLocation sets the IpGeoLocation field's value.
11735func (s *IpAddressDetails) SetIpGeoLocation(v *IpGeoLocation) *IpAddressDetails {
11736	s.IpGeoLocation = v
11737	return s
11738}
11739
11740// SetIpOwner sets the IpOwner field's value.
11741func (s *IpAddressDetails) SetIpOwner(v *IpOwner) *IpAddressDetails {
11742	s.IpOwner = v
11743	return s
11744}
11745
11746// Provides information about the city that an IP address originated from.
11747type IpCity struct {
11748	_ struct{} `type:"structure"`
11749
11750	Name *string `locationName:"name" type:"string"`
11751}
11752
11753// String returns the string representation
11754func (s IpCity) String() string {
11755	return awsutil.Prettify(s)
11756}
11757
11758// GoString returns the string representation
11759func (s IpCity) GoString() string {
11760	return s.String()
11761}
11762
11763// SetName sets the Name field's value.
11764func (s *IpCity) SetName(v string) *IpCity {
11765	s.Name = &v
11766	return s
11767}
11768
11769// Provides information about the country that an IP address originated from.
11770type IpCountry struct {
11771	_ struct{} `type:"structure"`
11772
11773	Code *string `locationName:"code" type:"string"`
11774
11775	Name *string `locationName:"name" type:"string"`
11776}
11777
11778// String returns the string representation
11779func (s IpCountry) String() string {
11780	return awsutil.Prettify(s)
11781}
11782
11783// GoString returns the string representation
11784func (s IpCountry) GoString() string {
11785	return s.String()
11786}
11787
11788// SetCode sets the Code field's value.
11789func (s *IpCountry) SetCode(v string) *IpCountry {
11790	s.Code = &v
11791	return s
11792}
11793
11794// SetName sets the Name field's value.
11795func (s *IpCountry) SetName(v string) *IpCountry {
11796	s.Name = &v
11797	return s
11798}
11799
11800// Provides geographic coordinates that indicate where a specified IP address
11801// originated from.
11802type IpGeoLocation struct {
11803	_ struct{} `type:"structure"`
11804
11805	Lat *float64 `locationName:"lat" type:"double"`
11806
11807	Lon *float64 `locationName:"lon" type:"double"`
11808}
11809
11810// String returns the string representation
11811func (s IpGeoLocation) String() string {
11812	return awsutil.Prettify(s)
11813}
11814
11815// GoString returns the string representation
11816func (s IpGeoLocation) GoString() string {
11817	return s.String()
11818}
11819
11820// SetLat sets the Lat field's value.
11821func (s *IpGeoLocation) SetLat(v float64) *IpGeoLocation {
11822	s.Lat = &v
11823	return s
11824}
11825
11826// SetLon sets the Lon field's value.
11827func (s *IpGeoLocation) SetLon(v float64) *IpGeoLocation {
11828	s.Lon = &v
11829	return s
11830}
11831
11832// Provides information about the registered owner of an IP address.
11833type IpOwner struct {
11834	_ struct{} `type:"structure"`
11835
11836	Asn *string `locationName:"asn" type:"string"`
11837
11838	AsnOrg *string `locationName:"asnOrg" type:"string"`
11839
11840	Isp *string `locationName:"isp" type:"string"`
11841
11842	Org *string `locationName:"org" type:"string"`
11843}
11844
11845// String returns the string representation
11846func (s IpOwner) String() string {
11847	return awsutil.Prettify(s)
11848}
11849
11850// GoString returns the string representation
11851func (s IpOwner) GoString() string {
11852	return s.String()
11853}
11854
11855// SetAsn sets the Asn field's value.
11856func (s *IpOwner) SetAsn(v string) *IpOwner {
11857	s.Asn = &v
11858	return s
11859}
11860
11861// SetAsnOrg sets the AsnOrg field's value.
11862func (s *IpOwner) SetAsnOrg(v string) *IpOwner {
11863	s.AsnOrg = &v
11864	return s
11865}
11866
11867// SetIsp sets the Isp field's value.
11868func (s *IpOwner) SetIsp(v string) *IpOwner {
11869	s.Isp = &v
11870	return s
11871}
11872
11873// SetOrg sets the Org field's value.
11874func (s *IpOwner) SetOrg(v string) *IpOwner {
11875	s.Org = &v
11876	return s
11877}
11878
11879// Specifies whether any one-time or recurring classification jobs are configured
11880// to analyze data in an S3 bucket, and, if so, the details of the job that
11881// ran most recently.
11882type JobDetails struct {
11883	_ struct{} `type:"structure"`
11884
11885	IsDefinedInJob *string `locationName:"isDefinedInJob" type:"string" enum:"IsDefinedInJob"`
11886
11887	IsMonitoredByJob *string `locationName:"isMonitoredByJob" type:"string" enum:"IsMonitoredByJob"`
11888
11889	LastJobId *string `locationName:"lastJobId" type:"string"`
11890
11891	LastJobRunTime *time.Time `locationName:"lastJobRunTime" type:"timestamp" timestampFormat:"iso8601"`
11892}
11893
11894// String returns the string representation
11895func (s JobDetails) String() string {
11896	return awsutil.Prettify(s)
11897}
11898
11899// GoString returns the string representation
11900func (s JobDetails) GoString() string {
11901	return s.String()
11902}
11903
11904// SetIsDefinedInJob sets the IsDefinedInJob field's value.
11905func (s *JobDetails) SetIsDefinedInJob(v string) *JobDetails {
11906	s.IsDefinedInJob = &v
11907	return s
11908}
11909
11910// SetIsMonitoredByJob sets the IsMonitoredByJob field's value.
11911func (s *JobDetails) SetIsMonitoredByJob(v string) *JobDetails {
11912	s.IsMonitoredByJob = &v
11913	return s
11914}
11915
11916// SetLastJobId sets the LastJobId field's value.
11917func (s *JobDetails) SetLastJobId(v string) *JobDetails {
11918	s.LastJobId = &v
11919	return s
11920}
11921
11922// SetLastJobRunTime sets the LastJobRunTime field's value.
11923func (s *JobDetails) SetLastJobRunTime(v time.Time) *JobDetails {
11924	s.LastJobRunTime = &v
11925	return s
11926}
11927
11928// Specifies the recurrence pattern for running a classification job.
11929type JobScheduleFrequency struct {
11930	_ struct{} `type:"structure"`
11931
11932	// Specifies that a classification job runs once a day, every day. This is an
11933	// empty object.
11934	DailySchedule *DailySchedule `locationName:"dailySchedule" type:"structure"`
11935
11936	// Specifies a monthly recurrence pattern for running a classification job.
11937	MonthlySchedule *MonthlySchedule `locationName:"monthlySchedule" type:"structure"`
11938
11939	// Specifies a weekly recurrence pattern for running a classification job.
11940	WeeklySchedule *WeeklySchedule `locationName:"weeklySchedule" type:"structure"`
11941}
11942
11943// String returns the string representation
11944func (s JobScheduleFrequency) String() string {
11945	return awsutil.Prettify(s)
11946}
11947
11948// GoString returns the string representation
11949func (s JobScheduleFrequency) GoString() string {
11950	return s.String()
11951}
11952
11953// SetDailySchedule sets the DailySchedule field's value.
11954func (s *JobScheduleFrequency) SetDailySchedule(v *DailySchedule) *JobScheduleFrequency {
11955	s.DailySchedule = v
11956	return s
11957}
11958
11959// SetMonthlySchedule sets the MonthlySchedule field's value.
11960func (s *JobScheduleFrequency) SetMonthlySchedule(v *MonthlySchedule) *JobScheduleFrequency {
11961	s.MonthlySchedule = v
11962	return s
11963}
11964
11965// SetWeeklySchedule sets the WeeklySchedule field's value.
11966func (s *JobScheduleFrequency) SetWeeklySchedule(v *WeeklySchedule) *JobScheduleFrequency {
11967	s.WeeklySchedule = v
11968	return s
11969}
11970
11971// Specifies a property- or tag-based condition that defines criteria for including
11972// or excluding S3 objects from a classification job. A JobScopeTerm object
11973// can contain only one simpleScopeTerm object or one tagScopeTerm object.
11974type JobScopeTerm struct {
11975	_ struct{} `type:"structure"`
11976
11977	// Specifies a property-based condition that determines whether an S3 object
11978	// is included or excluded from a classification job.
11979	SimpleScopeTerm *SimpleScopeTerm `locationName:"simpleScopeTerm" type:"structure"`
11980
11981	// Specifies a tag-based condition that determines whether an S3 object is included
11982	// or excluded from a classification job.
11983	TagScopeTerm *TagScopeTerm `locationName:"tagScopeTerm" type:"structure"`
11984}
11985
11986// String returns the string representation
11987func (s JobScopeTerm) String() string {
11988	return awsutil.Prettify(s)
11989}
11990
11991// GoString returns the string representation
11992func (s JobScopeTerm) GoString() string {
11993	return s.String()
11994}
11995
11996// SetSimpleScopeTerm sets the SimpleScopeTerm field's value.
11997func (s *JobScopeTerm) SetSimpleScopeTerm(v *SimpleScopeTerm) *JobScopeTerm {
11998	s.SimpleScopeTerm = v
11999	return s
12000}
12001
12002// SetTagScopeTerm sets the TagScopeTerm field's value.
12003func (s *JobScopeTerm) SetTagScopeTerm(v *TagScopeTerm) *JobScopeTerm {
12004	s.TagScopeTerm = v
12005	return s
12006}
12007
12008// Specifies one or more property- and tag-based conditions that define criteria
12009// for including or excluding S3 objects from a classification job.
12010type JobScopingBlock struct {
12011	_ struct{} `type:"structure"`
12012
12013	And []*JobScopeTerm `locationName:"and" type:"list"`
12014}
12015
12016// String returns the string representation
12017func (s JobScopingBlock) String() string {
12018	return awsutil.Prettify(s)
12019}
12020
12021// GoString returns the string representation
12022func (s JobScopingBlock) GoString() string {
12023	return s.String()
12024}
12025
12026// SetAnd sets the And field's value.
12027func (s *JobScopingBlock) SetAnd(v []*JobScopeTerm) *JobScopingBlock {
12028	s.And = v
12029	return s
12030}
12031
12032// Provides information about a classification job, including the current status
12033// of the job.
12034type JobSummary struct {
12035	_ struct{} `type:"structure"`
12036
12037	// Specifies property- and tag-based conditions that define criteria for including
12038	// or excluding S3 buckets from a classification job. Exclude conditions take
12039	// precedence over include conditions.
12040	BucketCriteria *S3BucketCriteriaForJob `locationName:"bucketCriteria" type:"structure"`
12041
12042	BucketDefinitions []*S3BucketDefinitionForJob `locationName:"bucketDefinitions" type:"list"`
12043
12044	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"`
12045
12046	JobId *string `locationName:"jobId" type:"string"`
12047
12048	// The status of a classification job. Possible values are:
12049	JobStatus *string `locationName:"jobStatus" type:"string" enum:"JobStatus"`
12050
12051	// The schedule for running a classification job. Valid values are:
12052	JobType *string `locationName:"jobType" type:"string" enum:"JobType"`
12053
12054	// Specifies whether any account- or bucket-level access errors occurred when
12055	// a classification job ran. For information about using logging data to investigate
12056	// these errors, see Monitoring sensitive data discovery jobs (https://docs.aws.amazon.com/macie/latest/user/discovery-jobs-monitor-cw-logs.html)
12057	// in the Amazon Macie User Guide.
12058	LastRunErrorStatus *LastRunErrorStatus `locationName:"lastRunErrorStatus" type:"structure"`
12059
12060	Name *string `locationName:"name" type:"string"`
12061
12062	// Provides information about when a classification job was paused. For a one-time
12063	// job, this object also specifies when the job will expire and be cancelled
12064	// if it isn't resumed. For a recurring job, this object also specifies when
12065	// the paused job run will expire and be cancelled if it isn't resumed. This
12066	// object is present only if a job's current status (jobStatus) is USER_PAUSED.
12067	// The information in this object applies only to a job that was paused while
12068	// it had a status of RUNNING.
12069	UserPausedDetails *UserPausedDetails `locationName:"userPausedDetails" type:"structure"`
12070}
12071
12072// String returns the string representation
12073func (s JobSummary) String() string {
12074	return awsutil.Prettify(s)
12075}
12076
12077// GoString returns the string representation
12078func (s JobSummary) GoString() string {
12079	return s.String()
12080}
12081
12082// SetBucketCriteria sets the BucketCriteria field's value.
12083func (s *JobSummary) SetBucketCriteria(v *S3BucketCriteriaForJob) *JobSummary {
12084	s.BucketCriteria = v
12085	return s
12086}
12087
12088// SetBucketDefinitions sets the BucketDefinitions field's value.
12089func (s *JobSummary) SetBucketDefinitions(v []*S3BucketDefinitionForJob) *JobSummary {
12090	s.BucketDefinitions = v
12091	return s
12092}
12093
12094// SetCreatedAt sets the CreatedAt field's value.
12095func (s *JobSummary) SetCreatedAt(v time.Time) *JobSummary {
12096	s.CreatedAt = &v
12097	return s
12098}
12099
12100// SetJobId sets the JobId field's value.
12101func (s *JobSummary) SetJobId(v string) *JobSummary {
12102	s.JobId = &v
12103	return s
12104}
12105
12106// SetJobStatus sets the JobStatus field's value.
12107func (s *JobSummary) SetJobStatus(v string) *JobSummary {
12108	s.JobStatus = &v
12109	return s
12110}
12111
12112// SetJobType sets the JobType field's value.
12113func (s *JobSummary) SetJobType(v string) *JobSummary {
12114	s.JobType = &v
12115	return s
12116}
12117
12118// SetLastRunErrorStatus sets the LastRunErrorStatus field's value.
12119func (s *JobSummary) SetLastRunErrorStatus(v *LastRunErrorStatus) *JobSummary {
12120	s.LastRunErrorStatus = v
12121	return s
12122}
12123
12124// SetName sets the Name field's value.
12125func (s *JobSummary) SetName(v string) *JobSummary {
12126	s.Name = &v
12127	return s
12128}
12129
12130// SetUserPausedDetails sets the UserPausedDetails field's value.
12131func (s *JobSummary) SetUserPausedDetails(v *UserPausedDetails) *JobSummary {
12132	s.UserPausedDetails = v
12133	return s
12134}
12135
12136// Provides information about the tags that are associated with an S3 bucket
12137// or object. Each tag consists of a required tag key and an associated tag
12138// value.
12139type KeyValuePair struct {
12140	_ struct{} `type:"structure"`
12141
12142	Key *string `locationName:"key" type:"string"`
12143
12144	Value *string `locationName:"value" type:"string"`
12145}
12146
12147// String returns the string representation
12148func (s KeyValuePair) String() string {
12149	return awsutil.Prettify(s)
12150}
12151
12152// GoString returns the string representation
12153func (s KeyValuePair) GoString() string {
12154	return s.String()
12155}
12156
12157// SetKey sets the Key field's value.
12158func (s *KeyValuePair) SetKey(v string) *KeyValuePair {
12159	s.Key = &v
12160	return s
12161}
12162
12163// SetValue sets the Value field's value.
12164func (s *KeyValuePair) SetValue(v string) *KeyValuePair {
12165	s.Value = &v
12166	return s
12167}
12168
12169// Specifies whether any account- or bucket-level access errors occurred when
12170// a classification job ran. For information about using logging data to investigate
12171// these errors, see Monitoring sensitive data discovery jobs (https://docs.aws.amazon.com/macie/latest/user/discovery-jobs-monitor-cw-logs.html)
12172// in the Amazon Macie User Guide.
12173type LastRunErrorStatus struct {
12174	_ struct{} `type:"structure"`
12175
12176	// Specifies whether any account- or bucket-level access errors occurred during
12177	// the run of a one-time classification job or the most recent run of a recurring
12178	// classification job. Possible values are:
12179	Code *string `locationName:"code" type:"string" enum:"LastRunErrorStatusCode"`
12180}
12181
12182// String returns the string representation
12183func (s LastRunErrorStatus) String() string {
12184	return awsutil.Prettify(s)
12185}
12186
12187// GoString returns the string representation
12188func (s LastRunErrorStatus) GoString() string {
12189	return s.String()
12190}
12191
12192// SetCode sets the Code field's value.
12193func (s *LastRunErrorStatus) SetCode(v string) *LastRunErrorStatus {
12194	s.Code = &v
12195	return s
12196}
12197
12198// Specifies criteria for filtering, sorting, and paginating the results of
12199// a request for information about classification jobs.
12200type ListClassificationJobsInput struct {
12201	_ struct{} `type:"structure"`
12202
12203	// Specifies criteria for filtering the results of a request for information
12204	// about classification jobs.
12205	FilterCriteria *ListJobsFilterCriteria `locationName:"filterCriteria" type:"structure"`
12206
12207	MaxResults *int64 `locationName:"maxResults" type:"integer"`
12208
12209	NextToken *string `locationName:"nextToken" type:"string"`
12210
12211	// Specifies criteria for sorting the results of a request for information about
12212	// classification jobs.
12213	SortCriteria *ListJobsSortCriteria `locationName:"sortCriteria" type:"structure"`
12214}
12215
12216// String returns the string representation
12217func (s ListClassificationJobsInput) String() string {
12218	return awsutil.Prettify(s)
12219}
12220
12221// GoString returns the string representation
12222func (s ListClassificationJobsInput) GoString() string {
12223	return s.String()
12224}
12225
12226// SetFilterCriteria sets the FilterCriteria field's value.
12227func (s *ListClassificationJobsInput) SetFilterCriteria(v *ListJobsFilterCriteria) *ListClassificationJobsInput {
12228	s.FilterCriteria = v
12229	return s
12230}
12231
12232// SetMaxResults sets the MaxResults field's value.
12233func (s *ListClassificationJobsInput) SetMaxResults(v int64) *ListClassificationJobsInput {
12234	s.MaxResults = &v
12235	return s
12236}
12237
12238// SetNextToken sets the NextToken field's value.
12239func (s *ListClassificationJobsInput) SetNextToken(v string) *ListClassificationJobsInput {
12240	s.NextToken = &v
12241	return s
12242}
12243
12244// SetSortCriteria sets the SortCriteria field's value.
12245func (s *ListClassificationJobsInput) SetSortCriteria(v *ListJobsSortCriteria) *ListClassificationJobsInput {
12246	s.SortCriteria = v
12247	return s
12248}
12249
12250// Provides the results of a request for information about one or more classification
12251// jobs.
12252type ListClassificationJobsOutput struct {
12253	_ struct{} `type:"structure"`
12254
12255	Items []*JobSummary `locationName:"items" type:"list"`
12256
12257	NextToken *string `locationName:"nextToken" type:"string"`
12258}
12259
12260// String returns the string representation
12261func (s ListClassificationJobsOutput) String() string {
12262	return awsutil.Prettify(s)
12263}
12264
12265// GoString returns the string representation
12266func (s ListClassificationJobsOutput) GoString() string {
12267	return s.String()
12268}
12269
12270// SetItems sets the Items field's value.
12271func (s *ListClassificationJobsOutput) SetItems(v []*JobSummary) *ListClassificationJobsOutput {
12272	s.Items = v
12273	return s
12274}
12275
12276// SetNextToken sets the NextToken field's value.
12277func (s *ListClassificationJobsOutput) SetNextToken(v string) *ListClassificationJobsOutput {
12278	s.NextToken = &v
12279	return s
12280}
12281
12282// Specifies criteria for paginating the results of a request for information
12283// about custom data identifiers.
12284type ListCustomDataIdentifiersInput struct {
12285	_ struct{} `type:"structure"`
12286
12287	MaxResults *int64 `locationName:"maxResults" type:"integer"`
12288
12289	NextToken *string `locationName:"nextToken" type:"string"`
12290}
12291
12292// String returns the string representation
12293func (s ListCustomDataIdentifiersInput) String() string {
12294	return awsutil.Prettify(s)
12295}
12296
12297// GoString returns the string representation
12298func (s ListCustomDataIdentifiersInput) GoString() string {
12299	return s.String()
12300}
12301
12302// SetMaxResults sets the MaxResults field's value.
12303func (s *ListCustomDataIdentifiersInput) SetMaxResults(v int64) *ListCustomDataIdentifiersInput {
12304	s.MaxResults = &v
12305	return s
12306}
12307
12308// SetNextToken sets the NextToken field's value.
12309func (s *ListCustomDataIdentifiersInput) SetNextToken(v string) *ListCustomDataIdentifiersInput {
12310	s.NextToken = &v
12311	return s
12312}
12313
12314// Provides the results of a request for information about custom data identifiers.
12315type ListCustomDataIdentifiersOutput struct {
12316	_ struct{} `type:"structure"`
12317
12318	Items []*CustomDataIdentifierSummary `locationName:"items" type:"list"`
12319
12320	NextToken *string `locationName:"nextToken" type:"string"`
12321}
12322
12323// String returns the string representation
12324func (s ListCustomDataIdentifiersOutput) String() string {
12325	return awsutil.Prettify(s)
12326}
12327
12328// GoString returns the string representation
12329func (s ListCustomDataIdentifiersOutput) GoString() string {
12330	return s.String()
12331}
12332
12333// SetItems sets the Items field's value.
12334func (s *ListCustomDataIdentifiersOutput) SetItems(v []*CustomDataIdentifierSummary) *ListCustomDataIdentifiersOutput {
12335	s.Items = v
12336	return s
12337}
12338
12339// SetNextToken sets the NextToken field's value.
12340func (s *ListCustomDataIdentifiersOutput) SetNextToken(v string) *ListCustomDataIdentifiersOutput {
12341	s.NextToken = &v
12342	return s
12343}
12344
12345type ListFindingsFiltersInput struct {
12346	_ struct{} `type:"structure"`
12347
12348	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12349
12350	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
12351}
12352
12353// String returns the string representation
12354func (s ListFindingsFiltersInput) String() string {
12355	return awsutil.Prettify(s)
12356}
12357
12358// GoString returns the string representation
12359func (s ListFindingsFiltersInput) GoString() string {
12360	return s.String()
12361}
12362
12363// Validate inspects the fields of the type to determine if they are valid.
12364func (s *ListFindingsFiltersInput) Validate() error {
12365	invalidParams := request.ErrInvalidParams{Context: "ListFindingsFiltersInput"}
12366	if s.MaxResults != nil && *s.MaxResults < 1 {
12367		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12368	}
12369
12370	if invalidParams.Len() > 0 {
12371		return invalidParams
12372	}
12373	return nil
12374}
12375
12376// SetMaxResults sets the MaxResults field's value.
12377func (s *ListFindingsFiltersInput) SetMaxResults(v int64) *ListFindingsFiltersInput {
12378	s.MaxResults = &v
12379	return s
12380}
12381
12382// SetNextToken sets the NextToken field's value.
12383func (s *ListFindingsFiltersInput) SetNextToken(v string) *ListFindingsFiltersInput {
12384	s.NextToken = &v
12385	return s
12386}
12387
12388// Provides information about all the findings filters for an account.
12389type ListFindingsFiltersOutput struct {
12390	_ struct{} `type:"structure"`
12391
12392	FindingsFilterListItems []*FindingsFilterListItem `locationName:"findingsFilterListItems" type:"list"`
12393
12394	NextToken *string `locationName:"nextToken" type:"string"`
12395}
12396
12397// String returns the string representation
12398func (s ListFindingsFiltersOutput) String() string {
12399	return awsutil.Prettify(s)
12400}
12401
12402// GoString returns the string representation
12403func (s ListFindingsFiltersOutput) GoString() string {
12404	return s.String()
12405}
12406
12407// SetFindingsFilterListItems sets the FindingsFilterListItems field's value.
12408func (s *ListFindingsFiltersOutput) SetFindingsFilterListItems(v []*FindingsFilterListItem) *ListFindingsFiltersOutput {
12409	s.FindingsFilterListItems = v
12410	return s
12411}
12412
12413// SetNextToken sets the NextToken field's value.
12414func (s *ListFindingsFiltersOutput) SetNextToken(v string) *ListFindingsFiltersOutput {
12415	s.NextToken = &v
12416	return s
12417}
12418
12419// Specifies criteria for filtering, sorting, and paginating the results of
12420// a request for information about findings.
12421type ListFindingsInput struct {
12422	_ struct{} `type:"structure"`
12423
12424	// Specifies, as a map, one or more property-based conditions that filter the
12425	// results of a query for findings.
12426	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"`
12427
12428	MaxResults *int64 `locationName:"maxResults" type:"integer"`
12429
12430	NextToken *string `locationName:"nextToken" type:"string"`
12431
12432	// Specifies criteria for sorting the results of a request for findings.
12433	SortCriteria *SortCriteria `locationName:"sortCriteria" type:"structure"`
12434}
12435
12436// String returns the string representation
12437func (s ListFindingsInput) String() string {
12438	return awsutil.Prettify(s)
12439}
12440
12441// GoString returns the string representation
12442func (s ListFindingsInput) GoString() string {
12443	return s.String()
12444}
12445
12446// SetFindingCriteria sets the FindingCriteria field's value.
12447func (s *ListFindingsInput) SetFindingCriteria(v *FindingCriteria) *ListFindingsInput {
12448	s.FindingCriteria = v
12449	return s
12450}
12451
12452// SetMaxResults sets the MaxResults field's value.
12453func (s *ListFindingsInput) SetMaxResults(v int64) *ListFindingsInput {
12454	s.MaxResults = &v
12455	return s
12456}
12457
12458// SetNextToken sets the NextToken field's value.
12459func (s *ListFindingsInput) SetNextToken(v string) *ListFindingsInput {
12460	s.NextToken = &v
12461	return s
12462}
12463
12464// SetSortCriteria sets the SortCriteria field's value.
12465func (s *ListFindingsInput) SetSortCriteria(v *SortCriteria) *ListFindingsInput {
12466	s.SortCriteria = v
12467	return s
12468}
12469
12470// Provides the results of a request for information about one or more findings.
12471type ListFindingsOutput struct {
12472	_ struct{} `type:"structure"`
12473
12474	FindingIds []*string `locationName:"findingIds" type:"list"`
12475
12476	NextToken *string `locationName:"nextToken" type:"string"`
12477}
12478
12479// String returns the string representation
12480func (s ListFindingsOutput) String() string {
12481	return awsutil.Prettify(s)
12482}
12483
12484// GoString returns the string representation
12485func (s ListFindingsOutput) GoString() string {
12486	return s.String()
12487}
12488
12489// SetFindingIds sets the FindingIds field's value.
12490func (s *ListFindingsOutput) SetFindingIds(v []*string) *ListFindingsOutput {
12491	s.FindingIds = v
12492	return s
12493}
12494
12495// SetNextToken sets the NextToken field's value.
12496func (s *ListFindingsOutput) SetNextToken(v string) *ListFindingsOutput {
12497	s.NextToken = &v
12498	return s
12499}
12500
12501type ListInvitationsInput struct {
12502	_ struct{} `type:"structure"`
12503
12504	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12505
12506	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
12507}
12508
12509// String returns the string representation
12510func (s ListInvitationsInput) String() string {
12511	return awsutil.Prettify(s)
12512}
12513
12514// GoString returns the string representation
12515func (s ListInvitationsInput) GoString() string {
12516	return s.String()
12517}
12518
12519// Validate inspects the fields of the type to determine if they are valid.
12520func (s *ListInvitationsInput) Validate() error {
12521	invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"}
12522	if s.MaxResults != nil && *s.MaxResults < 1 {
12523		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12524	}
12525
12526	if invalidParams.Len() > 0 {
12527		return invalidParams
12528	}
12529	return nil
12530}
12531
12532// SetMaxResults sets the MaxResults field's value.
12533func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput {
12534	s.MaxResults = &v
12535	return s
12536}
12537
12538// SetNextToken sets the NextToken field's value.
12539func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput {
12540	s.NextToken = &v
12541	return s
12542}
12543
12544// Provides information about the Amazon Macie membership invitations that were
12545// received by an account.
12546type ListInvitationsOutput struct {
12547	_ struct{} `type:"structure"`
12548
12549	Invitations []*Invitation `locationName:"invitations" type:"list"`
12550
12551	NextToken *string `locationName:"nextToken" type:"string"`
12552}
12553
12554// String returns the string representation
12555func (s ListInvitationsOutput) String() string {
12556	return awsutil.Prettify(s)
12557}
12558
12559// GoString returns the string representation
12560func (s ListInvitationsOutput) GoString() string {
12561	return s.String()
12562}
12563
12564// SetInvitations sets the Invitations field's value.
12565func (s *ListInvitationsOutput) SetInvitations(v []*Invitation) *ListInvitationsOutput {
12566	s.Invitations = v
12567	return s
12568}
12569
12570// SetNextToken sets the NextToken field's value.
12571func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput {
12572	s.NextToken = &v
12573	return s
12574}
12575
12576// Specifies criteria for filtering the results of a request for information
12577// about classification jobs.
12578type ListJobsFilterCriteria struct {
12579	_ struct{} `type:"structure"`
12580
12581	Excludes []*ListJobsFilterTerm `locationName:"excludes" type:"list"`
12582
12583	Includes []*ListJobsFilterTerm `locationName:"includes" type:"list"`
12584}
12585
12586// String returns the string representation
12587func (s ListJobsFilterCriteria) String() string {
12588	return awsutil.Prettify(s)
12589}
12590
12591// GoString returns the string representation
12592func (s ListJobsFilterCriteria) GoString() string {
12593	return s.String()
12594}
12595
12596// SetExcludes sets the Excludes field's value.
12597func (s *ListJobsFilterCriteria) SetExcludes(v []*ListJobsFilterTerm) *ListJobsFilterCriteria {
12598	s.Excludes = v
12599	return s
12600}
12601
12602// SetIncludes sets the Includes field's value.
12603func (s *ListJobsFilterCriteria) SetIncludes(v []*ListJobsFilterTerm) *ListJobsFilterCriteria {
12604	s.Includes = v
12605	return s
12606}
12607
12608// Specifies a condition that filters the results of a request for information
12609// about classification jobs. Each condition consists of a property, an operator,
12610// and one or more values.
12611type ListJobsFilterTerm struct {
12612	_ struct{} `type:"structure"`
12613
12614	// The operator to use in a condition. Valid values are:
12615	Comparator *string `locationName:"comparator" type:"string" enum:"JobComparator"`
12616
12617	// The property to use to filter the results. Valid values are:
12618	Key *string `locationName:"key" type:"string" enum:"ListJobsFilterKey"`
12619
12620	Values []*string `locationName:"values" type:"list"`
12621}
12622
12623// String returns the string representation
12624func (s ListJobsFilterTerm) String() string {
12625	return awsutil.Prettify(s)
12626}
12627
12628// GoString returns the string representation
12629func (s ListJobsFilterTerm) GoString() string {
12630	return s.String()
12631}
12632
12633// SetComparator sets the Comparator field's value.
12634func (s *ListJobsFilterTerm) SetComparator(v string) *ListJobsFilterTerm {
12635	s.Comparator = &v
12636	return s
12637}
12638
12639// SetKey sets the Key field's value.
12640func (s *ListJobsFilterTerm) SetKey(v string) *ListJobsFilterTerm {
12641	s.Key = &v
12642	return s
12643}
12644
12645// SetValues sets the Values field's value.
12646func (s *ListJobsFilterTerm) SetValues(v []*string) *ListJobsFilterTerm {
12647	s.Values = v
12648	return s
12649}
12650
12651// Specifies criteria for sorting the results of a request for information about
12652// classification jobs.
12653type ListJobsSortCriteria struct {
12654	_ struct{} `type:"structure"`
12655
12656	// The property to sort the results by. Valid values are:
12657	AttributeName *string `locationName:"attributeName" type:"string" enum:"ListJobsSortAttributeName"`
12658
12659	OrderBy *string `locationName:"orderBy" type:"string" enum:"OrderBy"`
12660}
12661
12662// String returns the string representation
12663func (s ListJobsSortCriteria) String() string {
12664	return awsutil.Prettify(s)
12665}
12666
12667// GoString returns the string representation
12668func (s ListJobsSortCriteria) GoString() string {
12669	return s.String()
12670}
12671
12672// SetAttributeName sets the AttributeName field's value.
12673func (s *ListJobsSortCriteria) SetAttributeName(v string) *ListJobsSortCriteria {
12674	s.AttributeName = &v
12675	return s
12676}
12677
12678// SetOrderBy sets the OrderBy field's value.
12679func (s *ListJobsSortCriteria) SetOrderBy(v string) *ListJobsSortCriteria {
12680	s.OrderBy = &v
12681	return s
12682}
12683
12684type ListMembersInput struct {
12685	_ struct{} `type:"structure"`
12686
12687	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12688
12689	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
12690
12691	OnlyAssociated *string `location:"querystring" locationName:"onlyAssociated" type:"string"`
12692}
12693
12694// String returns the string representation
12695func (s ListMembersInput) String() string {
12696	return awsutil.Prettify(s)
12697}
12698
12699// GoString returns the string representation
12700func (s ListMembersInput) GoString() string {
12701	return s.String()
12702}
12703
12704// Validate inspects the fields of the type to determine if they are valid.
12705func (s *ListMembersInput) Validate() error {
12706	invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"}
12707	if s.MaxResults != nil && *s.MaxResults < 1 {
12708		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12709	}
12710
12711	if invalidParams.Len() > 0 {
12712		return invalidParams
12713	}
12714	return nil
12715}
12716
12717// SetMaxResults sets the MaxResults field's value.
12718func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput {
12719	s.MaxResults = &v
12720	return s
12721}
12722
12723// SetNextToken sets the NextToken field's value.
12724func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput {
12725	s.NextToken = &v
12726	return s
12727}
12728
12729// SetOnlyAssociated sets the OnlyAssociated field's value.
12730func (s *ListMembersInput) SetOnlyAssociated(v string) *ListMembersInput {
12731	s.OnlyAssociated = &v
12732	return s
12733}
12734
12735// Provides information about the accounts that are associated with an Amazon
12736// Macie administrator account.
12737type ListMembersOutput struct {
12738	_ struct{} `type:"structure"`
12739
12740	Members []*Member `locationName:"members" type:"list"`
12741
12742	NextToken *string `locationName:"nextToken" type:"string"`
12743}
12744
12745// String returns the string representation
12746func (s ListMembersOutput) String() string {
12747	return awsutil.Prettify(s)
12748}
12749
12750// GoString returns the string representation
12751func (s ListMembersOutput) GoString() string {
12752	return s.String()
12753}
12754
12755// SetMembers sets the Members field's value.
12756func (s *ListMembersOutput) SetMembers(v []*Member) *ListMembersOutput {
12757	s.Members = v
12758	return s
12759}
12760
12761// SetNextToken sets the NextToken field's value.
12762func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput {
12763	s.NextToken = &v
12764	return s
12765}
12766
12767type ListOrganizationAdminAccountsInput struct {
12768	_ struct{} `type:"structure"`
12769
12770	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
12771
12772	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
12773}
12774
12775// String returns the string representation
12776func (s ListOrganizationAdminAccountsInput) String() string {
12777	return awsutil.Prettify(s)
12778}
12779
12780// GoString returns the string representation
12781func (s ListOrganizationAdminAccountsInput) GoString() string {
12782	return s.String()
12783}
12784
12785// Validate inspects the fields of the type to determine if they are valid.
12786func (s *ListOrganizationAdminAccountsInput) Validate() error {
12787	invalidParams := request.ErrInvalidParams{Context: "ListOrganizationAdminAccountsInput"}
12788	if s.MaxResults != nil && *s.MaxResults < 1 {
12789		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
12790	}
12791
12792	if invalidParams.Len() > 0 {
12793		return invalidParams
12794	}
12795	return nil
12796}
12797
12798// SetMaxResults sets the MaxResults field's value.
12799func (s *ListOrganizationAdminAccountsInput) SetMaxResults(v int64) *ListOrganizationAdminAccountsInput {
12800	s.MaxResults = &v
12801	return s
12802}
12803
12804// SetNextToken sets the NextToken field's value.
12805func (s *ListOrganizationAdminAccountsInput) SetNextToken(v string) *ListOrganizationAdminAccountsInput {
12806	s.NextToken = &v
12807	return s
12808}
12809
12810// Provides information about the delegated Amazon Macie administrator accounts
12811// for an Amazon Web Services organization.
12812type ListOrganizationAdminAccountsOutput struct {
12813	_ struct{} `type:"structure"`
12814
12815	AdminAccounts []*AdminAccount `locationName:"adminAccounts" type:"list"`
12816
12817	NextToken *string `locationName:"nextToken" type:"string"`
12818}
12819
12820// String returns the string representation
12821func (s ListOrganizationAdminAccountsOutput) String() string {
12822	return awsutil.Prettify(s)
12823}
12824
12825// GoString returns the string representation
12826func (s ListOrganizationAdminAccountsOutput) GoString() string {
12827	return s.String()
12828}
12829
12830// SetAdminAccounts sets the AdminAccounts field's value.
12831func (s *ListOrganizationAdminAccountsOutput) SetAdminAccounts(v []*AdminAccount) *ListOrganizationAdminAccountsOutput {
12832	s.AdminAccounts = v
12833	return s
12834}
12835
12836// SetNextToken sets the NextToken field's value.
12837func (s *ListOrganizationAdminAccountsOutput) SetNextToken(v string) *ListOrganizationAdminAccountsOutput {
12838	s.NextToken = &v
12839	return s
12840}
12841
12842type ListTagsForResourceInput struct {
12843	_ struct{} `type:"structure"`
12844
12845	// ResourceArn is a required field
12846	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
12847}
12848
12849// String returns the string representation
12850func (s ListTagsForResourceInput) String() string {
12851	return awsutil.Prettify(s)
12852}
12853
12854// GoString returns the string representation
12855func (s ListTagsForResourceInput) GoString() string {
12856	return s.String()
12857}
12858
12859// Validate inspects the fields of the type to determine if they are valid.
12860func (s *ListTagsForResourceInput) Validate() error {
12861	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
12862	if s.ResourceArn == nil {
12863		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
12864	}
12865	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
12866		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
12867	}
12868
12869	if invalidParams.Len() > 0 {
12870		return invalidParams
12871	}
12872	return nil
12873}
12874
12875// SetResourceArn sets the ResourceArn field's value.
12876func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
12877	s.ResourceArn = &v
12878	return s
12879}
12880
12881// Provides information about the tags (keys and values) that are associated
12882// with a classification job, custom data identifier, findings filter, or member
12883// account.
12884type ListTagsForResourceOutput struct {
12885	_ struct{} `type:"structure"`
12886
12887	// A string-to-string map of key-value pairs that specifies the tags (keys and
12888	// values) for a classification job, custom data identifier, findings filter,
12889	// or member account.
12890	Tags map[string]*string `locationName:"tags" type:"map"`
12891}
12892
12893// String returns the string representation
12894func (s ListTagsForResourceOutput) String() string {
12895	return awsutil.Prettify(s)
12896}
12897
12898// GoString returns the string representation
12899func (s ListTagsForResourceOutput) GoString() string {
12900	return s.String()
12901}
12902
12903// SetTags sets the Tags field's value.
12904func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
12905	s.Tags = v
12906	return s
12907}
12908
12909// Provides statistical data and other information about an S3 bucket that Amazon
12910// Macie monitors and analyzes.
12911type MatchingBucket struct {
12912	_ struct{} `type:"structure"`
12913
12914	AccountId *string `locationName:"accountId" type:"string"`
12915
12916	BucketName *string `locationName:"bucketName" type:"string"`
12917
12918	ClassifiableObjectCount *int64 `locationName:"classifiableObjectCount" type:"long"`
12919
12920	ClassifiableSizeInBytes *int64 `locationName:"classifiableSizeInBytes" type:"long"`
12921
12922	// Specifies whether any one-time or recurring classification jobs are configured
12923	// to analyze data in an S3 bucket, and, if so, the details of the job that
12924	// ran most recently.
12925	JobDetails *JobDetails `locationName:"jobDetails" type:"structure"`
12926
12927	ObjectCount *int64 `locationName:"objectCount" type:"long"`
12928
12929	// Provides information about the number of objects that are in an S3 bucket
12930	// and use certain types of server-side encryption, use client-side encryption,
12931	// or aren't encrypted.
12932	ObjectCountByEncryptionType *ObjectCountByEncryptionType `locationName:"objectCountByEncryptionType" type:"structure"`
12933
12934	SizeInBytes *int64 `locationName:"sizeInBytes" type:"long"`
12935
12936	SizeInBytesCompressed *int64 `locationName:"sizeInBytesCompressed" type:"long"`
12937
12938	// Provides information about the total storage size (in bytes) or number of
12939	// objects that Amazon Macie can't analyze in one or more S3 buckets. In a BucketMetadata
12940	// or MatchingBucket object, this data is for a specific bucket. In a GetBucketStatisticsResponse
12941	// object, this data is aggregated for all the buckets in the query results.
12942	// If versioning is enabled for a bucket, total storage size values are based
12943	// on the size of the latest version of each applicable object in the bucket.
12944	UnclassifiableObjectCount *ObjectLevelStatistics `locationName:"unclassifiableObjectCount" type:"structure"`
12945
12946	// Provides information about the total storage size (in bytes) or number of
12947	// objects that Amazon Macie can't analyze in one or more S3 buckets. In a BucketMetadata
12948	// or MatchingBucket object, this data is for a specific bucket. In a GetBucketStatisticsResponse
12949	// object, this data is aggregated for all the buckets in the query results.
12950	// If versioning is enabled for a bucket, total storage size values are based
12951	// on the size of the latest version of each applicable object in the bucket.
12952	UnclassifiableObjectSizeInBytes *ObjectLevelStatistics `locationName:"unclassifiableObjectSizeInBytes" type:"structure"`
12953}
12954
12955// String returns the string representation
12956func (s MatchingBucket) String() string {
12957	return awsutil.Prettify(s)
12958}
12959
12960// GoString returns the string representation
12961func (s MatchingBucket) GoString() string {
12962	return s.String()
12963}
12964
12965// SetAccountId sets the AccountId field's value.
12966func (s *MatchingBucket) SetAccountId(v string) *MatchingBucket {
12967	s.AccountId = &v
12968	return s
12969}
12970
12971// SetBucketName sets the BucketName field's value.
12972func (s *MatchingBucket) SetBucketName(v string) *MatchingBucket {
12973	s.BucketName = &v
12974	return s
12975}
12976
12977// SetClassifiableObjectCount sets the ClassifiableObjectCount field's value.
12978func (s *MatchingBucket) SetClassifiableObjectCount(v int64) *MatchingBucket {
12979	s.ClassifiableObjectCount = &v
12980	return s
12981}
12982
12983// SetClassifiableSizeInBytes sets the ClassifiableSizeInBytes field's value.
12984func (s *MatchingBucket) SetClassifiableSizeInBytes(v int64) *MatchingBucket {
12985	s.ClassifiableSizeInBytes = &v
12986	return s
12987}
12988
12989// SetJobDetails sets the JobDetails field's value.
12990func (s *MatchingBucket) SetJobDetails(v *JobDetails) *MatchingBucket {
12991	s.JobDetails = v
12992	return s
12993}
12994
12995// SetObjectCount sets the ObjectCount field's value.
12996func (s *MatchingBucket) SetObjectCount(v int64) *MatchingBucket {
12997	s.ObjectCount = &v
12998	return s
12999}
13000
13001// SetObjectCountByEncryptionType sets the ObjectCountByEncryptionType field's value.
13002func (s *MatchingBucket) SetObjectCountByEncryptionType(v *ObjectCountByEncryptionType) *MatchingBucket {
13003	s.ObjectCountByEncryptionType = v
13004	return s
13005}
13006
13007// SetSizeInBytes sets the SizeInBytes field's value.
13008func (s *MatchingBucket) SetSizeInBytes(v int64) *MatchingBucket {
13009	s.SizeInBytes = &v
13010	return s
13011}
13012
13013// SetSizeInBytesCompressed sets the SizeInBytesCompressed field's value.
13014func (s *MatchingBucket) SetSizeInBytesCompressed(v int64) *MatchingBucket {
13015	s.SizeInBytesCompressed = &v
13016	return s
13017}
13018
13019// SetUnclassifiableObjectCount sets the UnclassifiableObjectCount field's value.
13020func (s *MatchingBucket) SetUnclassifiableObjectCount(v *ObjectLevelStatistics) *MatchingBucket {
13021	s.UnclassifiableObjectCount = v
13022	return s
13023}
13024
13025// SetUnclassifiableObjectSizeInBytes sets the UnclassifiableObjectSizeInBytes field's value.
13026func (s *MatchingBucket) SetUnclassifiableObjectSizeInBytes(v *ObjectLevelStatistics) *MatchingBucket {
13027	s.UnclassifiableObjectSizeInBytes = v
13028	return s
13029}
13030
13031// Provides statistical data and other information about an Amazon Web Services
13032// resource that Amazon Macie monitors and analyzes.
13033type MatchingResource struct {
13034	_ struct{} `type:"structure"`
13035
13036	// Provides statistical data and other information about an S3 bucket that Amazon
13037	// Macie monitors and analyzes.
13038	MatchingBucket *MatchingBucket `locationName:"matchingBucket" type:"structure"`
13039}
13040
13041// String returns the string representation
13042func (s MatchingResource) String() string {
13043	return awsutil.Prettify(s)
13044}
13045
13046// GoString returns the string representation
13047func (s MatchingResource) GoString() string {
13048	return s.String()
13049}
13050
13051// SetMatchingBucket sets the MatchingBucket field's value.
13052func (s *MatchingResource) SetMatchingBucket(v *MatchingBucket) *MatchingResource {
13053	s.MatchingBucket = v
13054	return s
13055}
13056
13057// Provides information about an account that's associated with an Amazon Macie
13058// administrator account.
13059type Member struct {
13060	_ struct{} `type:"structure"`
13061
13062	AccountId *string `locationName:"accountId" type:"string"`
13063
13064	AdministratorAccountId *string `locationName:"administratorAccountId" type:"string"`
13065
13066	Arn *string `locationName:"arn" type:"string"`
13067
13068	Email *string `locationName:"email" type:"string"`
13069
13070	InvitedAt *time.Time `locationName:"invitedAt" type:"timestamp" timestampFormat:"iso8601"`
13071
13072	MasterAccountId *string `locationName:"masterAccountId" type:"string"`
13073
13074	// The current status of the relationship between an account and an associated
13075	// Amazon Macie administrator account (inviter account). Possible values are:
13076	RelationshipStatus *string `locationName:"relationshipStatus" type:"string" enum:"RelationshipStatus"`
13077
13078	// A string-to-string map of key-value pairs that specifies the tags (keys and
13079	// values) for a classification job, custom data identifier, findings filter,
13080	// or member account.
13081	Tags map[string]*string `locationName:"tags" type:"map"`
13082
13083	UpdatedAt *time.Time `locationName:"updatedAt" type:"timestamp" timestampFormat:"iso8601"`
13084}
13085
13086// String returns the string representation
13087func (s Member) String() string {
13088	return awsutil.Prettify(s)
13089}
13090
13091// GoString returns the string representation
13092func (s Member) GoString() string {
13093	return s.String()
13094}
13095
13096// SetAccountId sets the AccountId field's value.
13097func (s *Member) SetAccountId(v string) *Member {
13098	s.AccountId = &v
13099	return s
13100}
13101
13102// SetAdministratorAccountId sets the AdministratorAccountId field's value.
13103func (s *Member) SetAdministratorAccountId(v string) *Member {
13104	s.AdministratorAccountId = &v
13105	return s
13106}
13107
13108// SetArn sets the Arn field's value.
13109func (s *Member) SetArn(v string) *Member {
13110	s.Arn = &v
13111	return s
13112}
13113
13114// SetEmail sets the Email field's value.
13115func (s *Member) SetEmail(v string) *Member {
13116	s.Email = &v
13117	return s
13118}
13119
13120// SetInvitedAt sets the InvitedAt field's value.
13121func (s *Member) SetInvitedAt(v time.Time) *Member {
13122	s.InvitedAt = &v
13123	return s
13124}
13125
13126// SetMasterAccountId sets the MasterAccountId field's value.
13127func (s *Member) SetMasterAccountId(v string) *Member {
13128	s.MasterAccountId = &v
13129	return s
13130}
13131
13132// SetRelationshipStatus sets the RelationshipStatus field's value.
13133func (s *Member) SetRelationshipStatus(v string) *Member {
13134	s.RelationshipStatus = &v
13135	return s
13136}
13137
13138// SetTags sets the Tags field's value.
13139func (s *Member) SetTags(v map[string]*string) *Member {
13140	s.Tags = v
13141	return s
13142}
13143
13144// SetUpdatedAt sets the UpdatedAt field's value.
13145func (s *Member) SetUpdatedAt(v time.Time) *Member {
13146	s.UpdatedAt = &v
13147	return s
13148}
13149
13150// Specifies a monthly recurrence pattern for running a classification job.
13151type MonthlySchedule struct {
13152	_ struct{} `type:"structure"`
13153
13154	DayOfMonth *int64 `locationName:"dayOfMonth" type:"integer"`
13155}
13156
13157// String returns the string representation
13158func (s MonthlySchedule) String() string {
13159	return awsutil.Prettify(s)
13160}
13161
13162// GoString returns the string representation
13163func (s MonthlySchedule) GoString() string {
13164	return s.String()
13165}
13166
13167// SetDayOfMonth sets the DayOfMonth field's value.
13168func (s *MonthlySchedule) SetDayOfMonth(v int64) *MonthlySchedule {
13169	s.DayOfMonth = &v
13170	return s
13171}
13172
13173// Provides information about the number of objects that are in an S3 bucket
13174// and use certain types of server-side encryption, use client-side encryption,
13175// or aren't encrypted.
13176type ObjectCountByEncryptionType struct {
13177	_ struct{} `type:"structure"`
13178
13179	CustomerManaged *int64 `locationName:"customerManaged" type:"long"`
13180
13181	KmsManaged *int64 `locationName:"kmsManaged" type:"long"`
13182
13183	S3Managed *int64 `locationName:"s3Managed" type:"long"`
13184
13185	Unencrypted *int64 `locationName:"unencrypted" type:"long"`
13186
13187	Unknown *int64 `locationName:"unknown" type:"long"`
13188}
13189
13190// String returns the string representation
13191func (s ObjectCountByEncryptionType) String() string {
13192	return awsutil.Prettify(s)
13193}
13194
13195// GoString returns the string representation
13196func (s ObjectCountByEncryptionType) GoString() string {
13197	return s.String()
13198}
13199
13200// SetCustomerManaged sets the CustomerManaged field's value.
13201func (s *ObjectCountByEncryptionType) SetCustomerManaged(v int64) *ObjectCountByEncryptionType {
13202	s.CustomerManaged = &v
13203	return s
13204}
13205
13206// SetKmsManaged sets the KmsManaged field's value.
13207func (s *ObjectCountByEncryptionType) SetKmsManaged(v int64) *ObjectCountByEncryptionType {
13208	s.KmsManaged = &v
13209	return s
13210}
13211
13212// SetS3Managed sets the S3Managed field's value.
13213func (s *ObjectCountByEncryptionType) SetS3Managed(v int64) *ObjectCountByEncryptionType {
13214	s.S3Managed = &v
13215	return s
13216}
13217
13218// SetUnencrypted sets the Unencrypted field's value.
13219func (s *ObjectCountByEncryptionType) SetUnencrypted(v int64) *ObjectCountByEncryptionType {
13220	s.Unencrypted = &v
13221	return s
13222}
13223
13224// SetUnknown sets the Unknown field's value.
13225func (s *ObjectCountByEncryptionType) SetUnknown(v int64) *ObjectCountByEncryptionType {
13226	s.Unknown = &v
13227	return s
13228}
13229
13230// Provides information about the total storage size (in bytes) or number of
13231// objects that Amazon Macie can't analyze in one or more S3 buckets. In a BucketMetadata
13232// or MatchingBucket object, this data is for a specific bucket. In a GetBucketStatisticsResponse
13233// object, this data is aggregated for all the buckets in the query results.
13234// If versioning is enabled for a bucket, total storage size values are based
13235// on the size of the latest version of each applicable object in the bucket.
13236type ObjectLevelStatistics struct {
13237	_ struct{} `type:"structure"`
13238
13239	FileType *int64 `locationName:"fileType" type:"long"`
13240
13241	StorageClass *int64 `locationName:"storageClass" type:"long"`
13242
13243	Total *int64 `locationName:"total" type:"long"`
13244}
13245
13246// String returns the string representation
13247func (s ObjectLevelStatistics) String() string {
13248	return awsutil.Prettify(s)
13249}
13250
13251// GoString returns the string representation
13252func (s ObjectLevelStatistics) GoString() string {
13253	return s.String()
13254}
13255
13256// SetFileType sets the FileType field's value.
13257func (s *ObjectLevelStatistics) SetFileType(v int64) *ObjectLevelStatistics {
13258	s.FileType = &v
13259	return s
13260}
13261
13262// SetStorageClass sets the StorageClass field's value.
13263func (s *ObjectLevelStatistics) SetStorageClass(v int64) *ObjectLevelStatistics {
13264	s.StorageClass = &v
13265	return s
13266}
13267
13268// SetTotal sets the Total field's value.
13269func (s *ObjectLevelStatistics) SetTotal(v int64) *ObjectLevelStatistics {
13270	s.Total = &v
13271	return s
13272}
13273
13274// Specifies the location of 1-15 occurrences of sensitive data that was detected
13275// by managed data identifiers or a custom data identifier and produced a sensitive
13276// data finding.
13277type Occurrences struct {
13278	_ struct{} `type:"structure"`
13279
13280	// Specifies the location of occurrences of sensitive data in a Microsoft Excel
13281	// workbook, CSV file, or TSV file.
13282	Cells []*Cell `locationName:"cells" type:"list"`
13283
13284	LineRanges []*Range `locationName:"lineRanges" type:"list"`
13285
13286	OffsetRanges []*Range `locationName:"offsetRanges" type:"list"`
13287
13288	// Specifies the location of occurrences of sensitive data in an Adobe Portable
13289	// Document Format file.
13290	Pages []*Page `locationName:"pages" type:"list"`
13291
13292	Records []*Record `locationName:"records" type:"list"`
13293}
13294
13295// String returns the string representation
13296func (s Occurrences) String() string {
13297	return awsutil.Prettify(s)
13298}
13299
13300// GoString returns the string representation
13301func (s Occurrences) GoString() string {
13302	return s.String()
13303}
13304
13305// SetCells sets the Cells field's value.
13306func (s *Occurrences) SetCells(v []*Cell) *Occurrences {
13307	s.Cells = v
13308	return s
13309}
13310
13311// SetLineRanges sets the LineRanges field's value.
13312func (s *Occurrences) SetLineRanges(v []*Range) *Occurrences {
13313	s.LineRanges = v
13314	return s
13315}
13316
13317// SetOffsetRanges sets the OffsetRanges field's value.
13318func (s *Occurrences) SetOffsetRanges(v []*Range) *Occurrences {
13319	s.OffsetRanges = v
13320	return s
13321}
13322
13323// SetPages sets the Pages field's value.
13324func (s *Occurrences) SetPages(v []*Page) *Occurrences {
13325	s.Pages = v
13326	return s
13327}
13328
13329// SetRecords sets the Records field's value.
13330func (s *Occurrences) SetRecords(v []*Record) *Occurrences {
13331	s.Records = v
13332	return s
13333}
13334
13335// Specifies the location of an occurrence of sensitive data in an Adobe Portable
13336// Document Format file.
13337type Page struct {
13338	_ struct{} `type:"structure"`
13339
13340	// Specifies the location of an occurrence of sensitive data in a non-binary
13341	// text file, such as an HTML, TXT, or XML file.
13342	LineRange *Range `locationName:"lineRange" type:"structure"`
13343
13344	// Specifies the location of an occurrence of sensitive data in a non-binary
13345	// text file, such as an HTML, TXT, or XML file.
13346	OffsetRange *Range `locationName:"offsetRange" type:"structure"`
13347
13348	PageNumber *int64 `locationName:"pageNumber" type:"long"`
13349}
13350
13351// String returns the string representation
13352func (s Page) String() string {
13353	return awsutil.Prettify(s)
13354}
13355
13356// GoString returns the string representation
13357func (s Page) GoString() string {
13358	return s.String()
13359}
13360
13361// SetLineRange sets the LineRange field's value.
13362func (s *Page) SetLineRange(v *Range) *Page {
13363	s.LineRange = v
13364	return s
13365}
13366
13367// SetOffsetRange sets the OffsetRange field's value.
13368func (s *Page) SetOffsetRange(v *Range) *Page {
13369	s.OffsetRange = v
13370	return s
13371}
13372
13373// SetPageNumber sets the PageNumber field's value.
13374func (s *Page) SetPageNumber(v int64) *Page {
13375	s.PageNumber = &v
13376	return s
13377}
13378
13379// Provides the details of a policy finding.
13380type PolicyDetails struct {
13381	_ struct{} `type:"structure"`
13382
13383	// Provides information about an action that occurred for a resource and produced
13384	// a policy finding.
13385	Action *FindingAction `locationName:"action" type:"structure"`
13386
13387	// Provides information about an entity that performed an action that produced
13388	// a policy finding for a resource.
13389	Actor *FindingActor `locationName:"actor" type:"structure"`
13390}
13391
13392// String returns the string representation
13393func (s PolicyDetails) String() string {
13394	return awsutil.Prettify(s)
13395}
13396
13397// GoString returns the string representation
13398func (s PolicyDetails) GoString() string {
13399	return s.String()
13400}
13401
13402// SetAction sets the Action field's value.
13403func (s *PolicyDetails) SetAction(v *FindingAction) *PolicyDetails {
13404	s.Action = v
13405	return s
13406}
13407
13408// SetActor sets the Actor field's value.
13409func (s *PolicyDetails) SetActor(v *FindingActor) *PolicyDetails {
13410	s.Actor = v
13411	return s
13412}
13413
13414// Specifies where to store data classification results, and the encryption
13415// settings to use when storing results in that location. Currently, you can
13416// store classification results only in an S3 bucket.
13417type PutClassificationExportConfigurationInput struct {
13418	_ struct{} `type:"structure"`
13419
13420	// Specifies where to store data classification results, and the encryption
13421	// settings to use when storing results in that location. Currently, you can
13422	// store classification results only in an S3 bucket.
13423	//
13424	// Configuration is a required field
13425	Configuration *ClassificationExportConfiguration `locationName:"configuration" type:"structure" required:"true"`
13426}
13427
13428// String returns the string representation
13429func (s PutClassificationExportConfigurationInput) String() string {
13430	return awsutil.Prettify(s)
13431}
13432
13433// GoString returns the string representation
13434func (s PutClassificationExportConfigurationInput) GoString() string {
13435	return s.String()
13436}
13437
13438// Validate inspects the fields of the type to determine if they are valid.
13439func (s *PutClassificationExportConfigurationInput) Validate() error {
13440	invalidParams := request.ErrInvalidParams{Context: "PutClassificationExportConfigurationInput"}
13441	if s.Configuration == nil {
13442		invalidParams.Add(request.NewErrParamRequired("Configuration"))
13443	}
13444	if s.Configuration != nil {
13445		if err := s.Configuration.Validate(); err != nil {
13446			invalidParams.AddNested("Configuration", err.(request.ErrInvalidParams))
13447		}
13448	}
13449
13450	if invalidParams.Len() > 0 {
13451		return invalidParams
13452	}
13453	return nil
13454}
13455
13456// SetConfiguration sets the Configuration field's value.
13457func (s *PutClassificationExportConfigurationInput) SetConfiguration(v *ClassificationExportConfiguration) *PutClassificationExportConfigurationInput {
13458	s.Configuration = v
13459	return s
13460}
13461
13462// Provides information about updated settings for storing data classification
13463// results.
13464type PutClassificationExportConfigurationOutput struct {
13465	_ struct{} `type:"structure"`
13466
13467	// Specifies where to store data classification results, and the encryption
13468	// settings to use when storing results in that location. Currently, you can
13469	// store classification results only in an S3 bucket.
13470	Configuration *ClassificationExportConfiguration `locationName:"configuration" type:"structure"`
13471}
13472
13473// String returns the string representation
13474func (s PutClassificationExportConfigurationOutput) String() string {
13475	return awsutil.Prettify(s)
13476}
13477
13478// GoString returns the string representation
13479func (s PutClassificationExportConfigurationOutput) GoString() string {
13480	return s.String()
13481}
13482
13483// SetConfiguration sets the Configuration field's value.
13484func (s *PutClassificationExportConfigurationOutput) SetConfiguration(v *ClassificationExportConfiguration) *PutClassificationExportConfigurationOutput {
13485	s.Configuration = v
13486	return s
13487}
13488
13489// Specifies configuration settings for publishing findings to Security Hub
13490// automatically.
13491type PutFindingsPublicationConfigurationInput struct {
13492	_ struct{} `type:"structure"`
13493
13494	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
13495
13496	// Specifies configuration settings that determine which findings are published
13497	// to Security Hub automatically. For information about how Macie publishes
13498	// findings to Security Hub, see Amazon Macie integration with Security Hub
13499	// (https://docs.aws.amazon.com/macie/latest/user/securityhub-integration.html)
13500	// in the Amazon Macie User Guide.
13501	SecurityHubConfiguration *SecurityHubConfiguration `locationName:"securityHubConfiguration" type:"structure"`
13502}
13503
13504// String returns the string representation
13505func (s PutFindingsPublicationConfigurationInput) String() string {
13506	return awsutil.Prettify(s)
13507}
13508
13509// GoString returns the string representation
13510func (s PutFindingsPublicationConfigurationInput) GoString() string {
13511	return s.String()
13512}
13513
13514// Validate inspects the fields of the type to determine if they are valid.
13515func (s *PutFindingsPublicationConfigurationInput) Validate() error {
13516	invalidParams := request.ErrInvalidParams{Context: "PutFindingsPublicationConfigurationInput"}
13517	if s.SecurityHubConfiguration != nil {
13518		if err := s.SecurityHubConfiguration.Validate(); err != nil {
13519			invalidParams.AddNested("SecurityHubConfiguration", err.(request.ErrInvalidParams))
13520		}
13521	}
13522
13523	if invalidParams.Len() > 0 {
13524		return invalidParams
13525	}
13526	return nil
13527}
13528
13529// SetClientToken sets the ClientToken field's value.
13530func (s *PutFindingsPublicationConfigurationInput) SetClientToken(v string) *PutFindingsPublicationConfigurationInput {
13531	s.ClientToken = &v
13532	return s
13533}
13534
13535// SetSecurityHubConfiguration sets the SecurityHubConfiguration field's value.
13536func (s *PutFindingsPublicationConfigurationInput) SetSecurityHubConfiguration(v *SecurityHubConfiguration) *PutFindingsPublicationConfigurationInput {
13537	s.SecurityHubConfiguration = v
13538	return s
13539}
13540
13541type PutFindingsPublicationConfigurationOutput struct {
13542	_ struct{} `type:"structure"`
13543}
13544
13545// String returns the string representation
13546func (s PutFindingsPublicationConfigurationOutput) String() string {
13547	return awsutil.Prettify(s)
13548}
13549
13550// GoString returns the string representation
13551func (s PutFindingsPublicationConfigurationOutput) GoString() string {
13552	return s.String()
13553}
13554
13555// Specifies the location of an occurrence of sensitive data in a non-binary
13556// text file, such as an HTML, TXT, or XML file.
13557type Range struct {
13558	_ struct{} `type:"structure"`
13559
13560	End *int64 `locationName:"end" type:"long"`
13561
13562	Start *int64 `locationName:"start" type:"long"`
13563
13564	StartColumn *int64 `locationName:"startColumn" type:"long"`
13565}
13566
13567// String returns the string representation
13568func (s Range) String() string {
13569	return awsutil.Prettify(s)
13570}
13571
13572// GoString returns the string representation
13573func (s Range) GoString() string {
13574	return s.String()
13575}
13576
13577// SetEnd sets the End field's value.
13578func (s *Range) SetEnd(v int64) *Range {
13579	s.End = &v
13580	return s
13581}
13582
13583// SetStart sets the Start field's value.
13584func (s *Range) SetStart(v int64) *Range {
13585	s.Start = &v
13586	return s
13587}
13588
13589// SetStartColumn sets the StartColumn field's value.
13590func (s *Range) SetStartColumn(v int64) *Range {
13591	s.StartColumn = &v
13592	return s
13593}
13594
13595// Specifies the location of an occurrence of sensitive data in an Apache Avro
13596// object container, Apache Parquet file, JSON file, or JSON Lines file.
13597type Record struct {
13598	_ struct{} `type:"structure"`
13599
13600	JsonPath *string `locationName:"jsonPath" type:"string"`
13601
13602	RecordIndex *int64 `locationName:"recordIndex" type:"long"`
13603}
13604
13605// String returns the string representation
13606func (s Record) String() string {
13607	return awsutil.Prettify(s)
13608}
13609
13610// GoString returns the string representation
13611func (s Record) GoString() string {
13612	return s.String()
13613}
13614
13615// SetJsonPath sets the JsonPath field's value.
13616func (s *Record) SetJsonPath(v string) *Record {
13617	s.JsonPath = &v
13618	return s
13619}
13620
13621// SetRecordIndex sets the RecordIndex field's value.
13622func (s *Record) SetRecordIndex(v int64) *Record {
13623	s.RecordIndex = &v
13624	return s
13625}
13626
13627// Provides information about settings that define whether one or more objects
13628// in an S3 bucket are replicated to S3 buckets for other Amazon Web Services
13629// accounts and, if so, which accounts.
13630type ReplicationDetails struct {
13631	_ struct{} `type:"structure"`
13632
13633	Replicated *bool `locationName:"replicated" type:"boolean"`
13634
13635	ReplicatedExternally *bool `locationName:"replicatedExternally" type:"boolean"`
13636
13637	ReplicationAccounts []*string `locationName:"replicationAccounts" type:"list"`
13638}
13639
13640// String returns the string representation
13641func (s ReplicationDetails) String() string {
13642	return awsutil.Prettify(s)
13643}
13644
13645// GoString returns the string representation
13646func (s ReplicationDetails) GoString() string {
13647	return s.String()
13648}
13649
13650// SetReplicated sets the Replicated field's value.
13651func (s *ReplicationDetails) SetReplicated(v bool) *ReplicationDetails {
13652	s.Replicated = &v
13653	return s
13654}
13655
13656// SetReplicatedExternally sets the ReplicatedExternally field's value.
13657func (s *ReplicationDetails) SetReplicatedExternally(v bool) *ReplicationDetails {
13658	s.ReplicatedExternally = &v
13659	return s
13660}
13661
13662// SetReplicationAccounts sets the ReplicationAccounts field's value.
13663func (s *ReplicationDetails) SetReplicationAccounts(v []*string) *ReplicationDetails {
13664	s.ReplicationAccounts = v
13665	return s
13666}
13667
13668// Provides information about an error that occurred because a specified resource
13669// wasn't found.
13670type ResourceNotFoundException struct {
13671	_            struct{}                  `type:"structure"`
13672	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
13673
13674	Message_ *string `locationName:"message" type:"string"`
13675}
13676
13677// String returns the string representation
13678func (s ResourceNotFoundException) String() string {
13679	return awsutil.Prettify(s)
13680}
13681
13682// GoString returns the string representation
13683func (s ResourceNotFoundException) GoString() string {
13684	return s.String()
13685}
13686
13687func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
13688	return &ResourceNotFoundException{
13689		RespMetadata: v,
13690	}
13691}
13692
13693// Code returns the exception type name.
13694func (s *ResourceNotFoundException) Code() string {
13695	return "ResourceNotFoundException"
13696}
13697
13698// Message returns the exception's message.
13699func (s *ResourceNotFoundException) Message() string {
13700	if s.Message_ != nil {
13701		return *s.Message_
13702	}
13703	return ""
13704}
13705
13706// OrigErr always returns nil, satisfies awserr.Error interface.
13707func (s *ResourceNotFoundException) OrigErr() error {
13708	return nil
13709}
13710
13711func (s *ResourceNotFoundException) Error() string {
13712	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
13713}
13714
13715// Status code returns the HTTP status code for the request's response error.
13716func (s *ResourceNotFoundException) StatusCode() int {
13717	return s.RespMetadata.StatusCode
13718}
13719
13720// RequestID returns the service's response RequestID for request.
13721func (s *ResourceNotFoundException) RequestID() string {
13722	return s.RespMetadata.RequestID
13723}
13724
13725// Provides information about the resources that a finding applies to.
13726type ResourcesAffected struct {
13727	_ struct{} `type:"structure"`
13728
13729	// Provides information about the S3 bucket that a finding applies to.
13730	S3Bucket *S3Bucket `locationName:"s3Bucket" type:"structure"`
13731
13732	// Provides information about the S3 object that a finding applies to.
13733	S3Object *S3Object `locationName:"s3Object" type:"structure"`
13734}
13735
13736// String returns the string representation
13737func (s ResourcesAffected) String() string {
13738	return awsutil.Prettify(s)
13739}
13740
13741// GoString returns the string representation
13742func (s ResourcesAffected) GoString() string {
13743	return s.String()
13744}
13745
13746// SetS3Bucket sets the S3Bucket field's value.
13747func (s *ResourcesAffected) SetS3Bucket(v *S3Bucket) *ResourcesAffected {
13748	s.S3Bucket = v
13749	return s
13750}
13751
13752// SetS3Object sets the S3Object field's value.
13753func (s *ResourcesAffected) SetS3Object(v *S3Object) *ResourcesAffected {
13754	s.S3Object = v
13755	return s
13756}
13757
13758// Provides information about the S3 bucket that a finding applies to.
13759type S3Bucket struct {
13760	_ struct{} `type:"structure"`
13761
13762	AllowsUnencryptedObjectUploads *string `locationName:"allowsUnencryptedObjectUploads" type:"string" enum:"AllowsUnencryptedObjectUploads"`
13763
13764	Arn *string `locationName:"arn" type:"string"`
13765
13766	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp" timestampFormat:"iso8601"`
13767
13768	// Provides information about the server-side encryption settings for an S3
13769	// bucket or S3 object.
13770	DefaultServerSideEncryption *ServerSideEncryption `locationName:"defaultServerSideEncryption" type:"structure"`
13771
13772	Name *string `locationName:"name" type:"string"`
13773
13774	// Provides information about the user who owns an S3 bucket.
13775	Owner *S3BucketOwner `locationName:"owner" type:"structure"`
13776
13777	// Provides information about the permissions settings that determine whether
13778	// an S3 bucket is publicly accessible.
13779	PublicAccess *BucketPublicAccess `locationName:"publicAccess" type:"structure"`
13780
13781	// Provides information about the tags that are associated with an S3 bucket
13782	// or object. Each tag consists of a required tag key and an associated tag
13783	// value.
13784	Tags []*KeyValuePair `locationName:"tags" type:"list"`
13785}
13786
13787// String returns the string representation
13788func (s S3Bucket) String() string {
13789	return awsutil.Prettify(s)
13790}
13791
13792// GoString returns the string representation
13793func (s S3Bucket) GoString() string {
13794	return s.String()
13795}
13796
13797// SetAllowsUnencryptedObjectUploads sets the AllowsUnencryptedObjectUploads field's value.
13798func (s *S3Bucket) SetAllowsUnencryptedObjectUploads(v string) *S3Bucket {
13799	s.AllowsUnencryptedObjectUploads = &v
13800	return s
13801}
13802
13803// SetArn sets the Arn field's value.
13804func (s *S3Bucket) SetArn(v string) *S3Bucket {
13805	s.Arn = &v
13806	return s
13807}
13808
13809// SetCreatedAt sets the CreatedAt field's value.
13810func (s *S3Bucket) SetCreatedAt(v time.Time) *S3Bucket {
13811	s.CreatedAt = &v
13812	return s
13813}
13814
13815// SetDefaultServerSideEncryption sets the DefaultServerSideEncryption field's value.
13816func (s *S3Bucket) SetDefaultServerSideEncryption(v *ServerSideEncryption) *S3Bucket {
13817	s.DefaultServerSideEncryption = v
13818	return s
13819}
13820
13821// SetName sets the Name field's value.
13822func (s *S3Bucket) SetName(v string) *S3Bucket {
13823	s.Name = &v
13824	return s
13825}
13826
13827// SetOwner sets the Owner field's value.
13828func (s *S3Bucket) SetOwner(v *S3BucketOwner) *S3Bucket {
13829	s.Owner = v
13830	return s
13831}
13832
13833// SetPublicAccess sets the PublicAccess field's value.
13834func (s *S3Bucket) SetPublicAccess(v *BucketPublicAccess) *S3Bucket {
13835	s.PublicAccess = v
13836	return s
13837}
13838
13839// SetTags sets the Tags field's value.
13840func (s *S3Bucket) SetTags(v []*KeyValuePair) *S3Bucket {
13841	s.Tags = v
13842	return s
13843}
13844
13845// Specifies property- and tag-based conditions that define criteria for including
13846// or excluding S3 buckets from a classification job. Exclude conditions take
13847// precedence over include conditions.
13848type S3BucketCriteriaForJob struct {
13849	_ struct{} `type:"structure"`
13850
13851	// Specifies one or more property- and tag-based conditions that define criteria
13852	// for including or excluding S3 buckets from a classification job.
13853	Excludes *CriteriaBlockForJob `locationName:"excludes" type:"structure"`
13854
13855	// Specifies one or more property- and tag-based conditions that define criteria
13856	// for including or excluding S3 buckets from a classification job.
13857	Includes *CriteriaBlockForJob `locationName:"includes" type:"structure"`
13858}
13859
13860// String returns the string representation
13861func (s S3BucketCriteriaForJob) String() string {
13862	return awsutil.Prettify(s)
13863}
13864
13865// GoString returns the string representation
13866func (s S3BucketCriteriaForJob) GoString() string {
13867	return s.String()
13868}
13869
13870// SetExcludes sets the Excludes field's value.
13871func (s *S3BucketCriteriaForJob) SetExcludes(v *CriteriaBlockForJob) *S3BucketCriteriaForJob {
13872	s.Excludes = v
13873	return s
13874}
13875
13876// SetIncludes sets the Includes field's value.
13877func (s *S3BucketCriteriaForJob) SetIncludes(v *CriteriaBlockForJob) *S3BucketCriteriaForJob {
13878	s.Includes = v
13879	return s
13880}
13881
13882// Specifies an Amazon Web Services account that owns S3 buckets for a classification
13883// job to analyze, and one or more specific buckets to analyze for that account.
13884type S3BucketDefinitionForJob struct {
13885	_ struct{} `type:"structure"`
13886
13887	// AccountId is a required field
13888	AccountId *string `locationName:"accountId" type:"string" required:"true"`
13889
13890	// Buckets is a required field
13891	Buckets []*string `locationName:"buckets" type:"list" required:"true"`
13892}
13893
13894// String returns the string representation
13895func (s S3BucketDefinitionForJob) String() string {
13896	return awsutil.Prettify(s)
13897}
13898
13899// GoString returns the string representation
13900func (s S3BucketDefinitionForJob) GoString() string {
13901	return s.String()
13902}
13903
13904// Validate inspects the fields of the type to determine if they are valid.
13905func (s *S3BucketDefinitionForJob) Validate() error {
13906	invalidParams := request.ErrInvalidParams{Context: "S3BucketDefinitionForJob"}
13907	if s.AccountId == nil {
13908		invalidParams.Add(request.NewErrParamRequired("AccountId"))
13909	}
13910	if s.Buckets == nil {
13911		invalidParams.Add(request.NewErrParamRequired("Buckets"))
13912	}
13913
13914	if invalidParams.Len() > 0 {
13915		return invalidParams
13916	}
13917	return nil
13918}
13919
13920// SetAccountId sets the AccountId field's value.
13921func (s *S3BucketDefinitionForJob) SetAccountId(v string) *S3BucketDefinitionForJob {
13922	s.AccountId = &v
13923	return s
13924}
13925
13926// SetBuckets sets the Buckets field's value.
13927func (s *S3BucketDefinitionForJob) SetBuckets(v []*string) *S3BucketDefinitionForJob {
13928	s.Buckets = v
13929	return s
13930}
13931
13932// Provides information about the user who owns an S3 bucket.
13933type S3BucketOwner struct {
13934	_ struct{} `type:"structure"`
13935
13936	DisplayName *string `locationName:"displayName" type:"string"`
13937
13938	Id *string `locationName:"id" type:"string"`
13939}
13940
13941// String returns the string representation
13942func (s S3BucketOwner) String() string {
13943	return awsutil.Prettify(s)
13944}
13945
13946// GoString returns the string representation
13947func (s S3BucketOwner) GoString() string {
13948	return s.String()
13949}
13950
13951// SetDisplayName sets the DisplayName field's value.
13952func (s *S3BucketOwner) SetDisplayName(v string) *S3BucketOwner {
13953	s.DisplayName = &v
13954	return s
13955}
13956
13957// SetId sets the Id field's value.
13958func (s *S3BucketOwner) SetId(v string) *S3BucketOwner {
13959	s.Id = &v
13960	return s
13961}
13962
13963// Specifies an S3 bucket to store data classification results in, and the encryption
13964// settings to use when storing results in that bucket.
13965type S3Destination struct {
13966	_ struct{} `type:"structure"`
13967
13968	// BucketName is a required field
13969	BucketName *string `locationName:"bucketName" type:"string" required:"true"`
13970
13971	KeyPrefix *string `locationName:"keyPrefix" type:"string"`
13972
13973	// KmsKeyArn is a required field
13974	KmsKeyArn *string `locationName:"kmsKeyArn" type:"string" required:"true"`
13975}
13976
13977// String returns the string representation
13978func (s S3Destination) String() string {
13979	return awsutil.Prettify(s)
13980}
13981
13982// GoString returns the string representation
13983func (s S3Destination) GoString() string {
13984	return s.String()
13985}
13986
13987// Validate inspects the fields of the type to determine if they are valid.
13988func (s *S3Destination) Validate() error {
13989	invalidParams := request.ErrInvalidParams{Context: "S3Destination"}
13990	if s.BucketName == nil {
13991		invalidParams.Add(request.NewErrParamRequired("BucketName"))
13992	}
13993	if s.KmsKeyArn == nil {
13994		invalidParams.Add(request.NewErrParamRequired("KmsKeyArn"))
13995	}
13996
13997	if invalidParams.Len() > 0 {
13998		return invalidParams
13999	}
14000	return nil
14001}
14002
14003// SetBucketName sets the BucketName field's value.
14004func (s *S3Destination) SetBucketName(v string) *S3Destination {
14005	s.BucketName = &v
14006	return s
14007}
14008
14009// SetKeyPrefix sets the KeyPrefix field's value.
14010func (s *S3Destination) SetKeyPrefix(v string) *S3Destination {
14011	s.KeyPrefix = &v
14012	return s
14013}
14014
14015// SetKmsKeyArn sets the KmsKeyArn field's value.
14016func (s *S3Destination) SetKmsKeyArn(v string) *S3Destination {
14017	s.KmsKeyArn = &v
14018	return s
14019}
14020
14021// Specifies which S3 buckets contain the objects that a classification job
14022// analyzes, and the scope of that analysis. The bucket specification can be
14023// static (bucketDefinitions) or dynamic (bucketCriteria). If it's static, the
14024// job analyzes objects in the same predefined set of buckets each time the
14025// job runs. If it's dynamic, the job analyzes objects in any buckets that match
14026// the specified criteria each time the job starts to run.
14027type S3JobDefinition struct {
14028	_ struct{} `type:"structure"`
14029
14030	// Specifies property- and tag-based conditions that define criteria for including
14031	// or excluding S3 buckets from a classification job. Exclude conditions take
14032	// precedence over include conditions.
14033	BucketCriteria *S3BucketCriteriaForJob `locationName:"bucketCriteria" type:"structure"`
14034
14035	BucketDefinitions []*S3BucketDefinitionForJob `locationName:"bucketDefinitions" type:"list"`
14036
14037	// Specifies one or more property- and tag-based conditions that define criteria
14038	// for including or excluding S3 objects from a classification job. Exclude
14039	// conditions take precedence over include conditions.
14040	Scoping *Scoping `locationName:"scoping" type:"structure"`
14041}
14042
14043// String returns the string representation
14044func (s S3JobDefinition) String() string {
14045	return awsutil.Prettify(s)
14046}
14047
14048// GoString returns the string representation
14049func (s S3JobDefinition) GoString() string {
14050	return s.String()
14051}
14052
14053// Validate inspects the fields of the type to determine if they are valid.
14054func (s *S3JobDefinition) Validate() error {
14055	invalidParams := request.ErrInvalidParams{Context: "S3JobDefinition"}
14056	if s.BucketDefinitions != nil {
14057		for i, v := range s.BucketDefinitions {
14058			if v == nil {
14059				continue
14060			}
14061			if err := v.Validate(); err != nil {
14062				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "BucketDefinitions", i), err.(request.ErrInvalidParams))
14063			}
14064		}
14065	}
14066
14067	if invalidParams.Len() > 0 {
14068		return invalidParams
14069	}
14070	return nil
14071}
14072
14073// SetBucketCriteria sets the BucketCriteria field's value.
14074func (s *S3JobDefinition) SetBucketCriteria(v *S3BucketCriteriaForJob) *S3JobDefinition {
14075	s.BucketCriteria = v
14076	return s
14077}
14078
14079// SetBucketDefinitions sets the BucketDefinitions field's value.
14080func (s *S3JobDefinition) SetBucketDefinitions(v []*S3BucketDefinitionForJob) *S3JobDefinition {
14081	s.BucketDefinitions = v
14082	return s
14083}
14084
14085// SetScoping sets the Scoping field's value.
14086func (s *S3JobDefinition) SetScoping(v *Scoping) *S3JobDefinition {
14087	s.Scoping = v
14088	return s
14089}
14090
14091// Provides information about the S3 object that a finding applies to.
14092type S3Object struct {
14093	_ struct{} `type:"structure"`
14094
14095	BucketArn *string `locationName:"bucketArn" type:"string"`
14096
14097	ETag *string `locationName:"eTag" type:"string"`
14098
14099	Extension *string `locationName:"extension" type:"string"`
14100
14101	Key *string `locationName:"key" type:"string"`
14102
14103	LastModified *time.Time `locationName:"lastModified" type:"timestamp" timestampFormat:"iso8601"`
14104
14105	Path *string `locationName:"path" type:"string"`
14106
14107	PublicAccess *bool `locationName:"publicAccess" type:"boolean"`
14108
14109	// Provides information about the server-side encryption settings for an S3
14110	// bucket or S3 object.
14111	ServerSideEncryption *ServerSideEncryption `locationName:"serverSideEncryption" type:"structure"`
14112
14113	Size *int64 `locationName:"size" type:"long"`
14114
14115	// The storage class of the S3 object. Possible values are:
14116	StorageClass *string `locationName:"storageClass" type:"string" enum:"StorageClass"`
14117
14118	// Provides information about the tags that are associated with an S3 bucket
14119	// or object. Each tag consists of a required tag key and an associated tag
14120	// value.
14121	Tags []*KeyValuePair `locationName:"tags" type:"list"`
14122
14123	VersionId *string `locationName:"versionId" type:"string"`
14124}
14125
14126// String returns the string representation
14127func (s S3Object) String() string {
14128	return awsutil.Prettify(s)
14129}
14130
14131// GoString returns the string representation
14132func (s S3Object) GoString() string {
14133	return s.String()
14134}
14135
14136// SetBucketArn sets the BucketArn field's value.
14137func (s *S3Object) SetBucketArn(v string) *S3Object {
14138	s.BucketArn = &v
14139	return s
14140}
14141
14142// SetETag sets the ETag field's value.
14143func (s *S3Object) SetETag(v string) *S3Object {
14144	s.ETag = &v
14145	return s
14146}
14147
14148// SetExtension sets the Extension field's value.
14149func (s *S3Object) SetExtension(v string) *S3Object {
14150	s.Extension = &v
14151	return s
14152}
14153
14154// SetKey sets the Key field's value.
14155func (s *S3Object) SetKey(v string) *S3Object {
14156	s.Key = &v
14157	return s
14158}
14159
14160// SetLastModified sets the LastModified field's value.
14161func (s *S3Object) SetLastModified(v time.Time) *S3Object {
14162	s.LastModified = &v
14163	return s
14164}
14165
14166// SetPath sets the Path field's value.
14167func (s *S3Object) SetPath(v string) *S3Object {
14168	s.Path = &v
14169	return s
14170}
14171
14172// SetPublicAccess sets the PublicAccess field's value.
14173func (s *S3Object) SetPublicAccess(v bool) *S3Object {
14174	s.PublicAccess = &v
14175	return s
14176}
14177
14178// SetServerSideEncryption sets the ServerSideEncryption field's value.
14179func (s *S3Object) SetServerSideEncryption(v *ServerSideEncryption) *S3Object {
14180	s.ServerSideEncryption = v
14181	return s
14182}
14183
14184// SetSize sets the Size field's value.
14185func (s *S3Object) SetSize(v int64) *S3Object {
14186	s.Size = &v
14187	return s
14188}
14189
14190// SetStorageClass sets the StorageClass field's value.
14191func (s *S3Object) SetStorageClass(v string) *S3Object {
14192	s.StorageClass = &v
14193	return s
14194}
14195
14196// SetTags sets the Tags field's value.
14197func (s *S3Object) SetTags(v []*KeyValuePair) *S3Object {
14198	s.Tags = v
14199	return s
14200}
14201
14202// SetVersionId sets the VersionId field's value.
14203func (s *S3Object) SetVersionId(v string) *S3Object {
14204	s.VersionId = &v
14205	return s
14206}
14207
14208// Specifies one or more property- and tag-based conditions that define criteria
14209// for including or excluding S3 objects from a classification job. Exclude
14210// conditions take precedence over include conditions.
14211type Scoping struct {
14212	_ struct{} `type:"structure"`
14213
14214	// Specifies one or more property- and tag-based conditions that define criteria
14215	// for including or excluding S3 objects from a classification job.
14216	Excludes *JobScopingBlock `locationName:"excludes" type:"structure"`
14217
14218	// Specifies one or more property- and tag-based conditions that define criteria
14219	// for including or excluding S3 objects from a classification job.
14220	Includes *JobScopingBlock `locationName:"includes" type:"structure"`
14221}
14222
14223// String returns the string representation
14224func (s Scoping) String() string {
14225	return awsutil.Prettify(s)
14226}
14227
14228// GoString returns the string representation
14229func (s Scoping) GoString() string {
14230	return s.String()
14231}
14232
14233// SetExcludes sets the Excludes field's value.
14234func (s *Scoping) SetExcludes(v *JobScopingBlock) *Scoping {
14235	s.Excludes = v
14236	return s
14237}
14238
14239// SetIncludes sets the Includes field's value.
14240func (s *Scoping) SetIncludes(v *JobScopingBlock) *Scoping {
14241	s.Includes = v
14242	return s
14243}
14244
14245// Specifies property- and tag-based conditions that define filter criteria
14246// for including or excluding S3 buckets from the query results. Exclude conditions
14247// take precedence over include conditions.
14248type SearchResourcesBucketCriteria struct {
14249	_ struct{} `type:"structure"`
14250
14251	// Specifies property- and tag-based conditions that define filter criteria
14252	// for including or excluding Amazon Web Services resources from the query results.
14253	Excludes *SearchResourcesCriteriaBlock `locationName:"excludes" type:"structure"`
14254
14255	// Specifies property- and tag-based conditions that define filter criteria
14256	// for including or excluding Amazon Web Services resources from the query results.
14257	Includes *SearchResourcesCriteriaBlock `locationName:"includes" type:"structure"`
14258}
14259
14260// String returns the string representation
14261func (s SearchResourcesBucketCriteria) String() string {
14262	return awsutil.Prettify(s)
14263}
14264
14265// GoString returns the string representation
14266func (s SearchResourcesBucketCriteria) GoString() string {
14267	return s.String()
14268}
14269
14270// SetExcludes sets the Excludes field's value.
14271func (s *SearchResourcesBucketCriteria) SetExcludes(v *SearchResourcesCriteriaBlock) *SearchResourcesBucketCriteria {
14272	s.Excludes = v
14273	return s
14274}
14275
14276// SetIncludes sets the Includes field's value.
14277func (s *SearchResourcesBucketCriteria) SetIncludes(v *SearchResourcesCriteriaBlock) *SearchResourcesBucketCriteria {
14278	s.Includes = v
14279	return s
14280}
14281
14282// Specifies a property- or tag-based filter condition for including or excluding
14283// Amazon Web Services resources from the query results.
14284type SearchResourcesCriteria struct {
14285	_ struct{} `type:"structure"`
14286
14287	// Specifies a property-based filter condition that determines which Amazon
14288	// Web Services resources are included or excluded from the query results.
14289	SimpleCriterion *SearchResourcesSimpleCriterion `locationName:"simpleCriterion" type:"structure"`
14290
14291	// Specifies a tag-based filter condition that determines which Amazon Web Services
14292	// resources are included or excluded from the query results.
14293	TagCriterion *SearchResourcesTagCriterion `locationName:"tagCriterion" type:"structure"`
14294}
14295
14296// String returns the string representation
14297func (s SearchResourcesCriteria) String() string {
14298	return awsutil.Prettify(s)
14299}
14300
14301// GoString returns the string representation
14302func (s SearchResourcesCriteria) GoString() string {
14303	return s.String()
14304}
14305
14306// SetSimpleCriterion sets the SimpleCriterion field's value.
14307func (s *SearchResourcesCriteria) SetSimpleCriterion(v *SearchResourcesSimpleCriterion) *SearchResourcesCriteria {
14308	s.SimpleCriterion = v
14309	return s
14310}
14311
14312// SetTagCriterion sets the TagCriterion field's value.
14313func (s *SearchResourcesCriteria) SetTagCriterion(v *SearchResourcesTagCriterion) *SearchResourcesCriteria {
14314	s.TagCriterion = v
14315	return s
14316}
14317
14318// Specifies property- and tag-based conditions that define filter criteria
14319// for including or excluding Amazon Web Services resources from the query results.
14320type SearchResourcesCriteriaBlock struct {
14321	_ struct{} `type:"structure"`
14322
14323	And []*SearchResourcesCriteria `locationName:"and" type:"list"`
14324}
14325
14326// String returns the string representation
14327func (s SearchResourcesCriteriaBlock) String() string {
14328	return awsutil.Prettify(s)
14329}
14330
14331// GoString returns the string representation
14332func (s SearchResourcesCriteriaBlock) GoString() string {
14333	return s.String()
14334}
14335
14336// SetAnd sets the And field's value.
14337func (s *SearchResourcesCriteriaBlock) SetAnd(v []*SearchResourcesCriteria) *SearchResourcesCriteriaBlock {
14338	s.And = v
14339	return s
14340}
14341
14342// Specifies criteria for filtering, sorting, and paginating the results of
14343// a query for statistical data and other information about Amazon Web Services
14344// resources that Amazon Macie monitors and analyzes.
14345type SearchResourcesInput struct {
14346	_ struct{} `type:"structure"`
14347
14348	// Specifies property- and tag-based conditions that define filter criteria
14349	// for including or excluding S3 buckets from the query results. Exclude conditions
14350	// take precedence over include conditions.
14351	BucketCriteria *SearchResourcesBucketCriteria `locationName:"bucketCriteria" type:"structure"`
14352
14353	MaxResults *int64 `locationName:"maxResults" type:"integer"`
14354
14355	NextToken *string `locationName:"nextToken" type:"string"`
14356
14357	// Specifies criteria for sorting the results of a query for information about
14358	// Amazon Web Services resources that Amazon Macie monitors and analyzes.
14359	SortCriteria *SearchResourcesSortCriteria `locationName:"sortCriteria" type:"structure"`
14360}
14361
14362// String returns the string representation
14363func (s SearchResourcesInput) String() string {
14364	return awsutil.Prettify(s)
14365}
14366
14367// GoString returns the string representation
14368func (s SearchResourcesInput) GoString() string {
14369	return s.String()
14370}
14371
14372// SetBucketCriteria sets the BucketCriteria field's value.
14373func (s *SearchResourcesInput) SetBucketCriteria(v *SearchResourcesBucketCriteria) *SearchResourcesInput {
14374	s.BucketCriteria = v
14375	return s
14376}
14377
14378// SetMaxResults sets the MaxResults field's value.
14379func (s *SearchResourcesInput) SetMaxResults(v int64) *SearchResourcesInput {
14380	s.MaxResults = &v
14381	return s
14382}
14383
14384// SetNextToken sets the NextToken field's value.
14385func (s *SearchResourcesInput) SetNextToken(v string) *SearchResourcesInput {
14386	s.NextToken = &v
14387	return s
14388}
14389
14390// SetSortCriteria sets the SortCriteria field's value.
14391func (s *SearchResourcesInput) SetSortCriteria(v *SearchResourcesSortCriteria) *SearchResourcesInput {
14392	s.SortCriteria = v
14393	return s
14394}
14395
14396// Provides the results of a query that retrieved statistical data and other
14397// information about Amazon Web Services resources that Amazon Macie monitors
14398// and analyzes.
14399type SearchResourcesOutput struct {
14400	_ struct{} `type:"structure"`
14401
14402	MatchingResources []*MatchingResource `locationName:"matchingResources" type:"list"`
14403
14404	NextToken *string `locationName:"nextToken" type:"string"`
14405}
14406
14407// String returns the string representation
14408func (s SearchResourcesOutput) String() string {
14409	return awsutil.Prettify(s)
14410}
14411
14412// GoString returns the string representation
14413func (s SearchResourcesOutput) GoString() string {
14414	return s.String()
14415}
14416
14417// SetMatchingResources sets the MatchingResources field's value.
14418func (s *SearchResourcesOutput) SetMatchingResources(v []*MatchingResource) *SearchResourcesOutput {
14419	s.MatchingResources = v
14420	return s
14421}
14422
14423// SetNextToken sets the NextToken field's value.
14424func (s *SearchResourcesOutput) SetNextToken(v string) *SearchResourcesOutput {
14425	s.NextToken = &v
14426	return s
14427}
14428
14429// Specifies a property-based filter condition that determines which Amazon
14430// Web Services resources are included or excluded from the query results.
14431type SearchResourcesSimpleCriterion struct {
14432	_ struct{} `type:"structure"`
14433
14434	// The operator to use in a condition that filters the results of a query. Valid
14435	// values are:
14436	Comparator *string `locationName:"comparator" type:"string" enum:"SearchResourcesComparator"`
14437
14438	// The property to use in a condition that filters the query results. Valid
14439	// values are:
14440	Key *string `locationName:"key" type:"string" enum:"SearchResourcesSimpleCriterionKey"`
14441
14442	Values []*string `locationName:"values" type:"list"`
14443}
14444
14445// String returns the string representation
14446func (s SearchResourcesSimpleCriterion) String() string {
14447	return awsutil.Prettify(s)
14448}
14449
14450// GoString returns the string representation
14451func (s SearchResourcesSimpleCriterion) GoString() string {
14452	return s.String()
14453}
14454
14455// SetComparator sets the Comparator field's value.
14456func (s *SearchResourcesSimpleCriterion) SetComparator(v string) *SearchResourcesSimpleCriterion {
14457	s.Comparator = &v
14458	return s
14459}
14460
14461// SetKey sets the Key field's value.
14462func (s *SearchResourcesSimpleCriterion) SetKey(v string) *SearchResourcesSimpleCriterion {
14463	s.Key = &v
14464	return s
14465}
14466
14467// SetValues sets the Values field's value.
14468func (s *SearchResourcesSimpleCriterion) SetValues(v []*string) *SearchResourcesSimpleCriterion {
14469	s.Values = v
14470	return s
14471}
14472
14473// Specifies criteria for sorting the results of a query for information about
14474// Amazon Web Services resources that Amazon Macie monitors and analyzes.
14475type SearchResourcesSortCriteria struct {
14476	_ struct{} `type:"structure"`
14477
14478	// The property to sort the query results by. Valid values are:
14479	AttributeName *string `locationName:"attributeName" type:"string" enum:"SearchResourcesSortAttributeName"`
14480
14481	OrderBy *string `locationName:"orderBy" type:"string" enum:"OrderBy"`
14482}
14483
14484// String returns the string representation
14485func (s SearchResourcesSortCriteria) String() string {
14486	return awsutil.Prettify(s)
14487}
14488
14489// GoString returns the string representation
14490func (s SearchResourcesSortCriteria) GoString() string {
14491	return s.String()
14492}
14493
14494// SetAttributeName sets the AttributeName field's value.
14495func (s *SearchResourcesSortCriteria) SetAttributeName(v string) *SearchResourcesSortCriteria {
14496	s.AttributeName = &v
14497	return s
14498}
14499
14500// SetOrderBy sets the OrderBy field's value.
14501func (s *SearchResourcesSortCriteria) SetOrderBy(v string) *SearchResourcesSortCriteria {
14502	s.OrderBy = &v
14503	return s
14504}
14505
14506// Specifies a tag-based filter condition that determines which Amazon Web Services
14507// resources are included or excluded from the query results.
14508type SearchResourcesTagCriterion struct {
14509	_ struct{} `type:"structure"`
14510
14511	// The operator to use in a condition that filters the results of a query. Valid
14512	// values are:
14513	Comparator *string `locationName:"comparator" type:"string" enum:"SearchResourcesComparator"`
14514
14515	TagValues []*SearchResourcesTagCriterionPair `locationName:"tagValues" type:"list"`
14516}
14517
14518// String returns the string representation
14519func (s SearchResourcesTagCriterion) String() string {
14520	return awsutil.Prettify(s)
14521}
14522
14523// GoString returns the string representation
14524func (s SearchResourcesTagCriterion) GoString() string {
14525	return s.String()
14526}
14527
14528// SetComparator sets the Comparator field's value.
14529func (s *SearchResourcesTagCriterion) SetComparator(v string) *SearchResourcesTagCriterion {
14530	s.Comparator = &v
14531	return s
14532}
14533
14534// SetTagValues sets the TagValues field's value.
14535func (s *SearchResourcesTagCriterion) SetTagValues(v []*SearchResourcesTagCriterionPair) *SearchResourcesTagCriterion {
14536	s.TagValues = v
14537	return s
14538}
14539
14540// Specifies a tag key, a tag value, or a tag key and value (as a pair) to use
14541// in a tag-based filter condition for a query. Tag keys and values are case
14542// sensitive. Also, Amazon Macie doesn't support use of partial values or wildcard
14543// characters in tag-based filter conditions.
14544type SearchResourcesTagCriterionPair struct {
14545	_ struct{} `type:"structure"`
14546
14547	Key *string `locationName:"key" type:"string"`
14548
14549	Value *string `locationName:"value" type:"string"`
14550}
14551
14552// String returns the string representation
14553func (s SearchResourcesTagCriterionPair) String() string {
14554	return awsutil.Prettify(s)
14555}
14556
14557// GoString returns the string representation
14558func (s SearchResourcesTagCriterionPair) GoString() string {
14559	return s.String()
14560}
14561
14562// SetKey sets the Key field's value.
14563func (s *SearchResourcesTagCriterionPair) SetKey(v string) *SearchResourcesTagCriterionPair {
14564	s.Key = &v
14565	return s
14566}
14567
14568// SetValue sets the Value field's value.
14569func (s *SearchResourcesTagCriterionPair) SetValue(v string) *SearchResourcesTagCriterionPair {
14570	s.Value = &v
14571	return s
14572}
14573
14574// Specifies configuration settings that determine which findings are published
14575// to Security Hub automatically. For information about how Macie publishes
14576// findings to Security Hub, see Amazon Macie integration with Security Hub
14577// (https://docs.aws.amazon.com/macie/latest/user/securityhub-integration.html)
14578// in the Amazon Macie User Guide.
14579type SecurityHubConfiguration struct {
14580	_ struct{} `type:"structure"`
14581
14582	// PublishClassificationFindings is a required field
14583	PublishClassificationFindings *bool `locationName:"publishClassificationFindings" type:"boolean" required:"true"`
14584
14585	// PublishPolicyFindings is a required field
14586	PublishPolicyFindings *bool `locationName:"publishPolicyFindings" type:"boolean" required:"true"`
14587}
14588
14589// String returns the string representation
14590func (s SecurityHubConfiguration) String() string {
14591	return awsutil.Prettify(s)
14592}
14593
14594// GoString returns the string representation
14595func (s SecurityHubConfiguration) GoString() string {
14596	return s.String()
14597}
14598
14599// Validate inspects the fields of the type to determine if they are valid.
14600func (s *SecurityHubConfiguration) Validate() error {
14601	invalidParams := request.ErrInvalidParams{Context: "SecurityHubConfiguration"}
14602	if s.PublishClassificationFindings == nil {
14603		invalidParams.Add(request.NewErrParamRequired("PublishClassificationFindings"))
14604	}
14605	if s.PublishPolicyFindings == nil {
14606		invalidParams.Add(request.NewErrParamRequired("PublishPolicyFindings"))
14607	}
14608
14609	if invalidParams.Len() > 0 {
14610		return invalidParams
14611	}
14612	return nil
14613}
14614
14615// SetPublishClassificationFindings sets the PublishClassificationFindings field's value.
14616func (s *SecurityHubConfiguration) SetPublishClassificationFindings(v bool) *SecurityHubConfiguration {
14617	s.PublishClassificationFindings = &v
14618	return s
14619}
14620
14621// SetPublishPolicyFindings sets the PublishPolicyFindings field's value.
14622func (s *SecurityHubConfiguration) SetPublishPolicyFindings(v bool) *SecurityHubConfiguration {
14623	s.PublishPolicyFindings = &v
14624	return s
14625}
14626
14627// Provides information about the category, types, and occurrences of sensitive
14628// data that produced a sensitive data finding.
14629type SensitiveDataItem struct {
14630	_ struct{} `type:"structure"`
14631
14632	// The category of sensitive data that was detected and produced the finding.
14633	// Possible values are:
14634	Category *string `locationName:"category" type:"string" enum:"SensitiveDataItemCategory"`
14635
14636	// Provides information about sensitive data that was detected by managed data
14637	// identifiers and produced a sensitive data finding, and the number of occurrences
14638	// of each type of sensitive data that was detected.
14639	Detections []*DefaultDetection `locationName:"detections" type:"list"`
14640
14641	TotalCount *int64 `locationName:"totalCount" type:"long"`
14642}
14643
14644// String returns the string representation
14645func (s SensitiveDataItem) String() string {
14646	return awsutil.Prettify(s)
14647}
14648
14649// GoString returns the string representation
14650func (s SensitiveDataItem) GoString() string {
14651	return s.String()
14652}
14653
14654// SetCategory sets the Category field's value.
14655func (s *SensitiveDataItem) SetCategory(v string) *SensitiveDataItem {
14656	s.Category = &v
14657	return s
14658}
14659
14660// SetDetections sets the Detections field's value.
14661func (s *SensitiveDataItem) SetDetections(v []*DefaultDetection) *SensitiveDataItem {
14662	s.Detections = v
14663	return s
14664}
14665
14666// SetTotalCount sets the TotalCount field's value.
14667func (s *SensitiveDataItem) SetTotalCount(v int64) *SensitiveDataItem {
14668	s.TotalCount = &v
14669	return s
14670}
14671
14672// Provides information about the server-side encryption settings for an S3
14673// bucket or S3 object.
14674type ServerSideEncryption struct {
14675	_ struct{} `type:"structure"`
14676
14677	// The type of server-side encryption that's used to encrypt an S3 object or
14678	// objects in an S3 bucket. Valid values are:
14679	EncryptionType *string `locationName:"encryptionType" type:"string" enum:"EncryptionType"`
14680
14681	KmsMasterKeyId *string `locationName:"kmsMasterKeyId" type:"string"`
14682}
14683
14684// String returns the string representation
14685func (s ServerSideEncryption) String() string {
14686	return awsutil.Prettify(s)
14687}
14688
14689// GoString returns the string representation
14690func (s ServerSideEncryption) GoString() string {
14691	return s.String()
14692}
14693
14694// SetEncryptionType sets the EncryptionType field's value.
14695func (s *ServerSideEncryption) SetEncryptionType(v string) *ServerSideEncryption {
14696	s.EncryptionType = &v
14697	return s
14698}
14699
14700// SetKmsMasterKeyId sets the KmsMasterKeyId field's value.
14701func (s *ServerSideEncryption) SetKmsMasterKeyId(v string) *ServerSideEncryption {
14702	s.KmsMasterKeyId = &v
14703	return s
14704}
14705
14706// Specifies a current quota for an Amazon Macie account.
14707type ServiceLimit struct {
14708	_ struct{} `type:"structure"`
14709
14710	IsServiceLimited *bool `locationName:"isServiceLimited" type:"boolean"`
14711
14712	Unit *string `locationName:"unit" type:"string" enum:"Unit"`
14713
14714	Value *int64 `locationName:"value" type:"long"`
14715}
14716
14717// String returns the string representation
14718func (s ServiceLimit) String() string {
14719	return awsutil.Prettify(s)
14720}
14721
14722// GoString returns the string representation
14723func (s ServiceLimit) GoString() string {
14724	return s.String()
14725}
14726
14727// SetIsServiceLimited sets the IsServiceLimited field's value.
14728func (s *ServiceLimit) SetIsServiceLimited(v bool) *ServiceLimit {
14729	s.IsServiceLimited = &v
14730	return s
14731}
14732
14733// SetUnit sets the Unit field's value.
14734func (s *ServiceLimit) SetUnit(v string) *ServiceLimit {
14735	s.Unit = &v
14736	return s
14737}
14738
14739// SetValue sets the Value field's value.
14740func (s *ServiceLimit) SetValue(v int64) *ServiceLimit {
14741	s.Value = &v
14742	return s
14743}
14744
14745// Provides information about an error that occurred due to one or more service
14746// quotas for an account.
14747type ServiceQuotaExceededException struct {
14748	_            struct{}                  `type:"structure"`
14749	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
14750
14751	Message_ *string `locationName:"message" type:"string"`
14752}
14753
14754// String returns the string representation
14755func (s ServiceQuotaExceededException) String() string {
14756	return awsutil.Prettify(s)
14757}
14758
14759// GoString returns the string representation
14760func (s ServiceQuotaExceededException) GoString() string {
14761	return s.String()
14762}
14763
14764func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
14765	return &ServiceQuotaExceededException{
14766		RespMetadata: v,
14767	}
14768}
14769
14770// Code returns the exception type name.
14771func (s *ServiceQuotaExceededException) Code() string {
14772	return "ServiceQuotaExceededException"
14773}
14774
14775// Message returns the exception's message.
14776func (s *ServiceQuotaExceededException) Message() string {
14777	if s.Message_ != nil {
14778		return *s.Message_
14779	}
14780	return ""
14781}
14782
14783// OrigErr always returns nil, satisfies awserr.Error interface.
14784func (s *ServiceQuotaExceededException) OrigErr() error {
14785	return nil
14786}
14787
14788func (s *ServiceQuotaExceededException) Error() string {
14789	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
14790}
14791
14792// Status code returns the HTTP status code for the request's response error.
14793func (s *ServiceQuotaExceededException) StatusCode() int {
14794	return s.RespMetadata.StatusCode
14795}
14796
14797// RequestID returns the service's response RequestID for request.
14798func (s *ServiceQuotaExceededException) RequestID() string {
14799	return s.RespMetadata.RequestID
14800}
14801
14802// Provides information about a session that was created for an entity that
14803// performed an action by using temporary security credentials.
14804type SessionContext struct {
14805	_ struct{} `type:"structure"`
14806
14807	// Provides information about the context in which temporary security credentials
14808	// were issued to an entity.
14809	Attributes *SessionContextAttributes `locationName:"attributes" type:"structure"`
14810
14811	// Provides information about the source and type of temporary security credentials
14812	// that were issued to an entity.
14813	SessionIssuer *SessionIssuer `locationName:"sessionIssuer" type:"structure"`
14814}
14815
14816// String returns the string representation
14817func (s SessionContext) String() string {
14818	return awsutil.Prettify(s)
14819}
14820
14821// GoString returns the string representation
14822func (s SessionContext) GoString() string {
14823	return s.String()
14824}
14825
14826// SetAttributes sets the Attributes field's value.
14827func (s *SessionContext) SetAttributes(v *SessionContextAttributes) *SessionContext {
14828	s.Attributes = v
14829	return s
14830}
14831
14832// SetSessionIssuer sets the SessionIssuer field's value.
14833func (s *SessionContext) SetSessionIssuer(v *SessionIssuer) *SessionContext {
14834	s.SessionIssuer = v
14835	return s
14836}
14837
14838// Provides information about the context in which temporary security credentials
14839// were issued to an entity.
14840type SessionContextAttributes struct {
14841	_ struct{} `type:"structure"`
14842
14843	CreationDate *time.Time `locationName:"creationDate" type:"timestamp" timestampFormat:"iso8601"`
14844
14845	MfaAuthenticated *bool `locationName:"mfaAuthenticated" type:"boolean"`
14846}
14847
14848// String returns the string representation
14849func (s SessionContextAttributes) String() string {
14850	return awsutil.Prettify(s)
14851}
14852
14853// GoString returns the string representation
14854func (s SessionContextAttributes) GoString() string {
14855	return s.String()
14856}
14857
14858// SetCreationDate sets the CreationDate field's value.
14859func (s *SessionContextAttributes) SetCreationDate(v time.Time) *SessionContextAttributes {
14860	s.CreationDate = &v
14861	return s
14862}
14863
14864// SetMfaAuthenticated sets the MfaAuthenticated field's value.
14865func (s *SessionContextAttributes) SetMfaAuthenticated(v bool) *SessionContextAttributes {
14866	s.MfaAuthenticated = &v
14867	return s
14868}
14869
14870// Provides information about the source and type of temporary security credentials
14871// that were issued to an entity.
14872type SessionIssuer struct {
14873	_ struct{} `type:"structure"`
14874
14875	AccountId *string `locationName:"accountId" type:"string"`
14876
14877	Arn *string `locationName:"arn" type:"string"`
14878
14879	PrincipalId *string `locationName:"principalId" type:"string"`
14880
14881	Type *string `locationName:"type" type:"string"`
14882
14883	UserName *string `locationName:"userName" type:"string"`
14884}
14885
14886// String returns the string representation
14887func (s SessionIssuer) String() string {
14888	return awsutil.Prettify(s)
14889}
14890
14891// GoString returns the string representation
14892func (s SessionIssuer) GoString() string {
14893	return s.String()
14894}
14895
14896// SetAccountId sets the AccountId field's value.
14897func (s *SessionIssuer) SetAccountId(v string) *SessionIssuer {
14898	s.AccountId = &v
14899	return s
14900}
14901
14902// SetArn sets the Arn field's value.
14903func (s *SessionIssuer) SetArn(v string) *SessionIssuer {
14904	s.Arn = &v
14905	return s
14906}
14907
14908// SetPrincipalId sets the PrincipalId field's value.
14909func (s *SessionIssuer) SetPrincipalId(v string) *SessionIssuer {
14910	s.PrincipalId = &v
14911	return s
14912}
14913
14914// SetType sets the Type field's value.
14915func (s *SessionIssuer) SetType(v string) *SessionIssuer {
14916	s.Type = &v
14917	return s
14918}
14919
14920// SetUserName sets the UserName field's value.
14921func (s *SessionIssuer) SetUserName(v string) *SessionIssuer {
14922	s.UserName = &v
14923	return s
14924}
14925
14926// Provides the numerical and qualitative representations of a finding's severity.
14927type Severity struct {
14928	_ struct{} `type:"structure"`
14929
14930	// The qualitative representation of the finding's severity. Possible values
14931	// are:
14932	Description *string `locationName:"description" type:"string" enum:"SeverityDescription"`
14933
14934	Score *int64 `locationName:"score" type:"long"`
14935}
14936
14937// String returns the string representation
14938func (s Severity) String() string {
14939	return awsutil.Prettify(s)
14940}
14941
14942// GoString returns the string representation
14943func (s Severity) GoString() string {
14944	return s.String()
14945}
14946
14947// SetDescription sets the Description field's value.
14948func (s *Severity) SetDescription(v string) *Severity {
14949	s.Description = &v
14950	return s
14951}
14952
14953// SetScore sets the Score field's value.
14954func (s *Severity) SetScore(v int64) *Severity {
14955	s.Score = &v
14956	return s
14957}
14958
14959// Specifies a property-based condition that determines whether an S3 bucket
14960// is included or excluded from a classification job.
14961type SimpleCriterionForJob struct {
14962	_ struct{} `type:"structure"`
14963
14964	// The operator to use in a condition. Valid values are:
14965	Comparator *string `locationName:"comparator" type:"string" enum:"JobComparator"`
14966
14967	// The property to use in a condition that determines whether an S3 bucket is
14968	// included or excluded from a classification job. Valid values are:
14969	Key *string `locationName:"key" type:"string" enum:"SimpleCriterionKeyForJob"`
14970
14971	Values []*string `locationName:"values" type:"list"`
14972}
14973
14974// String returns the string representation
14975func (s SimpleCriterionForJob) String() string {
14976	return awsutil.Prettify(s)
14977}
14978
14979// GoString returns the string representation
14980func (s SimpleCriterionForJob) GoString() string {
14981	return s.String()
14982}
14983
14984// SetComparator sets the Comparator field's value.
14985func (s *SimpleCriterionForJob) SetComparator(v string) *SimpleCriterionForJob {
14986	s.Comparator = &v
14987	return s
14988}
14989
14990// SetKey sets the Key field's value.
14991func (s *SimpleCriterionForJob) SetKey(v string) *SimpleCriterionForJob {
14992	s.Key = &v
14993	return s
14994}
14995
14996// SetValues sets the Values field's value.
14997func (s *SimpleCriterionForJob) SetValues(v []*string) *SimpleCriterionForJob {
14998	s.Values = v
14999	return s
15000}
15001
15002// Specifies a property-based condition that determines whether an S3 object
15003// is included or excluded from a classification job.
15004type SimpleScopeTerm struct {
15005	_ struct{} `type:"structure"`
15006
15007	// The operator to use in a condition. Valid values are:
15008	Comparator *string `locationName:"comparator" type:"string" enum:"JobComparator"`
15009
15010	// The property to use in a condition that determines whether an S3 object is
15011	// included or excluded from a classification job. Valid values are:
15012	Key *string `locationName:"key" type:"string" enum:"ScopeFilterKey"`
15013
15014	Values []*string `locationName:"values" type:"list"`
15015}
15016
15017// String returns the string representation
15018func (s SimpleScopeTerm) String() string {
15019	return awsutil.Prettify(s)
15020}
15021
15022// GoString returns the string representation
15023func (s SimpleScopeTerm) GoString() string {
15024	return s.String()
15025}
15026
15027// SetComparator sets the Comparator field's value.
15028func (s *SimpleScopeTerm) SetComparator(v string) *SimpleScopeTerm {
15029	s.Comparator = &v
15030	return s
15031}
15032
15033// SetKey sets the Key field's value.
15034func (s *SimpleScopeTerm) SetKey(v string) *SimpleScopeTerm {
15035	s.Key = &v
15036	return s
15037}
15038
15039// SetValues sets the Values field's value.
15040func (s *SimpleScopeTerm) SetValues(v []*string) *SimpleScopeTerm {
15041	s.Values = v
15042	return s
15043}
15044
15045// Specifies criteria for sorting the results of a request for findings.
15046type SortCriteria struct {
15047	_ struct{} `type:"structure"`
15048
15049	AttributeName *string `locationName:"attributeName" type:"string"`
15050
15051	OrderBy *string `locationName:"orderBy" type:"string" enum:"OrderBy"`
15052}
15053
15054// String returns the string representation
15055func (s SortCriteria) String() string {
15056	return awsutil.Prettify(s)
15057}
15058
15059// GoString returns the string representation
15060func (s SortCriteria) GoString() string {
15061	return s.String()
15062}
15063
15064// SetAttributeName sets the AttributeName field's value.
15065func (s *SortCriteria) SetAttributeName(v string) *SortCriteria {
15066	s.AttributeName = &v
15067	return s
15068}
15069
15070// SetOrderBy sets the OrderBy field's value.
15071func (s *SortCriteria) SetOrderBy(v string) *SortCriteria {
15072	s.OrderBy = &v
15073	return s
15074}
15075
15076// Provides processing statistics for a classification job.
15077type Statistics struct {
15078	_ struct{} `type:"structure"`
15079
15080	ApproximateNumberOfObjectsToProcess *float64 `locationName:"approximateNumberOfObjectsToProcess" type:"double"`
15081
15082	NumberOfRuns *float64 `locationName:"numberOfRuns" type:"double"`
15083}
15084
15085// String returns the string representation
15086func (s Statistics) String() string {
15087	return awsutil.Prettify(s)
15088}
15089
15090// GoString returns the string representation
15091func (s Statistics) GoString() string {
15092	return s.String()
15093}
15094
15095// SetApproximateNumberOfObjectsToProcess sets the ApproximateNumberOfObjectsToProcess field's value.
15096func (s *Statistics) SetApproximateNumberOfObjectsToProcess(v float64) *Statistics {
15097	s.ApproximateNumberOfObjectsToProcess = &v
15098	return s
15099}
15100
15101// SetNumberOfRuns sets the NumberOfRuns field's value.
15102func (s *Statistics) SetNumberOfRuns(v float64) *Statistics {
15103	s.NumberOfRuns = &v
15104	return s
15105}
15106
15107// Specifies a tag-based condition that determines whether an S3 bucket is included
15108// or excluded from a classification job.
15109type TagCriterionForJob struct {
15110	_ struct{} `type:"structure"`
15111
15112	// The operator to use in a condition. Valid values are:
15113	Comparator *string `locationName:"comparator" type:"string" enum:"JobComparator"`
15114
15115	TagValues []*TagCriterionPairForJob `locationName:"tagValues" type:"list"`
15116}
15117
15118// String returns the string representation
15119func (s TagCriterionForJob) String() string {
15120	return awsutil.Prettify(s)
15121}
15122
15123// GoString returns the string representation
15124func (s TagCriterionForJob) GoString() string {
15125	return s.String()
15126}
15127
15128// SetComparator sets the Comparator field's value.
15129func (s *TagCriterionForJob) SetComparator(v string) *TagCriterionForJob {
15130	s.Comparator = &v
15131	return s
15132}
15133
15134// SetTagValues sets the TagValues field's value.
15135func (s *TagCriterionForJob) SetTagValues(v []*TagCriterionPairForJob) *TagCriterionForJob {
15136	s.TagValues = v
15137	return s
15138}
15139
15140// Specifies a tag key, a tag value, or a tag key and value (as a pair) to use
15141// in a tag-based condition that determines whether an S3 bucket is included
15142// or excluded from a classification job. Tag keys and values are case sensitive.
15143// Also, Amazon Macie doesn't support use of partial values or wildcard characters
15144// in tag-based conditions.
15145type TagCriterionPairForJob struct {
15146	_ struct{} `type:"structure"`
15147
15148	Key *string `locationName:"key" type:"string"`
15149
15150	Value *string `locationName:"value" type:"string"`
15151}
15152
15153// String returns the string representation
15154func (s TagCriterionPairForJob) String() string {
15155	return awsutil.Prettify(s)
15156}
15157
15158// GoString returns the string representation
15159func (s TagCriterionPairForJob) GoString() string {
15160	return s.String()
15161}
15162
15163// SetKey sets the Key field's value.
15164func (s *TagCriterionPairForJob) SetKey(v string) *TagCriterionPairForJob {
15165	s.Key = &v
15166	return s
15167}
15168
15169// SetValue sets the Value field's value.
15170func (s *TagCriterionPairForJob) SetValue(v string) *TagCriterionPairForJob {
15171	s.Value = &v
15172	return s
15173}
15174
15175// Specifies the tags (keys and values) to associate with a classification job,
15176// custom data identifier, findings filter, or member account.
15177type TagResourceInput struct {
15178	_ struct{} `type:"structure"`
15179
15180	// ResourceArn is a required field
15181	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
15182
15183	// A string-to-string map of key-value pairs that specifies the tags (keys and
15184	// values) for a classification job, custom data identifier, findings filter,
15185	// or member account.
15186	//
15187	// Tags is a required field
15188	Tags map[string]*string `locationName:"tags" type:"map" required:"true"`
15189}
15190
15191// String returns the string representation
15192func (s TagResourceInput) String() string {
15193	return awsutil.Prettify(s)
15194}
15195
15196// GoString returns the string representation
15197func (s TagResourceInput) GoString() string {
15198	return s.String()
15199}
15200
15201// Validate inspects the fields of the type to determine if they are valid.
15202func (s *TagResourceInput) Validate() error {
15203	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
15204	if s.ResourceArn == nil {
15205		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
15206	}
15207	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
15208		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
15209	}
15210	if s.Tags == nil {
15211		invalidParams.Add(request.NewErrParamRequired("Tags"))
15212	}
15213
15214	if invalidParams.Len() > 0 {
15215		return invalidParams
15216	}
15217	return nil
15218}
15219
15220// SetResourceArn sets the ResourceArn field's value.
15221func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
15222	s.ResourceArn = &v
15223	return s
15224}
15225
15226// SetTags sets the Tags field's value.
15227func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
15228	s.Tags = v
15229	return s
15230}
15231
15232// The request succeeded. The specified tags were added to the resource.
15233type TagResourceOutput struct {
15234	_ struct{} `type:"structure"`
15235}
15236
15237// String returns the string representation
15238func (s TagResourceOutput) String() string {
15239	return awsutil.Prettify(s)
15240}
15241
15242// GoString returns the string representation
15243func (s TagResourceOutput) GoString() string {
15244	return s.String()
15245}
15246
15247// Specifies a tag-based condition that determines whether an S3 object is included
15248// or excluded from a classification job.
15249type TagScopeTerm struct {
15250	_ struct{} `type:"structure"`
15251
15252	// The operator to use in a condition. Valid values are:
15253	Comparator *string `locationName:"comparator" type:"string" enum:"JobComparator"`
15254
15255	Key *string `locationName:"key" type:"string"`
15256
15257	TagValues []*TagValuePair `locationName:"tagValues" type:"list"`
15258
15259	// The type of object to apply a tag-based condition to. Valid values are:
15260	Target *string `locationName:"target" type:"string" enum:"TagTarget"`
15261}
15262
15263// String returns the string representation
15264func (s TagScopeTerm) String() string {
15265	return awsutil.Prettify(s)
15266}
15267
15268// GoString returns the string representation
15269func (s TagScopeTerm) GoString() string {
15270	return s.String()
15271}
15272
15273// SetComparator sets the Comparator field's value.
15274func (s *TagScopeTerm) SetComparator(v string) *TagScopeTerm {
15275	s.Comparator = &v
15276	return s
15277}
15278
15279// SetKey sets the Key field's value.
15280func (s *TagScopeTerm) SetKey(v string) *TagScopeTerm {
15281	s.Key = &v
15282	return s
15283}
15284
15285// SetTagValues sets the TagValues field's value.
15286func (s *TagScopeTerm) SetTagValues(v []*TagValuePair) *TagScopeTerm {
15287	s.TagValues = v
15288	return s
15289}
15290
15291// SetTarget sets the Target field's value.
15292func (s *TagScopeTerm) SetTarget(v string) *TagScopeTerm {
15293	s.Target = &v
15294	return s
15295}
15296
15297// Specifies a tag key or tag key and value pair to use in a tag-based condition
15298// that determines whether an S3 object is included or excluded from a classification
15299// job. Tag keys and values are case sensitive. Also, Amazon Macie doesn't support
15300// use of partial values or wildcard characters in tag-based conditions.
15301type TagValuePair struct {
15302	_ struct{} `type:"structure"`
15303
15304	Key *string `locationName:"key" type:"string"`
15305
15306	Value *string `locationName:"value" type:"string"`
15307}
15308
15309// String returns the string representation
15310func (s TagValuePair) String() string {
15311	return awsutil.Prettify(s)
15312}
15313
15314// GoString returns the string representation
15315func (s TagValuePair) GoString() string {
15316	return s.String()
15317}
15318
15319// SetKey sets the Key field's value.
15320func (s *TagValuePair) SetKey(v string) *TagValuePair {
15321	s.Key = &v
15322	return s
15323}
15324
15325// SetValue sets the Value field's value.
15326func (s *TagValuePair) SetValue(v string) *TagValuePair {
15327	s.Value = &v
15328	return s
15329}
15330
15331// Specifies the detection criteria of a custom data identifier to test.
15332type TestCustomDataIdentifierInput struct {
15333	_ struct{} `type:"structure"`
15334
15335	IgnoreWords []*string `locationName:"ignoreWords" type:"list"`
15336
15337	Keywords []*string `locationName:"keywords" type:"list"`
15338
15339	MaximumMatchDistance *int64 `locationName:"maximumMatchDistance" type:"integer"`
15340
15341	// Regex is a required field
15342	Regex *string `locationName:"regex" type:"string" required:"true"`
15343
15344	// SampleText is a required field
15345	SampleText *string `locationName:"sampleText" type:"string" required:"true"`
15346}
15347
15348// String returns the string representation
15349func (s TestCustomDataIdentifierInput) String() string {
15350	return awsutil.Prettify(s)
15351}
15352
15353// GoString returns the string representation
15354func (s TestCustomDataIdentifierInput) GoString() string {
15355	return s.String()
15356}
15357
15358// Validate inspects the fields of the type to determine if they are valid.
15359func (s *TestCustomDataIdentifierInput) Validate() error {
15360	invalidParams := request.ErrInvalidParams{Context: "TestCustomDataIdentifierInput"}
15361	if s.Regex == nil {
15362		invalidParams.Add(request.NewErrParamRequired("Regex"))
15363	}
15364	if s.SampleText == nil {
15365		invalidParams.Add(request.NewErrParamRequired("SampleText"))
15366	}
15367
15368	if invalidParams.Len() > 0 {
15369		return invalidParams
15370	}
15371	return nil
15372}
15373
15374// SetIgnoreWords sets the IgnoreWords field's value.
15375func (s *TestCustomDataIdentifierInput) SetIgnoreWords(v []*string) *TestCustomDataIdentifierInput {
15376	s.IgnoreWords = v
15377	return s
15378}
15379
15380// SetKeywords sets the Keywords field's value.
15381func (s *TestCustomDataIdentifierInput) SetKeywords(v []*string) *TestCustomDataIdentifierInput {
15382	s.Keywords = v
15383	return s
15384}
15385
15386// SetMaximumMatchDistance sets the MaximumMatchDistance field's value.
15387func (s *TestCustomDataIdentifierInput) SetMaximumMatchDistance(v int64) *TestCustomDataIdentifierInput {
15388	s.MaximumMatchDistance = &v
15389	return s
15390}
15391
15392// SetRegex sets the Regex field's value.
15393func (s *TestCustomDataIdentifierInput) SetRegex(v string) *TestCustomDataIdentifierInput {
15394	s.Regex = &v
15395	return s
15396}
15397
15398// SetSampleText sets the SampleText field's value.
15399func (s *TestCustomDataIdentifierInput) SetSampleText(v string) *TestCustomDataIdentifierInput {
15400	s.SampleText = &v
15401	return s
15402}
15403
15404// Provides test results for a custom data identifier.
15405type TestCustomDataIdentifierOutput struct {
15406	_ struct{} `type:"structure"`
15407
15408	MatchCount *int64 `locationName:"matchCount" type:"integer"`
15409}
15410
15411// String returns the string representation
15412func (s TestCustomDataIdentifierOutput) String() string {
15413	return awsutil.Prettify(s)
15414}
15415
15416// GoString returns the string representation
15417func (s TestCustomDataIdentifierOutput) GoString() string {
15418	return s.String()
15419}
15420
15421// SetMatchCount sets the MatchCount field's value.
15422func (s *TestCustomDataIdentifierOutput) SetMatchCount(v int64) *TestCustomDataIdentifierOutput {
15423	s.MatchCount = &v
15424	return s
15425}
15426
15427// Provides information about an error that occurred because too many requests
15428// were sent during a certain amount of time.
15429type ThrottlingException struct {
15430	_            struct{}                  `type:"structure"`
15431	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
15432
15433	Message_ *string `locationName:"message" type:"string"`
15434}
15435
15436// String returns the string representation
15437func (s ThrottlingException) String() string {
15438	return awsutil.Prettify(s)
15439}
15440
15441// GoString returns the string representation
15442func (s ThrottlingException) GoString() string {
15443	return s.String()
15444}
15445
15446func newErrorThrottlingException(v protocol.ResponseMetadata) error {
15447	return &ThrottlingException{
15448		RespMetadata: v,
15449	}
15450}
15451
15452// Code returns the exception type name.
15453func (s *ThrottlingException) Code() string {
15454	return "ThrottlingException"
15455}
15456
15457// Message returns the exception's message.
15458func (s *ThrottlingException) Message() string {
15459	if s.Message_ != nil {
15460		return *s.Message_
15461	}
15462	return ""
15463}
15464
15465// OrigErr always returns nil, satisfies awserr.Error interface.
15466func (s *ThrottlingException) OrigErr() error {
15467	return nil
15468}
15469
15470func (s *ThrottlingException) Error() string {
15471	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
15472}
15473
15474// Status code returns the HTTP status code for the request's response error.
15475func (s *ThrottlingException) StatusCode() int {
15476	return s.RespMetadata.StatusCode
15477}
15478
15479// RequestID returns the service's response RequestID for request.
15480func (s *ThrottlingException) RequestID() string {
15481	return s.RespMetadata.RequestID
15482}
15483
15484// Provides information about an account-related request that hasn't been processed.
15485type UnprocessedAccount struct {
15486	_ struct{} `type:"structure"`
15487
15488	AccountId *string `locationName:"accountId" type:"string"`
15489
15490	// The source of an issue or delay. Possible values are:
15491	ErrorCode *string `locationName:"errorCode" type:"string" enum:"ErrorCode"`
15492
15493	ErrorMessage *string `locationName:"errorMessage" type:"string"`
15494}
15495
15496// String returns the string representation
15497func (s UnprocessedAccount) String() string {
15498	return awsutil.Prettify(s)
15499}
15500
15501// GoString returns the string representation
15502func (s UnprocessedAccount) GoString() string {
15503	return s.String()
15504}
15505
15506// SetAccountId sets the AccountId field's value.
15507func (s *UnprocessedAccount) SetAccountId(v string) *UnprocessedAccount {
15508	s.AccountId = &v
15509	return s
15510}
15511
15512// SetErrorCode sets the ErrorCode field's value.
15513func (s *UnprocessedAccount) SetErrorCode(v string) *UnprocessedAccount {
15514	s.ErrorCode = &v
15515	return s
15516}
15517
15518// SetErrorMessage sets the ErrorMessage field's value.
15519func (s *UnprocessedAccount) SetErrorMessage(v string) *UnprocessedAccount {
15520	s.ErrorMessage = &v
15521	return s
15522}
15523
15524type UntagResourceInput struct {
15525	_ struct{} `type:"structure"`
15526
15527	// ResourceArn is a required field
15528	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
15529
15530	// TagKeys is a required field
15531	TagKeys []*string `location:"querystring" locationName:"tagKeys" type:"list" required:"true"`
15532}
15533
15534// String returns the string representation
15535func (s UntagResourceInput) String() string {
15536	return awsutil.Prettify(s)
15537}
15538
15539// GoString returns the string representation
15540func (s UntagResourceInput) GoString() string {
15541	return s.String()
15542}
15543
15544// Validate inspects the fields of the type to determine if they are valid.
15545func (s *UntagResourceInput) Validate() error {
15546	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
15547	if s.ResourceArn == nil {
15548		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
15549	}
15550	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
15551		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
15552	}
15553	if s.TagKeys == nil {
15554		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
15555	}
15556
15557	if invalidParams.Len() > 0 {
15558		return invalidParams
15559	}
15560	return nil
15561}
15562
15563// SetResourceArn sets the ResourceArn field's value.
15564func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
15565	s.ResourceArn = &v
15566	return s
15567}
15568
15569// SetTagKeys sets the TagKeys field's value.
15570func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
15571	s.TagKeys = v
15572	return s
15573}
15574
15575// The request succeeded. The specified tags were removed from the resource.
15576type UntagResourceOutput struct {
15577	_ struct{} `type:"structure"`
15578}
15579
15580// String returns the string representation
15581func (s UntagResourceOutput) String() string {
15582	return awsutil.Prettify(s)
15583}
15584
15585// GoString returns the string representation
15586func (s UntagResourceOutput) GoString() string {
15587	return s.String()
15588}
15589
15590// Changes the status of a classification job. For more information about pausing,
15591// resuming, or cancelling jobs, see Managing sensitive data discovery jobs
15592// (https://docs.aws.amazon.com/macie/latest/user/discovery-jobs-manage.html)
15593// in the Amazon Macie User Guide.
15594type UpdateClassificationJobInput struct {
15595	_ struct{} `type:"structure"`
15596
15597	// JobId is a required field
15598	JobId *string `location:"uri" locationName:"jobId" type:"string" required:"true"`
15599
15600	// The status of a classification job. Possible values are:
15601	//
15602	// JobStatus is a required field
15603	JobStatus *string `locationName:"jobStatus" type:"string" required:"true" enum:"JobStatus"`
15604}
15605
15606// String returns the string representation
15607func (s UpdateClassificationJobInput) String() string {
15608	return awsutil.Prettify(s)
15609}
15610
15611// GoString returns the string representation
15612func (s UpdateClassificationJobInput) GoString() string {
15613	return s.String()
15614}
15615
15616// Validate inspects the fields of the type to determine if they are valid.
15617func (s *UpdateClassificationJobInput) Validate() error {
15618	invalidParams := request.ErrInvalidParams{Context: "UpdateClassificationJobInput"}
15619	if s.JobId == nil {
15620		invalidParams.Add(request.NewErrParamRequired("JobId"))
15621	}
15622	if s.JobId != nil && len(*s.JobId) < 1 {
15623		invalidParams.Add(request.NewErrParamMinLen("JobId", 1))
15624	}
15625	if s.JobStatus == nil {
15626		invalidParams.Add(request.NewErrParamRequired("JobStatus"))
15627	}
15628
15629	if invalidParams.Len() > 0 {
15630		return invalidParams
15631	}
15632	return nil
15633}
15634
15635// SetJobId sets the JobId field's value.
15636func (s *UpdateClassificationJobInput) SetJobId(v string) *UpdateClassificationJobInput {
15637	s.JobId = &v
15638	return s
15639}
15640
15641// SetJobStatus sets the JobStatus field's value.
15642func (s *UpdateClassificationJobInput) SetJobStatus(v string) *UpdateClassificationJobInput {
15643	s.JobStatus = &v
15644	return s
15645}
15646
15647type UpdateClassificationJobOutput struct {
15648	_ struct{} `type:"structure"`
15649}
15650
15651// String returns the string representation
15652func (s UpdateClassificationJobOutput) String() string {
15653	return awsutil.Prettify(s)
15654}
15655
15656// GoString returns the string representation
15657func (s UpdateClassificationJobOutput) GoString() string {
15658	return s.String()
15659}
15660
15661// Specifies the criteria and other settings for a findings filter.
15662type UpdateFindingsFilterInput struct {
15663	_ struct{} `type:"structure"`
15664
15665	// The action to perform on findings that meet the filter criteria. To suppress
15666	// (automatically archive) findings that meet the criteria, set this value to
15667	// ARCHIVE. Valid values are:
15668	Action *string `locationName:"action" type:"string" enum:"FindingsFilterAction"`
15669
15670	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
15671
15672	Description *string `locationName:"description" type:"string"`
15673
15674	// Specifies, as a map, one or more property-based conditions that filter the
15675	// results of a query for findings.
15676	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"`
15677
15678	// Id is a required field
15679	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
15680
15681	Name *string `locationName:"name" type:"string"`
15682
15683	Position *int64 `locationName:"position" type:"integer"`
15684}
15685
15686// String returns the string representation
15687func (s UpdateFindingsFilterInput) String() string {
15688	return awsutil.Prettify(s)
15689}
15690
15691// GoString returns the string representation
15692func (s UpdateFindingsFilterInput) GoString() string {
15693	return s.String()
15694}
15695
15696// Validate inspects the fields of the type to determine if they are valid.
15697func (s *UpdateFindingsFilterInput) Validate() error {
15698	invalidParams := request.ErrInvalidParams{Context: "UpdateFindingsFilterInput"}
15699	if s.Id == nil {
15700		invalidParams.Add(request.NewErrParamRequired("Id"))
15701	}
15702	if s.Id != nil && len(*s.Id) < 1 {
15703		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
15704	}
15705
15706	if invalidParams.Len() > 0 {
15707		return invalidParams
15708	}
15709	return nil
15710}
15711
15712// SetAction sets the Action field's value.
15713func (s *UpdateFindingsFilterInput) SetAction(v string) *UpdateFindingsFilterInput {
15714	s.Action = &v
15715	return s
15716}
15717
15718// SetClientToken sets the ClientToken field's value.
15719func (s *UpdateFindingsFilterInput) SetClientToken(v string) *UpdateFindingsFilterInput {
15720	s.ClientToken = &v
15721	return s
15722}
15723
15724// SetDescription sets the Description field's value.
15725func (s *UpdateFindingsFilterInput) SetDescription(v string) *UpdateFindingsFilterInput {
15726	s.Description = &v
15727	return s
15728}
15729
15730// SetFindingCriteria sets the FindingCriteria field's value.
15731func (s *UpdateFindingsFilterInput) SetFindingCriteria(v *FindingCriteria) *UpdateFindingsFilterInput {
15732	s.FindingCriteria = v
15733	return s
15734}
15735
15736// SetId sets the Id field's value.
15737func (s *UpdateFindingsFilterInput) SetId(v string) *UpdateFindingsFilterInput {
15738	s.Id = &v
15739	return s
15740}
15741
15742// SetName sets the Name field's value.
15743func (s *UpdateFindingsFilterInput) SetName(v string) *UpdateFindingsFilterInput {
15744	s.Name = &v
15745	return s
15746}
15747
15748// SetPosition sets the Position field's value.
15749func (s *UpdateFindingsFilterInput) SetPosition(v int64) *UpdateFindingsFilterInput {
15750	s.Position = &v
15751	return s
15752}
15753
15754// Provides information about a findings filter that was updated in response
15755// to a request.
15756type UpdateFindingsFilterOutput struct {
15757	_ struct{} `type:"structure"`
15758
15759	Arn *string `locationName:"arn" type:"string"`
15760
15761	Id *string `locationName:"id" type:"string"`
15762}
15763
15764// String returns the string representation
15765func (s UpdateFindingsFilterOutput) String() string {
15766	return awsutil.Prettify(s)
15767}
15768
15769// GoString returns the string representation
15770func (s UpdateFindingsFilterOutput) GoString() string {
15771	return s.String()
15772}
15773
15774// SetArn sets the Arn field's value.
15775func (s *UpdateFindingsFilterOutput) SetArn(v string) *UpdateFindingsFilterOutput {
15776	s.Arn = &v
15777	return s
15778}
15779
15780// SetId sets the Id field's value.
15781func (s *UpdateFindingsFilterOutput) SetId(v string) *UpdateFindingsFilterOutput {
15782	s.Id = &v
15783	return s
15784}
15785
15786// Changes the status or configuration settings for an Amazon Macie account.
15787type UpdateMacieSessionInput struct {
15788	_ struct{} `type:"structure"`
15789
15790	// The frequency with which Amazon Macie publishes updates to policy findings
15791	// for an account. This includes publishing updates to Security Hub and Amazon
15792	// EventBridge (formerly called Amazon CloudWatch Events). For more information,
15793	// see Monitoring and processing findings (https://docs.aws.amazon.com/macie/latest/user/findings-monitor.html)
15794	// in the Amazon Macie User Guide. Valid values are:
15795	FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"`
15796
15797	// The status of an Amazon Macie account. Valid values are:
15798	Status *string `locationName:"status" type:"string" enum:"MacieStatus"`
15799}
15800
15801// String returns the string representation
15802func (s UpdateMacieSessionInput) String() string {
15803	return awsutil.Prettify(s)
15804}
15805
15806// GoString returns the string representation
15807func (s UpdateMacieSessionInput) GoString() string {
15808	return s.String()
15809}
15810
15811// SetFindingPublishingFrequency sets the FindingPublishingFrequency field's value.
15812func (s *UpdateMacieSessionInput) SetFindingPublishingFrequency(v string) *UpdateMacieSessionInput {
15813	s.FindingPublishingFrequency = &v
15814	return s
15815}
15816
15817// SetStatus sets the Status field's value.
15818func (s *UpdateMacieSessionInput) SetStatus(v string) *UpdateMacieSessionInput {
15819	s.Status = &v
15820	return s
15821}
15822
15823type UpdateMacieSessionOutput struct {
15824	_ struct{} `type:"structure"`
15825}
15826
15827// String returns the string representation
15828func (s UpdateMacieSessionOutput) String() string {
15829	return awsutil.Prettify(s)
15830}
15831
15832// GoString returns the string representation
15833func (s UpdateMacieSessionOutput) GoString() string {
15834	return s.String()
15835}
15836
15837// Suspends (pauses) or re-enables an Amazon Macie member account.
15838type UpdateMemberSessionInput struct {
15839	_ struct{} `type:"structure"`
15840
15841	// Id is a required field
15842	Id *string `location:"uri" locationName:"id" type:"string" required:"true"`
15843
15844	// The status of an Amazon Macie account. Valid values are:
15845	//
15846	// Status is a required field
15847	Status *string `locationName:"status" type:"string" required:"true" enum:"MacieStatus"`
15848}
15849
15850// String returns the string representation
15851func (s UpdateMemberSessionInput) String() string {
15852	return awsutil.Prettify(s)
15853}
15854
15855// GoString returns the string representation
15856func (s UpdateMemberSessionInput) GoString() string {
15857	return s.String()
15858}
15859
15860// Validate inspects the fields of the type to determine if they are valid.
15861func (s *UpdateMemberSessionInput) Validate() error {
15862	invalidParams := request.ErrInvalidParams{Context: "UpdateMemberSessionInput"}
15863	if s.Id == nil {
15864		invalidParams.Add(request.NewErrParamRequired("Id"))
15865	}
15866	if s.Id != nil && len(*s.Id) < 1 {
15867		invalidParams.Add(request.NewErrParamMinLen("Id", 1))
15868	}
15869	if s.Status == nil {
15870		invalidParams.Add(request.NewErrParamRequired("Status"))
15871	}
15872
15873	if invalidParams.Len() > 0 {
15874		return invalidParams
15875	}
15876	return nil
15877}
15878
15879// SetId sets the Id field's value.
15880func (s *UpdateMemberSessionInput) SetId(v string) *UpdateMemberSessionInput {
15881	s.Id = &v
15882	return s
15883}
15884
15885// SetStatus sets the Status field's value.
15886func (s *UpdateMemberSessionInput) SetStatus(v string) *UpdateMemberSessionInput {
15887	s.Status = &v
15888	return s
15889}
15890
15891type UpdateMemberSessionOutput struct {
15892	_ struct{} `type:"structure"`
15893}
15894
15895// String returns the string representation
15896func (s UpdateMemberSessionOutput) String() string {
15897	return awsutil.Prettify(s)
15898}
15899
15900// GoString returns the string representation
15901func (s UpdateMemberSessionOutput) GoString() string {
15902	return s.String()
15903}
15904
15905// Specifies whether to enable Amazon Macie automatically for accounts that
15906// are added to an Amazon Web Services organization.
15907type UpdateOrganizationConfigurationInput struct {
15908	_ struct{} `type:"structure"`
15909
15910	// AutoEnable is a required field
15911	AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"`
15912}
15913
15914// String returns the string representation
15915func (s UpdateOrganizationConfigurationInput) String() string {
15916	return awsutil.Prettify(s)
15917}
15918
15919// GoString returns the string representation
15920func (s UpdateOrganizationConfigurationInput) GoString() string {
15921	return s.String()
15922}
15923
15924// Validate inspects the fields of the type to determine if they are valid.
15925func (s *UpdateOrganizationConfigurationInput) Validate() error {
15926	invalidParams := request.ErrInvalidParams{Context: "UpdateOrganizationConfigurationInput"}
15927	if s.AutoEnable == nil {
15928		invalidParams.Add(request.NewErrParamRequired("AutoEnable"))
15929	}
15930
15931	if invalidParams.Len() > 0 {
15932		return invalidParams
15933	}
15934	return nil
15935}
15936
15937// SetAutoEnable sets the AutoEnable field's value.
15938func (s *UpdateOrganizationConfigurationInput) SetAutoEnable(v bool) *UpdateOrganizationConfigurationInput {
15939	s.AutoEnable = &v
15940	return s
15941}
15942
15943type UpdateOrganizationConfigurationOutput struct {
15944	_ struct{} `type:"structure"`
15945}
15946
15947// String returns the string representation
15948func (s UpdateOrganizationConfigurationOutput) String() string {
15949	return awsutil.Prettify(s)
15950}
15951
15952// GoString returns the string representation
15953func (s UpdateOrganizationConfigurationOutput) GoString() string {
15954	return s.String()
15955}
15956
15957// Provides data for a specific usage metric and the corresponding quota for
15958// an Amazon Macie account.
15959type UsageByAccount struct {
15960	_ struct{} `type:"structure"`
15961
15962	// The type of currency that the data for an Amazon Macie usage metric is reported
15963	// in. Possible values are:
15964	Currency *string `locationName:"currency" type:"string" enum:"Currency"`
15965
15966	EstimatedCost *string `locationName:"estimatedCost" type:"string"`
15967
15968	// Specifies a current quota for an Amazon Macie account.
15969	ServiceLimit *ServiceLimit `locationName:"serviceLimit" type:"structure"`
15970
15971	// The name of an Amazon Macie usage metric for an account. Possible values
15972	// are:
15973	Type *string `locationName:"type" type:"string" enum:"UsageType"`
15974}
15975
15976// String returns the string representation
15977func (s UsageByAccount) String() string {
15978	return awsutil.Prettify(s)
15979}
15980
15981// GoString returns the string representation
15982func (s UsageByAccount) GoString() string {
15983	return s.String()
15984}
15985
15986// SetCurrency sets the Currency field's value.
15987func (s *UsageByAccount) SetCurrency(v string) *UsageByAccount {
15988	s.Currency = &v
15989	return s
15990}
15991
15992// SetEstimatedCost sets the EstimatedCost field's value.
15993func (s *UsageByAccount) SetEstimatedCost(v string) *UsageByAccount {
15994	s.EstimatedCost = &v
15995	return s
15996}
15997
15998// SetServiceLimit sets the ServiceLimit field's value.
15999func (s *UsageByAccount) SetServiceLimit(v *ServiceLimit) *UsageByAccount {
16000	s.ServiceLimit = v
16001	return s
16002}
16003
16004// SetType sets the Type field's value.
16005func (s *UsageByAccount) SetType(v string) *UsageByAccount {
16006	s.Type = &v
16007	return s
16008}
16009
16010// Provides quota and aggregated usage data for an Amazon Macie account.
16011type UsageRecord struct {
16012	_ struct{} `type:"structure"`
16013
16014	AccountId *string `locationName:"accountId" type:"string"`
16015
16016	FreeTrialStartDate *time.Time `locationName:"freeTrialStartDate" type:"timestamp" timestampFormat:"iso8601"`
16017
16018	Usage []*UsageByAccount `locationName:"usage" type:"list"`
16019}
16020
16021// String returns the string representation
16022func (s UsageRecord) String() string {
16023	return awsutil.Prettify(s)
16024}
16025
16026// GoString returns the string representation
16027func (s UsageRecord) GoString() string {
16028	return s.String()
16029}
16030
16031// SetAccountId sets the AccountId field's value.
16032func (s *UsageRecord) SetAccountId(v string) *UsageRecord {
16033	s.AccountId = &v
16034	return s
16035}
16036
16037// SetFreeTrialStartDate sets the FreeTrialStartDate field's value.
16038func (s *UsageRecord) SetFreeTrialStartDate(v time.Time) *UsageRecord {
16039	s.FreeTrialStartDate = &v
16040	return s
16041}
16042
16043// SetUsage sets the Usage field's value.
16044func (s *UsageRecord) SetUsage(v []*UsageByAccount) *UsageRecord {
16045	s.Usage = v
16046	return s
16047}
16048
16049// Specifies a condition for filtering the results of a query for quota and
16050// usage data for one or more Amazon Macie accounts.
16051type UsageStatisticsFilter struct {
16052	_ struct{} `type:"structure"`
16053
16054	// The operator to use in a condition that filters the results of a query for
16055	// Amazon Macie account quotas and usage data. Valid values are:
16056	Comparator *string `locationName:"comparator" type:"string" enum:"UsageStatisticsFilterComparator"`
16057
16058	// The field to use in a condition that filters the results of a query for Amazon
16059	// Macie account quotas and usage data. Valid values are:
16060	Key *string `locationName:"key" type:"string" enum:"UsageStatisticsFilterKey"`
16061
16062	Values []*string `locationName:"values" type:"list"`
16063}
16064
16065// String returns the string representation
16066func (s UsageStatisticsFilter) String() string {
16067	return awsutil.Prettify(s)
16068}
16069
16070// GoString returns the string representation
16071func (s UsageStatisticsFilter) GoString() string {
16072	return s.String()
16073}
16074
16075// SetComparator sets the Comparator field's value.
16076func (s *UsageStatisticsFilter) SetComparator(v string) *UsageStatisticsFilter {
16077	s.Comparator = &v
16078	return s
16079}
16080
16081// SetKey sets the Key field's value.
16082func (s *UsageStatisticsFilter) SetKey(v string) *UsageStatisticsFilter {
16083	s.Key = &v
16084	return s
16085}
16086
16087// SetValues sets the Values field's value.
16088func (s *UsageStatisticsFilter) SetValues(v []*string) *UsageStatisticsFilter {
16089	s.Values = v
16090	return s
16091}
16092
16093// Specifies criteria for sorting the results of a query for Amazon Macie account
16094// quotas and usage data.
16095type UsageStatisticsSortBy struct {
16096	_ struct{} `type:"structure"`
16097
16098	// The field to use to sort the results of a query for Amazon Macie account
16099	// quotas and usage data. Valid values are:
16100	Key *string `locationName:"key" type:"string" enum:"UsageStatisticsSortKey"`
16101
16102	OrderBy *string `locationName:"orderBy" type:"string" enum:"OrderBy"`
16103}
16104
16105// String returns the string representation
16106func (s UsageStatisticsSortBy) String() string {
16107	return awsutil.Prettify(s)
16108}
16109
16110// GoString returns the string representation
16111func (s UsageStatisticsSortBy) GoString() string {
16112	return s.String()
16113}
16114
16115// SetKey sets the Key field's value.
16116func (s *UsageStatisticsSortBy) SetKey(v string) *UsageStatisticsSortBy {
16117	s.Key = &v
16118	return s
16119}
16120
16121// SetOrderBy sets the OrderBy field's value.
16122func (s *UsageStatisticsSortBy) SetOrderBy(v string) *UsageStatisticsSortBy {
16123	s.OrderBy = &v
16124	return s
16125}
16126
16127// Provides aggregated data for an Amazon Macie usage metric. The value for
16128// the metric reports estimated usage data for an account for the preceding
16129// 30 days or the current calendar month to date, depending on the time period
16130// (timeRange) specified in the request.
16131type UsageTotal struct {
16132	_ struct{} `type:"structure"`
16133
16134	// The type of currency that the data for an Amazon Macie usage metric is reported
16135	// in. Possible values are:
16136	Currency *string `locationName:"currency" type:"string" enum:"Currency"`
16137
16138	EstimatedCost *string `locationName:"estimatedCost" type:"string"`
16139
16140	// The name of an Amazon Macie usage metric for an account. Possible values
16141	// are:
16142	Type *string `locationName:"type" type:"string" enum:"UsageType"`
16143}
16144
16145// String returns the string representation
16146func (s UsageTotal) String() string {
16147	return awsutil.Prettify(s)
16148}
16149
16150// GoString returns the string representation
16151func (s UsageTotal) GoString() string {
16152	return s.String()
16153}
16154
16155// SetCurrency sets the Currency field's value.
16156func (s *UsageTotal) SetCurrency(v string) *UsageTotal {
16157	s.Currency = &v
16158	return s
16159}
16160
16161// SetEstimatedCost sets the EstimatedCost field's value.
16162func (s *UsageTotal) SetEstimatedCost(v string) *UsageTotal {
16163	s.EstimatedCost = &v
16164	return s
16165}
16166
16167// SetType sets the Type field's value.
16168func (s *UsageTotal) SetType(v string) *UsageTotal {
16169	s.Type = &v
16170	return s
16171}
16172
16173// Provides information about the type and other characteristics of an entity
16174// that performed an action on an affected resource.
16175type UserIdentity struct {
16176	_ struct{} `type:"structure"`
16177
16178	// Provides information about an identity that performed an action on an affected
16179	// resource by using temporary security credentials. The credentials were obtained
16180	// using the AssumeRole operation of the Security Token Service (STS) API.
16181	AssumedRole *AssumedRole `locationName:"assumedRole" type:"structure"`
16182
16183	// Provides information about an Amazon Web Services account and entity that
16184	// performed an action on an affected resource. The action was performed using
16185	// the credentials for an Amazon Web Services account other than your own account.
16186	AwsAccount *AwsAccount `locationName:"awsAccount" type:"structure"`
16187
16188	// Provides information about an Amazon Web Service that performed an action
16189	// on an affected resource.
16190	AwsService *AwsService `locationName:"awsService" type:"structure"`
16191
16192	// Provides information about an identity that performed an action on an affected
16193	// resource by using temporary security credentials. The credentials were obtained
16194	// using the GetFederationToken operation of the Security Token Service (STS)
16195	// API.
16196	FederatedUser *FederatedUser `locationName:"federatedUser" type:"structure"`
16197
16198	// Provides information about an Identity and Access Management (IAM) user who
16199	// performed an action on an affected resource.
16200	IamUser *IamUser `locationName:"iamUser" type:"structure"`
16201
16202	// Provides information about an Amazon Web Services account and entity that
16203	// performed an action on an affected resource. The action was performed using
16204	// the credentials for your Amazon Web Services account.
16205	Root *UserIdentityRoot `locationName:"root" type:"structure"`
16206
16207	// The type of entity that performed the action on the affected resource. Possible
16208	// values are:
16209	Type *string `locationName:"type" type:"string" enum:"UserIdentityType"`
16210}
16211
16212// String returns the string representation
16213func (s UserIdentity) String() string {
16214	return awsutil.Prettify(s)
16215}
16216
16217// GoString returns the string representation
16218func (s UserIdentity) GoString() string {
16219	return s.String()
16220}
16221
16222// SetAssumedRole sets the AssumedRole field's value.
16223func (s *UserIdentity) SetAssumedRole(v *AssumedRole) *UserIdentity {
16224	s.AssumedRole = v
16225	return s
16226}
16227
16228// SetAwsAccount sets the AwsAccount field's value.
16229func (s *UserIdentity) SetAwsAccount(v *AwsAccount) *UserIdentity {
16230	s.AwsAccount = v
16231	return s
16232}
16233
16234// SetAwsService sets the AwsService field's value.
16235func (s *UserIdentity) SetAwsService(v *AwsService) *UserIdentity {
16236	s.AwsService = v
16237	return s
16238}
16239
16240// SetFederatedUser sets the FederatedUser field's value.
16241func (s *UserIdentity) SetFederatedUser(v *FederatedUser) *UserIdentity {
16242	s.FederatedUser = v
16243	return s
16244}
16245
16246// SetIamUser sets the IamUser field's value.
16247func (s *UserIdentity) SetIamUser(v *IamUser) *UserIdentity {
16248	s.IamUser = v
16249	return s
16250}
16251
16252// SetRoot sets the Root field's value.
16253func (s *UserIdentity) SetRoot(v *UserIdentityRoot) *UserIdentity {
16254	s.Root = v
16255	return s
16256}
16257
16258// SetType sets the Type field's value.
16259func (s *UserIdentity) SetType(v string) *UserIdentity {
16260	s.Type = &v
16261	return s
16262}
16263
16264// Provides information about an Amazon Web Services account and entity that
16265// performed an action on an affected resource. The action was performed using
16266// the credentials for your Amazon Web Services account.
16267type UserIdentityRoot struct {
16268	_ struct{} `type:"structure"`
16269
16270	AccountId *string `locationName:"accountId" type:"string"`
16271
16272	Arn *string `locationName:"arn" type:"string"`
16273
16274	PrincipalId *string `locationName:"principalId" type:"string"`
16275}
16276
16277// String returns the string representation
16278func (s UserIdentityRoot) String() string {
16279	return awsutil.Prettify(s)
16280}
16281
16282// GoString returns the string representation
16283func (s UserIdentityRoot) GoString() string {
16284	return s.String()
16285}
16286
16287// SetAccountId sets the AccountId field's value.
16288func (s *UserIdentityRoot) SetAccountId(v string) *UserIdentityRoot {
16289	s.AccountId = &v
16290	return s
16291}
16292
16293// SetArn sets the Arn field's value.
16294func (s *UserIdentityRoot) SetArn(v string) *UserIdentityRoot {
16295	s.Arn = &v
16296	return s
16297}
16298
16299// SetPrincipalId sets the PrincipalId field's value.
16300func (s *UserIdentityRoot) SetPrincipalId(v string) *UserIdentityRoot {
16301	s.PrincipalId = &v
16302	return s
16303}
16304
16305// Provides information about when a classification job was paused. For a one-time
16306// job, this object also specifies when the job will expire and be cancelled
16307// if it isn't resumed. For a recurring job, this object also specifies when
16308// the paused job run will expire and be cancelled if it isn't resumed. This
16309// object is present only if a job's current status (jobStatus) is USER_PAUSED.
16310// The information in this object applies only to a job that was paused while
16311// it had a status of RUNNING.
16312type UserPausedDetails struct {
16313	_ struct{} `type:"structure"`
16314
16315	JobExpiresAt *time.Time `locationName:"jobExpiresAt" type:"timestamp" timestampFormat:"iso8601"`
16316
16317	JobImminentExpirationHealthEventArn *string `locationName:"jobImminentExpirationHealthEventArn" type:"string"`
16318
16319	JobPausedAt *time.Time `locationName:"jobPausedAt" type:"timestamp" timestampFormat:"iso8601"`
16320}
16321
16322// String returns the string representation
16323func (s UserPausedDetails) String() string {
16324	return awsutil.Prettify(s)
16325}
16326
16327// GoString returns the string representation
16328func (s UserPausedDetails) GoString() string {
16329	return s.String()
16330}
16331
16332// SetJobExpiresAt sets the JobExpiresAt field's value.
16333func (s *UserPausedDetails) SetJobExpiresAt(v time.Time) *UserPausedDetails {
16334	s.JobExpiresAt = &v
16335	return s
16336}
16337
16338// SetJobImminentExpirationHealthEventArn sets the JobImminentExpirationHealthEventArn field's value.
16339func (s *UserPausedDetails) SetJobImminentExpirationHealthEventArn(v string) *UserPausedDetails {
16340	s.JobImminentExpirationHealthEventArn = &v
16341	return s
16342}
16343
16344// SetJobPausedAt sets the JobPausedAt field's value.
16345func (s *UserPausedDetails) SetJobPausedAt(v time.Time) *UserPausedDetails {
16346	s.JobPausedAt = &v
16347	return s
16348}
16349
16350// Provides information about an error that occurred due to a syntax error in
16351// a request.
16352type ValidationException struct {
16353	_            struct{}                  `type:"structure"`
16354	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
16355
16356	Message_ *string `locationName:"message" type:"string"`
16357}
16358
16359// String returns the string representation
16360func (s ValidationException) String() string {
16361	return awsutil.Prettify(s)
16362}
16363
16364// GoString returns the string representation
16365func (s ValidationException) GoString() string {
16366	return s.String()
16367}
16368
16369func newErrorValidationException(v protocol.ResponseMetadata) error {
16370	return &ValidationException{
16371		RespMetadata: v,
16372	}
16373}
16374
16375// Code returns the exception type name.
16376func (s *ValidationException) Code() string {
16377	return "ValidationException"
16378}
16379
16380// Message returns the exception's message.
16381func (s *ValidationException) Message() string {
16382	if s.Message_ != nil {
16383		return *s.Message_
16384	}
16385	return ""
16386}
16387
16388// OrigErr always returns nil, satisfies awserr.Error interface.
16389func (s *ValidationException) OrigErr() error {
16390	return nil
16391}
16392
16393func (s *ValidationException) Error() string {
16394	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
16395}
16396
16397// Status code returns the HTTP status code for the request's response error.
16398func (s *ValidationException) StatusCode() int {
16399	return s.RespMetadata.StatusCode
16400}
16401
16402// RequestID returns the service's response RequestID for request.
16403func (s *ValidationException) RequestID() string {
16404	return s.RespMetadata.RequestID
16405}
16406
16407// Specifies a weekly recurrence pattern for running a classification job.
16408type WeeklySchedule struct {
16409	_ struct{} `type:"structure"`
16410
16411	DayOfWeek *string `locationName:"dayOfWeek" type:"string" enum:"DayOfWeek"`
16412}
16413
16414// String returns the string representation
16415func (s WeeklySchedule) String() string {
16416	return awsutil.Prettify(s)
16417}
16418
16419// GoString returns the string representation
16420func (s WeeklySchedule) GoString() string {
16421	return s.String()
16422}
16423
16424// SetDayOfWeek sets the DayOfWeek field's value.
16425func (s *WeeklySchedule) SetDayOfWeek(v string) *WeeklySchedule {
16426	s.DayOfWeek = &v
16427	return s
16428}
16429
16430// The current status of an account as the delegated Amazon Macie administrator
16431// account for an Amazon Web Services organization. Possible values are:
16432const (
16433	// AdminStatusEnabled is a AdminStatus enum value
16434	AdminStatusEnabled = "ENABLED"
16435
16436	// AdminStatusDisablingInProgress is a AdminStatus enum value
16437	AdminStatusDisablingInProgress = "DISABLING_IN_PROGRESS"
16438)
16439
16440// AdminStatus_Values returns all elements of the AdminStatus enum
16441func AdminStatus_Values() []string {
16442	return []string{
16443		AdminStatusEnabled,
16444		AdminStatusDisablingInProgress,
16445	}
16446}
16447
16448const (
16449	// AllowsUnencryptedObjectUploadsTrue is a AllowsUnencryptedObjectUploads enum value
16450	AllowsUnencryptedObjectUploadsTrue = "TRUE"
16451
16452	// AllowsUnencryptedObjectUploadsFalse is a AllowsUnencryptedObjectUploads enum value
16453	AllowsUnencryptedObjectUploadsFalse = "FALSE"
16454
16455	// AllowsUnencryptedObjectUploadsUnknown is a AllowsUnencryptedObjectUploads enum value
16456	AllowsUnencryptedObjectUploadsUnknown = "UNKNOWN"
16457)
16458
16459// AllowsUnencryptedObjectUploads_Values returns all elements of the AllowsUnencryptedObjectUploads enum
16460func AllowsUnencryptedObjectUploads_Values() []string {
16461	return []string{
16462		AllowsUnencryptedObjectUploadsTrue,
16463		AllowsUnencryptedObjectUploadsFalse,
16464		AllowsUnencryptedObjectUploadsUnknown,
16465	}
16466}
16467
16468// The type of currency that the data for an Amazon Macie usage metric is reported
16469// in. Possible values are:
16470const (
16471	// CurrencyUsd is a Currency enum value
16472	CurrencyUsd = "USD"
16473)
16474
16475// Currency_Values returns all elements of the Currency enum
16476func Currency_Values() []string {
16477	return []string{
16478		CurrencyUsd,
16479	}
16480}
16481
16482const (
16483	// DayOfWeekSunday is a DayOfWeek enum value
16484	DayOfWeekSunday = "SUNDAY"
16485
16486	// DayOfWeekMonday is a DayOfWeek enum value
16487	DayOfWeekMonday = "MONDAY"
16488
16489	// DayOfWeekTuesday is a DayOfWeek enum value
16490	DayOfWeekTuesday = "TUESDAY"
16491
16492	// DayOfWeekWednesday is a DayOfWeek enum value
16493	DayOfWeekWednesday = "WEDNESDAY"
16494
16495	// DayOfWeekThursday is a DayOfWeek enum value
16496	DayOfWeekThursday = "THURSDAY"
16497
16498	// DayOfWeekFriday is a DayOfWeek enum value
16499	DayOfWeekFriday = "FRIDAY"
16500
16501	// DayOfWeekSaturday is a DayOfWeek enum value
16502	DayOfWeekSaturday = "SATURDAY"
16503)
16504
16505// DayOfWeek_Values returns all elements of the DayOfWeek enum
16506func DayOfWeek_Values() []string {
16507	return []string{
16508		DayOfWeekSunday,
16509		DayOfWeekMonday,
16510		DayOfWeekTuesday,
16511		DayOfWeekWednesday,
16512		DayOfWeekThursday,
16513		DayOfWeekFriday,
16514		DayOfWeekSaturday,
16515	}
16516}
16517
16518const (
16519	// EffectivePermissionPublic is a EffectivePermission enum value
16520	EffectivePermissionPublic = "PUBLIC"
16521
16522	// EffectivePermissionNotPublic is a EffectivePermission enum value
16523	EffectivePermissionNotPublic = "NOT_PUBLIC"
16524
16525	// EffectivePermissionUnknown is a EffectivePermission enum value
16526	EffectivePermissionUnknown = "UNKNOWN"
16527)
16528
16529// EffectivePermission_Values returns all elements of the EffectivePermission enum
16530func EffectivePermission_Values() []string {
16531	return []string{
16532		EffectivePermissionPublic,
16533		EffectivePermissionNotPublic,
16534		EffectivePermissionUnknown,
16535	}
16536}
16537
16538// The type of server-side encryption that's used to encrypt an S3 object or
16539// objects in an S3 bucket. Valid values are:
16540const (
16541	// EncryptionTypeNone is a EncryptionType enum value
16542	EncryptionTypeNone = "NONE"
16543
16544	// EncryptionTypeAes256 is a EncryptionType enum value
16545	EncryptionTypeAes256 = "AES256"
16546
16547	// EncryptionTypeAwsKms is a EncryptionType enum value
16548	EncryptionTypeAwsKms = "aws:kms"
16549
16550	// EncryptionTypeUnknown is a EncryptionType enum value
16551	EncryptionTypeUnknown = "UNKNOWN"
16552)
16553
16554// EncryptionType_Values returns all elements of the EncryptionType enum
16555func EncryptionType_Values() []string {
16556	return []string{
16557		EncryptionTypeNone,
16558		EncryptionTypeAes256,
16559		EncryptionTypeAwsKms,
16560		EncryptionTypeUnknown,
16561	}
16562}
16563
16564// The source of an issue or delay. Possible values are:
16565const (
16566	// ErrorCodeClientError is a ErrorCode enum value
16567	ErrorCodeClientError = "ClientError"
16568
16569	// ErrorCodeInternalError is a ErrorCode enum value
16570	ErrorCodeInternalError = "InternalError"
16571)
16572
16573// ErrorCode_Values returns all elements of the ErrorCode enum
16574func ErrorCode_Values() []string {
16575	return []string{
16576		ErrorCodeClientError,
16577		ErrorCodeInternalError,
16578	}
16579}
16580
16581// The type of action that occurred for the resource and produced the policy
16582// finding:
16583const (
16584	// FindingActionTypeAwsApiCall is a FindingActionType enum value
16585	FindingActionTypeAwsApiCall = "AWS_API_CALL"
16586)
16587
16588// FindingActionType_Values returns all elements of the FindingActionType enum
16589func FindingActionType_Values() []string {
16590	return []string{
16591		FindingActionTypeAwsApiCall,
16592	}
16593}
16594
16595// The category of the finding. Valid values are:
16596const (
16597	// FindingCategoryClassification is a FindingCategory enum value
16598	FindingCategoryClassification = "CLASSIFICATION"
16599
16600	// FindingCategoryPolicy is a FindingCategory enum value
16601	FindingCategoryPolicy = "POLICY"
16602)
16603
16604// FindingCategory_Values returns all elements of the FindingCategory enum
16605func FindingCategory_Values() []string {
16606	return []string{
16607		FindingCategoryClassification,
16608		FindingCategoryPolicy,
16609	}
16610}
16611
16612// The frequency with which Amazon Macie publishes updates to policy findings
16613// for an account. This includes publishing updates to Security Hub and Amazon
16614// EventBridge (formerly called Amazon CloudWatch Events). For more information,
16615// see Monitoring and processing findings (https://docs.aws.amazon.com/macie/latest/user/findings-monitor.html)
16616// in the Amazon Macie User Guide. Valid values are:
16617const (
16618	// FindingPublishingFrequencyFifteenMinutes is a FindingPublishingFrequency enum value
16619	FindingPublishingFrequencyFifteenMinutes = "FIFTEEN_MINUTES"
16620
16621	// FindingPublishingFrequencyOneHour is a FindingPublishingFrequency enum value
16622	FindingPublishingFrequencyOneHour = "ONE_HOUR"
16623
16624	// FindingPublishingFrequencySixHours is a FindingPublishingFrequency enum value
16625	FindingPublishingFrequencySixHours = "SIX_HOURS"
16626)
16627
16628// FindingPublishingFrequency_Values returns all elements of the FindingPublishingFrequency enum
16629func FindingPublishingFrequency_Values() []string {
16630	return []string{
16631		FindingPublishingFrequencyFifteenMinutes,
16632		FindingPublishingFrequencyOneHour,
16633		FindingPublishingFrequencySixHours,
16634	}
16635}
16636
16637// The grouping to sort the results by. Valid values are:
16638const (
16639	// FindingStatisticsSortAttributeNameGroupKey is a FindingStatisticsSortAttributeName enum value
16640	FindingStatisticsSortAttributeNameGroupKey = "groupKey"
16641
16642	// FindingStatisticsSortAttributeNameCount is a FindingStatisticsSortAttributeName enum value
16643	FindingStatisticsSortAttributeNameCount = "count"
16644)
16645
16646// FindingStatisticsSortAttributeName_Values returns all elements of the FindingStatisticsSortAttributeName enum
16647func FindingStatisticsSortAttributeName_Values() []string {
16648	return []string{
16649		FindingStatisticsSortAttributeNameGroupKey,
16650		FindingStatisticsSortAttributeNameCount,
16651	}
16652}
16653
16654// The type of finding. For details about each type, see Types of Amazon Macie
16655// findings (https://docs.aws.amazon.com/macie/latest/user/findings-types.html)
16656// in the Amazon Macie User Guide. Valid values are:
16657const (
16658	// FindingTypeSensitiveDataS3objectMultiple is a FindingType enum value
16659	FindingTypeSensitiveDataS3objectMultiple = "SensitiveData:S3Object/Multiple"
16660
16661	// FindingTypeSensitiveDataS3objectFinancial is a FindingType enum value
16662	FindingTypeSensitiveDataS3objectFinancial = "SensitiveData:S3Object/Financial"
16663
16664	// FindingTypeSensitiveDataS3objectPersonal is a FindingType enum value
16665	FindingTypeSensitiveDataS3objectPersonal = "SensitiveData:S3Object/Personal"
16666
16667	// FindingTypeSensitiveDataS3objectCredentials is a FindingType enum value
16668	FindingTypeSensitiveDataS3objectCredentials = "SensitiveData:S3Object/Credentials"
16669
16670	// FindingTypeSensitiveDataS3objectCustomIdentifier is a FindingType enum value
16671	FindingTypeSensitiveDataS3objectCustomIdentifier = "SensitiveData:S3Object/CustomIdentifier"
16672
16673	// FindingTypePolicyIamuserS3bucketPublic is a FindingType enum value
16674	FindingTypePolicyIamuserS3bucketPublic = "Policy:IAMUser/S3BucketPublic"
16675
16676	// FindingTypePolicyIamuserS3bucketSharedExternally is a FindingType enum value
16677	FindingTypePolicyIamuserS3bucketSharedExternally = "Policy:IAMUser/S3BucketSharedExternally"
16678
16679	// FindingTypePolicyIamuserS3bucketReplicatedExternally is a FindingType enum value
16680	FindingTypePolicyIamuserS3bucketReplicatedExternally = "Policy:IAMUser/S3BucketReplicatedExternally"
16681
16682	// FindingTypePolicyIamuserS3bucketEncryptionDisabled is a FindingType enum value
16683	FindingTypePolicyIamuserS3bucketEncryptionDisabled = "Policy:IAMUser/S3BucketEncryptionDisabled"
16684
16685	// FindingTypePolicyIamuserS3blockPublicAccessDisabled is a FindingType enum value
16686	FindingTypePolicyIamuserS3blockPublicAccessDisabled = "Policy:IAMUser/S3BlockPublicAccessDisabled"
16687)
16688
16689// FindingType_Values returns all elements of the FindingType enum
16690func FindingType_Values() []string {
16691	return []string{
16692		FindingTypeSensitiveDataS3objectMultiple,
16693		FindingTypeSensitiveDataS3objectFinancial,
16694		FindingTypeSensitiveDataS3objectPersonal,
16695		FindingTypeSensitiveDataS3objectCredentials,
16696		FindingTypeSensitiveDataS3objectCustomIdentifier,
16697		FindingTypePolicyIamuserS3bucketPublic,
16698		FindingTypePolicyIamuserS3bucketSharedExternally,
16699		FindingTypePolicyIamuserS3bucketReplicatedExternally,
16700		FindingTypePolicyIamuserS3bucketEncryptionDisabled,
16701		FindingTypePolicyIamuserS3blockPublicAccessDisabled,
16702	}
16703}
16704
16705// The action to perform on findings that meet the filter criteria. To suppress
16706// (automatically archive) findings that meet the criteria, set this value to
16707// ARCHIVE. Valid values are:
16708const (
16709	// FindingsFilterActionArchive is a FindingsFilterAction enum value
16710	FindingsFilterActionArchive = "ARCHIVE"
16711
16712	// FindingsFilterActionNoop is a FindingsFilterAction enum value
16713	FindingsFilterActionNoop = "NOOP"
16714)
16715
16716// FindingsFilterAction_Values returns all elements of the FindingsFilterAction enum
16717func FindingsFilterAction_Values() []string {
16718	return []string{
16719		FindingsFilterActionArchive,
16720		FindingsFilterActionNoop,
16721	}
16722}
16723
16724const (
16725	// GroupByResourcesAffectedS3bucketName is a GroupBy enum value
16726	GroupByResourcesAffectedS3bucketName = "resourcesAffected.s3Bucket.name"
16727
16728	// GroupByType is a GroupBy enum value
16729	GroupByType = "type"
16730
16731	// GroupByClassificationDetailsJobId is a GroupBy enum value
16732	GroupByClassificationDetailsJobId = "classificationDetails.jobId"
16733
16734	// GroupBySeverityDescription is a GroupBy enum value
16735	GroupBySeverityDescription = "severity.description"
16736)
16737
16738// GroupBy_Values returns all elements of the GroupBy enum
16739func GroupBy_Values() []string {
16740	return []string{
16741		GroupByResourcesAffectedS3bucketName,
16742		GroupByType,
16743		GroupByClassificationDetailsJobId,
16744		GroupBySeverityDescription,
16745	}
16746}
16747
16748const (
16749	// IsDefinedInJobTrue is a IsDefinedInJob enum value
16750	IsDefinedInJobTrue = "TRUE"
16751
16752	// IsDefinedInJobFalse is a IsDefinedInJob enum value
16753	IsDefinedInJobFalse = "FALSE"
16754
16755	// IsDefinedInJobUnknown is a IsDefinedInJob enum value
16756	IsDefinedInJobUnknown = "UNKNOWN"
16757)
16758
16759// IsDefinedInJob_Values returns all elements of the IsDefinedInJob enum
16760func IsDefinedInJob_Values() []string {
16761	return []string{
16762		IsDefinedInJobTrue,
16763		IsDefinedInJobFalse,
16764		IsDefinedInJobUnknown,
16765	}
16766}
16767
16768const (
16769	// IsMonitoredByJobTrue is a IsMonitoredByJob enum value
16770	IsMonitoredByJobTrue = "TRUE"
16771
16772	// IsMonitoredByJobFalse is a IsMonitoredByJob enum value
16773	IsMonitoredByJobFalse = "FALSE"
16774
16775	// IsMonitoredByJobUnknown is a IsMonitoredByJob enum value
16776	IsMonitoredByJobUnknown = "UNKNOWN"
16777)
16778
16779// IsMonitoredByJob_Values returns all elements of the IsMonitoredByJob enum
16780func IsMonitoredByJob_Values() []string {
16781	return []string{
16782		IsMonitoredByJobTrue,
16783		IsMonitoredByJobFalse,
16784		IsMonitoredByJobUnknown,
16785	}
16786}
16787
16788// The operator to use in a condition. Valid values are:
16789const (
16790	// JobComparatorEq is a JobComparator enum value
16791	JobComparatorEq = "EQ"
16792
16793	// JobComparatorGt is a JobComparator enum value
16794	JobComparatorGt = "GT"
16795
16796	// JobComparatorGte is a JobComparator enum value
16797	JobComparatorGte = "GTE"
16798
16799	// JobComparatorLt is a JobComparator enum value
16800	JobComparatorLt = "LT"
16801
16802	// JobComparatorLte is a JobComparator enum value
16803	JobComparatorLte = "LTE"
16804
16805	// JobComparatorNe is a JobComparator enum value
16806	JobComparatorNe = "NE"
16807
16808	// JobComparatorContains is a JobComparator enum value
16809	JobComparatorContains = "CONTAINS"
16810
16811	// JobComparatorStartsWith is a JobComparator enum value
16812	JobComparatorStartsWith = "STARTS_WITH"
16813)
16814
16815// JobComparator_Values returns all elements of the JobComparator enum
16816func JobComparator_Values() []string {
16817	return []string{
16818		JobComparatorEq,
16819		JobComparatorGt,
16820		JobComparatorGte,
16821		JobComparatorLt,
16822		JobComparatorLte,
16823		JobComparatorNe,
16824		JobComparatorContains,
16825		JobComparatorStartsWith,
16826	}
16827}
16828
16829// The status of a classification job. Possible values are:
16830const (
16831	// JobStatusRunning is a JobStatus enum value
16832	JobStatusRunning = "RUNNING"
16833
16834	// JobStatusPaused is a JobStatus enum value
16835	JobStatusPaused = "PAUSED"
16836
16837	// JobStatusCancelled is a JobStatus enum value
16838	JobStatusCancelled = "CANCELLED"
16839
16840	// JobStatusComplete is a JobStatus enum value
16841	JobStatusComplete = "COMPLETE"
16842
16843	// JobStatusIdle is a JobStatus enum value
16844	JobStatusIdle = "IDLE"
16845
16846	// JobStatusUserPaused is a JobStatus enum value
16847	JobStatusUserPaused = "USER_PAUSED"
16848)
16849
16850// JobStatus_Values returns all elements of the JobStatus enum
16851func JobStatus_Values() []string {
16852	return []string{
16853		JobStatusRunning,
16854		JobStatusPaused,
16855		JobStatusCancelled,
16856		JobStatusComplete,
16857		JobStatusIdle,
16858		JobStatusUserPaused,
16859	}
16860}
16861
16862// The schedule for running a classification job. Valid values are:
16863const (
16864	// JobTypeOneTime is a JobType enum value
16865	JobTypeOneTime = "ONE_TIME"
16866
16867	// JobTypeScheduled is a JobType enum value
16868	JobTypeScheduled = "SCHEDULED"
16869)
16870
16871// JobType_Values returns all elements of the JobType enum
16872func JobType_Values() []string {
16873	return []string{
16874		JobTypeOneTime,
16875		JobTypeScheduled,
16876	}
16877}
16878
16879// Specifies whether any account- or bucket-level access errors occurred during
16880// the run of a one-time classification job or the most recent run of a recurring
16881// classification job. Possible values are:
16882const (
16883	// LastRunErrorStatusCodeNone is a LastRunErrorStatusCode enum value
16884	LastRunErrorStatusCodeNone = "NONE"
16885
16886	// LastRunErrorStatusCodeError is a LastRunErrorStatusCode enum value
16887	LastRunErrorStatusCodeError = "ERROR"
16888)
16889
16890// LastRunErrorStatusCode_Values returns all elements of the LastRunErrorStatusCode enum
16891func LastRunErrorStatusCode_Values() []string {
16892	return []string{
16893		LastRunErrorStatusCodeNone,
16894		LastRunErrorStatusCodeError,
16895	}
16896}
16897
16898// The property to use to filter the results. Valid values are:
16899const (
16900	// ListJobsFilterKeyJobType is a ListJobsFilterKey enum value
16901	ListJobsFilterKeyJobType = "jobType"
16902
16903	// ListJobsFilterKeyJobStatus is a ListJobsFilterKey enum value
16904	ListJobsFilterKeyJobStatus = "jobStatus"
16905
16906	// ListJobsFilterKeyCreatedAt is a ListJobsFilterKey enum value
16907	ListJobsFilterKeyCreatedAt = "createdAt"
16908
16909	// ListJobsFilterKeyName is a ListJobsFilterKey enum value
16910	ListJobsFilterKeyName = "name"
16911)
16912
16913// ListJobsFilterKey_Values returns all elements of the ListJobsFilterKey enum
16914func ListJobsFilterKey_Values() []string {
16915	return []string{
16916		ListJobsFilterKeyJobType,
16917		ListJobsFilterKeyJobStatus,
16918		ListJobsFilterKeyCreatedAt,
16919		ListJobsFilterKeyName,
16920	}
16921}
16922
16923// The property to sort the results by. Valid values are:
16924const (
16925	// ListJobsSortAttributeNameCreatedAt is a ListJobsSortAttributeName enum value
16926	ListJobsSortAttributeNameCreatedAt = "createdAt"
16927
16928	// ListJobsSortAttributeNameJobStatus is a ListJobsSortAttributeName enum value
16929	ListJobsSortAttributeNameJobStatus = "jobStatus"
16930
16931	// ListJobsSortAttributeNameName is a ListJobsSortAttributeName enum value
16932	ListJobsSortAttributeNameName = "name"
16933
16934	// ListJobsSortAttributeNameJobType is a ListJobsSortAttributeName enum value
16935	ListJobsSortAttributeNameJobType = "jobType"
16936)
16937
16938// ListJobsSortAttributeName_Values returns all elements of the ListJobsSortAttributeName enum
16939func ListJobsSortAttributeName_Values() []string {
16940	return []string{
16941		ListJobsSortAttributeNameCreatedAt,
16942		ListJobsSortAttributeNameJobStatus,
16943		ListJobsSortAttributeNameName,
16944		ListJobsSortAttributeNameJobType,
16945	}
16946}
16947
16948// The status of an Amazon Macie account. Valid values are:
16949const (
16950	// MacieStatusPaused is a MacieStatus enum value
16951	MacieStatusPaused = "PAUSED"
16952
16953	// MacieStatusEnabled is a MacieStatus enum value
16954	MacieStatusEnabled = "ENABLED"
16955)
16956
16957// MacieStatus_Values returns all elements of the MacieStatus enum
16958func MacieStatus_Values() []string {
16959	return []string{
16960		MacieStatusPaused,
16961		MacieStatusEnabled,
16962	}
16963}
16964
16965const (
16966	// OrderByAsc is a OrderBy enum value
16967	OrderByAsc = "ASC"
16968
16969	// OrderByDesc is a OrderBy enum value
16970	OrderByDesc = "DESC"
16971)
16972
16973// OrderBy_Values returns all elements of the OrderBy enum
16974func OrderBy_Values() []string {
16975	return []string{
16976		OrderByAsc,
16977		OrderByDesc,
16978	}
16979}
16980
16981// The current status of the relationship between an account and an associated
16982// Amazon Macie administrator account (inviter account). Possible values are:
16983const (
16984	// RelationshipStatusEnabled is a RelationshipStatus enum value
16985	RelationshipStatusEnabled = "Enabled"
16986
16987	// RelationshipStatusPaused is a RelationshipStatus enum value
16988	RelationshipStatusPaused = "Paused"
16989
16990	// RelationshipStatusInvited is a RelationshipStatus enum value
16991	RelationshipStatusInvited = "Invited"
16992
16993	// RelationshipStatusCreated is a RelationshipStatus enum value
16994	RelationshipStatusCreated = "Created"
16995
16996	// RelationshipStatusRemoved is a RelationshipStatus enum value
16997	RelationshipStatusRemoved = "Removed"
16998
16999	// RelationshipStatusResigned is a RelationshipStatus enum value
17000	RelationshipStatusResigned = "Resigned"
17001
17002	// RelationshipStatusEmailVerificationInProgress is a RelationshipStatus enum value
17003	RelationshipStatusEmailVerificationInProgress = "EmailVerificationInProgress"
17004
17005	// RelationshipStatusEmailVerificationFailed is a RelationshipStatus enum value
17006	RelationshipStatusEmailVerificationFailed = "EmailVerificationFailed"
17007
17008	// RelationshipStatusRegionDisabled is a RelationshipStatus enum value
17009	RelationshipStatusRegionDisabled = "RegionDisabled"
17010
17011	// RelationshipStatusAccountSuspended is a RelationshipStatus enum value
17012	RelationshipStatusAccountSuspended = "AccountSuspended"
17013)
17014
17015// RelationshipStatus_Values returns all elements of the RelationshipStatus enum
17016func RelationshipStatus_Values() []string {
17017	return []string{
17018		RelationshipStatusEnabled,
17019		RelationshipStatusPaused,
17020		RelationshipStatusInvited,
17021		RelationshipStatusCreated,
17022		RelationshipStatusRemoved,
17023		RelationshipStatusResigned,
17024		RelationshipStatusEmailVerificationInProgress,
17025		RelationshipStatusEmailVerificationFailed,
17026		RelationshipStatusRegionDisabled,
17027		RelationshipStatusAccountSuspended,
17028	}
17029}
17030
17031// The property to use in a condition that determines whether an S3 object is
17032// included or excluded from a classification job. Valid values are:
17033const (
17034	// ScopeFilterKeyObjectExtension is a ScopeFilterKey enum value
17035	ScopeFilterKeyObjectExtension = "OBJECT_EXTENSION"
17036
17037	// ScopeFilterKeyObjectLastModifiedDate is a ScopeFilterKey enum value
17038	ScopeFilterKeyObjectLastModifiedDate = "OBJECT_LAST_MODIFIED_DATE"
17039
17040	// ScopeFilterKeyObjectSize is a ScopeFilterKey enum value
17041	ScopeFilterKeyObjectSize = "OBJECT_SIZE"
17042
17043	// ScopeFilterKeyObjectKey is a ScopeFilterKey enum value
17044	ScopeFilterKeyObjectKey = "OBJECT_KEY"
17045)
17046
17047// ScopeFilterKey_Values returns all elements of the ScopeFilterKey enum
17048func ScopeFilterKey_Values() []string {
17049	return []string{
17050		ScopeFilterKeyObjectExtension,
17051		ScopeFilterKeyObjectLastModifiedDate,
17052		ScopeFilterKeyObjectSize,
17053		ScopeFilterKeyObjectKey,
17054	}
17055}
17056
17057// The operator to use in a condition that filters the results of a query. Valid
17058// values are:
17059const (
17060	// SearchResourcesComparatorEq is a SearchResourcesComparator enum value
17061	SearchResourcesComparatorEq = "EQ"
17062
17063	// SearchResourcesComparatorNe is a SearchResourcesComparator enum value
17064	SearchResourcesComparatorNe = "NE"
17065)
17066
17067// SearchResourcesComparator_Values returns all elements of the SearchResourcesComparator enum
17068func SearchResourcesComparator_Values() []string {
17069	return []string{
17070		SearchResourcesComparatorEq,
17071		SearchResourcesComparatorNe,
17072	}
17073}
17074
17075// The property to use in a condition that filters the query results. Valid
17076// values are:
17077const (
17078	// SearchResourcesSimpleCriterionKeyAccountId is a SearchResourcesSimpleCriterionKey enum value
17079	SearchResourcesSimpleCriterionKeyAccountId = "ACCOUNT_ID"
17080
17081	// SearchResourcesSimpleCriterionKeyS3BucketName is a SearchResourcesSimpleCriterionKey enum value
17082	SearchResourcesSimpleCriterionKeyS3BucketName = "S3_BUCKET_NAME"
17083
17084	// SearchResourcesSimpleCriterionKeyS3BucketEffectivePermission is a SearchResourcesSimpleCriterionKey enum value
17085	SearchResourcesSimpleCriterionKeyS3BucketEffectivePermission = "S3_BUCKET_EFFECTIVE_PERMISSION"
17086
17087	// SearchResourcesSimpleCriterionKeyS3BucketSharedAccess is a SearchResourcesSimpleCriterionKey enum value
17088	SearchResourcesSimpleCriterionKeyS3BucketSharedAccess = "S3_BUCKET_SHARED_ACCESS"
17089)
17090
17091// SearchResourcesSimpleCriterionKey_Values returns all elements of the SearchResourcesSimpleCriterionKey enum
17092func SearchResourcesSimpleCriterionKey_Values() []string {
17093	return []string{
17094		SearchResourcesSimpleCriterionKeyAccountId,
17095		SearchResourcesSimpleCriterionKeyS3BucketName,
17096		SearchResourcesSimpleCriterionKeyS3BucketEffectivePermission,
17097		SearchResourcesSimpleCriterionKeyS3BucketSharedAccess,
17098	}
17099}
17100
17101// The property to sort the query results by. Valid values are:
17102const (
17103	// SearchResourcesSortAttributeNameAccountId is a SearchResourcesSortAttributeName enum value
17104	SearchResourcesSortAttributeNameAccountId = "ACCOUNT_ID"
17105
17106	// SearchResourcesSortAttributeNameResourceName is a SearchResourcesSortAttributeName enum value
17107	SearchResourcesSortAttributeNameResourceName = "RESOURCE_NAME"
17108
17109	// SearchResourcesSortAttributeNameS3ClassifiableObjectCount is a SearchResourcesSortAttributeName enum value
17110	SearchResourcesSortAttributeNameS3ClassifiableObjectCount = "S3_CLASSIFIABLE_OBJECT_COUNT"
17111
17112	// SearchResourcesSortAttributeNameS3ClassifiableSizeInBytes is a SearchResourcesSortAttributeName enum value
17113	SearchResourcesSortAttributeNameS3ClassifiableSizeInBytes = "S3_CLASSIFIABLE_SIZE_IN_BYTES"
17114)
17115
17116// SearchResourcesSortAttributeName_Values returns all elements of the SearchResourcesSortAttributeName enum
17117func SearchResourcesSortAttributeName_Values() []string {
17118	return []string{
17119		SearchResourcesSortAttributeNameAccountId,
17120		SearchResourcesSortAttributeNameResourceName,
17121		SearchResourcesSortAttributeNameS3ClassifiableObjectCount,
17122		SearchResourcesSortAttributeNameS3ClassifiableSizeInBytes,
17123	}
17124}
17125
17126// The category of sensitive data that was detected and produced the finding.
17127// Possible values are:
17128const (
17129	// SensitiveDataItemCategoryFinancialInformation is a SensitiveDataItemCategory enum value
17130	SensitiveDataItemCategoryFinancialInformation = "FINANCIAL_INFORMATION"
17131
17132	// SensitiveDataItemCategoryPersonalInformation is a SensitiveDataItemCategory enum value
17133	SensitiveDataItemCategoryPersonalInformation = "PERSONAL_INFORMATION"
17134
17135	// SensitiveDataItemCategoryCredentials is a SensitiveDataItemCategory enum value
17136	SensitiveDataItemCategoryCredentials = "CREDENTIALS"
17137
17138	// SensitiveDataItemCategoryCustomIdentifier is a SensitiveDataItemCategory enum value
17139	SensitiveDataItemCategoryCustomIdentifier = "CUSTOM_IDENTIFIER"
17140)
17141
17142// SensitiveDataItemCategory_Values returns all elements of the SensitiveDataItemCategory enum
17143func SensitiveDataItemCategory_Values() []string {
17144	return []string{
17145		SensitiveDataItemCategoryFinancialInformation,
17146		SensitiveDataItemCategoryPersonalInformation,
17147		SensitiveDataItemCategoryCredentials,
17148		SensitiveDataItemCategoryCustomIdentifier,
17149	}
17150}
17151
17152// The qualitative representation of the finding's severity. Possible values
17153// are:
17154const (
17155	// SeverityDescriptionLow is a SeverityDescription enum value
17156	SeverityDescriptionLow = "Low"
17157
17158	// SeverityDescriptionMedium is a SeverityDescription enum value
17159	SeverityDescriptionMedium = "Medium"
17160
17161	// SeverityDescriptionHigh is a SeverityDescription enum value
17162	SeverityDescriptionHigh = "High"
17163)
17164
17165// SeverityDescription_Values returns all elements of the SeverityDescription enum
17166func SeverityDescription_Values() []string {
17167	return []string{
17168		SeverityDescriptionLow,
17169		SeverityDescriptionMedium,
17170		SeverityDescriptionHigh,
17171	}
17172}
17173
17174const (
17175	// SharedAccessExternal is a SharedAccess enum value
17176	SharedAccessExternal = "EXTERNAL"
17177
17178	// SharedAccessInternal is a SharedAccess enum value
17179	SharedAccessInternal = "INTERNAL"
17180
17181	// SharedAccessNotShared is a SharedAccess enum value
17182	SharedAccessNotShared = "NOT_SHARED"
17183
17184	// SharedAccessUnknown is a SharedAccess enum value
17185	SharedAccessUnknown = "UNKNOWN"
17186)
17187
17188// SharedAccess_Values returns all elements of the SharedAccess enum
17189func SharedAccess_Values() []string {
17190	return []string{
17191		SharedAccessExternal,
17192		SharedAccessInternal,
17193		SharedAccessNotShared,
17194		SharedAccessUnknown,
17195	}
17196}
17197
17198// The property to use in a condition that determines whether an S3 bucket is
17199// included or excluded from a classification job. Valid values are:
17200const (
17201	// SimpleCriterionKeyForJobAccountId is a SimpleCriterionKeyForJob enum value
17202	SimpleCriterionKeyForJobAccountId = "ACCOUNT_ID"
17203
17204	// SimpleCriterionKeyForJobS3BucketName is a SimpleCriterionKeyForJob enum value
17205	SimpleCriterionKeyForJobS3BucketName = "S3_BUCKET_NAME"
17206
17207	// SimpleCriterionKeyForJobS3BucketEffectivePermission is a SimpleCriterionKeyForJob enum value
17208	SimpleCriterionKeyForJobS3BucketEffectivePermission = "S3_BUCKET_EFFECTIVE_PERMISSION"
17209
17210	// SimpleCriterionKeyForJobS3BucketSharedAccess is a SimpleCriterionKeyForJob enum value
17211	SimpleCriterionKeyForJobS3BucketSharedAccess = "S3_BUCKET_SHARED_ACCESS"
17212)
17213
17214// SimpleCriterionKeyForJob_Values returns all elements of the SimpleCriterionKeyForJob enum
17215func SimpleCriterionKeyForJob_Values() []string {
17216	return []string{
17217		SimpleCriterionKeyForJobAccountId,
17218		SimpleCriterionKeyForJobS3BucketName,
17219		SimpleCriterionKeyForJobS3BucketEffectivePermission,
17220		SimpleCriterionKeyForJobS3BucketSharedAccess,
17221	}
17222}
17223
17224// The storage class of the S3 object. Possible values are:
17225const (
17226	// StorageClassStandard is a StorageClass enum value
17227	StorageClassStandard = "STANDARD"
17228
17229	// StorageClassReducedRedundancy is a StorageClass enum value
17230	StorageClassReducedRedundancy = "REDUCED_REDUNDANCY"
17231
17232	// StorageClassStandardIa is a StorageClass enum value
17233	StorageClassStandardIa = "STANDARD_IA"
17234
17235	// StorageClassIntelligentTiering is a StorageClass enum value
17236	StorageClassIntelligentTiering = "INTELLIGENT_TIERING"
17237
17238	// StorageClassDeepArchive is a StorageClass enum value
17239	StorageClassDeepArchive = "DEEP_ARCHIVE"
17240
17241	// StorageClassOnezoneIa is a StorageClass enum value
17242	StorageClassOnezoneIa = "ONEZONE_IA"
17243
17244	// StorageClassGlacier is a StorageClass enum value
17245	StorageClassGlacier = "GLACIER"
17246)
17247
17248// StorageClass_Values returns all elements of the StorageClass enum
17249func StorageClass_Values() []string {
17250	return []string{
17251		StorageClassStandard,
17252		StorageClassReducedRedundancy,
17253		StorageClassStandardIa,
17254		StorageClassIntelligentTiering,
17255		StorageClassDeepArchive,
17256		StorageClassOnezoneIa,
17257		StorageClassGlacier,
17258	}
17259}
17260
17261// The type of object to apply a tag-based condition to. Valid values are:
17262const (
17263	// TagTargetS3Object is a TagTarget enum value
17264	TagTargetS3Object = "S3_OBJECT"
17265)
17266
17267// TagTarget_Values returns all elements of the TagTarget enum
17268func TagTarget_Values() []string {
17269	return []string{
17270		TagTargetS3Object,
17271	}
17272}
17273
17274// An inclusive time period that Amazon Macie usage data applies to. Possible
17275// values are:
17276const (
17277	// TimeRangeMonthToDate is a TimeRange enum value
17278	TimeRangeMonthToDate = "MONTH_TO_DATE"
17279
17280	// TimeRangePast30Days is a TimeRange enum value
17281	TimeRangePast30Days = "PAST_30_DAYS"
17282)
17283
17284// TimeRange_Values returns all elements of the TimeRange enum
17285func TimeRange_Values() []string {
17286	return []string{
17287		TimeRangeMonthToDate,
17288		TimeRangePast30Days,
17289	}
17290}
17291
17292const (
17293	// TypeNone is a Type enum value
17294	TypeNone = "NONE"
17295
17296	// TypeAes256 is a Type enum value
17297	TypeAes256 = "AES256"
17298
17299	// TypeAwsKms is a Type enum value
17300	TypeAwsKms = "aws:kms"
17301)
17302
17303// Type_Values returns all elements of the Type enum
17304func Type_Values() []string {
17305	return []string{
17306		TypeNone,
17307		TypeAes256,
17308		TypeAwsKms,
17309	}
17310}
17311
17312const (
17313	// UnitTerabytes is a Unit enum value
17314	UnitTerabytes = "TERABYTES"
17315)
17316
17317// Unit_Values returns all elements of the Unit enum
17318func Unit_Values() []string {
17319	return []string{
17320		UnitTerabytes,
17321	}
17322}
17323
17324// The operator to use in a condition that filters the results of a query for
17325// Amazon Macie account quotas and usage data. Valid values are:
17326const (
17327	// UsageStatisticsFilterComparatorGt is a UsageStatisticsFilterComparator enum value
17328	UsageStatisticsFilterComparatorGt = "GT"
17329
17330	// UsageStatisticsFilterComparatorGte is a UsageStatisticsFilterComparator enum value
17331	UsageStatisticsFilterComparatorGte = "GTE"
17332
17333	// UsageStatisticsFilterComparatorLt is a UsageStatisticsFilterComparator enum value
17334	UsageStatisticsFilterComparatorLt = "LT"
17335
17336	// UsageStatisticsFilterComparatorLte is a UsageStatisticsFilterComparator enum value
17337	UsageStatisticsFilterComparatorLte = "LTE"
17338
17339	// UsageStatisticsFilterComparatorEq is a UsageStatisticsFilterComparator enum value
17340	UsageStatisticsFilterComparatorEq = "EQ"
17341
17342	// UsageStatisticsFilterComparatorNe is a UsageStatisticsFilterComparator enum value
17343	UsageStatisticsFilterComparatorNe = "NE"
17344
17345	// UsageStatisticsFilterComparatorContains is a UsageStatisticsFilterComparator enum value
17346	UsageStatisticsFilterComparatorContains = "CONTAINS"
17347)
17348
17349// UsageStatisticsFilterComparator_Values returns all elements of the UsageStatisticsFilterComparator enum
17350func UsageStatisticsFilterComparator_Values() []string {
17351	return []string{
17352		UsageStatisticsFilterComparatorGt,
17353		UsageStatisticsFilterComparatorGte,
17354		UsageStatisticsFilterComparatorLt,
17355		UsageStatisticsFilterComparatorLte,
17356		UsageStatisticsFilterComparatorEq,
17357		UsageStatisticsFilterComparatorNe,
17358		UsageStatisticsFilterComparatorContains,
17359	}
17360}
17361
17362// The field to use in a condition that filters the results of a query for Amazon
17363// Macie account quotas and usage data. Valid values are:
17364const (
17365	// UsageStatisticsFilterKeyAccountId is a UsageStatisticsFilterKey enum value
17366	UsageStatisticsFilterKeyAccountId = "accountId"
17367
17368	// UsageStatisticsFilterKeyServiceLimit is a UsageStatisticsFilterKey enum value
17369	UsageStatisticsFilterKeyServiceLimit = "serviceLimit"
17370
17371	// UsageStatisticsFilterKeyFreeTrialStartDate is a UsageStatisticsFilterKey enum value
17372	UsageStatisticsFilterKeyFreeTrialStartDate = "freeTrialStartDate"
17373
17374	// UsageStatisticsFilterKeyTotal is a UsageStatisticsFilterKey enum value
17375	UsageStatisticsFilterKeyTotal = "total"
17376)
17377
17378// UsageStatisticsFilterKey_Values returns all elements of the UsageStatisticsFilterKey enum
17379func UsageStatisticsFilterKey_Values() []string {
17380	return []string{
17381		UsageStatisticsFilterKeyAccountId,
17382		UsageStatisticsFilterKeyServiceLimit,
17383		UsageStatisticsFilterKeyFreeTrialStartDate,
17384		UsageStatisticsFilterKeyTotal,
17385	}
17386}
17387
17388// The field to use to sort the results of a query for Amazon Macie account
17389// quotas and usage data. Valid values are:
17390const (
17391	// UsageStatisticsSortKeyAccountId is a UsageStatisticsSortKey enum value
17392	UsageStatisticsSortKeyAccountId = "accountId"
17393
17394	// UsageStatisticsSortKeyTotal is a UsageStatisticsSortKey enum value
17395	UsageStatisticsSortKeyTotal = "total"
17396
17397	// UsageStatisticsSortKeyServiceLimitValue is a UsageStatisticsSortKey enum value
17398	UsageStatisticsSortKeyServiceLimitValue = "serviceLimitValue"
17399
17400	// UsageStatisticsSortKeyFreeTrialStartDate is a UsageStatisticsSortKey enum value
17401	UsageStatisticsSortKeyFreeTrialStartDate = "freeTrialStartDate"
17402)
17403
17404// UsageStatisticsSortKey_Values returns all elements of the UsageStatisticsSortKey enum
17405func UsageStatisticsSortKey_Values() []string {
17406	return []string{
17407		UsageStatisticsSortKeyAccountId,
17408		UsageStatisticsSortKeyTotal,
17409		UsageStatisticsSortKeyServiceLimitValue,
17410		UsageStatisticsSortKeyFreeTrialStartDate,
17411	}
17412}
17413
17414// The name of an Amazon Macie usage metric for an account. Possible values
17415// are:
17416const (
17417	// UsageTypeDataInventoryEvaluation is a UsageType enum value
17418	UsageTypeDataInventoryEvaluation = "DATA_INVENTORY_EVALUATION"
17419
17420	// UsageTypeSensitiveDataDiscovery is a UsageType enum value
17421	UsageTypeSensitiveDataDiscovery = "SENSITIVE_DATA_DISCOVERY"
17422)
17423
17424// UsageType_Values returns all elements of the UsageType enum
17425func UsageType_Values() []string {
17426	return []string{
17427		UsageTypeDataInventoryEvaluation,
17428		UsageTypeSensitiveDataDiscovery,
17429	}
17430}
17431
17432// The type of entity that performed the action on the affected resource. Possible
17433// values are:
17434const (
17435	// UserIdentityTypeAssumedRole is a UserIdentityType enum value
17436	UserIdentityTypeAssumedRole = "AssumedRole"
17437
17438	// UserIdentityTypeIamuser is a UserIdentityType enum value
17439	UserIdentityTypeIamuser = "IAMUser"
17440
17441	// UserIdentityTypeFederatedUser is a UserIdentityType enum value
17442	UserIdentityTypeFederatedUser = "FederatedUser"
17443
17444	// UserIdentityTypeRoot is a UserIdentityType enum value
17445	UserIdentityTypeRoot = "Root"
17446
17447	// UserIdentityTypeAwsaccount is a UserIdentityType enum value
17448	UserIdentityTypeAwsaccount = "AWSAccount"
17449
17450	// UserIdentityTypeAwsservice is a UserIdentityType enum value
17451	UserIdentityTypeAwsservice = "AWSService"
17452)
17453
17454// UserIdentityType_Values returns all elements of the UserIdentityType enum
17455func UserIdentityType_Values() []string {
17456	return []string{
17457		UserIdentityTypeAssumedRole,
17458		UserIdentityTypeIamuser,
17459		UserIdentityTypeFederatedUser,
17460		UserIdentityTypeRoot,
17461		UserIdentityTypeAwsaccount,
17462		UserIdentityTypeAwsservice,
17463	}
17464}
17465