1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package guardduty
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/guardduty-2017-11-28/AcceptInvitation
42func (c *GuardDuty) AcceptInvitationRequest(input *AcceptInvitationInput) (req *request.Request, output *AcceptInvitationOutput) {
43	op := &request.Operation{
44		Name:       opAcceptInvitation,
45		HTTPMethod: "POST",
46		HTTPPath:   "/detector/{detectorId}/master",
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 GuardDuty.
60//
61// Accepts the invitation to be monitored by a GuardDuty administrator account.
62//
63// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
64// with awserr.Error's Code and Message methods to get detailed information about
65// the error.
66//
67// See the AWS API reference guide for Amazon GuardDuty's
68// API operation AcceptInvitation for usage and error information.
69//
70// Returned Error Types:
71//   * BadRequestException
72//   A bad request exception object.
73//
74//   * InternalServerErrorException
75//   An internal server error exception object.
76//
77// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/AcceptInvitation
78func (c *GuardDuty) AcceptInvitation(input *AcceptInvitationInput) (*AcceptInvitationOutput, error) {
79	req, out := c.AcceptInvitationRequest(input)
80	return out, req.Send()
81}
82
83// AcceptInvitationWithContext is the same as AcceptInvitation with the addition of
84// the ability to pass a context and additional request options.
85//
86// See AcceptInvitation for details on how to use this API operation.
87//
88// The context must be non-nil and will be used for request cancellation. If
89// the context is nil a panic will occur. In the future the SDK may create
90// sub-contexts for http.Requests. See https://golang.org/pkg/context/
91// for more information on using Contexts.
92func (c *GuardDuty) AcceptInvitationWithContext(ctx aws.Context, input *AcceptInvitationInput, opts ...request.Option) (*AcceptInvitationOutput, error) {
93	req, out := c.AcceptInvitationRequest(input)
94	req.SetContext(ctx)
95	req.ApplyOptions(opts...)
96	return out, req.Send()
97}
98
99const opArchiveFindings = "ArchiveFindings"
100
101// ArchiveFindingsRequest generates a "aws/request.Request" representing the
102// client's request for the ArchiveFindings operation. The "output" return
103// value will be populated with the request's response once the request completes
104// successfully.
105//
106// Use "Send" method on the returned Request to send the API call to the service.
107// the "output" return value is not valid until after Send returns without error.
108//
109// See ArchiveFindings for more information on using the ArchiveFindings
110// API call, and error handling.
111//
112// This method is useful when you want to inject custom logic or configuration
113// into the SDK's request lifecycle. Such as custom headers, or retry logic.
114//
115//
116//    // Example sending a request using the ArchiveFindingsRequest method.
117//    req, resp := client.ArchiveFindingsRequest(params)
118//
119//    err := req.Send()
120//    if err == nil { // resp is now filled
121//        fmt.Println(resp)
122//    }
123//
124// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ArchiveFindings
125func (c *GuardDuty) ArchiveFindingsRequest(input *ArchiveFindingsInput) (req *request.Request, output *ArchiveFindingsOutput) {
126	op := &request.Operation{
127		Name:       opArchiveFindings,
128		HTTPMethod: "POST",
129		HTTPPath:   "/detector/{detectorId}/findings/archive",
130	}
131
132	if input == nil {
133		input = &ArchiveFindingsInput{}
134	}
135
136	output = &ArchiveFindingsOutput{}
137	req = c.newRequest(op, input, output)
138	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
139	return
140}
141
142// ArchiveFindings API operation for Amazon GuardDuty.
143//
144// Archives GuardDuty findings that are specified by the list of finding IDs.
145//
146// Only the administrator account can archive findings. Member accounts don't
147// have permission to archive findings from their accounts.
148//
149// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
150// with awserr.Error's Code and Message methods to get detailed information about
151// the error.
152//
153// See the AWS API reference guide for Amazon GuardDuty's
154// API operation ArchiveFindings for usage and error information.
155//
156// Returned Error Types:
157//   * BadRequestException
158//   A bad request exception object.
159//
160//   * InternalServerErrorException
161//   An internal server error exception object.
162//
163// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ArchiveFindings
164func (c *GuardDuty) ArchiveFindings(input *ArchiveFindingsInput) (*ArchiveFindingsOutput, error) {
165	req, out := c.ArchiveFindingsRequest(input)
166	return out, req.Send()
167}
168
169// ArchiveFindingsWithContext is the same as ArchiveFindings with the addition of
170// the ability to pass a context and additional request options.
171//
172// See ArchiveFindings for details on how to use this API operation.
173//
174// The context must be non-nil and will be used for request cancellation. If
175// the context is nil a panic will occur. In the future the SDK may create
176// sub-contexts for http.Requests. See https://golang.org/pkg/context/
177// for more information on using Contexts.
178func (c *GuardDuty) ArchiveFindingsWithContext(ctx aws.Context, input *ArchiveFindingsInput, opts ...request.Option) (*ArchiveFindingsOutput, error) {
179	req, out := c.ArchiveFindingsRequest(input)
180	req.SetContext(ctx)
181	req.ApplyOptions(opts...)
182	return out, req.Send()
183}
184
185const opCreateDetector = "CreateDetector"
186
187// CreateDetectorRequest generates a "aws/request.Request" representing the
188// client's request for the CreateDetector operation. The "output" return
189// value will be populated with the request's response once the request completes
190// successfully.
191//
192// Use "Send" method on the returned Request to send the API call to the service.
193// the "output" return value is not valid until after Send returns without error.
194//
195// See CreateDetector for more information on using the CreateDetector
196// API call, and error handling.
197//
198// This method is useful when you want to inject custom logic or configuration
199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
200//
201//
202//    // Example sending a request using the CreateDetectorRequest method.
203//    req, resp := client.CreateDetectorRequest(params)
204//
205//    err := req.Send()
206//    if err == nil { // resp is now filled
207//        fmt.Println(resp)
208//    }
209//
210// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateDetector
211func (c *GuardDuty) CreateDetectorRequest(input *CreateDetectorInput) (req *request.Request, output *CreateDetectorOutput) {
212	op := &request.Operation{
213		Name:       opCreateDetector,
214		HTTPMethod: "POST",
215		HTTPPath:   "/detector",
216	}
217
218	if input == nil {
219		input = &CreateDetectorInput{}
220	}
221
222	output = &CreateDetectorOutput{}
223	req = c.newRequest(op, input, output)
224	return
225}
226
227// CreateDetector API operation for Amazon GuardDuty.
228//
229// Creates a single Amazon GuardDuty detector. A detector is a resource that
230// represents the GuardDuty service. To start using GuardDuty, you must create
231// a detector in each Region where you enable the service. You can have only
232// one detector per account per Region. All data sources are enabled in a new
233// detector by default.
234//
235// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
236// with awserr.Error's Code and Message methods to get detailed information about
237// the error.
238//
239// See the AWS API reference guide for Amazon GuardDuty's
240// API operation CreateDetector for usage and error information.
241//
242// Returned Error Types:
243//   * BadRequestException
244//   A bad request exception object.
245//
246//   * InternalServerErrorException
247//   An internal server error exception object.
248//
249// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateDetector
250func (c *GuardDuty) CreateDetector(input *CreateDetectorInput) (*CreateDetectorOutput, error) {
251	req, out := c.CreateDetectorRequest(input)
252	return out, req.Send()
253}
254
255// CreateDetectorWithContext is the same as CreateDetector with the addition of
256// the ability to pass a context and additional request options.
257//
258// See CreateDetector for details on how to use this API operation.
259//
260// The context must be non-nil and will be used for request cancellation. If
261// the context is nil a panic will occur. In the future the SDK may create
262// sub-contexts for http.Requests. See https://golang.org/pkg/context/
263// for more information on using Contexts.
264func (c *GuardDuty) CreateDetectorWithContext(ctx aws.Context, input *CreateDetectorInput, opts ...request.Option) (*CreateDetectorOutput, error) {
265	req, out := c.CreateDetectorRequest(input)
266	req.SetContext(ctx)
267	req.ApplyOptions(opts...)
268	return out, req.Send()
269}
270
271const opCreateFilter = "CreateFilter"
272
273// CreateFilterRequest generates a "aws/request.Request" representing the
274// client's request for the CreateFilter operation. The "output" return
275// value will be populated with the request's response once the request completes
276// successfully.
277//
278// Use "Send" method on the returned Request to send the API call to the service.
279// the "output" return value is not valid until after Send returns without error.
280//
281// See CreateFilter for more information on using the CreateFilter
282// API call, and error handling.
283//
284// This method is useful when you want to inject custom logic or configuration
285// into the SDK's request lifecycle. Such as custom headers, or retry logic.
286//
287//
288//    // Example sending a request using the CreateFilterRequest method.
289//    req, resp := client.CreateFilterRequest(params)
290//
291//    err := req.Send()
292//    if err == nil { // resp is now filled
293//        fmt.Println(resp)
294//    }
295//
296// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateFilter
297func (c *GuardDuty) CreateFilterRequest(input *CreateFilterInput) (req *request.Request, output *CreateFilterOutput) {
298	op := &request.Operation{
299		Name:       opCreateFilter,
300		HTTPMethod: "POST",
301		HTTPPath:   "/detector/{detectorId}/filter",
302	}
303
304	if input == nil {
305		input = &CreateFilterInput{}
306	}
307
308	output = &CreateFilterOutput{}
309	req = c.newRequest(op, input, output)
310	return
311}
312
313// CreateFilter API operation for Amazon GuardDuty.
314//
315// Creates a filter using the specified finding criteria.
316//
317// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
318// with awserr.Error's Code and Message methods to get detailed information about
319// the error.
320//
321// See the AWS API reference guide for Amazon GuardDuty's
322// API operation CreateFilter for usage and error information.
323//
324// Returned Error Types:
325//   * BadRequestException
326//   A bad request exception object.
327//
328//   * InternalServerErrorException
329//   An internal server error exception object.
330//
331// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateFilter
332func (c *GuardDuty) CreateFilter(input *CreateFilterInput) (*CreateFilterOutput, error) {
333	req, out := c.CreateFilterRequest(input)
334	return out, req.Send()
335}
336
337// CreateFilterWithContext is the same as CreateFilter with the addition of
338// the ability to pass a context and additional request options.
339//
340// See CreateFilter for details on how to use this API operation.
341//
342// The context must be non-nil and will be used for request cancellation. If
343// the context is nil a panic will occur. In the future the SDK may create
344// sub-contexts for http.Requests. See https://golang.org/pkg/context/
345// for more information on using Contexts.
346func (c *GuardDuty) CreateFilterWithContext(ctx aws.Context, input *CreateFilterInput, opts ...request.Option) (*CreateFilterOutput, error) {
347	req, out := c.CreateFilterRequest(input)
348	req.SetContext(ctx)
349	req.ApplyOptions(opts...)
350	return out, req.Send()
351}
352
353const opCreateIPSet = "CreateIPSet"
354
355// CreateIPSetRequest generates a "aws/request.Request" representing the
356// client's request for the CreateIPSet operation. The "output" return
357// value will be populated with the request's response once the request completes
358// successfully.
359//
360// Use "Send" method on the returned Request to send the API call to the service.
361// the "output" return value is not valid until after Send returns without error.
362//
363// See CreateIPSet for more information on using the CreateIPSet
364// API call, and error handling.
365//
366// This method is useful when you want to inject custom logic or configuration
367// into the SDK's request lifecycle. Such as custom headers, or retry logic.
368//
369//
370//    // Example sending a request using the CreateIPSetRequest method.
371//    req, resp := client.CreateIPSetRequest(params)
372//
373//    err := req.Send()
374//    if err == nil { // resp is now filled
375//        fmt.Println(resp)
376//    }
377//
378// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateIPSet
379func (c *GuardDuty) CreateIPSetRequest(input *CreateIPSetInput) (req *request.Request, output *CreateIPSetOutput) {
380	op := &request.Operation{
381		Name:       opCreateIPSet,
382		HTTPMethod: "POST",
383		HTTPPath:   "/detector/{detectorId}/ipset",
384	}
385
386	if input == nil {
387		input = &CreateIPSetInput{}
388	}
389
390	output = &CreateIPSetOutput{}
391	req = c.newRequest(op, input, output)
392	return
393}
394
395// CreateIPSet API operation for Amazon GuardDuty.
396//
397// Creates a new IPSet, which is called a trusted IP list in the console user
398// interface. An IPSet is a list of IP addresses that are trusted for secure
399// communication with AWS infrastructure and applications. GuardDuty doesn't
400// generate findings for IP addresses that are included in IPSets. Only users
401// from the administrator account can use this operation.
402//
403// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
404// with awserr.Error's Code and Message methods to get detailed information about
405// the error.
406//
407// See the AWS API reference guide for Amazon GuardDuty's
408// API operation CreateIPSet for usage and error information.
409//
410// Returned Error Types:
411//   * BadRequestException
412//   A bad request exception object.
413//
414//   * InternalServerErrorException
415//   An internal server error exception object.
416//
417// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateIPSet
418func (c *GuardDuty) CreateIPSet(input *CreateIPSetInput) (*CreateIPSetOutput, error) {
419	req, out := c.CreateIPSetRequest(input)
420	return out, req.Send()
421}
422
423// CreateIPSetWithContext is the same as CreateIPSet with the addition of
424// the ability to pass a context and additional request options.
425//
426// See CreateIPSet for details on how to use this API operation.
427//
428// The context must be non-nil and will be used for request cancellation. If
429// the context is nil a panic will occur. In the future the SDK may create
430// sub-contexts for http.Requests. See https://golang.org/pkg/context/
431// for more information on using Contexts.
432func (c *GuardDuty) CreateIPSetWithContext(ctx aws.Context, input *CreateIPSetInput, opts ...request.Option) (*CreateIPSetOutput, error) {
433	req, out := c.CreateIPSetRequest(input)
434	req.SetContext(ctx)
435	req.ApplyOptions(opts...)
436	return out, req.Send()
437}
438
439const opCreateMembers = "CreateMembers"
440
441// CreateMembersRequest generates a "aws/request.Request" representing the
442// client's request for the CreateMembers operation. The "output" return
443// value will be populated with the request's response once the request completes
444// successfully.
445//
446// Use "Send" method on the returned Request to send the API call to the service.
447// the "output" return value is not valid until after Send returns without error.
448//
449// See CreateMembers for more information on using the CreateMembers
450// API call, and error handling.
451//
452// This method is useful when you want to inject custom logic or configuration
453// into the SDK's request lifecycle. Such as custom headers, or retry logic.
454//
455//
456//    // Example sending a request using the CreateMembersRequest method.
457//    req, resp := client.CreateMembersRequest(params)
458//
459//    err := req.Send()
460//    if err == nil { // resp is now filled
461//        fmt.Println(resp)
462//    }
463//
464// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateMembers
465func (c *GuardDuty) CreateMembersRequest(input *CreateMembersInput) (req *request.Request, output *CreateMembersOutput) {
466	op := &request.Operation{
467		Name:       opCreateMembers,
468		HTTPMethod: "POST",
469		HTTPPath:   "/detector/{detectorId}/member",
470	}
471
472	if input == nil {
473		input = &CreateMembersInput{}
474	}
475
476	output = &CreateMembersOutput{}
477	req = c.newRequest(op, input, output)
478	return
479}
480
481// CreateMembers API operation for Amazon GuardDuty.
482//
483// Creates member accounts of the current AWS account by specifying a list of
484// AWS account IDs. This step is a prerequisite for managing the associated
485// member accounts either by invitation or through an organization.
486//
487// When using Create Members as an organizations delegated administrator this
488// action will enable GuardDuty in the added member accounts, with the exception
489// of the organization delegated administrator account, which must enable GuardDuty
490// prior to being added as a member.
491//
492// If you are adding accounts by invitation use this action after GuardDuty
493// has been enabled in potential member accounts and before using Invite Members
494// (https://docs.aws.amazon.com/guardduty/latest/APIReference/API_InviteMembers.html).
495//
496// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
497// with awserr.Error's Code and Message methods to get detailed information about
498// the error.
499//
500// See the AWS API reference guide for Amazon GuardDuty's
501// API operation CreateMembers for usage and error information.
502//
503// Returned Error Types:
504//   * BadRequestException
505//   A bad request exception object.
506//
507//   * InternalServerErrorException
508//   An internal server error exception object.
509//
510// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateMembers
511func (c *GuardDuty) CreateMembers(input *CreateMembersInput) (*CreateMembersOutput, error) {
512	req, out := c.CreateMembersRequest(input)
513	return out, req.Send()
514}
515
516// CreateMembersWithContext is the same as CreateMembers with the addition of
517// the ability to pass a context and additional request options.
518//
519// See CreateMembers for details on how to use this API operation.
520//
521// The context must be non-nil and will be used for request cancellation. If
522// the context is nil a panic will occur. In the future the SDK may create
523// sub-contexts for http.Requests. See https://golang.org/pkg/context/
524// for more information on using Contexts.
525func (c *GuardDuty) CreateMembersWithContext(ctx aws.Context, input *CreateMembersInput, opts ...request.Option) (*CreateMembersOutput, error) {
526	req, out := c.CreateMembersRequest(input)
527	req.SetContext(ctx)
528	req.ApplyOptions(opts...)
529	return out, req.Send()
530}
531
532const opCreatePublishingDestination = "CreatePublishingDestination"
533
534// CreatePublishingDestinationRequest generates a "aws/request.Request" representing the
535// client's request for the CreatePublishingDestination operation. The "output" return
536// value will be populated with the request's response once the request completes
537// successfully.
538//
539// Use "Send" method on the returned Request to send the API call to the service.
540// the "output" return value is not valid until after Send returns without error.
541//
542// See CreatePublishingDestination for more information on using the CreatePublishingDestination
543// API call, and error handling.
544//
545// This method is useful when you want to inject custom logic or configuration
546// into the SDK's request lifecycle. Such as custom headers, or retry logic.
547//
548//
549//    // Example sending a request using the CreatePublishingDestinationRequest method.
550//    req, resp := client.CreatePublishingDestinationRequest(params)
551//
552//    err := req.Send()
553//    if err == nil { // resp is now filled
554//        fmt.Println(resp)
555//    }
556//
557// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreatePublishingDestination
558func (c *GuardDuty) CreatePublishingDestinationRequest(input *CreatePublishingDestinationInput) (req *request.Request, output *CreatePublishingDestinationOutput) {
559	op := &request.Operation{
560		Name:       opCreatePublishingDestination,
561		HTTPMethod: "POST",
562		HTTPPath:   "/detector/{detectorId}/publishingDestination",
563	}
564
565	if input == nil {
566		input = &CreatePublishingDestinationInput{}
567	}
568
569	output = &CreatePublishingDestinationOutput{}
570	req = c.newRequest(op, input, output)
571	return
572}
573
574// CreatePublishingDestination API operation for Amazon GuardDuty.
575//
576// Creates a publishing destination to export findings to. The resource to export
577// findings to must exist before you use this operation.
578//
579// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
580// with awserr.Error's Code and Message methods to get detailed information about
581// the error.
582//
583// See the AWS API reference guide for Amazon GuardDuty's
584// API operation CreatePublishingDestination for usage and error information.
585//
586// Returned Error Types:
587//   * BadRequestException
588//   A bad request exception object.
589//
590//   * InternalServerErrorException
591//   An internal server error exception object.
592//
593// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreatePublishingDestination
594func (c *GuardDuty) CreatePublishingDestination(input *CreatePublishingDestinationInput) (*CreatePublishingDestinationOutput, error) {
595	req, out := c.CreatePublishingDestinationRequest(input)
596	return out, req.Send()
597}
598
599// CreatePublishingDestinationWithContext is the same as CreatePublishingDestination with the addition of
600// the ability to pass a context and additional request options.
601//
602// See CreatePublishingDestination for details on how to use this API operation.
603//
604// The context must be non-nil and will be used for request cancellation. If
605// the context is nil a panic will occur. In the future the SDK may create
606// sub-contexts for http.Requests. See https://golang.org/pkg/context/
607// for more information on using Contexts.
608func (c *GuardDuty) CreatePublishingDestinationWithContext(ctx aws.Context, input *CreatePublishingDestinationInput, opts ...request.Option) (*CreatePublishingDestinationOutput, error) {
609	req, out := c.CreatePublishingDestinationRequest(input)
610	req.SetContext(ctx)
611	req.ApplyOptions(opts...)
612	return out, req.Send()
613}
614
615const opCreateSampleFindings = "CreateSampleFindings"
616
617// CreateSampleFindingsRequest generates a "aws/request.Request" representing the
618// client's request for the CreateSampleFindings operation. The "output" return
619// value will be populated with the request's response once the request completes
620// successfully.
621//
622// Use "Send" method on the returned Request to send the API call to the service.
623// the "output" return value is not valid until after Send returns without error.
624//
625// See CreateSampleFindings for more information on using the CreateSampleFindings
626// API call, and error handling.
627//
628// This method is useful when you want to inject custom logic or configuration
629// into the SDK's request lifecycle. Such as custom headers, or retry logic.
630//
631//
632//    // Example sending a request using the CreateSampleFindingsRequest method.
633//    req, resp := client.CreateSampleFindingsRequest(params)
634//
635//    err := req.Send()
636//    if err == nil { // resp is now filled
637//        fmt.Println(resp)
638//    }
639//
640// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateSampleFindings
641func (c *GuardDuty) CreateSampleFindingsRequest(input *CreateSampleFindingsInput) (req *request.Request, output *CreateSampleFindingsOutput) {
642	op := &request.Operation{
643		Name:       opCreateSampleFindings,
644		HTTPMethod: "POST",
645		HTTPPath:   "/detector/{detectorId}/findings/create",
646	}
647
648	if input == nil {
649		input = &CreateSampleFindingsInput{}
650	}
651
652	output = &CreateSampleFindingsOutput{}
653	req = c.newRequest(op, input, output)
654	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
655	return
656}
657
658// CreateSampleFindings API operation for Amazon GuardDuty.
659//
660// Generates example findings of types specified by the list of finding types.
661// If 'NULL' is specified for findingTypes, the API generates example findings
662// of all supported finding types.
663//
664// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
665// with awserr.Error's Code and Message methods to get detailed information about
666// the error.
667//
668// See the AWS API reference guide for Amazon GuardDuty's
669// API operation CreateSampleFindings for usage and error information.
670//
671// Returned Error Types:
672//   * BadRequestException
673//   A bad request exception object.
674//
675//   * InternalServerErrorException
676//   An internal server error exception object.
677//
678// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateSampleFindings
679func (c *GuardDuty) CreateSampleFindings(input *CreateSampleFindingsInput) (*CreateSampleFindingsOutput, error) {
680	req, out := c.CreateSampleFindingsRequest(input)
681	return out, req.Send()
682}
683
684// CreateSampleFindingsWithContext is the same as CreateSampleFindings with the addition of
685// the ability to pass a context and additional request options.
686//
687// See CreateSampleFindings for details on how to use this API operation.
688//
689// The context must be non-nil and will be used for request cancellation. If
690// the context is nil a panic will occur. In the future the SDK may create
691// sub-contexts for http.Requests. See https://golang.org/pkg/context/
692// for more information on using Contexts.
693func (c *GuardDuty) CreateSampleFindingsWithContext(ctx aws.Context, input *CreateSampleFindingsInput, opts ...request.Option) (*CreateSampleFindingsOutput, error) {
694	req, out := c.CreateSampleFindingsRequest(input)
695	req.SetContext(ctx)
696	req.ApplyOptions(opts...)
697	return out, req.Send()
698}
699
700const opCreateThreatIntelSet = "CreateThreatIntelSet"
701
702// CreateThreatIntelSetRequest generates a "aws/request.Request" representing the
703// client's request for the CreateThreatIntelSet operation. The "output" return
704// value will be populated with the request's response once the request completes
705// successfully.
706//
707// Use "Send" method on the returned Request to send the API call to the service.
708// the "output" return value is not valid until after Send returns without error.
709//
710// See CreateThreatIntelSet for more information on using the CreateThreatIntelSet
711// API call, and error handling.
712//
713// This method is useful when you want to inject custom logic or configuration
714// into the SDK's request lifecycle. Such as custom headers, or retry logic.
715//
716//
717//    // Example sending a request using the CreateThreatIntelSetRequest method.
718//    req, resp := client.CreateThreatIntelSetRequest(params)
719//
720//    err := req.Send()
721//    if err == nil { // resp is now filled
722//        fmt.Println(resp)
723//    }
724//
725// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateThreatIntelSet
726func (c *GuardDuty) CreateThreatIntelSetRequest(input *CreateThreatIntelSetInput) (req *request.Request, output *CreateThreatIntelSetOutput) {
727	op := &request.Operation{
728		Name:       opCreateThreatIntelSet,
729		HTTPMethod: "POST",
730		HTTPPath:   "/detector/{detectorId}/threatintelset",
731	}
732
733	if input == nil {
734		input = &CreateThreatIntelSetInput{}
735	}
736
737	output = &CreateThreatIntelSetOutput{}
738	req = c.newRequest(op, input, output)
739	return
740}
741
742// CreateThreatIntelSet API operation for Amazon GuardDuty.
743//
744// Creates a new ThreatIntelSet. ThreatIntelSets consist of known malicious
745// IP addresses. GuardDuty generates findings based on ThreatIntelSets. Only
746// users of the administrator account can use this operation.
747//
748// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
749// with awserr.Error's Code and Message methods to get detailed information about
750// the error.
751//
752// See the AWS API reference guide for Amazon GuardDuty's
753// API operation CreateThreatIntelSet for usage and error information.
754//
755// Returned Error Types:
756//   * BadRequestException
757//   A bad request exception object.
758//
759//   * InternalServerErrorException
760//   An internal server error exception object.
761//
762// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateThreatIntelSet
763func (c *GuardDuty) CreateThreatIntelSet(input *CreateThreatIntelSetInput) (*CreateThreatIntelSetOutput, error) {
764	req, out := c.CreateThreatIntelSetRequest(input)
765	return out, req.Send()
766}
767
768// CreateThreatIntelSetWithContext is the same as CreateThreatIntelSet with the addition of
769// the ability to pass a context and additional request options.
770//
771// See CreateThreatIntelSet for details on how to use this API operation.
772//
773// The context must be non-nil and will be used for request cancellation. If
774// the context is nil a panic will occur. In the future the SDK may create
775// sub-contexts for http.Requests. See https://golang.org/pkg/context/
776// for more information on using Contexts.
777func (c *GuardDuty) CreateThreatIntelSetWithContext(ctx aws.Context, input *CreateThreatIntelSetInput, opts ...request.Option) (*CreateThreatIntelSetOutput, error) {
778	req, out := c.CreateThreatIntelSetRequest(input)
779	req.SetContext(ctx)
780	req.ApplyOptions(opts...)
781	return out, req.Send()
782}
783
784const opDeclineInvitations = "DeclineInvitations"
785
786// DeclineInvitationsRequest generates a "aws/request.Request" representing the
787// client's request for the DeclineInvitations operation. The "output" return
788// value will be populated with the request's response once the request completes
789// successfully.
790//
791// Use "Send" method on the returned Request to send the API call to the service.
792// the "output" return value is not valid until after Send returns without error.
793//
794// See DeclineInvitations for more information on using the DeclineInvitations
795// API call, and error handling.
796//
797// This method is useful when you want to inject custom logic or configuration
798// into the SDK's request lifecycle. Such as custom headers, or retry logic.
799//
800//
801//    // Example sending a request using the DeclineInvitationsRequest method.
802//    req, resp := client.DeclineInvitationsRequest(params)
803//
804//    err := req.Send()
805//    if err == nil { // resp is now filled
806//        fmt.Println(resp)
807//    }
808//
809// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeclineInvitations
810func (c *GuardDuty) DeclineInvitationsRequest(input *DeclineInvitationsInput) (req *request.Request, output *DeclineInvitationsOutput) {
811	op := &request.Operation{
812		Name:       opDeclineInvitations,
813		HTTPMethod: "POST",
814		HTTPPath:   "/invitation/decline",
815	}
816
817	if input == nil {
818		input = &DeclineInvitationsInput{}
819	}
820
821	output = &DeclineInvitationsOutput{}
822	req = c.newRequest(op, input, output)
823	return
824}
825
826// DeclineInvitations API operation for Amazon GuardDuty.
827//
828// Declines invitations sent to the current member account by AWS accounts specified
829// by their account IDs.
830//
831// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
832// with awserr.Error's Code and Message methods to get detailed information about
833// the error.
834//
835// See the AWS API reference guide for Amazon GuardDuty's
836// API operation DeclineInvitations for usage and error information.
837//
838// Returned Error Types:
839//   * BadRequestException
840//   A bad request exception object.
841//
842//   * InternalServerErrorException
843//   An internal server error exception object.
844//
845// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeclineInvitations
846func (c *GuardDuty) DeclineInvitations(input *DeclineInvitationsInput) (*DeclineInvitationsOutput, error) {
847	req, out := c.DeclineInvitationsRequest(input)
848	return out, req.Send()
849}
850
851// DeclineInvitationsWithContext is the same as DeclineInvitations with the addition of
852// the ability to pass a context and additional request options.
853//
854// See DeclineInvitations for details on how to use this API operation.
855//
856// The context must be non-nil and will be used for request cancellation. If
857// the context is nil a panic will occur. In the future the SDK may create
858// sub-contexts for http.Requests. See https://golang.org/pkg/context/
859// for more information on using Contexts.
860func (c *GuardDuty) DeclineInvitationsWithContext(ctx aws.Context, input *DeclineInvitationsInput, opts ...request.Option) (*DeclineInvitationsOutput, error) {
861	req, out := c.DeclineInvitationsRequest(input)
862	req.SetContext(ctx)
863	req.ApplyOptions(opts...)
864	return out, req.Send()
865}
866
867const opDeleteDetector = "DeleteDetector"
868
869// DeleteDetectorRequest generates a "aws/request.Request" representing the
870// client's request for the DeleteDetector operation. The "output" return
871// value will be populated with the request's response once the request completes
872// successfully.
873//
874// Use "Send" method on the returned Request to send the API call to the service.
875// the "output" return value is not valid until after Send returns without error.
876//
877// See DeleteDetector for more information on using the DeleteDetector
878// API call, and error handling.
879//
880// This method is useful when you want to inject custom logic or configuration
881// into the SDK's request lifecycle. Such as custom headers, or retry logic.
882//
883//
884//    // Example sending a request using the DeleteDetectorRequest method.
885//    req, resp := client.DeleteDetectorRequest(params)
886//
887//    err := req.Send()
888//    if err == nil { // resp is now filled
889//        fmt.Println(resp)
890//    }
891//
892// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteDetector
893func (c *GuardDuty) DeleteDetectorRequest(input *DeleteDetectorInput) (req *request.Request, output *DeleteDetectorOutput) {
894	op := &request.Operation{
895		Name:       opDeleteDetector,
896		HTTPMethod: "DELETE",
897		HTTPPath:   "/detector/{detectorId}",
898	}
899
900	if input == nil {
901		input = &DeleteDetectorInput{}
902	}
903
904	output = &DeleteDetectorOutput{}
905	req = c.newRequest(op, input, output)
906	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
907	return
908}
909
910// DeleteDetector API operation for Amazon GuardDuty.
911//
912// Deletes an Amazon GuardDuty detector that is specified by the detector ID.
913//
914// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
915// with awserr.Error's Code and Message methods to get detailed information about
916// the error.
917//
918// See the AWS API reference guide for Amazon GuardDuty's
919// API operation DeleteDetector for usage and error information.
920//
921// Returned Error Types:
922//   * BadRequestException
923//   A bad request exception object.
924//
925//   * InternalServerErrorException
926//   An internal server error exception object.
927//
928// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteDetector
929func (c *GuardDuty) DeleteDetector(input *DeleteDetectorInput) (*DeleteDetectorOutput, error) {
930	req, out := c.DeleteDetectorRequest(input)
931	return out, req.Send()
932}
933
934// DeleteDetectorWithContext is the same as DeleteDetector with the addition of
935// the ability to pass a context and additional request options.
936//
937// See DeleteDetector for details on how to use this API operation.
938//
939// The context must be non-nil and will be used for request cancellation. If
940// the context is nil a panic will occur. In the future the SDK may create
941// sub-contexts for http.Requests. See https://golang.org/pkg/context/
942// for more information on using Contexts.
943func (c *GuardDuty) DeleteDetectorWithContext(ctx aws.Context, input *DeleteDetectorInput, opts ...request.Option) (*DeleteDetectorOutput, error) {
944	req, out := c.DeleteDetectorRequest(input)
945	req.SetContext(ctx)
946	req.ApplyOptions(opts...)
947	return out, req.Send()
948}
949
950const opDeleteFilter = "DeleteFilter"
951
952// DeleteFilterRequest generates a "aws/request.Request" representing the
953// client's request for the DeleteFilter operation. The "output" return
954// value will be populated with the request's response once the request completes
955// successfully.
956//
957// Use "Send" method on the returned Request to send the API call to the service.
958// the "output" return value is not valid until after Send returns without error.
959//
960// See DeleteFilter for more information on using the DeleteFilter
961// API call, and error handling.
962//
963// This method is useful when you want to inject custom logic or configuration
964// into the SDK's request lifecycle. Such as custom headers, or retry logic.
965//
966//
967//    // Example sending a request using the DeleteFilterRequest method.
968//    req, resp := client.DeleteFilterRequest(params)
969//
970//    err := req.Send()
971//    if err == nil { // resp is now filled
972//        fmt.Println(resp)
973//    }
974//
975// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteFilter
976func (c *GuardDuty) DeleteFilterRequest(input *DeleteFilterInput) (req *request.Request, output *DeleteFilterOutput) {
977	op := &request.Operation{
978		Name:       opDeleteFilter,
979		HTTPMethod: "DELETE",
980		HTTPPath:   "/detector/{detectorId}/filter/{filterName}",
981	}
982
983	if input == nil {
984		input = &DeleteFilterInput{}
985	}
986
987	output = &DeleteFilterOutput{}
988	req = c.newRequest(op, input, output)
989	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
990	return
991}
992
993// DeleteFilter API operation for Amazon GuardDuty.
994//
995// Deletes the filter specified by the filter name.
996//
997// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
998// with awserr.Error's Code and Message methods to get detailed information about
999// the error.
1000//
1001// See the AWS API reference guide for Amazon GuardDuty's
1002// API operation DeleteFilter for usage and error information.
1003//
1004// Returned Error Types:
1005//   * BadRequestException
1006//   A bad request exception object.
1007//
1008//   * InternalServerErrorException
1009//   An internal server error exception object.
1010//
1011// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteFilter
1012func (c *GuardDuty) DeleteFilter(input *DeleteFilterInput) (*DeleteFilterOutput, error) {
1013	req, out := c.DeleteFilterRequest(input)
1014	return out, req.Send()
1015}
1016
1017// DeleteFilterWithContext is the same as DeleteFilter with the addition of
1018// the ability to pass a context and additional request options.
1019//
1020// See DeleteFilter for details on how to use this API operation.
1021//
1022// The context must be non-nil and will be used for request cancellation. If
1023// the context is nil a panic will occur. In the future the SDK may create
1024// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1025// for more information on using Contexts.
1026func (c *GuardDuty) DeleteFilterWithContext(ctx aws.Context, input *DeleteFilterInput, opts ...request.Option) (*DeleteFilterOutput, error) {
1027	req, out := c.DeleteFilterRequest(input)
1028	req.SetContext(ctx)
1029	req.ApplyOptions(opts...)
1030	return out, req.Send()
1031}
1032
1033const opDeleteIPSet = "DeleteIPSet"
1034
1035// DeleteIPSetRequest generates a "aws/request.Request" representing the
1036// client's request for the DeleteIPSet operation. The "output" return
1037// value will be populated with the request's response once the request completes
1038// successfully.
1039//
1040// Use "Send" method on the returned Request to send the API call to the service.
1041// the "output" return value is not valid until after Send returns without error.
1042//
1043// See DeleteIPSet for more information on using the DeleteIPSet
1044// API call, and error handling.
1045//
1046// This method is useful when you want to inject custom logic or configuration
1047// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1048//
1049//
1050//    // Example sending a request using the DeleteIPSetRequest method.
1051//    req, resp := client.DeleteIPSetRequest(params)
1052//
1053//    err := req.Send()
1054//    if err == nil { // resp is now filled
1055//        fmt.Println(resp)
1056//    }
1057//
1058// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteIPSet
1059func (c *GuardDuty) DeleteIPSetRequest(input *DeleteIPSetInput) (req *request.Request, output *DeleteIPSetOutput) {
1060	op := &request.Operation{
1061		Name:       opDeleteIPSet,
1062		HTTPMethod: "DELETE",
1063		HTTPPath:   "/detector/{detectorId}/ipset/{ipSetId}",
1064	}
1065
1066	if input == nil {
1067		input = &DeleteIPSetInput{}
1068	}
1069
1070	output = &DeleteIPSetOutput{}
1071	req = c.newRequest(op, input, output)
1072	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1073	return
1074}
1075
1076// DeleteIPSet API operation for Amazon GuardDuty.
1077//
1078// Deletes the IPSet specified by the ipSetId. IPSets are called trusted IP
1079// lists in the console user interface.
1080//
1081// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1082// with awserr.Error's Code and Message methods to get detailed information about
1083// the error.
1084//
1085// See the AWS API reference guide for Amazon GuardDuty's
1086// API operation DeleteIPSet for usage and error information.
1087//
1088// Returned Error Types:
1089//   * BadRequestException
1090//   A bad request exception object.
1091//
1092//   * InternalServerErrorException
1093//   An internal server error exception object.
1094//
1095// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteIPSet
1096func (c *GuardDuty) DeleteIPSet(input *DeleteIPSetInput) (*DeleteIPSetOutput, error) {
1097	req, out := c.DeleteIPSetRequest(input)
1098	return out, req.Send()
1099}
1100
1101// DeleteIPSetWithContext is the same as DeleteIPSet with the addition of
1102// the ability to pass a context and additional request options.
1103//
1104// See DeleteIPSet for details on how to use this API operation.
1105//
1106// The context must be non-nil and will be used for request cancellation. If
1107// the context is nil a panic will occur. In the future the SDK may create
1108// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1109// for more information on using Contexts.
1110func (c *GuardDuty) DeleteIPSetWithContext(ctx aws.Context, input *DeleteIPSetInput, opts ...request.Option) (*DeleteIPSetOutput, error) {
1111	req, out := c.DeleteIPSetRequest(input)
1112	req.SetContext(ctx)
1113	req.ApplyOptions(opts...)
1114	return out, req.Send()
1115}
1116
1117const opDeleteInvitations = "DeleteInvitations"
1118
1119// DeleteInvitationsRequest generates a "aws/request.Request" representing the
1120// client's request for the DeleteInvitations operation. The "output" return
1121// value will be populated with the request's response once the request completes
1122// successfully.
1123//
1124// Use "Send" method on the returned Request to send the API call to the service.
1125// the "output" return value is not valid until after Send returns without error.
1126//
1127// See DeleteInvitations for more information on using the DeleteInvitations
1128// API call, and error handling.
1129//
1130// This method is useful when you want to inject custom logic or configuration
1131// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1132//
1133//
1134//    // Example sending a request using the DeleteInvitationsRequest method.
1135//    req, resp := client.DeleteInvitationsRequest(params)
1136//
1137//    err := req.Send()
1138//    if err == nil { // resp is now filled
1139//        fmt.Println(resp)
1140//    }
1141//
1142// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteInvitations
1143func (c *GuardDuty) DeleteInvitationsRequest(input *DeleteInvitationsInput) (req *request.Request, output *DeleteInvitationsOutput) {
1144	op := &request.Operation{
1145		Name:       opDeleteInvitations,
1146		HTTPMethod: "POST",
1147		HTTPPath:   "/invitation/delete",
1148	}
1149
1150	if input == nil {
1151		input = &DeleteInvitationsInput{}
1152	}
1153
1154	output = &DeleteInvitationsOutput{}
1155	req = c.newRequest(op, input, output)
1156	return
1157}
1158
1159// DeleteInvitations API operation for Amazon GuardDuty.
1160//
1161// Deletes invitations sent to the current member account by AWS accounts specified
1162// by their account IDs.
1163//
1164// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1165// with awserr.Error's Code and Message methods to get detailed information about
1166// the error.
1167//
1168// See the AWS API reference guide for Amazon GuardDuty's
1169// API operation DeleteInvitations for usage and error information.
1170//
1171// Returned Error Types:
1172//   * BadRequestException
1173//   A bad request exception object.
1174//
1175//   * InternalServerErrorException
1176//   An internal server error exception object.
1177//
1178// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteInvitations
1179func (c *GuardDuty) DeleteInvitations(input *DeleteInvitationsInput) (*DeleteInvitationsOutput, error) {
1180	req, out := c.DeleteInvitationsRequest(input)
1181	return out, req.Send()
1182}
1183
1184// DeleteInvitationsWithContext is the same as DeleteInvitations with the addition of
1185// the ability to pass a context and additional request options.
1186//
1187// See DeleteInvitations for details on how to use this API operation.
1188//
1189// The context must be non-nil and will be used for request cancellation. If
1190// the context is nil a panic will occur. In the future the SDK may create
1191// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1192// for more information on using Contexts.
1193func (c *GuardDuty) DeleteInvitationsWithContext(ctx aws.Context, input *DeleteInvitationsInput, opts ...request.Option) (*DeleteInvitationsOutput, error) {
1194	req, out := c.DeleteInvitationsRequest(input)
1195	req.SetContext(ctx)
1196	req.ApplyOptions(opts...)
1197	return out, req.Send()
1198}
1199
1200const opDeleteMembers = "DeleteMembers"
1201
1202// DeleteMembersRequest generates a "aws/request.Request" representing the
1203// client's request for the DeleteMembers operation. The "output" return
1204// value will be populated with the request's response once the request completes
1205// successfully.
1206//
1207// Use "Send" method on the returned Request to send the API call to the service.
1208// the "output" return value is not valid until after Send returns without error.
1209//
1210// See DeleteMembers for more information on using the DeleteMembers
1211// API call, and error handling.
1212//
1213// This method is useful when you want to inject custom logic or configuration
1214// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1215//
1216//
1217//    // Example sending a request using the DeleteMembersRequest method.
1218//    req, resp := client.DeleteMembersRequest(params)
1219//
1220//    err := req.Send()
1221//    if err == nil { // resp is now filled
1222//        fmt.Println(resp)
1223//    }
1224//
1225// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteMembers
1226func (c *GuardDuty) DeleteMembersRequest(input *DeleteMembersInput) (req *request.Request, output *DeleteMembersOutput) {
1227	op := &request.Operation{
1228		Name:       opDeleteMembers,
1229		HTTPMethod: "POST",
1230		HTTPPath:   "/detector/{detectorId}/member/delete",
1231	}
1232
1233	if input == nil {
1234		input = &DeleteMembersInput{}
1235	}
1236
1237	output = &DeleteMembersOutput{}
1238	req = c.newRequest(op, input, output)
1239	return
1240}
1241
1242// DeleteMembers API operation for Amazon GuardDuty.
1243//
1244// Deletes GuardDuty member accounts (to the current GuardDuty administrator
1245// account) specified by the account IDs.
1246//
1247// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1248// with awserr.Error's Code and Message methods to get detailed information about
1249// the error.
1250//
1251// See the AWS API reference guide for Amazon GuardDuty's
1252// API operation DeleteMembers for usage and error information.
1253//
1254// Returned Error Types:
1255//   * BadRequestException
1256//   A bad request exception object.
1257//
1258//   * InternalServerErrorException
1259//   An internal server error exception object.
1260//
1261// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteMembers
1262func (c *GuardDuty) DeleteMembers(input *DeleteMembersInput) (*DeleteMembersOutput, error) {
1263	req, out := c.DeleteMembersRequest(input)
1264	return out, req.Send()
1265}
1266
1267// DeleteMembersWithContext is the same as DeleteMembers with the addition of
1268// the ability to pass a context and additional request options.
1269//
1270// See DeleteMembers for details on how to use this API operation.
1271//
1272// The context must be non-nil and will be used for request cancellation. If
1273// the context is nil a panic will occur. In the future the SDK may create
1274// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1275// for more information on using Contexts.
1276func (c *GuardDuty) DeleteMembersWithContext(ctx aws.Context, input *DeleteMembersInput, opts ...request.Option) (*DeleteMembersOutput, error) {
1277	req, out := c.DeleteMembersRequest(input)
1278	req.SetContext(ctx)
1279	req.ApplyOptions(opts...)
1280	return out, req.Send()
1281}
1282
1283const opDeletePublishingDestination = "DeletePublishingDestination"
1284
1285// DeletePublishingDestinationRequest generates a "aws/request.Request" representing the
1286// client's request for the DeletePublishingDestination operation. The "output" return
1287// value will be populated with the request's response once the request completes
1288// successfully.
1289//
1290// Use "Send" method on the returned Request to send the API call to the service.
1291// the "output" return value is not valid until after Send returns without error.
1292//
1293// See DeletePublishingDestination for more information on using the DeletePublishingDestination
1294// API call, and error handling.
1295//
1296// This method is useful when you want to inject custom logic or configuration
1297// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1298//
1299//
1300//    // Example sending a request using the DeletePublishingDestinationRequest method.
1301//    req, resp := client.DeletePublishingDestinationRequest(params)
1302//
1303//    err := req.Send()
1304//    if err == nil { // resp is now filled
1305//        fmt.Println(resp)
1306//    }
1307//
1308// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeletePublishingDestination
1309func (c *GuardDuty) DeletePublishingDestinationRequest(input *DeletePublishingDestinationInput) (req *request.Request, output *DeletePublishingDestinationOutput) {
1310	op := &request.Operation{
1311		Name:       opDeletePublishingDestination,
1312		HTTPMethod: "DELETE",
1313		HTTPPath:   "/detector/{detectorId}/publishingDestination/{destinationId}",
1314	}
1315
1316	if input == nil {
1317		input = &DeletePublishingDestinationInput{}
1318	}
1319
1320	output = &DeletePublishingDestinationOutput{}
1321	req = c.newRequest(op, input, output)
1322	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1323	return
1324}
1325
1326// DeletePublishingDestination API operation for Amazon GuardDuty.
1327//
1328// Deletes the publishing definition with the specified destinationId.
1329//
1330// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1331// with awserr.Error's Code and Message methods to get detailed information about
1332// the error.
1333//
1334// See the AWS API reference guide for Amazon GuardDuty's
1335// API operation DeletePublishingDestination for usage and error information.
1336//
1337// Returned Error Types:
1338//   * BadRequestException
1339//   A bad request exception object.
1340//
1341//   * InternalServerErrorException
1342//   An internal server error exception object.
1343//
1344// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeletePublishingDestination
1345func (c *GuardDuty) DeletePublishingDestination(input *DeletePublishingDestinationInput) (*DeletePublishingDestinationOutput, error) {
1346	req, out := c.DeletePublishingDestinationRequest(input)
1347	return out, req.Send()
1348}
1349
1350// DeletePublishingDestinationWithContext is the same as DeletePublishingDestination with the addition of
1351// the ability to pass a context and additional request options.
1352//
1353// See DeletePublishingDestination for details on how to use this API operation.
1354//
1355// The context must be non-nil and will be used for request cancellation. If
1356// the context is nil a panic will occur. In the future the SDK may create
1357// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1358// for more information on using Contexts.
1359func (c *GuardDuty) DeletePublishingDestinationWithContext(ctx aws.Context, input *DeletePublishingDestinationInput, opts ...request.Option) (*DeletePublishingDestinationOutput, error) {
1360	req, out := c.DeletePublishingDestinationRequest(input)
1361	req.SetContext(ctx)
1362	req.ApplyOptions(opts...)
1363	return out, req.Send()
1364}
1365
1366const opDeleteThreatIntelSet = "DeleteThreatIntelSet"
1367
1368// DeleteThreatIntelSetRequest generates a "aws/request.Request" representing the
1369// client's request for the DeleteThreatIntelSet operation. The "output" return
1370// value will be populated with the request's response once the request completes
1371// successfully.
1372//
1373// Use "Send" method on the returned Request to send the API call to the service.
1374// the "output" return value is not valid until after Send returns without error.
1375//
1376// See DeleteThreatIntelSet for more information on using the DeleteThreatIntelSet
1377// API call, and error handling.
1378//
1379// This method is useful when you want to inject custom logic or configuration
1380// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1381//
1382//
1383//    // Example sending a request using the DeleteThreatIntelSetRequest method.
1384//    req, resp := client.DeleteThreatIntelSetRequest(params)
1385//
1386//    err := req.Send()
1387//    if err == nil { // resp is now filled
1388//        fmt.Println(resp)
1389//    }
1390//
1391// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteThreatIntelSet
1392func (c *GuardDuty) DeleteThreatIntelSetRequest(input *DeleteThreatIntelSetInput) (req *request.Request, output *DeleteThreatIntelSetOutput) {
1393	op := &request.Operation{
1394		Name:       opDeleteThreatIntelSet,
1395		HTTPMethod: "DELETE",
1396		HTTPPath:   "/detector/{detectorId}/threatintelset/{threatIntelSetId}",
1397	}
1398
1399	if input == nil {
1400		input = &DeleteThreatIntelSetInput{}
1401	}
1402
1403	output = &DeleteThreatIntelSetOutput{}
1404	req = c.newRequest(op, input, output)
1405	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1406	return
1407}
1408
1409// DeleteThreatIntelSet API operation for Amazon GuardDuty.
1410//
1411// Deletes the ThreatIntelSet specified by the ThreatIntelSet ID.
1412//
1413// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1414// with awserr.Error's Code and Message methods to get detailed information about
1415// the error.
1416//
1417// See the AWS API reference guide for Amazon GuardDuty's
1418// API operation DeleteThreatIntelSet for usage and error information.
1419//
1420// Returned Error Types:
1421//   * BadRequestException
1422//   A bad request exception object.
1423//
1424//   * InternalServerErrorException
1425//   An internal server error exception object.
1426//
1427// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteThreatIntelSet
1428func (c *GuardDuty) DeleteThreatIntelSet(input *DeleteThreatIntelSetInput) (*DeleteThreatIntelSetOutput, error) {
1429	req, out := c.DeleteThreatIntelSetRequest(input)
1430	return out, req.Send()
1431}
1432
1433// DeleteThreatIntelSetWithContext is the same as DeleteThreatIntelSet with the addition of
1434// the ability to pass a context and additional request options.
1435//
1436// See DeleteThreatIntelSet for details on how to use this API operation.
1437//
1438// The context must be non-nil and will be used for request cancellation. If
1439// the context is nil a panic will occur. In the future the SDK may create
1440// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1441// for more information on using Contexts.
1442func (c *GuardDuty) DeleteThreatIntelSetWithContext(ctx aws.Context, input *DeleteThreatIntelSetInput, opts ...request.Option) (*DeleteThreatIntelSetOutput, error) {
1443	req, out := c.DeleteThreatIntelSetRequest(input)
1444	req.SetContext(ctx)
1445	req.ApplyOptions(opts...)
1446	return out, req.Send()
1447}
1448
1449const opDescribeOrganizationConfiguration = "DescribeOrganizationConfiguration"
1450
1451// DescribeOrganizationConfigurationRequest generates a "aws/request.Request" representing the
1452// client's request for the DescribeOrganizationConfiguration operation. The "output" return
1453// value will be populated with the request's response once the request completes
1454// successfully.
1455//
1456// Use "Send" method on the returned Request to send the API call to the service.
1457// the "output" return value is not valid until after Send returns without error.
1458//
1459// See DescribeOrganizationConfiguration for more information on using the DescribeOrganizationConfiguration
1460// API call, and error handling.
1461//
1462// This method is useful when you want to inject custom logic or configuration
1463// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1464//
1465//
1466//    // Example sending a request using the DescribeOrganizationConfigurationRequest method.
1467//    req, resp := client.DescribeOrganizationConfigurationRequest(params)
1468//
1469//    err := req.Send()
1470//    if err == nil { // resp is now filled
1471//        fmt.Println(resp)
1472//    }
1473//
1474// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribeOrganizationConfiguration
1475func (c *GuardDuty) DescribeOrganizationConfigurationRequest(input *DescribeOrganizationConfigurationInput) (req *request.Request, output *DescribeOrganizationConfigurationOutput) {
1476	op := &request.Operation{
1477		Name:       opDescribeOrganizationConfiguration,
1478		HTTPMethod: "GET",
1479		HTTPPath:   "/detector/{detectorId}/admin",
1480	}
1481
1482	if input == nil {
1483		input = &DescribeOrganizationConfigurationInput{}
1484	}
1485
1486	output = &DescribeOrganizationConfigurationOutput{}
1487	req = c.newRequest(op, input, output)
1488	return
1489}
1490
1491// DescribeOrganizationConfiguration API operation for Amazon GuardDuty.
1492//
1493// Returns information about the account selected as the delegated administrator
1494// for GuardDuty.
1495//
1496// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1497// with awserr.Error's Code and Message methods to get detailed information about
1498// the error.
1499//
1500// See the AWS API reference guide for Amazon GuardDuty's
1501// API operation DescribeOrganizationConfiguration for usage and error information.
1502//
1503// Returned Error Types:
1504//   * BadRequestException
1505//   A bad request exception object.
1506//
1507//   * InternalServerErrorException
1508//   An internal server error exception object.
1509//
1510// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribeOrganizationConfiguration
1511func (c *GuardDuty) DescribeOrganizationConfiguration(input *DescribeOrganizationConfigurationInput) (*DescribeOrganizationConfigurationOutput, error) {
1512	req, out := c.DescribeOrganizationConfigurationRequest(input)
1513	return out, req.Send()
1514}
1515
1516// DescribeOrganizationConfigurationWithContext is the same as DescribeOrganizationConfiguration with the addition of
1517// the ability to pass a context and additional request options.
1518//
1519// See DescribeOrganizationConfiguration for details on how to use this API operation.
1520//
1521// The context must be non-nil and will be used for request cancellation. If
1522// the context is nil a panic will occur. In the future the SDK may create
1523// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1524// for more information on using Contexts.
1525func (c *GuardDuty) DescribeOrganizationConfigurationWithContext(ctx aws.Context, input *DescribeOrganizationConfigurationInput, opts ...request.Option) (*DescribeOrganizationConfigurationOutput, error) {
1526	req, out := c.DescribeOrganizationConfigurationRequest(input)
1527	req.SetContext(ctx)
1528	req.ApplyOptions(opts...)
1529	return out, req.Send()
1530}
1531
1532const opDescribePublishingDestination = "DescribePublishingDestination"
1533
1534// DescribePublishingDestinationRequest generates a "aws/request.Request" representing the
1535// client's request for the DescribePublishingDestination operation. The "output" return
1536// value will be populated with the request's response once the request completes
1537// successfully.
1538//
1539// Use "Send" method on the returned Request to send the API call to the service.
1540// the "output" return value is not valid until after Send returns without error.
1541//
1542// See DescribePublishingDestination for more information on using the DescribePublishingDestination
1543// API call, and error handling.
1544//
1545// This method is useful when you want to inject custom logic or configuration
1546// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1547//
1548//
1549//    // Example sending a request using the DescribePublishingDestinationRequest method.
1550//    req, resp := client.DescribePublishingDestinationRequest(params)
1551//
1552//    err := req.Send()
1553//    if err == nil { // resp is now filled
1554//        fmt.Println(resp)
1555//    }
1556//
1557// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribePublishingDestination
1558func (c *GuardDuty) DescribePublishingDestinationRequest(input *DescribePublishingDestinationInput) (req *request.Request, output *DescribePublishingDestinationOutput) {
1559	op := &request.Operation{
1560		Name:       opDescribePublishingDestination,
1561		HTTPMethod: "GET",
1562		HTTPPath:   "/detector/{detectorId}/publishingDestination/{destinationId}",
1563	}
1564
1565	if input == nil {
1566		input = &DescribePublishingDestinationInput{}
1567	}
1568
1569	output = &DescribePublishingDestinationOutput{}
1570	req = c.newRequest(op, input, output)
1571	return
1572}
1573
1574// DescribePublishingDestination API operation for Amazon GuardDuty.
1575//
1576// Returns information about the publishing destination specified by the provided
1577// destinationId.
1578//
1579// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1580// with awserr.Error's Code and Message methods to get detailed information about
1581// the error.
1582//
1583// See the AWS API reference guide for Amazon GuardDuty's
1584// API operation DescribePublishingDestination for usage and error information.
1585//
1586// Returned Error Types:
1587//   * BadRequestException
1588//   A bad request exception object.
1589//
1590//   * InternalServerErrorException
1591//   An internal server error exception object.
1592//
1593// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribePublishingDestination
1594func (c *GuardDuty) DescribePublishingDestination(input *DescribePublishingDestinationInput) (*DescribePublishingDestinationOutput, error) {
1595	req, out := c.DescribePublishingDestinationRequest(input)
1596	return out, req.Send()
1597}
1598
1599// DescribePublishingDestinationWithContext is the same as DescribePublishingDestination with the addition of
1600// the ability to pass a context and additional request options.
1601//
1602// See DescribePublishingDestination for details on how to use this API operation.
1603//
1604// The context must be non-nil and will be used for request cancellation. If
1605// the context is nil a panic will occur. In the future the SDK may create
1606// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1607// for more information on using Contexts.
1608func (c *GuardDuty) DescribePublishingDestinationWithContext(ctx aws.Context, input *DescribePublishingDestinationInput, opts ...request.Option) (*DescribePublishingDestinationOutput, error) {
1609	req, out := c.DescribePublishingDestinationRequest(input)
1610	req.SetContext(ctx)
1611	req.ApplyOptions(opts...)
1612	return out, req.Send()
1613}
1614
1615const opDisableOrganizationAdminAccount = "DisableOrganizationAdminAccount"
1616
1617// DisableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
1618// client's request for the DisableOrganizationAdminAccount operation. The "output" return
1619// value will be populated with the request's response once the request completes
1620// successfully.
1621//
1622// Use "Send" method on the returned Request to send the API call to the service.
1623// the "output" return value is not valid until after Send returns without error.
1624//
1625// See DisableOrganizationAdminAccount for more information on using the DisableOrganizationAdminAccount
1626// API call, and error handling.
1627//
1628// This method is useful when you want to inject custom logic or configuration
1629// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1630//
1631//
1632//    // Example sending a request using the DisableOrganizationAdminAccountRequest method.
1633//    req, resp := client.DisableOrganizationAdminAccountRequest(params)
1634//
1635//    err := req.Send()
1636//    if err == nil { // resp is now filled
1637//        fmt.Println(resp)
1638//    }
1639//
1640// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisableOrganizationAdminAccount
1641func (c *GuardDuty) DisableOrganizationAdminAccountRequest(input *DisableOrganizationAdminAccountInput) (req *request.Request, output *DisableOrganizationAdminAccountOutput) {
1642	op := &request.Operation{
1643		Name:       opDisableOrganizationAdminAccount,
1644		HTTPMethod: "POST",
1645		HTTPPath:   "/admin/disable",
1646	}
1647
1648	if input == nil {
1649		input = &DisableOrganizationAdminAccountInput{}
1650	}
1651
1652	output = &DisableOrganizationAdminAccountOutput{}
1653	req = c.newRequest(op, input, output)
1654	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1655	return
1656}
1657
1658// DisableOrganizationAdminAccount API operation for Amazon GuardDuty.
1659//
1660// Disables an AWS account within the Organization as the GuardDuty delegated
1661// administrator.
1662//
1663// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1664// with awserr.Error's Code and Message methods to get detailed information about
1665// the error.
1666//
1667// See the AWS API reference guide for Amazon GuardDuty's
1668// API operation DisableOrganizationAdminAccount for usage and error information.
1669//
1670// Returned Error Types:
1671//   * BadRequestException
1672//   A bad request exception object.
1673//
1674//   * InternalServerErrorException
1675//   An internal server error exception object.
1676//
1677// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisableOrganizationAdminAccount
1678func (c *GuardDuty) DisableOrganizationAdminAccount(input *DisableOrganizationAdminAccountInput) (*DisableOrganizationAdminAccountOutput, error) {
1679	req, out := c.DisableOrganizationAdminAccountRequest(input)
1680	return out, req.Send()
1681}
1682
1683// DisableOrganizationAdminAccountWithContext is the same as DisableOrganizationAdminAccount with the addition of
1684// the ability to pass a context and additional request options.
1685//
1686// See DisableOrganizationAdminAccount for details on how to use this API operation.
1687//
1688// The context must be non-nil and will be used for request cancellation. If
1689// the context is nil a panic will occur. In the future the SDK may create
1690// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1691// for more information on using Contexts.
1692func (c *GuardDuty) DisableOrganizationAdminAccountWithContext(ctx aws.Context, input *DisableOrganizationAdminAccountInput, opts ...request.Option) (*DisableOrganizationAdminAccountOutput, error) {
1693	req, out := c.DisableOrganizationAdminAccountRequest(input)
1694	req.SetContext(ctx)
1695	req.ApplyOptions(opts...)
1696	return out, req.Send()
1697}
1698
1699const opDisassociateFromMasterAccount = "DisassociateFromMasterAccount"
1700
1701// DisassociateFromMasterAccountRequest generates a "aws/request.Request" representing the
1702// client's request for the DisassociateFromMasterAccount operation. The "output" return
1703// value will be populated with the request's response once the request completes
1704// successfully.
1705//
1706// Use "Send" method on the returned Request to send the API call to the service.
1707// the "output" return value is not valid until after Send returns without error.
1708//
1709// See DisassociateFromMasterAccount for more information on using the DisassociateFromMasterAccount
1710// API call, and error handling.
1711//
1712// This method is useful when you want to inject custom logic or configuration
1713// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1714//
1715//
1716//    // Example sending a request using the DisassociateFromMasterAccountRequest method.
1717//    req, resp := client.DisassociateFromMasterAccountRequest(params)
1718//
1719//    err := req.Send()
1720//    if err == nil { // resp is now filled
1721//        fmt.Println(resp)
1722//    }
1723//
1724// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateFromMasterAccount
1725func (c *GuardDuty) DisassociateFromMasterAccountRequest(input *DisassociateFromMasterAccountInput) (req *request.Request, output *DisassociateFromMasterAccountOutput) {
1726	op := &request.Operation{
1727		Name:       opDisassociateFromMasterAccount,
1728		HTTPMethod: "POST",
1729		HTTPPath:   "/detector/{detectorId}/master/disassociate",
1730	}
1731
1732	if input == nil {
1733		input = &DisassociateFromMasterAccountInput{}
1734	}
1735
1736	output = &DisassociateFromMasterAccountOutput{}
1737	req = c.newRequest(op, input, output)
1738	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1739	return
1740}
1741
1742// DisassociateFromMasterAccount API operation for Amazon GuardDuty.
1743//
1744// Disassociates the current GuardDuty member account from its administrator
1745// account.
1746//
1747// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1748// with awserr.Error's Code and Message methods to get detailed information about
1749// the error.
1750//
1751// See the AWS API reference guide for Amazon GuardDuty's
1752// API operation DisassociateFromMasterAccount for usage and error information.
1753//
1754// Returned Error Types:
1755//   * BadRequestException
1756//   A bad request exception object.
1757//
1758//   * InternalServerErrorException
1759//   An internal server error exception object.
1760//
1761// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateFromMasterAccount
1762func (c *GuardDuty) DisassociateFromMasterAccount(input *DisassociateFromMasterAccountInput) (*DisassociateFromMasterAccountOutput, error) {
1763	req, out := c.DisassociateFromMasterAccountRequest(input)
1764	return out, req.Send()
1765}
1766
1767// DisassociateFromMasterAccountWithContext is the same as DisassociateFromMasterAccount with the addition of
1768// the ability to pass a context and additional request options.
1769//
1770// See DisassociateFromMasterAccount for details on how to use this API operation.
1771//
1772// The context must be non-nil and will be used for request cancellation. If
1773// the context is nil a panic will occur. In the future the SDK may create
1774// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1775// for more information on using Contexts.
1776func (c *GuardDuty) DisassociateFromMasterAccountWithContext(ctx aws.Context, input *DisassociateFromMasterAccountInput, opts ...request.Option) (*DisassociateFromMasterAccountOutput, error) {
1777	req, out := c.DisassociateFromMasterAccountRequest(input)
1778	req.SetContext(ctx)
1779	req.ApplyOptions(opts...)
1780	return out, req.Send()
1781}
1782
1783const opDisassociateMembers = "DisassociateMembers"
1784
1785// DisassociateMembersRequest generates a "aws/request.Request" representing the
1786// client's request for the DisassociateMembers operation. The "output" return
1787// value will be populated with the request's response once the request completes
1788// successfully.
1789//
1790// Use "Send" method on the returned Request to send the API call to the service.
1791// the "output" return value is not valid until after Send returns without error.
1792//
1793// See DisassociateMembers for more information on using the DisassociateMembers
1794// API call, and error handling.
1795//
1796// This method is useful when you want to inject custom logic or configuration
1797// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1798//
1799//
1800//    // Example sending a request using the DisassociateMembersRequest method.
1801//    req, resp := client.DisassociateMembersRequest(params)
1802//
1803//    err := req.Send()
1804//    if err == nil { // resp is now filled
1805//        fmt.Println(resp)
1806//    }
1807//
1808// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateMembers
1809func (c *GuardDuty) DisassociateMembersRequest(input *DisassociateMembersInput) (req *request.Request, output *DisassociateMembersOutput) {
1810	op := &request.Operation{
1811		Name:       opDisassociateMembers,
1812		HTTPMethod: "POST",
1813		HTTPPath:   "/detector/{detectorId}/member/disassociate",
1814	}
1815
1816	if input == nil {
1817		input = &DisassociateMembersInput{}
1818	}
1819
1820	output = &DisassociateMembersOutput{}
1821	req = c.newRequest(op, input, output)
1822	return
1823}
1824
1825// DisassociateMembers API operation for Amazon GuardDuty.
1826//
1827// Disassociates GuardDuty member accounts (to the current GuardDuty administrator
1828// account) specified by the account IDs.
1829//
1830// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1831// with awserr.Error's Code and Message methods to get detailed information about
1832// the error.
1833//
1834// See the AWS API reference guide for Amazon GuardDuty's
1835// API operation DisassociateMembers for usage and error information.
1836//
1837// Returned Error Types:
1838//   * BadRequestException
1839//   A bad request exception object.
1840//
1841//   * InternalServerErrorException
1842//   An internal server error exception object.
1843//
1844// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateMembers
1845func (c *GuardDuty) DisassociateMembers(input *DisassociateMembersInput) (*DisassociateMembersOutput, error) {
1846	req, out := c.DisassociateMembersRequest(input)
1847	return out, req.Send()
1848}
1849
1850// DisassociateMembersWithContext is the same as DisassociateMembers with the addition of
1851// the ability to pass a context and additional request options.
1852//
1853// See DisassociateMembers for details on how to use this API operation.
1854//
1855// The context must be non-nil and will be used for request cancellation. If
1856// the context is nil a panic will occur. In the future the SDK may create
1857// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1858// for more information on using Contexts.
1859func (c *GuardDuty) DisassociateMembersWithContext(ctx aws.Context, input *DisassociateMembersInput, opts ...request.Option) (*DisassociateMembersOutput, error) {
1860	req, out := c.DisassociateMembersRequest(input)
1861	req.SetContext(ctx)
1862	req.ApplyOptions(opts...)
1863	return out, req.Send()
1864}
1865
1866const opEnableOrganizationAdminAccount = "EnableOrganizationAdminAccount"
1867
1868// EnableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
1869// client's request for the EnableOrganizationAdminAccount operation. The "output" return
1870// value will be populated with the request's response once the request completes
1871// successfully.
1872//
1873// Use "Send" method on the returned Request to send the API call to the service.
1874// the "output" return value is not valid until after Send returns without error.
1875//
1876// See EnableOrganizationAdminAccount for more information on using the EnableOrganizationAdminAccount
1877// API call, and error handling.
1878//
1879// This method is useful when you want to inject custom logic or configuration
1880// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1881//
1882//
1883//    // Example sending a request using the EnableOrganizationAdminAccountRequest method.
1884//    req, resp := client.EnableOrganizationAdminAccountRequest(params)
1885//
1886//    err := req.Send()
1887//    if err == nil { // resp is now filled
1888//        fmt.Println(resp)
1889//    }
1890//
1891// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/EnableOrganizationAdminAccount
1892func (c *GuardDuty) EnableOrganizationAdminAccountRequest(input *EnableOrganizationAdminAccountInput) (req *request.Request, output *EnableOrganizationAdminAccountOutput) {
1893	op := &request.Operation{
1894		Name:       opEnableOrganizationAdminAccount,
1895		HTTPMethod: "POST",
1896		HTTPPath:   "/admin/enable",
1897	}
1898
1899	if input == nil {
1900		input = &EnableOrganizationAdminAccountInput{}
1901	}
1902
1903	output = &EnableOrganizationAdminAccountOutput{}
1904	req = c.newRequest(op, input, output)
1905	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1906	return
1907}
1908
1909// EnableOrganizationAdminAccount API operation for Amazon GuardDuty.
1910//
1911// Enables an AWS account within the organization as the GuardDuty delegated
1912// administrator.
1913//
1914// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1915// with awserr.Error's Code and Message methods to get detailed information about
1916// the error.
1917//
1918// See the AWS API reference guide for Amazon GuardDuty's
1919// API operation EnableOrganizationAdminAccount for usage and error information.
1920//
1921// Returned Error Types:
1922//   * BadRequestException
1923//   A bad request exception object.
1924//
1925//   * InternalServerErrorException
1926//   An internal server error exception object.
1927//
1928// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/EnableOrganizationAdminAccount
1929func (c *GuardDuty) EnableOrganizationAdminAccount(input *EnableOrganizationAdminAccountInput) (*EnableOrganizationAdminAccountOutput, error) {
1930	req, out := c.EnableOrganizationAdminAccountRequest(input)
1931	return out, req.Send()
1932}
1933
1934// EnableOrganizationAdminAccountWithContext is the same as EnableOrganizationAdminAccount with the addition of
1935// the ability to pass a context and additional request options.
1936//
1937// See EnableOrganizationAdminAccount for details on how to use this API operation.
1938//
1939// The context must be non-nil and will be used for request cancellation. If
1940// the context is nil a panic will occur. In the future the SDK may create
1941// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1942// for more information on using Contexts.
1943func (c *GuardDuty) EnableOrganizationAdminAccountWithContext(ctx aws.Context, input *EnableOrganizationAdminAccountInput, opts ...request.Option) (*EnableOrganizationAdminAccountOutput, error) {
1944	req, out := c.EnableOrganizationAdminAccountRequest(input)
1945	req.SetContext(ctx)
1946	req.ApplyOptions(opts...)
1947	return out, req.Send()
1948}
1949
1950const opGetDetector = "GetDetector"
1951
1952// GetDetectorRequest generates a "aws/request.Request" representing the
1953// client's request for the GetDetector operation. The "output" return
1954// value will be populated with the request's response once the request completes
1955// successfully.
1956//
1957// Use "Send" method on the returned Request to send the API call to the service.
1958// the "output" return value is not valid until after Send returns without error.
1959//
1960// See GetDetector for more information on using the GetDetector
1961// API call, and error handling.
1962//
1963// This method is useful when you want to inject custom logic or configuration
1964// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1965//
1966//
1967//    // Example sending a request using the GetDetectorRequest method.
1968//    req, resp := client.GetDetectorRequest(params)
1969//
1970//    err := req.Send()
1971//    if err == nil { // resp is now filled
1972//        fmt.Println(resp)
1973//    }
1974//
1975// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetDetector
1976func (c *GuardDuty) GetDetectorRequest(input *GetDetectorInput) (req *request.Request, output *GetDetectorOutput) {
1977	op := &request.Operation{
1978		Name:       opGetDetector,
1979		HTTPMethod: "GET",
1980		HTTPPath:   "/detector/{detectorId}",
1981	}
1982
1983	if input == nil {
1984		input = &GetDetectorInput{}
1985	}
1986
1987	output = &GetDetectorOutput{}
1988	req = c.newRequest(op, input, output)
1989	return
1990}
1991
1992// GetDetector API operation for Amazon GuardDuty.
1993//
1994// Retrieves an Amazon GuardDuty detector specified by the detectorId.
1995//
1996// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1997// with awserr.Error's Code and Message methods to get detailed information about
1998// the error.
1999//
2000// See the AWS API reference guide for Amazon GuardDuty's
2001// API operation GetDetector for usage and error information.
2002//
2003// Returned Error Types:
2004//   * BadRequestException
2005//   A bad request exception object.
2006//
2007//   * InternalServerErrorException
2008//   An internal server error exception object.
2009//
2010// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetDetector
2011func (c *GuardDuty) GetDetector(input *GetDetectorInput) (*GetDetectorOutput, error) {
2012	req, out := c.GetDetectorRequest(input)
2013	return out, req.Send()
2014}
2015
2016// GetDetectorWithContext is the same as GetDetector with the addition of
2017// the ability to pass a context and additional request options.
2018//
2019// See GetDetector for details on how to use this API operation.
2020//
2021// The context must be non-nil and will be used for request cancellation. If
2022// the context is nil a panic will occur. In the future the SDK may create
2023// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2024// for more information on using Contexts.
2025func (c *GuardDuty) GetDetectorWithContext(ctx aws.Context, input *GetDetectorInput, opts ...request.Option) (*GetDetectorOutput, error) {
2026	req, out := c.GetDetectorRequest(input)
2027	req.SetContext(ctx)
2028	req.ApplyOptions(opts...)
2029	return out, req.Send()
2030}
2031
2032const opGetFilter = "GetFilter"
2033
2034// GetFilterRequest generates a "aws/request.Request" representing the
2035// client's request for the GetFilter operation. The "output" return
2036// value will be populated with the request's response once the request completes
2037// successfully.
2038//
2039// Use "Send" method on the returned Request to send the API call to the service.
2040// the "output" return value is not valid until after Send returns without error.
2041//
2042// See GetFilter for more information on using the GetFilter
2043// API call, and error handling.
2044//
2045// This method is useful when you want to inject custom logic or configuration
2046// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2047//
2048//
2049//    // Example sending a request using the GetFilterRequest method.
2050//    req, resp := client.GetFilterRequest(params)
2051//
2052//    err := req.Send()
2053//    if err == nil { // resp is now filled
2054//        fmt.Println(resp)
2055//    }
2056//
2057// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFilter
2058func (c *GuardDuty) GetFilterRequest(input *GetFilterInput) (req *request.Request, output *GetFilterOutput) {
2059	op := &request.Operation{
2060		Name:       opGetFilter,
2061		HTTPMethod: "GET",
2062		HTTPPath:   "/detector/{detectorId}/filter/{filterName}",
2063	}
2064
2065	if input == nil {
2066		input = &GetFilterInput{}
2067	}
2068
2069	output = &GetFilterOutput{}
2070	req = c.newRequest(op, input, output)
2071	return
2072}
2073
2074// GetFilter API operation for Amazon GuardDuty.
2075//
2076// Returns the details of the filter specified by the filter name.
2077//
2078// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2079// with awserr.Error's Code and Message methods to get detailed information about
2080// the error.
2081//
2082// See the AWS API reference guide for Amazon GuardDuty's
2083// API operation GetFilter for usage and error information.
2084//
2085// Returned Error Types:
2086//   * BadRequestException
2087//   A bad request exception object.
2088//
2089//   * InternalServerErrorException
2090//   An internal server error exception object.
2091//
2092// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFilter
2093func (c *GuardDuty) GetFilter(input *GetFilterInput) (*GetFilterOutput, error) {
2094	req, out := c.GetFilterRequest(input)
2095	return out, req.Send()
2096}
2097
2098// GetFilterWithContext is the same as GetFilter with the addition of
2099// the ability to pass a context and additional request options.
2100//
2101// See GetFilter for details on how to use this API operation.
2102//
2103// The context must be non-nil and will be used for request cancellation. If
2104// the context is nil a panic will occur. In the future the SDK may create
2105// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2106// for more information on using Contexts.
2107func (c *GuardDuty) GetFilterWithContext(ctx aws.Context, input *GetFilterInput, opts ...request.Option) (*GetFilterOutput, error) {
2108	req, out := c.GetFilterRequest(input)
2109	req.SetContext(ctx)
2110	req.ApplyOptions(opts...)
2111	return out, req.Send()
2112}
2113
2114const opGetFindings = "GetFindings"
2115
2116// GetFindingsRequest generates a "aws/request.Request" representing the
2117// client's request for the GetFindings operation. The "output" return
2118// value will be populated with the request's response once the request completes
2119// successfully.
2120//
2121// Use "Send" method on the returned Request to send the API call to the service.
2122// the "output" return value is not valid until after Send returns without error.
2123//
2124// See GetFindings for more information on using the GetFindings
2125// API call, and error handling.
2126//
2127// This method is useful when you want to inject custom logic or configuration
2128// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2129//
2130//
2131//    // Example sending a request using the GetFindingsRequest method.
2132//    req, resp := client.GetFindingsRequest(params)
2133//
2134//    err := req.Send()
2135//    if err == nil { // resp is now filled
2136//        fmt.Println(resp)
2137//    }
2138//
2139// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFindings
2140func (c *GuardDuty) GetFindingsRequest(input *GetFindingsInput) (req *request.Request, output *GetFindingsOutput) {
2141	op := &request.Operation{
2142		Name:       opGetFindings,
2143		HTTPMethod: "POST",
2144		HTTPPath:   "/detector/{detectorId}/findings/get",
2145	}
2146
2147	if input == nil {
2148		input = &GetFindingsInput{}
2149	}
2150
2151	output = &GetFindingsOutput{}
2152	req = c.newRequest(op, input, output)
2153	return
2154}
2155
2156// GetFindings API operation for Amazon GuardDuty.
2157//
2158// Describes Amazon GuardDuty findings specified by finding IDs.
2159//
2160// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2161// with awserr.Error's Code and Message methods to get detailed information about
2162// the error.
2163//
2164// See the AWS API reference guide for Amazon GuardDuty's
2165// API operation GetFindings for usage and error information.
2166//
2167// Returned Error Types:
2168//   * BadRequestException
2169//   A bad request exception object.
2170//
2171//   * InternalServerErrorException
2172//   An internal server error exception object.
2173//
2174// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFindings
2175func (c *GuardDuty) GetFindings(input *GetFindingsInput) (*GetFindingsOutput, error) {
2176	req, out := c.GetFindingsRequest(input)
2177	return out, req.Send()
2178}
2179
2180// GetFindingsWithContext is the same as GetFindings with the addition of
2181// the ability to pass a context and additional request options.
2182//
2183// See GetFindings for details on how to use this API operation.
2184//
2185// The context must be non-nil and will be used for request cancellation. If
2186// the context is nil a panic will occur. In the future the SDK may create
2187// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2188// for more information on using Contexts.
2189func (c *GuardDuty) GetFindingsWithContext(ctx aws.Context, input *GetFindingsInput, opts ...request.Option) (*GetFindingsOutput, error) {
2190	req, out := c.GetFindingsRequest(input)
2191	req.SetContext(ctx)
2192	req.ApplyOptions(opts...)
2193	return out, req.Send()
2194}
2195
2196const opGetFindingsStatistics = "GetFindingsStatistics"
2197
2198// GetFindingsStatisticsRequest generates a "aws/request.Request" representing the
2199// client's request for the GetFindingsStatistics operation. The "output" return
2200// value will be populated with the request's response once the request completes
2201// successfully.
2202//
2203// Use "Send" method on the returned Request to send the API call to the service.
2204// the "output" return value is not valid until after Send returns without error.
2205//
2206// See GetFindingsStatistics for more information on using the GetFindingsStatistics
2207// API call, and error handling.
2208//
2209// This method is useful when you want to inject custom logic or configuration
2210// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2211//
2212//
2213//    // Example sending a request using the GetFindingsStatisticsRequest method.
2214//    req, resp := client.GetFindingsStatisticsRequest(params)
2215//
2216//    err := req.Send()
2217//    if err == nil { // resp is now filled
2218//        fmt.Println(resp)
2219//    }
2220//
2221// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFindingsStatistics
2222func (c *GuardDuty) GetFindingsStatisticsRequest(input *GetFindingsStatisticsInput) (req *request.Request, output *GetFindingsStatisticsOutput) {
2223	op := &request.Operation{
2224		Name:       opGetFindingsStatistics,
2225		HTTPMethod: "POST",
2226		HTTPPath:   "/detector/{detectorId}/findings/statistics",
2227	}
2228
2229	if input == nil {
2230		input = &GetFindingsStatisticsInput{}
2231	}
2232
2233	output = &GetFindingsStatisticsOutput{}
2234	req = c.newRequest(op, input, output)
2235	return
2236}
2237
2238// GetFindingsStatistics API operation for Amazon GuardDuty.
2239//
2240// Lists Amazon GuardDuty findings statistics for the specified detector ID.
2241//
2242// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2243// with awserr.Error's Code and Message methods to get detailed information about
2244// the error.
2245//
2246// See the AWS API reference guide for Amazon GuardDuty's
2247// API operation GetFindingsStatistics for usage and error information.
2248//
2249// Returned Error Types:
2250//   * BadRequestException
2251//   A bad request exception object.
2252//
2253//   * InternalServerErrorException
2254//   An internal server error exception object.
2255//
2256// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFindingsStatistics
2257func (c *GuardDuty) GetFindingsStatistics(input *GetFindingsStatisticsInput) (*GetFindingsStatisticsOutput, error) {
2258	req, out := c.GetFindingsStatisticsRequest(input)
2259	return out, req.Send()
2260}
2261
2262// GetFindingsStatisticsWithContext is the same as GetFindingsStatistics with the addition of
2263// the ability to pass a context and additional request options.
2264//
2265// See GetFindingsStatistics for details on how to use this API operation.
2266//
2267// The context must be non-nil and will be used for request cancellation. If
2268// the context is nil a panic will occur. In the future the SDK may create
2269// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2270// for more information on using Contexts.
2271func (c *GuardDuty) GetFindingsStatisticsWithContext(ctx aws.Context, input *GetFindingsStatisticsInput, opts ...request.Option) (*GetFindingsStatisticsOutput, error) {
2272	req, out := c.GetFindingsStatisticsRequest(input)
2273	req.SetContext(ctx)
2274	req.ApplyOptions(opts...)
2275	return out, req.Send()
2276}
2277
2278const opGetIPSet = "GetIPSet"
2279
2280// GetIPSetRequest generates a "aws/request.Request" representing the
2281// client's request for the GetIPSet operation. The "output" return
2282// value will be populated with the request's response once the request completes
2283// successfully.
2284//
2285// Use "Send" method on the returned Request to send the API call to the service.
2286// the "output" return value is not valid until after Send returns without error.
2287//
2288// See GetIPSet for more information on using the GetIPSet
2289// API call, and error handling.
2290//
2291// This method is useful when you want to inject custom logic or configuration
2292// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2293//
2294//
2295//    // Example sending a request using the GetIPSetRequest method.
2296//    req, resp := client.GetIPSetRequest(params)
2297//
2298//    err := req.Send()
2299//    if err == nil { // resp is now filled
2300//        fmt.Println(resp)
2301//    }
2302//
2303// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetIPSet
2304func (c *GuardDuty) GetIPSetRequest(input *GetIPSetInput) (req *request.Request, output *GetIPSetOutput) {
2305	op := &request.Operation{
2306		Name:       opGetIPSet,
2307		HTTPMethod: "GET",
2308		HTTPPath:   "/detector/{detectorId}/ipset/{ipSetId}",
2309	}
2310
2311	if input == nil {
2312		input = &GetIPSetInput{}
2313	}
2314
2315	output = &GetIPSetOutput{}
2316	req = c.newRequest(op, input, output)
2317	return
2318}
2319
2320// GetIPSet API operation for Amazon GuardDuty.
2321//
2322// Retrieves the IPSet specified by the ipSetId.
2323//
2324// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2325// with awserr.Error's Code and Message methods to get detailed information about
2326// the error.
2327//
2328// See the AWS API reference guide for Amazon GuardDuty's
2329// API operation GetIPSet for usage and error information.
2330//
2331// Returned Error Types:
2332//   * BadRequestException
2333//   A bad request exception object.
2334//
2335//   * InternalServerErrorException
2336//   An internal server error exception object.
2337//
2338// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetIPSet
2339func (c *GuardDuty) GetIPSet(input *GetIPSetInput) (*GetIPSetOutput, error) {
2340	req, out := c.GetIPSetRequest(input)
2341	return out, req.Send()
2342}
2343
2344// GetIPSetWithContext is the same as GetIPSet with the addition of
2345// the ability to pass a context and additional request options.
2346//
2347// See GetIPSet for details on how to use this API operation.
2348//
2349// The context must be non-nil and will be used for request cancellation. If
2350// the context is nil a panic will occur. In the future the SDK may create
2351// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2352// for more information on using Contexts.
2353func (c *GuardDuty) GetIPSetWithContext(ctx aws.Context, input *GetIPSetInput, opts ...request.Option) (*GetIPSetOutput, error) {
2354	req, out := c.GetIPSetRequest(input)
2355	req.SetContext(ctx)
2356	req.ApplyOptions(opts...)
2357	return out, req.Send()
2358}
2359
2360const opGetInvitationsCount = "GetInvitationsCount"
2361
2362// GetInvitationsCountRequest generates a "aws/request.Request" representing the
2363// client's request for the GetInvitationsCount operation. The "output" return
2364// value will be populated with the request's response once the request completes
2365// successfully.
2366//
2367// Use "Send" method on the returned Request to send the API call to the service.
2368// the "output" return value is not valid until after Send returns without error.
2369//
2370// See GetInvitationsCount for more information on using the GetInvitationsCount
2371// API call, and error handling.
2372//
2373// This method is useful when you want to inject custom logic or configuration
2374// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2375//
2376//
2377//    // Example sending a request using the GetInvitationsCountRequest method.
2378//    req, resp := client.GetInvitationsCountRequest(params)
2379//
2380//    err := req.Send()
2381//    if err == nil { // resp is now filled
2382//        fmt.Println(resp)
2383//    }
2384//
2385// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetInvitationsCount
2386func (c *GuardDuty) GetInvitationsCountRequest(input *GetInvitationsCountInput) (req *request.Request, output *GetInvitationsCountOutput) {
2387	op := &request.Operation{
2388		Name:       opGetInvitationsCount,
2389		HTTPMethod: "GET",
2390		HTTPPath:   "/invitation/count",
2391	}
2392
2393	if input == nil {
2394		input = &GetInvitationsCountInput{}
2395	}
2396
2397	output = &GetInvitationsCountOutput{}
2398	req = c.newRequest(op, input, output)
2399	return
2400}
2401
2402// GetInvitationsCount API operation for Amazon GuardDuty.
2403//
2404// Returns the count of all GuardDuty membership invitations that were sent
2405// to the current member account except the currently accepted invitation.
2406//
2407// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2408// with awserr.Error's Code and Message methods to get detailed information about
2409// the error.
2410//
2411// See the AWS API reference guide for Amazon GuardDuty's
2412// API operation GetInvitationsCount for usage and error information.
2413//
2414// Returned Error Types:
2415//   * BadRequestException
2416//   A bad request exception object.
2417//
2418//   * InternalServerErrorException
2419//   An internal server error exception object.
2420//
2421// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetInvitationsCount
2422func (c *GuardDuty) GetInvitationsCount(input *GetInvitationsCountInput) (*GetInvitationsCountOutput, error) {
2423	req, out := c.GetInvitationsCountRequest(input)
2424	return out, req.Send()
2425}
2426
2427// GetInvitationsCountWithContext is the same as GetInvitationsCount with the addition of
2428// the ability to pass a context and additional request options.
2429//
2430// See GetInvitationsCount for details on how to use this API operation.
2431//
2432// The context must be non-nil and will be used for request cancellation. If
2433// the context is nil a panic will occur. In the future the SDK may create
2434// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2435// for more information on using Contexts.
2436func (c *GuardDuty) GetInvitationsCountWithContext(ctx aws.Context, input *GetInvitationsCountInput, opts ...request.Option) (*GetInvitationsCountOutput, error) {
2437	req, out := c.GetInvitationsCountRequest(input)
2438	req.SetContext(ctx)
2439	req.ApplyOptions(opts...)
2440	return out, req.Send()
2441}
2442
2443const opGetMasterAccount = "GetMasterAccount"
2444
2445// GetMasterAccountRequest generates a "aws/request.Request" representing the
2446// client's request for the GetMasterAccount operation. The "output" return
2447// value will be populated with the request's response once the request completes
2448// successfully.
2449//
2450// Use "Send" method on the returned Request to send the API call to the service.
2451// the "output" return value is not valid until after Send returns without error.
2452//
2453// See GetMasterAccount for more information on using the GetMasterAccount
2454// API call, and error handling.
2455//
2456// This method is useful when you want to inject custom logic or configuration
2457// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2458//
2459//
2460//    // Example sending a request using the GetMasterAccountRequest method.
2461//    req, resp := client.GetMasterAccountRequest(params)
2462//
2463//    err := req.Send()
2464//    if err == nil { // resp is now filled
2465//        fmt.Println(resp)
2466//    }
2467//
2468// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMasterAccount
2469func (c *GuardDuty) GetMasterAccountRequest(input *GetMasterAccountInput) (req *request.Request, output *GetMasterAccountOutput) {
2470	op := &request.Operation{
2471		Name:       opGetMasterAccount,
2472		HTTPMethod: "GET",
2473		HTTPPath:   "/detector/{detectorId}/master",
2474	}
2475
2476	if input == nil {
2477		input = &GetMasterAccountInput{}
2478	}
2479
2480	output = &GetMasterAccountOutput{}
2481	req = c.newRequest(op, input, output)
2482	return
2483}
2484
2485// GetMasterAccount API operation for Amazon GuardDuty.
2486//
2487// Provides the details for the GuardDuty administrator account associated with
2488// the current GuardDuty member account.
2489//
2490// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2491// with awserr.Error's Code and Message methods to get detailed information about
2492// the error.
2493//
2494// See the AWS API reference guide for Amazon GuardDuty's
2495// API operation GetMasterAccount for usage and error information.
2496//
2497// Returned Error Types:
2498//   * BadRequestException
2499//   A bad request exception object.
2500//
2501//   * InternalServerErrorException
2502//   An internal server error exception object.
2503//
2504// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMasterAccount
2505func (c *GuardDuty) GetMasterAccount(input *GetMasterAccountInput) (*GetMasterAccountOutput, error) {
2506	req, out := c.GetMasterAccountRequest(input)
2507	return out, req.Send()
2508}
2509
2510// GetMasterAccountWithContext is the same as GetMasterAccount with the addition of
2511// the ability to pass a context and additional request options.
2512//
2513// See GetMasterAccount for details on how to use this API operation.
2514//
2515// The context must be non-nil and will be used for request cancellation. If
2516// the context is nil a panic will occur. In the future the SDK may create
2517// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2518// for more information on using Contexts.
2519func (c *GuardDuty) GetMasterAccountWithContext(ctx aws.Context, input *GetMasterAccountInput, opts ...request.Option) (*GetMasterAccountOutput, error) {
2520	req, out := c.GetMasterAccountRequest(input)
2521	req.SetContext(ctx)
2522	req.ApplyOptions(opts...)
2523	return out, req.Send()
2524}
2525
2526const opGetMemberDetectors = "GetMemberDetectors"
2527
2528// GetMemberDetectorsRequest generates a "aws/request.Request" representing the
2529// client's request for the GetMemberDetectors operation. The "output" return
2530// value will be populated with the request's response once the request completes
2531// successfully.
2532//
2533// Use "Send" method on the returned Request to send the API call to the service.
2534// the "output" return value is not valid until after Send returns without error.
2535//
2536// See GetMemberDetectors for more information on using the GetMemberDetectors
2537// API call, and error handling.
2538//
2539// This method is useful when you want to inject custom logic or configuration
2540// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2541//
2542//
2543//    // Example sending a request using the GetMemberDetectorsRequest method.
2544//    req, resp := client.GetMemberDetectorsRequest(params)
2545//
2546//    err := req.Send()
2547//    if err == nil { // resp is now filled
2548//        fmt.Println(resp)
2549//    }
2550//
2551// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMemberDetectors
2552func (c *GuardDuty) GetMemberDetectorsRequest(input *GetMemberDetectorsInput) (req *request.Request, output *GetMemberDetectorsOutput) {
2553	op := &request.Operation{
2554		Name:       opGetMemberDetectors,
2555		HTTPMethod: "POST",
2556		HTTPPath:   "/detector/{detectorId}/member/detector/get",
2557	}
2558
2559	if input == nil {
2560		input = &GetMemberDetectorsInput{}
2561	}
2562
2563	output = &GetMemberDetectorsOutput{}
2564	req = c.newRequest(op, input, output)
2565	return
2566}
2567
2568// GetMemberDetectors API operation for Amazon GuardDuty.
2569//
2570// Describes which data sources are enabled for the member account's detector.
2571//
2572// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2573// with awserr.Error's Code and Message methods to get detailed information about
2574// the error.
2575//
2576// See the AWS API reference guide for Amazon GuardDuty's
2577// API operation GetMemberDetectors for usage and error information.
2578//
2579// Returned Error Types:
2580//   * BadRequestException
2581//   A bad request exception object.
2582//
2583//   * InternalServerErrorException
2584//   An internal server error exception object.
2585//
2586// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMemberDetectors
2587func (c *GuardDuty) GetMemberDetectors(input *GetMemberDetectorsInput) (*GetMemberDetectorsOutput, error) {
2588	req, out := c.GetMemberDetectorsRequest(input)
2589	return out, req.Send()
2590}
2591
2592// GetMemberDetectorsWithContext is the same as GetMemberDetectors with the addition of
2593// the ability to pass a context and additional request options.
2594//
2595// See GetMemberDetectors for details on how to use this API operation.
2596//
2597// The context must be non-nil and will be used for request cancellation. If
2598// the context is nil a panic will occur. In the future the SDK may create
2599// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2600// for more information on using Contexts.
2601func (c *GuardDuty) GetMemberDetectorsWithContext(ctx aws.Context, input *GetMemberDetectorsInput, opts ...request.Option) (*GetMemberDetectorsOutput, error) {
2602	req, out := c.GetMemberDetectorsRequest(input)
2603	req.SetContext(ctx)
2604	req.ApplyOptions(opts...)
2605	return out, req.Send()
2606}
2607
2608const opGetMembers = "GetMembers"
2609
2610// GetMembersRequest generates a "aws/request.Request" representing the
2611// client's request for the GetMembers operation. The "output" return
2612// value will be populated with the request's response once the request completes
2613// successfully.
2614//
2615// Use "Send" method on the returned Request to send the API call to the service.
2616// the "output" return value is not valid until after Send returns without error.
2617//
2618// See GetMembers for more information on using the GetMembers
2619// API call, and error handling.
2620//
2621// This method is useful when you want to inject custom logic or configuration
2622// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2623//
2624//
2625//    // Example sending a request using the GetMembersRequest method.
2626//    req, resp := client.GetMembersRequest(params)
2627//
2628//    err := req.Send()
2629//    if err == nil { // resp is now filled
2630//        fmt.Println(resp)
2631//    }
2632//
2633// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMembers
2634func (c *GuardDuty) GetMembersRequest(input *GetMembersInput) (req *request.Request, output *GetMembersOutput) {
2635	op := &request.Operation{
2636		Name:       opGetMembers,
2637		HTTPMethod: "POST",
2638		HTTPPath:   "/detector/{detectorId}/member/get",
2639	}
2640
2641	if input == nil {
2642		input = &GetMembersInput{}
2643	}
2644
2645	output = &GetMembersOutput{}
2646	req = c.newRequest(op, input, output)
2647	return
2648}
2649
2650// GetMembers API operation for Amazon GuardDuty.
2651//
2652// Retrieves GuardDuty member accounts (of the current GuardDuty administrator
2653// account) specified by the account IDs.
2654//
2655// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2656// with awserr.Error's Code and Message methods to get detailed information about
2657// the error.
2658//
2659// See the AWS API reference guide for Amazon GuardDuty's
2660// API operation GetMembers for usage and error information.
2661//
2662// Returned Error Types:
2663//   * BadRequestException
2664//   A bad request exception object.
2665//
2666//   * InternalServerErrorException
2667//   An internal server error exception object.
2668//
2669// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMembers
2670func (c *GuardDuty) GetMembers(input *GetMembersInput) (*GetMembersOutput, error) {
2671	req, out := c.GetMembersRequest(input)
2672	return out, req.Send()
2673}
2674
2675// GetMembersWithContext is the same as GetMembers with the addition of
2676// the ability to pass a context and additional request options.
2677//
2678// See GetMembers for details on how to use this API operation.
2679//
2680// The context must be non-nil and will be used for request cancellation. If
2681// the context is nil a panic will occur. In the future the SDK may create
2682// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2683// for more information on using Contexts.
2684func (c *GuardDuty) GetMembersWithContext(ctx aws.Context, input *GetMembersInput, opts ...request.Option) (*GetMembersOutput, error) {
2685	req, out := c.GetMembersRequest(input)
2686	req.SetContext(ctx)
2687	req.ApplyOptions(opts...)
2688	return out, req.Send()
2689}
2690
2691const opGetThreatIntelSet = "GetThreatIntelSet"
2692
2693// GetThreatIntelSetRequest generates a "aws/request.Request" representing the
2694// client's request for the GetThreatIntelSet operation. The "output" return
2695// value will be populated with the request's response once the request completes
2696// successfully.
2697//
2698// Use "Send" method on the returned Request to send the API call to the service.
2699// the "output" return value is not valid until after Send returns without error.
2700//
2701// See GetThreatIntelSet for more information on using the GetThreatIntelSet
2702// API call, and error handling.
2703//
2704// This method is useful when you want to inject custom logic or configuration
2705// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2706//
2707//
2708//    // Example sending a request using the GetThreatIntelSetRequest method.
2709//    req, resp := client.GetThreatIntelSetRequest(params)
2710//
2711//    err := req.Send()
2712//    if err == nil { // resp is now filled
2713//        fmt.Println(resp)
2714//    }
2715//
2716// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetThreatIntelSet
2717func (c *GuardDuty) GetThreatIntelSetRequest(input *GetThreatIntelSetInput) (req *request.Request, output *GetThreatIntelSetOutput) {
2718	op := &request.Operation{
2719		Name:       opGetThreatIntelSet,
2720		HTTPMethod: "GET",
2721		HTTPPath:   "/detector/{detectorId}/threatintelset/{threatIntelSetId}",
2722	}
2723
2724	if input == nil {
2725		input = &GetThreatIntelSetInput{}
2726	}
2727
2728	output = &GetThreatIntelSetOutput{}
2729	req = c.newRequest(op, input, output)
2730	return
2731}
2732
2733// GetThreatIntelSet API operation for Amazon GuardDuty.
2734//
2735// Retrieves the ThreatIntelSet that is specified by the ThreatIntelSet ID.
2736//
2737// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2738// with awserr.Error's Code and Message methods to get detailed information about
2739// the error.
2740//
2741// See the AWS API reference guide for Amazon GuardDuty's
2742// API operation GetThreatIntelSet for usage and error information.
2743//
2744// Returned Error Types:
2745//   * BadRequestException
2746//   A bad request exception object.
2747//
2748//   * InternalServerErrorException
2749//   An internal server error exception object.
2750//
2751// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetThreatIntelSet
2752func (c *GuardDuty) GetThreatIntelSet(input *GetThreatIntelSetInput) (*GetThreatIntelSetOutput, error) {
2753	req, out := c.GetThreatIntelSetRequest(input)
2754	return out, req.Send()
2755}
2756
2757// GetThreatIntelSetWithContext is the same as GetThreatIntelSet with the addition of
2758// the ability to pass a context and additional request options.
2759//
2760// See GetThreatIntelSet for details on how to use this API operation.
2761//
2762// The context must be non-nil and will be used for request cancellation. If
2763// the context is nil a panic will occur. In the future the SDK may create
2764// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2765// for more information on using Contexts.
2766func (c *GuardDuty) GetThreatIntelSetWithContext(ctx aws.Context, input *GetThreatIntelSetInput, opts ...request.Option) (*GetThreatIntelSetOutput, error) {
2767	req, out := c.GetThreatIntelSetRequest(input)
2768	req.SetContext(ctx)
2769	req.ApplyOptions(opts...)
2770	return out, req.Send()
2771}
2772
2773const opGetUsageStatistics = "GetUsageStatistics"
2774
2775// GetUsageStatisticsRequest generates a "aws/request.Request" representing the
2776// client's request for the GetUsageStatistics operation. The "output" return
2777// value will be populated with the request's response once the request completes
2778// successfully.
2779//
2780// Use "Send" method on the returned Request to send the API call to the service.
2781// the "output" return value is not valid until after Send returns without error.
2782//
2783// See GetUsageStatistics for more information on using the GetUsageStatistics
2784// API call, and error handling.
2785//
2786// This method is useful when you want to inject custom logic or configuration
2787// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2788//
2789//
2790//    // Example sending a request using the GetUsageStatisticsRequest method.
2791//    req, resp := client.GetUsageStatisticsRequest(params)
2792//
2793//    err := req.Send()
2794//    if err == nil { // resp is now filled
2795//        fmt.Println(resp)
2796//    }
2797//
2798// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetUsageStatistics
2799func (c *GuardDuty) GetUsageStatisticsRequest(input *GetUsageStatisticsInput) (req *request.Request, output *GetUsageStatisticsOutput) {
2800	op := &request.Operation{
2801		Name:       opGetUsageStatistics,
2802		HTTPMethod: "POST",
2803		HTTPPath:   "/detector/{detectorId}/usage/statistics",
2804		Paginator: &request.Paginator{
2805			InputTokens:     []string{"NextToken"},
2806			OutputTokens:    []string{"NextToken"},
2807			LimitToken:      "MaxResults",
2808			TruncationToken: "",
2809		},
2810	}
2811
2812	if input == nil {
2813		input = &GetUsageStatisticsInput{}
2814	}
2815
2816	output = &GetUsageStatisticsOutput{}
2817	req = c.newRequest(op, input, output)
2818	return
2819}
2820
2821// GetUsageStatistics API operation for Amazon GuardDuty.
2822//
2823// Lists Amazon GuardDuty usage statistics over the last 30 days for the specified
2824// detector ID. For newly enabled detectors or data sources the cost returned
2825// will include only the usage so far under 30 days, this may differ from the
2826// cost metrics in the console, which projects usage over 30 days to provide
2827// a monthly cost estimate. For more information see Understanding How Usage
2828// Costs are Calculated (https://docs.aws.amazon.com/guardduty/latest/ug/monitoring_costs.html#usage-calculations).
2829//
2830// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2831// with awserr.Error's Code and Message methods to get detailed information about
2832// the error.
2833//
2834// See the AWS API reference guide for Amazon GuardDuty's
2835// API operation GetUsageStatistics for usage and error information.
2836//
2837// Returned Error Types:
2838//   * BadRequestException
2839//   A bad request exception object.
2840//
2841//   * InternalServerErrorException
2842//   An internal server error exception object.
2843//
2844// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetUsageStatistics
2845func (c *GuardDuty) GetUsageStatistics(input *GetUsageStatisticsInput) (*GetUsageStatisticsOutput, error) {
2846	req, out := c.GetUsageStatisticsRequest(input)
2847	return out, req.Send()
2848}
2849
2850// GetUsageStatisticsWithContext is the same as GetUsageStatistics with the addition of
2851// the ability to pass a context and additional request options.
2852//
2853// See GetUsageStatistics for details on how to use this API operation.
2854//
2855// The context must be non-nil and will be used for request cancellation. If
2856// the context is nil a panic will occur. In the future the SDK may create
2857// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2858// for more information on using Contexts.
2859func (c *GuardDuty) GetUsageStatisticsWithContext(ctx aws.Context, input *GetUsageStatisticsInput, opts ...request.Option) (*GetUsageStatisticsOutput, error) {
2860	req, out := c.GetUsageStatisticsRequest(input)
2861	req.SetContext(ctx)
2862	req.ApplyOptions(opts...)
2863	return out, req.Send()
2864}
2865
2866// GetUsageStatisticsPages iterates over the pages of a GetUsageStatistics operation,
2867// calling the "fn" function with the response data for each page. To stop
2868// iterating, return false from the fn function.
2869//
2870// See GetUsageStatistics method for more information on how to use this operation.
2871//
2872// Note: This operation can generate multiple requests to a service.
2873//
2874//    // Example iterating over at most 3 pages of a GetUsageStatistics operation.
2875//    pageNum := 0
2876//    err := client.GetUsageStatisticsPages(params,
2877//        func(page *guardduty.GetUsageStatisticsOutput, lastPage bool) bool {
2878//            pageNum++
2879//            fmt.Println(page)
2880//            return pageNum <= 3
2881//        })
2882//
2883func (c *GuardDuty) GetUsageStatisticsPages(input *GetUsageStatisticsInput, fn func(*GetUsageStatisticsOutput, bool) bool) error {
2884	return c.GetUsageStatisticsPagesWithContext(aws.BackgroundContext(), input, fn)
2885}
2886
2887// GetUsageStatisticsPagesWithContext same as GetUsageStatisticsPages except
2888// it takes a Context and allows setting request options on the pages.
2889//
2890// The context must be non-nil and will be used for request cancellation. If
2891// the context is nil a panic will occur. In the future the SDK may create
2892// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2893// for more information on using Contexts.
2894func (c *GuardDuty) GetUsageStatisticsPagesWithContext(ctx aws.Context, input *GetUsageStatisticsInput, fn func(*GetUsageStatisticsOutput, bool) bool, opts ...request.Option) error {
2895	p := request.Pagination{
2896		NewRequest: func() (*request.Request, error) {
2897			var inCpy *GetUsageStatisticsInput
2898			if input != nil {
2899				tmp := *input
2900				inCpy = &tmp
2901			}
2902			req, _ := c.GetUsageStatisticsRequest(inCpy)
2903			req.SetContext(ctx)
2904			req.ApplyOptions(opts...)
2905			return req, nil
2906		},
2907	}
2908
2909	for p.Next() {
2910		if !fn(p.Page().(*GetUsageStatisticsOutput), !p.HasNextPage()) {
2911			break
2912		}
2913	}
2914
2915	return p.Err()
2916}
2917
2918const opInviteMembers = "InviteMembers"
2919
2920// InviteMembersRequest generates a "aws/request.Request" representing the
2921// client's request for the InviteMembers operation. The "output" return
2922// value will be populated with the request's response once the request completes
2923// successfully.
2924//
2925// Use "Send" method on the returned Request to send the API call to the service.
2926// the "output" return value is not valid until after Send returns without error.
2927//
2928// See InviteMembers for more information on using the InviteMembers
2929// API call, and error handling.
2930//
2931// This method is useful when you want to inject custom logic or configuration
2932// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2933//
2934//
2935//    // Example sending a request using the InviteMembersRequest method.
2936//    req, resp := client.InviteMembersRequest(params)
2937//
2938//    err := req.Send()
2939//    if err == nil { // resp is now filled
2940//        fmt.Println(resp)
2941//    }
2942//
2943// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/InviteMembers
2944func (c *GuardDuty) InviteMembersRequest(input *InviteMembersInput) (req *request.Request, output *InviteMembersOutput) {
2945	op := &request.Operation{
2946		Name:       opInviteMembers,
2947		HTTPMethod: "POST",
2948		HTTPPath:   "/detector/{detectorId}/member/invite",
2949	}
2950
2951	if input == nil {
2952		input = &InviteMembersInput{}
2953	}
2954
2955	output = &InviteMembersOutput{}
2956	req = c.newRequest(op, input, output)
2957	return
2958}
2959
2960// InviteMembers API operation for Amazon GuardDuty.
2961//
2962// Invites other AWS accounts (created as members of the current AWS account
2963// by CreateMembers) to enable GuardDuty, and allow the current AWS account
2964// to view and manage these accounts' findings on their behalf as the GuardDuty
2965// administrator account.
2966//
2967// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2968// with awserr.Error's Code and Message methods to get detailed information about
2969// the error.
2970//
2971// See the AWS API reference guide for Amazon GuardDuty's
2972// API operation InviteMembers for usage and error information.
2973//
2974// Returned Error Types:
2975//   * BadRequestException
2976//   A bad request exception object.
2977//
2978//   * InternalServerErrorException
2979//   An internal server error exception object.
2980//
2981// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/InviteMembers
2982func (c *GuardDuty) InviteMembers(input *InviteMembersInput) (*InviteMembersOutput, error) {
2983	req, out := c.InviteMembersRequest(input)
2984	return out, req.Send()
2985}
2986
2987// InviteMembersWithContext is the same as InviteMembers with the addition of
2988// the ability to pass a context and additional request options.
2989//
2990// See InviteMembers for details on how to use this API operation.
2991//
2992// The context must be non-nil and will be used for request cancellation. If
2993// the context is nil a panic will occur. In the future the SDK may create
2994// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2995// for more information on using Contexts.
2996func (c *GuardDuty) InviteMembersWithContext(ctx aws.Context, input *InviteMembersInput, opts ...request.Option) (*InviteMembersOutput, error) {
2997	req, out := c.InviteMembersRequest(input)
2998	req.SetContext(ctx)
2999	req.ApplyOptions(opts...)
3000	return out, req.Send()
3001}
3002
3003const opListDetectors = "ListDetectors"
3004
3005// ListDetectorsRequest generates a "aws/request.Request" representing the
3006// client's request for the ListDetectors operation. The "output" return
3007// value will be populated with the request's response once the request completes
3008// successfully.
3009//
3010// Use "Send" method on the returned Request to send the API call to the service.
3011// the "output" return value is not valid until after Send returns without error.
3012//
3013// See ListDetectors for more information on using the ListDetectors
3014// API call, and error handling.
3015//
3016// This method is useful when you want to inject custom logic or configuration
3017// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3018//
3019//
3020//    // Example sending a request using the ListDetectorsRequest method.
3021//    req, resp := client.ListDetectorsRequest(params)
3022//
3023//    err := req.Send()
3024//    if err == nil { // resp is now filled
3025//        fmt.Println(resp)
3026//    }
3027//
3028// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListDetectors
3029func (c *GuardDuty) ListDetectorsRequest(input *ListDetectorsInput) (req *request.Request, output *ListDetectorsOutput) {
3030	op := &request.Operation{
3031		Name:       opListDetectors,
3032		HTTPMethod: "GET",
3033		HTTPPath:   "/detector",
3034		Paginator: &request.Paginator{
3035			InputTokens:     []string{"NextToken"},
3036			OutputTokens:    []string{"NextToken"},
3037			LimitToken:      "MaxResults",
3038			TruncationToken: "",
3039		},
3040	}
3041
3042	if input == nil {
3043		input = &ListDetectorsInput{}
3044	}
3045
3046	output = &ListDetectorsOutput{}
3047	req = c.newRequest(op, input, output)
3048	return
3049}
3050
3051// ListDetectors API operation for Amazon GuardDuty.
3052//
3053// Lists detectorIds of all the existing Amazon GuardDuty detector resources.
3054//
3055// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3056// with awserr.Error's Code and Message methods to get detailed information about
3057// the error.
3058//
3059// See the AWS API reference guide for Amazon GuardDuty's
3060// API operation ListDetectors for usage and error information.
3061//
3062// Returned Error Types:
3063//   * BadRequestException
3064//   A bad request exception object.
3065//
3066//   * InternalServerErrorException
3067//   An internal server error exception object.
3068//
3069// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListDetectors
3070func (c *GuardDuty) ListDetectors(input *ListDetectorsInput) (*ListDetectorsOutput, error) {
3071	req, out := c.ListDetectorsRequest(input)
3072	return out, req.Send()
3073}
3074
3075// ListDetectorsWithContext is the same as ListDetectors with the addition of
3076// the ability to pass a context and additional request options.
3077//
3078// See ListDetectors for details on how to use this API operation.
3079//
3080// The context must be non-nil and will be used for request cancellation. If
3081// the context is nil a panic will occur. In the future the SDK may create
3082// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3083// for more information on using Contexts.
3084func (c *GuardDuty) ListDetectorsWithContext(ctx aws.Context, input *ListDetectorsInput, opts ...request.Option) (*ListDetectorsOutput, error) {
3085	req, out := c.ListDetectorsRequest(input)
3086	req.SetContext(ctx)
3087	req.ApplyOptions(opts...)
3088	return out, req.Send()
3089}
3090
3091// ListDetectorsPages iterates over the pages of a ListDetectors operation,
3092// calling the "fn" function with the response data for each page. To stop
3093// iterating, return false from the fn function.
3094//
3095// See ListDetectors method for more information on how to use this operation.
3096//
3097// Note: This operation can generate multiple requests to a service.
3098//
3099//    // Example iterating over at most 3 pages of a ListDetectors operation.
3100//    pageNum := 0
3101//    err := client.ListDetectorsPages(params,
3102//        func(page *guardduty.ListDetectorsOutput, lastPage bool) bool {
3103//            pageNum++
3104//            fmt.Println(page)
3105//            return pageNum <= 3
3106//        })
3107//
3108func (c *GuardDuty) ListDetectorsPages(input *ListDetectorsInput, fn func(*ListDetectorsOutput, bool) bool) error {
3109	return c.ListDetectorsPagesWithContext(aws.BackgroundContext(), input, fn)
3110}
3111
3112// ListDetectorsPagesWithContext same as ListDetectorsPages except
3113// it takes a Context and allows setting request options on the pages.
3114//
3115// The context must be non-nil and will be used for request cancellation. If
3116// the context is nil a panic will occur. In the future the SDK may create
3117// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3118// for more information on using Contexts.
3119func (c *GuardDuty) ListDetectorsPagesWithContext(ctx aws.Context, input *ListDetectorsInput, fn func(*ListDetectorsOutput, bool) bool, opts ...request.Option) error {
3120	p := request.Pagination{
3121		NewRequest: func() (*request.Request, error) {
3122			var inCpy *ListDetectorsInput
3123			if input != nil {
3124				tmp := *input
3125				inCpy = &tmp
3126			}
3127			req, _ := c.ListDetectorsRequest(inCpy)
3128			req.SetContext(ctx)
3129			req.ApplyOptions(opts...)
3130			return req, nil
3131		},
3132	}
3133
3134	for p.Next() {
3135		if !fn(p.Page().(*ListDetectorsOutput), !p.HasNextPage()) {
3136			break
3137		}
3138	}
3139
3140	return p.Err()
3141}
3142
3143const opListFilters = "ListFilters"
3144
3145// ListFiltersRequest generates a "aws/request.Request" representing the
3146// client's request for the ListFilters operation. The "output" return
3147// value will be populated with the request's response once the request completes
3148// successfully.
3149//
3150// Use "Send" method on the returned Request to send the API call to the service.
3151// the "output" return value is not valid until after Send returns without error.
3152//
3153// See ListFilters for more information on using the ListFilters
3154// API call, and error handling.
3155//
3156// This method is useful when you want to inject custom logic or configuration
3157// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3158//
3159//
3160//    // Example sending a request using the ListFiltersRequest method.
3161//    req, resp := client.ListFiltersRequest(params)
3162//
3163//    err := req.Send()
3164//    if err == nil { // resp is now filled
3165//        fmt.Println(resp)
3166//    }
3167//
3168// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListFilters
3169func (c *GuardDuty) ListFiltersRequest(input *ListFiltersInput) (req *request.Request, output *ListFiltersOutput) {
3170	op := &request.Operation{
3171		Name:       opListFilters,
3172		HTTPMethod: "GET",
3173		HTTPPath:   "/detector/{detectorId}/filter",
3174		Paginator: &request.Paginator{
3175			InputTokens:     []string{"NextToken"},
3176			OutputTokens:    []string{"NextToken"},
3177			LimitToken:      "MaxResults",
3178			TruncationToken: "",
3179		},
3180	}
3181
3182	if input == nil {
3183		input = &ListFiltersInput{}
3184	}
3185
3186	output = &ListFiltersOutput{}
3187	req = c.newRequest(op, input, output)
3188	return
3189}
3190
3191// ListFilters API operation for Amazon GuardDuty.
3192//
3193// Returns a paginated list of the current filters.
3194//
3195// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3196// with awserr.Error's Code and Message methods to get detailed information about
3197// the error.
3198//
3199// See the AWS API reference guide for Amazon GuardDuty's
3200// API operation ListFilters for usage and error information.
3201//
3202// Returned Error Types:
3203//   * BadRequestException
3204//   A bad request exception object.
3205//
3206//   * InternalServerErrorException
3207//   An internal server error exception object.
3208//
3209// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListFilters
3210func (c *GuardDuty) ListFilters(input *ListFiltersInput) (*ListFiltersOutput, error) {
3211	req, out := c.ListFiltersRequest(input)
3212	return out, req.Send()
3213}
3214
3215// ListFiltersWithContext is the same as ListFilters with the addition of
3216// the ability to pass a context and additional request options.
3217//
3218// See ListFilters for details on how to use this API operation.
3219//
3220// The context must be non-nil and will be used for request cancellation. If
3221// the context is nil a panic will occur. In the future the SDK may create
3222// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3223// for more information on using Contexts.
3224func (c *GuardDuty) ListFiltersWithContext(ctx aws.Context, input *ListFiltersInput, opts ...request.Option) (*ListFiltersOutput, error) {
3225	req, out := c.ListFiltersRequest(input)
3226	req.SetContext(ctx)
3227	req.ApplyOptions(opts...)
3228	return out, req.Send()
3229}
3230
3231// ListFiltersPages iterates over the pages of a ListFilters operation,
3232// calling the "fn" function with the response data for each page. To stop
3233// iterating, return false from the fn function.
3234//
3235// See ListFilters method for more information on how to use this operation.
3236//
3237// Note: This operation can generate multiple requests to a service.
3238//
3239//    // Example iterating over at most 3 pages of a ListFilters operation.
3240//    pageNum := 0
3241//    err := client.ListFiltersPages(params,
3242//        func(page *guardduty.ListFiltersOutput, lastPage bool) bool {
3243//            pageNum++
3244//            fmt.Println(page)
3245//            return pageNum <= 3
3246//        })
3247//
3248func (c *GuardDuty) ListFiltersPages(input *ListFiltersInput, fn func(*ListFiltersOutput, bool) bool) error {
3249	return c.ListFiltersPagesWithContext(aws.BackgroundContext(), input, fn)
3250}
3251
3252// ListFiltersPagesWithContext same as ListFiltersPages except
3253// it takes a Context and allows setting request options on the pages.
3254//
3255// The context must be non-nil and will be used for request cancellation. If
3256// the context is nil a panic will occur. In the future the SDK may create
3257// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3258// for more information on using Contexts.
3259func (c *GuardDuty) ListFiltersPagesWithContext(ctx aws.Context, input *ListFiltersInput, fn func(*ListFiltersOutput, bool) bool, opts ...request.Option) error {
3260	p := request.Pagination{
3261		NewRequest: func() (*request.Request, error) {
3262			var inCpy *ListFiltersInput
3263			if input != nil {
3264				tmp := *input
3265				inCpy = &tmp
3266			}
3267			req, _ := c.ListFiltersRequest(inCpy)
3268			req.SetContext(ctx)
3269			req.ApplyOptions(opts...)
3270			return req, nil
3271		},
3272	}
3273
3274	for p.Next() {
3275		if !fn(p.Page().(*ListFiltersOutput), !p.HasNextPage()) {
3276			break
3277		}
3278	}
3279
3280	return p.Err()
3281}
3282
3283const opListFindings = "ListFindings"
3284
3285// ListFindingsRequest generates a "aws/request.Request" representing the
3286// client's request for the ListFindings operation. The "output" return
3287// value will be populated with the request's response once the request completes
3288// successfully.
3289//
3290// Use "Send" method on the returned Request to send the API call to the service.
3291// the "output" return value is not valid until after Send returns without error.
3292//
3293// See ListFindings for more information on using the ListFindings
3294// API call, and error handling.
3295//
3296// This method is useful when you want to inject custom logic or configuration
3297// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3298//
3299//
3300//    // Example sending a request using the ListFindingsRequest method.
3301//    req, resp := client.ListFindingsRequest(params)
3302//
3303//    err := req.Send()
3304//    if err == nil { // resp is now filled
3305//        fmt.Println(resp)
3306//    }
3307//
3308// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListFindings
3309func (c *GuardDuty) ListFindingsRequest(input *ListFindingsInput) (req *request.Request, output *ListFindingsOutput) {
3310	op := &request.Operation{
3311		Name:       opListFindings,
3312		HTTPMethod: "POST",
3313		HTTPPath:   "/detector/{detectorId}/findings",
3314		Paginator: &request.Paginator{
3315			InputTokens:     []string{"NextToken"},
3316			OutputTokens:    []string{"NextToken"},
3317			LimitToken:      "MaxResults",
3318			TruncationToken: "",
3319		},
3320	}
3321
3322	if input == nil {
3323		input = &ListFindingsInput{}
3324	}
3325
3326	output = &ListFindingsOutput{}
3327	req = c.newRequest(op, input, output)
3328	return
3329}
3330
3331// ListFindings API operation for Amazon GuardDuty.
3332//
3333// Lists Amazon GuardDuty findings for the specified detector ID.
3334//
3335// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3336// with awserr.Error's Code and Message methods to get detailed information about
3337// the error.
3338//
3339// See the AWS API reference guide for Amazon GuardDuty's
3340// API operation ListFindings for usage and error information.
3341//
3342// Returned Error Types:
3343//   * BadRequestException
3344//   A bad request exception object.
3345//
3346//   * InternalServerErrorException
3347//   An internal server error exception object.
3348//
3349// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListFindings
3350func (c *GuardDuty) ListFindings(input *ListFindingsInput) (*ListFindingsOutput, error) {
3351	req, out := c.ListFindingsRequest(input)
3352	return out, req.Send()
3353}
3354
3355// ListFindingsWithContext is the same as ListFindings with the addition of
3356// the ability to pass a context and additional request options.
3357//
3358// See ListFindings for details on how to use this API operation.
3359//
3360// The context must be non-nil and will be used for request cancellation. If
3361// the context is nil a panic will occur. In the future the SDK may create
3362// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3363// for more information on using Contexts.
3364func (c *GuardDuty) ListFindingsWithContext(ctx aws.Context, input *ListFindingsInput, opts ...request.Option) (*ListFindingsOutput, error) {
3365	req, out := c.ListFindingsRequest(input)
3366	req.SetContext(ctx)
3367	req.ApplyOptions(opts...)
3368	return out, req.Send()
3369}
3370
3371// ListFindingsPages iterates over the pages of a ListFindings operation,
3372// calling the "fn" function with the response data for each page. To stop
3373// iterating, return false from the fn function.
3374//
3375// See ListFindings method for more information on how to use this operation.
3376//
3377// Note: This operation can generate multiple requests to a service.
3378//
3379//    // Example iterating over at most 3 pages of a ListFindings operation.
3380//    pageNum := 0
3381//    err := client.ListFindingsPages(params,
3382//        func(page *guardduty.ListFindingsOutput, lastPage bool) bool {
3383//            pageNum++
3384//            fmt.Println(page)
3385//            return pageNum <= 3
3386//        })
3387//
3388func (c *GuardDuty) ListFindingsPages(input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool) error {
3389	return c.ListFindingsPagesWithContext(aws.BackgroundContext(), input, fn)
3390}
3391
3392// ListFindingsPagesWithContext same as ListFindingsPages except
3393// it takes a Context and allows setting request options on the pages.
3394//
3395// The context must be non-nil and will be used for request cancellation. If
3396// the context is nil a panic will occur. In the future the SDK may create
3397// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3398// for more information on using Contexts.
3399func (c *GuardDuty) ListFindingsPagesWithContext(ctx aws.Context, input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool, opts ...request.Option) error {
3400	p := request.Pagination{
3401		NewRequest: func() (*request.Request, error) {
3402			var inCpy *ListFindingsInput
3403			if input != nil {
3404				tmp := *input
3405				inCpy = &tmp
3406			}
3407			req, _ := c.ListFindingsRequest(inCpy)
3408			req.SetContext(ctx)
3409			req.ApplyOptions(opts...)
3410			return req, nil
3411		},
3412	}
3413
3414	for p.Next() {
3415		if !fn(p.Page().(*ListFindingsOutput), !p.HasNextPage()) {
3416			break
3417		}
3418	}
3419
3420	return p.Err()
3421}
3422
3423const opListIPSets = "ListIPSets"
3424
3425// ListIPSetsRequest generates a "aws/request.Request" representing the
3426// client's request for the ListIPSets operation. The "output" return
3427// value will be populated with the request's response once the request completes
3428// successfully.
3429//
3430// Use "Send" method on the returned Request to send the API call to the service.
3431// the "output" return value is not valid until after Send returns without error.
3432//
3433// See ListIPSets for more information on using the ListIPSets
3434// API call, and error handling.
3435//
3436// This method is useful when you want to inject custom logic or configuration
3437// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3438//
3439//
3440//    // Example sending a request using the ListIPSetsRequest method.
3441//    req, resp := client.ListIPSetsRequest(params)
3442//
3443//    err := req.Send()
3444//    if err == nil { // resp is now filled
3445//        fmt.Println(resp)
3446//    }
3447//
3448// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListIPSets
3449func (c *GuardDuty) ListIPSetsRequest(input *ListIPSetsInput) (req *request.Request, output *ListIPSetsOutput) {
3450	op := &request.Operation{
3451		Name:       opListIPSets,
3452		HTTPMethod: "GET",
3453		HTTPPath:   "/detector/{detectorId}/ipset",
3454		Paginator: &request.Paginator{
3455			InputTokens:     []string{"NextToken"},
3456			OutputTokens:    []string{"NextToken"},
3457			LimitToken:      "MaxResults",
3458			TruncationToken: "",
3459		},
3460	}
3461
3462	if input == nil {
3463		input = &ListIPSetsInput{}
3464	}
3465
3466	output = &ListIPSetsOutput{}
3467	req = c.newRequest(op, input, output)
3468	return
3469}
3470
3471// ListIPSets API operation for Amazon GuardDuty.
3472//
3473// Lists the IPSets of the GuardDuty service specified by the detector ID. If
3474// you use this operation from a member account, the IPSets returned are the
3475// IPSets from the associated administrator account.
3476//
3477// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3478// with awserr.Error's Code and Message methods to get detailed information about
3479// the error.
3480//
3481// See the AWS API reference guide for Amazon GuardDuty's
3482// API operation ListIPSets for usage and error information.
3483//
3484// Returned Error Types:
3485//   * BadRequestException
3486//   A bad request exception object.
3487//
3488//   * InternalServerErrorException
3489//   An internal server error exception object.
3490//
3491// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListIPSets
3492func (c *GuardDuty) ListIPSets(input *ListIPSetsInput) (*ListIPSetsOutput, error) {
3493	req, out := c.ListIPSetsRequest(input)
3494	return out, req.Send()
3495}
3496
3497// ListIPSetsWithContext is the same as ListIPSets with the addition of
3498// the ability to pass a context and additional request options.
3499//
3500// See ListIPSets for details on how to use this API operation.
3501//
3502// The context must be non-nil and will be used for request cancellation. If
3503// the context is nil a panic will occur. In the future the SDK may create
3504// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3505// for more information on using Contexts.
3506func (c *GuardDuty) ListIPSetsWithContext(ctx aws.Context, input *ListIPSetsInput, opts ...request.Option) (*ListIPSetsOutput, error) {
3507	req, out := c.ListIPSetsRequest(input)
3508	req.SetContext(ctx)
3509	req.ApplyOptions(opts...)
3510	return out, req.Send()
3511}
3512
3513// ListIPSetsPages iterates over the pages of a ListIPSets operation,
3514// calling the "fn" function with the response data for each page. To stop
3515// iterating, return false from the fn function.
3516//
3517// See ListIPSets method for more information on how to use this operation.
3518//
3519// Note: This operation can generate multiple requests to a service.
3520//
3521//    // Example iterating over at most 3 pages of a ListIPSets operation.
3522//    pageNum := 0
3523//    err := client.ListIPSetsPages(params,
3524//        func(page *guardduty.ListIPSetsOutput, lastPage bool) bool {
3525//            pageNum++
3526//            fmt.Println(page)
3527//            return pageNum <= 3
3528//        })
3529//
3530func (c *GuardDuty) ListIPSetsPages(input *ListIPSetsInput, fn func(*ListIPSetsOutput, bool) bool) error {
3531	return c.ListIPSetsPagesWithContext(aws.BackgroundContext(), input, fn)
3532}
3533
3534// ListIPSetsPagesWithContext same as ListIPSetsPages except
3535// it takes a Context and allows setting request options on the pages.
3536//
3537// The context must be non-nil and will be used for request cancellation. If
3538// the context is nil a panic will occur. In the future the SDK may create
3539// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3540// for more information on using Contexts.
3541func (c *GuardDuty) ListIPSetsPagesWithContext(ctx aws.Context, input *ListIPSetsInput, fn func(*ListIPSetsOutput, bool) bool, opts ...request.Option) error {
3542	p := request.Pagination{
3543		NewRequest: func() (*request.Request, error) {
3544			var inCpy *ListIPSetsInput
3545			if input != nil {
3546				tmp := *input
3547				inCpy = &tmp
3548			}
3549			req, _ := c.ListIPSetsRequest(inCpy)
3550			req.SetContext(ctx)
3551			req.ApplyOptions(opts...)
3552			return req, nil
3553		},
3554	}
3555
3556	for p.Next() {
3557		if !fn(p.Page().(*ListIPSetsOutput), !p.HasNextPage()) {
3558			break
3559		}
3560	}
3561
3562	return p.Err()
3563}
3564
3565const opListInvitations = "ListInvitations"
3566
3567// ListInvitationsRequest generates a "aws/request.Request" representing the
3568// client's request for the ListInvitations operation. The "output" return
3569// value will be populated with the request's response once the request completes
3570// successfully.
3571//
3572// Use "Send" method on the returned Request to send the API call to the service.
3573// the "output" return value is not valid until after Send returns without error.
3574//
3575// See ListInvitations for more information on using the ListInvitations
3576// API call, and error handling.
3577//
3578// This method is useful when you want to inject custom logic or configuration
3579// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3580//
3581//
3582//    // Example sending a request using the ListInvitationsRequest method.
3583//    req, resp := client.ListInvitationsRequest(params)
3584//
3585//    err := req.Send()
3586//    if err == nil { // resp is now filled
3587//        fmt.Println(resp)
3588//    }
3589//
3590// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListInvitations
3591func (c *GuardDuty) ListInvitationsRequest(input *ListInvitationsInput) (req *request.Request, output *ListInvitationsOutput) {
3592	op := &request.Operation{
3593		Name:       opListInvitations,
3594		HTTPMethod: "GET",
3595		HTTPPath:   "/invitation",
3596		Paginator: &request.Paginator{
3597			InputTokens:     []string{"NextToken"},
3598			OutputTokens:    []string{"NextToken"},
3599			LimitToken:      "MaxResults",
3600			TruncationToken: "",
3601		},
3602	}
3603
3604	if input == nil {
3605		input = &ListInvitationsInput{}
3606	}
3607
3608	output = &ListInvitationsOutput{}
3609	req = c.newRequest(op, input, output)
3610	return
3611}
3612
3613// ListInvitations API operation for Amazon GuardDuty.
3614//
3615// Lists all GuardDuty membership invitations that were sent to the current
3616// AWS account.
3617//
3618// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3619// with awserr.Error's Code and Message methods to get detailed information about
3620// the error.
3621//
3622// See the AWS API reference guide for Amazon GuardDuty's
3623// API operation ListInvitations for usage and error information.
3624//
3625// Returned Error Types:
3626//   * BadRequestException
3627//   A bad request exception object.
3628//
3629//   * InternalServerErrorException
3630//   An internal server error exception object.
3631//
3632// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListInvitations
3633func (c *GuardDuty) ListInvitations(input *ListInvitationsInput) (*ListInvitationsOutput, error) {
3634	req, out := c.ListInvitationsRequest(input)
3635	return out, req.Send()
3636}
3637
3638// ListInvitationsWithContext is the same as ListInvitations with the addition of
3639// the ability to pass a context and additional request options.
3640//
3641// See ListInvitations for details on how to use this API operation.
3642//
3643// The context must be non-nil and will be used for request cancellation. If
3644// the context is nil a panic will occur. In the future the SDK may create
3645// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3646// for more information on using Contexts.
3647func (c *GuardDuty) ListInvitationsWithContext(ctx aws.Context, input *ListInvitationsInput, opts ...request.Option) (*ListInvitationsOutput, error) {
3648	req, out := c.ListInvitationsRequest(input)
3649	req.SetContext(ctx)
3650	req.ApplyOptions(opts...)
3651	return out, req.Send()
3652}
3653
3654// ListInvitationsPages iterates over the pages of a ListInvitations operation,
3655// calling the "fn" function with the response data for each page. To stop
3656// iterating, return false from the fn function.
3657//
3658// See ListInvitations method for more information on how to use this operation.
3659//
3660// Note: This operation can generate multiple requests to a service.
3661//
3662//    // Example iterating over at most 3 pages of a ListInvitations operation.
3663//    pageNum := 0
3664//    err := client.ListInvitationsPages(params,
3665//        func(page *guardduty.ListInvitationsOutput, lastPage bool) bool {
3666//            pageNum++
3667//            fmt.Println(page)
3668//            return pageNum <= 3
3669//        })
3670//
3671func (c *GuardDuty) ListInvitationsPages(input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool) error {
3672	return c.ListInvitationsPagesWithContext(aws.BackgroundContext(), input, fn)
3673}
3674
3675// ListInvitationsPagesWithContext same as ListInvitationsPages except
3676// it takes a Context and allows setting request options on the pages.
3677//
3678// The context must be non-nil and will be used for request cancellation. If
3679// the context is nil a panic will occur. In the future the SDK may create
3680// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3681// for more information on using Contexts.
3682func (c *GuardDuty) ListInvitationsPagesWithContext(ctx aws.Context, input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool, opts ...request.Option) error {
3683	p := request.Pagination{
3684		NewRequest: func() (*request.Request, error) {
3685			var inCpy *ListInvitationsInput
3686			if input != nil {
3687				tmp := *input
3688				inCpy = &tmp
3689			}
3690			req, _ := c.ListInvitationsRequest(inCpy)
3691			req.SetContext(ctx)
3692			req.ApplyOptions(opts...)
3693			return req, nil
3694		},
3695	}
3696
3697	for p.Next() {
3698		if !fn(p.Page().(*ListInvitationsOutput), !p.HasNextPage()) {
3699			break
3700		}
3701	}
3702
3703	return p.Err()
3704}
3705
3706const opListMembers = "ListMembers"
3707
3708// ListMembersRequest generates a "aws/request.Request" representing the
3709// client's request for the ListMembers operation. The "output" return
3710// value will be populated with the request's response once the request completes
3711// successfully.
3712//
3713// Use "Send" method on the returned Request to send the API call to the service.
3714// the "output" return value is not valid until after Send returns without error.
3715//
3716// See ListMembers for more information on using the ListMembers
3717// API call, and error handling.
3718//
3719// This method is useful when you want to inject custom logic or configuration
3720// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3721//
3722//
3723//    // Example sending a request using the ListMembersRequest method.
3724//    req, resp := client.ListMembersRequest(params)
3725//
3726//    err := req.Send()
3727//    if err == nil { // resp is now filled
3728//        fmt.Println(resp)
3729//    }
3730//
3731// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListMembers
3732func (c *GuardDuty) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) {
3733	op := &request.Operation{
3734		Name:       opListMembers,
3735		HTTPMethod: "GET",
3736		HTTPPath:   "/detector/{detectorId}/member",
3737		Paginator: &request.Paginator{
3738			InputTokens:     []string{"NextToken"},
3739			OutputTokens:    []string{"NextToken"},
3740			LimitToken:      "MaxResults",
3741			TruncationToken: "",
3742		},
3743	}
3744
3745	if input == nil {
3746		input = &ListMembersInput{}
3747	}
3748
3749	output = &ListMembersOutput{}
3750	req = c.newRequest(op, input, output)
3751	return
3752}
3753
3754// ListMembers API operation for Amazon GuardDuty.
3755//
3756// Lists details about all member accounts for the current GuardDuty administrator
3757// account.
3758//
3759// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3760// with awserr.Error's Code and Message methods to get detailed information about
3761// the error.
3762//
3763// See the AWS API reference guide for Amazon GuardDuty's
3764// API operation ListMembers for usage and error information.
3765//
3766// Returned Error Types:
3767//   * BadRequestException
3768//   A bad request exception object.
3769//
3770//   * InternalServerErrorException
3771//   An internal server error exception object.
3772//
3773// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListMembers
3774func (c *GuardDuty) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) {
3775	req, out := c.ListMembersRequest(input)
3776	return out, req.Send()
3777}
3778
3779// ListMembersWithContext is the same as ListMembers with the addition of
3780// the ability to pass a context and additional request options.
3781//
3782// See ListMembers for details on how to use this API operation.
3783//
3784// The context must be non-nil and will be used for request cancellation. If
3785// the context is nil a panic will occur. In the future the SDK may create
3786// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3787// for more information on using Contexts.
3788func (c *GuardDuty) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) {
3789	req, out := c.ListMembersRequest(input)
3790	req.SetContext(ctx)
3791	req.ApplyOptions(opts...)
3792	return out, req.Send()
3793}
3794
3795// ListMembersPages iterates over the pages of a ListMembers operation,
3796// calling the "fn" function with the response data for each page. To stop
3797// iterating, return false from the fn function.
3798//
3799// See ListMembers method for more information on how to use this operation.
3800//
3801// Note: This operation can generate multiple requests to a service.
3802//
3803//    // Example iterating over at most 3 pages of a ListMembers operation.
3804//    pageNum := 0
3805//    err := client.ListMembersPages(params,
3806//        func(page *guardduty.ListMembersOutput, lastPage bool) bool {
3807//            pageNum++
3808//            fmt.Println(page)
3809//            return pageNum <= 3
3810//        })
3811//
3812func (c *GuardDuty) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error {
3813	return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn)
3814}
3815
3816// ListMembersPagesWithContext same as ListMembersPages except
3817// it takes a Context and allows setting request options on the pages.
3818//
3819// The context must be non-nil and will be used for request cancellation. If
3820// the context is nil a panic will occur. In the future the SDK may create
3821// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3822// for more information on using Contexts.
3823func (c *GuardDuty) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error {
3824	p := request.Pagination{
3825		NewRequest: func() (*request.Request, error) {
3826			var inCpy *ListMembersInput
3827			if input != nil {
3828				tmp := *input
3829				inCpy = &tmp
3830			}
3831			req, _ := c.ListMembersRequest(inCpy)
3832			req.SetContext(ctx)
3833			req.ApplyOptions(opts...)
3834			return req, nil
3835		},
3836	}
3837
3838	for p.Next() {
3839		if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) {
3840			break
3841		}
3842	}
3843
3844	return p.Err()
3845}
3846
3847const opListOrganizationAdminAccounts = "ListOrganizationAdminAccounts"
3848
3849// ListOrganizationAdminAccountsRequest generates a "aws/request.Request" representing the
3850// client's request for the ListOrganizationAdminAccounts operation. The "output" return
3851// value will be populated with the request's response once the request completes
3852// successfully.
3853//
3854// Use "Send" method on the returned Request to send the API call to the service.
3855// the "output" return value is not valid until after Send returns without error.
3856//
3857// See ListOrganizationAdminAccounts for more information on using the ListOrganizationAdminAccounts
3858// API call, and error handling.
3859//
3860// This method is useful when you want to inject custom logic or configuration
3861// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3862//
3863//
3864//    // Example sending a request using the ListOrganizationAdminAccountsRequest method.
3865//    req, resp := client.ListOrganizationAdminAccountsRequest(params)
3866//
3867//    err := req.Send()
3868//    if err == nil { // resp is now filled
3869//        fmt.Println(resp)
3870//    }
3871//
3872// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListOrganizationAdminAccounts
3873func (c *GuardDuty) ListOrganizationAdminAccountsRequest(input *ListOrganizationAdminAccountsInput) (req *request.Request, output *ListOrganizationAdminAccountsOutput) {
3874	op := &request.Operation{
3875		Name:       opListOrganizationAdminAccounts,
3876		HTTPMethod: "GET",
3877		HTTPPath:   "/admin",
3878		Paginator: &request.Paginator{
3879			InputTokens:     []string{"NextToken"},
3880			OutputTokens:    []string{"NextToken"},
3881			LimitToken:      "MaxResults",
3882			TruncationToken: "",
3883		},
3884	}
3885
3886	if input == nil {
3887		input = &ListOrganizationAdminAccountsInput{}
3888	}
3889
3890	output = &ListOrganizationAdminAccountsOutput{}
3891	req = c.newRequest(op, input, output)
3892	return
3893}
3894
3895// ListOrganizationAdminAccounts API operation for Amazon GuardDuty.
3896//
3897// Lists the accounts configured as GuardDuty delegated administrators.
3898//
3899// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3900// with awserr.Error's Code and Message methods to get detailed information about
3901// the error.
3902//
3903// See the AWS API reference guide for Amazon GuardDuty's
3904// API operation ListOrganizationAdminAccounts for usage and error information.
3905//
3906// Returned Error Types:
3907//   * BadRequestException
3908//   A bad request exception object.
3909//
3910//   * InternalServerErrorException
3911//   An internal server error exception object.
3912//
3913// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListOrganizationAdminAccounts
3914func (c *GuardDuty) ListOrganizationAdminAccounts(input *ListOrganizationAdminAccountsInput) (*ListOrganizationAdminAccountsOutput, error) {
3915	req, out := c.ListOrganizationAdminAccountsRequest(input)
3916	return out, req.Send()
3917}
3918
3919// ListOrganizationAdminAccountsWithContext is the same as ListOrganizationAdminAccounts with the addition of
3920// the ability to pass a context and additional request options.
3921//
3922// See ListOrganizationAdminAccounts for details on how to use this API operation.
3923//
3924// The context must be non-nil and will be used for request cancellation. If
3925// the context is nil a panic will occur. In the future the SDK may create
3926// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3927// for more information on using Contexts.
3928func (c *GuardDuty) ListOrganizationAdminAccountsWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, opts ...request.Option) (*ListOrganizationAdminAccountsOutput, error) {
3929	req, out := c.ListOrganizationAdminAccountsRequest(input)
3930	req.SetContext(ctx)
3931	req.ApplyOptions(opts...)
3932	return out, req.Send()
3933}
3934
3935// ListOrganizationAdminAccountsPages iterates over the pages of a ListOrganizationAdminAccounts operation,
3936// calling the "fn" function with the response data for each page. To stop
3937// iterating, return false from the fn function.
3938//
3939// See ListOrganizationAdminAccounts method for more information on how to use this operation.
3940//
3941// Note: This operation can generate multiple requests to a service.
3942//
3943//    // Example iterating over at most 3 pages of a ListOrganizationAdminAccounts operation.
3944//    pageNum := 0
3945//    err := client.ListOrganizationAdminAccountsPages(params,
3946//        func(page *guardduty.ListOrganizationAdminAccountsOutput, lastPage bool) bool {
3947//            pageNum++
3948//            fmt.Println(page)
3949//            return pageNum <= 3
3950//        })
3951//
3952func (c *GuardDuty) ListOrganizationAdminAccountsPages(input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool) error {
3953	return c.ListOrganizationAdminAccountsPagesWithContext(aws.BackgroundContext(), input, fn)
3954}
3955
3956// ListOrganizationAdminAccountsPagesWithContext same as ListOrganizationAdminAccountsPages except
3957// it takes a Context and allows setting request options on the pages.
3958//
3959// The context must be non-nil and will be used for request cancellation. If
3960// the context is nil a panic will occur. In the future the SDK may create
3961// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3962// for more information on using Contexts.
3963func (c *GuardDuty) ListOrganizationAdminAccountsPagesWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool, opts ...request.Option) error {
3964	p := request.Pagination{
3965		NewRequest: func() (*request.Request, error) {
3966			var inCpy *ListOrganizationAdminAccountsInput
3967			if input != nil {
3968				tmp := *input
3969				inCpy = &tmp
3970			}
3971			req, _ := c.ListOrganizationAdminAccountsRequest(inCpy)
3972			req.SetContext(ctx)
3973			req.ApplyOptions(opts...)
3974			return req, nil
3975		},
3976	}
3977
3978	for p.Next() {
3979		if !fn(p.Page().(*ListOrganizationAdminAccountsOutput), !p.HasNextPage()) {
3980			break
3981		}
3982	}
3983
3984	return p.Err()
3985}
3986
3987const opListPublishingDestinations = "ListPublishingDestinations"
3988
3989// ListPublishingDestinationsRequest generates a "aws/request.Request" representing the
3990// client's request for the ListPublishingDestinations operation. The "output" return
3991// value will be populated with the request's response once the request completes
3992// successfully.
3993//
3994// Use "Send" method on the returned Request to send the API call to the service.
3995// the "output" return value is not valid until after Send returns without error.
3996//
3997// See ListPublishingDestinations for more information on using the ListPublishingDestinations
3998// API call, and error handling.
3999//
4000// This method is useful when you want to inject custom logic or configuration
4001// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4002//
4003//
4004//    // Example sending a request using the ListPublishingDestinationsRequest method.
4005//    req, resp := client.ListPublishingDestinationsRequest(params)
4006//
4007//    err := req.Send()
4008//    if err == nil { // resp is now filled
4009//        fmt.Println(resp)
4010//    }
4011//
4012// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListPublishingDestinations
4013func (c *GuardDuty) ListPublishingDestinationsRequest(input *ListPublishingDestinationsInput) (req *request.Request, output *ListPublishingDestinationsOutput) {
4014	op := &request.Operation{
4015		Name:       opListPublishingDestinations,
4016		HTTPMethod: "GET",
4017		HTTPPath:   "/detector/{detectorId}/publishingDestination",
4018		Paginator: &request.Paginator{
4019			InputTokens:     []string{"NextToken"},
4020			OutputTokens:    []string{"NextToken"},
4021			LimitToken:      "MaxResults",
4022			TruncationToken: "",
4023		},
4024	}
4025
4026	if input == nil {
4027		input = &ListPublishingDestinationsInput{}
4028	}
4029
4030	output = &ListPublishingDestinationsOutput{}
4031	req = c.newRequest(op, input, output)
4032	return
4033}
4034
4035// ListPublishingDestinations API operation for Amazon GuardDuty.
4036//
4037// Returns a list of publishing destinations associated with the specified dectectorId.
4038//
4039// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4040// with awserr.Error's Code and Message methods to get detailed information about
4041// the error.
4042//
4043// See the AWS API reference guide for Amazon GuardDuty's
4044// API operation ListPublishingDestinations for usage and error information.
4045//
4046// Returned Error Types:
4047//   * BadRequestException
4048//   A bad request exception object.
4049//
4050//   * InternalServerErrorException
4051//   An internal server error exception object.
4052//
4053// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListPublishingDestinations
4054func (c *GuardDuty) ListPublishingDestinations(input *ListPublishingDestinationsInput) (*ListPublishingDestinationsOutput, error) {
4055	req, out := c.ListPublishingDestinationsRequest(input)
4056	return out, req.Send()
4057}
4058
4059// ListPublishingDestinationsWithContext is the same as ListPublishingDestinations with the addition of
4060// the ability to pass a context and additional request options.
4061//
4062// See ListPublishingDestinations for details on how to use this API operation.
4063//
4064// The context must be non-nil and will be used for request cancellation. If
4065// the context is nil a panic will occur. In the future the SDK may create
4066// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4067// for more information on using Contexts.
4068func (c *GuardDuty) ListPublishingDestinationsWithContext(ctx aws.Context, input *ListPublishingDestinationsInput, opts ...request.Option) (*ListPublishingDestinationsOutput, error) {
4069	req, out := c.ListPublishingDestinationsRequest(input)
4070	req.SetContext(ctx)
4071	req.ApplyOptions(opts...)
4072	return out, req.Send()
4073}
4074
4075// ListPublishingDestinationsPages iterates over the pages of a ListPublishingDestinations operation,
4076// calling the "fn" function with the response data for each page. To stop
4077// iterating, return false from the fn function.
4078//
4079// See ListPublishingDestinations method for more information on how to use this operation.
4080//
4081// Note: This operation can generate multiple requests to a service.
4082//
4083//    // Example iterating over at most 3 pages of a ListPublishingDestinations operation.
4084//    pageNum := 0
4085//    err := client.ListPublishingDestinationsPages(params,
4086//        func(page *guardduty.ListPublishingDestinationsOutput, lastPage bool) bool {
4087//            pageNum++
4088//            fmt.Println(page)
4089//            return pageNum <= 3
4090//        })
4091//
4092func (c *GuardDuty) ListPublishingDestinationsPages(input *ListPublishingDestinationsInput, fn func(*ListPublishingDestinationsOutput, bool) bool) error {
4093	return c.ListPublishingDestinationsPagesWithContext(aws.BackgroundContext(), input, fn)
4094}
4095
4096// ListPublishingDestinationsPagesWithContext same as ListPublishingDestinationsPages except
4097// it takes a Context and allows setting request options on the pages.
4098//
4099// The context must be non-nil and will be used for request cancellation. If
4100// the context is nil a panic will occur. In the future the SDK may create
4101// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4102// for more information on using Contexts.
4103func (c *GuardDuty) ListPublishingDestinationsPagesWithContext(ctx aws.Context, input *ListPublishingDestinationsInput, fn func(*ListPublishingDestinationsOutput, bool) bool, opts ...request.Option) error {
4104	p := request.Pagination{
4105		NewRequest: func() (*request.Request, error) {
4106			var inCpy *ListPublishingDestinationsInput
4107			if input != nil {
4108				tmp := *input
4109				inCpy = &tmp
4110			}
4111			req, _ := c.ListPublishingDestinationsRequest(inCpy)
4112			req.SetContext(ctx)
4113			req.ApplyOptions(opts...)
4114			return req, nil
4115		},
4116	}
4117
4118	for p.Next() {
4119		if !fn(p.Page().(*ListPublishingDestinationsOutput), !p.HasNextPage()) {
4120			break
4121		}
4122	}
4123
4124	return p.Err()
4125}
4126
4127const opListTagsForResource = "ListTagsForResource"
4128
4129// ListTagsForResourceRequest generates a "aws/request.Request" representing the
4130// client's request for the ListTagsForResource operation. The "output" return
4131// value will be populated with the request's response once the request completes
4132// successfully.
4133//
4134// Use "Send" method on the returned Request to send the API call to the service.
4135// the "output" return value is not valid until after Send returns without error.
4136//
4137// See ListTagsForResource for more information on using the ListTagsForResource
4138// API call, and error handling.
4139//
4140// This method is useful when you want to inject custom logic or configuration
4141// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4142//
4143//
4144//    // Example sending a request using the ListTagsForResourceRequest method.
4145//    req, resp := client.ListTagsForResourceRequest(params)
4146//
4147//    err := req.Send()
4148//    if err == nil { // resp is now filled
4149//        fmt.Println(resp)
4150//    }
4151//
4152// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListTagsForResource
4153func (c *GuardDuty) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
4154	op := &request.Operation{
4155		Name:       opListTagsForResource,
4156		HTTPMethod: "GET",
4157		HTTPPath:   "/tags/{resourceArn}",
4158	}
4159
4160	if input == nil {
4161		input = &ListTagsForResourceInput{}
4162	}
4163
4164	output = &ListTagsForResourceOutput{}
4165	req = c.newRequest(op, input, output)
4166	return
4167}
4168
4169// ListTagsForResource API operation for Amazon GuardDuty.
4170//
4171// Lists tags for a resource. Tagging is currently supported for detectors,
4172// finding filters, IP sets, and threat intel sets, with a limit of 50 tags
4173// per resource. When invoked, this operation returns all assigned tags for
4174// a given resource.
4175//
4176// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4177// with awserr.Error's Code and Message methods to get detailed information about
4178// the error.
4179//
4180// See the AWS API reference guide for Amazon GuardDuty's
4181// API operation ListTagsForResource for usage and error information.
4182//
4183// Returned Error Types:
4184//   * BadRequestException
4185//   A bad request exception object.
4186//
4187//   * InternalServerErrorException
4188//   An internal server error exception object.
4189//
4190// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListTagsForResource
4191func (c *GuardDuty) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
4192	req, out := c.ListTagsForResourceRequest(input)
4193	return out, req.Send()
4194}
4195
4196// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
4197// the ability to pass a context and additional request options.
4198//
4199// See ListTagsForResource for details on how to use this API operation.
4200//
4201// The context must be non-nil and will be used for request cancellation. If
4202// the context is nil a panic will occur. In the future the SDK may create
4203// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4204// for more information on using Contexts.
4205func (c *GuardDuty) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
4206	req, out := c.ListTagsForResourceRequest(input)
4207	req.SetContext(ctx)
4208	req.ApplyOptions(opts...)
4209	return out, req.Send()
4210}
4211
4212const opListThreatIntelSets = "ListThreatIntelSets"
4213
4214// ListThreatIntelSetsRequest generates a "aws/request.Request" representing the
4215// client's request for the ListThreatIntelSets operation. The "output" return
4216// value will be populated with the request's response once the request completes
4217// successfully.
4218//
4219// Use "Send" method on the returned Request to send the API call to the service.
4220// the "output" return value is not valid until after Send returns without error.
4221//
4222// See ListThreatIntelSets for more information on using the ListThreatIntelSets
4223// API call, and error handling.
4224//
4225// This method is useful when you want to inject custom logic or configuration
4226// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4227//
4228//
4229//    // Example sending a request using the ListThreatIntelSetsRequest method.
4230//    req, resp := client.ListThreatIntelSetsRequest(params)
4231//
4232//    err := req.Send()
4233//    if err == nil { // resp is now filled
4234//        fmt.Println(resp)
4235//    }
4236//
4237// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListThreatIntelSets
4238func (c *GuardDuty) ListThreatIntelSetsRequest(input *ListThreatIntelSetsInput) (req *request.Request, output *ListThreatIntelSetsOutput) {
4239	op := &request.Operation{
4240		Name:       opListThreatIntelSets,
4241		HTTPMethod: "GET",
4242		HTTPPath:   "/detector/{detectorId}/threatintelset",
4243		Paginator: &request.Paginator{
4244			InputTokens:     []string{"NextToken"},
4245			OutputTokens:    []string{"NextToken"},
4246			LimitToken:      "MaxResults",
4247			TruncationToken: "",
4248		},
4249	}
4250
4251	if input == nil {
4252		input = &ListThreatIntelSetsInput{}
4253	}
4254
4255	output = &ListThreatIntelSetsOutput{}
4256	req = c.newRequest(op, input, output)
4257	return
4258}
4259
4260// ListThreatIntelSets API operation for Amazon GuardDuty.
4261//
4262// Lists the ThreatIntelSets of the GuardDuty service specified by the detector
4263// ID. If you use this operation from a member account, the ThreatIntelSets
4264// associated with the administrator account are returned.
4265//
4266// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4267// with awserr.Error's Code and Message methods to get detailed information about
4268// the error.
4269//
4270// See the AWS API reference guide for Amazon GuardDuty's
4271// API operation ListThreatIntelSets for usage and error information.
4272//
4273// Returned Error Types:
4274//   * BadRequestException
4275//   A bad request exception object.
4276//
4277//   * InternalServerErrorException
4278//   An internal server error exception object.
4279//
4280// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListThreatIntelSets
4281func (c *GuardDuty) ListThreatIntelSets(input *ListThreatIntelSetsInput) (*ListThreatIntelSetsOutput, error) {
4282	req, out := c.ListThreatIntelSetsRequest(input)
4283	return out, req.Send()
4284}
4285
4286// ListThreatIntelSetsWithContext is the same as ListThreatIntelSets with the addition of
4287// the ability to pass a context and additional request options.
4288//
4289// See ListThreatIntelSets for details on how to use this API operation.
4290//
4291// The context must be non-nil and will be used for request cancellation. If
4292// the context is nil a panic will occur. In the future the SDK may create
4293// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4294// for more information on using Contexts.
4295func (c *GuardDuty) ListThreatIntelSetsWithContext(ctx aws.Context, input *ListThreatIntelSetsInput, opts ...request.Option) (*ListThreatIntelSetsOutput, error) {
4296	req, out := c.ListThreatIntelSetsRequest(input)
4297	req.SetContext(ctx)
4298	req.ApplyOptions(opts...)
4299	return out, req.Send()
4300}
4301
4302// ListThreatIntelSetsPages iterates over the pages of a ListThreatIntelSets operation,
4303// calling the "fn" function with the response data for each page. To stop
4304// iterating, return false from the fn function.
4305//
4306// See ListThreatIntelSets method for more information on how to use this operation.
4307//
4308// Note: This operation can generate multiple requests to a service.
4309//
4310//    // Example iterating over at most 3 pages of a ListThreatIntelSets operation.
4311//    pageNum := 0
4312//    err := client.ListThreatIntelSetsPages(params,
4313//        func(page *guardduty.ListThreatIntelSetsOutput, lastPage bool) bool {
4314//            pageNum++
4315//            fmt.Println(page)
4316//            return pageNum <= 3
4317//        })
4318//
4319func (c *GuardDuty) ListThreatIntelSetsPages(input *ListThreatIntelSetsInput, fn func(*ListThreatIntelSetsOutput, bool) bool) error {
4320	return c.ListThreatIntelSetsPagesWithContext(aws.BackgroundContext(), input, fn)
4321}
4322
4323// ListThreatIntelSetsPagesWithContext same as ListThreatIntelSetsPages except
4324// it takes a Context and allows setting request options on the pages.
4325//
4326// The context must be non-nil and will be used for request cancellation. If
4327// the context is nil a panic will occur. In the future the SDK may create
4328// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4329// for more information on using Contexts.
4330func (c *GuardDuty) ListThreatIntelSetsPagesWithContext(ctx aws.Context, input *ListThreatIntelSetsInput, fn func(*ListThreatIntelSetsOutput, bool) bool, opts ...request.Option) error {
4331	p := request.Pagination{
4332		NewRequest: func() (*request.Request, error) {
4333			var inCpy *ListThreatIntelSetsInput
4334			if input != nil {
4335				tmp := *input
4336				inCpy = &tmp
4337			}
4338			req, _ := c.ListThreatIntelSetsRequest(inCpy)
4339			req.SetContext(ctx)
4340			req.ApplyOptions(opts...)
4341			return req, nil
4342		},
4343	}
4344
4345	for p.Next() {
4346		if !fn(p.Page().(*ListThreatIntelSetsOutput), !p.HasNextPage()) {
4347			break
4348		}
4349	}
4350
4351	return p.Err()
4352}
4353
4354const opStartMonitoringMembers = "StartMonitoringMembers"
4355
4356// StartMonitoringMembersRequest generates a "aws/request.Request" representing the
4357// client's request for the StartMonitoringMembers operation. The "output" return
4358// value will be populated with the request's response once the request completes
4359// successfully.
4360//
4361// Use "Send" method on the returned Request to send the API call to the service.
4362// the "output" return value is not valid until after Send returns without error.
4363//
4364// See StartMonitoringMembers for more information on using the StartMonitoringMembers
4365// API call, and error handling.
4366//
4367// This method is useful when you want to inject custom logic or configuration
4368// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4369//
4370//
4371//    // Example sending a request using the StartMonitoringMembersRequest method.
4372//    req, resp := client.StartMonitoringMembersRequest(params)
4373//
4374//    err := req.Send()
4375//    if err == nil { // resp is now filled
4376//        fmt.Println(resp)
4377//    }
4378//
4379// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/StartMonitoringMembers
4380func (c *GuardDuty) StartMonitoringMembersRequest(input *StartMonitoringMembersInput) (req *request.Request, output *StartMonitoringMembersOutput) {
4381	op := &request.Operation{
4382		Name:       opStartMonitoringMembers,
4383		HTTPMethod: "POST",
4384		HTTPPath:   "/detector/{detectorId}/member/start",
4385	}
4386
4387	if input == nil {
4388		input = &StartMonitoringMembersInput{}
4389	}
4390
4391	output = &StartMonitoringMembersOutput{}
4392	req = c.newRequest(op, input, output)
4393	return
4394}
4395
4396// StartMonitoringMembers API operation for Amazon GuardDuty.
4397//
4398// Turns on GuardDuty monitoring of the specified member accounts. Use this
4399// operation to restart monitoring of accounts that you stopped monitoring with
4400// the StopMonitoringMembers operation.
4401//
4402// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4403// with awserr.Error's Code and Message methods to get detailed information about
4404// the error.
4405//
4406// See the AWS API reference guide for Amazon GuardDuty's
4407// API operation StartMonitoringMembers for usage and error information.
4408//
4409// Returned Error Types:
4410//   * BadRequestException
4411//   A bad request exception object.
4412//
4413//   * InternalServerErrorException
4414//   An internal server error exception object.
4415//
4416// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/StartMonitoringMembers
4417func (c *GuardDuty) StartMonitoringMembers(input *StartMonitoringMembersInput) (*StartMonitoringMembersOutput, error) {
4418	req, out := c.StartMonitoringMembersRequest(input)
4419	return out, req.Send()
4420}
4421
4422// StartMonitoringMembersWithContext is the same as StartMonitoringMembers with the addition of
4423// the ability to pass a context and additional request options.
4424//
4425// See StartMonitoringMembers for details on how to use this API operation.
4426//
4427// The context must be non-nil and will be used for request cancellation. If
4428// the context is nil a panic will occur. In the future the SDK may create
4429// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4430// for more information on using Contexts.
4431func (c *GuardDuty) StartMonitoringMembersWithContext(ctx aws.Context, input *StartMonitoringMembersInput, opts ...request.Option) (*StartMonitoringMembersOutput, error) {
4432	req, out := c.StartMonitoringMembersRequest(input)
4433	req.SetContext(ctx)
4434	req.ApplyOptions(opts...)
4435	return out, req.Send()
4436}
4437
4438const opStopMonitoringMembers = "StopMonitoringMembers"
4439
4440// StopMonitoringMembersRequest generates a "aws/request.Request" representing the
4441// client's request for the StopMonitoringMembers operation. The "output" return
4442// value will be populated with the request's response once the request completes
4443// successfully.
4444//
4445// Use "Send" method on the returned Request to send the API call to the service.
4446// the "output" return value is not valid until after Send returns without error.
4447//
4448// See StopMonitoringMembers for more information on using the StopMonitoringMembers
4449// API call, and error handling.
4450//
4451// This method is useful when you want to inject custom logic or configuration
4452// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4453//
4454//
4455//    // Example sending a request using the StopMonitoringMembersRequest method.
4456//    req, resp := client.StopMonitoringMembersRequest(params)
4457//
4458//    err := req.Send()
4459//    if err == nil { // resp is now filled
4460//        fmt.Println(resp)
4461//    }
4462//
4463// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/StopMonitoringMembers
4464func (c *GuardDuty) StopMonitoringMembersRequest(input *StopMonitoringMembersInput) (req *request.Request, output *StopMonitoringMembersOutput) {
4465	op := &request.Operation{
4466		Name:       opStopMonitoringMembers,
4467		HTTPMethod: "POST",
4468		HTTPPath:   "/detector/{detectorId}/member/stop",
4469	}
4470
4471	if input == nil {
4472		input = &StopMonitoringMembersInput{}
4473	}
4474
4475	output = &StopMonitoringMembersOutput{}
4476	req = c.newRequest(op, input, output)
4477	return
4478}
4479
4480// StopMonitoringMembers API operation for Amazon GuardDuty.
4481//
4482// Stops GuardDuty monitoring for the specified member accounts. Use the StartMonitoringMembers
4483// operation to restart monitoring for those accounts.
4484//
4485// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4486// with awserr.Error's Code and Message methods to get detailed information about
4487// the error.
4488//
4489// See the AWS API reference guide for Amazon GuardDuty's
4490// API operation StopMonitoringMembers for usage and error information.
4491//
4492// Returned Error Types:
4493//   * BadRequestException
4494//   A bad request exception object.
4495//
4496//   * InternalServerErrorException
4497//   An internal server error exception object.
4498//
4499// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/StopMonitoringMembers
4500func (c *GuardDuty) StopMonitoringMembers(input *StopMonitoringMembersInput) (*StopMonitoringMembersOutput, error) {
4501	req, out := c.StopMonitoringMembersRequest(input)
4502	return out, req.Send()
4503}
4504
4505// StopMonitoringMembersWithContext is the same as StopMonitoringMembers with the addition of
4506// the ability to pass a context and additional request options.
4507//
4508// See StopMonitoringMembers for details on how to use this API operation.
4509//
4510// The context must be non-nil and will be used for request cancellation. If
4511// the context is nil a panic will occur. In the future the SDK may create
4512// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4513// for more information on using Contexts.
4514func (c *GuardDuty) StopMonitoringMembersWithContext(ctx aws.Context, input *StopMonitoringMembersInput, opts ...request.Option) (*StopMonitoringMembersOutput, error) {
4515	req, out := c.StopMonitoringMembersRequest(input)
4516	req.SetContext(ctx)
4517	req.ApplyOptions(opts...)
4518	return out, req.Send()
4519}
4520
4521const opTagResource = "TagResource"
4522
4523// TagResourceRequest generates a "aws/request.Request" representing the
4524// client's request for the TagResource operation. The "output" return
4525// value will be populated with the request's response once the request completes
4526// successfully.
4527//
4528// Use "Send" method on the returned Request to send the API call to the service.
4529// the "output" return value is not valid until after Send returns without error.
4530//
4531// See TagResource for more information on using the TagResource
4532// API call, and error handling.
4533//
4534// This method is useful when you want to inject custom logic or configuration
4535// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4536//
4537//
4538//    // Example sending a request using the TagResourceRequest method.
4539//    req, resp := client.TagResourceRequest(params)
4540//
4541//    err := req.Send()
4542//    if err == nil { // resp is now filled
4543//        fmt.Println(resp)
4544//    }
4545//
4546// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/TagResource
4547func (c *GuardDuty) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
4548	op := &request.Operation{
4549		Name:       opTagResource,
4550		HTTPMethod: "POST",
4551		HTTPPath:   "/tags/{resourceArn}",
4552	}
4553
4554	if input == nil {
4555		input = &TagResourceInput{}
4556	}
4557
4558	output = &TagResourceOutput{}
4559	req = c.newRequest(op, input, output)
4560	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4561	return
4562}
4563
4564// TagResource API operation for Amazon GuardDuty.
4565//
4566// Adds tags to a resource.
4567//
4568// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4569// with awserr.Error's Code and Message methods to get detailed information about
4570// the error.
4571//
4572// See the AWS API reference guide for Amazon GuardDuty's
4573// API operation TagResource for usage and error information.
4574//
4575// Returned Error Types:
4576//   * BadRequestException
4577//   A bad request exception object.
4578//
4579//   * InternalServerErrorException
4580//   An internal server error exception object.
4581//
4582// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/TagResource
4583func (c *GuardDuty) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
4584	req, out := c.TagResourceRequest(input)
4585	return out, req.Send()
4586}
4587
4588// TagResourceWithContext is the same as TagResource with the addition of
4589// the ability to pass a context and additional request options.
4590//
4591// See TagResource for details on how to use this API operation.
4592//
4593// The context must be non-nil and will be used for request cancellation. If
4594// the context is nil a panic will occur. In the future the SDK may create
4595// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4596// for more information on using Contexts.
4597func (c *GuardDuty) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
4598	req, out := c.TagResourceRequest(input)
4599	req.SetContext(ctx)
4600	req.ApplyOptions(opts...)
4601	return out, req.Send()
4602}
4603
4604const opUnarchiveFindings = "UnarchiveFindings"
4605
4606// UnarchiveFindingsRequest generates a "aws/request.Request" representing the
4607// client's request for the UnarchiveFindings operation. The "output" return
4608// value will be populated with the request's response once the request completes
4609// successfully.
4610//
4611// Use "Send" method on the returned Request to send the API call to the service.
4612// the "output" return value is not valid until after Send returns without error.
4613//
4614// See UnarchiveFindings for more information on using the UnarchiveFindings
4615// API call, and error handling.
4616//
4617// This method is useful when you want to inject custom logic or configuration
4618// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4619//
4620//
4621//    // Example sending a request using the UnarchiveFindingsRequest method.
4622//    req, resp := client.UnarchiveFindingsRequest(params)
4623//
4624//    err := req.Send()
4625//    if err == nil { // resp is now filled
4626//        fmt.Println(resp)
4627//    }
4628//
4629// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UnarchiveFindings
4630func (c *GuardDuty) UnarchiveFindingsRequest(input *UnarchiveFindingsInput) (req *request.Request, output *UnarchiveFindingsOutput) {
4631	op := &request.Operation{
4632		Name:       opUnarchiveFindings,
4633		HTTPMethod: "POST",
4634		HTTPPath:   "/detector/{detectorId}/findings/unarchive",
4635	}
4636
4637	if input == nil {
4638		input = &UnarchiveFindingsInput{}
4639	}
4640
4641	output = &UnarchiveFindingsOutput{}
4642	req = c.newRequest(op, input, output)
4643	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4644	return
4645}
4646
4647// UnarchiveFindings API operation for Amazon GuardDuty.
4648//
4649// Unarchives GuardDuty findings specified by the findingIds.
4650//
4651// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4652// with awserr.Error's Code and Message methods to get detailed information about
4653// the error.
4654//
4655// See the AWS API reference guide for Amazon GuardDuty's
4656// API operation UnarchiveFindings for usage and error information.
4657//
4658// Returned Error Types:
4659//   * BadRequestException
4660//   A bad request exception object.
4661//
4662//   * InternalServerErrorException
4663//   An internal server error exception object.
4664//
4665// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UnarchiveFindings
4666func (c *GuardDuty) UnarchiveFindings(input *UnarchiveFindingsInput) (*UnarchiveFindingsOutput, error) {
4667	req, out := c.UnarchiveFindingsRequest(input)
4668	return out, req.Send()
4669}
4670
4671// UnarchiveFindingsWithContext is the same as UnarchiveFindings with the addition of
4672// the ability to pass a context and additional request options.
4673//
4674// See UnarchiveFindings for details on how to use this API operation.
4675//
4676// The context must be non-nil and will be used for request cancellation. If
4677// the context is nil a panic will occur. In the future the SDK may create
4678// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4679// for more information on using Contexts.
4680func (c *GuardDuty) UnarchiveFindingsWithContext(ctx aws.Context, input *UnarchiveFindingsInput, opts ...request.Option) (*UnarchiveFindingsOutput, error) {
4681	req, out := c.UnarchiveFindingsRequest(input)
4682	req.SetContext(ctx)
4683	req.ApplyOptions(opts...)
4684	return out, req.Send()
4685}
4686
4687const opUntagResource = "UntagResource"
4688
4689// UntagResourceRequest generates a "aws/request.Request" representing the
4690// client's request for the UntagResource operation. The "output" return
4691// value will be populated with the request's response once the request completes
4692// successfully.
4693//
4694// Use "Send" method on the returned Request to send the API call to the service.
4695// the "output" return value is not valid until after Send returns without error.
4696//
4697// See UntagResource for more information on using the UntagResource
4698// API call, and error handling.
4699//
4700// This method is useful when you want to inject custom logic or configuration
4701// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4702//
4703//
4704//    // Example sending a request using the UntagResourceRequest method.
4705//    req, resp := client.UntagResourceRequest(params)
4706//
4707//    err := req.Send()
4708//    if err == nil { // resp is now filled
4709//        fmt.Println(resp)
4710//    }
4711//
4712// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UntagResource
4713func (c *GuardDuty) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
4714	op := &request.Operation{
4715		Name:       opUntagResource,
4716		HTTPMethod: "DELETE",
4717		HTTPPath:   "/tags/{resourceArn}",
4718	}
4719
4720	if input == nil {
4721		input = &UntagResourceInput{}
4722	}
4723
4724	output = &UntagResourceOutput{}
4725	req = c.newRequest(op, input, output)
4726	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4727	return
4728}
4729
4730// UntagResource API operation for Amazon GuardDuty.
4731//
4732// Removes tags from a resource.
4733//
4734// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4735// with awserr.Error's Code and Message methods to get detailed information about
4736// the error.
4737//
4738// See the AWS API reference guide for Amazon GuardDuty's
4739// API operation UntagResource for usage and error information.
4740//
4741// Returned Error Types:
4742//   * BadRequestException
4743//   A bad request exception object.
4744//
4745//   * InternalServerErrorException
4746//   An internal server error exception object.
4747//
4748// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UntagResource
4749func (c *GuardDuty) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
4750	req, out := c.UntagResourceRequest(input)
4751	return out, req.Send()
4752}
4753
4754// UntagResourceWithContext is the same as UntagResource with the addition of
4755// the ability to pass a context and additional request options.
4756//
4757// See UntagResource for details on how to use this API operation.
4758//
4759// The context must be non-nil and will be used for request cancellation. If
4760// the context is nil a panic will occur. In the future the SDK may create
4761// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4762// for more information on using Contexts.
4763func (c *GuardDuty) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
4764	req, out := c.UntagResourceRequest(input)
4765	req.SetContext(ctx)
4766	req.ApplyOptions(opts...)
4767	return out, req.Send()
4768}
4769
4770const opUpdateDetector = "UpdateDetector"
4771
4772// UpdateDetectorRequest generates a "aws/request.Request" representing the
4773// client's request for the UpdateDetector operation. The "output" return
4774// value will be populated with the request's response once the request completes
4775// successfully.
4776//
4777// Use "Send" method on the returned Request to send the API call to the service.
4778// the "output" return value is not valid until after Send returns without error.
4779//
4780// See UpdateDetector for more information on using the UpdateDetector
4781// API call, and error handling.
4782//
4783// This method is useful when you want to inject custom logic or configuration
4784// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4785//
4786//
4787//    // Example sending a request using the UpdateDetectorRequest method.
4788//    req, resp := client.UpdateDetectorRequest(params)
4789//
4790//    err := req.Send()
4791//    if err == nil { // resp is now filled
4792//        fmt.Println(resp)
4793//    }
4794//
4795// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateDetector
4796func (c *GuardDuty) UpdateDetectorRequest(input *UpdateDetectorInput) (req *request.Request, output *UpdateDetectorOutput) {
4797	op := &request.Operation{
4798		Name:       opUpdateDetector,
4799		HTTPMethod: "POST",
4800		HTTPPath:   "/detector/{detectorId}",
4801	}
4802
4803	if input == nil {
4804		input = &UpdateDetectorInput{}
4805	}
4806
4807	output = &UpdateDetectorOutput{}
4808	req = c.newRequest(op, input, output)
4809	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4810	return
4811}
4812
4813// UpdateDetector API operation for Amazon GuardDuty.
4814//
4815// Updates the Amazon GuardDuty detector specified by the detectorId.
4816//
4817// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4818// with awserr.Error's Code and Message methods to get detailed information about
4819// the error.
4820//
4821// See the AWS API reference guide for Amazon GuardDuty's
4822// API operation UpdateDetector for usage and error information.
4823//
4824// Returned Error Types:
4825//   * BadRequestException
4826//   A bad request exception object.
4827//
4828//   * InternalServerErrorException
4829//   An internal server error exception object.
4830//
4831// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateDetector
4832func (c *GuardDuty) UpdateDetector(input *UpdateDetectorInput) (*UpdateDetectorOutput, error) {
4833	req, out := c.UpdateDetectorRequest(input)
4834	return out, req.Send()
4835}
4836
4837// UpdateDetectorWithContext is the same as UpdateDetector with the addition of
4838// the ability to pass a context and additional request options.
4839//
4840// See UpdateDetector for details on how to use this API operation.
4841//
4842// The context must be non-nil and will be used for request cancellation. If
4843// the context is nil a panic will occur. In the future the SDK may create
4844// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4845// for more information on using Contexts.
4846func (c *GuardDuty) UpdateDetectorWithContext(ctx aws.Context, input *UpdateDetectorInput, opts ...request.Option) (*UpdateDetectorOutput, error) {
4847	req, out := c.UpdateDetectorRequest(input)
4848	req.SetContext(ctx)
4849	req.ApplyOptions(opts...)
4850	return out, req.Send()
4851}
4852
4853const opUpdateFilter = "UpdateFilter"
4854
4855// UpdateFilterRequest generates a "aws/request.Request" representing the
4856// client's request for the UpdateFilter operation. The "output" return
4857// value will be populated with the request's response once the request completes
4858// successfully.
4859//
4860// Use "Send" method on the returned Request to send the API call to the service.
4861// the "output" return value is not valid until after Send returns without error.
4862//
4863// See UpdateFilter for more information on using the UpdateFilter
4864// API call, and error handling.
4865//
4866// This method is useful when you want to inject custom logic or configuration
4867// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4868//
4869//
4870//    // Example sending a request using the UpdateFilterRequest method.
4871//    req, resp := client.UpdateFilterRequest(params)
4872//
4873//    err := req.Send()
4874//    if err == nil { // resp is now filled
4875//        fmt.Println(resp)
4876//    }
4877//
4878// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateFilter
4879func (c *GuardDuty) UpdateFilterRequest(input *UpdateFilterInput) (req *request.Request, output *UpdateFilterOutput) {
4880	op := &request.Operation{
4881		Name:       opUpdateFilter,
4882		HTTPMethod: "POST",
4883		HTTPPath:   "/detector/{detectorId}/filter/{filterName}",
4884	}
4885
4886	if input == nil {
4887		input = &UpdateFilterInput{}
4888	}
4889
4890	output = &UpdateFilterOutput{}
4891	req = c.newRequest(op, input, output)
4892	return
4893}
4894
4895// UpdateFilter API operation for Amazon GuardDuty.
4896//
4897// Updates the filter specified by the filter name.
4898//
4899// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4900// with awserr.Error's Code and Message methods to get detailed information about
4901// the error.
4902//
4903// See the AWS API reference guide for Amazon GuardDuty's
4904// API operation UpdateFilter for usage and error information.
4905//
4906// Returned Error Types:
4907//   * BadRequestException
4908//   A bad request exception object.
4909//
4910//   * InternalServerErrorException
4911//   An internal server error exception object.
4912//
4913// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateFilter
4914func (c *GuardDuty) UpdateFilter(input *UpdateFilterInput) (*UpdateFilterOutput, error) {
4915	req, out := c.UpdateFilterRequest(input)
4916	return out, req.Send()
4917}
4918
4919// UpdateFilterWithContext is the same as UpdateFilter with the addition of
4920// the ability to pass a context and additional request options.
4921//
4922// See UpdateFilter for details on how to use this API operation.
4923//
4924// The context must be non-nil and will be used for request cancellation. If
4925// the context is nil a panic will occur. In the future the SDK may create
4926// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4927// for more information on using Contexts.
4928func (c *GuardDuty) UpdateFilterWithContext(ctx aws.Context, input *UpdateFilterInput, opts ...request.Option) (*UpdateFilterOutput, error) {
4929	req, out := c.UpdateFilterRequest(input)
4930	req.SetContext(ctx)
4931	req.ApplyOptions(opts...)
4932	return out, req.Send()
4933}
4934
4935const opUpdateFindingsFeedback = "UpdateFindingsFeedback"
4936
4937// UpdateFindingsFeedbackRequest generates a "aws/request.Request" representing the
4938// client's request for the UpdateFindingsFeedback operation. The "output" return
4939// value will be populated with the request's response once the request completes
4940// successfully.
4941//
4942// Use "Send" method on the returned Request to send the API call to the service.
4943// the "output" return value is not valid until after Send returns without error.
4944//
4945// See UpdateFindingsFeedback for more information on using the UpdateFindingsFeedback
4946// API call, and error handling.
4947//
4948// This method is useful when you want to inject custom logic or configuration
4949// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4950//
4951//
4952//    // Example sending a request using the UpdateFindingsFeedbackRequest method.
4953//    req, resp := client.UpdateFindingsFeedbackRequest(params)
4954//
4955//    err := req.Send()
4956//    if err == nil { // resp is now filled
4957//        fmt.Println(resp)
4958//    }
4959//
4960// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateFindingsFeedback
4961func (c *GuardDuty) UpdateFindingsFeedbackRequest(input *UpdateFindingsFeedbackInput) (req *request.Request, output *UpdateFindingsFeedbackOutput) {
4962	op := &request.Operation{
4963		Name:       opUpdateFindingsFeedback,
4964		HTTPMethod: "POST",
4965		HTTPPath:   "/detector/{detectorId}/findings/feedback",
4966	}
4967
4968	if input == nil {
4969		input = &UpdateFindingsFeedbackInput{}
4970	}
4971
4972	output = &UpdateFindingsFeedbackOutput{}
4973	req = c.newRequest(op, input, output)
4974	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4975	return
4976}
4977
4978// UpdateFindingsFeedback API operation for Amazon GuardDuty.
4979//
4980// Marks the specified GuardDuty findings as useful or not useful.
4981//
4982// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4983// with awserr.Error's Code and Message methods to get detailed information about
4984// the error.
4985//
4986// See the AWS API reference guide for Amazon GuardDuty's
4987// API operation UpdateFindingsFeedback for usage and error information.
4988//
4989// Returned Error Types:
4990//   * BadRequestException
4991//   A bad request exception object.
4992//
4993//   * InternalServerErrorException
4994//   An internal server error exception object.
4995//
4996// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateFindingsFeedback
4997func (c *GuardDuty) UpdateFindingsFeedback(input *UpdateFindingsFeedbackInput) (*UpdateFindingsFeedbackOutput, error) {
4998	req, out := c.UpdateFindingsFeedbackRequest(input)
4999	return out, req.Send()
5000}
5001
5002// UpdateFindingsFeedbackWithContext is the same as UpdateFindingsFeedback with the addition of
5003// the ability to pass a context and additional request options.
5004//
5005// See UpdateFindingsFeedback for details on how to use this API operation.
5006//
5007// The context must be non-nil and will be used for request cancellation. If
5008// the context is nil a panic will occur. In the future the SDK may create
5009// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5010// for more information on using Contexts.
5011func (c *GuardDuty) UpdateFindingsFeedbackWithContext(ctx aws.Context, input *UpdateFindingsFeedbackInput, opts ...request.Option) (*UpdateFindingsFeedbackOutput, error) {
5012	req, out := c.UpdateFindingsFeedbackRequest(input)
5013	req.SetContext(ctx)
5014	req.ApplyOptions(opts...)
5015	return out, req.Send()
5016}
5017
5018const opUpdateIPSet = "UpdateIPSet"
5019
5020// UpdateIPSetRequest generates a "aws/request.Request" representing the
5021// client's request for the UpdateIPSet operation. The "output" return
5022// value will be populated with the request's response once the request completes
5023// successfully.
5024//
5025// Use "Send" method on the returned Request to send the API call to the service.
5026// the "output" return value is not valid until after Send returns without error.
5027//
5028// See UpdateIPSet for more information on using the UpdateIPSet
5029// API call, and error handling.
5030//
5031// This method is useful when you want to inject custom logic or configuration
5032// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5033//
5034//
5035//    // Example sending a request using the UpdateIPSetRequest method.
5036//    req, resp := client.UpdateIPSetRequest(params)
5037//
5038//    err := req.Send()
5039//    if err == nil { // resp is now filled
5040//        fmt.Println(resp)
5041//    }
5042//
5043// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateIPSet
5044func (c *GuardDuty) UpdateIPSetRequest(input *UpdateIPSetInput) (req *request.Request, output *UpdateIPSetOutput) {
5045	op := &request.Operation{
5046		Name:       opUpdateIPSet,
5047		HTTPMethod: "POST",
5048		HTTPPath:   "/detector/{detectorId}/ipset/{ipSetId}",
5049	}
5050
5051	if input == nil {
5052		input = &UpdateIPSetInput{}
5053	}
5054
5055	output = &UpdateIPSetOutput{}
5056	req = c.newRequest(op, input, output)
5057	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5058	return
5059}
5060
5061// UpdateIPSet API operation for Amazon GuardDuty.
5062//
5063// Updates the IPSet specified by the IPSet ID.
5064//
5065// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5066// with awserr.Error's Code and Message methods to get detailed information about
5067// the error.
5068//
5069// See the AWS API reference guide for Amazon GuardDuty's
5070// API operation UpdateIPSet for usage and error information.
5071//
5072// Returned Error Types:
5073//   * BadRequestException
5074//   A bad request exception object.
5075//
5076//   * InternalServerErrorException
5077//   An internal server error exception object.
5078//
5079// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateIPSet
5080func (c *GuardDuty) UpdateIPSet(input *UpdateIPSetInput) (*UpdateIPSetOutput, error) {
5081	req, out := c.UpdateIPSetRequest(input)
5082	return out, req.Send()
5083}
5084
5085// UpdateIPSetWithContext is the same as UpdateIPSet with the addition of
5086// the ability to pass a context and additional request options.
5087//
5088// See UpdateIPSet for details on how to use this API operation.
5089//
5090// The context must be non-nil and will be used for request cancellation. If
5091// the context is nil a panic will occur. In the future the SDK may create
5092// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5093// for more information on using Contexts.
5094func (c *GuardDuty) UpdateIPSetWithContext(ctx aws.Context, input *UpdateIPSetInput, opts ...request.Option) (*UpdateIPSetOutput, error) {
5095	req, out := c.UpdateIPSetRequest(input)
5096	req.SetContext(ctx)
5097	req.ApplyOptions(opts...)
5098	return out, req.Send()
5099}
5100
5101const opUpdateMemberDetectors = "UpdateMemberDetectors"
5102
5103// UpdateMemberDetectorsRequest generates a "aws/request.Request" representing the
5104// client's request for the UpdateMemberDetectors operation. The "output" return
5105// value will be populated with the request's response once the request completes
5106// successfully.
5107//
5108// Use "Send" method on the returned Request to send the API call to the service.
5109// the "output" return value is not valid until after Send returns without error.
5110//
5111// See UpdateMemberDetectors for more information on using the UpdateMemberDetectors
5112// API call, and error handling.
5113//
5114// This method is useful when you want to inject custom logic or configuration
5115// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5116//
5117//
5118//    // Example sending a request using the UpdateMemberDetectorsRequest method.
5119//    req, resp := client.UpdateMemberDetectorsRequest(params)
5120//
5121//    err := req.Send()
5122//    if err == nil { // resp is now filled
5123//        fmt.Println(resp)
5124//    }
5125//
5126// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateMemberDetectors
5127func (c *GuardDuty) UpdateMemberDetectorsRequest(input *UpdateMemberDetectorsInput) (req *request.Request, output *UpdateMemberDetectorsOutput) {
5128	op := &request.Operation{
5129		Name:       opUpdateMemberDetectors,
5130		HTTPMethod: "POST",
5131		HTTPPath:   "/detector/{detectorId}/member/detector/update",
5132	}
5133
5134	if input == nil {
5135		input = &UpdateMemberDetectorsInput{}
5136	}
5137
5138	output = &UpdateMemberDetectorsOutput{}
5139	req = c.newRequest(op, input, output)
5140	return
5141}
5142
5143// UpdateMemberDetectors API operation for Amazon GuardDuty.
5144//
5145// Contains information on member accounts to be updated.
5146//
5147// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5148// with awserr.Error's Code and Message methods to get detailed information about
5149// the error.
5150//
5151// See the AWS API reference guide for Amazon GuardDuty's
5152// API operation UpdateMemberDetectors for usage and error information.
5153//
5154// Returned Error Types:
5155//   * BadRequestException
5156//   A bad request exception object.
5157//
5158//   * InternalServerErrorException
5159//   An internal server error exception object.
5160//
5161// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateMemberDetectors
5162func (c *GuardDuty) UpdateMemberDetectors(input *UpdateMemberDetectorsInput) (*UpdateMemberDetectorsOutput, error) {
5163	req, out := c.UpdateMemberDetectorsRequest(input)
5164	return out, req.Send()
5165}
5166
5167// UpdateMemberDetectorsWithContext is the same as UpdateMemberDetectors with the addition of
5168// the ability to pass a context and additional request options.
5169//
5170// See UpdateMemberDetectors for details on how to use this API operation.
5171//
5172// The context must be non-nil and will be used for request cancellation. If
5173// the context is nil a panic will occur. In the future the SDK may create
5174// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5175// for more information on using Contexts.
5176func (c *GuardDuty) UpdateMemberDetectorsWithContext(ctx aws.Context, input *UpdateMemberDetectorsInput, opts ...request.Option) (*UpdateMemberDetectorsOutput, error) {
5177	req, out := c.UpdateMemberDetectorsRequest(input)
5178	req.SetContext(ctx)
5179	req.ApplyOptions(opts...)
5180	return out, req.Send()
5181}
5182
5183const opUpdateOrganizationConfiguration = "UpdateOrganizationConfiguration"
5184
5185// UpdateOrganizationConfigurationRequest generates a "aws/request.Request" representing the
5186// client's request for the UpdateOrganizationConfiguration operation. The "output" return
5187// value will be populated with the request's response once the request completes
5188// successfully.
5189//
5190// Use "Send" method on the returned Request to send the API call to the service.
5191// the "output" return value is not valid until after Send returns without error.
5192//
5193// See UpdateOrganizationConfiguration for more information on using the UpdateOrganizationConfiguration
5194// API call, and error handling.
5195//
5196// This method is useful when you want to inject custom logic or configuration
5197// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5198//
5199//
5200//    // Example sending a request using the UpdateOrganizationConfigurationRequest method.
5201//    req, resp := client.UpdateOrganizationConfigurationRequest(params)
5202//
5203//    err := req.Send()
5204//    if err == nil { // resp is now filled
5205//        fmt.Println(resp)
5206//    }
5207//
5208// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateOrganizationConfiguration
5209func (c *GuardDuty) UpdateOrganizationConfigurationRequest(input *UpdateOrganizationConfigurationInput) (req *request.Request, output *UpdateOrganizationConfigurationOutput) {
5210	op := &request.Operation{
5211		Name:       opUpdateOrganizationConfiguration,
5212		HTTPMethod: "POST",
5213		HTTPPath:   "/detector/{detectorId}/admin",
5214	}
5215
5216	if input == nil {
5217		input = &UpdateOrganizationConfigurationInput{}
5218	}
5219
5220	output = &UpdateOrganizationConfigurationOutput{}
5221	req = c.newRequest(op, input, output)
5222	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5223	return
5224}
5225
5226// UpdateOrganizationConfiguration API operation for Amazon GuardDuty.
5227//
5228// Updates the delegated administrator account with the values provided.
5229//
5230// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5231// with awserr.Error's Code and Message methods to get detailed information about
5232// the error.
5233//
5234// See the AWS API reference guide for Amazon GuardDuty's
5235// API operation UpdateOrganizationConfiguration for usage and error information.
5236//
5237// Returned Error Types:
5238//   * BadRequestException
5239//   A bad request exception object.
5240//
5241//   * InternalServerErrorException
5242//   An internal server error exception object.
5243//
5244// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateOrganizationConfiguration
5245func (c *GuardDuty) UpdateOrganizationConfiguration(input *UpdateOrganizationConfigurationInput) (*UpdateOrganizationConfigurationOutput, error) {
5246	req, out := c.UpdateOrganizationConfigurationRequest(input)
5247	return out, req.Send()
5248}
5249
5250// UpdateOrganizationConfigurationWithContext is the same as UpdateOrganizationConfiguration with the addition of
5251// the ability to pass a context and additional request options.
5252//
5253// See UpdateOrganizationConfiguration for details on how to use this API operation.
5254//
5255// The context must be non-nil and will be used for request cancellation. If
5256// the context is nil a panic will occur. In the future the SDK may create
5257// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5258// for more information on using Contexts.
5259func (c *GuardDuty) UpdateOrganizationConfigurationWithContext(ctx aws.Context, input *UpdateOrganizationConfigurationInput, opts ...request.Option) (*UpdateOrganizationConfigurationOutput, error) {
5260	req, out := c.UpdateOrganizationConfigurationRequest(input)
5261	req.SetContext(ctx)
5262	req.ApplyOptions(opts...)
5263	return out, req.Send()
5264}
5265
5266const opUpdatePublishingDestination = "UpdatePublishingDestination"
5267
5268// UpdatePublishingDestinationRequest generates a "aws/request.Request" representing the
5269// client's request for the UpdatePublishingDestination operation. The "output" return
5270// value will be populated with the request's response once the request completes
5271// successfully.
5272//
5273// Use "Send" method on the returned Request to send the API call to the service.
5274// the "output" return value is not valid until after Send returns without error.
5275//
5276// See UpdatePublishingDestination for more information on using the UpdatePublishingDestination
5277// API call, and error handling.
5278//
5279// This method is useful when you want to inject custom logic or configuration
5280// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5281//
5282//
5283//    // Example sending a request using the UpdatePublishingDestinationRequest method.
5284//    req, resp := client.UpdatePublishingDestinationRequest(params)
5285//
5286//    err := req.Send()
5287//    if err == nil { // resp is now filled
5288//        fmt.Println(resp)
5289//    }
5290//
5291// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdatePublishingDestination
5292func (c *GuardDuty) UpdatePublishingDestinationRequest(input *UpdatePublishingDestinationInput) (req *request.Request, output *UpdatePublishingDestinationOutput) {
5293	op := &request.Operation{
5294		Name:       opUpdatePublishingDestination,
5295		HTTPMethod: "POST",
5296		HTTPPath:   "/detector/{detectorId}/publishingDestination/{destinationId}",
5297	}
5298
5299	if input == nil {
5300		input = &UpdatePublishingDestinationInput{}
5301	}
5302
5303	output = &UpdatePublishingDestinationOutput{}
5304	req = c.newRequest(op, input, output)
5305	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5306	return
5307}
5308
5309// UpdatePublishingDestination API operation for Amazon GuardDuty.
5310//
5311// Updates information about the publishing destination specified by the destinationId.
5312//
5313// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5314// with awserr.Error's Code and Message methods to get detailed information about
5315// the error.
5316//
5317// See the AWS API reference guide for Amazon GuardDuty's
5318// API operation UpdatePublishingDestination for usage and error information.
5319//
5320// Returned Error Types:
5321//   * BadRequestException
5322//   A bad request exception object.
5323//
5324//   * InternalServerErrorException
5325//   An internal server error exception object.
5326//
5327// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdatePublishingDestination
5328func (c *GuardDuty) UpdatePublishingDestination(input *UpdatePublishingDestinationInput) (*UpdatePublishingDestinationOutput, error) {
5329	req, out := c.UpdatePublishingDestinationRequest(input)
5330	return out, req.Send()
5331}
5332
5333// UpdatePublishingDestinationWithContext is the same as UpdatePublishingDestination with the addition of
5334// the ability to pass a context and additional request options.
5335//
5336// See UpdatePublishingDestination for details on how to use this API operation.
5337//
5338// The context must be non-nil and will be used for request cancellation. If
5339// the context is nil a panic will occur. In the future the SDK may create
5340// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5341// for more information on using Contexts.
5342func (c *GuardDuty) UpdatePublishingDestinationWithContext(ctx aws.Context, input *UpdatePublishingDestinationInput, opts ...request.Option) (*UpdatePublishingDestinationOutput, error) {
5343	req, out := c.UpdatePublishingDestinationRequest(input)
5344	req.SetContext(ctx)
5345	req.ApplyOptions(opts...)
5346	return out, req.Send()
5347}
5348
5349const opUpdateThreatIntelSet = "UpdateThreatIntelSet"
5350
5351// UpdateThreatIntelSetRequest generates a "aws/request.Request" representing the
5352// client's request for the UpdateThreatIntelSet operation. The "output" return
5353// value will be populated with the request's response once the request completes
5354// successfully.
5355//
5356// Use "Send" method on the returned Request to send the API call to the service.
5357// the "output" return value is not valid until after Send returns without error.
5358//
5359// See UpdateThreatIntelSet for more information on using the UpdateThreatIntelSet
5360// API call, and error handling.
5361//
5362// This method is useful when you want to inject custom logic or configuration
5363// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5364//
5365//
5366//    // Example sending a request using the UpdateThreatIntelSetRequest method.
5367//    req, resp := client.UpdateThreatIntelSetRequest(params)
5368//
5369//    err := req.Send()
5370//    if err == nil { // resp is now filled
5371//        fmt.Println(resp)
5372//    }
5373//
5374// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateThreatIntelSet
5375func (c *GuardDuty) UpdateThreatIntelSetRequest(input *UpdateThreatIntelSetInput) (req *request.Request, output *UpdateThreatIntelSetOutput) {
5376	op := &request.Operation{
5377		Name:       opUpdateThreatIntelSet,
5378		HTTPMethod: "POST",
5379		HTTPPath:   "/detector/{detectorId}/threatintelset/{threatIntelSetId}",
5380	}
5381
5382	if input == nil {
5383		input = &UpdateThreatIntelSetInput{}
5384	}
5385
5386	output = &UpdateThreatIntelSetOutput{}
5387	req = c.newRequest(op, input, output)
5388	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5389	return
5390}
5391
5392// UpdateThreatIntelSet API operation for Amazon GuardDuty.
5393//
5394// Updates the ThreatIntelSet specified by the ThreatIntelSet ID.
5395//
5396// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5397// with awserr.Error's Code and Message methods to get detailed information about
5398// the error.
5399//
5400// See the AWS API reference guide for Amazon GuardDuty's
5401// API operation UpdateThreatIntelSet for usage and error information.
5402//
5403// Returned Error Types:
5404//   * BadRequestException
5405//   A bad request exception object.
5406//
5407//   * InternalServerErrorException
5408//   An internal server error exception object.
5409//
5410// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateThreatIntelSet
5411func (c *GuardDuty) UpdateThreatIntelSet(input *UpdateThreatIntelSetInput) (*UpdateThreatIntelSetOutput, error) {
5412	req, out := c.UpdateThreatIntelSetRequest(input)
5413	return out, req.Send()
5414}
5415
5416// UpdateThreatIntelSetWithContext is the same as UpdateThreatIntelSet with the addition of
5417// the ability to pass a context and additional request options.
5418//
5419// See UpdateThreatIntelSet for details on how to use this API operation.
5420//
5421// The context must be non-nil and will be used for request cancellation. If
5422// the context is nil a panic will occur. In the future the SDK may create
5423// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5424// for more information on using Contexts.
5425func (c *GuardDuty) UpdateThreatIntelSetWithContext(ctx aws.Context, input *UpdateThreatIntelSetInput, opts ...request.Option) (*UpdateThreatIntelSetOutput, error) {
5426	req, out := c.UpdateThreatIntelSetRequest(input)
5427	req.SetContext(ctx)
5428	req.ApplyOptions(opts...)
5429	return out, req.Send()
5430}
5431
5432type AcceptInvitationInput struct {
5433	_ struct{} `type:"structure"`
5434
5435	// The unique ID of the detector of the GuardDuty member account.
5436	//
5437	// DetectorId is a required field
5438	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
5439
5440	// The value that is used to validate the administrator account to the member
5441	// account.
5442	//
5443	// InvitationId is a required field
5444	InvitationId *string `locationName:"invitationId" type:"string" required:"true"`
5445
5446	// The account ID of the GuardDuty administrator account whose invitation you're
5447	// accepting.
5448	//
5449	// MasterId is a required field
5450	MasterId *string `locationName:"masterId" type:"string" required:"true"`
5451}
5452
5453// String returns the string representation
5454func (s AcceptInvitationInput) String() string {
5455	return awsutil.Prettify(s)
5456}
5457
5458// GoString returns the string representation
5459func (s AcceptInvitationInput) GoString() string {
5460	return s.String()
5461}
5462
5463// Validate inspects the fields of the type to determine if they are valid.
5464func (s *AcceptInvitationInput) Validate() error {
5465	invalidParams := request.ErrInvalidParams{Context: "AcceptInvitationInput"}
5466	if s.DetectorId == nil {
5467		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
5468	}
5469	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
5470		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
5471	}
5472	if s.InvitationId == nil {
5473		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
5474	}
5475	if s.MasterId == nil {
5476		invalidParams.Add(request.NewErrParamRequired("MasterId"))
5477	}
5478
5479	if invalidParams.Len() > 0 {
5480		return invalidParams
5481	}
5482	return nil
5483}
5484
5485// SetDetectorId sets the DetectorId field's value.
5486func (s *AcceptInvitationInput) SetDetectorId(v string) *AcceptInvitationInput {
5487	s.DetectorId = &v
5488	return s
5489}
5490
5491// SetInvitationId sets the InvitationId field's value.
5492func (s *AcceptInvitationInput) SetInvitationId(v string) *AcceptInvitationInput {
5493	s.InvitationId = &v
5494	return s
5495}
5496
5497// SetMasterId sets the MasterId field's value.
5498func (s *AcceptInvitationInput) SetMasterId(v string) *AcceptInvitationInput {
5499	s.MasterId = &v
5500	return s
5501}
5502
5503type AcceptInvitationOutput struct {
5504	_ struct{} `type:"structure"`
5505}
5506
5507// String returns the string representation
5508func (s AcceptInvitationOutput) String() string {
5509	return awsutil.Prettify(s)
5510}
5511
5512// GoString returns the string representation
5513func (s AcceptInvitationOutput) GoString() string {
5514	return s.String()
5515}
5516
5517// Contains information on the current access control policies for the bucket.
5518type AccessControlList struct {
5519	_ struct{} `type:"structure"`
5520
5521	// A value that indicates whether public read access for the bucket is enabled
5522	// through an Access Control List (ACL).
5523	AllowsPublicReadAccess *bool `locationName:"allowsPublicReadAccess" type:"boolean"`
5524
5525	// A value that indicates whether public write access for the bucket is enabled
5526	// through an Access Control List (ACL).
5527	AllowsPublicWriteAccess *bool `locationName:"allowsPublicWriteAccess" type:"boolean"`
5528}
5529
5530// String returns the string representation
5531func (s AccessControlList) String() string {
5532	return awsutil.Prettify(s)
5533}
5534
5535// GoString returns the string representation
5536func (s AccessControlList) GoString() string {
5537	return s.String()
5538}
5539
5540// SetAllowsPublicReadAccess sets the AllowsPublicReadAccess field's value.
5541func (s *AccessControlList) SetAllowsPublicReadAccess(v bool) *AccessControlList {
5542	s.AllowsPublicReadAccess = &v
5543	return s
5544}
5545
5546// SetAllowsPublicWriteAccess sets the AllowsPublicWriteAccess field's value.
5547func (s *AccessControlList) SetAllowsPublicWriteAccess(v bool) *AccessControlList {
5548	s.AllowsPublicWriteAccess = &v
5549	return s
5550}
5551
5552// Contains information about the access keys.
5553type AccessKeyDetails struct {
5554	_ struct{} `type:"structure"`
5555
5556	// The access key ID of the user.
5557	AccessKeyId *string `locationName:"accessKeyId" type:"string"`
5558
5559	// The principal ID of the user.
5560	PrincipalId *string `locationName:"principalId" type:"string"`
5561
5562	// The name of the user.
5563	UserName *string `locationName:"userName" type:"string"`
5564
5565	// The type of the user.
5566	UserType *string `locationName:"userType" type:"string"`
5567}
5568
5569// String returns the string representation
5570func (s AccessKeyDetails) String() string {
5571	return awsutil.Prettify(s)
5572}
5573
5574// GoString returns the string representation
5575func (s AccessKeyDetails) GoString() string {
5576	return s.String()
5577}
5578
5579// SetAccessKeyId sets the AccessKeyId field's value.
5580func (s *AccessKeyDetails) SetAccessKeyId(v string) *AccessKeyDetails {
5581	s.AccessKeyId = &v
5582	return s
5583}
5584
5585// SetPrincipalId sets the PrincipalId field's value.
5586func (s *AccessKeyDetails) SetPrincipalId(v string) *AccessKeyDetails {
5587	s.PrincipalId = &v
5588	return s
5589}
5590
5591// SetUserName sets the UserName field's value.
5592func (s *AccessKeyDetails) SetUserName(v string) *AccessKeyDetails {
5593	s.UserName = &v
5594	return s
5595}
5596
5597// SetUserType sets the UserType field's value.
5598func (s *AccessKeyDetails) SetUserType(v string) *AccessKeyDetails {
5599	s.UserType = &v
5600	return s
5601}
5602
5603// Contains information about the account.
5604type AccountDetail struct {
5605	_ struct{} `type:"structure"`
5606
5607	// The member account ID.
5608	//
5609	// AccountId is a required field
5610	AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"`
5611
5612	// The email address of the member account.
5613	//
5614	// Email is a required field
5615	Email *string `locationName:"email" min:"1" type:"string" required:"true"`
5616}
5617
5618// String returns the string representation
5619func (s AccountDetail) String() string {
5620	return awsutil.Prettify(s)
5621}
5622
5623// GoString returns the string representation
5624func (s AccountDetail) GoString() string {
5625	return s.String()
5626}
5627
5628// Validate inspects the fields of the type to determine if they are valid.
5629func (s *AccountDetail) Validate() error {
5630	invalidParams := request.ErrInvalidParams{Context: "AccountDetail"}
5631	if s.AccountId == nil {
5632		invalidParams.Add(request.NewErrParamRequired("AccountId"))
5633	}
5634	if s.AccountId != nil && len(*s.AccountId) < 12 {
5635		invalidParams.Add(request.NewErrParamMinLen("AccountId", 12))
5636	}
5637	if s.Email == nil {
5638		invalidParams.Add(request.NewErrParamRequired("Email"))
5639	}
5640	if s.Email != nil && len(*s.Email) < 1 {
5641		invalidParams.Add(request.NewErrParamMinLen("Email", 1))
5642	}
5643
5644	if invalidParams.Len() > 0 {
5645		return invalidParams
5646	}
5647	return nil
5648}
5649
5650// SetAccountId sets the AccountId field's value.
5651func (s *AccountDetail) SetAccountId(v string) *AccountDetail {
5652	s.AccountId = &v
5653	return s
5654}
5655
5656// SetEmail sets the Email field's value.
5657func (s *AccountDetail) SetEmail(v string) *AccountDetail {
5658	s.Email = &v
5659	return s
5660}
5661
5662// Contains information about the account level permissions on the S3 bucket.
5663type AccountLevelPermissions struct {
5664	_ struct{} `type:"structure"`
5665
5666	// Describes the S3 Block Public Access settings of the bucket's parent account.
5667	BlockPublicAccess *BlockPublicAccess `locationName:"blockPublicAccess" type:"structure"`
5668}
5669
5670// String returns the string representation
5671func (s AccountLevelPermissions) String() string {
5672	return awsutil.Prettify(s)
5673}
5674
5675// GoString returns the string representation
5676func (s AccountLevelPermissions) GoString() string {
5677	return s.String()
5678}
5679
5680// SetBlockPublicAccess sets the BlockPublicAccess field's value.
5681func (s *AccountLevelPermissions) SetBlockPublicAccess(v *BlockPublicAccess) *AccountLevelPermissions {
5682	s.BlockPublicAccess = v
5683	return s
5684}
5685
5686// Contains information about actions.
5687type Action struct {
5688	_ struct{} `type:"structure"`
5689
5690	// The GuardDuty finding activity type.
5691	ActionType *string `locationName:"actionType" type:"string"`
5692
5693	// Information about the AWS_API_CALL action described in this finding.
5694	AwsApiCallAction *AwsApiCallAction `locationName:"awsApiCallAction" type:"structure"`
5695
5696	// Information about the DNS_REQUEST action described in this finding.
5697	DnsRequestAction *DnsRequestAction `locationName:"dnsRequestAction" type:"structure"`
5698
5699	// Information about the NETWORK_CONNECTION action described in this finding.
5700	NetworkConnectionAction *NetworkConnectionAction `locationName:"networkConnectionAction" type:"structure"`
5701
5702	// Information about the PORT_PROBE action described in this finding.
5703	PortProbeAction *PortProbeAction `locationName:"portProbeAction" type:"structure"`
5704}
5705
5706// String returns the string representation
5707func (s Action) String() string {
5708	return awsutil.Prettify(s)
5709}
5710
5711// GoString returns the string representation
5712func (s Action) GoString() string {
5713	return s.String()
5714}
5715
5716// SetActionType sets the ActionType field's value.
5717func (s *Action) SetActionType(v string) *Action {
5718	s.ActionType = &v
5719	return s
5720}
5721
5722// SetAwsApiCallAction sets the AwsApiCallAction field's value.
5723func (s *Action) SetAwsApiCallAction(v *AwsApiCallAction) *Action {
5724	s.AwsApiCallAction = v
5725	return s
5726}
5727
5728// SetDnsRequestAction sets the DnsRequestAction field's value.
5729func (s *Action) SetDnsRequestAction(v *DnsRequestAction) *Action {
5730	s.DnsRequestAction = v
5731	return s
5732}
5733
5734// SetNetworkConnectionAction sets the NetworkConnectionAction field's value.
5735func (s *Action) SetNetworkConnectionAction(v *NetworkConnectionAction) *Action {
5736	s.NetworkConnectionAction = v
5737	return s
5738}
5739
5740// SetPortProbeAction sets the PortProbeAction field's value.
5741func (s *Action) SetPortProbeAction(v *PortProbeAction) *Action {
5742	s.PortProbeAction = v
5743	return s
5744}
5745
5746// The account within the organization specified as the GuardDuty delegated
5747// administrator.
5748type AdminAccount struct {
5749	_ struct{} `type:"structure"`
5750
5751	// The AWS account ID for the account.
5752	AdminAccountId *string `locationName:"adminAccountId" type:"string"`
5753
5754	// Indicates whether the account is enabled as the delegated administrator.
5755	AdminStatus *string `locationName:"adminStatus" min:"1" type:"string" enum:"AdminStatus"`
5756}
5757
5758// String returns the string representation
5759func (s AdminAccount) String() string {
5760	return awsutil.Prettify(s)
5761}
5762
5763// GoString returns the string representation
5764func (s AdminAccount) GoString() string {
5765	return s.String()
5766}
5767
5768// SetAdminAccountId sets the AdminAccountId field's value.
5769func (s *AdminAccount) SetAdminAccountId(v string) *AdminAccount {
5770	s.AdminAccountId = &v
5771	return s
5772}
5773
5774// SetAdminStatus sets the AdminStatus field's value.
5775func (s *AdminAccount) SetAdminStatus(v string) *AdminAccount {
5776	s.AdminStatus = &v
5777	return s
5778}
5779
5780type ArchiveFindingsInput struct {
5781	_ struct{} `type:"structure"`
5782
5783	// The ID of the detector that specifies the GuardDuty service whose findings
5784	// you want to archive.
5785	//
5786	// DetectorId is a required field
5787	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
5788
5789	// The IDs of the findings that you want to archive.
5790	//
5791	// FindingIds is a required field
5792	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
5793}
5794
5795// String returns the string representation
5796func (s ArchiveFindingsInput) String() string {
5797	return awsutil.Prettify(s)
5798}
5799
5800// GoString returns the string representation
5801func (s ArchiveFindingsInput) GoString() string {
5802	return s.String()
5803}
5804
5805// Validate inspects the fields of the type to determine if they are valid.
5806func (s *ArchiveFindingsInput) Validate() error {
5807	invalidParams := request.ErrInvalidParams{Context: "ArchiveFindingsInput"}
5808	if s.DetectorId == nil {
5809		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
5810	}
5811	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
5812		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
5813	}
5814	if s.FindingIds == nil {
5815		invalidParams.Add(request.NewErrParamRequired("FindingIds"))
5816	}
5817
5818	if invalidParams.Len() > 0 {
5819		return invalidParams
5820	}
5821	return nil
5822}
5823
5824// SetDetectorId sets the DetectorId field's value.
5825func (s *ArchiveFindingsInput) SetDetectorId(v string) *ArchiveFindingsInput {
5826	s.DetectorId = &v
5827	return s
5828}
5829
5830// SetFindingIds sets the FindingIds field's value.
5831func (s *ArchiveFindingsInput) SetFindingIds(v []*string) *ArchiveFindingsInput {
5832	s.FindingIds = v
5833	return s
5834}
5835
5836type ArchiveFindingsOutput struct {
5837	_ struct{} `type:"structure"`
5838}
5839
5840// String returns the string representation
5841func (s ArchiveFindingsOutput) String() string {
5842	return awsutil.Prettify(s)
5843}
5844
5845// GoString returns the string representation
5846func (s ArchiveFindingsOutput) GoString() string {
5847	return s.String()
5848}
5849
5850// Contains information about the API action.
5851type AwsApiCallAction struct {
5852	_ struct{} `type:"structure"`
5853
5854	// The AWS API name.
5855	Api *string `locationName:"api" type:"string"`
5856
5857	// The AWS API caller type.
5858	CallerType *string `locationName:"callerType" type:"string"`
5859
5860	// The domain information for the AWS API call.
5861	DomainDetails *DomainDetails `locationName:"domainDetails" type:"structure"`
5862
5863	// The error code of the failed AWS API action.
5864	ErrorCode *string `locationName:"errorCode" type:"string"`
5865
5866	// The remote IP information of the connection that initiated the AWS API call.
5867	RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"`
5868
5869	// The AWS service name whose API was invoked.
5870	ServiceName *string `locationName:"serviceName" type:"string"`
5871}
5872
5873// String returns the string representation
5874func (s AwsApiCallAction) String() string {
5875	return awsutil.Prettify(s)
5876}
5877
5878// GoString returns the string representation
5879func (s AwsApiCallAction) GoString() string {
5880	return s.String()
5881}
5882
5883// SetApi sets the Api field's value.
5884func (s *AwsApiCallAction) SetApi(v string) *AwsApiCallAction {
5885	s.Api = &v
5886	return s
5887}
5888
5889// SetCallerType sets the CallerType field's value.
5890func (s *AwsApiCallAction) SetCallerType(v string) *AwsApiCallAction {
5891	s.CallerType = &v
5892	return s
5893}
5894
5895// SetDomainDetails sets the DomainDetails field's value.
5896func (s *AwsApiCallAction) SetDomainDetails(v *DomainDetails) *AwsApiCallAction {
5897	s.DomainDetails = v
5898	return s
5899}
5900
5901// SetErrorCode sets the ErrorCode field's value.
5902func (s *AwsApiCallAction) SetErrorCode(v string) *AwsApiCallAction {
5903	s.ErrorCode = &v
5904	return s
5905}
5906
5907// SetRemoteIpDetails sets the RemoteIpDetails field's value.
5908func (s *AwsApiCallAction) SetRemoteIpDetails(v *RemoteIpDetails) *AwsApiCallAction {
5909	s.RemoteIpDetails = v
5910	return s
5911}
5912
5913// SetServiceName sets the ServiceName field's value.
5914func (s *AwsApiCallAction) SetServiceName(v string) *AwsApiCallAction {
5915	s.ServiceName = &v
5916	return s
5917}
5918
5919// A bad request exception object.
5920type BadRequestException struct {
5921	_            struct{}                  `type:"structure"`
5922	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5923
5924	// The error message.
5925	Message_ *string `locationName:"message" type:"string"`
5926
5927	// The error type.
5928	Type *string `locationName:"__type" type:"string"`
5929}
5930
5931// String returns the string representation
5932func (s BadRequestException) String() string {
5933	return awsutil.Prettify(s)
5934}
5935
5936// GoString returns the string representation
5937func (s BadRequestException) GoString() string {
5938	return s.String()
5939}
5940
5941func newErrorBadRequestException(v protocol.ResponseMetadata) error {
5942	return &BadRequestException{
5943		RespMetadata: v,
5944	}
5945}
5946
5947// Code returns the exception type name.
5948func (s *BadRequestException) Code() string {
5949	return "BadRequestException"
5950}
5951
5952// Message returns the exception's message.
5953func (s *BadRequestException) Message() string {
5954	if s.Message_ != nil {
5955		return *s.Message_
5956	}
5957	return ""
5958}
5959
5960// OrigErr always returns nil, satisfies awserr.Error interface.
5961func (s *BadRequestException) OrigErr() error {
5962	return nil
5963}
5964
5965func (s *BadRequestException) Error() string {
5966	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
5967}
5968
5969// Status code returns the HTTP status code for the request's response error.
5970func (s *BadRequestException) StatusCode() int {
5971	return s.RespMetadata.StatusCode
5972}
5973
5974// RequestID returns the service's response RequestID for request.
5975func (s *BadRequestException) RequestID() string {
5976	return s.RespMetadata.RequestID
5977}
5978
5979// Contains information on how the bucker owner's S3 Block Public Access settings
5980// are being applied to the S3 bucket. See S3 Block Public Access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html)
5981// for more information.
5982type BlockPublicAccess struct {
5983	_ struct{} `type:"structure"`
5984
5985	// Indicates if S3 Block Public Access is set to BlockPublicAcls.
5986	BlockPublicAcls *bool `locationName:"blockPublicAcls" type:"boolean"`
5987
5988	// Indicates if S3 Block Public Access is set to BlockPublicPolicy.
5989	BlockPublicPolicy *bool `locationName:"blockPublicPolicy" type:"boolean"`
5990
5991	// Indicates if S3 Block Public Access is set to IgnorePublicAcls.
5992	IgnorePublicAcls *bool `locationName:"ignorePublicAcls" type:"boolean"`
5993
5994	// Indicates if S3 Block Public Access is set to RestrictPublicBuckets.
5995	RestrictPublicBuckets *bool `locationName:"restrictPublicBuckets" type:"boolean"`
5996}
5997
5998// String returns the string representation
5999func (s BlockPublicAccess) String() string {
6000	return awsutil.Prettify(s)
6001}
6002
6003// GoString returns the string representation
6004func (s BlockPublicAccess) GoString() string {
6005	return s.String()
6006}
6007
6008// SetBlockPublicAcls sets the BlockPublicAcls field's value.
6009func (s *BlockPublicAccess) SetBlockPublicAcls(v bool) *BlockPublicAccess {
6010	s.BlockPublicAcls = &v
6011	return s
6012}
6013
6014// SetBlockPublicPolicy sets the BlockPublicPolicy field's value.
6015func (s *BlockPublicAccess) SetBlockPublicPolicy(v bool) *BlockPublicAccess {
6016	s.BlockPublicPolicy = &v
6017	return s
6018}
6019
6020// SetIgnorePublicAcls sets the IgnorePublicAcls field's value.
6021func (s *BlockPublicAccess) SetIgnorePublicAcls(v bool) *BlockPublicAccess {
6022	s.IgnorePublicAcls = &v
6023	return s
6024}
6025
6026// SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value.
6027func (s *BlockPublicAccess) SetRestrictPublicBuckets(v bool) *BlockPublicAccess {
6028	s.RestrictPublicBuckets = &v
6029	return s
6030}
6031
6032// Contains information about the bucket level permissions for the S3 bucket.
6033type BucketLevelPermissions struct {
6034	_ struct{} `type:"structure"`
6035
6036	// Contains information on how Access Control Policies are applied to the bucket.
6037	AccessControlList *AccessControlList `locationName:"accessControlList" type:"structure"`
6038
6039	// Contains information on which account level S3 Block Public Access settings
6040	// are applied to the S3 bucket.
6041	BlockPublicAccess *BlockPublicAccess `locationName:"blockPublicAccess" type:"structure"`
6042
6043	// Contains information on the bucket policies for the S3 bucket.
6044	BucketPolicy *BucketPolicy `locationName:"bucketPolicy" type:"structure"`
6045}
6046
6047// String returns the string representation
6048func (s BucketLevelPermissions) String() string {
6049	return awsutil.Prettify(s)
6050}
6051
6052// GoString returns the string representation
6053func (s BucketLevelPermissions) GoString() string {
6054	return s.String()
6055}
6056
6057// SetAccessControlList sets the AccessControlList field's value.
6058func (s *BucketLevelPermissions) SetAccessControlList(v *AccessControlList) *BucketLevelPermissions {
6059	s.AccessControlList = v
6060	return s
6061}
6062
6063// SetBlockPublicAccess sets the BlockPublicAccess field's value.
6064func (s *BucketLevelPermissions) SetBlockPublicAccess(v *BlockPublicAccess) *BucketLevelPermissions {
6065	s.BlockPublicAccess = v
6066	return s
6067}
6068
6069// SetBucketPolicy sets the BucketPolicy field's value.
6070func (s *BucketLevelPermissions) SetBucketPolicy(v *BucketPolicy) *BucketLevelPermissions {
6071	s.BucketPolicy = v
6072	return s
6073}
6074
6075// Contains information on the current bucket policies for the S3 bucket.
6076type BucketPolicy struct {
6077	_ struct{} `type:"structure"`
6078
6079	// A value that indicates whether public read access for the bucket is enabled
6080	// through a bucket policy.
6081	AllowsPublicReadAccess *bool `locationName:"allowsPublicReadAccess" type:"boolean"`
6082
6083	// A value that indicates whether public write access for the bucket is enabled
6084	// through a bucket policy.
6085	AllowsPublicWriteAccess *bool `locationName:"allowsPublicWriteAccess" type:"boolean"`
6086}
6087
6088// String returns the string representation
6089func (s BucketPolicy) String() string {
6090	return awsutil.Prettify(s)
6091}
6092
6093// GoString returns the string representation
6094func (s BucketPolicy) GoString() string {
6095	return s.String()
6096}
6097
6098// SetAllowsPublicReadAccess sets the AllowsPublicReadAccess field's value.
6099func (s *BucketPolicy) SetAllowsPublicReadAccess(v bool) *BucketPolicy {
6100	s.AllowsPublicReadAccess = &v
6101	return s
6102}
6103
6104// SetAllowsPublicWriteAccess sets the AllowsPublicWriteAccess field's value.
6105func (s *BucketPolicy) SetAllowsPublicWriteAccess(v bool) *BucketPolicy {
6106	s.AllowsPublicWriteAccess = &v
6107	return s
6108}
6109
6110// Contains information about the city associated with the IP address.
6111type City struct {
6112	_ struct{} `type:"structure"`
6113
6114	// The city name of the remote IP address.
6115	CityName *string `locationName:"cityName" type:"string"`
6116}
6117
6118// String returns the string representation
6119func (s City) String() string {
6120	return awsutil.Prettify(s)
6121}
6122
6123// GoString returns the string representation
6124func (s City) GoString() string {
6125	return s.String()
6126}
6127
6128// SetCityName sets the CityName field's value.
6129func (s *City) SetCityName(v string) *City {
6130	s.CityName = &v
6131	return s
6132}
6133
6134// Contains information on the status of CloudTrail as a data source for the
6135// detector.
6136type CloudTrailConfigurationResult struct {
6137	_ struct{} `type:"structure"`
6138
6139	// Describes whether CloudTrail is enabled as a data source for the detector.
6140	//
6141	// Status is a required field
6142	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"`
6143}
6144
6145// String returns the string representation
6146func (s CloudTrailConfigurationResult) String() string {
6147	return awsutil.Prettify(s)
6148}
6149
6150// GoString returns the string representation
6151func (s CloudTrailConfigurationResult) GoString() string {
6152	return s.String()
6153}
6154
6155// SetStatus sets the Status field's value.
6156func (s *CloudTrailConfigurationResult) SetStatus(v string) *CloudTrailConfigurationResult {
6157	s.Status = &v
6158	return s
6159}
6160
6161// Contains information about the condition.
6162type Condition struct {
6163	_ struct{} `type:"structure"`
6164
6165	// Represents the equal condition to be applied to a single field when querying
6166	// for findings.
6167	//
6168	// Deprecated: Eq has been deprecated
6169	Eq []*string `locationName:"eq" deprecated:"true" type:"list"`
6170
6171	// Represents an equal condition to be applied to a single field when querying
6172	// for findings.
6173	Equals []*string `locationName:"equals" type:"list"`
6174
6175	// Represents a greater than condition to be applied to a single field when
6176	// querying for findings.
6177	GreaterThan *int64 `locationName:"greaterThan" type:"long"`
6178
6179	// Represents a greater than or equal condition to be applied to a single field
6180	// when querying for findings.
6181	GreaterThanOrEqual *int64 `locationName:"greaterThanOrEqual" type:"long"`
6182
6183	// Represents a greater than condition to be applied to a single field when
6184	// querying for findings.
6185	//
6186	// Deprecated: Gt has been deprecated
6187	Gt *int64 `locationName:"gt" deprecated:"true" type:"integer"`
6188
6189	// Represents a greater than or equal condition to be applied to a single field
6190	// when querying for findings.
6191	//
6192	// Deprecated: Gte has been deprecated
6193	Gte *int64 `locationName:"gte" deprecated:"true" type:"integer"`
6194
6195	// Represents a less than condition to be applied to a single field when querying
6196	// for findings.
6197	LessThan *int64 `locationName:"lessThan" type:"long"`
6198
6199	// Represents a less than or equal condition to be applied to a single field
6200	// when querying for findings.
6201	LessThanOrEqual *int64 `locationName:"lessThanOrEqual" type:"long"`
6202
6203	// Represents a less than condition to be applied to a single field when querying
6204	// for findings.
6205	//
6206	// Deprecated: Lt has been deprecated
6207	Lt *int64 `locationName:"lt" deprecated:"true" type:"integer"`
6208
6209	// Represents a less than or equal condition to be applied to a single field
6210	// when querying for findings.
6211	//
6212	// Deprecated: Lte has been deprecated
6213	Lte *int64 `locationName:"lte" deprecated:"true" type:"integer"`
6214
6215	// Represents the not equal condition to be applied to a single field when querying
6216	// for findings.
6217	//
6218	// Deprecated: Neq has been deprecated
6219	Neq []*string `locationName:"neq" deprecated:"true" type:"list"`
6220
6221	// Represents a not equal condition to be applied to a single field when querying
6222	// for findings.
6223	NotEquals []*string `locationName:"notEquals" type:"list"`
6224}
6225
6226// String returns the string representation
6227func (s Condition) String() string {
6228	return awsutil.Prettify(s)
6229}
6230
6231// GoString returns the string representation
6232func (s Condition) GoString() string {
6233	return s.String()
6234}
6235
6236// SetEq sets the Eq field's value.
6237func (s *Condition) SetEq(v []*string) *Condition {
6238	s.Eq = v
6239	return s
6240}
6241
6242// SetEquals sets the Equals field's value.
6243func (s *Condition) SetEquals(v []*string) *Condition {
6244	s.Equals = v
6245	return s
6246}
6247
6248// SetGreaterThan sets the GreaterThan field's value.
6249func (s *Condition) SetGreaterThan(v int64) *Condition {
6250	s.GreaterThan = &v
6251	return s
6252}
6253
6254// SetGreaterThanOrEqual sets the GreaterThanOrEqual field's value.
6255func (s *Condition) SetGreaterThanOrEqual(v int64) *Condition {
6256	s.GreaterThanOrEqual = &v
6257	return s
6258}
6259
6260// SetGt sets the Gt field's value.
6261func (s *Condition) SetGt(v int64) *Condition {
6262	s.Gt = &v
6263	return s
6264}
6265
6266// SetGte sets the Gte field's value.
6267func (s *Condition) SetGte(v int64) *Condition {
6268	s.Gte = &v
6269	return s
6270}
6271
6272// SetLessThan sets the LessThan field's value.
6273func (s *Condition) SetLessThan(v int64) *Condition {
6274	s.LessThan = &v
6275	return s
6276}
6277
6278// SetLessThanOrEqual sets the LessThanOrEqual field's value.
6279func (s *Condition) SetLessThanOrEqual(v int64) *Condition {
6280	s.LessThanOrEqual = &v
6281	return s
6282}
6283
6284// SetLt sets the Lt field's value.
6285func (s *Condition) SetLt(v int64) *Condition {
6286	s.Lt = &v
6287	return s
6288}
6289
6290// SetLte sets the Lte field's value.
6291func (s *Condition) SetLte(v int64) *Condition {
6292	s.Lte = &v
6293	return s
6294}
6295
6296// SetNeq sets the Neq field's value.
6297func (s *Condition) SetNeq(v []*string) *Condition {
6298	s.Neq = v
6299	return s
6300}
6301
6302// SetNotEquals sets the NotEquals field's value.
6303func (s *Condition) SetNotEquals(v []*string) *Condition {
6304	s.NotEquals = v
6305	return s
6306}
6307
6308// Contains information about the country where the remote IP address is located.
6309type Country struct {
6310	_ struct{} `type:"structure"`
6311
6312	// The country code of the remote IP address.
6313	CountryCode *string `locationName:"countryCode" type:"string"`
6314
6315	// The country name of the remote IP address.
6316	CountryName *string `locationName:"countryName" type:"string"`
6317}
6318
6319// String returns the string representation
6320func (s Country) String() string {
6321	return awsutil.Prettify(s)
6322}
6323
6324// GoString returns the string representation
6325func (s Country) GoString() string {
6326	return s.String()
6327}
6328
6329// SetCountryCode sets the CountryCode field's value.
6330func (s *Country) SetCountryCode(v string) *Country {
6331	s.CountryCode = &v
6332	return s
6333}
6334
6335// SetCountryName sets the CountryName field's value.
6336func (s *Country) SetCountryName(v string) *Country {
6337	s.CountryName = &v
6338	return s
6339}
6340
6341type CreateDetectorInput struct {
6342	_ struct{} `type:"structure"`
6343
6344	// The idempotency token for the create request.
6345	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
6346
6347	// Describes which data sources will be enabled for the detector.
6348	DataSources *DataSourceConfigurations `locationName:"dataSources" type:"structure"`
6349
6350	// A Boolean value that specifies whether the detector is to be enabled.
6351	//
6352	// Enable is a required field
6353	Enable *bool `locationName:"enable" type:"boolean" required:"true"`
6354
6355	// A value that specifies how frequently updated findings are exported.
6356	FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"`
6357
6358	// The tags to be added to a new detector resource.
6359	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
6360}
6361
6362// String returns the string representation
6363func (s CreateDetectorInput) String() string {
6364	return awsutil.Prettify(s)
6365}
6366
6367// GoString returns the string representation
6368func (s CreateDetectorInput) GoString() string {
6369	return s.String()
6370}
6371
6372// Validate inspects the fields of the type to determine if they are valid.
6373func (s *CreateDetectorInput) Validate() error {
6374	invalidParams := request.ErrInvalidParams{Context: "CreateDetectorInput"}
6375	if s.Enable == nil {
6376		invalidParams.Add(request.NewErrParamRequired("Enable"))
6377	}
6378	if s.Tags != nil && len(s.Tags) < 1 {
6379		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
6380	}
6381	if s.DataSources != nil {
6382		if err := s.DataSources.Validate(); err != nil {
6383			invalidParams.AddNested("DataSources", err.(request.ErrInvalidParams))
6384		}
6385	}
6386
6387	if invalidParams.Len() > 0 {
6388		return invalidParams
6389	}
6390	return nil
6391}
6392
6393// SetClientToken sets the ClientToken field's value.
6394func (s *CreateDetectorInput) SetClientToken(v string) *CreateDetectorInput {
6395	s.ClientToken = &v
6396	return s
6397}
6398
6399// SetDataSources sets the DataSources field's value.
6400func (s *CreateDetectorInput) SetDataSources(v *DataSourceConfigurations) *CreateDetectorInput {
6401	s.DataSources = v
6402	return s
6403}
6404
6405// SetEnable sets the Enable field's value.
6406func (s *CreateDetectorInput) SetEnable(v bool) *CreateDetectorInput {
6407	s.Enable = &v
6408	return s
6409}
6410
6411// SetFindingPublishingFrequency sets the FindingPublishingFrequency field's value.
6412func (s *CreateDetectorInput) SetFindingPublishingFrequency(v string) *CreateDetectorInput {
6413	s.FindingPublishingFrequency = &v
6414	return s
6415}
6416
6417// SetTags sets the Tags field's value.
6418func (s *CreateDetectorInput) SetTags(v map[string]*string) *CreateDetectorInput {
6419	s.Tags = v
6420	return s
6421}
6422
6423type CreateDetectorOutput struct {
6424	_ struct{} `type:"structure"`
6425
6426	// The unique ID of the created detector.
6427	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
6428}
6429
6430// String returns the string representation
6431func (s CreateDetectorOutput) String() string {
6432	return awsutil.Prettify(s)
6433}
6434
6435// GoString returns the string representation
6436func (s CreateDetectorOutput) GoString() string {
6437	return s.String()
6438}
6439
6440// SetDetectorId sets the DetectorId field's value.
6441func (s *CreateDetectorOutput) SetDetectorId(v string) *CreateDetectorOutput {
6442	s.DetectorId = &v
6443	return s
6444}
6445
6446type CreateFilterInput struct {
6447	_ struct{} `type:"structure"`
6448
6449	// Specifies the action that is to be applied to the findings that match the
6450	// filter.
6451	Action *string `locationName:"action" min:"1" type:"string" enum:"FilterAction"`
6452
6453	// The idempotency token for the create request.
6454	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
6455
6456	// The description of the filter.
6457	Description *string `locationName:"description" type:"string"`
6458
6459	// The ID of the detector belonging to the GuardDuty account that you want to
6460	// create a filter for.
6461	//
6462	// DetectorId is a required field
6463	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
6464
6465	// Represents the criteria to be used in the filter for querying findings.
6466	//
6467	// You can only use the following attributes to query findings:
6468	//
6469	//    * accountId
6470	//
6471	//    * region
6472	//
6473	//    * confidence
6474	//
6475	//    * id
6476	//
6477	//    * resource.accessKeyDetails.accessKeyId
6478	//
6479	//    * resource.accessKeyDetails.principalId
6480	//
6481	//    * resource.accessKeyDetails.userName
6482	//
6483	//    * resource.accessKeyDetails.userType
6484	//
6485	//    * resource.instanceDetails.iamInstanceProfile.id
6486	//
6487	//    * resource.instanceDetails.imageId
6488	//
6489	//    * resource.instanceDetails.instanceId
6490	//
6491	//    * resource.instanceDetails.outpostArn
6492	//
6493	//    * resource.instanceDetails.networkInterfaces.ipv6Addresses
6494	//
6495	//    * resource.instanceDetails.networkInterfaces.privateIpAddresses.privateIpAddress
6496	//
6497	//    * resource.instanceDetails.networkInterfaces.publicDnsName
6498	//
6499	//    * resource.instanceDetails.networkInterfaces.publicIp
6500	//
6501	//    * resource.instanceDetails.networkInterfaces.securityGroups.groupId
6502	//
6503	//    * resource.instanceDetails.networkInterfaces.securityGroups.groupName
6504	//
6505	//    * resource.instanceDetails.networkInterfaces.subnetId
6506	//
6507	//    * resource.instanceDetails.networkInterfaces.vpcId
6508	//
6509	//    * resource.instanceDetails.tags.key
6510	//
6511	//    * resource.instanceDetails.tags.value
6512	//
6513	//    * resource.resourceType
6514	//
6515	//    * service.action.actionType
6516	//
6517	//    * service.action.awsApiCallAction.api
6518	//
6519	//    * service.action.awsApiCallAction.callerType
6520	//
6521	//    * service.action.awsApiCallAction.errorCode
6522	//
6523	//    * service.action.awsApiCallAction.remoteIpDetails.city.cityName
6524	//
6525	//    * service.action.awsApiCallAction.remoteIpDetails.country.countryName
6526	//
6527	//    * service.action.awsApiCallAction.remoteIpDetails.ipAddressV4
6528	//
6529	//    * service.action.awsApiCallAction.remoteIpDetails.organization.asn
6530	//
6531	//    * service.action.awsApiCallAction.remoteIpDetails.organization.asnOrg
6532	//
6533	//    * service.action.awsApiCallAction.serviceName
6534	//
6535	//    * service.action.dnsRequestAction.domain
6536	//
6537	//    * service.action.networkConnectionAction.blocked
6538	//
6539	//    * service.action.networkConnectionAction.connectionDirection
6540	//
6541	//    * service.action.networkConnectionAction.localPortDetails.port
6542	//
6543	//    * service.action.networkConnectionAction.protocol
6544	//
6545	//    * service.action.networkConnectionAction.localIpDetails.ipAddressV4
6546	//
6547	//    * service.action.networkConnectionAction.remoteIpDetails.city.cityName
6548	//
6549	//    * service.action.networkConnectionAction.remoteIpDetails.country.countryName
6550	//
6551	//    * service.action.networkConnectionAction.remoteIpDetails.ipAddressV4
6552	//
6553	//    * service.action.networkConnectionAction.remoteIpDetails.organization.asn
6554	//
6555	//    * service.action.networkConnectionAction.remoteIpDetails.organization.asnOrg
6556	//
6557	//    * service.action.networkConnectionAction.remotePortDetails.port
6558	//
6559	//    * service.additionalInfo.threatListName
6560	//
6561	//    * service.archived When this attribute is set to TRUE, only archived findings
6562	//    are listed. When it's set to FALSE, only unarchived findings are listed.
6563	//    When this attribute is not set, all existing findings are listed.
6564	//
6565	//    * service.resourceRole
6566	//
6567	//    * severity
6568	//
6569	//    * type
6570	//
6571	//    * updatedAt Type: ISO 8601 string format: YYYY-MM-DDTHH:MM:SS.SSSZ or
6572	//    YYYY-MM-DDTHH:MM:SSZ depending on whether the value contains milliseconds.
6573	//
6574	// FindingCriteria is a required field
6575	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure" required:"true"`
6576
6577	// The name of the filter. Minimum length of 3. Maximum length of 64. Valid
6578	// characters include alphanumeric characters, dot (.), underscore (_), and
6579	// dash (-). Spaces are not allowed.
6580	//
6581	// Name is a required field
6582	Name *string `locationName:"name" min:"3" type:"string" required:"true"`
6583
6584	// Specifies the position of the filter in the list of current filters. Also
6585	// specifies the order in which this filter is applied to the findings.
6586	Rank *int64 `locationName:"rank" min:"1" type:"integer"`
6587
6588	// The tags to be added to a new filter resource.
6589	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
6590}
6591
6592// String returns the string representation
6593func (s CreateFilterInput) String() string {
6594	return awsutil.Prettify(s)
6595}
6596
6597// GoString returns the string representation
6598func (s CreateFilterInput) GoString() string {
6599	return s.String()
6600}
6601
6602// Validate inspects the fields of the type to determine if they are valid.
6603func (s *CreateFilterInput) Validate() error {
6604	invalidParams := request.ErrInvalidParams{Context: "CreateFilterInput"}
6605	if s.Action != nil && len(*s.Action) < 1 {
6606		invalidParams.Add(request.NewErrParamMinLen("Action", 1))
6607	}
6608	if s.DetectorId == nil {
6609		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6610	}
6611	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6612		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6613	}
6614	if s.FindingCriteria == nil {
6615		invalidParams.Add(request.NewErrParamRequired("FindingCriteria"))
6616	}
6617	if s.Name == nil {
6618		invalidParams.Add(request.NewErrParamRequired("Name"))
6619	}
6620	if s.Name != nil && len(*s.Name) < 3 {
6621		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
6622	}
6623	if s.Rank != nil && *s.Rank < 1 {
6624		invalidParams.Add(request.NewErrParamMinValue("Rank", 1))
6625	}
6626	if s.Tags != nil && len(s.Tags) < 1 {
6627		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
6628	}
6629
6630	if invalidParams.Len() > 0 {
6631		return invalidParams
6632	}
6633	return nil
6634}
6635
6636// SetAction sets the Action field's value.
6637func (s *CreateFilterInput) SetAction(v string) *CreateFilterInput {
6638	s.Action = &v
6639	return s
6640}
6641
6642// SetClientToken sets the ClientToken field's value.
6643func (s *CreateFilterInput) SetClientToken(v string) *CreateFilterInput {
6644	s.ClientToken = &v
6645	return s
6646}
6647
6648// SetDescription sets the Description field's value.
6649func (s *CreateFilterInput) SetDescription(v string) *CreateFilterInput {
6650	s.Description = &v
6651	return s
6652}
6653
6654// SetDetectorId sets the DetectorId field's value.
6655func (s *CreateFilterInput) SetDetectorId(v string) *CreateFilterInput {
6656	s.DetectorId = &v
6657	return s
6658}
6659
6660// SetFindingCriteria sets the FindingCriteria field's value.
6661func (s *CreateFilterInput) SetFindingCriteria(v *FindingCriteria) *CreateFilterInput {
6662	s.FindingCriteria = v
6663	return s
6664}
6665
6666// SetName sets the Name field's value.
6667func (s *CreateFilterInput) SetName(v string) *CreateFilterInput {
6668	s.Name = &v
6669	return s
6670}
6671
6672// SetRank sets the Rank field's value.
6673func (s *CreateFilterInput) SetRank(v int64) *CreateFilterInput {
6674	s.Rank = &v
6675	return s
6676}
6677
6678// SetTags sets the Tags field's value.
6679func (s *CreateFilterInput) SetTags(v map[string]*string) *CreateFilterInput {
6680	s.Tags = v
6681	return s
6682}
6683
6684type CreateFilterOutput struct {
6685	_ struct{} `type:"structure"`
6686
6687	// The name of the successfully created filter.
6688	//
6689	// Name is a required field
6690	Name *string `locationName:"name" min:"3" type:"string" required:"true"`
6691}
6692
6693// String returns the string representation
6694func (s CreateFilterOutput) String() string {
6695	return awsutil.Prettify(s)
6696}
6697
6698// GoString returns the string representation
6699func (s CreateFilterOutput) GoString() string {
6700	return s.String()
6701}
6702
6703// SetName sets the Name field's value.
6704func (s *CreateFilterOutput) SetName(v string) *CreateFilterOutput {
6705	s.Name = &v
6706	return s
6707}
6708
6709type CreateIPSetInput struct {
6710	_ struct{} `type:"structure"`
6711
6712	// A Boolean value that indicates whether GuardDuty is to start using the uploaded
6713	// IPSet.
6714	//
6715	// Activate is a required field
6716	Activate *bool `locationName:"activate" type:"boolean" required:"true"`
6717
6718	// The idempotency token for the create request.
6719	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
6720
6721	// The unique ID of the detector of the GuardDuty account that you want to create
6722	// an IPSet for.
6723	//
6724	// DetectorId is a required field
6725	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
6726
6727	// The format of the file that contains the IPSet.
6728	//
6729	// Format is a required field
6730	Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"IpSetFormat"`
6731
6732	// The URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
6733	//
6734	// Location is a required field
6735	Location *string `locationName:"location" min:"1" type:"string" required:"true"`
6736
6737	// The user-friendly name to identify the IPSet.
6738	//
6739	// Allowed characters are alphanumerics, spaces, hyphens (-), and underscores
6740	// (_).
6741	//
6742	// Name is a required field
6743	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6744
6745	// The tags to be added to a new IP set resource.
6746	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
6747}
6748
6749// String returns the string representation
6750func (s CreateIPSetInput) String() string {
6751	return awsutil.Prettify(s)
6752}
6753
6754// GoString returns the string representation
6755func (s CreateIPSetInput) GoString() string {
6756	return s.String()
6757}
6758
6759// Validate inspects the fields of the type to determine if they are valid.
6760func (s *CreateIPSetInput) Validate() error {
6761	invalidParams := request.ErrInvalidParams{Context: "CreateIPSetInput"}
6762	if s.Activate == nil {
6763		invalidParams.Add(request.NewErrParamRequired("Activate"))
6764	}
6765	if s.DetectorId == nil {
6766		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6767	}
6768	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6769		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6770	}
6771	if s.Format == nil {
6772		invalidParams.Add(request.NewErrParamRequired("Format"))
6773	}
6774	if s.Format != nil && len(*s.Format) < 1 {
6775		invalidParams.Add(request.NewErrParamMinLen("Format", 1))
6776	}
6777	if s.Location == nil {
6778		invalidParams.Add(request.NewErrParamRequired("Location"))
6779	}
6780	if s.Location != nil && len(*s.Location) < 1 {
6781		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
6782	}
6783	if s.Name == nil {
6784		invalidParams.Add(request.NewErrParamRequired("Name"))
6785	}
6786	if s.Name != nil && len(*s.Name) < 1 {
6787		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6788	}
6789	if s.Tags != nil && len(s.Tags) < 1 {
6790		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
6791	}
6792
6793	if invalidParams.Len() > 0 {
6794		return invalidParams
6795	}
6796	return nil
6797}
6798
6799// SetActivate sets the Activate field's value.
6800func (s *CreateIPSetInput) SetActivate(v bool) *CreateIPSetInput {
6801	s.Activate = &v
6802	return s
6803}
6804
6805// SetClientToken sets the ClientToken field's value.
6806func (s *CreateIPSetInput) SetClientToken(v string) *CreateIPSetInput {
6807	s.ClientToken = &v
6808	return s
6809}
6810
6811// SetDetectorId sets the DetectorId field's value.
6812func (s *CreateIPSetInput) SetDetectorId(v string) *CreateIPSetInput {
6813	s.DetectorId = &v
6814	return s
6815}
6816
6817// SetFormat sets the Format field's value.
6818func (s *CreateIPSetInput) SetFormat(v string) *CreateIPSetInput {
6819	s.Format = &v
6820	return s
6821}
6822
6823// SetLocation sets the Location field's value.
6824func (s *CreateIPSetInput) SetLocation(v string) *CreateIPSetInput {
6825	s.Location = &v
6826	return s
6827}
6828
6829// SetName sets the Name field's value.
6830func (s *CreateIPSetInput) SetName(v string) *CreateIPSetInput {
6831	s.Name = &v
6832	return s
6833}
6834
6835// SetTags sets the Tags field's value.
6836func (s *CreateIPSetInput) SetTags(v map[string]*string) *CreateIPSetInput {
6837	s.Tags = v
6838	return s
6839}
6840
6841type CreateIPSetOutput struct {
6842	_ struct{} `type:"structure"`
6843
6844	// The ID of the IPSet resource.
6845	//
6846	// IpSetId is a required field
6847	IpSetId *string `locationName:"ipSetId" type:"string" required:"true"`
6848}
6849
6850// String returns the string representation
6851func (s CreateIPSetOutput) String() string {
6852	return awsutil.Prettify(s)
6853}
6854
6855// GoString returns the string representation
6856func (s CreateIPSetOutput) GoString() string {
6857	return s.String()
6858}
6859
6860// SetIpSetId sets the IpSetId field's value.
6861func (s *CreateIPSetOutput) SetIpSetId(v string) *CreateIPSetOutput {
6862	s.IpSetId = &v
6863	return s
6864}
6865
6866type CreateMembersInput struct {
6867	_ struct{} `type:"structure"`
6868
6869	// A list of account ID and email address pairs of the accounts that you want
6870	// to associate with the GuardDuty administrator account.
6871	//
6872	// AccountDetails is a required field
6873	AccountDetails []*AccountDetail `locationName:"accountDetails" min:"1" type:"list" required:"true"`
6874
6875	// The unique ID of the detector of the GuardDuty account that you want to associate
6876	// member accounts with.
6877	//
6878	// DetectorId is a required field
6879	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
6880}
6881
6882// String returns the string representation
6883func (s CreateMembersInput) String() string {
6884	return awsutil.Prettify(s)
6885}
6886
6887// GoString returns the string representation
6888func (s CreateMembersInput) GoString() string {
6889	return s.String()
6890}
6891
6892// Validate inspects the fields of the type to determine if they are valid.
6893func (s *CreateMembersInput) Validate() error {
6894	invalidParams := request.ErrInvalidParams{Context: "CreateMembersInput"}
6895	if s.AccountDetails == nil {
6896		invalidParams.Add(request.NewErrParamRequired("AccountDetails"))
6897	}
6898	if s.AccountDetails != nil && len(s.AccountDetails) < 1 {
6899		invalidParams.Add(request.NewErrParamMinLen("AccountDetails", 1))
6900	}
6901	if s.DetectorId == nil {
6902		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6903	}
6904	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6905		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6906	}
6907	if s.AccountDetails != nil {
6908		for i, v := range s.AccountDetails {
6909			if v == nil {
6910				continue
6911			}
6912			if err := v.Validate(); err != nil {
6913				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountDetails", i), err.(request.ErrInvalidParams))
6914			}
6915		}
6916	}
6917
6918	if invalidParams.Len() > 0 {
6919		return invalidParams
6920	}
6921	return nil
6922}
6923
6924// SetAccountDetails sets the AccountDetails field's value.
6925func (s *CreateMembersInput) SetAccountDetails(v []*AccountDetail) *CreateMembersInput {
6926	s.AccountDetails = v
6927	return s
6928}
6929
6930// SetDetectorId sets the DetectorId field's value.
6931func (s *CreateMembersInput) SetDetectorId(v string) *CreateMembersInput {
6932	s.DetectorId = &v
6933	return s
6934}
6935
6936type CreateMembersOutput struct {
6937	_ struct{} `type:"structure"`
6938
6939	// A list of objects that include the accountIds of the unprocessed accounts
6940	// and a result string that explains why each was unprocessed.
6941	//
6942	// UnprocessedAccounts is a required field
6943	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
6944}
6945
6946// String returns the string representation
6947func (s CreateMembersOutput) String() string {
6948	return awsutil.Prettify(s)
6949}
6950
6951// GoString returns the string representation
6952func (s CreateMembersOutput) GoString() string {
6953	return s.String()
6954}
6955
6956// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
6957func (s *CreateMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *CreateMembersOutput {
6958	s.UnprocessedAccounts = v
6959	return s
6960}
6961
6962type CreatePublishingDestinationInput struct {
6963	_ struct{} `type:"structure"`
6964
6965	// The idempotency token for the request.
6966	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
6967
6968	// The properties of the publishing destination, including the ARNs for the
6969	// destination and the KMS key used for encryption.
6970	//
6971	// DestinationProperties is a required field
6972	DestinationProperties *DestinationProperties `locationName:"destinationProperties" type:"structure" required:"true"`
6973
6974	// The type of resource for the publishing destination. Currently only Amazon
6975	// S3 buckets are supported.
6976	//
6977	// DestinationType is a required field
6978	DestinationType *string `locationName:"destinationType" min:"1" type:"string" required:"true" enum:"DestinationType"`
6979
6980	// The ID of the GuardDuty detector associated with the publishing destination.
6981	//
6982	// DetectorId is a required field
6983	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
6984}
6985
6986// String returns the string representation
6987func (s CreatePublishingDestinationInput) String() string {
6988	return awsutil.Prettify(s)
6989}
6990
6991// GoString returns the string representation
6992func (s CreatePublishingDestinationInput) GoString() string {
6993	return s.String()
6994}
6995
6996// Validate inspects the fields of the type to determine if they are valid.
6997func (s *CreatePublishingDestinationInput) Validate() error {
6998	invalidParams := request.ErrInvalidParams{Context: "CreatePublishingDestinationInput"}
6999	if s.DestinationProperties == nil {
7000		invalidParams.Add(request.NewErrParamRequired("DestinationProperties"))
7001	}
7002	if s.DestinationType == nil {
7003		invalidParams.Add(request.NewErrParamRequired("DestinationType"))
7004	}
7005	if s.DestinationType != nil && len(*s.DestinationType) < 1 {
7006		invalidParams.Add(request.NewErrParamMinLen("DestinationType", 1))
7007	}
7008	if s.DetectorId == nil {
7009		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7010	}
7011	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7012		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7013	}
7014
7015	if invalidParams.Len() > 0 {
7016		return invalidParams
7017	}
7018	return nil
7019}
7020
7021// SetClientToken sets the ClientToken field's value.
7022func (s *CreatePublishingDestinationInput) SetClientToken(v string) *CreatePublishingDestinationInput {
7023	s.ClientToken = &v
7024	return s
7025}
7026
7027// SetDestinationProperties sets the DestinationProperties field's value.
7028func (s *CreatePublishingDestinationInput) SetDestinationProperties(v *DestinationProperties) *CreatePublishingDestinationInput {
7029	s.DestinationProperties = v
7030	return s
7031}
7032
7033// SetDestinationType sets the DestinationType field's value.
7034func (s *CreatePublishingDestinationInput) SetDestinationType(v string) *CreatePublishingDestinationInput {
7035	s.DestinationType = &v
7036	return s
7037}
7038
7039// SetDetectorId sets the DetectorId field's value.
7040func (s *CreatePublishingDestinationInput) SetDetectorId(v string) *CreatePublishingDestinationInput {
7041	s.DetectorId = &v
7042	return s
7043}
7044
7045type CreatePublishingDestinationOutput struct {
7046	_ struct{} `type:"structure"`
7047
7048	// The ID of the publishing destination that is created.
7049	//
7050	// DestinationId is a required field
7051	DestinationId *string `locationName:"destinationId" type:"string" required:"true"`
7052}
7053
7054// String returns the string representation
7055func (s CreatePublishingDestinationOutput) String() string {
7056	return awsutil.Prettify(s)
7057}
7058
7059// GoString returns the string representation
7060func (s CreatePublishingDestinationOutput) GoString() string {
7061	return s.String()
7062}
7063
7064// SetDestinationId sets the DestinationId field's value.
7065func (s *CreatePublishingDestinationOutput) SetDestinationId(v string) *CreatePublishingDestinationOutput {
7066	s.DestinationId = &v
7067	return s
7068}
7069
7070type CreateSampleFindingsInput struct {
7071	_ struct{} `type:"structure"`
7072
7073	// The ID of the detector to create sample findings for.
7074	//
7075	// DetectorId is a required field
7076	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7077
7078	// The types of sample findings to generate.
7079	FindingTypes []*string `locationName:"findingTypes" type:"list"`
7080}
7081
7082// String returns the string representation
7083func (s CreateSampleFindingsInput) String() string {
7084	return awsutil.Prettify(s)
7085}
7086
7087// GoString returns the string representation
7088func (s CreateSampleFindingsInput) GoString() string {
7089	return s.String()
7090}
7091
7092// Validate inspects the fields of the type to determine if they are valid.
7093func (s *CreateSampleFindingsInput) Validate() error {
7094	invalidParams := request.ErrInvalidParams{Context: "CreateSampleFindingsInput"}
7095	if s.DetectorId == nil {
7096		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7097	}
7098	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7099		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7100	}
7101
7102	if invalidParams.Len() > 0 {
7103		return invalidParams
7104	}
7105	return nil
7106}
7107
7108// SetDetectorId sets the DetectorId field's value.
7109func (s *CreateSampleFindingsInput) SetDetectorId(v string) *CreateSampleFindingsInput {
7110	s.DetectorId = &v
7111	return s
7112}
7113
7114// SetFindingTypes sets the FindingTypes field's value.
7115func (s *CreateSampleFindingsInput) SetFindingTypes(v []*string) *CreateSampleFindingsInput {
7116	s.FindingTypes = v
7117	return s
7118}
7119
7120type CreateSampleFindingsOutput struct {
7121	_ struct{} `type:"structure"`
7122}
7123
7124// String returns the string representation
7125func (s CreateSampleFindingsOutput) String() string {
7126	return awsutil.Prettify(s)
7127}
7128
7129// GoString returns the string representation
7130func (s CreateSampleFindingsOutput) GoString() string {
7131	return s.String()
7132}
7133
7134type CreateThreatIntelSetInput struct {
7135	_ struct{} `type:"structure"`
7136
7137	// A Boolean value that indicates whether GuardDuty is to start using the uploaded
7138	// ThreatIntelSet.
7139	//
7140	// Activate is a required field
7141	Activate *bool `locationName:"activate" type:"boolean" required:"true"`
7142
7143	// The idempotency token for the create request.
7144	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
7145
7146	// The unique ID of the detector of the GuardDuty account that you want to create
7147	// a threatIntelSet for.
7148	//
7149	// DetectorId is a required field
7150	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7151
7152	// The format of the file that contains the ThreatIntelSet.
7153	//
7154	// Format is a required field
7155	Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"ThreatIntelSetFormat"`
7156
7157	// The URI of the file that contains the ThreatIntelSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
7158	//
7159	// Location is a required field
7160	Location *string `locationName:"location" min:"1" type:"string" required:"true"`
7161
7162	// A user-friendly ThreatIntelSet name displayed in all findings that are generated
7163	// by activity that involves IP addresses included in this ThreatIntelSet.
7164	//
7165	// Name is a required field
7166	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7167
7168	// The tags to be added to a new threat list resource.
7169	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
7170}
7171
7172// String returns the string representation
7173func (s CreateThreatIntelSetInput) String() string {
7174	return awsutil.Prettify(s)
7175}
7176
7177// GoString returns the string representation
7178func (s CreateThreatIntelSetInput) GoString() string {
7179	return s.String()
7180}
7181
7182// Validate inspects the fields of the type to determine if they are valid.
7183func (s *CreateThreatIntelSetInput) Validate() error {
7184	invalidParams := request.ErrInvalidParams{Context: "CreateThreatIntelSetInput"}
7185	if s.Activate == nil {
7186		invalidParams.Add(request.NewErrParamRequired("Activate"))
7187	}
7188	if s.DetectorId == nil {
7189		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7190	}
7191	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7192		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7193	}
7194	if s.Format == nil {
7195		invalidParams.Add(request.NewErrParamRequired("Format"))
7196	}
7197	if s.Format != nil && len(*s.Format) < 1 {
7198		invalidParams.Add(request.NewErrParamMinLen("Format", 1))
7199	}
7200	if s.Location == nil {
7201		invalidParams.Add(request.NewErrParamRequired("Location"))
7202	}
7203	if s.Location != nil && len(*s.Location) < 1 {
7204		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
7205	}
7206	if s.Name == nil {
7207		invalidParams.Add(request.NewErrParamRequired("Name"))
7208	}
7209	if s.Name != nil && len(*s.Name) < 1 {
7210		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
7211	}
7212	if s.Tags != nil && len(s.Tags) < 1 {
7213		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
7214	}
7215
7216	if invalidParams.Len() > 0 {
7217		return invalidParams
7218	}
7219	return nil
7220}
7221
7222// SetActivate sets the Activate field's value.
7223func (s *CreateThreatIntelSetInput) SetActivate(v bool) *CreateThreatIntelSetInput {
7224	s.Activate = &v
7225	return s
7226}
7227
7228// SetClientToken sets the ClientToken field's value.
7229func (s *CreateThreatIntelSetInput) SetClientToken(v string) *CreateThreatIntelSetInput {
7230	s.ClientToken = &v
7231	return s
7232}
7233
7234// SetDetectorId sets the DetectorId field's value.
7235func (s *CreateThreatIntelSetInput) SetDetectorId(v string) *CreateThreatIntelSetInput {
7236	s.DetectorId = &v
7237	return s
7238}
7239
7240// SetFormat sets the Format field's value.
7241func (s *CreateThreatIntelSetInput) SetFormat(v string) *CreateThreatIntelSetInput {
7242	s.Format = &v
7243	return s
7244}
7245
7246// SetLocation sets the Location field's value.
7247func (s *CreateThreatIntelSetInput) SetLocation(v string) *CreateThreatIntelSetInput {
7248	s.Location = &v
7249	return s
7250}
7251
7252// SetName sets the Name field's value.
7253func (s *CreateThreatIntelSetInput) SetName(v string) *CreateThreatIntelSetInput {
7254	s.Name = &v
7255	return s
7256}
7257
7258// SetTags sets the Tags field's value.
7259func (s *CreateThreatIntelSetInput) SetTags(v map[string]*string) *CreateThreatIntelSetInput {
7260	s.Tags = v
7261	return s
7262}
7263
7264type CreateThreatIntelSetOutput struct {
7265	_ struct{} `type:"structure"`
7266
7267	// The ID of the ThreatIntelSet resource.
7268	//
7269	// ThreatIntelSetId is a required field
7270	ThreatIntelSetId *string `locationName:"threatIntelSetId" type:"string" required:"true"`
7271}
7272
7273// String returns the string representation
7274func (s CreateThreatIntelSetOutput) String() string {
7275	return awsutil.Prettify(s)
7276}
7277
7278// GoString returns the string representation
7279func (s CreateThreatIntelSetOutput) GoString() string {
7280	return s.String()
7281}
7282
7283// SetThreatIntelSetId sets the ThreatIntelSetId field's value.
7284func (s *CreateThreatIntelSetOutput) SetThreatIntelSetId(v string) *CreateThreatIntelSetOutput {
7285	s.ThreatIntelSetId = &v
7286	return s
7287}
7288
7289// Contains information on the status of DNS logs as a data source.
7290type DNSLogsConfigurationResult struct {
7291	_ struct{} `type:"structure"`
7292
7293	// Denotes whether DNS logs is enabled as a data source.
7294	//
7295	// Status is a required field
7296	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"`
7297}
7298
7299// String returns the string representation
7300func (s DNSLogsConfigurationResult) String() string {
7301	return awsutil.Prettify(s)
7302}
7303
7304// GoString returns the string representation
7305func (s DNSLogsConfigurationResult) GoString() string {
7306	return s.String()
7307}
7308
7309// SetStatus sets the Status field's value.
7310func (s *DNSLogsConfigurationResult) SetStatus(v string) *DNSLogsConfigurationResult {
7311	s.Status = &v
7312	return s
7313}
7314
7315// Contains information about which data sources are enabled.
7316type DataSourceConfigurations struct {
7317	_ struct{} `type:"structure"`
7318
7319	// Describes whether S3 data event logs are enabled as a data source.
7320	S3Logs *S3LogsConfiguration `locationName:"s3Logs" type:"structure"`
7321}
7322
7323// String returns the string representation
7324func (s DataSourceConfigurations) String() string {
7325	return awsutil.Prettify(s)
7326}
7327
7328// GoString returns the string representation
7329func (s DataSourceConfigurations) GoString() string {
7330	return s.String()
7331}
7332
7333// Validate inspects the fields of the type to determine if they are valid.
7334func (s *DataSourceConfigurations) Validate() error {
7335	invalidParams := request.ErrInvalidParams{Context: "DataSourceConfigurations"}
7336	if s.S3Logs != nil {
7337		if err := s.S3Logs.Validate(); err != nil {
7338			invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams))
7339		}
7340	}
7341
7342	if invalidParams.Len() > 0 {
7343		return invalidParams
7344	}
7345	return nil
7346}
7347
7348// SetS3Logs sets the S3Logs field's value.
7349func (s *DataSourceConfigurations) SetS3Logs(v *S3LogsConfiguration) *DataSourceConfigurations {
7350	s.S3Logs = v
7351	return s
7352}
7353
7354// Contains information on the status of data sources for the detector.
7355type DataSourceConfigurationsResult struct {
7356	_ struct{} `type:"structure"`
7357
7358	// An object that contains information on the status of CloudTrail as a data
7359	// source.
7360	//
7361	// CloudTrail is a required field
7362	CloudTrail *CloudTrailConfigurationResult `locationName:"cloudTrail" type:"structure" required:"true"`
7363
7364	// An object that contains information on the status of DNS logs as a data source.
7365	//
7366	// DNSLogs is a required field
7367	DNSLogs *DNSLogsConfigurationResult `locationName:"dnsLogs" type:"structure" required:"true"`
7368
7369	// An object that contains information on the status of VPC flow logs as a data
7370	// source.
7371	//
7372	// FlowLogs is a required field
7373	FlowLogs *FlowLogsConfigurationResult `locationName:"flowLogs" type:"structure" required:"true"`
7374
7375	// An object that contains information on the status of S3 Data event logs as
7376	// a data source.
7377	//
7378	// S3Logs is a required field
7379	S3Logs *S3LogsConfigurationResult `locationName:"s3Logs" type:"structure" required:"true"`
7380}
7381
7382// String returns the string representation
7383func (s DataSourceConfigurationsResult) String() string {
7384	return awsutil.Prettify(s)
7385}
7386
7387// GoString returns the string representation
7388func (s DataSourceConfigurationsResult) GoString() string {
7389	return s.String()
7390}
7391
7392// SetCloudTrail sets the CloudTrail field's value.
7393func (s *DataSourceConfigurationsResult) SetCloudTrail(v *CloudTrailConfigurationResult) *DataSourceConfigurationsResult {
7394	s.CloudTrail = v
7395	return s
7396}
7397
7398// SetDNSLogs sets the DNSLogs field's value.
7399func (s *DataSourceConfigurationsResult) SetDNSLogs(v *DNSLogsConfigurationResult) *DataSourceConfigurationsResult {
7400	s.DNSLogs = v
7401	return s
7402}
7403
7404// SetFlowLogs sets the FlowLogs field's value.
7405func (s *DataSourceConfigurationsResult) SetFlowLogs(v *FlowLogsConfigurationResult) *DataSourceConfigurationsResult {
7406	s.FlowLogs = v
7407	return s
7408}
7409
7410// SetS3Logs sets the S3Logs field's value.
7411func (s *DataSourceConfigurationsResult) SetS3Logs(v *S3LogsConfigurationResult) *DataSourceConfigurationsResult {
7412	s.S3Logs = v
7413	return s
7414}
7415
7416type DeclineInvitationsInput struct {
7417	_ struct{} `type:"structure"`
7418
7419	// A list of account IDs of the AWS accounts that sent invitations to the current
7420	// member account that you want to decline invitations from.
7421	//
7422	// AccountIds is a required field
7423	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
7424}
7425
7426// String returns the string representation
7427func (s DeclineInvitationsInput) String() string {
7428	return awsutil.Prettify(s)
7429}
7430
7431// GoString returns the string representation
7432func (s DeclineInvitationsInput) GoString() string {
7433	return s.String()
7434}
7435
7436// Validate inspects the fields of the type to determine if they are valid.
7437func (s *DeclineInvitationsInput) Validate() error {
7438	invalidParams := request.ErrInvalidParams{Context: "DeclineInvitationsInput"}
7439	if s.AccountIds == nil {
7440		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
7441	}
7442	if s.AccountIds != nil && len(s.AccountIds) < 1 {
7443		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
7444	}
7445
7446	if invalidParams.Len() > 0 {
7447		return invalidParams
7448	}
7449	return nil
7450}
7451
7452// SetAccountIds sets the AccountIds field's value.
7453func (s *DeclineInvitationsInput) SetAccountIds(v []*string) *DeclineInvitationsInput {
7454	s.AccountIds = v
7455	return s
7456}
7457
7458type DeclineInvitationsOutput struct {
7459	_ struct{} `type:"structure"`
7460
7461	// A list of objects that contain the unprocessed account and a result string
7462	// that explains why it was unprocessed.
7463	//
7464	// UnprocessedAccounts is a required field
7465	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
7466}
7467
7468// String returns the string representation
7469func (s DeclineInvitationsOutput) String() string {
7470	return awsutil.Prettify(s)
7471}
7472
7473// GoString returns the string representation
7474func (s DeclineInvitationsOutput) GoString() string {
7475	return s.String()
7476}
7477
7478// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
7479func (s *DeclineInvitationsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DeclineInvitationsOutput {
7480	s.UnprocessedAccounts = v
7481	return s
7482}
7483
7484// Contains information on the server side encryption method used in the S3
7485// bucket. See S3 Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html)
7486// for more information.
7487type DefaultServerSideEncryption struct {
7488	_ struct{} `type:"structure"`
7489
7490	// The type of encryption used for objects within the S3 bucket.
7491	EncryptionType *string `locationName:"encryptionType" type:"string"`
7492
7493	// The Amazon Resource Name (ARN) of the KMS encryption key. Only available
7494	// if the bucket EncryptionType is aws:kms.
7495	KmsMasterKeyArn *string `locationName:"kmsMasterKeyArn" type:"string"`
7496}
7497
7498// String returns the string representation
7499func (s DefaultServerSideEncryption) String() string {
7500	return awsutil.Prettify(s)
7501}
7502
7503// GoString returns the string representation
7504func (s DefaultServerSideEncryption) GoString() string {
7505	return s.String()
7506}
7507
7508// SetEncryptionType sets the EncryptionType field's value.
7509func (s *DefaultServerSideEncryption) SetEncryptionType(v string) *DefaultServerSideEncryption {
7510	s.EncryptionType = &v
7511	return s
7512}
7513
7514// SetKmsMasterKeyArn sets the KmsMasterKeyArn field's value.
7515func (s *DefaultServerSideEncryption) SetKmsMasterKeyArn(v string) *DefaultServerSideEncryption {
7516	s.KmsMasterKeyArn = &v
7517	return s
7518}
7519
7520type DeleteDetectorInput struct {
7521	_ struct{} `type:"structure"`
7522
7523	// The unique ID of the detector that you want to delete.
7524	//
7525	// DetectorId is a required field
7526	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7527}
7528
7529// String returns the string representation
7530func (s DeleteDetectorInput) String() string {
7531	return awsutil.Prettify(s)
7532}
7533
7534// GoString returns the string representation
7535func (s DeleteDetectorInput) GoString() string {
7536	return s.String()
7537}
7538
7539// Validate inspects the fields of the type to determine if they are valid.
7540func (s *DeleteDetectorInput) Validate() error {
7541	invalidParams := request.ErrInvalidParams{Context: "DeleteDetectorInput"}
7542	if s.DetectorId == nil {
7543		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7544	}
7545	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7546		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7547	}
7548
7549	if invalidParams.Len() > 0 {
7550		return invalidParams
7551	}
7552	return nil
7553}
7554
7555// SetDetectorId sets the DetectorId field's value.
7556func (s *DeleteDetectorInput) SetDetectorId(v string) *DeleteDetectorInput {
7557	s.DetectorId = &v
7558	return s
7559}
7560
7561type DeleteDetectorOutput struct {
7562	_ struct{} `type:"structure"`
7563}
7564
7565// String returns the string representation
7566func (s DeleteDetectorOutput) String() string {
7567	return awsutil.Prettify(s)
7568}
7569
7570// GoString returns the string representation
7571func (s DeleteDetectorOutput) GoString() string {
7572	return s.String()
7573}
7574
7575type DeleteFilterInput struct {
7576	_ struct{} `type:"structure"`
7577
7578	// The unique ID of the detector that the filter is associated with.
7579	//
7580	// DetectorId is a required field
7581	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7582
7583	// The name of the filter that you want to delete.
7584	//
7585	// FilterName is a required field
7586	FilterName *string `location:"uri" locationName:"filterName" type:"string" required:"true"`
7587}
7588
7589// String returns the string representation
7590func (s DeleteFilterInput) String() string {
7591	return awsutil.Prettify(s)
7592}
7593
7594// GoString returns the string representation
7595func (s DeleteFilterInput) GoString() string {
7596	return s.String()
7597}
7598
7599// Validate inspects the fields of the type to determine if they are valid.
7600func (s *DeleteFilterInput) Validate() error {
7601	invalidParams := request.ErrInvalidParams{Context: "DeleteFilterInput"}
7602	if s.DetectorId == nil {
7603		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7604	}
7605	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7606		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7607	}
7608	if s.FilterName == nil {
7609		invalidParams.Add(request.NewErrParamRequired("FilterName"))
7610	}
7611	if s.FilterName != nil && len(*s.FilterName) < 1 {
7612		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
7613	}
7614
7615	if invalidParams.Len() > 0 {
7616		return invalidParams
7617	}
7618	return nil
7619}
7620
7621// SetDetectorId sets the DetectorId field's value.
7622func (s *DeleteFilterInput) SetDetectorId(v string) *DeleteFilterInput {
7623	s.DetectorId = &v
7624	return s
7625}
7626
7627// SetFilterName sets the FilterName field's value.
7628func (s *DeleteFilterInput) SetFilterName(v string) *DeleteFilterInput {
7629	s.FilterName = &v
7630	return s
7631}
7632
7633type DeleteFilterOutput struct {
7634	_ struct{} `type:"structure"`
7635}
7636
7637// String returns the string representation
7638func (s DeleteFilterOutput) String() string {
7639	return awsutil.Prettify(s)
7640}
7641
7642// GoString returns the string representation
7643func (s DeleteFilterOutput) GoString() string {
7644	return s.String()
7645}
7646
7647type DeleteIPSetInput struct {
7648	_ struct{} `type:"structure"`
7649
7650	// The unique ID of the detector associated with the IPSet.
7651	//
7652	// DetectorId is a required field
7653	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7654
7655	// The unique ID of the IPSet to delete.
7656	//
7657	// IpSetId is a required field
7658	IpSetId *string `location:"uri" locationName:"ipSetId" type:"string" required:"true"`
7659}
7660
7661// String returns the string representation
7662func (s DeleteIPSetInput) String() string {
7663	return awsutil.Prettify(s)
7664}
7665
7666// GoString returns the string representation
7667func (s DeleteIPSetInput) GoString() string {
7668	return s.String()
7669}
7670
7671// Validate inspects the fields of the type to determine if they are valid.
7672func (s *DeleteIPSetInput) Validate() error {
7673	invalidParams := request.ErrInvalidParams{Context: "DeleteIPSetInput"}
7674	if s.DetectorId == nil {
7675		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7676	}
7677	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7678		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7679	}
7680	if s.IpSetId == nil {
7681		invalidParams.Add(request.NewErrParamRequired("IpSetId"))
7682	}
7683	if s.IpSetId != nil && len(*s.IpSetId) < 1 {
7684		invalidParams.Add(request.NewErrParamMinLen("IpSetId", 1))
7685	}
7686
7687	if invalidParams.Len() > 0 {
7688		return invalidParams
7689	}
7690	return nil
7691}
7692
7693// SetDetectorId sets the DetectorId field's value.
7694func (s *DeleteIPSetInput) SetDetectorId(v string) *DeleteIPSetInput {
7695	s.DetectorId = &v
7696	return s
7697}
7698
7699// SetIpSetId sets the IpSetId field's value.
7700func (s *DeleteIPSetInput) SetIpSetId(v string) *DeleteIPSetInput {
7701	s.IpSetId = &v
7702	return s
7703}
7704
7705type DeleteIPSetOutput struct {
7706	_ struct{} `type:"structure"`
7707}
7708
7709// String returns the string representation
7710func (s DeleteIPSetOutput) String() string {
7711	return awsutil.Prettify(s)
7712}
7713
7714// GoString returns the string representation
7715func (s DeleteIPSetOutput) GoString() string {
7716	return s.String()
7717}
7718
7719type DeleteInvitationsInput struct {
7720	_ struct{} `type:"structure"`
7721
7722	// A list of account IDs of the AWS accounts that sent invitations to the current
7723	// member account that you want to delete invitations from.
7724	//
7725	// AccountIds is a required field
7726	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
7727}
7728
7729// String returns the string representation
7730func (s DeleteInvitationsInput) String() string {
7731	return awsutil.Prettify(s)
7732}
7733
7734// GoString returns the string representation
7735func (s DeleteInvitationsInput) GoString() string {
7736	return s.String()
7737}
7738
7739// Validate inspects the fields of the type to determine if they are valid.
7740func (s *DeleteInvitationsInput) Validate() error {
7741	invalidParams := request.ErrInvalidParams{Context: "DeleteInvitationsInput"}
7742	if s.AccountIds == nil {
7743		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
7744	}
7745	if s.AccountIds != nil && len(s.AccountIds) < 1 {
7746		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
7747	}
7748
7749	if invalidParams.Len() > 0 {
7750		return invalidParams
7751	}
7752	return nil
7753}
7754
7755// SetAccountIds sets the AccountIds field's value.
7756func (s *DeleteInvitationsInput) SetAccountIds(v []*string) *DeleteInvitationsInput {
7757	s.AccountIds = v
7758	return s
7759}
7760
7761type DeleteInvitationsOutput struct {
7762	_ struct{} `type:"structure"`
7763
7764	// A list of objects that contain the unprocessed account and a result string
7765	// that explains why it was unprocessed.
7766	//
7767	// UnprocessedAccounts is a required field
7768	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
7769}
7770
7771// String returns the string representation
7772func (s DeleteInvitationsOutput) String() string {
7773	return awsutil.Prettify(s)
7774}
7775
7776// GoString returns the string representation
7777func (s DeleteInvitationsOutput) GoString() string {
7778	return s.String()
7779}
7780
7781// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
7782func (s *DeleteInvitationsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DeleteInvitationsOutput {
7783	s.UnprocessedAccounts = v
7784	return s
7785}
7786
7787type DeleteMembersInput struct {
7788	_ struct{} `type:"structure"`
7789
7790	// A list of account IDs of the GuardDuty member accounts that you want to delete.
7791	//
7792	// AccountIds is a required field
7793	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
7794
7795	// The unique ID of the detector of the GuardDuty account whose members you
7796	// want to delete.
7797	//
7798	// DetectorId is a required field
7799	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7800}
7801
7802// String returns the string representation
7803func (s DeleteMembersInput) String() string {
7804	return awsutil.Prettify(s)
7805}
7806
7807// GoString returns the string representation
7808func (s DeleteMembersInput) GoString() string {
7809	return s.String()
7810}
7811
7812// Validate inspects the fields of the type to determine if they are valid.
7813func (s *DeleteMembersInput) Validate() error {
7814	invalidParams := request.ErrInvalidParams{Context: "DeleteMembersInput"}
7815	if s.AccountIds == nil {
7816		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
7817	}
7818	if s.AccountIds != nil && len(s.AccountIds) < 1 {
7819		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
7820	}
7821	if s.DetectorId == nil {
7822		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7823	}
7824	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7825		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7826	}
7827
7828	if invalidParams.Len() > 0 {
7829		return invalidParams
7830	}
7831	return nil
7832}
7833
7834// SetAccountIds sets the AccountIds field's value.
7835func (s *DeleteMembersInput) SetAccountIds(v []*string) *DeleteMembersInput {
7836	s.AccountIds = v
7837	return s
7838}
7839
7840// SetDetectorId sets the DetectorId field's value.
7841func (s *DeleteMembersInput) SetDetectorId(v string) *DeleteMembersInput {
7842	s.DetectorId = &v
7843	return s
7844}
7845
7846type DeleteMembersOutput struct {
7847	_ struct{} `type:"structure"`
7848
7849	// The accounts that could not be processed.
7850	//
7851	// UnprocessedAccounts is a required field
7852	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
7853}
7854
7855// String returns the string representation
7856func (s DeleteMembersOutput) String() string {
7857	return awsutil.Prettify(s)
7858}
7859
7860// GoString returns the string representation
7861func (s DeleteMembersOutput) GoString() string {
7862	return s.String()
7863}
7864
7865// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
7866func (s *DeleteMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DeleteMembersOutput {
7867	s.UnprocessedAccounts = v
7868	return s
7869}
7870
7871type DeletePublishingDestinationInput struct {
7872	_ struct{} `type:"structure"`
7873
7874	// The ID of the publishing destination to delete.
7875	//
7876	// DestinationId is a required field
7877	DestinationId *string `location:"uri" locationName:"destinationId" type:"string" required:"true"`
7878
7879	// The unique ID of the detector associated with the publishing destination
7880	// to delete.
7881	//
7882	// DetectorId is a required field
7883	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7884}
7885
7886// String returns the string representation
7887func (s DeletePublishingDestinationInput) String() string {
7888	return awsutil.Prettify(s)
7889}
7890
7891// GoString returns the string representation
7892func (s DeletePublishingDestinationInput) GoString() string {
7893	return s.String()
7894}
7895
7896// Validate inspects the fields of the type to determine if they are valid.
7897func (s *DeletePublishingDestinationInput) Validate() error {
7898	invalidParams := request.ErrInvalidParams{Context: "DeletePublishingDestinationInput"}
7899	if s.DestinationId == nil {
7900		invalidParams.Add(request.NewErrParamRequired("DestinationId"))
7901	}
7902	if s.DestinationId != nil && len(*s.DestinationId) < 1 {
7903		invalidParams.Add(request.NewErrParamMinLen("DestinationId", 1))
7904	}
7905	if s.DetectorId == nil {
7906		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7907	}
7908	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7909		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7910	}
7911
7912	if invalidParams.Len() > 0 {
7913		return invalidParams
7914	}
7915	return nil
7916}
7917
7918// SetDestinationId sets the DestinationId field's value.
7919func (s *DeletePublishingDestinationInput) SetDestinationId(v string) *DeletePublishingDestinationInput {
7920	s.DestinationId = &v
7921	return s
7922}
7923
7924// SetDetectorId sets the DetectorId field's value.
7925func (s *DeletePublishingDestinationInput) SetDetectorId(v string) *DeletePublishingDestinationInput {
7926	s.DetectorId = &v
7927	return s
7928}
7929
7930type DeletePublishingDestinationOutput struct {
7931	_ struct{} `type:"structure"`
7932}
7933
7934// String returns the string representation
7935func (s DeletePublishingDestinationOutput) String() string {
7936	return awsutil.Prettify(s)
7937}
7938
7939// GoString returns the string representation
7940func (s DeletePublishingDestinationOutput) GoString() string {
7941	return s.String()
7942}
7943
7944type DeleteThreatIntelSetInput struct {
7945	_ struct{} `type:"structure"`
7946
7947	// The unique ID of the detector that the threatIntelSet is associated with.
7948	//
7949	// DetectorId is a required field
7950	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7951
7952	// The unique ID of the threatIntelSet that you want to delete.
7953	//
7954	// ThreatIntelSetId is a required field
7955	ThreatIntelSetId *string `location:"uri" locationName:"threatIntelSetId" type:"string" required:"true"`
7956}
7957
7958// String returns the string representation
7959func (s DeleteThreatIntelSetInput) String() string {
7960	return awsutil.Prettify(s)
7961}
7962
7963// GoString returns the string representation
7964func (s DeleteThreatIntelSetInput) GoString() string {
7965	return s.String()
7966}
7967
7968// Validate inspects the fields of the type to determine if they are valid.
7969func (s *DeleteThreatIntelSetInput) Validate() error {
7970	invalidParams := request.ErrInvalidParams{Context: "DeleteThreatIntelSetInput"}
7971	if s.DetectorId == nil {
7972		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7973	}
7974	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7975		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7976	}
7977	if s.ThreatIntelSetId == nil {
7978		invalidParams.Add(request.NewErrParamRequired("ThreatIntelSetId"))
7979	}
7980	if s.ThreatIntelSetId != nil && len(*s.ThreatIntelSetId) < 1 {
7981		invalidParams.Add(request.NewErrParamMinLen("ThreatIntelSetId", 1))
7982	}
7983
7984	if invalidParams.Len() > 0 {
7985		return invalidParams
7986	}
7987	return nil
7988}
7989
7990// SetDetectorId sets the DetectorId field's value.
7991func (s *DeleteThreatIntelSetInput) SetDetectorId(v string) *DeleteThreatIntelSetInput {
7992	s.DetectorId = &v
7993	return s
7994}
7995
7996// SetThreatIntelSetId sets the ThreatIntelSetId field's value.
7997func (s *DeleteThreatIntelSetInput) SetThreatIntelSetId(v string) *DeleteThreatIntelSetInput {
7998	s.ThreatIntelSetId = &v
7999	return s
8000}
8001
8002type DeleteThreatIntelSetOutput struct {
8003	_ struct{} `type:"structure"`
8004}
8005
8006// String returns the string representation
8007func (s DeleteThreatIntelSetOutput) String() string {
8008	return awsutil.Prettify(s)
8009}
8010
8011// GoString returns the string representation
8012func (s DeleteThreatIntelSetOutput) GoString() string {
8013	return s.String()
8014}
8015
8016type DescribeOrganizationConfigurationInput struct {
8017	_ struct{} `type:"structure"`
8018
8019	// The ID of the detector to retrieve information about the delegated administrator
8020	// from.
8021	//
8022	// DetectorId is a required field
8023	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
8024}
8025
8026// String returns the string representation
8027func (s DescribeOrganizationConfigurationInput) String() string {
8028	return awsutil.Prettify(s)
8029}
8030
8031// GoString returns the string representation
8032func (s DescribeOrganizationConfigurationInput) GoString() string {
8033	return s.String()
8034}
8035
8036// Validate inspects the fields of the type to determine if they are valid.
8037func (s *DescribeOrganizationConfigurationInput) Validate() error {
8038	invalidParams := request.ErrInvalidParams{Context: "DescribeOrganizationConfigurationInput"}
8039	if s.DetectorId == nil {
8040		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
8041	}
8042	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
8043		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
8044	}
8045
8046	if invalidParams.Len() > 0 {
8047		return invalidParams
8048	}
8049	return nil
8050}
8051
8052// SetDetectorId sets the DetectorId field's value.
8053func (s *DescribeOrganizationConfigurationInput) SetDetectorId(v string) *DescribeOrganizationConfigurationInput {
8054	s.DetectorId = &v
8055	return s
8056}
8057
8058type DescribeOrganizationConfigurationOutput struct {
8059	_ struct{} `type:"structure"`
8060
8061	// Indicates whether GuardDuty is automatically enabled for accounts added to
8062	// the organization.
8063	//
8064	// AutoEnable is a required field
8065	AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"`
8066
8067	// Describes which data sources are enabled automatically for member accounts.
8068	DataSources *OrganizationDataSourceConfigurationsResult `locationName:"dataSources" type:"structure"`
8069
8070	// Indicates whether the maximum number of allowed member accounts are already
8071	// associated with the delegated administrator account for your organization.
8072	//
8073	// MemberAccountLimitReached is a required field
8074	MemberAccountLimitReached *bool `locationName:"memberAccountLimitReached" type:"boolean" required:"true"`
8075}
8076
8077// String returns the string representation
8078func (s DescribeOrganizationConfigurationOutput) String() string {
8079	return awsutil.Prettify(s)
8080}
8081
8082// GoString returns the string representation
8083func (s DescribeOrganizationConfigurationOutput) GoString() string {
8084	return s.String()
8085}
8086
8087// SetAutoEnable sets the AutoEnable field's value.
8088func (s *DescribeOrganizationConfigurationOutput) SetAutoEnable(v bool) *DescribeOrganizationConfigurationOutput {
8089	s.AutoEnable = &v
8090	return s
8091}
8092
8093// SetDataSources sets the DataSources field's value.
8094func (s *DescribeOrganizationConfigurationOutput) SetDataSources(v *OrganizationDataSourceConfigurationsResult) *DescribeOrganizationConfigurationOutput {
8095	s.DataSources = v
8096	return s
8097}
8098
8099// SetMemberAccountLimitReached sets the MemberAccountLimitReached field's value.
8100func (s *DescribeOrganizationConfigurationOutput) SetMemberAccountLimitReached(v bool) *DescribeOrganizationConfigurationOutput {
8101	s.MemberAccountLimitReached = &v
8102	return s
8103}
8104
8105type DescribePublishingDestinationInput struct {
8106	_ struct{} `type:"structure"`
8107
8108	// The ID of the publishing destination to retrieve.
8109	//
8110	// DestinationId is a required field
8111	DestinationId *string `location:"uri" locationName:"destinationId" type:"string" required:"true"`
8112
8113	// The unique ID of the detector associated with the publishing destination
8114	// to retrieve.
8115	//
8116	// DetectorId is a required field
8117	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
8118}
8119
8120// String returns the string representation
8121func (s DescribePublishingDestinationInput) String() string {
8122	return awsutil.Prettify(s)
8123}
8124
8125// GoString returns the string representation
8126func (s DescribePublishingDestinationInput) GoString() string {
8127	return s.String()
8128}
8129
8130// Validate inspects the fields of the type to determine if they are valid.
8131func (s *DescribePublishingDestinationInput) Validate() error {
8132	invalidParams := request.ErrInvalidParams{Context: "DescribePublishingDestinationInput"}
8133	if s.DestinationId == nil {
8134		invalidParams.Add(request.NewErrParamRequired("DestinationId"))
8135	}
8136	if s.DestinationId != nil && len(*s.DestinationId) < 1 {
8137		invalidParams.Add(request.NewErrParamMinLen("DestinationId", 1))
8138	}
8139	if s.DetectorId == nil {
8140		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
8141	}
8142	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
8143		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
8144	}
8145
8146	if invalidParams.Len() > 0 {
8147		return invalidParams
8148	}
8149	return nil
8150}
8151
8152// SetDestinationId sets the DestinationId field's value.
8153func (s *DescribePublishingDestinationInput) SetDestinationId(v string) *DescribePublishingDestinationInput {
8154	s.DestinationId = &v
8155	return s
8156}
8157
8158// SetDetectorId sets the DetectorId field's value.
8159func (s *DescribePublishingDestinationInput) SetDetectorId(v string) *DescribePublishingDestinationInput {
8160	s.DetectorId = &v
8161	return s
8162}
8163
8164type DescribePublishingDestinationOutput struct {
8165	_ struct{} `type:"structure"`
8166
8167	// The ID of the publishing destination.
8168	//
8169	// DestinationId is a required field
8170	DestinationId *string `locationName:"destinationId" type:"string" required:"true"`
8171
8172	// A DestinationProperties object that includes the DestinationArn and KmsKeyArn
8173	// of the publishing destination.
8174	//
8175	// DestinationProperties is a required field
8176	DestinationProperties *DestinationProperties `locationName:"destinationProperties" type:"structure" required:"true"`
8177
8178	// The type of publishing destination. Currently, only Amazon S3 buckets are
8179	// supported.
8180	//
8181	// DestinationType is a required field
8182	DestinationType *string `locationName:"destinationType" min:"1" type:"string" required:"true" enum:"DestinationType"`
8183
8184	// The time, in epoch millisecond format, at which GuardDuty was first unable
8185	// to publish findings to the destination.
8186	//
8187	// PublishingFailureStartTimestamp is a required field
8188	PublishingFailureStartTimestamp *int64 `locationName:"publishingFailureStartTimestamp" type:"long" required:"true"`
8189
8190	// The status of the publishing destination.
8191	//
8192	// Status is a required field
8193	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"PublishingStatus"`
8194}
8195
8196// String returns the string representation
8197func (s DescribePublishingDestinationOutput) String() string {
8198	return awsutil.Prettify(s)
8199}
8200
8201// GoString returns the string representation
8202func (s DescribePublishingDestinationOutput) GoString() string {
8203	return s.String()
8204}
8205
8206// SetDestinationId sets the DestinationId field's value.
8207func (s *DescribePublishingDestinationOutput) SetDestinationId(v string) *DescribePublishingDestinationOutput {
8208	s.DestinationId = &v
8209	return s
8210}
8211
8212// SetDestinationProperties sets the DestinationProperties field's value.
8213func (s *DescribePublishingDestinationOutput) SetDestinationProperties(v *DestinationProperties) *DescribePublishingDestinationOutput {
8214	s.DestinationProperties = v
8215	return s
8216}
8217
8218// SetDestinationType sets the DestinationType field's value.
8219func (s *DescribePublishingDestinationOutput) SetDestinationType(v string) *DescribePublishingDestinationOutput {
8220	s.DestinationType = &v
8221	return s
8222}
8223
8224// SetPublishingFailureStartTimestamp sets the PublishingFailureStartTimestamp field's value.
8225func (s *DescribePublishingDestinationOutput) SetPublishingFailureStartTimestamp(v int64) *DescribePublishingDestinationOutput {
8226	s.PublishingFailureStartTimestamp = &v
8227	return s
8228}
8229
8230// SetStatus sets the Status field's value.
8231func (s *DescribePublishingDestinationOutput) SetStatus(v string) *DescribePublishingDestinationOutput {
8232	s.Status = &v
8233	return s
8234}
8235
8236// Contains information about the publishing destination, including the ID,
8237// type, and status.
8238type Destination struct {
8239	_ struct{} `type:"structure"`
8240
8241	// The unique ID of the publishing destination.
8242	//
8243	// DestinationId is a required field
8244	DestinationId *string `locationName:"destinationId" type:"string" required:"true"`
8245
8246	// The type of resource used for the publishing destination. Currently, only
8247	// Amazon S3 buckets are supported.
8248	//
8249	// DestinationType is a required field
8250	DestinationType *string `locationName:"destinationType" min:"1" type:"string" required:"true" enum:"DestinationType"`
8251
8252	// The status of the publishing destination.
8253	//
8254	// Status is a required field
8255	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"PublishingStatus"`
8256}
8257
8258// String returns the string representation
8259func (s Destination) String() string {
8260	return awsutil.Prettify(s)
8261}
8262
8263// GoString returns the string representation
8264func (s Destination) GoString() string {
8265	return s.String()
8266}
8267
8268// SetDestinationId sets the DestinationId field's value.
8269func (s *Destination) SetDestinationId(v string) *Destination {
8270	s.DestinationId = &v
8271	return s
8272}
8273
8274// SetDestinationType sets the DestinationType field's value.
8275func (s *Destination) SetDestinationType(v string) *Destination {
8276	s.DestinationType = &v
8277	return s
8278}
8279
8280// SetStatus sets the Status field's value.
8281func (s *Destination) SetStatus(v string) *Destination {
8282	s.Status = &v
8283	return s
8284}
8285
8286// Contains the Amazon Resource Name (ARN) of the resource to publish to, such
8287// as an S3 bucket, and the ARN of the KMS key to use to encrypt published findings.
8288type DestinationProperties struct {
8289	_ struct{} `type:"structure"`
8290
8291	// The ARN of the resource to publish to.
8292	DestinationArn *string `locationName:"destinationArn" type:"string"`
8293
8294	// The ARN of the KMS key to use for encryption.
8295	KmsKeyArn *string `locationName:"kmsKeyArn" type:"string"`
8296}
8297
8298// String returns the string representation
8299func (s DestinationProperties) String() string {
8300	return awsutil.Prettify(s)
8301}
8302
8303// GoString returns the string representation
8304func (s DestinationProperties) GoString() string {
8305	return s.String()
8306}
8307
8308// SetDestinationArn sets the DestinationArn field's value.
8309func (s *DestinationProperties) SetDestinationArn(v string) *DestinationProperties {
8310	s.DestinationArn = &v
8311	return s
8312}
8313
8314// SetKmsKeyArn sets the KmsKeyArn field's value.
8315func (s *DestinationProperties) SetKmsKeyArn(v string) *DestinationProperties {
8316	s.KmsKeyArn = &v
8317	return s
8318}
8319
8320type DisableOrganizationAdminAccountInput struct {
8321	_ struct{} `type:"structure"`
8322
8323	// The AWS Account ID for the organizations account to be disabled as a GuardDuty
8324	// delegated administrator.
8325	//
8326	// AdminAccountId is a required field
8327	AdminAccountId *string `locationName:"adminAccountId" type:"string" required:"true"`
8328}
8329
8330// String returns the string representation
8331func (s DisableOrganizationAdminAccountInput) String() string {
8332	return awsutil.Prettify(s)
8333}
8334
8335// GoString returns the string representation
8336func (s DisableOrganizationAdminAccountInput) GoString() string {
8337	return s.String()
8338}
8339
8340// Validate inspects the fields of the type to determine if they are valid.
8341func (s *DisableOrganizationAdminAccountInput) Validate() error {
8342	invalidParams := request.ErrInvalidParams{Context: "DisableOrganizationAdminAccountInput"}
8343	if s.AdminAccountId == nil {
8344		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
8345	}
8346
8347	if invalidParams.Len() > 0 {
8348		return invalidParams
8349	}
8350	return nil
8351}
8352
8353// SetAdminAccountId sets the AdminAccountId field's value.
8354func (s *DisableOrganizationAdminAccountInput) SetAdminAccountId(v string) *DisableOrganizationAdminAccountInput {
8355	s.AdminAccountId = &v
8356	return s
8357}
8358
8359type DisableOrganizationAdminAccountOutput struct {
8360	_ struct{} `type:"structure"`
8361}
8362
8363// String returns the string representation
8364func (s DisableOrganizationAdminAccountOutput) String() string {
8365	return awsutil.Prettify(s)
8366}
8367
8368// GoString returns the string representation
8369func (s DisableOrganizationAdminAccountOutput) GoString() string {
8370	return s.String()
8371}
8372
8373type DisassociateFromMasterAccountInput struct {
8374	_ struct{} `type:"structure"`
8375
8376	// The unique ID of the detector of the GuardDuty member account.
8377	//
8378	// DetectorId is a required field
8379	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
8380}
8381
8382// String returns the string representation
8383func (s DisassociateFromMasterAccountInput) String() string {
8384	return awsutil.Prettify(s)
8385}
8386
8387// GoString returns the string representation
8388func (s DisassociateFromMasterAccountInput) GoString() string {
8389	return s.String()
8390}
8391
8392// Validate inspects the fields of the type to determine if they are valid.
8393func (s *DisassociateFromMasterAccountInput) Validate() error {
8394	invalidParams := request.ErrInvalidParams{Context: "DisassociateFromMasterAccountInput"}
8395	if s.DetectorId == nil {
8396		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
8397	}
8398	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
8399		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
8400	}
8401
8402	if invalidParams.Len() > 0 {
8403		return invalidParams
8404	}
8405	return nil
8406}
8407
8408// SetDetectorId sets the DetectorId field's value.
8409func (s *DisassociateFromMasterAccountInput) SetDetectorId(v string) *DisassociateFromMasterAccountInput {
8410	s.DetectorId = &v
8411	return s
8412}
8413
8414type DisassociateFromMasterAccountOutput struct {
8415	_ struct{} `type:"structure"`
8416}
8417
8418// String returns the string representation
8419func (s DisassociateFromMasterAccountOutput) String() string {
8420	return awsutil.Prettify(s)
8421}
8422
8423// GoString returns the string representation
8424func (s DisassociateFromMasterAccountOutput) GoString() string {
8425	return s.String()
8426}
8427
8428type DisassociateMembersInput struct {
8429	_ struct{} `type:"structure"`
8430
8431	// A list of account IDs of the GuardDuty member accounts that you want to disassociate
8432	// from the administrator account.
8433	//
8434	// AccountIds is a required field
8435	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
8436
8437	// The unique ID of the detector of the GuardDuty account whose members you
8438	// want to disassociate from the administrator account.
8439	//
8440	// DetectorId is a required field
8441	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
8442}
8443
8444// String returns the string representation
8445func (s DisassociateMembersInput) String() string {
8446	return awsutil.Prettify(s)
8447}
8448
8449// GoString returns the string representation
8450func (s DisassociateMembersInput) GoString() string {
8451	return s.String()
8452}
8453
8454// Validate inspects the fields of the type to determine if they are valid.
8455func (s *DisassociateMembersInput) Validate() error {
8456	invalidParams := request.ErrInvalidParams{Context: "DisassociateMembersInput"}
8457	if s.AccountIds == nil {
8458		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
8459	}
8460	if s.AccountIds != nil && len(s.AccountIds) < 1 {
8461		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
8462	}
8463	if s.DetectorId == nil {
8464		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
8465	}
8466	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
8467		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
8468	}
8469
8470	if invalidParams.Len() > 0 {
8471		return invalidParams
8472	}
8473	return nil
8474}
8475
8476// SetAccountIds sets the AccountIds field's value.
8477func (s *DisassociateMembersInput) SetAccountIds(v []*string) *DisassociateMembersInput {
8478	s.AccountIds = v
8479	return s
8480}
8481
8482// SetDetectorId sets the DetectorId field's value.
8483func (s *DisassociateMembersInput) SetDetectorId(v string) *DisassociateMembersInput {
8484	s.DetectorId = &v
8485	return s
8486}
8487
8488type DisassociateMembersOutput struct {
8489	_ struct{} `type:"structure"`
8490
8491	// A list of objects that contain the unprocessed account and a result string
8492	// that explains why it was unprocessed.
8493	//
8494	// UnprocessedAccounts is a required field
8495	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
8496}
8497
8498// String returns the string representation
8499func (s DisassociateMembersOutput) String() string {
8500	return awsutil.Prettify(s)
8501}
8502
8503// GoString returns the string representation
8504func (s DisassociateMembersOutput) GoString() string {
8505	return s.String()
8506}
8507
8508// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
8509func (s *DisassociateMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DisassociateMembersOutput {
8510	s.UnprocessedAccounts = v
8511	return s
8512}
8513
8514// Contains information about the DNS_REQUEST action described in this finding.
8515type DnsRequestAction struct {
8516	_ struct{} `type:"structure"`
8517
8518	// The domain information for the API request.
8519	Domain *string `locationName:"domain" type:"string"`
8520}
8521
8522// String returns the string representation
8523func (s DnsRequestAction) String() string {
8524	return awsutil.Prettify(s)
8525}
8526
8527// GoString returns the string representation
8528func (s DnsRequestAction) GoString() string {
8529	return s.String()
8530}
8531
8532// SetDomain sets the Domain field's value.
8533func (s *DnsRequestAction) SetDomain(v string) *DnsRequestAction {
8534	s.Domain = &v
8535	return s
8536}
8537
8538// Contains information about the domain.
8539type DomainDetails struct {
8540	_ struct{} `type:"structure"`
8541
8542	// The domain information for the AWS API call.
8543	Domain *string `locationName:"domain" type:"string"`
8544}
8545
8546// String returns the string representation
8547func (s DomainDetails) String() string {
8548	return awsutil.Prettify(s)
8549}
8550
8551// GoString returns the string representation
8552func (s DomainDetails) GoString() string {
8553	return s.String()
8554}
8555
8556// SetDomain sets the Domain field's value.
8557func (s *DomainDetails) SetDomain(v string) *DomainDetails {
8558	s.Domain = &v
8559	return s
8560}
8561
8562type EnableOrganizationAdminAccountInput struct {
8563	_ struct{} `type:"structure"`
8564
8565	// The AWS Account ID for the organization account to be enabled as a GuardDuty
8566	// delegated administrator.
8567	//
8568	// AdminAccountId is a required field
8569	AdminAccountId *string `locationName:"adminAccountId" type:"string" required:"true"`
8570}
8571
8572// String returns the string representation
8573func (s EnableOrganizationAdminAccountInput) String() string {
8574	return awsutil.Prettify(s)
8575}
8576
8577// GoString returns the string representation
8578func (s EnableOrganizationAdminAccountInput) GoString() string {
8579	return s.String()
8580}
8581
8582// Validate inspects the fields of the type to determine if they are valid.
8583func (s *EnableOrganizationAdminAccountInput) Validate() error {
8584	invalidParams := request.ErrInvalidParams{Context: "EnableOrganizationAdminAccountInput"}
8585	if s.AdminAccountId == nil {
8586		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
8587	}
8588
8589	if invalidParams.Len() > 0 {
8590		return invalidParams
8591	}
8592	return nil
8593}
8594
8595// SetAdminAccountId sets the AdminAccountId field's value.
8596func (s *EnableOrganizationAdminAccountInput) SetAdminAccountId(v string) *EnableOrganizationAdminAccountInput {
8597	s.AdminAccountId = &v
8598	return s
8599}
8600
8601type EnableOrganizationAdminAccountOutput struct {
8602	_ struct{} `type:"structure"`
8603}
8604
8605// String returns the string representation
8606func (s EnableOrganizationAdminAccountOutput) String() string {
8607	return awsutil.Prettify(s)
8608}
8609
8610// GoString returns the string representation
8611func (s EnableOrganizationAdminAccountOutput) GoString() string {
8612	return s.String()
8613}
8614
8615// Contains information about the reason that the finding was generated.
8616type Evidence struct {
8617	_ struct{} `type:"structure"`
8618
8619	// A list of threat intelligence details related to the evidence.
8620	ThreatIntelligenceDetails []*ThreatIntelligenceDetail `locationName:"threatIntelligenceDetails" type:"list"`
8621}
8622
8623// String returns the string representation
8624func (s Evidence) String() string {
8625	return awsutil.Prettify(s)
8626}
8627
8628// GoString returns the string representation
8629func (s Evidence) GoString() string {
8630	return s.String()
8631}
8632
8633// SetThreatIntelligenceDetails sets the ThreatIntelligenceDetails field's value.
8634func (s *Evidence) SetThreatIntelligenceDetails(v []*ThreatIntelligenceDetail) *Evidence {
8635	s.ThreatIntelligenceDetails = v
8636	return s
8637}
8638
8639// Contains information about the finding, which is generated when abnormal
8640// or suspicious activity is detected.
8641type Finding struct {
8642	_ struct{} `type:"structure"`
8643
8644	// The ID of the account in which the finding was generated.
8645	//
8646	// AccountId is a required field
8647	AccountId *string `locationName:"accountId" type:"string" required:"true"`
8648
8649	// The ARN of the finding.
8650	//
8651	// Arn is a required field
8652	Arn *string `locationName:"arn" type:"string" required:"true"`
8653
8654	// The confidence score for the finding.
8655	Confidence *float64 `locationName:"confidence" type:"double"`
8656
8657	// The time and date when the finding was created.
8658	//
8659	// CreatedAt is a required field
8660	CreatedAt *string `locationName:"createdAt" type:"string" required:"true"`
8661
8662	// The description of the finding.
8663	Description *string `locationName:"description" type:"string"`
8664
8665	// The ID of the finding.
8666	//
8667	// Id is a required field
8668	Id *string `locationName:"id" type:"string" required:"true"`
8669
8670	// The partition associated with the finding.
8671	Partition *string `locationName:"partition" type:"string"`
8672
8673	// The Region where the finding was generated.
8674	//
8675	// Region is a required field
8676	Region *string `locationName:"region" type:"string" required:"true"`
8677
8678	// Contains information about the AWS resource associated with the activity
8679	// that prompted GuardDuty to generate a finding.
8680	//
8681	// Resource is a required field
8682	Resource *Resource `locationName:"resource" type:"structure" required:"true"`
8683
8684	// The version of the schema used for the finding.
8685	//
8686	// SchemaVersion is a required field
8687	SchemaVersion *string `locationName:"schemaVersion" type:"string" required:"true"`
8688
8689	// Contains additional information about the generated finding.
8690	Service *Service `locationName:"service" type:"structure"`
8691
8692	// The severity of the finding.
8693	//
8694	// Severity is a required field
8695	Severity *float64 `locationName:"severity" type:"double" required:"true"`
8696
8697	// The title of the finding.
8698	Title *string `locationName:"title" type:"string"`
8699
8700	// The type of finding.
8701	//
8702	// Type is a required field
8703	Type *string `locationName:"type" min:"1" type:"string" required:"true"`
8704
8705	// The time and date when the finding was last updated.
8706	//
8707	// UpdatedAt is a required field
8708	UpdatedAt *string `locationName:"updatedAt" type:"string" required:"true"`
8709}
8710
8711// String returns the string representation
8712func (s Finding) String() string {
8713	return awsutil.Prettify(s)
8714}
8715
8716// GoString returns the string representation
8717func (s Finding) GoString() string {
8718	return s.String()
8719}
8720
8721// SetAccountId sets the AccountId field's value.
8722func (s *Finding) SetAccountId(v string) *Finding {
8723	s.AccountId = &v
8724	return s
8725}
8726
8727// SetArn sets the Arn field's value.
8728func (s *Finding) SetArn(v string) *Finding {
8729	s.Arn = &v
8730	return s
8731}
8732
8733// SetConfidence sets the Confidence field's value.
8734func (s *Finding) SetConfidence(v float64) *Finding {
8735	s.Confidence = &v
8736	return s
8737}
8738
8739// SetCreatedAt sets the CreatedAt field's value.
8740func (s *Finding) SetCreatedAt(v string) *Finding {
8741	s.CreatedAt = &v
8742	return s
8743}
8744
8745// SetDescription sets the Description field's value.
8746func (s *Finding) SetDescription(v string) *Finding {
8747	s.Description = &v
8748	return s
8749}
8750
8751// SetId sets the Id field's value.
8752func (s *Finding) SetId(v string) *Finding {
8753	s.Id = &v
8754	return s
8755}
8756
8757// SetPartition sets the Partition field's value.
8758func (s *Finding) SetPartition(v string) *Finding {
8759	s.Partition = &v
8760	return s
8761}
8762
8763// SetRegion sets the Region field's value.
8764func (s *Finding) SetRegion(v string) *Finding {
8765	s.Region = &v
8766	return s
8767}
8768
8769// SetResource sets the Resource field's value.
8770func (s *Finding) SetResource(v *Resource) *Finding {
8771	s.Resource = v
8772	return s
8773}
8774
8775// SetSchemaVersion sets the SchemaVersion field's value.
8776func (s *Finding) SetSchemaVersion(v string) *Finding {
8777	s.SchemaVersion = &v
8778	return s
8779}
8780
8781// SetService sets the Service field's value.
8782func (s *Finding) SetService(v *Service) *Finding {
8783	s.Service = v
8784	return s
8785}
8786
8787// SetSeverity sets the Severity field's value.
8788func (s *Finding) SetSeverity(v float64) *Finding {
8789	s.Severity = &v
8790	return s
8791}
8792
8793// SetTitle sets the Title field's value.
8794func (s *Finding) SetTitle(v string) *Finding {
8795	s.Title = &v
8796	return s
8797}
8798
8799// SetType sets the Type field's value.
8800func (s *Finding) SetType(v string) *Finding {
8801	s.Type = &v
8802	return s
8803}
8804
8805// SetUpdatedAt sets the UpdatedAt field's value.
8806func (s *Finding) SetUpdatedAt(v string) *Finding {
8807	s.UpdatedAt = &v
8808	return s
8809}
8810
8811// Contains information about the criteria used for querying findings.
8812type FindingCriteria struct {
8813	_ struct{} `type:"structure"`
8814
8815	// Represents a map of finding properties that match specified conditions and
8816	// values when querying findings.
8817	Criterion map[string]*Condition `locationName:"criterion" type:"map"`
8818}
8819
8820// String returns the string representation
8821func (s FindingCriteria) String() string {
8822	return awsutil.Prettify(s)
8823}
8824
8825// GoString returns the string representation
8826func (s FindingCriteria) GoString() string {
8827	return s.String()
8828}
8829
8830// SetCriterion sets the Criterion field's value.
8831func (s *FindingCriteria) SetCriterion(v map[string]*Condition) *FindingCriteria {
8832	s.Criterion = v
8833	return s
8834}
8835
8836// Contains information about finding statistics.
8837type FindingStatistics struct {
8838	_ struct{} `type:"structure"`
8839
8840	// Represents a map of severity to count statistics for a set of findings.
8841	CountBySeverity map[string]*int64 `locationName:"countBySeverity" type:"map"`
8842}
8843
8844// String returns the string representation
8845func (s FindingStatistics) String() string {
8846	return awsutil.Prettify(s)
8847}
8848
8849// GoString returns the string representation
8850func (s FindingStatistics) GoString() string {
8851	return s.String()
8852}
8853
8854// SetCountBySeverity sets the CountBySeverity field's value.
8855func (s *FindingStatistics) SetCountBySeverity(v map[string]*int64) *FindingStatistics {
8856	s.CountBySeverity = v
8857	return s
8858}
8859
8860// Contains information on the status of VPC flow logs as a data source.
8861type FlowLogsConfigurationResult struct {
8862	_ struct{} `type:"structure"`
8863
8864	// Denotes whether VPC flow logs is enabled as a data source.
8865	//
8866	// Status is a required field
8867	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"`
8868}
8869
8870// String returns the string representation
8871func (s FlowLogsConfigurationResult) String() string {
8872	return awsutil.Prettify(s)
8873}
8874
8875// GoString returns the string representation
8876func (s FlowLogsConfigurationResult) GoString() string {
8877	return s.String()
8878}
8879
8880// SetStatus sets the Status field's value.
8881func (s *FlowLogsConfigurationResult) SetStatus(v string) *FlowLogsConfigurationResult {
8882	s.Status = &v
8883	return s
8884}
8885
8886// Contains information about the location of the remote IP address.
8887type GeoLocation struct {
8888	_ struct{} `type:"structure"`
8889
8890	// The latitude information of the remote IP address.
8891	Lat *float64 `locationName:"lat" type:"double"`
8892
8893	// The longitude information of the remote IP address.
8894	Lon *float64 `locationName:"lon" type:"double"`
8895}
8896
8897// String returns the string representation
8898func (s GeoLocation) String() string {
8899	return awsutil.Prettify(s)
8900}
8901
8902// GoString returns the string representation
8903func (s GeoLocation) GoString() string {
8904	return s.String()
8905}
8906
8907// SetLat sets the Lat field's value.
8908func (s *GeoLocation) SetLat(v float64) *GeoLocation {
8909	s.Lat = &v
8910	return s
8911}
8912
8913// SetLon sets the Lon field's value.
8914func (s *GeoLocation) SetLon(v float64) *GeoLocation {
8915	s.Lon = &v
8916	return s
8917}
8918
8919type GetDetectorInput struct {
8920	_ struct{} `type:"structure"`
8921
8922	// The unique ID of the detector that you want to get.
8923	//
8924	// DetectorId is a required field
8925	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
8926}
8927
8928// String returns the string representation
8929func (s GetDetectorInput) String() string {
8930	return awsutil.Prettify(s)
8931}
8932
8933// GoString returns the string representation
8934func (s GetDetectorInput) GoString() string {
8935	return s.String()
8936}
8937
8938// Validate inspects the fields of the type to determine if they are valid.
8939func (s *GetDetectorInput) Validate() error {
8940	invalidParams := request.ErrInvalidParams{Context: "GetDetectorInput"}
8941	if s.DetectorId == nil {
8942		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
8943	}
8944	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
8945		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
8946	}
8947
8948	if invalidParams.Len() > 0 {
8949		return invalidParams
8950	}
8951	return nil
8952}
8953
8954// SetDetectorId sets the DetectorId field's value.
8955func (s *GetDetectorInput) SetDetectorId(v string) *GetDetectorInput {
8956	s.DetectorId = &v
8957	return s
8958}
8959
8960type GetDetectorOutput struct {
8961	_ struct{} `type:"structure"`
8962
8963	// The timestamp of when the detector was created.
8964	CreatedAt *string `locationName:"createdAt" type:"string"`
8965
8966	// Describes which data sources are enabled for the detector.
8967	DataSources *DataSourceConfigurationsResult `locationName:"dataSources" type:"structure"`
8968
8969	// The publishing frequency of the finding.
8970	FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"`
8971
8972	// The GuardDuty service role.
8973	//
8974	// ServiceRole is a required field
8975	ServiceRole *string `locationName:"serviceRole" type:"string" required:"true"`
8976
8977	// The detector status.
8978	//
8979	// Status is a required field
8980	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DetectorStatus"`
8981
8982	// The tags of the detector resource.
8983	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
8984
8985	// The last-updated timestamp for the detector.
8986	UpdatedAt *string `locationName:"updatedAt" type:"string"`
8987}
8988
8989// String returns the string representation
8990func (s GetDetectorOutput) String() string {
8991	return awsutil.Prettify(s)
8992}
8993
8994// GoString returns the string representation
8995func (s GetDetectorOutput) GoString() string {
8996	return s.String()
8997}
8998
8999// SetCreatedAt sets the CreatedAt field's value.
9000func (s *GetDetectorOutput) SetCreatedAt(v string) *GetDetectorOutput {
9001	s.CreatedAt = &v
9002	return s
9003}
9004
9005// SetDataSources sets the DataSources field's value.
9006func (s *GetDetectorOutput) SetDataSources(v *DataSourceConfigurationsResult) *GetDetectorOutput {
9007	s.DataSources = v
9008	return s
9009}
9010
9011// SetFindingPublishingFrequency sets the FindingPublishingFrequency field's value.
9012func (s *GetDetectorOutput) SetFindingPublishingFrequency(v string) *GetDetectorOutput {
9013	s.FindingPublishingFrequency = &v
9014	return s
9015}
9016
9017// SetServiceRole sets the ServiceRole field's value.
9018func (s *GetDetectorOutput) SetServiceRole(v string) *GetDetectorOutput {
9019	s.ServiceRole = &v
9020	return s
9021}
9022
9023// SetStatus sets the Status field's value.
9024func (s *GetDetectorOutput) SetStatus(v string) *GetDetectorOutput {
9025	s.Status = &v
9026	return s
9027}
9028
9029// SetTags sets the Tags field's value.
9030func (s *GetDetectorOutput) SetTags(v map[string]*string) *GetDetectorOutput {
9031	s.Tags = v
9032	return s
9033}
9034
9035// SetUpdatedAt sets the UpdatedAt field's value.
9036func (s *GetDetectorOutput) SetUpdatedAt(v string) *GetDetectorOutput {
9037	s.UpdatedAt = &v
9038	return s
9039}
9040
9041type GetFilterInput struct {
9042	_ struct{} `type:"structure"`
9043
9044	// The unique ID of the detector that the filter is associated with.
9045	//
9046	// DetectorId is a required field
9047	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9048
9049	// The name of the filter you want to get.
9050	//
9051	// FilterName is a required field
9052	FilterName *string `location:"uri" locationName:"filterName" type:"string" required:"true"`
9053}
9054
9055// String returns the string representation
9056func (s GetFilterInput) String() string {
9057	return awsutil.Prettify(s)
9058}
9059
9060// GoString returns the string representation
9061func (s GetFilterInput) GoString() string {
9062	return s.String()
9063}
9064
9065// Validate inspects the fields of the type to determine if they are valid.
9066func (s *GetFilterInput) Validate() error {
9067	invalidParams := request.ErrInvalidParams{Context: "GetFilterInput"}
9068	if s.DetectorId == nil {
9069		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9070	}
9071	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9072		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9073	}
9074	if s.FilterName == nil {
9075		invalidParams.Add(request.NewErrParamRequired("FilterName"))
9076	}
9077	if s.FilterName != nil && len(*s.FilterName) < 1 {
9078		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
9079	}
9080
9081	if invalidParams.Len() > 0 {
9082		return invalidParams
9083	}
9084	return nil
9085}
9086
9087// SetDetectorId sets the DetectorId field's value.
9088func (s *GetFilterInput) SetDetectorId(v string) *GetFilterInput {
9089	s.DetectorId = &v
9090	return s
9091}
9092
9093// SetFilterName sets the FilterName field's value.
9094func (s *GetFilterInput) SetFilterName(v string) *GetFilterInput {
9095	s.FilterName = &v
9096	return s
9097}
9098
9099type GetFilterOutput struct {
9100	_ struct{} `type:"structure"`
9101
9102	// Specifies the action that is to be applied to the findings that match the
9103	// filter.
9104	//
9105	// Action is a required field
9106	Action *string `locationName:"action" min:"1" type:"string" required:"true" enum:"FilterAction"`
9107
9108	// The description of the filter.
9109	Description *string `locationName:"description" type:"string"`
9110
9111	// Represents the criteria to be used in the filter for querying findings.
9112	//
9113	// FindingCriteria is a required field
9114	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure" required:"true"`
9115
9116	// The name of the filter.
9117	//
9118	// Name is a required field
9119	Name *string `locationName:"name" min:"3" type:"string" required:"true"`
9120
9121	// Specifies the position of the filter in the list of current filters. Also
9122	// specifies the order in which this filter is applied to the findings.
9123	Rank *int64 `locationName:"rank" min:"1" type:"integer"`
9124
9125	// The tags of the filter resource.
9126	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
9127}
9128
9129// String returns the string representation
9130func (s GetFilterOutput) String() string {
9131	return awsutil.Prettify(s)
9132}
9133
9134// GoString returns the string representation
9135func (s GetFilterOutput) GoString() string {
9136	return s.String()
9137}
9138
9139// SetAction sets the Action field's value.
9140func (s *GetFilterOutput) SetAction(v string) *GetFilterOutput {
9141	s.Action = &v
9142	return s
9143}
9144
9145// SetDescription sets the Description field's value.
9146func (s *GetFilterOutput) SetDescription(v string) *GetFilterOutput {
9147	s.Description = &v
9148	return s
9149}
9150
9151// SetFindingCriteria sets the FindingCriteria field's value.
9152func (s *GetFilterOutput) SetFindingCriteria(v *FindingCriteria) *GetFilterOutput {
9153	s.FindingCriteria = v
9154	return s
9155}
9156
9157// SetName sets the Name field's value.
9158func (s *GetFilterOutput) SetName(v string) *GetFilterOutput {
9159	s.Name = &v
9160	return s
9161}
9162
9163// SetRank sets the Rank field's value.
9164func (s *GetFilterOutput) SetRank(v int64) *GetFilterOutput {
9165	s.Rank = &v
9166	return s
9167}
9168
9169// SetTags sets the Tags field's value.
9170func (s *GetFilterOutput) SetTags(v map[string]*string) *GetFilterOutput {
9171	s.Tags = v
9172	return s
9173}
9174
9175type GetFindingsInput struct {
9176	_ struct{} `type:"structure"`
9177
9178	// The ID of the detector that specifies the GuardDuty service whose findings
9179	// you want to retrieve.
9180	//
9181	// DetectorId is a required field
9182	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9183
9184	// The IDs of the findings that you want to retrieve.
9185	//
9186	// FindingIds is a required field
9187	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
9188
9189	// Represents the criteria used for sorting findings.
9190	SortCriteria *SortCriteria `locationName:"sortCriteria" type:"structure"`
9191}
9192
9193// String returns the string representation
9194func (s GetFindingsInput) String() string {
9195	return awsutil.Prettify(s)
9196}
9197
9198// GoString returns the string representation
9199func (s GetFindingsInput) GoString() string {
9200	return s.String()
9201}
9202
9203// Validate inspects the fields of the type to determine if they are valid.
9204func (s *GetFindingsInput) Validate() error {
9205	invalidParams := request.ErrInvalidParams{Context: "GetFindingsInput"}
9206	if s.DetectorId == nil {
9207		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9208	}
9209	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9210		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9211	}
9212	if s.FindingIds == nil {
9213		invalidParams.Add(request.NewErrParamRequired("FindingIds"))
9214	}
9215
9216	if invalidParams.Len() > 0 {
9217		return invalidParams
9218	}
9219	return nil
9220}
9221
9222// SetDetectorId sets the DetectorId field's value.
9223func (s *GetFindingsInput) SetDetectorId(v string) *GetFindingsInput {
9224	s.DetectorId = &v
9225	return s
9226}
9227
9228// SetFindingIds sets the FindingIds field's value.
9229func (s *GetFindingsInput) SetFindingIds(v []*string) *GetFindingsInput {
9230	s.FindingIds = v
9231	return s
9232}
9233
9234// SetSortCriteria sets the SortCriteria field's value.
9235func (s *GetFindingsInput) SetSortCriteria(v *SortCriteria) *GetFindingsInput {
9236	s.SortCriteria = v
9237	return s
9238}
9239
9240type GetFindingsOutput struct {
9241	_ struct{} `type:"structure"`
9242
9243	// A list of findings.
9244	//
9245	// Findings is a required field
9246	Findings []*Finding `locationName:"findings" type:"list" required:"true"`
9247}
9248
9249// String returns the string representation
9250func (s GetFindingsOutput) String() string {
9251	return awsutil.Prettify(s)
9252}
9253
9254// GoString returns the string representation
9255func (s GetFindingsOutput) GoString() string {
9256	return s.String()
9257}
9258
9259// SetFindings sets the Findings field's value.
9260func (s *GetFindingsOutput) SetFindings(v []*Finding) *GetFindingsOutput {
9261	s.Findings = v
9262	return s
9263}
9264
9265type GetFindingsStatisticsInput struct {
9266	_ struct{} `type:"structure"`
9267
9268	// The ID of the detector that specifies the GuardDuty service whose findings'
9269	// statistics you want to retrieve.
9270	//
9271	// DetectorId is a required field
9272	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9273
9274	// Represents the criteria that is used for querying findings.
9275	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"`
9276
9277	// The types of finding statistics to retrieve.
9278	//
9279	// FindingStatisticTypes is a required field
9280	FindingStatisticTypes []*string `locationName:"findingStatisticTypes" type:"list" required:"true"`
9281}
9282
9283// String returns the string representation
9284func (s GetFindingsStatisticsInput) String() string {
9285	return awsutil.Prettify(s)
9286}
9287
9288// GoString returns the string representation
9289func (s GetFindingsStatisticsInput) GoString() string {
9290	return s.String()
9291}
9292
9293// Validate inspects the fields of the type to determine if they are valid.
9294func (s *GetFindingsStatisticsInput) Validate() error {
9295	invalidParams := request.ErrInvalidParams{Context: "GetFindingsStatisticsInput"}
9296	if s.DetectorId == nil {
9297		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9298	}
9299	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9300		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9301	}
9302	if s.FindingStatisticTypes == nil {
9303		invalidParams.Add(request.NewErrParamRequired("FindingStatisticTypes"))
9304	}
9305
9306	if invalidParams.Len() > 0 {
9307		return invalidParams
9308	}
9309	return nil
9310}
9311
9312// SetDetectorId sets the DetectorId field's value.
9313func (s *GetFindingsStatisticsInput) SetDetectorId(v string) *GetFindingsStatisticsInput {
9314	s.DetectorId = &v
9315	return s
9316}
9317
9318// SetFindingCriteria sets the FindingCriteria field's value.
9319func (s *GetFindingsStatisticsInput) SetFindingCriteria(v *FindingCriteria) *GetFindingsStatisticsInput {
9320	s.FindingCriteria = v
9321	return s
9322}
9323
9324// SetFindingStatisticTypes sets the FindingStatisticTypes field's value.
9325func (s *GetFindingsStatisticsInput) SetFindingStatisticTypes(v []*string) *GetFindingsStatisticsInput {
9326	s.FindingStatisticTypes = v
9327	return s
9328}
9329
9330type GetFindingsStatisticsOutput struct {
9331	_ struct{} `type:"structure"`
9332
9333	// The finding statistics object.
9334	//
9335	// FindingStatistics is a required field
9336	FindingStatistics *FindingStatistics `locationName:"findingStatistics" type:"structure" required:"true"`
9337}
9338
9339// String returns the string representation
9340func (s GetFindingsStatisticsOutput) String() string {
9341	return awsutil.Prettify(s)
9342}
9343
9344// GoString returns the string representation
9345func (s GetFindingsStatisticsOutput) GoString() string {
9346	return s.String()
9347}
9348
9349// SetFindingStatistics sets the FindingStatistics field's value.
9350func (s *GetFindingsStatisticsOutput) SetFindingStatistics(v *FindingStatistics) *GetFindingsStatisticsOutput {
9351	s.FindingStatistics = v
9352	return s
9353}
9354
9355type GetIPSetInput struct {
9356	_ struct{} `type:"structure"`
9357
9358	// The unique ID of the detector that the IPSet is associated with.
9359	//
9360	// DetectorId is a required field
9361	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9362
9363	// The unique ID of the IPSet to retrieve.
9364	//
9365	// IpSetId is a required field
9366	IpSetId *string `location:"uri" locationName:"ipSetId" type:"string" required:"true"`
9367}
9368
9369// String returns the string representation
9370func (s GetIPSetInput) String() string {
9371	return awsutil.Prettify(s)
9372}
9373
9374// GoString returns the string representation
9375func (s GetIPSetInput) GoString() string {
9376	return s.String()
9377}
9378
9379// Validate inspects the fields of the type to determine if they are valid.
9380func (s *GetIPSetInput) Validate() error {
9381	invalidParams := request.ErrInvalidParams{Context: "GetIPSetInput"}
9382	if s.DetectorId == nil {
9383		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9384	}
9385	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9386		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9387	}
9388	if s.IpSetId == nil {
9389		invalidParams.Add(request.NewErrParamRequired("IpSetId"))
9390	}
9391	if s.IpSetId != nil && len(*s.IpSetId) < 1 {
9392		invalidParams.Add(request.NewErrParamMinLen("IpSetId", 1))
9393	}
9394
9395	if invalidParams.Len() > 0 {
9396		return invalidParams
9397	}
9398	return nil
9399}
9400
9401// SetDetectorId sets the DetectorId field's value.
9402func (s *GetIPSetInput) SetDetectorId(v string) *GetIPSetInput {
9403	s.DetectorId = &v
9404	return s
9405}
9406
9407// SetIpSetId sets the IpSetId field's value.
9408func (s *GetIPSetInput) SetIpSetId(v string) *GetIPSetInput {
9409	s.IpSetId = &v
9410	return s
9411}
9412
9413type GetIPSetOutput struct {
9414	_ struct{} `type:"structure"`
9415
9416	// The format of the file that contains the IPSet.
9417	//
9418	// Format is a required field
9419	Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"IpSetFormat"`
9420
9421	// The URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
9422	//
9423	// Location is a required field
9424	Location *string `locationName:"location" min:"1" type:"string" required:"true"`
9425
9426	// The user-friendly name for the IPSet.
9427	//
9428	// Name is a required field
9429	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
9430
9431	// The status of IPSet file that was uploaded.
9432	//
9433	// Status is a required field
9434	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"IpSetStatus"`
9435
9436	// The tags of the IPSet resource.
9437	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
9438}
9439
9440// String returns the string representation
9441func (s GetIPSetOutput) String() string {
9442	return awsutil.Prettify(s)
9443}
9444
9445// GoString returns the string representation
9446func (s GetIPSetOutput) GoString() string {
9447	return s.String()
9448}
9449
9450// SetFormat sets the Format field's value.
9451func (s *GetIPSetOutput) SetFormat(v string) *GetIPSetOutput {
9452	s.Format = &v
9453	return s
9454}
9455
9456// SetLocation sets the Location field's value.
9457func (s *GetIPSetOutput) SetLocation(v string) *GetIPSetOutput {
9458	s.Location = &v
9459	return s
9460}
9461
9462// SetName sets the Name field's value.
9463func (s *GetIPSetOutput) SetName(v string) *GetIPSetOutput {
9464	s.Name = &v
9465	return s
9466}
9467
9468// SetStatus sets the Status field's value.
9469func (s *GetIPSetOutput) SetStatus(v string) *GetIPSetOutput {
9470	s.Status = &v
9471	return s
9472}
9473
9474// SetTags sets the Tags field's value.
9475func (s *GetIPSetOutput) SetTags(v map[string]*string) *GetIPSetOutput {
9476	s.Tags = v
9477	return s
9478}
9479
9480type GetInvitationsCountInput struct {
9481	_ struct{} `type:"structure"`
9482}
9483
9484// String returns the string representation
9485func (s GetInvitationsCountInput) String() string {
9486	return awsutil.Prettify(s)
9487}
9488
9489// GoString returns the string representation
9490func (s GetInvitationsCountInput) GoString() string {
9491	return s.String()
9492}
9493
9494type GetInvitationsCountOutput struct {
9495	_ struct{} `type:"structure"`
9496
9497	// The number of received invitations.
9498	InvitationsCount *int64 `locationName:"invitationsCount" type:"integer"`
9499}
9500
9501// String returns the string representation
9502func (s GetInvitationsCountOutput) String() string {
9503	return awsutil.Prettify(s)
9504}
9505
9506// GoString returns the string representation
9507func (s GetInvitationsCountOutput) GoString() string {
9508	return s.String()
9509}
9510
9511// SetInvitationsCount sets the InvitationsCount field's value.
9512func (s *GetInvitationsCountOutput) SetInvitationsCount(v int64) *GetInvitationsCountOutput {
9513	s.InvitationsCount = &v
9514	return s
9515}
9516
9517type GetMasterAccountInput struct {
9518	_ struct{} `type:"structure"`
9519
9520	// The unique ID of the detector of the GuardDuty member account.
9521	//
9522	// DetectorId is a required field
9523	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9524}
9525
9526// String returns the string representation
9527func (s GetMasterAccountInput) String() string {
9528	return awsutil.Prettify(s)
9529}
9530
9531// GoString returns the string representation
9532func (s GetMasterAccountInput) GoString() string {
9533	return s.String()
9534}
9535
9536// Validate inspects the fields of the type to determine if they are valid.
9537func (s *GetMasterAccountInput) Validate() error {
9538	invalidParams := request.ErrInvalidParams{Context: "GetMasterAccountInput"}
9539	if s.DetectorId == nil {
9540		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9541	}
9542	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9543		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9544	}
9545
9546	if invalidParams.Len() > 0 {
9547		return invalidParams
9548	}
9549	return nil
9550}
9551
9552// SetDetectorId sets the DetectorId field's value.
9553func (s *GetMasterAccountInput) SetDetectorId(v string) *GetMasterAccountInput {
9554	s.DetectorId = &v
9555	return s
9556}
9557
9558type GetMasterAccountOutput struct {
9559	_ struct{} `type:"structure"`
9560
9561	// The administrator account details.
9562	//
9563	// Master is a required field
9564	Master *Master `locationName:"master" type:"structure" required:"true"`
9565}
9566
9567// String returns the string representation
9568func (s GetMasterAccountOutput) String() string {
9569	return awsutil.Prettify(s)
9570}
9571
9572// GoString returns the string representation
9573func (s GetMasterAccountOutput) GoString() string {
9574	return s.String()
9575}
9576
9577// SetMaster sets the Master field's value.
9578func (s *GetMasterAccountOutput) SetMaster(v *Master) *GetMasterAccountOutput {
9579	s.Master = v
9580	return s
9581}
9582
9583type GetMemberDetectorsInput struct {
9584	_ struct{} `type:"structure"`
9585
9586	// The account ID of the member account.
9587	//
9588	// AccountIds is a required field
9589	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
9590
9591	// The detector ID for the administrator account.
9592	//
9593	// DetectorId is a required field
9594	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9595}
9596
9597// String returns the string representation
9598func (s GetMemberDetectorsInput) String() string {
9599	return awsutil.Prettify(s)
9600}
9601
9602// GoString returns the string representation
9603func (s GetMemberDetectorsInput) GoString() string {
9604	return s.String()
9605}
9606
9607// Validate inspects the fields of the type to determine if they are valid.
9608func (s *GetMemberDetectorsInput) Validate() error {
9609	invalidParams := request.ErrInvalidParams{Context: "GetMemberDetectorsInput"}
9610	if s.AccountIds == nil {
9611		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
9612	}
9613	if s.AccountIds != nil && len(s.AccountIds) < 1 {
9614		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
9615	}
9616	if s.DetectorId == nil {
9617		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9618	}
9619	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9620		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9621	}
9622
9623	if invalidParams.Len() > 0 {
9624		return invalidParams
9625	}
9626	return nil
9627}
9628
9629// SetAccountIds sets the AccountIds field's value.
9630func (s *GetMemberDetectorsInput) SetAccountIds(v []*string) *GetMemberDetectorsInput {
9631	s.AccountIds = v
9632	return s
9633}
9634
9635// SetDetectorId sets the DetectorId field's value.
9636func (s *GetMemberDetectorsInput) SetDetectorId(v string) *GetMemberDetectorsInput {
9637	s.DetectorId = &v
9638	return s
9639}
9640
9641type GetMemberDetectorsOutput struct {
9642	_ struct{} `type:"structure"`
9643
9644	// An object that describes which data sources are enabled for a member account.
9645	//
9646	// MemberDataSourceConfigurations is a required field
9647	MemberDataSourceConfigurations []*MemberDataSourceConfiguration `locationName:"members" min:"1" type:"list" required:"true"`
9648
9649	// A list of member account IDs that were unable to be processed along with
9650	// an explanation for why they were not processed.
9651	//
9652	// UnprocessedAccounts is a required field
9653	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
9654}
9655
9656// String returns the string representation
9657func (s GetMemberDetectorsOutput) String() string {
9658	return awsutil.Prettify(s)
9659}
9660
9661// GoString returns the string representation
9662func (s GetMemberDetectorsOutput) GoString() string {
9663	return s.String()
9664}
9665
9666// SetMemberDataSourceConfigurations sets the MemberDataSourceConfigurations field's value.
9667func (s *GetMemberDetectorsOutput) SetMemberDataSourceConfigurations(v []*MemberDataSourceConfiguration) *GetMemberDetectorsOutput {
9668	s.MemberDataSourceConfigurations = v
9669	return s
9670}
9671
9672// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
9673func (s *GetMemberDetectorsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *GetMemberDetectorsOutput {
9674	s.UnprocessedAccounts = v
9675	return s
9676}
9677
9678type GetMembersInput struct {
9679	_ struct{} `type:"structure"`
9680
9681	// A list of account IDs of the GuardDuty member accounts that you want to describe.
9682	//
9683	// AccountIds is a required field
9684	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
9685
9686	// The unique ID of the detector of the GuardDuty account whose members you
9687	// want to retrieve.
9688	//
9689	// DetectorId is a required field
9690	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9691}
9692
9693// String returns the string representation
9694func (s GetMembersInput) String() string {
9695	return awsutil.Prettify(s)
9696}
9697
9698// GoString returns the string representation
9699func (s GetMembersInput) GoString() string {
9700	return s.String()
9701}
9702
9703// Validate inspects the fields of the type to determine if they are valid.
9704func (s *GetMembersInput) Validate() error {
9705	invalidParams := request.ErrInvalidParams{Context: "GetMembersInput"}
9706	if s.AccountIds == nil {
9707		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
9708	}
9709	if s.AccountIds != nil && len(s.AccountIds) < 1 {
9710		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
9711	}
9712	if s.DetectorId == nil {
9713		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9714	}
9715	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9716		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9717	}
9718
9719	if invalidParams.Len() > 0 {
9720		return invalidParams
9721	}
9722	return nil
9723}
9724
9725// SetAccountIds sets the AccountIds field's value.
9726func (s *GetMembersInput) SetAccountIds(v []*string) *GetMembersInput {
9727	s.AccountIds = v
9728	return s
9729}
9730
9731// SetDetectorId sets the DetectorId field's value.
9732func (s *GetMembersInput) SetDetectorId(v string) *GetMembersInput {
9733	s.DetectorId = &v
9734	return s
9735}
9736
9737type GetMembersOutput struct {
9738	_ struct{} `type:"structure"`
9739
9740	// A list of members.
9741	//
9742	// Members is a required field
9743	Members []*Member `locationName:"members" type:"list" required:"true"`
9744
9745	// A list of objects that contain the unprocessed account and a result string
9746	// that explains why it was unprocessed.
9747	//
9748	// UnprocessedAccounts is a required field
9749	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
9750}
9751
9752// String returns the string representation
9753func (s GetMembersOutput) String() string {
9754	return awsutil.Prettify(s)
9755}
9756
9757// GoString returns the string representation
9758func (s GetMembersOutput) GoString() string {
9759	return s.String()
9760}
9761
9762// SetMembers sets the Members field's value.
9763func (s *GetMembersOutput) SetMembers(v []*Member) *GetMembersOutput {
9764	s.Members = v
9765	return s
9766}
9767
9768// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
9769func (s *GetMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *GetMembersOutput {
9770	s.UnprocessedAccounts = v
9771	return s
9772}
9773
9774type GetThreatIntelSetInput struct {
9775	_ struct{} `type:"structure"`
9776
9777	// The unique ID of the detector that the threatIntelSet is associated with.
9778	//
9779	// DetectorId is a required field
9780	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9781
9782	// The unique ID of the threatIntelSet that you want to get.
9783	//
9784	// ThreatIntelSetId is a required field
9785	ThreatIntelSetId *string `location:"uri" locationName:"threatIntelSetId" type:"string" required:"true"`
9786}
9787
9788// String returns the string representation
9789func (s GetThreatIntelSetInput) String() string {
9790	return awsutil.Prettify(s)
9791}
9792
9793// GoString returns the string representation
9794func (s GetThreatIntelSetInput) GoString() string {
9795	return s.String()
9796}
9797
9798// Validate inspects the fields of the type to determine if they are valid.
9799func (s *GetThreatIntelSetInput) Validate() error {
9800	invalidParams := request.ErrInvalidParams{Context: "GetThreatIntelSetInput"}
9801	if s.DetectorId == nil {
9802		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9803	}
9804	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9805		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9806	}
9807	if s.ThreatIntelSetId == nil {
9808		invalidParams.Add(request.NewErrParamRequired("ThreatIntelSetId"))
9809	}
9810	if s.ThreatIntelSetId != nil && len(*s.ThreatIntelSetId) < 1 {
9811		invalidParams.Add(request.NewErrParamMinLen("ThreatIntelSetId", 1))
9812	}
9813
9814	if invalidParams.Len() > 0 {
9815		return invalidParams
9816	}
9817	return nil
9818}
9819
9820// SetDetectorId sets the DetectorId field's value.
9821func (s *GetThreatIntelSetInput) SetDetectorId(v string) *GetThreatIntelSetInput {
9822	s.DetectorId = &v
9823	return s
9824}
9825
9826// SetThreatIntelSetId sets the ThreatIntelSetId field's value.
9827func (s *GetThreatIntelSetInput) SetThreatIntelSetId(v string) *GetThreatIntelSetInput {
9828	s.ThreatIntelSetId = &v
9829	return s
9830}
9831
9832type GetThreatIntelSetOutput struct {
9833	_ struct{} `type:"structure"`
9834
9835	// The format of the threatIntelSet.
9836	//
9837	// Format is a required field
9838	Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"ThreatIntelSetFormat"`
9839
9840	// The URI of the file that contains the ThreatIntelSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
9841	//
9842	// Location is a required field
9843	Location *string `locationName:"location" min:"1" type:"string" required:"true"`
9844
9845	// A user-friendly ThreatIntelSet name displayed in all findings that are generated
9846	// by activity that involves IP addresses included in this ThreatIntelSet.
9847	//
9848	// Name is a required field
9849	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
9850
9851	// The status of threatIntelSet file uploaded.
9852	//
9853	// Status is a required field
9854	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"ThreatIntelSetStatus"`
9855
9856	// The tags of the threat list resource.
9857	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
9858}
9859
9860// String returns the string representation
9861func (s GetThreatIntelSetOutput) String() string {
9862	return awsutil.Prettify(s)
9863}
9864
9865// GoString returns the string representation
9866func (s GetThreatIntelSetOutput) GoString() string {
9867	return s.String()
9868}
9869
9870// SetFormat sets the Format field's value.
9871func (s *GetThreatIntelSetOutput) SetFormat(v string) *GetThreatIntelSetOutput {
9872	s.Format = &v
9873	return s
9874}
9875
9876// SetLocation sets the Location field's value.
9877func (s *GetThreatIntelSetOutput) SetLocation(v string) *GetThreatIntelSetOutput {
9878	s.Location = &v
9879	return s
9880}
9881
9882// SetName sets the Name field's value.
9883func (s *GetThreatIntelSetOutput) SetName(v string) *GetThreatIntelSetOutput {
9884	s.Name = &v
9885	return s
9886}
9887
9888// SetStatus sets the Status field's value.
9889func (s *GetThreatIntelSetOutput) SetStatus(v string) *GetThreatIntelSetOutput {
9890	s.Status = &v
9891	return s
9892}
9893
9894// SetTags sets the Tags field's value.
9895func (s *GetThreatIntelSetOutput) SetTags(v map[string]*string) *GetThreatIntelSetOutput {
9896	s.Tags = v
9897	return s
9898}
9899
9900type GetUsageStatisticsInput struct {
9901	_ struct{} `type:"structure"`
9902
9903	// The ID of the detector that specifies the GuardDuty service whose usage statistics
9904	// you want to retrieve.
9905	//
9906	// DetectorId is a required field
9907	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9908
9909	// The maximum number of results to return in the response.
9910	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
9911
9912	// A token to use for paginating results that are returned in the response.
9913	// Set the value of this parameter to null for the first request to a list action.
9914	// For subsequent calls, use the NextToken value returned from the previous
9915	// request to continue listing results after the first page.
9916	NextToken *string `locationName:"nextToken" type:"string"`
9917
9918	// The currency unit you would like to view your usage statistics in. Current
9919	// valid values are USD.
9920	Unit *string `locationName:"unit" type:"string"`
9921
9922	// Represents the criteria used for querying usage.
9923	//
9924	// UsageCriteria is a required field
9925	UsageCriteria *UsageCriteria `locationName:"usageCriteria" type:"structure" required:"true"`
9926
9927	// The type of usage statistics to retrieve.
9928	//
9929	// UsageStatisticType is a required field
9930	UsageStatisticType *string `locationName:"usageStatisticsType" type:"string" required:"true" enum:"UsageStatisticType"`
9931}
9932
9933// String returns the string representation
9934func (s GetUsageStatisticsInput) String() string {
9935	return awsutil.Prettify(s)
9936}
9937
9938// GoString returns the string representation
9939func (s GetUsageStatisticsInput) GoString() string {
9940	return s.String()
9941}
9942
9943// Validate inspects the fields of the type to determine if they are valid.
9944func (s *GetUsageStatisticsInput) Validate() error {
9945	invalidParams := request.ErrInvalidParams{Context: "GetUsageStatisticsInput"}
9946	if s.DetectorId == nil {
9947		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9948	}
9949	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9950		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9951	}
9952	if s.MaxResults != nil && *s.MaxResults < 1 {
9953		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9954	}
9955	if s.UsageCriteria == nil {
9956		invalidParams.Add(request.NewErrParamRequired("UsageCriteria"))
9957	}
9958	if s.UsageStatisticType == nil {
9959		invalidParams.Add(request.NewErrParamRequired("UsageStatisticType"))
9960	}
9961	if s.UsageCriteria != nil {
9962		if err := s.UsageCriteria.Validate(); err != nil {
9963			invalidParams.AddNested("UsageCriteria", err.(request.ErrInvalidParams))
9964		}
9965	}
9966
9967	if invalidParams.Len() > 0 {
9968		return invalidParams
9969	}
9970	return nil
9971}
9972
9973// SetDetectorId sets the DetectorId field's value.
9974func (s *GetUsageStatisticsInput) SetDetectorId(v string) *GetUsageStatisticsInput {
9975	s.DetectorId = &v
9976	return s
9977}
9978
9979// SetMaxResults sets the MaxResults field's value.
9980func (s *GetUsageStatisticsInput) SetMaxResults(v int64) *GetUsageStatisticsInput {
9981	s.MaxResults = &v
9982	return s
9983}
9984
9985// SetNextToken sets the NextToken field's value.
9986func (s *GetUsageStatisticsInput) SetNextToken(v string) *GetUsageStatisticsInput {
9987	s.NextToken = &v
9988	return s
9989}
9990
9991// SetUnit sets the Unit field's value.
9992func (s *GetUsageStatisticsInput) SetUnit(v string) *GetUsageStatisticsInput {
9993	s.Unit = &v
9994	return s
9995}
9996
9997// SetUsageCriteria sets the UsageCriteria field's value.
9998func (s *GetUsageStatisticsInput) SetUsageCriteria(v *UsageCriteria) *GetUsageStatisticsInput {
9999	s.UsageCriteria = v
10000	return s
10001}
10002
10003// SetUsageStatisticType sets the UsageStatisticType field's value.
10004func (s *GetUsageStatisticsInput) SetUsageStatisticType(v string) *GetUsageStatisticsInput {
10005	s.UsageStatisticType = &v
10006	return s
10007}
10008
10009type GetUsageStatisticsOutput struct {
10010	_ struct{} `type:"structure"`
10011
10012	// The pagination parameter to be used on the next list operation to retrieve
10013	// more items.
10014	NextToken *string `locationName:"nextToken" type:"string"`
10015
10016	// The usage statistics object. If a UsageStatisticType was provided, the objects
10017	// representing other types will be null.
10018	UsageStatistics *UsageStatistics `locationName:"usageStatistics" type:"structure"`
10019}
10020
10021// String returns the string representation
10022func (s GetUsageStatisticsOutput) String() string {
10023	return awsutil.Prettify(s)
10024}
10025
10026// GoString returns the string representation
10027func (s GetUsageStatisticsOutput) GoString() string {
10028	return s.String()
10029}
10030
10031// SetNextToken sets the NextToken field's value.
10032func (s *GetUsageStatisticsOutput) SetNextToken(v string) *GetUsageStatisticsOutput {
10033	s.NextToken = &v
10034	return s
10035}
10036
10037// SetUsageStatistics sets the UsageStatistics field's value.
10038func (s *GetUsageStatisticsOutput) SetUsageStatistics(v *UsageStatistics) *GetUsageStatisticsOutput {
10039	s.UsageStatistics = v
10040	return s
10041}
10042
10043// Contains information about the EC2 instance profile.
10044type IamInstanceProfile struct {
10045	_ struct{} `type:"structure"`
10046
10047	// The profile ARN of the EC2 instance.
10048	Arn *string `locationName:"arn" type:"string"`
10049
10050	// The profile ID of the EC2 instance.
10051	Id *string `locationName:"id" type:"string"`
10052}
10053
10054// String returns the string representation
10055func (s IamInstanceProfile) String() string {
10056	return awsutil.Prettify(s)
10057}
10058
10059// GoString returns the string representation
10060func (s IamInstanceProfile) GoString() string {
10061	return s.String()
10062}
10063
10064// SetArn sets the Arn field's value.
10065func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile {
10066	s.Arn = &v
10067	return s
10068}
10069
10070// SetId sets the Id field's value.
10071func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile {
10072	s.Id = &v
10073	return s
10074}
10075
10076// Contains information about the details of an instance.
10077type InstanceDetails struct {
10078	_ struct{} `type:"structure"`
10079
10080	// The Availability Zone of the EC2 instance.
10081	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
10082
10083	// The profile information of the EC2 instance.
10084	IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
10085
10086	// The image description of the EC2 instance.
10087	ImageDescription *string `locationName:"imageDescription" type:"string"`
10088
10089	// The image ID of the EC2 instance.
10090	ImageId *string `locationName:"imageId" type:"string"`
10091
10092	// The ID of the EC2 instance.
10093	InstanceId *string `locationName:"instanceId" type:"string"`
10094
10095	// The state of the EC2 instance.
10096	InstanceState *string `locationName:"instanceState" type:"string"`
10097
10098	// The type of the EC2 instance.
10099	InstanceType *string `locationName:"instanceType" type:"string"`
10100
10101	// The launch time of the EC2 instance.
10102	LaunchTime *string `locationName:"launchTime" type:"string"`
10103
10104	// The elastic network interface information of the EC2 instance.
10105	NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"`
10106
10107	// The Amazon Resource Name (ARN) of the AWS Outpost. Only applicable to AWS
10108	// Outposts instances.
10109	OutpostArn *string `locationName:"outpostArn" type:"string"`
10110
10111	// The platform of the EC2 instance.
10112	Platform *string `locationName:"platform" type:"string"`
10113
10114	// The product code of the EC2 instance.
10115	ProductCodes []*ProductCode `locationName:"productCodes" type:"list"`
10116
10117	// The tags of the EC2 instance.
10118	Tags []*Tag `locationName:"tags" type:"list"`
10119}
10120
10121// String returns the string representation
10122func (s InstanceDetails) String() string {
10123	return awsutil.Prettify(s)
10124}
10125
10126// GoString returns the string representation
10127func (s InstanceDetails) GoString() string {
10128	return s.String()
10129}
10130
10131// SetAvailabilityZone sets the AvailabilityZone field's value.
10132func (s *InstanceDetails) SetAvailabilityZone(v string) *InstanceDetails {
10133	s.AvailabilityZone = &v
10134	return s
10135}
10136
10137// SetIamInstanceProfile sets the IamInstanceProfile field's value.
10138func (s *InstanceDetails) SetIamInstanceProfile(v *IamInstanceProfile) *InstanceDetails {
10139	s.IamInstanceProfile = v
10140	return s
10141}
10142
10143// SetImageDescription sets the ImageDescription field's value.
10144func (s *InstanceDetails) SetImageDescription(v string) *InstanceDetails {
10145	s.ImageDescription = &v
10146	return s
10147}
10148
10149// SetImageId sets the ImageId field's value.
10150func (s *InstanceDetails) SetImageId(v string) *InstanceDetails {
10151	s.ImageId = &v
10152	return s
10153}
10154
10155// SetInstanceId sets the InstanceId field's value.
10156func (s *InstanceDetails) SetInstanceId(v string) *InstanceDetails {
10157	s.InstanceId = &v
10158	return s
10159}
10160
10161// SetInstanceState sets the InstanceState field's value.
10162func (s *InstanceDetails) SetInstanceState(v string) *InstanceDetails {
10163	s.InstanceState = &v
10164	return s
10165}
10166
10167// SetInstanceType sets the InstanceType field's value.
10168func (s *InstanceDetails) SetInstanceType(v string) *InstanceDetails {
10169	s.InstanceType = &v
10170	return s
10171}
10172
10173// SetLaunchTime sets the LaunchTime field's value.
10174func (s *InstanceDetails) SetLaunchTime(v string) *InstanceDetails {
10175	s.LaunchTime = &v
10176	return s
10177}
10178
10179// SetNetworkInterfaces sets the NetworkInterfaces field's value.
10180func (s *InstanceDetails) SetNetworkInterfaces(v []*NetworkInterface) *InstanceDetails {
10181	s.NetworkInterfaces = v
10182	return s
10183}
10184
10185// SetOutpostArn sets the OutpostArn field's value.
10186func (s *InstanceDetails) SetOutpostArn(v string) *InstanceDetails {
10187	s.OutpostArn = &v
10188	return s
10189}
10190
10191// SetPlatform sets the Platform field's value.
10192func (s *InstanceDetails) SetPlatform(v string) *InstanceDetails {
10193	s.Platform = &v
10194	return s
10195}
10196
10197// SetProductCodes sets the ProductCodes field's value.
10198func (s *InstanceDetails) SetProductCodes(v []*ProductCode) *InstanceDetails {
10199	s.ProductCodes = v
10200	return s
10201}
10202
10203// SetTags sets the Tags field's value.
10204func (s *InstanceDetails) SetTags(v []*Tag) *InstanceDetails {
10205	s.Tags = v
10206	return s
10207}
10208
10209// An internal server error exception object.
10210type InternalServerErrorException struct {
10211	_            struct{}                  `type:"structure"`
10212	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
10213
10214	// The error message.
10215	Message_ *string `locationName:"message" type:"string"`
10216
10217	// The error type.
10218	Type *string `locationName:"__type" type:"string"`
10219}
10220
10221// String returns the string representation
10222func (s InternalServerErrorException) String() string {
10223	return awsutil.Prettify(s)
10224}
10225
10226// GoString returns the string representation
10227func (s InternalServerErrorException) GoString() string {
10228	return s.String()
10229}
10230
10231func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
10232	return &InternalServerErrorException{
10233		RespMetadata: v,
10234	}
10235}
10236
10237// Code returns the exception type name.
10238func (s *InternalServerErrorException) Code() string {
10239	return "InternalServerErrorException"
10240}
10241
10242// Message returns the exception's message.
10243func (s *InternalServerErrorException) Message() string {
10244	if s.Message_ != nil {
10245		return *s.Message_
10246	}
10247	return ""
10248}
10249
10250// OrigErr always returns nil, satisfies awserr.Error interface.
10251func (s *InternalServerErrorException) OrigErr() error {
10252	return nil
10253}
10254
10255func (s *InternalServerErrorException) Error() string {
10256	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
10257}
10258
10259// Status code returns the HTTP status code for the request's response error.
10260func (s *InternalServerErrorException) StatusCode() int {
10261	return s.RespMetadata.StatusCode
10262}
10263
10264// RequestID returns the service's response RequestID for request.
10265func (s *InternalServerErrorException) RequestID() string {
10266	return s.RespMetadata.RequestID
10267}
10268
10269// Contains information about the invitation to become a member account.
10270type Invitation struct {
10271	_ struct{} `type:"structure"`
10272
10273	// The ID of the account that the invitation was sent from.
10274	AccountId *string `locationName:"accountId" min:"12" type:"string"`
10275
10276	// The ID of the invitation. This value is used to validate the inviter account
10277	// to the member account.
10278	InvitationId *string `locationName:"invitationId" type:"string"`
10279
10280	// The timestamp when the invitation was sent.
10281	InvitedAt *string `locationName:"invitedAt" type:"string"`
10282
10283	// The status of the relationship between the inviter and invitee accounts.
10284	RelationshipStatus *string `locationName:"relationshipStatus" type:"string"`
10285}
10286
10287// String returns the string representation
10288func (s Invitation) String() string {
10289	return awsutil.Prettify(s)
10290}
10291
10292// GoString returns the string representation
10293func (s Invitation) GoString() string {
10294	return s.String()
10295}
10296
10297// SetAccountId sets the AccountId field's value.
10298func (s *Invitation) SetAccountId(v string) *Invitation {
10299	s.AccountId = &v
10300	return s
10301}
10302
10303// SetInvitationId sets the InvitationId field's value.
10304func (s *Invitation) SetInvitationId(v string) *Invitation {
10305	s.InvitationId = &v
10306	return s
10307}
10308
10309// SetInvitedAt sets the InvitedAt field's value.
10310func (s *Invitation) SetInvitedAt(v string) *Invitation {
10311	s.InvitedAt = &v
10312	return s
10313}
10314
10315// SetRelationshipStatus sets the RelationshipStatus field's value.
10316func (s *Invitation) SetRelationshipStatus(v string) *Invitation {
10317	s.RelationshipStatus = &v
10318	return s
10319}
10320
10321type InviteMembersInput struct {
10322	_ struct{} `type:"structure"`
10323
10324	// A list of account IDs of the accounts that you want to invite to GuardDuty
10325	// as members.
10326	//
10327	// AccountIds is a required field
10328	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
10329
10330	// The unique ID of the detector of the GuardDuty account that you want to invite
10331	// members with.
10332	//
10333	// DetectorId is a required field
10334	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
10335
10336	// A Boolean value that specifies whether you want to disable email notification
10337	// to the accounts that you are inviting to GuardDuty as members.
10338	DisableEmailNotification *bool `locationName:"disableEmailNotification" type:"boolean"`
10339
10340	// The invitation message that you want to send to the accounts that you're
10341	// inviting to GuardDuty as members.
10342	Message *string `locationName:"message" type:"string"`
10343}
10344
10345// String returns the string representation
10346func (s InviteMembersInput) String() string {
10347	return awsutil.Prettify(s)
10348}
10349
10350// GoString returns the string representation
10351func (s InviteMembersInput) GoString() string {
10352	return s.String()
10353}
10354
10355// Validate inspects the fields of the type to determine if they are valid.
10356func (s *InviteMembersInput) Validate() error {
10357	invalidParams := request.ErrInvalidParams{Context: "InviteMembersInput"}
10358	if s.AccountIds == nil {
10359		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
10360	}
10361	if s.AccountIds != nil && len(s.AccountIds) < 1 {
10362		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
10363	}
10364	if s.DetectorId == nil {
10365		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
10366	}
10367	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
10368		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
10369	}
10370
10371	if invalidParams.Len() > 0 {
10372		return invalidParams
10373	}
10374	return nil
10375}
10376
10377// SetAccountIds sets the AccountIds field's value.
10378func (s *InviteMembersInput) SetAccountIds(v []*string) *InviteMembersInput {
10379	s.AccountIds = v
10380	return s
10381}
10382
10383// SetDetectorId sets the DetectorId field's value.
10384func (s *InviteMembersInput) SetDetectorId(v string) *InviteMembersInput {
10385	s.DetectorId = &v
10386	return s
10387}
10388
10389// SetDisableEmailNotification sets the DisableEmailNotification field's value.
10390func (s *InviteMembersInput) SetDisableEmailNotification(v bool) *InviteMembersInput {
10391	s.DisableEmailNotification = &v
10392	return s
10393}
10394
10395// SetMessage sets the Message field's value.
10396func (s *InviteMembersInput) SetMessage(v string) *InviteMembersInput {
10397	s.Message = &v
10398	return s
10399}
10400
10401type InviteMembersOutput struct {
10402	_ struct{} `type:"structure"`
10403
10404	// A list of objects that contain the unprocessed account and a result string
10405	// that explains why it was unprocessed.
10406	//
10407	// UnprocessedAccounts is a required field
10408	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
10409}
10410
10411// String returns the string representation
10412func (s InviteMembersOutput) String() string {
10413	return awsutil.Prettify(s)
10414}
10415
10416// GoString returns the string representation
10417func (s InviteMembersOutput) GoString() string {
10418	return s.String()
10419}
10420
10421// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
10422func (s *InviteMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *InviteMembersOutput {
10423	s.UnprocessedAccounts = v
10424	return s
10425}
10426
10427type ListDetectorsInput struct {
10428	_ struct{} `type:"structure"`
10429
10430	// You can use this parameter to indicate the maximum number of items that you
10431	// want in the response. The default value is 50. The maximum value is 50.
10432	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10433
10434	// You can use this parameter when paginating results. Set the value of this
10435	// parameter to null on your first call to the list action. For subsequent calls
10436	// to the action, fill nextToken in the request with the value of NextToken
10437	// from the previous response to continue listing data.
10438	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
10439}
10440
10441// String returns the string representation
10442func (s ListDetectorsInput) String() string {
10443	return awsutil.Prettify(s)
10444}
10445
10446// GoString returns the string representation
10447func (s ListDetectorsInput) GoString() string {
10448	return s.String()
10449}
10450
10451// Validate inspects the fields of the type to determine if they are valid.
10452func (s *ListDetectorsInput) Validate() error {
10453	invalidParams := request.ErrInvalidParams{Context: "ListDetectorsInput"}
10454	if s.MaxResults != nil && *s.MaxResults < 1 {
10455		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10456	}
10457
10458	if invalidParams.Len() > 0 {
10459		return invalidParams
10460	}
10461	return nil
10462}
10463
10464// SetMaxResults sets the MaxResults field's value.
10465func (s *ListDetectorsInput) SetMaxResults(v int64) *ListDetectorsInput {
10466	s.MaxResults = &v
10467	return s
10468}
10469
10470// SetNextToken sets the NextToken field's value.
10471func (s *ListDetectorsInput) SetNextToken(v string) *ListDetectorsInput {
10472	s.NextToken = &v
10473	return s
10474}
10475
10476type ListDetectorsOutput struct {
10477	_ struct{} `type:"structure"`
10478
10479	// A list of detector IDs.
10480	//
10481	// DetectorIds is a required field
10482	DetectorIds []*string `locationName:"detectorIds" type:"list" required:"true"`
10483
10484	// The pagination parameter to be used on the next list operation to retrieve
10485	// more items.
10486	NextToken *string `locationName:"nextToken" type:"string"`
10487}
10488
10489// String returns the string representation
10490func (s ListDetectorsOutput) String() string {
10491	return awsutil.Prettify(s)
10492}
10493
10494// GoString returns the string representation
10495func (s ListDetectorsOutput) GoString() string {
10496	return s.String()
10497}
10498
10499// SetDetectorIds sets the DetectorIds field's value.
10500func (s *ListDetectorsOutput) SetDetectorIds(v []*string) *ListDetectorsOutput {
10501	s.DetectorIds = v
10502	return s
10503}
10504
10505// SetNextToken sets the NextToken field's value.
10506func (s *ListDetectorsOutput) SetNextToken(v string) *ListDetectorsOutput {
10507	s.NextToken = &v
10508	return s
10509}
10510
10511type ListFiltersInput struct {
10512	_ struct{} `type:"structure"`
10513
10514	// The unique ID of the detector that the filter is associated with.
10515	//
10516	// DetectorId is a required field
10517	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
10518
10519	// You can use this parameter to indicate the maximum number of items that you
10520	// want in the response. The default value is 50. The maximum value is 50.
10521	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10522
10523	// You can use this parameter when paginating results. Set the value of this
10524	// parameter to null on your first call to the list action. For subsequent calls
10525	// to the action, fill nextToken in the request with the value of NextToken
10526	// from the previous response to continue listing data.
10527	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
10528}
10529
10530// String returns the string representation
10531func (s ListFiltersInput) String() string {
10532	return awsutil.Prettify(s)
10533}
10534
10535// GoString returns the string representation
10536func (s ListFiltersInput) GoString() string {
10537	return s.String()
10538}
10539
10540// Validate inspects the fields of the type to determine if they are valid.
10541func (s *ListFiltersInput) Validate() error {
10542	invalidParams := request.ErrInvalidParams{Context: "ListFiltersInput"}
10543	if s.DetectorId == nil {
10544		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
10545	}
10546	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
10547		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
10548	}
10549	if s.MaxResults != nil && *s.MaxResults < 1 {
10550		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10551	}
10552
10553	if invalidParams.Len() > 0 {
10554		return invalidParams
10555	}
10556	return nil
10557}
10558
10559// SetDetectorId sets the DetectorId field's value.
10560func (s *ListFiltersInput) SetDetectorId(v string) *ListFiltersInput {
10561	s.DetectorId = &v
10562	return s
10563}
10564
10565// SetMaxResults sets the MaxResults field's value.
10566func (s *ListFiltersInput) SetMaxResults(v int64) *ListFiltersInput {
10567	s.MaxResults = &v
10568	return s
10569}
10570
10571// SetNextToken sets the NextToken field's value.
10572func (s *ListFiltersInput) SetNextToken(v string) *ListFiltersInput {
10573	s.NextToken = &v
10574	return s
10575}
10576
10577type ListFiltersOutput struct {
10578	_ struct{} `type:"structure"`
10579
10580	// A list of filter names.
10581	//
10582	// FilterNames is a required field
10583	FilterNames []*string `locationName:"filterNames" type:"list" required:"true"`
10584
10585	// The pagination parameter to be used on the next list operation to retrieve
10586	// more items.
10587	NextToken *string `locationName:"nextToken" type:"string"`
10588}
10589
10590// String returns the string representation
10591func (s ListFiltersOutput) String() string {
10592	return awsutil.Prettify(s)
10593}
10594
10595// GoString returns the string representation
10596func (s ListFiltersOutput) GoString() string {
10597	return s.String()
10598}
10599
10600// SetFilterNames sets the FilterNames field's value.
10601func (s *ListFiltersOutput) SetFilterNames(v []*string) *ListFiltersOutput {
10602	s.FilterNames = v
10603	return s
10604}
10605
10606// SetNextToken sets the NextToken field's value.
10607func (s *ListFiltersOutput) SetNextToken(v string) *ListFiltersOutput {
10608	s.NextToken = &v
10609	return s
10610}
10611
10612type ListFindingsInput struct {
10613	_ struct{} `type:"structure"`
10614
10615	// The ID of the detector that specifies the GuardDuty service whose findings
10616	// you want to list.
10617	//
10618	// DetectorId is a required field
10619	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
10620
10621	// Represents the criteria used for querying findings. Valid values include:
10622	//
10623	//    * JSON field name
10624	//
10625	//    * accountId
10626	//
10627	//    * region
10628	//
10629	//    * confidence
10630	//
10631	//    * id
10632	//
10633	//    * resource.accessKeyDetails.accessKeyId
10634	//
10635	//    * resource.accessKeyDetails.principalId
10636	//
10637	//    * resource.accessKeyDetails.userName
10638	//
10639	//    * resource.accessKeyDetails.userType
10640	//
10641	//    * resource.instanceDetails.iamInstanceProfile.id
10642	//
10643	//    * resource.instanceDetails.imageId
10644	//
10645	//    * resource.instanceDetails.instanceId
10646	//
10647	//    * resource.instanceDetails.networkInterfaces.ipv6Addresses
10648	//
10649	//    * resource.instanceDetails.networkInterfaces.privateIpAddresses.privateIpAddress
10650	//
10651	//    * resource.instanceDetails.networkInterfaces.publicDnsName
10652	//
10653	//    * resource.instanceDetails.networkInterfaces.publicIp
10654	//
10655	//    * resource.instanceDetails.networkInterfaces.securityGroups.groupId
10656	//
10657	//    * resource.instanceDetails.networkInterfaces.securityGroups.groupName
10658	//
10659	//    * resource.instanceDetails.networkInterfaces.subnetId
10660	//
10661	//    * resource.instanceDetails.networkInterfaces.vpcId
10662	//
10663	//    * resource.instanceDetails.tags.key
10664	//
10665	//    * resource.instanceDetails.tags.value
10666	//
10667	//    * resource.resourceType
10668	//
10669	//    * service.action.actionType
10670	//
10671	//    * service.action.awsApiCallAction.api
10672	//
10673	//    * service.action.awsApiCallAction.callerType
10674	//
10675	//    * service.action.awsApiCallAction.remoteIpDetails.city.cityName
10676	//
10677	//    * service.action.awsApiCallAction.remoteIpDetails.country.countryName
10678	//
10679	//    * service.action.awsApiCallAction.remoteIpDetails.ipAddressV4
10680	//
10681	//    * service.action.awsApiCallAction.remoteIpDetails.organization.asn
10682	//
10683	//    * service.action.awsApiCallAction.remoteIpDetails.organization.asnOrg
10684	//
10685	//    * service.action.awsApiCallAction.serviceName
10686	//
10687	//    * service.action.dnsRequestAction.domain
10688	//
10689	//    * service.action.networkConnectionAction.blocked
10690	//
10691	//    * service.action.networkConnectionAction.connectionDirection
10692	//
10693	//    * service.action.networkConnectionAction.localPortDetails.port
10694	//
10695	//    * service.action.networkConnectionAction.protocol
10696	//
10697	//    * service.action.networkConnectionAction.remoteIpDetails.city.cityName
10698	//
10699	//    * service.action.networkConnectionAction.remoteIpDetails.country.countryName
10700	//
10701	//    * service.action.networkConnectionAction.remoteIpDetails.ipAddressV4
10702	//
10703	//    * service.action.networkConnectionAction.remoteIpDetails.organization.asn
10704	//
10705	//    * service.action.networkConnectionAction.remoteIpDetails.organization.asnOrg
10706	//
10707	//    * service.action.networkConnectionAction.remotePortDetails.port
10708	//
10709	//    * service.additionalInfo.threatListName
10710	//
10711	//    * service.archived When this attribute is set to 'true', only archived
10712	//    findings are listed. When it's set to 'false', only unarchived findings
10713	//    are listed. When this attribute is not set, all existing findings are
10714	//    listed.
10715	//
10716	//    * service.resourceRole
10717	//
10718	//    * severity
10719	//
10720	//    * type
10721	//
10722	//    * updatedAt Type: Timestamp in Unix Epoch millisecond format: 1486685375000
10723	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"`
10724
10725	// You can use this parameter to indicate the maximum number of items you want
10726	// in the response. The default value is 50. The maximum value is 50.
10727	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
10728
10729	// You can use this parameter when paginating results. Set the value of this
10730	// parameter to null on your first call to the list action. For subsequent calls
10731	// to the action, fill nextToken in the request with the value of NextToken
10732	// from the previous response to continue listing data.
10733	NextToken *string `locationName:"nextToken" type:"string"`
10734
10735	// Represents the criteria used for sorting findings.
10736	SortCriteria *SortCriteria `locationName:"sortCriteria" type:"structure"`
10737}
10738
10739// String returns the string representation
10740func (s ListFindingsInput) String() string {
10741	return awsutil.Prettify(s)
10742}
10743
10744// GoString returns the string representation
10745func (s ListFindingsInput) GoString() string {
10746	return s.String()
10747}
10748
10749// Validate inspects the fields of the type to determine if they are valid.
10750func (s *ListFindingsInput) Validate() error {
10751	invalidParams := request.ErrInvalidParams{Context: "ListFindingsInput"}
10752	if s.DetectorId == nil {
10753		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
10754	}
10755	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
10756		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
10757	}
10758	if s.MaxResults != nil && *s.MaxResults < 1 {
10759		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10760	}
10761
10762	if invalidParams.Len() > 0 {
10763		return invalidParams
10764	}
10765	return nil
10766}
10767
10768// SetDetectorId sets the DetectorId field's value.
10769func (s *ListFindingsInput) SetDetectorId(v string) *ListFindingsInput {
10770	s.DetectorId = &v
10771	return s
10772}
10773
10774// SetFindingCriteria sets the FindingCriteria field's value.
10775func (s *ListFindingsInput) SetFindingCriteria(v *FindingCriteria) *ListFindingsInput {
10776	s.FindingCriteria = v
10777	return s
10778}
10779
10780// SetMaxResults sets the MaxResults field's value.
10781func (s *ListFindingsInput) SetMaxResults(v int64) *ListFindingsInput {
10782	s.MaxResults = &v
10783	return s
10784}
10785
10786// SetNextToken sets the NextToken field's value.
10787func (s *ListFindingsInput) SetNextToken(v string) *ListFindingsInput {
10788	s.NextToken = &v
10789	return s
10790}
10791
10792// SetSortCriteria sets the SortCriteria field's value.
10793func (s *ListFindingsInput) SetSortCriteria(v *SortCriteria) *ListFindingsInput {
10794	s.SortCriteria = v
10795	return s
10796}
10797
10798type ListFindingsOutput struct {
10799	_ struct{} `type:"structure"`
10800
10801	// The IDs of the findings that you're listing.
10802	//
10803	// FindingIds is a required field
10804	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
10805
10806	// The pagination parameter to be used on the next list operation to retrieve
10807	// more items.
10808	NextToken *string `locationName:"nextToken" type:"string"`
10809}
10810
10811// String returns the string representation
10812func (s ListFindingsOutput) String() string {
10813	return awsutil.Prettify(s)
10814}
10815
10816// GoString returns the string representation
10817func (s ListFindingsOutput) GoString() string {
10818	return s.String()
10819}
10820
10821// SetFindingIds sets the FindingIds field's value.
10822func (s *ListFindingsOutput) SetFindingIds(v []*string) *ListFindingsOutput {
10823	s.FindingIds = v
10824	return s
10825}
10826
10827// SetNextToken sets the NextToken field's value.
10828func (s *ListFindingsOutput) SetNextToken(v string) *ListFindingsOutput {
10829	s.NextToken = &v
10830	return s
10831}
10832
10833type ListIPSetsInput struct {
10834	_ struct{} `type:"structure"`
10835
10836	// The unique ID of the detector that the IPSet is associated with.
10837	//
10838	// DetectorId is a required field
10839	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
10840
10841	// You can use this parameter to indicate the maximum number of items you want
10842	// in the response. The default value is 50. The maximum value is 50.
10843	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10844
10845	// You can use this parameter when paginating results. Set the value of this
10846	// parameter to null on your first call to the list action. For subsequent calls
10847	// to the action, fill nextToken in the request with the value of NextToken
10848	// from the previous response to continue listing data.
10849	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
10850}
10851
10852// String returns the string representation
10853func (s ListIPSetsInput) String() string {
10854	return awsutil.Prettify(s)
10855}
10856
10857// GoString returns the string representation
10858func (s ListIPSetsInput) GoString() string {
10859	return s.String()
10860}
10861
10862// Validate inspects the fields of the type to determine if they are valid.
10863func (s *ListIPSetsInput) Validate() error {
10864	invalidParams := request.ErrInvalidParams{Context: "ListIPSetsInput"}
10865	if s.DetectorId == nil {
10866		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
10867	}
10868	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
10869		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
10870	}
10871	if s.MaxResults != nil && *s.MaxResults < 1 {
10872		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10873	}
10874
10875	if invalidParams.Len() > 0 {
10876		return invalidParams
10877	}
10878	return nil
10879}
10880
10881// SetDetectorId sets the DetectorId field's value.
10882func (s *ListIPSetsInput) SetDetectorId(v string) *ListIPSetsInput {
10883	s.DetectorId = &v
10884	return s
10885}
10886
10887// SetMaxResults sets the MaxResults field's value.
10888func (s *ListIPSetsInput) SetMaxResults(v int64) *ListIPSetsInput {
10889	s.MaxResults = &v
10890	return s
10891}
10892
10893// SetNextToken sets the NextToken field's value.
10894func (s *ListIPSetsInput) SetNextToken(v string) *ListIPSetsInput {
10895	s.NextToken = &v
10896	return s
10897}
10898
10899type ListIPSetsOutput struct {
10900	_ struct{} `type:"structure"`
10901
10902	// The IDs of the IPSet resources.
10903	//
10904	// IpSetIds is a required field
10905	IpSetIds []*string `locationName:"ipSetIds" type:"list" required:"true"`
10906
10907	// The pagination parameter to be used on the next list operation to retrieve
10908	// more items.
10909	NextToken *string `locationName:"nextToken" type:"string"`
10910}
10911
10912// String returns the string representation
10913func (s ListIPSetsOutput) String() string {
10914	return awsutil.Prettify(s)
10915}
10916
10917// GoString returns the string representation
10918func (s ListIPSetsOutput) GoString() string {
10919	return s.String()
10920}
10921
10922// SetIpSetIds sets the IpSetIds field's value.
10923func (s *ListIPSetsOutput) SetIpSetIds(v []*string) *ListIPSetsOutput {
10924	s.IpSetIds = v
10925	return s
10926}
10927
10928// SetNextToken sets the NextToken field's value.
10929func (s *ListIPSetsOutput) SetNextToken(v string) *ListIPSetsOutput {
10930	s.NextToken = &v
10931	return s
10932}
10933
10934type ListInvitationsInput struct {
10935	_ struct{} `type:"structure"`
10936
10937	// You can use this parameter to indicate the maximum number of items that you
10938	// want in the response. The default value is 50. The maximum value is 50.
10939	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10940
10941	// You can use this parameter when paginating results. Set the value of this
10942	// parameter to null on your first call to the list action. For subsequent calls
10943	// to the action, fill nextToken in the request with the value of NextToken
10944	// from the previous response to continue listing data.
10945	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
10946}
10947
10948// String returns the string representation
10949func (s ListInvitationsInput) String() string {
10950	return awsutil.Prettify(s)
10951}
10952
10953// GoString returns the string representation
10954func (s ListInvitationsInput) GoString() string {
10955	return s.String()
10956}
10957
10958// Validate inspects the fields of the type to determine if they are valid.
10959func (s *ListInvitationsInput) Validate() error {
10960	invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"}
10961	if s.MaxResults != nil && *s.MaxResults < 1 {
10962		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10963	}
10964
10965	if invalidParams.Len() > 0 {
10966		return invalidParams
10967	}
10968	return nil
10969}
10970
10971// SetMaxResults sets the MaxResults field's value.
10972func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput {
10973	s.MaxResults = &v
10974	return s
10975}
10976
10977// SetNextToken sets the NextToken field's value.
10978func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput {
10979	s.NextToken = &v
10980	return s
10981}
10982
10983type ListInvitationsOutput struct {
10984	_ struct{} `type:"structure"`
10985
10986	// A list of invitation descriptions.
10987	Invitations []*Invitation `locationName:"invitations" type:"list"`
10988
10989	// The pagination parameter to be used on the next list operation to retrieve
10990	// more items.
10991	NextToken *string `locationName:"nextToken" type:"string"`
10992}
10993
10994// String returns the string representation
10995func (s ListInvitationsOutput) String() string {
10996	return awsutil.Prettify(s)
10997}
10998
10999// GoString returns the string representation
11000func (s ListInvitationsOutput) GoString() string {
11001	return s.String()
11002}
11003
11004// SetInvitations sets the Invitations field's value.
11005func (s *ListInvitationsOutput) SetInvitations(v []*Invitation) *ListInvitationsOutput {
11006	s.Invitations = v
11007	return s
11008}
11009
11010// SetNextToken sets the NextToken field's value.
11011func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput {
11012	s.NextToken = &v
11013	return s
11014}
11015
11016type ListMembersInput struct {
11017	_ struct{} `type:"structure"`
11018
11019	// The unique ID of the detector the member is associated with.
11020	//
11021	// DetectorId is a required field
11022	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
11023
11024	// You can use this parameter to indicate the maximum number of items you want
11025	// in the response. The default value is 50. The maximum value is 50.
11026	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
11027
11028	// You can use this parameter when paginating results. Set the value of this
11029	// parameter to null on your first call to the list action. For subsequent calls
11030	// to the action, fill nextToken in the request with the value of NextToken
11031	// from the previous response to continue listing data.
11032	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
11033
11034	// Specifies whether to only return associated members or to return all members
11035	// (including members who haven't been invited yet or have been disassociated).
11036	OnlyAssociated *string `location:"querystring" locationName:"onlyAssociated" type:"string"`
11037}
11038
11039// String returns the string representation
11040func (s ListMembersInput) String() string {
11041	return awsutil.Prettify(s)
11042}
11043
11044// GoString returns the string representation
11045func (s ListMembersInput) GoString() string {
11046	return s.String()
11047}
11048
11049// Validate inspects the fields of the type to determine if they are valid.
11050func (s *ListMembersInput) Validate() error {
11051	invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"}
11052	if s.DetectorId == nil {
11053		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
11054	}
11055	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
11056		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
11057	}
11058	if s.MaxResults != nil && *s.MaxResults < 1 {
11059		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11060	}
11061
11062	if invalidParams.Len() > 0 {
11063		return invalidParams
11064	}
11065	return nil
11066}
11067
11068// SetDetectorId sets the DetectorId field's value.
11069func (s *ListMembersInput) SetDetectorId(v string) *ListMembersInput {
11070	s.DetectorId = &v
11071	return s
11072}
11073
11074// SetMaxResults sets the MaxResults field's value.
11075func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput {
11076	s.MaxResults = &v
11077	return s
11078}
11079
11080// SetNextToken sets the NextToken field's value.
11081func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput {
11082	s.NextToken = &v
11083	return s
11084}
11085
11086// SetOnlyAssociated sets the OnlyAssociated field's value.
11087func (s *ListMembersInput) SetOnlyAssociated(v string) *ListMembersInput {
11088	s.OnlyAssociated = &v
11089	return s
11090}
11091
11092type ListMembersOutput struct {
11093	_ struct{} `type:"structure"`
11094
11095	// A list of members.
11096	Members []*Member `locationName:"members" type:"list"`
11097
11098	// The pagination parameter to be used on the next list operation to retrieve
11099	// more items.
11100	NextToken *string `locationName:"nextToken" type:"string"`
11101}
11102
11103// String returns the string representation
11104func (s ListMembersOutput) String() string {
11105	return awsutil.Prettify(s)
11106}
11107
11108// GoString returns the string representation
11109func (s ListMembersOutput) GoString() string {
11110	return s.String()
11111}
11112
11113// SetMembers sets the Members field's value.
11114func (s *ListMembersOutput) SetMembers(v []*Member) *ListMembersOutput {
11115	s.Members = v
11116	return s
11117}
11118
11119// SetNextToken sets the NextToken field's value.
11120func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput {
11121	s.NextToken = &v
11122	return s
11123}
11124
11125type ListOrganizationAdminAccountsInput struct {
11126	_ struct{} `type:"structure"`
11127
11128	// The maximum number of results to return in the response.
11129	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
11130
11131	// A token to use for paginating results that are returned in the response.
11132	// Set the value of this parameter to null for the first request to a list action.
11133	// For subsequent calls, use the NextToken value returned from the previous
11134	// request to continue listing results after the first page.
11135	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
11136}
11137
11138// String returns the string representation
11139func (s ListOrganizationAdminAccountsInput) String() string {
11140	return awsutil.Prettify(s)
11141}
11142
11143// GoString returns the string representation
11144func (s ListOrganizationAdminAccountsInput) GoString() string {
11145	return s.String()
11146}
11147
11148// Validate inspects the fields of the type to determine if they are valid.
11149func (s *ListOrganizationAdminAccountsInput) Validate() error {
11150	invalidParams := request.ErrInvalidParams{Context: "ListOrganizationAdminAccountsInput"}
11151	if s.MaxResults != nil && *s.MaxResults < 1 {
11152		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11153	}
11154
11155	if invalidParams.Len() > 0 {
11156		return invalidParams
11157	}
11158	return nil
11159}
11160
11161// SetMaxResults sets the MaxResults field's value.
11162func (s *ListOrganizationAdminAccountsInput) SetMaxResults(v int64) *ListOrganizationAdminAccountsInput {
11163	s.MaxResults = &v
11164	return s
11165}
11166
11167// SetNextToken sets the NextToken field's value.
11168func (s *ListOrganizationAdminAccountsInput) SetNextToken(v string) *ListOrganizationAdminAccountsInput {
11169	s.NextToken = &v
11170	return s
11171}
11172
11173type ListOrganizationAdminAccountsOutput struct {
11174	_ struct{} `type:"structure"`
11175
11176	// A list of accounts configured as GuardDuty delegated administrators.
11177	AdminAccounts []*AdminAccount `locationName:"adminAccounts" type:"list"`
11178
11179	// The pagination parameter to be used on the next list operation to retrieve
11180	// more items.
11181	NextToken *string `locationName:"nextToken" type:"string"`
11182}
11183
11184// String returns the string representation
11185func (s ListOrganizationAdminAccountsOutput) String() string {
11186	return awsutil.Prettify(s)
11187}
11188
11189// GoString returns the string representation
11190func (s ListOrganizationAdminAccountsOutput) GoString() string {
11191	return s.String()
11192}
11193
11194// SetAdminAccounts sets the AdminAccounts field's value.
11195func (s *ListOrganizationAdminAccountsOutput) SetAdminAccounts(v []*AdminAccount) *ListOrganizationAdminAccountsOutput {
11196	s.AdminAccounts = v
11197	return s
11198}
11199
11200// SetNextToken sets the NextToken field's value.
11201func (s *ListOrganizationAdminAccountsOutput) SetNextToken(v string) *ListOrganizationAdminAccountsOutput {
11202	s.NextToken = &v
11203	return s
11204}
11205
11206type ListPublishingDestinationsInput struct {
11207	_ struct{} `type:"structure"`
11208
11209	// The ID of the detector to retrieve publishing destinations for.
11210	//
11211	// DetectorId is a required field
11212	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
11213
11214	// The maximum number of results to return in the response.
11215	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
11216
11217	// A token to use for paginating results that are returned in the response.
11218	// Set the value of this parameter to null for the first request to a list action.
11219	// For subsequent calls, use the NextToken value returned from the previous
11220	// request to continue listing results after the first page.
11221	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
11222}
11223
11224// String returns the string representation
11225func (s ListPublishingDestinationsInput) String() string {
11226	return awsutil.Prettify(s)
11227}
11228
11229// GoString returns the string representation
11230func (s ListPublishingDestinationsInput) GoString() string {
11231	return s.String()
11232}
11233
11234// Validate inspects the fields of the type to determine if they are valid.
11235func (s *ListPublishingDestinationsInput) Validate() error {
11236	invalidParams := request.ErrInvalidParams{Context: "ListPublishingDestinationsInput"}
11237	if s.DetectorId == nil {
11238		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
11239	}
11240	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
11241		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
11242	}
11243	if s.MaxResults != nil && *s.MaxResults < 1 {
11244		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11245	}
11246
11247	if invalidParams.Len() > 0 {
11248		return invalidParams
11249	}
11250	return nil
11251}
11252
11253// SetDetectorId sets the DetectorId field's value.
11254func (s *ListPublishingDestinationsInput) SetDetectorId(v string) *ListPublishingDestinationsInput {
11255	s.DetectorId = &v
11256	return s
11257}
11258
11259// SetMaxResults sets the MaxResults field's value.
11260func (s *ListPublishingDestinationsInput) SetMaxResults(v int64) *ListPublishingDestinationsInput {
11261	s.MaxResults = &v
11262	return s
11263}
11264
11265// SetNextToken sets the NextToken field's value.
11266func (s *ListPublishingDestinationsInput) SetNextToken(v string) *ListPublishingDestinationsInput {
11267	s.NextToken = &v
11268	return s
11269}
11270
11271type ListPublishingDestinationsOutput struct {
11272	_ struct{} `type:"structure"`
11273
11274	// A Destinations object that includes information about each publishing destination
11275	// returned.
11276	//
11277	// Destinations is a required field
11278	Destinations []*Destination `locationName:"destinations" type:"list" required:"true"`
11279
11280	// A token to use for paginating results that are returned in the response.
11281	// Set the value of this parameter to null for the first request to a list action.
11282	// For subsequent calls, use the NextToken value returned from the previous
11283	// request to continue listing results after the first page.
11284	NextToken *string `locationName:"nextToken" type:"string"`
11285}
11286
11287// String returns the string representation
11288func (s ListPublishingDestinationsOutput) String() string {
11289	return awsutil.Prettify(s)
11290}
11291
11292// GoString returns the string representation
11293func (s ListPublishingDestinationsOutput) GoString() string {
11294	return s.String()
11295}
11296
11297// SetDestinations sets the Destinations field's value.
11298func (s *ListPublishingDestinationsOutput) SetDestinations(v []*Destination) *ListPublishingDestinationsOutput {
11299	s.Destinations = v
11300	return s
11301}
11302
11303// SetNextToken sets the NextToken field's value.
11304func (s *ListPublishingDestinationsOutput) SetNextToken(v string) *ListPublishingDestinationsOutput {
11305	s.NextToken = &v
11306	return s
11307}
11308
11309type ListTagsForResourceInput struct {
11310	_ struct{} `type:"structure"`
11311
11312	// The Amazon Resource Name (ARN) for the given GuardDuty resource.
11313	//
11314	// ResourceArn is a required field
11315	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
11316}
11317
11318// String returns the string representation
11319func (s ListTagsForResourceInput) String() string {
11320	return awsutil.Prettify(s)
11321}
11322
11323// GoString returns the string representation
11324func (s ListTagsForResourceInput) GoString() string {
11325	return s.String()
11326}
11327
11328// Validate inspects the fields of the type to determine if they are valid.
11329func (s *ListTagsForResourceInput) Validate() error {
11330	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
11331	if s.ResourceArn == nil {
11332		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
11333	}
11334	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
11335		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
11336	}
11337
11338	if invalidParams.Len() > 0 {
11339		return invalidParams
11340	}
11341	return nil
11342}
11343
11344// SetResourceArn sets the ResourceArn field's value.
11345func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
11346	s.ResourceArn = &v
11347	return s
11348}
11349
11350type ListTagsForResourceOutput struct {
11351	_ struct{} `type:"structure"`
11352
11353	// The tags associated with the resource.
11354	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
11355}
11356
11357// String returns the string representation
11358func (s ListTagsForResourceOutput) String() string {
11359	return awsutil.Prettify(s)
11360}
11361
11362// GoString returns the string representation
11363func (s ListTagsForResourceOutput) GoString() string {
11364	return s.String()
11365}
11366
11367// SetTags sets the Tags field's value.
11368func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
11369	s.Tags = v
11370	return s
11371}
11372
11373type ListThreatIntelSetsInput struct {
11374	_ struct{} `type:"structure"`
11375
11376	// The unique ID of the detector that the threatIntelSet is associated with.
11377	//
11378	// DetectorId is a required field
11379	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
11380
11381	// You can use this parameter to indicate the maximum number of items that you
11382	// want in the response. The default value is 50. The maximum value is 50.
11383	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
11384
11385	// You can use this parameter to paginate results in the response. Set the value
11386	// of this parameter to null on your first call to the list action. For subsequent
11387	// calls to the action, fill nextToken in the request with the value of NextToken
11388	// from the previous response to continue listing data.
11389	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
11390}
11391
11392// String returns the string representation
11393func (s ListThreatIntelSetsInput) String() string {
11394	return awsutil.Prettify(s)
11395}
11396
11397// GoString returns the string representation
11398func (s ListThreatIntelSetsInput) GoString() string {
11399	return s.String()
11400}
11401
11402// Validate inspects the fields of the type to determine if they are valid.
11403func (s *ListThreatIntelSetsInput) Validate() error {
11404	invalidParams := request.ErrInvalidParams{Context: "ListThreatIntelSetsInput"}
11405	if s.DetectorId == nil {
11406		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
11407	}
11408	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
11409		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
11410	}
11411	if s.MaxResults != nil && *s.MaxResults < 1 {
11412		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
11413	}
11414
11415	if invalidParams.Len() > 0 {
11416		return invalidParams
11417	}
11418	return nil
11419}
11420
11421// SetDetectorId sets the DetectorId field's value.
11422func (s *ListThreatIntelSetsInput) SetDetectorId(v string) *ListThreatIntelSetsInput {
11423	s.DetectorId = &v
11424	return s
11425}
11426
11427// SetMaxResults sets the MaxResults field's value.
11428func (s *ListThreatIntelSetsInput) SetMaxResults(v int64) *ListThreatIntelSetsInput {
11429	s.MaxResults = &v
11430	return s
11431}
11432
11433// SetNextToken sets the NextToken field's value.
11434func (s *ListThreatIntelSetsInput) SetNextToken(v string) *ListThreatIntelSetsInput {
11435	s.NextToken = &v
11436	return s
11437}
11438
11439type ListThreatIntelSetsOutput struct {
11440	_ struct{} `type:"structure"`
11441
11442	// The pagination parameter to be used on the next list operation to retrieve
11443	// more items.
11444	NextToken *string `locationName:"nextToken" type:"string"`
11445
11446	// The IDs of the ThreatIntelSet resources.
11447	//
11448	// ThreatIntelSetIds is a required field
11449	ThreatIntelSetIds []*string `locationName:"threatIntelSetIds" type:"list" required:"true"`
11450}
11451
11452// String returns the string representation
11453func (s ListThreatIntelSetsOutput) String() string {
11454	return awsutil.Prettify(s)
11455}
11456
11457// GoString returns the string representation
11458func (s ListThreatIntelSetsOutput) GoString() string {
11459	return s.String()
11460}
11461
11462// SetNextToken sets the NextToken field's value.
11463func (s *ListThreatIntelSetsOutput) SetNextToken(v string) *ListThreatIntelSetsOutput {
11464	s.NextToken = &v
11465	return s
11466}
11467
11468// SetThreatIntelSetIds sets the ThreatIntelSetIds field's value.
11469func (s *ListThreatIntelSetsOutput) SetThreatIntelSetIds(v []*string) *ListThreatIntelSetsOutput {
11470	s.ThreatIntelSetIds = v
11471	return s
11472}
11473
11474// Contains information about the local IP address of the connection.
11475type LocalIpDetails struct {
11476	_ struct{} `type:"structure"`
11477
11478	// The IPv4 local address of the connection.
11479	IpAddressV4 *string `locationName:"ipAddressV4" type:"string"`
11480}
11481
11482// String returns the string representation
11483func (s LocalIpDetails) String() string {
11484	return awsutil.Prettify(s)
11485}
11486
11487// GoString returns the string representation
11488func (s LocalIpDetails) GoString() string {
11489	return s.String()
11490}
11491
11492// SetIpAddressV4 sets the IpAddressV4 field's value.
11493func (s *LocalIpDetails) SetIpAddressV4(v string) *LocalIpDetails {
11494	s.IpAddressV4 = &v
11495	return s
11496}
11497
11498// Contains information about the port for the local connection.
11499type LocalPortDetails struct {
11500	_ struct{} `type:"structure"`
11501
11502	// The port number of the local connection.
11503	Port *int64 `locationName:"port" type:"integer"`
11504
11505	// The port name of the local connection.
11506	PortName *string `locationName:"portName" type:"string"`
11507}
11508
11509// String returns the string representation
11510func (s LocalPortDetails) String() string {
11511	return awsutil.Prettify(s)
11512}
11513
11514// GoString returns the string representation
11515func (s LocalPortDetails) GoString() string {
11516	return s.String()
11517}
11518
11519// SetPort sets the Port field's value.
11520func (s *LocalPortDetails) SetPort(v int64) *LocalPortDetails {
11521	s.Port = &v
11522	return s
11523}
11524
11525// SetPortName sets the PortName field's value.
11526func (s *LocalPortDetails) SetPortName(v string) *LocalPortDetails {
11527	s.PortName = &v
11528	return s
11529}
11530
11531// Contains information about the administrator account and invitation.
11532type Master struct {
11533	_ struct{} `type:"structure"`
11534
11535	// The ID of the account used as the administrator account.
11536	AccountId *string `locationName:"accountId" min:"12" type:"string"`
11537
11538	// The value used to validate the administrator account to the member account.
11539	InvitationId *string `locationName:"invitationId" type:"string"`
11540
11541	// The timestamp when the invitation was sent.
11542	InvitedAt *string `locationName:"invitedAt" type:"string"`
11543
11544	// The status of the relationship between the administrator and member accounts.
11545	RelationshipStatus *string `locationName:"relationshipStatus" type:"string"`
11546}
11547
11548// String returns the string representation
11549func (s Master) String() string {
11550	return awsutil.Prettify(s)
11551}
11552
11553// GoString returns the string representation
11554func (s Master) GoString() string {
11555	return s.String()
11556}
11557
11558// SetAccountId sets the AccountId field's value.
11559func (s *Master) SetAccountId(v string) *Master {
11560	s.AccountId = &v
11561	return s
11562}
11563
11564// SetInvitationId sets the InvitationId field's value.
11565func (s *Master) SetInvitationId(v string) *Master {
11566	s.InvitationId = &v
11567	return s
11568}
11569
11570// SetInvitedAt sets the InvitedAt field's value.
11571func (s *Master) SetInvitedAt(v string) *Master {
11572	s.InvitedAt = &v
11573	return s
11574}
11575
11576// SetRelationshipStatus sets the RelationshipStatus field's value.
11577func (s *Master) SetRelationshipStatus(v string) *Master {
11578	s.RelationshipStatus = &v
11579	return s
11580}
11581
11582// Contains information about the member account.
11583type Member struct {
11584	_ struct{} `type:"structure"`
11585
11586	// The ID of the member account.
11587	//
11588	// AccountId is a required field
11589	AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"`
11590
11591	// The detector ID of the member account.
11592	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
11593
11594	// The email address of the member account.
11595	//
11596	// Email is a required field
11597	Email *string `locationName:"email" min:"1" type:"string" required:"true"`
11598
11599	// The timestamp when the invitation was sent.
11600	InvitedAt *string `locationName:"invitedAt" type:"string"`
11601
11602	// The administrator account ID.
11603	//
11604	// MasterId is a required field
11605	MasterId *string `locationName:"masterId" type:"string" required:"true"`
11606
11607	// The status of the relationship between the member and the administrator.
11608	//
11609	// RelationshipStatus is a required field
11610	RelationshipStatus *string `locationName:"relationshipStatus" type:"string" required:"true"`
11611
11612	// The last-updated timestamp of the member.
11613	//
11614	// UpdatedAt is a required field
11615	UpdatedAt *string `locationName:"updatedAt" type:"string" required:"true"`
11616}
11617
11618// String returns the string representation
11619func (s Member) String() string {
11620	return awsutil.Prettify(s)
11621}
11622
11623// GoString returns the string representation
11624func (s Member) GoString() string {
11625	return s.String()
11626}
11627
11628// SetAccountId sets the AccountId field's value.
11629func (s *Member) SetAccountId(v string) *Member {
11630	s.AccountId = &v
11631	return s
11632}
11633
11634// SetDetectorId sets the DetectorId field's value.
11635func (s *Member) SetDetectorId(v string) *Member {
11636	s.DetectorId = &v
11637	return s
11638}
11639
11640// SetEmail sets the Email field's value.
11641func (s *Member) SetEmail(v string) *Member {
11642	s.Email = &v
11643	return s
11644}
11645
11646// SetInvitedAt sets the InvitedAt field's value.
11647func (s *Member) SetInvitedAt(v string) *Member {
11648	s.InvitedAt = &v
11649	return s
11650}
11651
11652// SetMasterId sets the MasterId field's value.
11653func (s *Member) SetMasterId(v string) *Member {
11654	s.MasterId = &v
11655	return s
11656}
11657
11658// SetRelationshipStatus sets the RelationshipStatus field's value.
11659func (s *Member) SetRelationshipStatus(v string) *Member {
11660	s.RelationshipStatus = &v
11661	return s
11662}
11663
11664// SetUpdatedAt sets the UpdatedAt field's value.
11665func (s *Member) SetUpdatedAt(v string) *Member {
11666	s.UpdatedAt = &v
11667	return s
11668}
11669
11670// Contains information on which data sources are enabled for a member account.
11671type MemberDataSourceConfiguration struct {
11672	_ struct{} `type:"structure"`
11673
11674	// The account ID for the member account.
11675	//
11676	// AccountId is a required field
11677	AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"`
11678
11679	// Contains information on the status of data sources for the account.
11680	//
11681	// DataSources is a required field
11682	DataSources *DataSourceConfigurationsResult `locationName:"dataSources" type:"structure" required:"true"`
11683}
11684
11685// String returns the string representation
11686func (s MemberDataSourceConfiguration) String() string {
11687	return awsutil.Prettify(s)
11688}
11689
11690// GoString returns the string representation
11691func (s MemberDataSourceConfiguration) GoString() string {
11692	return s.String()
11693}
11694
11695// SetAccountId sets the AccountId field's value.
11696func (s *MemberDataSourceConfiguration) SetAccountId(v string) *MemberDataSourceConfiguration {
11697	s.AccountId = &v
11698	return s
11699}
11700
11701// SetDataSources sets the DataSources field's value.
11702func (s *MemberDataSourceConfiguration) SetDataSources(v *DataSourceConfigurationsResult) *MemberDataSourceConfiguration {
11703	s.DataSources = v
11704	return s
11705}
11706
11707// Contains information about the NETWORK_CONNECTION action described in the
11708// finding.
11709type NetworkConnectionAction struct {
11710	_ struct{} `type:"structure"`
11711
11712	// Indicates whether EC2 blocked the network connection to your instance.
11713	Blocked *bool `locationName:"blocked" type:"boolean"`
11714
11715	// The network connection direction.
11716	ConnectionDirection *string `locationName:"connectionDirection" type:"string"`
11717
11718	// The local IP information of the connection.
11719	LocalIpDetails *LocalIpDetails `locationName:"localIpDetails" type:"structure"`
11720
11721	// The local port information of the connection.
11722	LocalPortDetails *LocalPortDetails `locationName:"localPortDetails" type:"structure"`
11723
11724	// The network connection protocol.
11725	Protocol *string `locationName:"protocol" type:"string"`
11726
11727	// The remote IP information of the connection.
11728	RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"`
11729
11730	// The remote port information of the connection.
11731	RemotePortDetails *RemotePortDetails `locationName:"remotePortDetails" type:"structure"`
11732}
11733
11734// String returns the string representation
11735func (s NetworkConnectionAction) String() string {
11736	return awsutil.Prettify(s)
11737}
11738
11739// GoString returns the string representation
11740func (s NetworkConnectionAction) GoString() string {
11741	return s.String()
11742}
11743
11744// SetBlocked sets the Blocked field's value.
11745func (s *NetworkConnectionAction) SetBlocked(v bool) *NetworkConnectionAction {
11746	s.Blocked = &v
11747	return s
11748}
11749
11750// SetConnectionDirection sets the ConnectionDirection field's value.
11751func (s *NetworkConnectionAction) SetConnectionDirection(v string) *NetworkConnectionAction {
11752	s.ConnectionDirection = &v
11753	return s
11754}
11755
11756// SetLocalIpDetails sets the LocalIpDetails field's value.
11757func (s *NetworkConnectionAction) SetLocalIpDetails(v *LocalIpDetails) *NetworkConnectionAction {
11758	s.LocalIpDetails = v
11759	return s
11760}
11761
11762// SetLocalPortDetails sets the LocalPortDetails field's value.
11763func (s *NetworkConnectionAction) SetLocalPortDetails(v *LocalPortDetails) *NetworkConnectionAction {
11764	s.LocalPortDetails = v
11765	return s
11766}
11767
11768// SetProtocol sets the Protocol field's value.
11769func (s *NetworkConnectionAction) SetProtocol(v string) *NetworkConnectionAction {
11770	s.Protocol = &v
11771	return s
11772}
11773
11774// SetRemoteIpDetails sets the RemoteIpDetails field's value.
11775func (s *NetworkConnectionAction) SetRemoteIpDetails(v *RemoteIpDetails) *NetworkConnectionAction {
11776	s.RemoteIpDetails = v
11777	return s
11778}
11779
11780// SetRemotePortDetails sets the RemotePortDetails field's value.
11781func (s *NetworkConnectionAction) SetRemotePortDetails(v *RemotePortDetails) *NetworkConnectionAction {
11782	s.RemotePortDetails = v
11783	return s
11784}
11785
11786// Contains information about the elastic network interface of the EC2 instance.
11787type NetworkInterface struct {
11788	_ struct{} `type:"structure"`
11789
11790	// A list of IPv6 addresses for the EC2 instance.
11791	Ipv6Addresses []*string `locationName:"ipv6Addresses" type:"list"`
11792
11793	// The ID of the network interface.
11794	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
11795
11796	// The private DNS name of the EC2 instance.
11797	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
11798
11799	// The private IP address of the EC2 instance.
11800	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
11801
11802	// Other private IP address information of the EC2 instance.
11803	PrivateIpAddresses []*PrivateIpAddressDetails `locationName:"privateIpAddresses" type:"list"`
11804
11805	// The public DNS name of the EC2 instance.
11806	PublicDnsName *string `locationName:"publicDnsName" type:"string"`
11807
11808	// The public IP address of the EC2 instance.
11809	PublicIp *string `locationName:"publicIp" type:"string"`
11810
11811	// The security groups associated with the EC2 instance.
11812	SecurityGroups []*SecurityGroup `locationName:"securityGroups" type:"list"`
11813
11814	// The subnet ID of the EC2 instance.
11815	SubnetId *string `locationName:"subnetId" type:"string"`
11816
11817	// The VPC ID of the EC2 instance.
11818	VpcId *string `locationName:"vpcId" type:"string"`
11819}
11820
11821// String returns the string representation
11822func (s NetworkInterface) String() string {
11823	return awsutil.Prettify(s)
11824}
11825
11826// GoString returns the string representation
11827func (s NetworkInterface) GoString() string {
11828	return s.String()
11829}
11830
11831// SetIpv6Addresses sets the Ipv6Addresses field's value.
11832func (s *NetworkInterface) SetIpv6Addresses(v []*string) *NetworkInterface {
11833	s.Ipv6Addresses = v
11834	return s
11835}
11836
11837// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
11838func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
11839	s.NetworkInterfaceId = &v
11840	return s
11841}
11842
11843// SetPrivateDnsName sets the PrivateDnsName field's value.
11844func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
11845	s.PrivateDnsName = &v
11846	return s
11847}
11848
11849// SetPrivateIpAddress sets the PrivateIpAddress field's value.
11850func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
11851	s.PrivateIpAddress = &v
11852	return s
11853}
11854
11855// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
11856func (s *NetworkInterface) SetPrivateIpAddresses(v []*PrivateIpAddressDetails) *NetworkInterface {
11857	s.PrivateIpAddresses = v
11858	return s
11859}
11860
11861// SetPublicDnsName sets the PublicDnsName field's value.
11862func (s *NetworkInterface) SetPublicDnsName(v string) *NetworkInterface {
11863	s.PublicDnsName = &v
11864	return s
11865}
11866
11867// SetPublicIp sets the PublicIp field's value.
11868func (s *NetworkInterface) SetPublicIp(v string) *NetworkInterface {
11869	s.PublicIp = &v
11870	return s
11871}
11872
11873// SetSecurityGroups sets the SecurityGroups field's value.
11874func (s *NetworkInterface) SetSecurityGroups(v []*SecurityGroup) *NetworkInterface {
11875	s.SecurityGroups = v
11876	return s
11877}
11878
11879// SetSubnetId sets the SubnetId field's value.
11880func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
11881	s.SubnetId = &v
11882	return s
11883}
11884
11885// SetVpcId sets the VpcId field's value.
11886func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
11887	s.VpcId = &v
11888	return s
11889}
11890
11891// Contains information about the ISP organization of the remote IP address.
11892type Organization struct {
11893	_ struct{} `type:"structure"`
11894
11895	// The Autonomous System Number (ASN) of the internet provider of the remote
11896	// IP address.
11897	Asn *string `locationName:"asn" type:"string"`
11898
11899	// The organization that registered this ASN.
11900	AsnOrg *string `locationName:"asnOrg" type:"string"`
11901
11902	// The ISP information for the internet provider.
11903	Isp *string `locationName:"isp" type:"string"`
11904
11905	// The name of the internet provider.
11906	Org *string `locationName:"org" type:"string"`
11907}
11908
11909// String returns the string representation
11910func (s Organization) String() string {
11911	return awsutil.Prettify(s)
11912}
11913
11914// GoString returns the string representation
11915func (s Organization) GoString() string {
11916	return s.String()
11917}
11918
11919// SetAsn sets the Asn field's value.
11920func (s *Organization) SetAsn(v string) *Organization {
11921	s.Asn = &v
11922	return s
11923}
11924
11925// SetAsnOrg sets the AsnOrg field's value.
11926func (s *Organization) SetAsnOrg(v string) *Organization {
11927	s.AsnOrg = &v
11928	return s
11929}
11930
11931// SetIsp sets the Isp field's value.
11932func (s *Organization) SetIsp(v string) *Organization {
11933	s.Isp = &v
11934	return s
11935}
11936
11937// SetOrg sets the Org field's value.
11938func (s *Organization) SetOrg(v string) *Organization {
11939	s.Org = &v
11940	return s
11941}
11942
11943// An object that contains information on which data sources will be configured
11944// to be automatically enabled for new members within the organization.
11945type OrganizationDataSourceConfigurations struct {
11946	_ struct{} `type:"structure"`
11947
11948	// Describes whether S3 data event logs are enabled for new members of the organization.
11949	S3Logs *OrganizationS3LogsConfiguration `locationName:"s3Logs" type:"structure"`
11950}
11951
11952// String returns the string representation
11953func (s OrganizationDataSourceConfigurations) String() string {
11954	return awsutil.Prettify(s)
11955}
11956
11957// GoString returns the string representation
11958func (s OrganizationDataSourceConfigurations) GoString() string {
11959	return s.String()
11960}
11961
11962// Validate inspects the fields of the type to determine if they are valid.
11963func (s *OrganizationDataSourceConfigurations) Validate() error {
11964	invalidParams := request.ErrInvalidParams{Context: "OrganizationDataSourceConfigurations"}
11965	if s.S3Logs != nil {
11966		if err := s.S3Logs.Validate(); err != nil {
11967			invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams))
11968		}
11969	}
11970
11971	if invalidParams.Len() > 0 {
11972		return invalidParams
11973	}
11974	return nil
11975}
11976
11977// SetS3Logs sets the S3Logs field's value.
11978func (s *OrganizationDataSourceConfigurations) SetS3Logs(v *OrganizationS3LogsConfiguration) *OrganizationDataSourceConfigurations {
11979	s.S3Logs = v
11980	return s
11981}
11982
11983// An object that contains information on which data sources are automatically
11984// enabled for new members within the organization.
11985type OrganizationDataSourceConfigurationsResult struct {
11986	_ struct{} `type:"structure"`
11987
11988	// Describes whether S3 data event logs are enabled as a data source.
11989	//
11990	// S3Logs is a required field
11991	S3Logs *OrganizationS3LogsConfigurationResult `locationName:"s3Logs" type:"structure" required:"true"`
11992}
11993
11994// String returns the string representation
11995func (s OrganizationDataSourceConfigurationsResult) String() string {
11996	return awsutil.Prettify(s)
11997}
11998
11999// GoString returns the string representation
12000func (s OrganizationDataSourceConfigurationsResult) GoString() string {
12001	return s.String()
12002}
12003
12004// SetS3Logs sets the S3Logs field's value.
12005func (s *OrganizationDataSourceConfigurationsResult) SetS3Logs(v *OrganizationS3LogsConfigurationResult) *OrganizationDataSourceConfigurationsResult {
12006	s.S3Logs = v
12007	return s
12008}
12009
12010// Describes whether S3 data event logs will be automatically enabled for new
12011// members of the organization.
12012type OrganizationS3LogsConfiguration struct {
12013	_ struct{} `type:"structure"`
12014
12015	// A value that contains information on whether S3 data event logs will be enabled
12016	// automatically as a data source for the organization.
12017	//
12018	// AutoEnable is a required field
12019	AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"`
12020}
12021
12022// String returns the string representation
12023func (s OrganizationS3LogsConfiguration) String() string {
12024	return awsutil.Prettify(s)
12025}
12026
12027// GoString returns the string representation
12028func (s OrganizationS3LogsConfiguration) GoString() string {
12029	return s.String()
12030}
12031
12032// Validate inspects the fields of the type to determine if they are valid.
12033func (s *OrganizationS3LogsConfiguration) Validate() error {
12034	invalidParams := request.ErrInvalidParams{Context: "OrganizationS3LogsConfiguration"}
12035	if s.AutoEnable == nil {
12036		invalidParams.Add(request.NewErrParamRequired("AutoEnable"))
12037	}
12038
12039	if invalidParams.Len() > 0 {
12040		return invalidParams
12041	}
12042	return nil
12043}
12044
12045// SetAutoEnable sets the AutoEnable field's value.
12046func (s *OrganizationS3LogsConfiguration) SetAutoEnable(v bool) *OrganizationS3LogsConfiguration {
12047	s.AutoEnable = &v
12048	return s
12049}
12050
12051// The current configuration of S3 data event logs as a data source for the
12052// organization.
12053type OrganizationS3LogsConfigurationResult struct {
12054	_ struct{} `type:"structure"`
12055
12056	// A value that describes whether S3 data event logs are automatically enabled
12057	// for new members of the organization.
12058	//
12059	// AutoEnable is a required field
12060	AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"`
12061}
12062
12063// String returns the string representation
12064func (s OrganizationS3LogsConfigurationResult) String() string {
12065	return awsutil.Prettify(s)
12066}
12067
12068// GoString returns the string representation
12069func (s OrganizationS3LogsConfigurationResult) GoString() string {
12070	return s.String()
12071}
12072
12073// SetAutoEnable sets the AutoEnable field's value.
12074func (s *OrganizationS3LogsConfigurationResult) SetAutoEnable(v bool) *OrganizationS3LogsConfigurationResult {
12075	s.AutoEnable = &v
12076	return s
12077}
12078
12079// Contains information on the owner of the bucket.
12080type Owner struct {
12081	_ struct{} `type:"structure"`
12082
12083	// The canonical user ID of the bucket owner. For information about locating
12084	// your canonical user ID see Finding Your Account Canonical User ID. (https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId)
12085	Id *string `locationName:"id" type:"string"`
12086}
12087
12088// String returns the string representation
12089func (s Owner) String() string {
12090	return awsutil.Prettify(s)
12091}
12092
12093// GoString returns the string representation
12094func (s Owner) GoString() string {
12095	return s.String()
12096}
12097
12098// SetId sets the Id field's value.
12099func (s *Owner) SetId(v string) *Owner {
12100	s.Id = &v
12101	return s
12102}
12103
12104// Contains information about how permissions are configured for the S3 bucket.
12105type PermissionConfiguration struct {
12106	_ struct{} `type:"structure"`
12107
12108	// Contains information about the account level permissions on the S3 bucket.
12109	AccountLevelPermissions *AccountLevelPermissions `locationName:"accountLevelPermissions" type:"structure"`
12110
12111	// Contains information about the bucket level permissions for the S3 bucket.
12112	BucketLevelPermissions *BucketLevelPermissions `locationName:"bucketLevelPermissions" type:"structure"`
12113}
12114
12115// String returns the string representation
12116func (s PermissionConfiguration) String() string {
12117	return awsutil.Prettify(s)
12118}
12119
12120// GoString returns the string representation
12121func (s PermissionConfiguration) GoString() string {
12122	return s.String()
12123}
12124
12125// SetAccountLevelPermissions sets the AccountLevelPermissions field's value.
12126func (s *PermissionConfiguration) SetAccountLevelPermissions(v *AccountLevelPermissions) *PermissionConfiguration {
12127	s.AccountLevelPermissions = v
12128	return s
12129}
12130
12131// SetBucketLevelPermissions sets the BucketLevelPermissions field's value.
12132func (s *PermissionConfiguration) SetBucketLevelPermissions(v *BucketLevelPermissions) *PermissionConfiguration {
12133	s.BucketLevelPermissions = v
12134	return s
12135}
12136
12137// Contains information about the PORT_PROBE action described in the finding.
12138type PortProbeAction struct {
12139	_ struct{} `type:"structure"`
12140
12141	// Indicates whether EC2 blocked the port probe to the instance, such as with
12142	// an ACL.
12143	Blocked *bool `locationName:"blocked" type:"boolean"`
12144
12145	// A list of objects related to port probe details.
12146	PortProbeDetails []*PortProbeDetail `locationName:"portProbeDetails" type:"list"`
12147}
12148
12149// String returns the string representation
12150func (s PortProbeAction) String() string {
12151	return awsutil.Prettify(s)
12152}
12153
12154// GoString returns the string representation
12155func (s PortProbeAction) GoString() string {
12156	return s.String()
12157}
12158
12159// SetBlocked sets the Blocked field's value.
12160func (s *PortProbeAction) SetBlocked(v bool) *PortProbeAction {
12161	s.Blocked = &v
12162	return s
12163}
12164
12165// SetPortProbeDetails sets the PortProbeDetails field's value.
12166func (s *PortProbeAction) SetPortProbeDetails(v []*PortProbeDetail) *PortProbeAction {
12167	s.PortProbeDetails = v
12168	return s
12169}
12170
12171// Contains information about the port probe details.
12172type PortProbeDetail struct {
12173	_ struct{} `type:"structure"`
12174
12175	// The local IP information of the connection.
12176	LocalIpDetails *LocalIpDetails `locationName:"localIpDetails" type:"structure"`
12177
12178	// The local port information of the connection.
12179	LocalPortDetails *LocalPortDetails `locationName:"localPortDetails" type:"structure"`
12180
12181	// The remote IP information of the connection.
12182	RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"`
12183}
12184
12185// String returns the string representation
12186func (s PortProbeDetail) String() string {
12187	return awsutil.Prettify(s)
12188}
12189
12190// GoString returns the string representation
12191func (s PortProbeDetail) GoString() string {
12192	return s.String()
12193}
12194
12195// SetLocalIpDetails sets the LocalIpDetails field's value.
12196func (s *PortProbeDetail) SetLocalIpDetails(v *LocalIpDetails) *PortProbeDetail {
12197	s.LocalIpDetails = v
12198	return s
12199}
12200
12201// SetLocalPortDetails sets the LocalPortDetails field's value.
12202func (s *PortProbeDetail) SetLocalPortDetails(v *LocalPortDetails) *PortProbeDetail {
12203	s.LocalPortDetails = v
12204	return s
12205}
12206
12207// SetRemoteIpDetails sets the RemoteIpDetails field's value.
12208func (s *PortProbeDetail) SetRemoteIpDetails(v *RemoteIpDetails) *PortProbeDetail {
12209	s.RemoteIpDetails = v
12210	return s
12211}
12212
12213// Contains other private IP address information of the EC2 instance.
12214type PrivateIpAddressDetails struct {
12215	_ struct{} `type:"structure"`
12216
12217	// The private DNS name of the EC2 instance.
12218	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
12219
12220	// The private IP address of the EC2 instance.
12221	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
12222}
12223
12224// String returns the string representation
12225func (s PrivateIpAddressDetails) String() string {
12226	return awsutil.Prettify(s)
12227}
12228
12229// GoString returns the string representation
12230func (s PrivateIpAddressDetails) GoString() string {
12231	return s.String()
12232}
12233
12234// SetPrivateDnsName sets the PrivateDnsName field's value.
12235func (s *PrivateIpAddressDetails) SetPrivateDnsName(v string) *PrivateIpAddressDetails {
12236	s.PrivateDnsName = &v
12237	return s
12238}
12239
12240// SetPrivateIpAddress sets the PrivateIpAddress field's value.
12241func (s *PrivateIpAddressDetails) SetPrivateIpAddress(v string) *PrivateIpAddressDetails {
12242	s.PrivateIpAddress = &v
12243	return s
12244}
12245
12246// Contains information about the product code for the EC2 instance.
12247type ProductCode struct {
12248	_ struct{} `type:"structure"`
12249
12250	// The product code information.
12251	Code *string `locationName:"code" type:"string"`
12252
12253	// The product code type.
12254	ProductType *string `locationName:"productType" type:"string"`
12255}
12256
12257// String returns the string representation
12258func (s ProductCode) String() string {
12259	return awsutil.Prettify(s)
12260}
12261
12262// GoString returns the string representation
12263func (s ProductCode) GoString() string {
12264	return s.String()
12265}
12266
12267// SetCode sets the Code field's value.
12268func (s *ProductCode) SetCode(v string) *ProductCode {
12269	s.Code = &v
12270	return s
12271}
12272
12273// SetProductType sets the ProductType field's value.
12274func (s *ProductCode) SetProductType(v string) *ProductCode {
12275	s.ProductType = &v
12276	return s
12277}
12278
12279// Describes the public access policies that apply to the S3 bucket.
12280type PublicAccess struct {
12281	_ struct{} `type:"structure"`
12282
12283	// Describes the effective permission on this bucket after factoring all attached
12284	// policies.
12285	EffectivePermission *string `locationName:"effectivePermission" type:"string"`
12286
12287	// Contains information about how permissions are configured for the S3 bucket.
12288	PermissionConfiguration *PermissionConfiguration `locationName:"permissionConfiguration" type:"structure"`
12289}
12290
12291// String returns the string representation
12292func (s PublicAccess) String() string {
12293	return awsutil.Prettify(s)
12294}
12295
12296// GoString returns the string representation
12297func (s PublicAccess) GoString() string {
12298	return s.String()
12299}
12300
12301// SetEffectivePermission sets the EffectivePermission field's value.
12302func (s *PublicAccess) SetEffectivePermission(v string) *PublicAccess {
12303	s.EffectivePermission = &v
12304	return s
12305}
12306
12307// SetPermissionConfiguration sets the PermissionConfiguration field's value.
12308func (s *PublicAccess) SetPermissionConfiguration(v *PermissionConfiguration) *PublicAccess {
12309	s.PermissionConfiguration = v
12310	return s
12311}
12312
12313// Contains information about the remote IP address of the connection.
12314type RemoteIpDetails struct {
12315	_ struct{} `type:"structure"`
12316
12317	// The city information of the remote IP address.
12318	City *City `locationName:"city" type:"structure"`
12319
12320	// The country code of the remote IP address.
12321	Country *Country `locationName:"country" type:"structure"`
12322
12323	// The location information of the remote IP address.
12324	GeoLocation *GeoLocation `locationName:"geoLocation" type:"structure"`
12325
12326	// The IPv4 remote address of the connection.
12327	IpAddressV4 *string `locationName:"ipAddressV4" type:"string"`
12328
12329	// The ISP organization information of the remote IP address.
12330	Organization *Organization `locationName:"organization" type:"structure"`
12331}
12332
12333// String returns the string representation
12334func (s RemoteIpDetails) String() string {
12335	return awsutil.Prettify(s)
12336}
12337
12338// GoString returns the string representation
12339func (s RemoteIpDetails) GoString() string {
12340	return s.String()
12341}
12342
12343// SetCity sets the City field's value.
12344func (s *RemoteIpDetails) SetCity(v *City) *RemoteIpDetails {
12345	s.City = v
12346	return s
12347}
12348
12349// SetCountry sets the Country field's value.
12350func (s *RemoteIpDetails) SetCountry(v *Country) *RemoteIpDetails {
12351	s.Country = v
12352	return s
12353}
12354
12355// SetGeoLocation sets the GeoLocation field's value.
12356func (s *RemoteIpDetails) SetGeoLocation(v *GeoLocation) *RemoteIpDetails {
12357	s.GeoLocation = v
12358	return s
12359}
12360
12361// SetIpAddressV4 sets the IpAddressV4 field's value.
12362func (s *RemoteIpDetails) SetIpAddressV4(v string) *RemoteIpDetails {
12363	s.IpAddressV4 = &v
12364	return s
12365}
12366
12367// SetOrganization sets the Organization field's value.
12368func (s *RemoteIpDetails) SetOrganization(v *Organization) *RemoteIpDetails {
12369	s.Organization = v
12370	return s
12371}
12372
12373// Contains information about the remote port.
12374type RemotePortDetails struct {
12375	_ struct{} `type:"structure"`
12376
12377	// The port number of the remote connection.
12378	Port *int64 `locationName:"port" type:"integer"`
12379
12380	// The port name of the remote connection.
12381	PortName *string `locationName:"portName" type:"string"`
12382}
12383
12384// String returns the string representation
12385func (s RemotePortDetails) String() string {
12386	return awsutil.Prettify(s)
12387}
12388
12389// GoString returns the string representation
12390func (s RemotePortDetails) GoString() string {
12391	return s.String()
12392}
12393
12394// SetPort sets the Port field's value.
12395func (s *RemotePortDetails) SetPort(v int64) *RemotePortDetails {
12396	s.Port = &v
12397	return s
12398}
12399
12400// SetPortName sets the PortName field's value.
12401func (s *RemotePortDetails) SetPortName(v string) *RemotePortDetails {
12402	s.PortName = &v
12403	return s
12404}
12405
12406// Contains information about the AWS resource associated with the activity
12407// that prompted GuardDuty to generate a finding.
12408type Resource struct {
12409	_ struct{} `type:"structure"`
12410
12411	// The IAM access key details (IAM user information) of a user that engaged
12412	// in the activity that prompted GuardDuty to generate a finding.
12413	AccessKeyDetails *AccessKeyDetails `locationName:"accessKeyDetails" type:"structure"`
12414
12415	// The information about the EC2 instance associated with the activity that
12416	// prompted GuardDuty to generate a finding.
12417	InstanceDetails *InstanceDetails `locationName:"instanceDetails" type:"structure"`
12418
12419	// The type of AWS resource.
12420	ResourceType *string `locationName:"resourceType" type:"string"`
12421
12422	// Contains information on the S3 bucket.
12423	S3BucketDetails []*S3BucketDetail `locationName:"s3BucketDetails" type:"list"`
12424}
12425
12426// String returns the string representation
12427func (s Resource) String() string {
12428	return awsutil.Prettify(s)
12429}
12430
12431// GoString returns the string representation
12432func (s Resource) GoString() string {
12433	return s.String()
12434}
12435
12436// SetAccessKeyDetails sets the AccessKeyDetails field's value.
12437func (s *Resource) SetAccessKeyDetails(v *AccessKeyDetails) *Resource {
12438	s.AccessKeyDetails = v
12439	return s
12440}
12441
12442// SetInstanceDetails sets the InstanceDetails field's value.
12443func (s *Resource) SetInstanceDetails(v *InstanceDetails) *Resource {
12444	s.InstanceDetails = v
12445	return s
12446}
12447
12448// SetResourceType sets the ResourceType field's value.
12449func (s *Resource) SetResourceType(v string) *Resource {
12450	s.ResourceType = &v
12451	return s
12452}
12453
12454// SetS3BucketDetails sets the S3BucketDetails field's value.
12455func (s *Resource) SetS3BucketDetails(v []*S3BucketDetail) *Resource {
12456	s.S3BucketDetails = v
12457	return s
12458}
12459
12460// Contains information on the S3 bucket.
12461type S3BucketDetail struct {
12462	_ struct{} `type:"structure"`
12463
12464	// The Amazon Resource Name (ARN) of the S3 bucket.
12465	Arn *string `locationName:"arn" type:"string"`
12466
12467	// The date and time the bucket was created at.
12468	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
12469
12470	// Describes the server side encryption method used in the S3 bucket.
12471	DefaultServerSideEncryption *DefaultServerSideEncryption `locationName:"defaultServerSideEncryption" type:"structure"`
12472
12473	// The name of the S3 bucket.
12474	Name *string `locationName:"name" type:"string"`
12475
12476	// The owner of the S3 bucket.
12477	Owner *Owner `locationName:"owner" type:"structure"`
12478
12479	// Describes the public access policies that apply to the S3 bucket.
12480	PublicAccess *PublicAccess `locationName:"publicAccess" type:"structure"`
12481
12482	// All tags attached to the S3 bucket
12483	Tags []*Tag `locationName:"tags" type:"list"`
12484
12485	// Describes whether the bucket is a source or destination bucket.
12486	Type *string `locationName:"type" type:"string"`
12487}
12488
12489// String returns the string representation
12490func (s S3BucketDetail) String() string {
12491	return awsutil.Prettify(s)
12492}
12493
12494// GoString returns the string representation
12495func (s S3BucketDetail) GoString() string {
12496	return s.String()
12497}
12498
12499// SetArn sets the Arn field's value.
12500func (s *S3BucketDetail) SetArn(v string) *S3BucketDetail {
12501	s.Arn = &v
12502	return s
12503}
12504
12505// SetCreatedAt sets the CreatedAt field's value.
12506func (s *S3BucketDetail) SetCreatedAt(v time.Time) *S3BucketDetail {
12507	s.CreatedAt = &v
12508	return s
12509}
12510
12511// SetDefaultServerSideEncryption sets the DefaultServerSideEncryption field's value.
12512func (s *S3BucketDetail) SetDefaultServerSideEncryption(v *DefaultServerSideEncryption) *S3BucketDetail {
12513	s.DefaultServerSideEncryption = v
12514	return s
12515}
12516
12517// SetName sets the Name field's value.
12518func (s *S3BucketDetail) SetName(v string) *S3BucketDetail {
12519	s.Name = &v
12520	return s
12521}
12522
12523// SetOwner sets the Owner field's value.
12524func (s *S3BucketDetail) SetOwner(v *Owner) *S3BucketDetail {
12525	s.Owner = v
12526	return s
12527}
12528
12529// SetPublicAccess sets the PublicAccess field's value.
12530func (s *S3BucketDetail) SetPublicAccess(v *PublicAccess) *S3BucketDetail {
12531	s.PublicAccess = v
12532	return s
12533}
12534
12535// SetTags sets the Tags field's value.
12536func (s *S3BucketDetail) SetTags(v []*Tag) *S3BucketDetail {
12537	s.Tags = v
12538	return s
12539}
12540
12541// SetType sets the Type field's value.
12542func (s *S3BucketDetail) SetType(v string) *S3BucketDetail {
12543	s.Type = &v
12544	return s
12545}
12546
12547// Describes whether S3 data event logs will be enabled as a data source.
12548type S3LogsConfiguration struct {
12549	_ struct{} `type:"structure"`
12550
12551	// The status of S3 data event logs as a data source.
12552	//
12553	// Enable is a required field
12554	Enable *bool `locationName:"enable" type:"boolean" required:"true"`
12555}
12556
12557// String returns the string representation
12558func (s S3LogsConfiguration) String() string {
12559	return awsutil.Prettify(s)
12560}
12561
12562// GoString returns the string representation
12563func (s S3LogsConfiguration) GoString() string {
12564	return s.String()
12565}
12566
12567// Validate inspects the fields of the type to determine if they are valid.
12568func (s *S3LogsConfiguration) Validate() error {
12569	invalidParams := request.ErrInvalidParams{Context: "S3LogsConfiguration"}
12570	if s.Enable == nil {
12571		invalidParams.Add(request.NewErrParamRequired("Enable"))
12572	}
12573
12574	if invalidParams.Len() > 0 {
12575		return invalidParams
12576	}
12577	return nil
12578}
12579
12580// SetEnable sets the Enable field's value.
12581func (s *S3LogsConfiguration) SetEnable(v bool) *S3LogsConfiguration {
12582	s.Enable = &v
12583	return s
12584}
12585
12586// Describes whether S3 data event logs will be enabled as a data source.
12587type S3LogsConfigurationResult struct {
12588	_ struct{} `type:"structure"`
12589
12590	// A value that describes whether S3 data event logs are automatically enabled
12591	// for new members of the organization.
12592	//
12593	// Status is a required field
12594	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"`
12595}
12596
12597// String returns the string representation
12598func (s S3LogsConfigurationResult) String() string {
12599	return awsutil.Prettify(s)
12600}
12601
12602// GoString returns the string representation
12603func (s S3LogsConfigurationResult) GoString() string {
12604	return s.String()
12605}
12606
12607// SetStatus sets the Status field's value.
12608func (s *S3LogsConfigurationResult) SetStatus(v string) *S3LogsConfigurationResult {
12609	s.Status = &v
12610	return s
12611}
12612
12613// Contains information about the security groups associated with the EC2 instance.
12614type SecurityGroup struct {
12615	_ struct{} `type:"structure"`
12616
12617	// The security group ID of the EC2 instance.
12618	GroupId *string `locationName:"groupId" type:"string"`
12619
12620	// The security group name of the EC2 instance.
12621	GroupName *string `locationName:"groupName" type:"string"`
12622}
12623
12624// String returns the string representation
12625func (s SecurityGroup) String() string {
12626	return awsutil.Prettify(s)
12627}
12628
12629// GoString returns the string representation
12630func (s SecurityGroup) GoString() string {
12631	return s.String()
12632}
12633
12634// SetGroupId sets the GroupId field's value.
12635func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
12636	s.GroupId = &v
12637	return s
12638}
12639
12640// SetGroupName sets the GroupName field's value.
12641func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
12642	s.GroupName = &v
12643	return s
12644}
12645
12646// Contains additional information about the generated finding.
12647type Service struct {
12648	_ struct{} `type:"structure"`
12649
12650	// Information about the activity that is described in a finding.
12651	Action *Action `locationName:"action" type:"structure"`
12652
12653	// Indicates whether this finding is archived.
12654	Archived *bool `locationName:"archived" type:"boolean"`
12655
12656	// The total count of the occurrences of this finding type.
12657	Count *int64 `locationName:"count" type:"integer"`
12658
12659	// The detector ID for the GuardDuty service.
12660	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
12661
12662	// The first-seen timestamp of the activity that prompted GuardDuty to generate
12663	// this finding.
12664	EventFirstSeen *string `locationName:"eventFirstSeen" type:"string"`
12665
12666	// The last-seen timestamp of the activity that prompted GuardDuty to generate
12667	// this finding.
12668	EventLastSeen *string `locationName:"eventLastSeen" type:"string"`
12669
12670	// An evidence object associated with the service.
12671	Evidence *Evidence `locationName:"evidence" type:"structure"`
12672
12673	// The resource role information for this finding.
12674	ResourceRole *string `locationName:"resourceRole" type:"string"`
12675
12676	// The name of the AWS service (GuardDuty) that generated a finding.
12677	ServiceName *string `locationName:"serviceName" type:"string"`
12678
12679	// Feedback that was submitted about the finding.
12680	UserFeedback *string `locationName:"userFeedback" type:"string"`
12681}
12682
12683// String returns the string representation
12684func (s Service) String() string {
12685	return awsutil.Prettify(s)
12686}
12687
12688// GoString returns the string representation
12689func (s Service) GoString() string {
12690	return s.String()
12691}
12692
12693// SetAction sets the Action field's value.
12694func (s *Service) SetAction(v *Action) *Service {
12695	s.Action = v
12696	return s
12697}
12698
12699// SetArchived sets the Archived field's value.
12700func (s *Service) SetArchived(v bool) *Service {
12701	s.Archived = &v
12702	return s
12703}
12704
12705// SetCount sets the Count field's value.
12706func (s *Service) SetCount(v int64) *Service {
12707	s.Count = &v
12708	return s
12709}
12710
12711// SetDetectorId sets the DetectorId field's value.
12712func (s *Service) SetDetectorId(v string) *Service {
12713	s.DetectorId = &v
12714	return s
12715}
12716
12717// SetEventFirstSeen sets the EventFirstSeen field's value.
12718func (s *Service) SetEventFirstSeen(v string) *Service {
12719	s.EventFirstSeen = &v
12720	return s
12721}
12722
12723// SetEventLastSeen sets the EventLastSeen field's value.
12724func (s *Service) SetEventLastSeen(v string) *Service {
12725	s.EventLastSeen = &v
12726	return s
12727}
12728
12729// SetEvidence sets the Evidence field's value.
12730func (s *Service) SetEvidence(v *Evidence) *Service {
12731	s.Evidence = v
12732	return s
12733}
12734
12735// SetResourceRole sets the ResourceRole field's value.
12736func (s *Service) SetResourceRole(v string) *Service {
12737	s.ResourceRole = &v
12738	return s
12739}
12740
12741// SetServiceName sets the ServiceName field's value.
12742func (s *Service) SetServiceName(v string) *Service {
12743	s.ServiceName = &v
12744	return s
12745}
12746
12747// SetUserFeedback sets the UserFeedback field's value.
12748func (s *Service) SetUserFeedback(v string) *Service {
12749	s.UserFeedback = &v
12750	return s
12751}
12752
12753// Contains information about the criteria used for sorting findings.
12754type SortCriteria struct {
12755	_ struct{} `type:"structure"`
12756
12757	// Represents the finding attribute (for example, accountId) to sort findings
12758	// by.
12759	AttributeName *string `locationName:"attributeName" type:"string"`
12760
12761	// The order by which the sorted findings are to be displayed.
12762	OrderBy *string `locationName:"orderBy" type:"string" enum:"OrderBy"`
12763}
12764
12765// String returns the string representation
12766func (s SortCriteria) String() string {
12767	return awsutil.Prettify(s)
12768}
12769
12770// GoString returns the string representation
12771func (s SortCriteria) GoString() string {
12772	return s.String()
12773}
12774
12775// SetAttributeName sets the AttributeName field's value.
12776func (s *SortCriteria) SetAttributeName(v string) *SortCriteria {
12777	s.AttributeName = &v
12778	return s
12779}
12780
12781// SetOrderBy sets the OrderBy field's value.
12782func (s *SortCriteria) SetOrderBy(v string) *SortCriteria {
12783	s.OrderBy = &v
12784	return s
12785}
12786
12787type StartMonitoringMembersInput struct {
12788	_ struct{} `type:"structure"`
12789
12790	// A list of account IDs of the GuardDuty member accounts to start monitoring.
12791	//
12792	// AccountIds is a required field
12793	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
12794
12795	// The unique ID of the detector of the GuardDuty administrator account associated
12796	// with the member accounts to monitor.
12797	//
12798	// DetectorId is a required field
12799	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
12800}
12801
12802// String returns the string representation
12803func (s StartMonitoringMembersInput) String() string {
12804	return awsutil.Prettify(s)
12805}
12806
12807// GoString returns the string representation
12808func (s StartMonitoringMembersInput) GoString() string {
12809	return s.String()
12810}
12811
12812// Validate inspects the fields of the type to determine if they are valid.
12813func (s *StartMonitoringMembersInput) Validate() error {
12814	invalidParams := request.ErrInvalidParams{Context: "StartMonitoringMembersInput"}
12815	if s.AccountIds == nil {
12816		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
12817	}
12818	if s.AccountIds != nil && len(s.AccountIds) < 1 {
12819		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
12820	}
12821	if s.DetectorId == nil {
12822		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
12823	}
12824	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
12825		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
12826	}
12827
12828	if invalidParams.Len() > 0 {
12829		return invalidParams
12830	}
12831	return nil
12832}
12833
12834// SetAccountIds sets the AccountIds field's value.
12835func (s *StartMonitoringMembersInput) SetAccountIds(v []*string) *StartMonitoringMembersInput {
12836	s.AccountIds = v
12837	return s
12838}
12839
12840// SetDetectorId sets the DetectorId field's value.
12841func (s *StartMonitoringMembersInput) SetDetectorId(v string) *StartMonitoringMembersInput {
12842	s.DetectorId = &v
12843	return s
12844}
12845
12846type StartMonitoringMembersOutput struct {
12847	_ struct{} `type:"structure"`
12848
12849	// A list of objects that contain the unprocessed account and a result string
12850	// that explains why it was unprocessed.
12851	//
12852	// UnprocessedAccounts is a required field
12853	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
12854}
12855
12856// String returns the string representation
12857func (s StartMonitoringMembersOutput) String() string {
12858	return awsutil.Prettify(s)
12859}
12860
12861// GoString returns the string representation
12862func (s StartMonitoringMembersOutput) GoString() string {
12863	return s.String()
12864}
12865
12866// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
12867func (s *StartMonitoringMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *StartMonitoringMembersOutput {
12868	s.UnprocessedAccounts = v
12869	return s
12870}
12871
12872type StopMonitoringMembersInput struct {
12873	_ struct{} `type:"structure"`
12874
12875	// A list of account IDs for the member accounts to stop monitoring.
12876	//
12877	// AccountIds is a required field
12878	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
12879
12880	// The unique ID of the detector associated with the GuardDuty administrator
12881	// account that is monitoring member accounts.
12882	//
12883	// DetectorId is a required field
12884	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
12885}
12886
12887// String returns the string representation
12888func (s StopMonitoringMembersInput) String() string {
12889	return awsutil.Prettify(s)
12890}
12891
12892// GoString returns the string representation
12893func (s StopMonitoringMembersInput) GoString() string {
12894	return s.String()
12895}
12896
12897// Validate inspects the fields of the type to determine if they are valid.
12898func (s *StopMonitoringMembersInput) Validate() error {
12899	invalidParams := request.ErrInvalidParams{Context: "StopMonitoringMembersInput"}
12900	if s.AccountIds == nil {
12901		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
12902	}
12903	if s.AccountIds != nil && len(s.AccountIds) < 1 {
12904		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
12905	}
12906	if s.DetectorId == nil {
12907		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
12908	}
12909	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
12910		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
12911	}
12912
12913	if invalidParams.Len() > 0 {
12914		return invalidParams
12915	}
12916	return nil
12917}
12918
12919// SetAccountIds sets the AccountIds field's value.
12920func (s *StopMonitoringMembersInput) SetAccountIds(v []*string) *StopMonitoringMembersInput {
12921	s.AccountIds = v
12922	return s
12923}
12924
12925// SetDetectorId sets the DetectorId field's value.
12926func (s *StopMonitoringMembersInput) SetDetectorId(v string) *StopMonitoringMembersInput {
12927	s.DetectorId = &v
12928	return s
12929}
12930
12931type StopMonitoringMembersOutput struct {
12932	_ struct{} `type:"structure"`
12933
12934	// A list of objects that contain an accountId for each account that could not
12935	// be processed, and a result string that indicates why the account was not
12936	// processed.
12937	//
12938	// UnprocessedAccounts is a required field
12939	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
12940}
12941
12942// String returns the string representation
12943func (s StopMonitoringMembersOutput) String() string {
12944	return awsutil.Prettify(s)
12945}
12946
12947// GoString returns the string representation
12948func (s StopMonitoringMembersOutput) GoString() string {
12949	return s.String()
12950}
12951
12952// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
12953func (s *StopMonitoringMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *StopMonitoringMembersOutput {
12954	s.UnprocessedAccounts = v
12955	return s
12956}
12957
12958// Contains information about a tag associated with the EC2 instance.
12959type Tag struct {
12960	_ struct{} `type:"structure"`
12961
12962	// The EC2 instance tag key.
12963	Key *string `locationName:"key" type:"string"`
12964
12965	// The EC2 instance tag value.
12966	Value *string `locationName:"value" type:"string"`
12967}
12968
12969// String returns the string representation
12970func (s Tag) String() string {
12971	return awsutil.Prettify(s)
12972}
12973
12974// GoString returns the string representation
12975func (s Tag) GoString() string {
12976	return s.String()
12977}
12978
12979// SetKey sets the Key field's value.
12980func (s *Tag) SetKey(v string) *Tag {
12981	s.Key = &v
12982	return s
12983}
12984
12985// SetValue sets the Value field's value.
12986func (s *Tag) SetValue(v string) *Tag {
12987	s.Value = &v
12988	return s
12989}
12990
12991type TagResourceInput struct {
12992	_ struct{} `type:"structure"`
12993
12994	// The Amazon Resource Name (ARN) for the GuardDuty resource to apply a tag
12995	// to.
12996	//
12997	// ResourceArn is a required field
12998	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
12999
13000	// The tags to be added to a resource.
13001	//
13002	// Tags is a required field
13003	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
13004}
13005
13006// String returns the string representation
13007func (s TagResourceInput) String() string {
13008	return awsutil.Prettify(s)
13009}
13010
13011// GoString returns the string representation
13012func (s TagResourceInput) GoString() string {
13013	return s.String()
13014}
13015
13016// Validate inspects the fields of the type to determine if they are valid.
13017func (s *TagResourceInput) Validate() error {
13018	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
13019	if s.ResourceArn == nil {
13020		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
13021	}
13022	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
13023		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
13024	}
13025	if s.Tags == nil {
13026		invalidParams.Add(request.NewErrParamRequired("Tags"))
13027	}
13028	if s.Tags != nil && len(s.Tags) < 1 {
13029		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
13030	}
13031
13032	if invalidParams.Len() > 0 {
13033		return invalidParams
13034	}
13035	return nil
13036}
13037
13038// SetResourceArn sets the ResourceArn field's value.
13039func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
13040	s.ResourceArn = &v
13041	return s
13042}
13043
13044// SetTags sets the Tags field's value.
13045func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
13046	s.Tags = v
13047	return s
13048}
13049
13050type TagResourceOutput struct {
13051	_ struct{} `type:"structure"`
13052}
13053
13054// String returns the string representation
13055func (s TagResourceOutput) String() string {
13056	return awsutil.Prettify(s)
13057}
13058
13059// GoString returns the string representation
13060func (s TagResourceOutput) GoString() string {
13061	return s.String()
13062}
13063
13064// An instance of a threat intelligence detail that constitutes evidence for
13065// the finding.
13066type ThreatIntelligenceDetail struct {
13067	_ struct{} `type:"structure"`
13068
13069	// The name of the threat intelligence list that triggered the finding.
13070	ThreatListName *string `locationName:"threatListName" type:"string"`
13071
13072	// A list of names of the threats in the threat intelligence list that triggered
13073	// the finding.
13074	ThreatNames []*string `locationName:"threatNames" type:"list"`
13075}
13076
13077// String returns the string representation
13078func (s ThreatIntelligenceDetail) String() string {
13079	return awsutil.Prettify(s)
13080}
13081
13082// GoString returns the string representation
13083func (s ThreatIntelligenceDetail) GoString() string {
13084	return s.String()
13085}
13086
13087// SetThreatListName sets the ThreatListName field's value.
13088func (s *ThreatIntelligenceDetail) SetThreatListName(v string) *ThreatIntelligenceDetail {
13089	s.ThreatListName = &v
13090	return s
13091}
13092
13093// SetThreatNames sets the ThreatNames field's value.
13094func (s *ThreatIntelligenceDetail) SetThreatNames(v []*string) *ThreatIntelligenceDetail {
13095	s.ThreatNames = v
13096	return s
13097}
13098
13099// Contains the total usage with the corresponding currency unit for that value.
13100type Total struct {
13101	_ struct{} `type:"structure"`
13102
13103	// The total usage.
13104	Amount *string `locationName:"amount" type:"string"`
13105
13106	// The currency unit that the amount is given in.
13107	Unit *string `locationName:"unit" type:"string"`
13108}
13109
13110// String returns the string representation
13111func (s Total) String() string {
13112	return awsutil.Prettify(s)
13113}
13114
13115// GoString returns the string representation
13116func (s Total) GoString() string {
13117	return s.String()
13118}
13119
13120// SetAmount sets the Amount field's value.
13121func (s *Total) SetAmount(v string) *Total {
13122	s.Amount = &v
13123	return s
13124}
13125
13126// SetUnit sets the Unit field's value.
13127func (s *Total) SetUnit(v string) *Total {
13128	s.Unit = &v
13129	return s
13130}
13131
13132type UnarchiveFindingsInput struct {
13133	_ struct{} `type:"structure"`
13134
13135	// The ID of the detector associated with the findings to unarchive.
13136	//
13137	// DetectorId is a required field
13138	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
13139
13140	// The IDs of the findings to unarchive.
13141	//
13142	// FindingIds is a required field
13143	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
13144}
13145
13146// String returns the string representation
13147func (s UnarchiveFindingsInput) String() string {
13148	return awsutil.Prettify(s)
13149}
13150
13151// GoString returns the string representation
13152func (s UnarchiveFindingsInput) GoString() string {
13153	return s.String()
13154}
13155
13156// Validate inspects the fields of the type to determine if they are valid.
13157func (s *UnarchiveFindingsInput) Validate() error {
13158	invalidParams := request.ErrInvalidParams{Context: "UnarchiveFindingsInput"}
13159	if s.DetectorId == nil {
13160		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
13161	}
13162	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
13163		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
13164	}
13165	if s.FindingIds == nil {
13166		invalidParams.Add(request.NewErrParamRequired("FindingIds"))
13167	}
13168
13169	if invalidParams.Len() > 0 {
13170		return invalidParams
13171	}
13172	return nil
13173}
13174
13175// SetDetectorId sets the DetectorId field's value.
13176func (s *UnarchiveFindingsInput) SetDetectorId(v string) *UnarchiveFindingsInput {
13177	s.DetectorId = &v
13178	return s
13179}
13180
13181// SetFindingIds sets the FindingIds field's value.
13182func (s *UnarchiveFindingsInput) SetFindingIds(v []*string) *UnarchiveFindingsInput {
13183	s.FindingIds = v
13184	return s
13185}
13186
13187type UnarchiveFindingsOutput struct {
13188	_ struct{} `type:"structure"`
13189}
13190
13191// String returns the string representation
13192func (s UnarchiveFindingsOutput) String() string {
13193	return awsutil.Prettify(s)
13194}
13195
13196// GoString returns the string representation
13197func (s UnarchiveFindingsOutput) GoString() string {
13198	return s.String()
13199}
13200
13201// Contains information about the accounts that weren't processed.
13202type UnprocessedAccount struct {
13203	_ struct{} `type:"structure"`
13204
13205	// The AWS account ID.
13206	//
13207	// AccountId is a required field
13208	AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"`
13209
13210	// A reason why the account hasn't been processed.
13211	//
13212	// Result is a required field
13213	Result *string `locationName:"result" type:"string" required:"true"`
13214}
13215
13216// String returns the string representation
13217func (s UnprocessedAccount) String() string {
13218	return awsutil.Prettify(s)
13219}
13220
13221// GoString returns the string representation
13222func (s UnprocessedAccount) GoString() string {
13223	return s.String()
13224}
13225
13226// SetAccountId sets the AccountId field's value.
13227func (s *UnprocessedAccount) SetAccountId(v string) *UnprocessedAccount {
13228	s.AccountId = &v
13229	return s
13230}
13231
13232// SetResult sets the Result field's value.
13233func (s *UnprocessedAccount) SetResult(v string) *UnprocessedAccount {
13234	s.Result = &v
13235	return s
13236}
13237
13238type UntagResourceInput struct {
13239	_ struct{} `type:"structure"`
13240
13241	// The Amazon Resource Name (ARN) for the resource to remove tags from.
13242	//
13243	// ResourceArn is a required field
13244	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
13245
13246	// The tag keys to remove from the resource.
13247	//
13248	// TagKeys is a required field
13249	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
13250}
13251
13252// String returns the string representation
13253func (s UntagResourceInput) String() string {
13254	return awsutil.Prettify(s)
13255}
13256
13257// GoString returns the string representation
13258func (s UntagResourceInput) GoString() string {
13259	return s.String()
13260}
13261
13262// Validate inspects the fields of the type to determine if they are valid.
13263func (s *UntagResourceInput) Validate() error {
13264	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
13265	if s.ResourceArn == nil {
13266		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
13267	}
13268	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
13269		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
13270	}
13271	if s.TagKeys == nil {
13272		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
13273	}
13274	if s.TagKeys != nil && len(s.TagKeys) < 1 {
13275		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
13276	}
13277
13278	if invalidParams.Len() > 0 {
13279		return invalidParams
13280	}
13281	return nil
13282}
13283
13284// SetResourceArn sets the ResourceArn field's value.
13285func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
13286	s.ResourceArn = &v
13287	return s
13288}
13289
13290// SetTagKeys sets the TagKeys field's value.
13291func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
13292	s.TagKeys = v
13293	return s
13294}
13295
13296type UntagResourceOutput struct {
13297	_ struct{} `type:"structure"`
13298}
13299
13300// String returns the string representation
13301func (s UntagResourceOutput) String() string {
13302	return awsutil.Prettify(s)
13303}
13304
13305// GoString returns the string representation
13306func (s UntagResourceOutput) GoString() string {
13307	return s.String()
13308}
13309
13310type UpdateDetectorInput struct {
13311	_ struct{} `type:"structure"`
13312
13313	// Describes which data sources will be updated.
13314	DataSources *DataSourceConfigurations `locationName:"dataSources" type:"structure"`
13315
13316	// The unique ID of the detector to update.
13317	//
13318	// DetectorId is a required field
13319	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
13320
13321	// Specifies whether the detector is enabled or not enabled.
13322	Enable *bool `locationName:"enable" type:"boolean"`
13323
13324	// An enum value that specifies how frequently findings are exported, such as
13325	// to CloudWatch Events.
13326	FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"`
13327}
13328
13329// String returns the string representation
13330func (s UpdateDetectorInput) String() string {
13331	return awsutil.Prettify(s)
13332}
13333
13334// GoString returns the string representation
13335func (s UpdateDetectorInput) GoString() string {
13336	return s.String()
13337}
13338
13339// Validate inspects the fields of the type to determine if they are valid.
13340func (s *UpdateDetectorInput) Validate() error {
13341	invalidParams := request.ErrInvalidParams{Context: "UpdateDetectorInput"}
13342	if s.DetectorId == nil {
13343		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
13344	}
13345	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
13346		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
13347	}
13348	if s.DataSources != nil {
13349		if err := s.DataSources.Validate(); err != nil {
13350			invalidParams.AddNested("DataSources", err.(request.ErrInvalidParams))
13351		}
13352	}
13353
13354	if invalidParams.Len() > 0 {
13355		return invalidParams
13356	}
13357	return nil
13358}
13359
13360// SetDataSources sets the DataSources field's value.
13361func (s *UpdateDetectorInput) SetDataSources(v *DataSourceConfigurations) *UpdateDetectorInput {
13362	s.DataSources = v
13363	return s
13364}
13365
13366// SetDetectorId sets the DetectorId field's value.
13367func (s *UpdateDetectorInput) SetDetectorId(v string) *UpdateDetectorInput {
13368	s.DetectorId = &v
13369	return s
13370}
13371
13372// SetEnable sets the Enable field's value.
13373func (s *UpdateDetectorInput) SetEnable(v bool) *UpdateDetectorInput {
13374	s.Enable = &v
13375	return s
13376}
13377
13378// SetFindingPublishingFrequency sets the FindingPublishingFrequency field's value.
13379func (s *UpdateDetectorInput) SetFindingPublishingFrequency(v string) *UpdateDetectorInput {
13380	s.FindingPublishingFrequency = &v
13381	return s
13382}
13383
13384type UpdateDetectorOutput struct {
13385	_ struct{} `type:"structure"`
13386}
13387
13388// String returns the string representation
13389func (s UpdateDetectorOutput) String() string {
13390	return awsutil.Prettify(s)
13391}
13392
13393// GoString returns the string representation
13394func (s UpdateDetectorOutput) GoString() string {
13395	return s.String()
13396}
13397
13398type UpdateFilterInput struct {
13399	_ struct{} `type:"structure"`
13400
13401	// Specifies the action that is to be applied to the findings that match the
13402	// filter.
13403	Action *string `locationName:"action" min:"1" type:"string" enum:"FilterAction"`
13404
13405	// The description of the filter.
13406	Description *string `locationName:"description" type:"string"`
13407
13408	// The unique ID of the detector that specifies the GuardDuty service where
13409	// you want to update a filter.
13410	//
13411	// DetectorId is a required field
13412	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
13413
13414	// The name of the filter.
13415	//
13416	// FilterName is a required field
13417	FilterName *string `location:"uri" locationName:"filterName" type:"string" required:"true"`
13418
13419	// Represents the criteria to be used in the filter for querying findings.
13420	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"`
13421
13422	// Specifies the position of the filter in the list of current filters. Also
13423	// specifies the order in which this filter is applied to the findings.
13424	Rank *int64 `locationName:"rank" min:"1" type:"integer"`
13425}
13426
13427// String returns the string representation
13428func (s UpdateFilterInput) String() string {
13429	return awsutil.Prettify(s)
13430}
13431
13432// GoString returns the string representation
13433func (s UpdateFilterInput) GoString() string {
13434	return s.String()
13435}
13436
13437// Validate inspects the fields of the type to determine if they are valid.
13438func (s *UpdateFilterInput) Validate() error {
13439	invalidParams := request.ErrInvalidParams{Context: "UpdateFilterInput"}
13440	if s.Action != nil && len(*s.Action) < 1 {
13441		invalidParams.Add(request.NewErrParamMinLen("Action", 1))
13442	}
13443	if s.DetectorId == nil {
13444		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
13445	}
13446	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
13447		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
13448	}
13449	if s.FilterName == nil {
13450		invalidParams.Add(request.NewErrParamRequired("FilterName"))
13451	}
13452	if s.FilterName != nil && len(*s.FilterName) < 1 {
13453		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
13454	}
13455	if s.Rank != nil && *s.Rank < 1 {
13456		invalidParams.Add(request.NewErrParamMinValue("Rank", 1))
13457	}
13458
13459	if invalidParams.Len() > 0 {
13460		return invalidParams
13461	}
13462	return nil
13463}
13464
13465// SetAction sets the Action field's value.
13466func (s *UpdateFilterInput) SetAction(v string) *UpdateFilterInput {
13467	s.Action = &v
13468	return s
13469}
13470
13471// SetDescription sets the Description field's value.
13472func (s *UpdateFilterInput) SetDescription(v string) *UpdateFilterInput {
13473	s.Description = &v
13474	return s
13475}
13476
13477// SetDetectorId sets the DetectorId field's value.
13478func (s *UpdateFilterInput) SetDetectorId(v string) *UpdateFilterInput {
13479	s.DetectorId = &v
13480	return s
13481}
13482
13483// SetFilterName sets the FilterName field's value.
13484func (s *UpdateFilterInput) SetFilterName(v string) *UpdateFilterInput {
13485	s.FilterName = &v
13486	return s
13487}
13488
13489// SetFindingCriteria sets the FindingCriteria field's value.
13490func (s *UpdateFilterInput) SetFindingCriteria(v *FindingCriteria) *UpdateFilterInput {
13491	s.FindingCriteria = v
13492	return s
13493}
13494
13495// SetRank sets the Rank field's value.
13496func (s *UpdateFilterInput) SetRank(v int64) *UpdateFilterInput {
13497	s.Rank = &v
13498	return s
13499}
13500
13501type UpdateFilterOutput struct {
13502	_ struct{} `type:"structure"`
13503
13504	// The name of the filter.
13505	//
13506	// Name is a required field
13507	Name *string `locationName:"name" min:"3" type:"string" required:"true"`
13508}
13509
13510// String returns the string representation
13511func (s UpdateFilterOutput) String() string {
13512	return awsutil.Prettify(s)
13513}
13514
13515// GoString returns the string representation
13516func (s UpdateFilterOutput) GoString() string {
13517	return s.String()
13518}
13519
13520// SetName sets the Name field's value.
13521func (s *UpdateFilterOutput) SetName(v string) *UpdateFilterOutput {
13522	s.Name = &v
13523	return s
13524}
13525
13526type UpdateFindingsFeedbackInput struct {
13527	_ struct{} `type:"structure"`
13528
13529	// Additional feedback about the GuardDuty findings.
13530	Comments *string `locationName:"comments" type:"string"`
13531
13532	// The ID of the detector associated with the findings to update feedback for.
13533	//
13534	// DetectorId is a required field
13535	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
13536
13537	// The feedback for the finding.
13538	//
13539	// Feedback is a required field
13540	Feedback *string `locationName:"feedback" type:"string" required:"true" enum:"Feedback"`
13541
13542	// The IDs of the findings that you want to mark as useful or not useful.
13543	//
13544	// FindingIds is a required field
13545	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
13546}
13547
13548// String returns the string representation
13549func (s UpdateFindingsFeedbackInput) String() string {
13550	return awsutil.Prettify(s)
13551}
13552
13553// GoString returns the string representation
13554func (s UpdateFindingsFeedbackInput) GoString() string {
13555	return s.String()
13556}
13557
13558// Validate inspects the fields of the type to determine if they are valid.
13559func (s *UpdateFindingsFeedbackInput) Validate() error {
13560	invalidParams := request.ErrInvalidParams{Context: "UpdateFindingsFeedbackInput"}
13561	if s.DetectorId == nil {
13562		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
13563	}
13564	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
13565		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
13566	}
13567	if s.Feedback == nil {
13568		invalidParams.Add(request.NewErrParamRequired("Feedback"))
13569	}
13570	if s.FindingIds == nil {
13571		invalidParams.Add(request.NewErrParamRequired("FindingIds"))
13572	}
13573
13574	if invalidParams.Len() > 0 {
13575		return invalidParams
13576	}
13577	return nil
13578}
13579
13580// SetComments sets the Comments field's value.
13581func (s *UpdateFindingsFeedbackInput) SetComments(v string) *UpdateFindingsFeedbackInput {
13582	s.Comments = &v
13583	return s
13584}
13585
13586// SetDetectorId sets the DetectorId field's value.
13587func (s *UpdateFindingsFeedbackInput) SetDetectorId(v string) *UpdateFindingsFeedbackInput {
13588	s.DetectorId = &v
13589	return s
13590}
13591
13592// SetFeedback sets the Feedback field's value.
13593func (s *UpdateFindingsFeedbackInput) SetFeedback(v string) *UpdateFindingsFeedbackInput {
13594	s.Feedback = &v
13595	return s
13596}
13597
13598// SetFindingIds sets the FindingIds field's value.
13599func (s *UpdateFindingsFeedbackInput) SetFindingIds(v []*string) *UpdateFindingsFeedbackInput {
13600	s.FindingIds = v
13601	return s
13602}
13603
13604type UpdateFindingsFeedbackOutput struct {
13605	_ struct{} `type:"structure"`
13606}
13607
13608// String returns the string representation
13609func (s UpdateFindingsFeedbackOutput) String() string {
13610	return awsutil.Prettify(s)
13611}
13612
13613// GoString returns the string representation
13614func (s UpdateFindingsFeedbackOutput) GoString() string {
13615	return s.String()
13616}
13617
13618type UpdateIPSetInput struct {
13619	_ struct{} `type:"structure"`
13620
13621	// The updated Boolean value that specifies whether the IPSet is active or not.
13622	Activate *bool `locationName:"activate" type:"boolean"`
13623
13624	// The detectorID that specifies the GuardDuty service whose IPSet you want
13625	// to update.
13626	//
13627	// DetectorId is a required field
13628	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
13629
13630	// The unique ID that specifies the IPSet that you want to update.
13631	//
13632	// IpSetId is a required field
13633	IpSetId *string `location:"uri" locationName:"ipSetId" type:"string" required:"true"`
13634
13635	// The updated URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
13636	Location *string `locationName:"location" min:"1" type:"string"`
13637
13638	// The unique ID that specifies the IPSet that you want to update.
13639	Name *string `locationName:"name" min:"1" type:"string"`
13640}
13641
13642// String returns the string representation
13643func (s UpdateIPSetInput) String() string {
13644	return awsutil.Prettify(s)
13645}
13646
13647// GoString returns the string representation
13648func (s UpdateIPSetInput) GoString() string {
13649	return s.String()
13650}
13651
13652// Validate inspects the fields of the type to determine if they are valid.
13653func (s *UpdateIPSetInput) Validate() error {
13654	invalidParams := request.ErrInvalidParams{Context: "UpdateIPSetInput"}
13655	if s.DetectorId == nil {
13656		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
13657	}
13658	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
13659		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
13660	}
13661	if s.IpSetId == nil {
13662		invalidParams.Add(request.NewErrParamRequired("IpSetId"))
13663	}
13664	if s.IpSetId != nil && len(*s.IpSetId) < 1 {
13665		invalidParams.Add(request.NewErrParamMinLen("IpSetId", 1))
13666	}
13667	if s.Location != nil && len(*s.Location) < 1 {
13668		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
13669	}
13670	if s.Name != nil && len(*s.Name) < 1 {
13671		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
13672	}
13673
13674	if invalidParams.Len() > 0 {
13675		return invalidParams
13676	}
13677	return nil
13678}
13679
13680// SetActivate sets the Activate field's value.
13681func (s *UpdateIPSetInput) SetActivate(v bool) *UpdateIPSetInput {
13682	s.Activate = &v
13683	return s
13684}
13685
13686// SetDetectorId sets the DetectorId field's value.
13687func (s *UpdateIPSetInput) SetDetectorId(v string) *UpdateIPSetInput {
13688	s.DetectorId = &v
13689	return s
13690}
13691
13692// SetIpSetId sets the IpSetId field's value.
13693func (s *UpdateIPSetInput) SetIpSetId(v string) *UpdateIPSetInput {
13694	s.IpSetId = &v
13695	return s
13696}
13697
13698// SetLocation sets the Location field's value.
13699func (s *UpdateIPSetInput) SetLocation(v string) *UpdateIPSetInput {
13700	s.Location = &v
13701	return s
13702}
13703
13704// SetName sets the Name field's value.
13705func (s *UpdateIPSetInput) SetName(v string) *UpdateIPSetInput {
13706	s.Name = &v
13707	return s
13708}
13709
13710type UpdateIPSetOutput struct {
13711	_ struct{} `type:"structure"`
13712}
13713
13714// String returns the string representation
13715func (s UpdateIPSetOutput) String() string {
13716	return awsutil.Prettify(s)
13717}
13718
13719// GoString returns the string representation
13720func (s UpdateIPSetOutput) GoString() string {
13721	return s.String()
13722}
13723
13724type UpdateMemberDetectorsInput struct {
13725	_ struct{} `type:"structure"`
13726
13727	// A list of member account IDs to be updated.
13728	//
13729	// AccountIds is a required field
13730	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
13731
13732	// Describes which data sources will be updated.
13733	DataSources *DataSourceConfigurations `locationName:"dataSources" type:"structure"`
13734
13735	// The detector ID of the administrator account.
13736	//
13737	// DetectorId is a required field
13738	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
13739}
13740
13741// String returns the string representation
13742func (s UpdateMemberDetectorsInput) String() string {
13743	return awsutil.Prettify(s)
13744}
13745
13746// GoString returns the string representation
13747func (s UpdateMemberDetectorsInput) GoString() string {
13748	return s.String()
13749}
13750
13751// Validate inspects the fields of the type to determine if they are valid.
13752func (s *UpdateMemberDetectorsInput) Validate() error {
13753	invalidParams := request.ErrInvalidParams{Context: "UpdateMemberDetectorsInput"}
13754	if s.AccountIds == nil {
13755		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
13756	}
13757	if s.AccountIds != nil && len(s.AccountIds) < 1 {
13758		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
13759	}
13760	if s.DetectorId == nil {
13761		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
13762	}
13763	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
13764		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
13765	}
13766	if s.DataSources != nil {
13767		if err := s.DataSources.Validate(); err != nil {
13768			invalidParams.AddNested("DataSources", err.(request.ErrInvalidParams))
13769		}
13770	}
13771
13772	if invalidParams.Len() > 0 {
13773		return invalidParams
13774	}
13775	return nil
13776}
13777
13778// SetAccountIds sets the AccountIds field's value.
13779func (s *UpdateMemberDetectorsInput) SetAccountIds(v []*string) *UpdateMemberDetectorsInput {
13780	s.AccountIds = v
13781	return s
13782}
13783
13784// SetDataSources sets the DataSources field's value.
13785func (s *UpdateMemberDetectorsInput) SetDataSources(v *DataSourceConfigurations) *UpdateMemberDetectorsInput {
13786	s.DataSources = v
13787	return s
13788}
13789
13790// SetDetectorId sets the DetectorId field's value.
13791func (s *UpdateMemberDetectorsInput) SetDetectorId(v string) *UpdateMemberDetectorsInput {
13792	s.DetectorId = &v
13793	return s
13794}
13795
13796type UpdateMemberDetectorsOutput struct {
13797	_ struct{} `type:"structure"`
13798
13799	// A list of member account IDs that were unable to be processed along with
13800	// an explanation for why they were not processed.
13801	//
13802	// UnprocessedAccounts is a required field
13803	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
13804}
13805
13806// String returns the string representation
13807func (s UpdateMemberDetectorsOutput) String() string {
13808	return awsutil.Prettify(s)
13809}
13810
13811// GoString returns the string representation
13812func (s UpdateMemberDetectorsOutput) GoString() string {
13813	return s.String()
13814}
13815
13816// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
13817func (s *UpdateMemberDetectorsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *UpdateMemberDetectorsOutput {
13818	s.UnprocessedAccounts = v
13819	return s
13820}
13821
13822type UpdateOrganizationConfigurationInput struct {
13823	_ struct{} `type:"structure"`
13824
13825	// Indicates whether to automatically enable member accounts in the organization.
13826	//
13827	// AutoEnable is a required field
13828	AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"`
13829
13830	// Describes which data sources will be updated.
13831	DataSources *OrganizationDataSourceConfigurations `locationName:"dataSources" type:"structure"`
13832
13833	// The ID of the detector to update the delegated administrator for.
13834	//
13835	// DetectorId is a required field
13836	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
13837}
13838
13839// String returns the string representation
13840func (s UpdateOrganizationConfigurationInput) String() string {
13841	return awsutil.Prettify(s)
13842}
13843
13844// GoString returns the string representation
13845func (s UpdateOrganizationConfigurationInput) GoString() string {
13846	return s.String()
13847}
13848
13849// Validate inspects the fields of the type to determine if they are valid.
13850func (s *UpdateOrganizationConfigurationInput) Validate() error {
13851	invalidParams := request.ErrInvalidParams{Context: "UpdateOrganizationConfigurationInput"}
13852	if s.AutoEnable == nil {
13853		invalidParams.Add(request.NewErrParamRequired("AutoEnable"))
13854	}
13855	if s.DetectorId == nil {
13856		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
13857	}
13858	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
13859		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
13860	}
13861	if s.DataSources != nil {
13862		if err := s.DataSources.Validate(); err != nil {
13863			invalidParams.AddNested("DataSources", err.(request.ErrInvalidParams))
13864		}
13865	}
13866
13867	if invalidParams.Len() > 0 {
13868		return invalidParams
13869	}
13870	return nil
13871}
13872
13873// SetAutoEnable sets the AutoEnable field's value.
13874func (s *UpdateOrganizationConfigurationInput) SetAutoEnable(v bool) *UpdateOrganizationConfigurationInput {
13875	s.AutoEnable = &v
13876	return s
13877}
13878
13879// SetDataSources sets the DataSources field's value.
13880func (s *UpdateOrganizationConfigurationInput) SetDataSources(v *OrganizationDataSourceConfigurations) *UpdateOrganizationConfigurationInput {
13881	s.DataSources = v
13882	return s
13883}
13884
13885// SetDetectorId sets the DetectorId field's value.
13886func (s *UpdateOrganizationConfigurationInput) SetDetectorId(v string) *UpdateOrganizationConfigurationInput {
13887	s.DetectorId = &v
13888	return s
13889}
13890
13891type UpdateOrganizationConfigurationOutput struct {
13892	_ struct{} `type:"structure"`
13893}
13894
13895// String returns the string representation
13896func (s UpdateOrganizationConfigurationOutput) String() string {
13897	return awsutil.Prettify(s)
13898}
13899
13900// GoString returns the string representation
13901func (s UpdateOrganizationConfigurationOutput) GoString() string {
13902	return s.String()
13903}
13904
13905type UpdatePublishingDestinationInput struct {
13906	_ struct{} `type:"structure"`
13907
13908	// The ID of the publishing destination to update.
13909	//
13910	// DestinationId is a required field
13911	DestinationId *string `location:"uri" locationName:"destinationId" type:"string" required:"true"`
13912
13913	// A DestinationProperties object that includes the DestinationArn and KmsKeyArn
13914	// of the publishing destination.
13915	DestinationProperties *DestinationProperties `locationName:"destinationProperties" type:"structure"`
13916
13917	// The ID of the detector associated with the publishing destinations to update.
13918	//
13919	// DetectorId is a required field
13920	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
13921}
13922
13923// String returns the string representation
13924func (s UpdatePublishingDestinationInput) String() string {
13925	return awsutil.Prettify(s)
13926}
13927
13928// GoString returns the string representation
13929func (s UpdatePublishingDestinationInput) GoString() string {
13930	return s.String()
13931}
13932
13933// Validate inspects the fields of the type to determine if they are valid.
13934func (s *UpdatePublishingDestinationInput) Validate() error {
13935	invalidParams := request.ErrInvalidParams{Context: "UpdatePublishingDestinationInput"}
13936	if s.DestinationId == nil {
13937		invalidParams.Add(request.NewErrParamRequired("DestinationId"))
13938	}
13939	if s.DestinationId != nil && len(*s.DestinationId) < 1 {
13940		invalidParams.Add(request.NewErrParamMinLen("DestinationId", 1))
13941	}
13942	if s.DetectorId == nil {
13943		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
13944	}
13945	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
13946		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
13947	}
13948
13949	if invalidParams.Len() > 0 {
13950		return invalidParams
13951	}
13952	return nil
13953}
13954
13955// SetDestinationId sets the DestinationId field's value.
13956func (s *UpdatePublishingDestinationInput) SetDestinationId(v string) *UpdatePublishingDestinationInput {
13957	s.DestinationId = &v
13958	return s
13959}
13960
13961// SetDestinationProperties sets the DestinationProperties field's value.
13962func (s *UpdatePublishingDestinationInput) SetDestinationProperties(v *DestinationProperties) *UpdatePublishingDestinationInput {
13963	s.DestinationProperties = v
13964	return s
13965}
13966
13967// SetDetectorId sets the DetectorId field's value.
13968func (s *UpdatePublishingDestinationInput) SetDetectorId(v string) *UpdatePublishingDestinationInput {
13969	s.DetectorId = &v
13970	return s
13971}
13972
13973type UpdatePublishingDestinationOutput struct {
13974	_ struct{} `type:"structure"`
13975}
13976
13977// String returns the string representation
13978func (s UpdatePublishingDestinationOutput) String() string {
13979	return awsutil.Prettify(s)
13980}
13981
13982// GoString returns the string representation
13983func (s UpdatePublishingDestinationOutput) GoString() string {
13984	return s.String()
13985}
13986
13987type UpdateThreatIntelSetInput struct {
13988	_ struct{} `type:"structure"`
13989
13990	// The updated Boolean value that specifies whether the ThreateIntelSet is active
13991	// or not.
13992	Activate *bool `locationName:"activate" type:"boolean"`
13993
13994	// The detectorID that specifies the GuardDuty service whose ThreatIntelSet
13995	// you want to update.
13996	//
13997	// DetectorId is a required field
13998	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
13999
14000	// The updated URI of the file that contains the ThreateIntelSet.
14001	Location *string `locationName:"location" min:"1" type:"string"`
14002
14003	// The unique ID that specifies the ThreatIntelSet that you want to update.
14004	Name *string `locationName:"name" min:"1" type:"string"`
14005
14006	// The unique ID that specifies the ThreatIntelSet that you want to update.
14007	//
14008	// ThreatIntelSetId is a required field
14009	ThreatIntelSetId *string `location:"uri" locationName:"threatIntelSetId" type:"string" required:"true"`
14010}
14011
14012// String returns the string representation
14013func (s UpdateThreatIntelSetInput) String() string {
14014	return awsutil.Prettify(s)
14015}
14016
14017// GoString returns the string representation
14018func (s UpdateThreatIntelSetInput) GoString() string {
14019	return s.String()
14020}
14021
14022// Validate inspects the fields of the type to determine if they are valid.
14023func (s *UpdateThreatIntelSetInput) Validate() error {
14024	invalidParams := request.ErrInvalidParams{Context: "UpdateThreatIntelSetInput"}
14025	if s.DetectorId == nil {
14026		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
14027	}
14028	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
14029		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
14030	}
14031	if s.Location != nil && len(*s.Location) < 1 {
14032		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
14033	}
14034	if s.Name != nil && len(*s.Name) < 1 {
14035		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
14036	}
14037	if s.ThreatIntelSetId == nil {
14038		invalidParams.Add(request.NewErrParamRequired("ThreatIntelSetId"))
14039	}
14040	if s.ThreatIntelSetId != nil && len(*s.ThreatIntelSetId) < 1 {
14041		invalidParams.Add(request.NewErrParamMinLen("ThreatIntelSetId", 1))
14042	}
14043
14044	if invalidParams.Len() > 0 {
14045		return invalidParams
14046	}
14047	return nil
14048}
14049
14050// SetActivate sets the Activate field's value.
14051func (s *UpdateThreatIntelSetInput) SetActivate(v bool) *UpdateThreatIntelSetInput {
14052	s.Activate = &v
14053	return s
14054}
14055
14056// SetDetectorId sets the DetectorId field's value.
14057func (s *UpdateThreatIntelSetInput) SetDetectorId(v string) *UpdateThreatIntelSetInput {
14058	s.DetectorId = &v
14059	return s
14060}
14061
14062// SetLocation sets the Location field's value.
14063func (s *UpdateThreatIntelSetInput) SetLocation(v string) *UpdateThreatIntelSetInput {
14064	s.Location = &v
14065	return s
14066}
14067
14068// SetName sets the Name field's value.
14069func (s *UpdateThreatIntelSetInput) SetName(v string) *UpdateThreatIntelSetInput {
14070	s.Name = &v
14071	return s
14072}
14073
14074// SetThreatIntelSetId sets the ThreatIntelSetId field's value.
14075func (s *UpdateThreatIntelSetInput) SetThreatIntelSetId(v string) *UpdateThreatIntelSetInput {
14076	s.ThreatIntelSetId = &v
14077	return s
14078}
14079
14080type UpdateThreatIntelSetOutput struct {
14081	_ struct{} `type:"structure"`
14082}
14083
14084// String returns the string representation
14085func (s UpdateThreatIntelSetOutput) String() string {
14086	return awsutil.Prettify(s)
14087}
14088
14089// GoString returns the string representation
14090func (s UpdateThreatIntelSetOutput) GoString() string {
14091	return s.String()
14092}
14093
14094// Contains information on the total of usage based on account IDs.
14095type UsageAccountResult struct {
14096	_ struct{} `type:"structure"`
14097
14098	// The Account ID that generated usage.
14099	AccountId *string `locationName:"accountId" min:"12" type:"string"`
14100
14101	// Represents the total of usage for the Account ID.
14102	Total *Total `locationName:"total" type:"structure"`
14103}
14104
14105// String returns the string representation
14106func (s UsageAccountResult) String() string {
14107	return awsutil.Prettify(s)
14108}
14109
14110// GoString returns the string representation
14111func (s UsageAccountResult) GoString() string {
14112	return s.String()
14113}
14114
14115// SetAccountId sets the AccountId field's value.
14116func (s *UsageAccountResult) SetAccountId(v string) *UsageAccountResult {
14117	s.AccountId = &v
14118	return s
14119}
14120
14121// SetTotal sets the Total field's value.
14122func (s *UsageAccountResult) SetTotal(v *Total) *UsageAccountResult {
14123	s.Total = v
14124	return s
14125}
14126
14127// Contains information about the criteria used to query usage statistics.
14128type UsageCriteria struct {
14129	_ struct{} `type:"structure"`
14130
14131	// The account IDs to aggregate usage statistics from.
14132	AccountIds []*string `locationName:"accountIds" min:"1" type:"list"`
14133
14134	// The data sources to aggregate usage statistics from.
14135	//
14136	// DataSources is a required field
14137	DataSources []*string `locationName:"dataSources" type:"list" required:"true"`
14138
14139	// The resources to aggregate usage statistics from. Only accepts exact resource
14140	// names.
14141	Resources []*string `locationName:"resources" type:"list"`
14142}
14143
14144// String returns the string representation
14145func (s UsageCriteria) String() string {
14146	return awsutil.Prettify(s)
14147}
14148
14149// GoString returns the string representation
14150func (s UsageCriteria) GoString() string {
14151	return s.String()
14152}
14153
14154// Validate inspects the fields of the type to determine if they are valid.
14155func (s *UsageCriteria) Validate() error {
14156	invalidParams := request.ErrInvalidParams{Context: "UsageCriteria"}
14157	if s.AccountIds != nil && len(s.AccountIds) < 1 {
14158		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
14159	}
14160	if s.DataSources == nil {
14161		invalidParams.Add(request.NewErrParamRequired("DataSources"))
14162	}
14163
14164	if invalidParams.Len() > 0 {
14165		return invalidParams
14166	}
14167	return nil
14168}
14169
14170// SetAccountIds sets the AccountIds field's value.
14171func (s *UsageCriteria) SetAccountIds(v []*string) *UsageCriteria {
14172	s.AccountIds = v
14173	return s
14174}
14175
14176// SetDataSources sets the DataSources field's value.
14177func (s *UsageCriteria) SetDataSources(v []*string) *UsageCriteria {
14178	s.DataSources = v
14179	return s
14180}
14181
14182// SetResources sets the Resources field's value.
14183func (s *UsageCriteria) SetResources(v []*string) *UsageCriteria {
14184	s.Resources = v
14185	return s
14186}
14187
14188// Contains information on the result of usage based on data source type.
14189type UsageDataSourceResult struct {
14190	_ struct{} `type:"structure"`
14191
14192	// The data source type that generated usage.
14193	DataSource *string `locationName:"dataSource" type:"string" enum:"DataSource"`
14194
14195	// Represents the total of usage for the specified data source.
14196	Total *Total `locationName:"total" type:"structure"`
14197}
14198
14199// String returns the string representation
14200func (s UsageDataSourceResult) String() string {
14201	return awsutil.Prettify(s)
14202}
14203
14204// GoString returns the string representation
14205func (s UsageDataSourceResult) GoString() string {
14206	return s.String()
14207}
14208
14209// SetDataSource sets the DataSource field's value.
14210func (s *UsageDataSourceResult) SetDataSource(v string) *UsageDataSourceResult {
14211	s.DataSource = &v
14212	return s
14213}
14214
14215// SetTotal sets the Total field's value.
14216func (s *UsageDataSourceResult) SetTotal(v *Total) *UsageDataSourceResult {
14217	s.Total = v
14218	return s
14219}
14220
14221// Contains information on the sum of usage based on an AWS resource.
14222type UsageResourceResult struct {
14223	_ struct{} `type:"structure"`
14224
14225	// The AWS resource that generated usage.
14226	Resource *string `locationName:"resource" type:"string"`
14227
14228	// Represents the sum total of usage for the specified resource type.
14229	Total *Total `locationName:"total" type:"structure"`
14230}
14231
14232// String returns the string representation
14233func (s UsageResourceResult) String() string {
14234	return awsutil.Prettify(s)
14235}
14236
14237// GoString returns the string representation
14238func (s UsageResourceResult) GoString() string {
14239	return s.String()
14240}
14241
14242// SetResource sets the Resource field's value.
14243func (s *UsageResourceResult) SetResource(v string) *UsageResourceResult {
14244	s.Resource = &v
14245	return s
14246}
14247
14248// SetTotal sets the Total field's value.
14249func (s *UsageResourceResult) SetTotal(v *Total) *UsageResourceResult {
14250	s.Total = v
14251	return s
14252}
14253
14254// Contains the result of GuardDuty usage. If a UsageStatisticType is provided
14255// the result for other types will be null.
14256type UsageStatistics struct {
14257	_ struct{} `type:"structure"`
14258
14259	// The usage statistic sum organized by account ID.
14260	SumByAccount []*UsageAccountResult `locationName:"sumByAccount" type:"list"`
14261
14262	// The usage statistic sum organized by on data source.
14263	SumByDataSource []*UsageDataSourceResult `locationName:"sumByDataSource" type:"list"`
14264
14265	// The usage statistic sum organized by resource.
14266	SumByResource []*UsageResourceResult `locationName:"sumByResource" type:"list"`
14267
14268	// Lists the top 50 resources that have generated the most GuardDuty usage,
14269	// in order from most to least expensive.
14270	TopResources []*UsageResourceResult `locationName:"topResources" type:"list"`
14271}
14272
14273// String returns the string representation
14274func (s UsageStatistics) String() string {
14275	return awsutil.Prettify(s)
14276}
14277
14278// GoString returns the string representation
14279func (s UsageStatistics) GoString() string {
14280	return s.String()
14281}
14282
14283// SetSumByAccount sets the SumByAccount field's value.
14284func (s *UsageStatistics) SetSumByAccount(v []*UsageAccountResult) *UsageStatistics {
14285	s.SumByAccount = v
14286	return s
14287}
14288
14289// SetSumByDataSource sets the SumByDataSource field's value.
14290func (s *UsageStatistics) SetSumByDataSource(v []*UsageDataSourceResult) *UsageStatistics {
14291	s.SumByDataSource = v
14292	return s
14293}
14294
14295// SetSumByResource sets the SumByResource field's value.
14296func (s *UsageStatistics) SetSumByResource(v []*UsageResourceResult) *UsageStatistics {
14297	s.SumByResource = v
14298	return s
14299}
14300
14301// SetTopResources sets the TopResources field's value.
14302func (s *UsageStatistics) SetTopResources(v []*UsageResourceResult) *UsageStatistics {
14303	s.TopResources = v
14304	return s
14305}
14306
14307const (
14308	// AdminStatusEnabled is a AdminStatus enum value
14309	AdminStatusEnabled = "ENABLED"
14310
14311	// AdminStatusDisableInProgress is a AdminStatus enum value
14312	AdminStatusDisableInProgress = "DISABLE_IN_PROGRESS"
14313)
14314
14315// AdminStatus_Values returns all elements of the AdminStatus enum
14316func AdminStatus_Values() []string {
14317	return []string{
14318		AdminStatusEnabled,
14319		AdminStatusDisableInProgress,
14320	}
14321}
14322
14323const (
14324	// DataSourceFlowLogs is a DataSource enum value
14325	DataSourceFlowLogs = "FLOW_LOGS"
14326
14327	// DataSourceCloudTrail is a DataSource enum value
14328	DataSourceCloudTrail = "CLOUD_TRAIL"
14329
14330	// DataSourceDnsLogs is a DataSource enum value
14331	DataSourceDnsLogs = "DNS_LOGS"
14332
14333	// DataSourceS3Logs is a DataSource enum value
14334	DataSourceS3Logs = "S3_LOGS"
14335)
14336
14337// DataSource_Values returns all elements of the DataSource enum
14338func DataSource_Values() []string {
14339	return []string{
14340		DataSourceFlowLogs,
14341		DataSourceCloudTrail,
14342		DataSourceDnsLogs,
14343		DataSourceS3Logs,
14344	}
14345}
14346
14347const (
14348	// DataSourceStatusEnabled is a DataSourceStatus enum value
14349	DataSourceStatusEnabled = "ENABLED"
14350
14351	// DataSourceStatusDisabled is a DataSourceStatus enum value
14352	DataSourceStatusDisabled = "DISABLED"
14353)
14354
14355// DataSourceStatus_Values returns all elements of the DataSourceStatus enum
14356func DataSourceStatus_Values() []string {
14357	return []string{
14358		DataSourceStatusEnabled,
14359		DataSourceStatusDisabled,
14360	}
14361}
14362
14363const (
14364	// DestinationTypeS3 is a DestinationType enum value
14365	DestinationTypeS3 = "S3"
14366)
14367
14368// DestinationType_Values returns all elements of the DestinationType enum
14369func DestinationType_Values() []string {
14370	return []string{
14371		DestinationTypeS3,
14372	}
14373}
14374
14375const (
14376	// DetectorStatusEnabled is a DetectorStatus enum value
14377	DetectorStatusEnabled = "ENABLED"
14378
14379	// DetectorStatusDisabled is a DetectorStatus enum value
14380	DetectorStatusDisabled = "DISABLED"
14381)
14382
14383// DetectorStatus_Values returns all elements of the DetectorStatus enum
14384func DetectorStatus_Values() []string {
14385	return []string{
14386		DetectorStatusEnabled,
14387		DetectorStatusDisabled,
14388	}
14389}
14390
14391const (
14392	// FeedbackUseful is a Feedback enum value
14393	FeedbackUseful = "USEFUL"
14394
14395	// FeedbackNotUseful is a Feedback enum value
14396	FeedbackNotUseful = "NOT_USEFUL"
14397)
14398
14399// Feedback_Values returns all elements of the Feedback enum
14400func Feedback_Values() []string {
14401	return []string{
14402		FeedbackUseful,
14403		FeedbackNotUseful,
14404	}
14405}
14406
14407const (
14408	// FilterActionNoop is a FilterAction enum value
14409	FilterActionNoop = "NOOP"
14410
14411	// FilterActionArchive is a FilterAction enum value
14412	FilterActionArchive = "ARCHIVE"
14413)
14414
14415// FilterAction_Values returns all elements of the FilterAction enum
14416func FilterAction_Values() []string {
14417	return []string{
14418		FilterActionNoop,
14419		FilterActionArchive,
14420	}
14421}
14422
14423const (
14424	// FindingPublishingFrequencyFifteenMinutes is a FindingPublishingFrequency enum value
14425	FindingPublishingFrequencyFifteenMinutes = "FIFTEEN_MINUTES"
14426
14427	// FindingPublishingFrequencyOneHour is a FindingPublishingFrequency enum value
14428	FindingPublishingFrequencyOneHour = "ONE_HOUR"
14429
14430	// FindingPublishingFrequencySixHours is a FindingPublishingFrequency enum value
14431	FindingPublishingFrequencySixHours = "SIX_HOURS"
14432)
14433
14434// FindingPublishingFrequency_Values returns all elements of the FindingPublishingFrequency enum
14435func FindingPublishingFrequency_Values() []string {
14436	return []string{
14437		FindingPublishingFrequencyFifteenMinutes,
14438		FindingPublishingFrequencyOneHour,
14439		FindingPublishingFrequencySixHours,
14440	}
14441}
14442
14443const (
14444	// FindingStatisticTypeCountBySeverity is a FindingStatisticType enum value
14445	FindingStatisticTypeCountBySeverity = "COUNT_BY_SEVERITY"
14446)
14447
14448// FindingStatisticType_Values returns all elements of the FindingStatisticType enum
14449func FindingStatisticType_Values() []string {
14450	return []string{
14451		FindingStatisticTypeCountBySeverity,
14452	}
14453}
14454
14455const (
14456	// IpSetFormatTxt is a IpSetFormat enum value
14457	IpSetFormatTxt = "TXT"
14458
14459	// IpSetFormatStix is a IpSetFormat enum value
14460	IpSetFormatStix = "STIX"
14461
14462	// IpSetFormatOtxCsv is a IpSetFormat enum value
14463	IpSetFormatOtxCsv = "OTX_CSV"
14464
14465	// IpSetFormatAlienVault is a IpSetFormat enum value
14466	IpSetFormatAlienVault = "ALIEN_VAULT"
14467
14468	// IpSetFormatProofPoint is a IpSetFormat enum value
14469	IpSetFormatProofPoint = "PROOF_POINT"
14470
14471	// IpSetFormatFireEye is a IpSetFormat enum value
14472	IpSetFormatFireEye = "FIRE_EYE"
14473)
14474
14475// IpSetFormat_Values returns all elements of the IpSetFormat enum
14476func IpSetFormat_Values() []string {
14477	return []string{
14478		IpSetFormatTxt,
14479		IpSetFormatStix,
14480		IpSetFormatOtxCsv,
14481		IpSetFormatAlienVault,
14482		IpSetFormatProofPoint,
14483		IpSetFormatFireEye,
14484	}
14485}
14486
14487const (
14488	// IpSetStatusInactive is a IpSetStatus enum value
14489	IpSetStatusInactive = "INACTIVE"
14490
14491	// IpSetStatusActivating is a IpSetStatus enum value
14492	IpSetStatusActivating = "ACTIVATING"
14493
14494	// IpSetStatusActive is a IpSetStatus enum value
14495	IpSetStatusActive = "ACTIVE"
14496
14497	// IpSetStatusDeactivating is a IpSetStatus enum value
14498	IpSetStatusDeactivating = "DEACTIVATING"
14499
14500	// IpSetStatusError is a IpSetStatus enum value
14501	IpSetStatusError = "ERROR"
14502
14503	// IpSetStatusDeletePending is a IpSetStatus enum value
14504	IpSetStatusDeletePending = "DELETE_PENDING"
14505
14506	// IpSetStatusDeleted is a IpSetStatus enum value
14507	IpSetStatusDeleted = "DELETED"
14508)
14509
14510// IpSetStatus_Values returns all elements of the IpSetStatus enum
14511func IpSetStatus_Values() []string {
14512	return []string{
14513		IpSetStatusInactive,
14514		IpSetStatusActivating,
14515		IpSetStatusActive,
14516		IpSetStatusDeactivating,
14517		IpSetStatusError,
14518		IpSetStatusDeletePending,
14519		IpSetStatusDeleted,
14520	}
14521}
14522
14523const (
14524	// OrderByAsc is a OrderBy enum value
14525	OrderByAsc = "ASC"
14526
14527	// OrderByDesc is a OrderBy enum value
14528	OrderByDesc = "DESC"
14529)
14530
14531// OrderBy_Values returns all elements of the OrderBy enum
14532func OrderBy_Values() []string {
14533	return []string{
14534		OrderByAsc,
14535		OrderByDesc,
14536	}
14537}
14538
14539const (
14540	// PublishingStatusPendingVerification is a PublishingStatus enum value
14541	PublishingStatusPendingVerification = "PENDING_VERIFICATION"
14542
14543	// PublishingStatusPublishing is a PublishingStatus enum value
14544	PublishingStatusPublishing = "PUBLISHING"
14545
14546	// PublishingStatusUnableToPublishFixDestinationProperty is a PublishingStatus enum value
14547	PublishingStatusUnableToPublishFixDestinationProperty = "UNABLE_TO_PUBLISH_FIX_DESTINATION_PROPERTY"
14548
14549	// PublishingStatusStopped is a PublishingStatus enum value
14550	PublishingStatusStopped = "STOPPED"
14551)
14552
14553// PublishingStatus_Values returns all elements of the PublishingStatus enum
14554func PublishingStatus_Values() []string {
14555	return []string{
14556		PublishingStatusPendingVerification,
14557		PublishingStatusPublishing,
14558		PublishingStatusUnableToPublishFixDestinationProperty,
14559		PublishingStatusStopped,
14560	}
14561}
14562
14563const (
14564	// ThreatIntelSetFormatTxt is a ThreatIntelSetFormat enum value
14565	ThreatIntelSetFormatTxt = "TXT"
14566
14567	// ThreatIntelSetFormatStix is a ThreatIntelSetFormat enum value
14568	ThreatIntelSetFormatStix = "STIX"
14569
14570	// ThreatIntelSetFormatOtxCsv is a ThreatIntelSetFormat enum value
14571	ThreatIntelSetFormatOtxCsv = "OTX_CSV"
14572
14573	// ThreatIntelSetFormatAlienVault is a ThreatIntelSetFormat enum value
14574	ThreatIntelSetFormatAlienVault = "ALIEN_VAULT"
14575
14576	// ThreatIntelSetFormatProofPoint is a ThreatIntelSetFormat enum value
14577	ThreatIntelSetFormatProofPoint = "PROOF_POINT"
14578
14579	// ThreatIntelSetFormatFireEye is a ThreatIntelSetFormat enum value
14580	ThreatIntelSetFormatFireEye = "FIRE_EYE"
14581)
14582
14583// ThreatIntelSetFormat_Values returns all elements of the ThreatIntelSetFormat enum
14584func ThreatIntelSetFormat_Values() []string {
14585	return []string{
14586		ThreatIntelSetFormatTxt,
14587		ThreatIntelSetFormatStix,
14588		ThreatIntelSetFormatOtxCsv,
14589		ThreatIntelSetFormatAlienVault,
14590		ThreatIntelSetFormatProofPoint,
14591		ThreatIntelSetFormatFireEye,
14592	}
14593}
14594
14595const (
14596	// ThreatIntelSetStatusInactive is a ThreatIntelSetStatus enum value
14597	ThreatIntelSetStatusInactive = "INACTIVE"
14598
14599	// ThreatIntelSetStatusActivating is a ThreatIntelSetStatus enum value
14600	ThreatIntelSetStatusActivating = "ACTIVATING"
14601
14602	// ThreatIntelSetStatusActive is a ThreatIntelSetStatus enum value
14603	ThreatIntelSetStatusActive = "ACTIVE"
14604
14605	// ThreatIntelSetStatusDeactivating is a ThreatIntelSetStatus enum value
14606	ThreatIntelSetStatusDeactivating = "DEACTIVATING"
14607
14608	// ThreatIntelSetStatusError is a ThreatIntelSetStatus enum value
14609	ThreatIntelSetStatusError = "ERROR"
14610
14611	// ThreatIntelSetStatusDeletePending is a ThreatIntelSetStatus enum value
14612	ThreatIntelSetStatusDeletePending = "DELETE_PENDING"
14613
14614	// ThreatIntelSetStatusDeleted is a ThreatIntelSetStatus enum value
14615	ThreatIntelSetStatusDeleted = "DELETED"
14616)
14617
14618// ThreatIntelSetStatus_Values returns all elements of the ThreatIntelSetStatus enum
14619func ThreatIntelSetStatus_Values() []string {
14620	return []string{
14621		ThreatIntelSetStatusInactive,
14622		ThreatIntelSetStatusActivating,
14623		ThreatIntelSetStatusActive,
14624		ThreatIntelSetStatusDeactivating,
14625		ThreatIntelSetStatusError,
14626		ThreatIntelSetStatusDeletePending,
14627		ThreatIntelSetStatusDeleted,
14628	}
14629}
14630
14631const (
14632	// UsageStatisticTypeSumByAccount is a UsageStatisticType enum value
14633	UsageStatisticTypeSumByAccount = "SUM_BY_ACCOUNT"
14634
14635	// UsageStatisticTypeSumByDataSource is a UsageStatisticType enum value
14636	UsageStatisticTypeSumByDataSource = "SUM_BY_DATA_SOURCE"
14637
14638	// UsageStatisticTypeSumByResource is a UsageStatisticType enum value
14639	UsageStatisticTypeSumByResource = "SUM_BY_RESOURCE"
14640
14641	// UsageStatisticTypeTopResources is a UsageStatisticType enum value
14642	UsageStatisticTypeTopResources = "TOP_RESOURCES"
14643)
14644
14645// UsageStatisticType_Values returns all elements of the UsageStatisticType enum
14646func UsageStatisticType_Values() []string {
14647	return []string{
14648		UsageStatisticTypeSumByAccount,
14649		UsageStatisticTypeSumByDataSource,
14650		UsageStatisticTypeSumByResource,
14651		UsageStatisticTypeTopResources,
14652	}
14653}
14654