1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package guardduty
4
5import (
6	"fmt"
7
8	"github.com/aws/aws-sdk-go/aws"
9	"github.com/aws/aws-sdk-go/aws/awsutil"
10	"github.com/aws/aws-sdk-go/aws/request"
11	"github.com/aws/aws-sdk-go/private/protocol"
12	"github.com/aws/aws-sdk-go/private/protocol/restjson"
13)
14
15const opAcceptInvitation = "AcceptInvitation"
16
17// AcceptInvitationRequest generates a "aws/request.Request" representing the
18// client's request for the AcceptInvitation operation. The "output" return
19// value will be populated with the request's response once the request completes
20// successfully.
21//
22// Use "Send" method on the returned Request to send the API call to the service.
23// the "output" return value is not valid until after Send returns without error.
24//
25// See AcceptInvitation for more information on using the AcceptInvitation
26// API call, and error handling.
27//
28// This method is useful when you want to inject custom logic or configuration
29// into the SDK's request lifecycle. Such as custom headers, or retry logic.
30//
31//
32//    // Example sending a request using the AcceptInvitationRequest method.
33//    req, resp := client.AcceptInvitationRequest(params)
34//
35//    err := req.Send()
36//    if err == nil { // resp is now filled
37//        fmt.Println(resp)
38//    }
39//
40// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/AcceptInvitation
41func (c *GuardDuty) AcceptInvitationRequest(input *AcceptInvitationInput) (req *request.Request, output *AcceptInvitationOutput) {
42	op := &request.Operation{
43		Name:       opAcceptInvitation,
44		HTTPMethod: "POST",
45		HTTPPath:   "/detector/{detectorId}/master",
46	}
47
48	if input == nil {
49		input = &AcceptInvitationInput{}
50	}
51
52	output = &AcceptInvitationOutput{}
53	req = c.newRequest(op, input, output)
54	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
55	return
56}
57
58// AcceptInvitation API operation for Amazon GuardDuty.
59//
60// Accepts the invitation to be monitored by a master GuardDuty account.
61//
62// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
63// with awserr.Error's Code and Message methods to get detailed information about
64// the error.
65//
66// See the AWS API reference guide for Amazon GuardDuty's
67// API operation AcceptInvitation for usage and error information.
68//
69// Returned Error Codes:
70//   * ErrCodeBadRequestException "BadRequestException"
71//   Bad request exception object.
72//
73//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
74//   Internal server error exception object.
75//
76// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/AcceptInvitation
77func (c *GuardDuty) AcceptInvitation(input *AcceptInvitationInput) (*AcceptInvitationOutput, error) {
78	req, out := c.AcceptInvitationRequest(input)
79	return out, req.Send()
80}
81
82// AcceptInvitationWithContext is the same as AcceptInvitation with the addition of
83// the ability to pass a context and additional request options.
84//
85// See AcceptInvitation for details on how to use this API operation.
86//
87// The context must be non-nil and will be used for request cancellation. If
88// the context is nil a panic will occur. In the future the SDK may create
89// sub-contexts for http.Requests. See https://golang.org/pkg/context/
90// for more information on using Contexts.
91func (c *GuardDuty) AcceptInvitationWithContext(ctx aws.Context, input *AcceptInvitationInput, opts ...request.Option) (*AcceptInvitationOutput, error) {
92	req, out := c.AcceptInvitationRequest(input)
93	req.SetContext(ctx)
94	req.ApplyOptions(opts...)
95	return out, req.Send()
96}
97
98const opArchiveFindings = "ArchiveFindings"
99
100// ArchiveFindingsRequest generates a "aws/request.Request" representing the
101// client's request for the ArchiveFindings operation. The "output" return
102// value will be populated with the request's response once the request completes
103// successfully.
104//
105// Use "Send" method on the returned Request to send the API call to the service.
106// the "output" return value is not valid until after Send returns without error.
107//
108// See ArchiveFindings for more information on using the ArchiveFindings
109// API call, and error handling.
110//
111// This method is useful when you want to inject custom logic or configuration
112// into the SDK's request lifecycle. Such as custom headers, or retry logic.
113//
114//
115//    // Example sending a request using the ArchiveFindingsRequest method.
116//    req, resp := client.ArchiveFindingsRequest(params)
117//
118//    err := req.Send()
119//    if err == nil { // resp is now filled
120//        fmt.Println(resp)
121//    }
122//
123// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ArchiveFindings
124func (c *GuardDuty) ArchiveFindingsRequest(input *ArchiveFindingsInput) (req *request.Request, output *ArchiveFindingsOutput) {
125	op := &request.Operation{
126		Name:       opArchiveFindings,
127		HTTPMethod: "POST",
128		HTTPPath:   "/detector/{detectorId}/findings/archive",
129	}
130
131	if input == nil {
132		input = &ArchiveFindingsInput{}
133	}
134
135	output = &ArchiveFindingsOutput{}
136	req = c.newRequest(op, input, output)
137	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
138	return
139}
140
141// ArchiveFindings API operation for Amazon GuardDuty.
142//
143// Archives GuardDuty findings specified by the list of finding IDs.
144//
145// Only the master account can archive findings. Member accounts do not have
146// permission to archive findings from their accounts.
147//
148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
149// with awserr.Error's Code and Message methods to get detailed information about
150// the error.
151//
152// See the AWS API reference guide for Amazon GuardDuty's
153// API operation ArchiveFindings for usage and error information.
154//
155// Returned Error Codes:
156//   * ErrCodeBadRequestException "BadRequestException"
157//   Bad request exception object.
158//
159//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
160//   Internal server error exception object.
161//
162// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ArchiveFindings
163func (c *GuardDuty) ArchiveFindings(input *ArchiveFindingsInput) (*ArchiveFindingsOutput, error) {
164	req, out := c.ArchiveFindingsRequest(input)
165	return out, req.Send()
166}
167
168// ArchiveFindingsWithContext is the same as ArchiveFindings with the addition of
169// the ability to pass a context and additional request options.
170//
171// See ArchiveFindings for details on how to use this API operation.
172//
173// The context must be non-nil and will be used for request cancellation. If
174// the context is nil a panic will occur. In the future the SDK may create
175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
176// for more information on using Contexts.
177func (c *GuardDuty) ArchiveFindingsWithContext(ctx aws.Context, input *ArchiveFindingsInput, opts ...request.Option) (*ArchiveFindingsOutput, error) {
178	req, out := c.ArchiveFindingsRequest(input)
179	req.SetContext(ctx)
180	req.ApplyOptions(opts...)
181	return out, req.Send()
182}
183
184const opCreateDetector = "CreateDetector"
185
186// CreateDetectorRequest generates a "aws/request.Request" representing the
187// client's request for the CreateDetector operation. The "output" return
188// value will be populated with the request's response once the request completes
189// successfully.
190//
191// Use "Send" method on the returned Request to send the API call to the service.
192// the "output" return value is not valid until after Send returns without error.
193//
194// See CreateDetector for more information on using the CreateDetector
195// API call, and error handling.
196//
197// This method is useful when you want to inject custom logic or configuration
198// into the SDK's request lifecycle. Such as custom headers, or retry logic.
199//
200//
201//    // Example sending a request using the CreateDetectorRequest method.
202//    req, resp := client.CreateDetectorRequest(params)
203//
204//    err := req.Send()
205//    if err == nil { // resp is now filled
206//        fmt.Println(resp)
207//    }
208//
209// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateDetector
210func (c *GuardDuty) CreateDetectorRequest(input *CreateDetectorInput) (req *request.Request, output *CreateDetectorOutput) {
211	op := &request.Operation{
212		Name:       opCreateDetector,
213		HTTPMethod: "POST",
214		HTTPPath:   "/detector",
215	}
216
217	if input == nil {
218		input = &CreateDetectorInput{}
219	}
220
221	output = &CreateDetectorOutput{}
222	req = c.newRequest(op, input, output)
223	return
224}
225
226// CreateDetector API operation for Amazon GuardDuty.
227//
228// Creates a single Amazon GuardDuty detector. A detector is a resource that
229// represents the GuardDuty service. To start using GuardDuty, you must create
230// a detector in each region that you enable the service. You can have only
231// one detector per account per region.
232//
233// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
234// with awserr.Error's Code and Message methods to get detailed information about
235// the error.
236//
237// See the AWS API reference guide for Amazon GuardDuty's
238// API operation CreateDetector for usage and error information.
239//
240// Returned Error Codes:
241//   * ErrCodeBadRequestException "BadRequestException"
242//   Bad request exception object.
243//
244//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
245//   Internal server error exception object.
246//
247// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateDetector
248func (c *GuardDuty) CreateDetector(input *CreateDetectorInput) (*CreateDetectorOutput, error) {
249	req, out := c.CreateDetectorRequest(input)
250	return out, req.Send()
251}
252
253// CreateDetectorWithContext is the same as CreateDetector with the addition of
254// the ability to pass a context and additional request options.
255//
256// See CreateDetector for details on how to use this API operation.
257//
258// The context must be non-nil and will be used for request cancellation. If
259// the context is nil a panic will occur. In the future the SDK may create
260// sub-contexts for http.Requests. See https://golang.org/pkg/context/
261// for more information on using Contexts.
262func (c *GuardDuty) CreateDetectorWithContext(ctx aws.Context, input *CreateDetectorInput, opts ...request.Option) (*CreateDetectorOutput, error) {
263	req, out := c.CreateDetectorRequest(input)
264	req.SetContext(ctx)
265	req.ApplyOptions(opts...)
266	return out, req.Send()
267}
268
269const opCreateFilter = "CreateFilter"
270
271// CreateFilterRequest generates a "aws/request.Request" representing the
272// client's request for the CreateFilter operation. The "output" return
273// value will be populated with the request's response once the request completes
274// successfully.
275//
276// Use "Send" method on the returned Request to send the API call to the service.
277// the "output" return value is not valid until after Send returns without error.
278//
279// See CreateFilter for more information on using the CreateFilter
280// API call, and error handling.
281//
282// This method is useful when you want to inject custom logic or configuration
283// into the SDK's request lifecycle. Such as custom headers, or retry logic.
284//
285//
286//    // Example sending a request using the CreateFilterRequest method.
287//    req, resp := client.CreateFilterRequest(params)
288//
289//    err := req.Send()
290//    if err == nil { // resp is now filled
291//        fmt.Println(resp)
292//    }
293//
294// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateFilter
295func (c *GuardDuty) CreateFilterRequest(input *CreateFilterInput) (req *request.Request, output *CreateFilterOutput) {
296	op := &request.Operation{
297		Name:       opCreateFilter,
298		HTTPMethod: "POST",
299		HTTPPath:   "/detector/{detectorId}/filter",
300	}
301
302	if input == nil {
303		input = &CreateFilterInput{}
304	}
305
306	output = &CreateFilterOutput{}
307	req = c.newRequest(op, input, output)
308	return
309}
310
311// CreateFilter API operation for Amazon GuardDuty.
312//
313// Creates a filter using the specified finding criteria.
314//
315// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
316// with awserr.Error's Code and Message methods to get detailed information about
317// the error.
318//
319// See the AWS API reference guide for Amazon GuardDuty's
320// API operation CreateFilter for usage and error information.
321//
322// Returned Error Codes:
323//   * ErrCodeBadRequestException "BadRequestException"
324//   Bad request exception object.
325//
326//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
327//   Internal server error exception object.
328//
329// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateFilter
330func (c *GuardDuty) CreateFilter(input *CreateFilterInput) (*CreateFilterOutput, error) {
331	req, out := c.CreateFilterRequest(input)
332	return out, req.Send()
333}
334
335// CreateFilterWithContext is the same as CreateFilter with the addition of
336// the ability to pass a context and additional request options.
337//
338// See CreateFilter for details on how to use this API operation.
339//
340// The context must be non-nil and will be used for request cancellation. If
341// the context is nil a panic will occur. In the future the SDK may create
342// sub-contexts for http.Requests. See https://golang.org/pkg/context/
343// for more information on using Contexts.
344func (c *GuardDuty) CreateFilterWithContext(ctx aws.Context, input *CreateFilterInput, opts ...request.Option) (*CreateFilterOutput, error) {
345	req, out := c.CreateFilterRequest(input)
346	req.SetContext(ctx)
347	req.ApplyOptions(opts...)
348	return out, req.Send()
349}
350
351const opCreateIPSet = "CreateIPSet"
352
353// CreateIPSetRequest generates a "aws/request.Request" representing the
354// client's request for the CreateIPSet operation. The "output" return
355// value will be populated with the request's response once the request completes
356// successfully.
357//
358// Use "Send" method on the returned Request to send the API call to the service.
359// the "output" return value is not valid until after Send returns without error.
360//
361// See CreateIPSet for more information on using the CreateIPSet
362// API call, and error handling.
363//
364// This method is useful when you want to inject custom logic or configuration
365// into the SDK's request lifecycle. Such as custom headers, or retry logic.
366//
367//
368//    // Example sending a request using the CreateIPSetRequest method.
369//    req, resp := client.CreateIPSetRequest(params)
370//
371//    err := req.Send()
372//    if err == nil { // resp is now filled
373//        fmt.Println(resp)
374//    }
375//
376// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateIPSet
377func (c *GuardDuty) CreateIPSetRequest(input *CreateIPSetInput) (req *request.Request, output *CreateIPSetOutput) {
378	op := &request.Operation{
379		Name:       opCreateIPSet,
380		HTTPMethod: "POST",
381		HTTPPath:   "/detector/{detectorId}/ipset",
382	}
383
384	if input == nil {
385		input = &CreateIPSetInput{}
386	}
387
388	output = &CreateIPSetOutput{}
389	req = c.newRequest(op, input, output)
390	return
391}
392
393// CreateIPSet API operation for Amazon GuardDuty.
394//
395// Creates a new IPSet - a list of trusted IP addresses that have been whitelisted
396// for secure communication with AWS infrastructure and applications.
397//
398// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
399// with awserr.Error's Code and Message methods to get detailed information about
400// the error.
401//
402// See the AWS API reference guide for Amazon GuardDuty's
403// API operation CreateIPSet for usage and error information.
404//
405// Returned Error Codes:
406//   * ErrCodeBadRequestException "BadRequestException"
407//   Bad request exception object.
408//
409//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
410//   Internal server error exception object.
411//
412// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateIPSet
413func (c *GuardDuty) CreateIPSet(input *CreateIPSetInput) (*CreateIPSetOutput, error) {
414	req, out := c.CreateIPSetRequest(input)
415	return out, req.Send()
416}
417
418// CreateIPSetWithContext is the same as CreateIPSet with the addition of
419// the ability to pass a context and additional request options.
420//
421// See CreateIPSet for details on how to use this API operation.
422//
423// The context must be non-nil and will be used for request cancellation. If
424// the context is nil a panic will occur. In the future the SDK may create
425// sub-contexts for http.Requests. See https://golang.org/pkg/context/
426// for more information on using Contexts.
427func (c *GuardDuty) CreateIPSetWithContext(ctx aws.Context, input *CreateIPSetInput, opts ...request.Option) (*CreateIPSetOutput, error) {
428	req, out := c.CreateIPSetRequest(input)
429	req.SetContext(ctx)
430	req.ApplyOptions(opts...)
431	return out, req.Send()
432}
433
434const opCreateMembers = "CreateMembers"
435
436// CreateMembersRequest generates a "aws/request.Request" representing the
437// client's request for the CreateMembers operation. The "output" return
438// value will be populated with the request's response once the request completes
439// successfully.
440//
441// Use "Send" method on the returned Request to send the API call to the service.
442// the "output" return value is not valid until after Send returns without error.
443//
444// See CreateMembers for more information on using the CreateMembers
445// API call, and error handling.
446//
447// This method is useful when you want to inject custom logic or configuration
448// into the SDK's request lifecycle. Such as custom headers, or retry logic.
449//
450//
451//    // Example sending a request using the CreateMembersRequest method.
452//    req, resp := client.CreateMembersRequest(params)
453//
454//    err := req.Send()
455//    if err == nil { // resp is now filled
456//        fmt.Println(resp)
457//    }
458//
459// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateMembers
460func (c *GuardDuty) CreateMembersRequest(input *CreateMembersInput) (req *request.Request, output *CreateMembersOutput) {
461	op := &request.Operation{
462		Name:       opCreateMembers,
463		HTTPMethod: "POST",
464		HTTPPath:   "/detector/{detectorId}/member",
465	}
466
467	if input == nil {
468		input = &CreateMembersInput{}
469	}
470
471	output = &CreateMembersOutput{}
472	req = c.newRequest(op, input, output)
473	return
474}
475
476// CreateMembers API operation for Amazon GuardDuty.
477//
478// Creates member accounts of the current AWS account by specifying a list of
479// AWS account IDs. The current AWS account can then invite these members to
480// manage GuardDuty in their accounts.
481//
482// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
483// with awserr.Error's Code and Message methods to get detailed information about
484// the error.
485//
486// See the AWS API reference guide for Amazon GuardDuty's
487// API operation CreateMembers for usage and error information.
488//
489// Returned Error Codes:
490//   * ErrCodeBadRequestException "BadRequestException"
491//   Bad request exception object.
492//
493//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
494//   Internal server error exception object.
495//
496// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateMembers
497func (c *GuardDuty) CreateMembers(input *CreateMembersInput) (*CreateMembersOutput, error) {
498	req, out := c.CreateMembersRequest(input)
499	return out, req.Send()
500}
501
502// CreateMembersWithContext is the same as CreateMembers with the addition of
503// the ability to pass a context and additional request options.
504//
505// See CreateMembers for details on how to use this API operation.
506//
507// The context must be non-nil and will be used for request cancellation. If
508// the context is nil a panic will occur. In the future the SDK may create
509// sub-contexts for http.Requests. See https://golang.org/pkg/context/
510// for more information on using Contexts.
511func (c *GuardDuty) CreateMembersWithContext(ctx aws.Context, input *CreateMembersInput, opts ...request.Option) (*CreateMembersOutput, error) {
512	req, out := c.CreateMembersRequest(input)
513	req.SetContext(ctx)
514	req.ApplyOptions(opts...)
515	return out, req.Send()
516}
517
518const opCreateSampleFindings = "CreateSampleFindings"
519
520// CreateSampleFindingsRequest generates a "aws/request.Request" representing the
521// client's request for the CreateSampleFindings operation. The "output" return
522// value will be populated with the request's response once the request completes
523// successfully.
524//
525// Use "Send" method on the returned Request to send the API call to the service.
526// the "output" return value is not valid until after Send returns without error.
527//
528// See CreateSampleFindings for more information on using the CreateSampleFindings
529// API call, and error handling.
530//
531// This method is useful when you want to inject custom logic or configuration
532// into the SDK's request lifecycle. Such as custom headers, or retry logic.
533//
534//
535//    // Example sending a request using the CreateSampleFindingsRequest method.
536//    req, resp := client.CreateSampleFindingsRequest(params)
537//
538//    err := req.Send()
539//    if err == nil { // resp is now filled
540//        fmt.Println(resp)
541//    }
542//
543// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateSampleFindings
544func (c *GuardDuty) CreateSampleFindingsRequest(input *CreateSampleFindingsInput) (req *request.Request, output *CreateSampleFindingsOutput) {
545	op := &request.Operation{
546		Name:       opCreateSampleFindings,
547		HTTPMethod: "POST",
548		HTTPPath:   "/detector/{detectorId}/findings/create",
549	}
550
551	if input == nil {
552		input = &CreateSampleFindingsInput{}
553	}
554
555	output = &CreateSampleFindingsOutput{}
556	req = c.newRequest(op, input, output)
557	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
558	return
559}
560
561// CreateSampleFindings API operation for Amazon GuardDuty.
562//
563// Generates example findings of types specified by the list of finding types.
564// If 'NULL' is specified for findingTypes, the API generates example findings
565// of all supported finding types.
566//
567// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
568// with awserr.Error's Code and Message methods to get detailed information about
569// the error.
570//
571// See the AWS API reference guide for Amazon GuardDuty's
572// API operation CreateSampleFindings for usage and error information.
573//
574// Returned Error Codes:
575//   * ErrCodeBadRequestException "BadRequestException"
576//   Bad request exception object.
577//
578//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
579//   Internal server error exception object.
580//
581// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateSampleFindings
582func (c *GuardDuty) CreateSampleFindings(input *CreateSampleFindingsInput) (*CreateSampleFindingsOutput, error) {
583	req, out := c.CreateSampleFindingsRequest(input)
584	return out, req.Send()
585}
586
587// CreateSampleFindingsWithContext is the same as CreateSampleFindings with the addition of
588// the ability to pass a context and additional request options.
589//
590// See CreateSampleFindings for details on how to use this API operation.
591//
592// The context must be non-nil and will be used for request cancellation. If
593// the context is nil a panic will occur. In the future the SDK may create
594// sub-contexts for http.Requests. See https://golang.org/pkg/context/
595// for more information on using Contexts.
596func (c *GuardDuty) CreateSampleFindingsWithContext(ctx aws.Context, input *CreateSampleFindingsInput, opts ...request.Option) (*CreateSampleFindingsOutput, error) {
597	req, out := c.CreateSampleFindingsRequest(input)
598	req.SetContext(ctx)
599	req.ApplyOptions(opts...)
600	return out, req.Send()
601}
602
603const opCreateThreatIntelSet = "CreateThreatIntelSet"
604
605// CreateThreatIntelSetRequest generates a "aws/request.Request" representing the
606// client's request for the CreateThreatIntelSet operation. The "output" return
607// value will be populated with the request's response once the request completes
608// successfully.
609//
610// Use "Send" method on the returned Request to send the API call to the service.
611// the "output" return value is not valid until after Send returns without error.
612//
613// See CreateThreatIntelSet for more information on using the CreateThreatIntelSet
614// API call, and error handling.
615//
616// This method is useful when you want to inject custom logic or configuration
617// into the SDK's request lifecycle. Such as custom headers, or retry logic.
618//
619//
620//    // Example sending a request using the CreateThreatIntelSetRequest method.
621//    req, resp := client.CreateThreatIntelSetRequest(params)
622//
623//    err := req.Send()
624//    if err == nil { // resp is now filled
625//        fmt.Println(resp)
626//    }
627//
628// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateThreatIntelSet
629func (c *GuardDuty) CreateThreatIntelSetRequest(input *CreateThreatIntelSetInput) (req *request.Request, output *CreateThreatIntelSetOutput) {
630	op := &request.Operation{
631		Name:       opCreateThreatIntelSet,
632		HTTPMethod: "POST",
633		HTTPPath:   "/detector/{detectorId}/threatintelset",
634	}
635
636	if input == nil {
637		input = &CreateThreatIntelSetInput{}
638	}
639
640	output = &CreateThreatIntelSetOutput{}
641	req = c.newRequest(op, input, output)
642	return
643}
644
645// CreateThreatIntelSet API operation for Amazon GuardDuty.
646//
647// Create a new ThreatIntelSet. ThreatIntelSets consist of known malicious IP
648// addresses. GuardDuty generates findings based on ThreatIntelSets.
649//
650// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
651// with awserr.Error's Code and Message methods to get detailed information about
652// the error.
653//
654// See the AWS API reference guide for Amazon GuardDuty's
655// API operation CreateThreatIntelSet for usage and error information.
656//
657// Returned Error Codes:
658//   * ErrCodeBadRequestException "BadRequestException"
659//   Bad request exception object.
660//
661//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
662//   Internal server error exception object.
663//
664// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateThreatIntelSet
665func (c *GuardDuty) CreateThreatIntelSet(input *CreateThreatIntelSetInput) (*CreateThreatIntelSetOutput, error) {
666	req, out := c.CreateThreatIntelSetRequest(input)
667	return out, req.Send()
668}
669
670// CreateThreatIntelSetWithContext is the same as CreateThreatIntelSet with the addition of
671// the ability to pass a context and additional request options.
672//
673// See CreateThreatIntelSet for details on how to use this API operation.
674//
675// The context must be non-nil and will be used for request cancellation. If
676// the context is nil a panic will occur. In the future the SDK may create
677// sub-contexts for http.Requests. See https://golang.org/pkg/context/
678// for more information on using Contexts.
679func (c *GuardDuty) CreateThreatIntelSetWithContext(ctx aws.Context, input *CreateThreatIntelSetInput, opts ...request.Option) (*CreateThreatIntelSetOutput, error) {
680	req, out := c.CreateThreatIntelSetRequest(input)
681	req.SetContext(ctx)
682	req.ApplyOptions(opts...)
683	return out, req.Send()
684}
685
686const opDeclineInvitations = "DeclineInvitations"
687
688// DeclineInvitationsRequest generates a "aws/request.Request" representing the
689// client's request for the DeclineInvitations operation. The "output" return
690// value will be populated with the request's response once the request completes
691// successfully.
692//
693// Use "Send" method on the returned Request to send the API call to the service.
694// the "output" return value is not valid until after Send returns without error.
695//
696// See DeclineInvitations for more information on using the DeclineInvitations
697// API call, and error handling.
698//
699// This method is useful when you want to inject custom logic or configuration
700// into the SDK's request lifecycle. Such as custom headers, or retry logic.
701//
702//
703//    // Example sending a request using the DeclineInvitationsRequest method.
704//    req, resp := client.DeclineInvitationsRequest(params)
705//
706//    err := req.Send()
707//    if err == nil { // resp is now filled
708//        fmt.Println(resp)
709//    }
710//
711// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeclineInvitations
712func (c *GuardDuty) DeclineInvitationsRequest(input *DeclineInvitationsInput) (req *request.Request, output *DeclineInvitationsOutput) {
713	op := &request.Operation{
714		Name:       opDeclineInvitations,
715		HTTPMethod: "POST",
716		HTTPPath:   "/invitation/decline",
717	}
718
719	if input == nil {
720		input = &DeclineInvitationsInput{}
721	}
722
723	output = &DeclineInvitationsOutput{}
724	req = c.newRequest(op, input, output)
725	return
726}
727
728// DeclineInvitations API operation for Amazon GuardDuty.
729//
730// Declines invitations sent to the current member account by AWS account specified
731// by their account IDs.
732//
733// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
734// with awserr.Error's Code and Message methods to get detailed information about
735// the error.
736//
737// See the AWS API reference guide for Amazon GuardDuty's
738// API operation DeclineInvitations for usage and error information.
739//
740// Returned Error Codes:
741//   * ErrCodeBadRequestException "BadRequestException"
742//   Bad request exception object.
743//
744//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
745//   Internal server error exception object.
746//
747// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeclineInvitations
748func (c *GuardDuty) DeclineInvitations(input *DeclineInvitationsInput) (*DeclineInvitationsOutput, error) {
749	req, out := c.DeclineInvitationsRequest(input)
750	return out, req.Send()
751}
752
753// DeclineInvitationsWithContext is the same as DeclineInvitations with the addition of
754// the ability to pass a context and additional request options.
755//
756// See DeclineInvitations for details on how to use this API operation.
757//
758// The context must be non-nil and will be used for request cancellation. If
759// the context is nil a panic will occur. In the future the SDK may create
760// sub-contexts for http.Requests. See https://golang.org/pkg/context/
761// for more information on using Contexts.
762func (c *GuardDuty) DeclineInvitationsWithContext(ctx aws.Context, input *DeclineInvitationsInput, opts ...request.Option) (*DeclineInvitationsOutput, error) {
763	req, out := c.DeclineInvitationsRequest(input)
764	req.SetContext(ctx)
765	req.ApplyOptions(opts...)
766	return out, req.Send()
767}
768
769const opDeleteDetector = "DeleteDetector"
770
771// DeleteDetectorRequest generates a "aws/request.Request" representing the
772// client's request for the DeleteDetector operation. The "output" return
773// value will be populated with the request's response once the request completes
774// successfully.
775//
776// Use "Send" method on the returned Request to send the API call to the service.
777// the "output" return value is not valid until after Send returns without error.
778//
779// See DeleteDetector for more information on using the DeleteDetector
780// API call, and error handling.
781//
782// This method is useful when you want to inject custom logic or configuration
783// into the SDK's request lifecycle. Such as custom headers, or retry logic.
784//
785//
786//    // Example sending a request using the DeleteDetectorRequest method.
787//    req, resp := client.DeleteDetectorRequest(params)
788//
789//    err := req.Send()
790//    if err == nil { // resp is now filled
791//        fmt.Println(resp)
792//    }
793//
794// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteDetector
795func (c *GuardDuty) DeleteDetectorRequest(input *DeleteDetectorInput) (req *request.Request, output *DeleteDetectorOutput) {
796	op := &request.Operation{
797		Name:       opDeleteDetector,
798		HTTPMethod: "DELETE",
799		HTTPPath:   "/detector/{detectorId}",
800	}
801
802	if input == nil {
803		input = &DeleteDetectorInput{}
804	}
805
806	output = &DeleteDetectorOutput{}
807	req = c.newRequest(op, input, output)
808	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
809	return
810}
811
812// DeleteDetector API operation for Amazon GuardDuty.
813//
814// Deletes a Amazon GuardDuty detector specified by the detector ID.
815//
816// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
817// with awserr.Error's Code and Message methods to get detailed information about
818// the error.
819//
820// See the AWS API reference guide for Amazon GuardDuty's
821// API operation DeleteDetector for usage and error information.
822//
823// Returned Error Codes:
824//   * ErrCodeBadRequestException "BadRequestException"
825//   Bad request exception object.
826//
827//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
828//   Internal server error exception object.
829//
830// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteDetector
831func (c *GuardDuty) DeleteDetector(input *DeleteDetectorInput) (*DeleteDetectorOutput, error) {
832	req, out := c.DeleteDetectorRequest(input)
833	return out, req.Send()
834}
835
836// DeleteDetectorWithContext is the same as DeleteDetector with the addition of
837// the ability to pass a context and additional request options.
838//
839// See DeleteDetector for details on how to use this API operation.
840//
841// The context must be non-nil and will be used for request cancellation. If
842// the context is nil a panic will occur. In the future the SDK may create
843// sub-contexts for http.Requests. See https://golang.org/pkg/context/
844// for more information on using Contexts.
845func (c *GuardDuty) DeleteDetectorWithContext(ctx aws.Context, input *DeleteDetectorInput, opts ...request.Option) (*DeleteDetectorOutput, error) {
846	req, out := c.DeleteDetectorRequest(input)
847	req.SetContext(ctx)
848	req.ApplyOptions(opts...)
849	return out, req.Send()
850}
851
852const opDeleteFilter = "DeleteFilter"
853
854// DeleteFilterRequest generates a "aws/request.Request" representing the
855// client's request for the DeleteFilter operation. The "output" return
856// value will be populated with the request's response once the request completes
857// successfully.
858//
859// Use "Send" method on the returned Request to send the API call to the service.
860// the "output" return value is not valid until after Send returns without error.
861//
862// See DeleteFilter for more information on using the DeleteFilter
863// API call, and error handling.
864//
865// This method is useful when you want to inject custom logic or configuration
866// into the SDK's request lifecycle. Such as custom headers, or retry logic.
867//
868//
869//    // Example sending a request using the DeleteFilterRequest method.
870//    req, resp := client.DeleteFilterRequest(params)
871//
872//    err := req.Send()
873//    if err == nil { // resp is now filled
874//        fmt.Println(resp)
875//    }
876//
877// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteFilter
878func (c *GuardDuty) DeleteFilterRequest(input *DeleteFilterInput) (req *request.Request, output *DeleteFilterOutput) {
879	op := &request.Operation{
880		Name:       opDeleteFilter,
881		HTTPMethod: "DELETE",
882		HTTPPath:   "/detector/{detectorId}/filter/{filterName}",
883	}
884
885	if input == nil {
886		input = &DeleteFilterInput{}
887	}
888
889	output = &DeleteFilterOutput{}
890	req = c.newRequest(op, input, output)
891	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
892	return
893}
894
895// DeleteFilter API operation for Amazon GuardDuty.
896//
897// Deletes the filter specified by the filter name.
898//
899// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
900// with awserr.Error's Code and Message methods to get detailed information about
901// the error.
902//
903// See the AWS API reference guide for Amazon GuardDuty's
904// API operation DeleteFilter for usage and error information.
905//
906// Returned Error Codes:
907//   * ErrCodeBadRequestException "BadRequestException"
908//   Bad request exception object.
909//
910//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
911//   Internal server error exception object.
912//
913// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteFilter
914func (c *GuardDuty) DeleteFilter(input *DeleteFilterInput) (*DeleteFilterOutput, error) {
915	req, out := c.DeleteFilterRequest(input)
916	return out, req.Send()
917}
918
919// DeleteFilterWithContext is the same as DeleteFilter with the addition of
920// the ability to pass a context and additional request options.
921//
922// See DeleteFilter for details on how to use this API operation.
923//
924// The context must be non-nil and will be used for request cancellation. If
925// the context is nil a panic will occur. In the future the SDK may create
926// sub-contexts for http.Requests. See https://golang.org/pkg/context/
927// for more information on using Contexts.
928func (c *GuardDuty) DeleteFilterWithContext(ctx aws.Context, input *DeleteFilterInput, opts ...request.Option) (*DeleteFilterOutput, error) {
929	req, out := c.DeleteFilterRequest(input)
930	req.SetContext(ctx)
931	req.ApplyOptions(opts...)
932	return out, req.Send()
933}
934
935const opDeleteIPSet = "DeleteIPSet"
936
937// DeleteIPSetRequest generates a "aws/request.Request" representing the
938// client's request for the DeleteIPSet operation. The "output" return
939// value will be populated with the request's response once the request completes
940// successfully.
941//
942// Use "Send" method on the returned Request to send the API call to the service.
943// the "output" return value is not valid until after Send returns without error.
944//
945// See DeleteIPSet for more information on using the DeleteIPSet
946// API call, and error handling.
947//
948// This method is useful when you want to inject custom logic or configuration
949// into the SDK's request lifecycle. Such as custom headers, or retry logic.
950//
951//
952//    // Example sending a request using the DeleteIPSetRequest method.
953//    req, resp := client.DeleteIPSetRequest(params)
954//
955//    err := req.Send()
956//    if err == nil { // resp is now filled
957//        fmt.Println(resp)
958//    }
959//
960// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteIPSet
961func (c *GuardDuty) DeleteIPSetRequest(input *DeleteIPSetInput) (req *request.Request, output *DeleteIPSetOutput) {
962	op := &request.Operation{
963		Name:       opDeleteIPSet,
964		HTTPMethod: "DELETE",
965		HTTPPath:   "/detector/{detectorId}/ipset/{ipSetId}",
966	}
967
968	if input == nil {
969		input = &DeleteIPSetInput{}
970	}
971
972	output = &DeleteIPSetOutput{}
973	req = c.newRequest(op, input, output)
974	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
975	return
976}
977
978// DeleteIPSet API operation for Amazon GuardDuty.
979//
980// Deletes the IPSet specified by the IPSet ID.
981//
982// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
983// with awserr.Error's Code and Message methods to get detailed information about
984// the error.
985//
986// See the AWS API reference guide for Amazon GuardDuty's
987// API operation DeleteIPSet for usage and error information.
988//
989// Returned Error Codes:
990//   * ErrCodeBadRequestException "BadRequestException"
991//   Bad request exception object.
992//
993//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
994//   Internal server error exception object.
995//
996// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteIPSet
997func (c *GuardDuty) DeleteIPSet(input *DeleteIPSetInput) (*DeleteIPSetOutput, error) {
998	req, out := c.DeleteIPSetRequest(input)
999	return out, req.Send()
1000}
1001
1002// DeleteIPSetWithContext is the same as DeleteIPSet with the addition of
1003// the ability to pass a context and additional request options.
1004//
1005// See DeleteIPSet for details on how to use this API operation.
1006//
1007// The context must be non-nil and will be used for request cancellation. If
1008// the context is nil a panic will occur. In the future the SDK may create
1009// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1010// for more information on using Contexts.
1011func (c *GuardDuty) DeleteIPSetWithContext(ctx aws.Context, input *DeleteIPSetInput, opts ...request.Option) (*DeleteIPSetOutput, error) {
1012	req, out := c.DeleteIPSetRequest(input)
1013	req.SetContext(ctx)
1014	req.ApplyOptions(opts...)
1015	return out, req.Send()
1016}
1017
1018const opDeleteInvitations = "DeleteInvitations"
1019
1020// DeleteInvitationsRequest generates a "aws/request.Request" representing the
1021// client's request for the DeleteInvitations operation. The "output" return
1022// value will be populated with the request's response once the request completes
1023// successfully.
1024//
1025// Use "Send" method on the returned Request to send the API call to the service.
1026// the "output" return value is not valid until after Send returns without error.
1027//
1028// See DeleteInvitations for more information on using the DeleteInvitations
1029// API call, and error handling.
1030//
1031// This method is useful when you want to inject custom logic or configuration
1032// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1033//
1034//
1035//    // Example sending a request using the DeleteInvitationsRequest method.
1036//    req, resp := client.DeleteInvitationsRequest(params)
1037//
1038//    err := req.Send()
1039//    if err == nil { // resp is now filled
1040//        fmt.Println(resp)
1041//    }
1042//
1043// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteInvitations
1044func (c *GuardDuty) DeleteInvitationsRequest(input *DeleteInvitationsInput) (req *request.Request, output *DeleteInvitationsOutput) {
1045	op := &request.Operation{
1046		Name:       opDeleteInvitations,
1047		HTTPMethod: "POST",
1048		HTTPPath:   "/invitation/delete",
1049	}
1050
1051	if input == nil {
1052		input = &DeleteInvitationsInput{}
1053	}
1054
1055	output = &DeleteInvitationsOutput{}
1056	req = c.newRequest(op, input, output)
1057	return
1058}
1059
1060// DeleteInvitations API operation for Amazon GuardDuty.
1061//
1062// Deletes invitations sent to the current member account by AWS accounts specified
1063// by their account IDs.
1064//
1065// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1066// with awserr.Error's Code and Message methods to get detailed information about
1067// the error.
1068//
1069// See the AWS API reference guide for Amazon GuardDuty's
1070// API operation DeleteInvitations for usage and error information.
1071//
1072// Returned Error Codes:
1073//   * ErrCodeBadRequestException "BadRequestException"
1074//   Bad request exception object.
1075//
1076//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1077//   Internal server error exception object.
1078//
1079// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteInvitations
1080func (c *GuardDuty) DeleteInvitations(input *DeleteInvitationsInput) (*DeleteInvitationsOutput, error) {
1081	req, out := c.DeleteInvitationsRequest(input)
1082	return out, req.Send()
1083}
1084
1085// DeleteInvitationsWithContext is the same as DeleteInvitations with the addition of
1086// the ability to pass a context and additional request options.
1087//
1088// See DeleteInvitations for details on how to use this API operation.
1089//
1090// The context must be non-nil and will be used for request cancellation. If
1091// the context is nil a panic will occur. In the future the SDK may create
1092// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1093// for more information on using Contexts.
1094func (c *GuardDuty) DeleteInvitationsWithContext(ctx aws.Context, input *DeleteInvitationsInput, opts ...request.Option) (*DeleteInvitationsOutput, error) {
1095	req, out := c.DeleteInvitationsRequest(input)
1096	req.SetContext(ctx)
1097	req.ApplyOptions(opts...)
1098	return out, req.Send()
1099}
1100
1101const opDeleteMembers = "DeleteMembers"
1102
1103// DeleteMembersRequest generates a "aws/request.Request" representing the
1104// client's request for the DeleteMembers operation. The "output" return
1105// value will be populated with the request's response once the request completes
1106// successfully.
1107//
1108// Use "Send" method on the returned Request to send the API call to the service.
1109// the "output" return value is not valid until after Send returns without error.
1110//
1111// See DeleteMembers for more information on using the DeleteMembers
1112// API call, and error handling.
1113//
1114// This method is useful when you want to inject custom logic or configuration
1115// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1116//
1117//
1118//    // Example sending a request using the DeleteMembersRequest method.
1119//    req, resp := client.DeleteMembersRequest(params)
1120//
1121//    err := req.Send()
1122//    if err == nil { // resp is now filled
1123//        fmt.Println(resp)
1124//    }
1125//
1126// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteMembers
1127func (c *GuardDuty) DeleteMembersRequest(input *DeleteMembersInput) (req *request.Request, output *DeleteMembersOutput) {
1128	op := &request.Operation{
1129		Name:       opDeleteMembers,
1130		HTTPMethod: "POST",
1131		HTTPPath:   "/detector/{detectorId}/member/delete",
1132	}
1133
1134	if input == nil {
1135		input = &DeleteMembersInput{}
1136	}
1137
1138	output = &DeleteMembersOutput{}
1139	req = c.newRequest(op, input, output)
1140	return
1141}
1142
1143// DeleteMembers API operation for Amazon GuardDuty.
1144//
1145// Deletes GuardDuty member accounts (to the current GuardDuty master account)
1146// specified by the account IDs.
1147//
1148// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1149// with awserr.Error's Code and Message methods to get detailed information about
1150// the error.
1151//
1152// See the AWS API reference guide for Amazon GuardDuty's
1153// API operation DeleteMembers for usage and error information.
1154//
1155// Returned Error Codes:
1156//   * ErrCodeBadRequestException "BadRequestException"
1157//   Bad request exception object.
1158//
1159//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1160//   Internal server error exception object.
1161//
1162// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteMembers
1163func (c *GuardDuty) DeleteMembers(input *DeleteMembersInput) (*DeleteMembersOutput, error) {
1164	req, out := c.DeleteMembersRequest(input)
1165	return out, req.Send()
1166}
1167
1168// DeleteMembersWithContext is the same as DeleteMembers with the addition of
1169// the ability to pass a context and additional request options.
1170//
1171// See DeleteMembers for details on how to use this API operation.
1172//
1173// The context must be non-nil and will be used for request cancellation. If
1174// the context is nil a panic will occur. In the future the SDK may create
1175// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1176// for more information on using Contexts.
1177func (c *GuardDuty) DeleteMembersWithContext(ctx aws.Context, input *DeleteMembersInput, opts ...request.Option) (*DeleteMembersOutput, error) {
1178	req, out := c.DeleteMembersRequest(input)
1179	req.SetContext(ctx)
1180	req.ApplyOptions(opts...)
1181	return out, req.Send()
1182}
1183
1184const opDeleteThreatIntelSet = "DeleteThreatIntelSet"
1185
1186// DeleteThreatIntelSetRequest generates a "aws/request.Request" representing the
1187// client's request for the DeleteThreatIntelSet operation. The "output" return
1188// value will be populated with the request's response once the request completes
1189// successfully.
1190//
1191// Use "Send" method on the returned Request to send the API call to the service.
1192// the "output" return value is not valid until after Send returns without error.
1193//
1194// See DeleteThreatIntelSet for more information on using the DeleteThreatIntelSet
1195// API call, and error handling.
1196//
1197// This method is useful when you want to inject custom logic or configuration
1198// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1199//
1200//
1201//    // Example sending a request using the DeleteThreatIntelSetRequest method.
1202//    req, resp := client.DeleteThreatIntelSetRequest(params)
1203//
1204//    err := req.Send()
1205//    if err == nil { // resp is now filled
1206//        fmt.Println(resp)
1207//    }
1208//
1209// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteThreatIntelSet
1210func (c *GuardDuty) DeleteThreatIntelSetRequest(input *DeleteThreatIntelSetInput) (req *request.Request, output *DeleteThreatIntelSetOutput) {
1211	op := &request.Operation{
1212		Name:       opDeleteThreatIntelSet,
1213		HTTPMethod: "DELETE",
1214		HTTPPath:   "/detector/{detectorId}/threatintelset/{threatIntelSetId}",
1215	}
1216
1217	if input == nil {
1218		input = &DeleteThreatIntelSetInput{}
1219	}
1220
1221	output = &DeleteThreatIntelSetOutput{}
1222	req = c.newRequest(op, input, output)
1223	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1224	return
1225}
1226
1227// DeleteThreatIntelSet API operation for Amazon GuardDuty.
1228//
1229// Deletes ThreatIntelSet specified by the ThreatIntelSet ID.
1230//
1231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1232// with awserr.Error's Code and Message methods to get detailed information about
1233// the error.
1234//
1235// See the AWS API reference guide for Amazon GuardDuty's
1236// API operation DeleteThreatIntelSet for usage and error information.
1237//
1238// Returned Error Codes:
1239//   * ErrCodeBadRequestException "BadRequestException"
1240//   Bad request exception object.
1241//
1242//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1243//   Internal server error exception object.
1244//
1245// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteThreatIntelSet
1246func (c *GuardDuty) DeleteThreatIntelSet(input *DeleteThreatIntelSetInput) (*DeleteThreatIntelSetOutput, error) {
1247	req, out := c.DeleteThreatIntelSetRequest(input)
1248	return out, req.Send()
1249}
1250
1251// DeleteThreatIntelSetWithContext is the same as DeleteThreatIntelSet with the addition of
1252// the ability to pass a context and additional request options.
1253//
1254// See DeleteThreatIntelSet for details on how to use this API operation.
1255//
1256// The context must be non-nil and will be used for request cancellation. If
1257// the context is nil a panic will occur. In the future the SDK may create
1258// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1259// for more information on using Contexts.
1260func (c *GuardDuty) DeleteThreatIntelSetWithContext(ctx aws.Context, input *DeleteThreatIntelSetInput, opts ...request.Option) (*DeleteThreatIntelSetOutput, error) {
1261	req, out := c.DeleteThreatIntelSetRequest(input)
1262	req.SetContext(ctx)
1263	req.ApplyOptions(opts...)
1264	return out, req.Send()
1265}
1266
1267const opDisassociateFromMasterAccount = "DisassociateFromMasterAccount"
1268
1269// DisassociateFromMasterAccountRequest generates a "aws/request.Request" representing the
1270// client's request for the DisassociateFromMasterAccount operation. The "output" return
1271// value will be populated with the request's response once the request completes
1272// successfully.
1273//
1274// Use "Send" method on the returned Request to send the API call to the service.
1275// the "output" return value is not valid until after Send returns without error.
1276//
1277// See DisassociateFromMasterAccount for more information on using the DisassociateFromMasterAccount
1278// API call, and error handling.
1279//
1280// This method is useful when you want to inject custom logic or configuration
1281// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1282//
1283//
1284//    // Example sending a request using the DisassociateFromMasterAccountRequest method.
1285//    req, resp := client.DisassociateFromMasterAccountRequest(params)
1286//
1287//    err := req.Send()
1288//    if err == nil { // resp is now filled
1289//        fmt.Println(resp)
1290//    }
1291//
1292// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateFromMasterAccount
1293func (c *GuardDuty) DisassociateFromMasterAccountRequest(input *DisassociateFromMasterAccountInput) (req *request.Request, output *DisassociateFromMasterAccountOutput) {
1294	op := &request.Operation{
1295		Name:       opDisassociateFromMasterAccount,
1296		HTTPMethod: "POST",
1297		HTTPPath:   "/detector/{detectorId}/master/disassociate",
1298	}
1299
1300	if input == nil {
1301		input = &DisassociateFromMasterAccountInput{}
1302	}
1303
1304	output = &DisassociateFromMasterAccountOutput{}
1305	req = c.newRequest(op, input, output)
1306	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1307	return
1308}
1309
1310// DisassociateFromMasterAccount API operation for Amazon GuardDuty.
1311//
1312// Disassociates the current GuardDuty member account from its master account.
1313//
1314// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1315// with awserr.Error's Code and Message methods to get detailed information about
1316// the error.
1317//
1318// See the AWS API reference guide for Amazon GuardDuty's
1319// API operation DisassociateFromMasterAccount for usage and error information.
1320//
1321// Returned Error Codes:
1322//   * ErrCodeBadRequestException "BadRequestException"
1323//   Bad request exception object.
1324//
1325//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1326//   Internal server error exception object.
1327//
1328// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateFromMasterAccount
1329func (c *GuardDuty) DisassociateFromMasterAccount(input *DisassociateFromMasterAccountInput) (*DisassociateFromMasterAccountOutput, error) {
1330	req, out := c.DisassociateFromMasterAccountRequest(input)
1331	return out, req.Send()
1332}
1333
1334// DisassociateFromMasterAccountWithContext is the same as DisassociateFromMasterAccount with the addition of
1335// the ability to pass a context and additional request options.
1336//
1337// See DisassociateFromMasterAccount for details on how to use this API operation.
1338//
1339// The context must be non-nil and will be used for request cancellation. If
1340// the context is nil a panic will occur. In the future the SDK may create
1341// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1342// for more information on using Contexts.
1343func (c *GuardDuty) DisassociateFromMasterAccountWithContext(ctx aws.Context, input *DisassociateFromMasterAccountInput, opts ...request.Option) (*DisassociateFromMasterAccountOutput, error) {
1344	req, out := c.DisassociateFromMasterAccountRequest(input)
1345	req.SetContext(ctx)
1346	req.ApplyOptions(opts...)
1347	return out, req.Send()
1348}
1349
1350const opDisassociateMembers = "DisassociateMembers"
1351
1352// DisassociateMembersRequest generates a "aws/request.Request" representing the
1353// client's request for the DisassociateMembers operation. The "output" return
1354// value will be populated with the request's response once the request completes
1355// successfully.
1356//
1357// Use "Send" method on the returned Request to send the API call to the service.
1358// the "output" return value is not valid until after Send returns without error.
1359//
1360// See DisassociateMembers for more information on using the DisassociateMembers
1361// API call, and error handling.
1362//
1363// This method is useful when you want to inject custom logic or configuration
1364// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1365//
1366//
1367//    // Example sending a request using the DisassociateMembersRequest method.
1368//    req, resp := client.DisassociateMembersRequest(params)
1369//
1370//    err := req.Send()
1371//    if err == nil { // resp is now filled
1372//        fmt.Println(resp)
1373//    }
1374//
1375// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateMembers
1376func (c *GuardDuty) DisassociateMembersRequest(input *DisassociateMembersInput) (req *request.Request, output *DisassociateMembersOutput) {
1377	op := &request.Operation{
1378		Name:       opDisassociateMembers,
1379		HTTPMethod: "POST",
1380		HTTPPath:   "/detector/{detectorId}/member/disassociate",
1381	}
1382
1383	if input == nil {
1384		input = &DisassociateMembersInput{}
1385	}
1386
1387	output = &DisassociateMembersOutput{}
1388	req = c.newRequest(op, input, output)
1389	return
1390}
1391
1392// DisassociateMembers API operation for Amazon GuardDuty.
1393//
1394// Disassociates GuardDuty member accounts (to the current GuardDuty master
1395// account) specified by the account IDs.
1396//
1397// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1398// with awserr.Error's Code and Message methods to get detailed information about
1399// the error.
1400//
1401// See the AWS API reference guide for Amazon GuardDuty's
1402// API operation DisassociateMembers for usage and error information.
1403//
1404// Returned Error Codes:
1405//   * ErrCodeBadRequestException "BadRequestException"
1406//   Bad request exception object.
1407//
1408//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1409//   Internal server error exception object.
1410//
1411// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateMembers
1412func (c *GuardDuty) DisassociateMembers(input *DisassociateMembersInput) (*DisassociateMembersOutput, error) {
1413	req, out := c.DisassociateMembersRequest(input)
1414	return out, req.Send()
1415}
1416
1417// DisassociateMembersWithContext is the same as DisassociateMembers with the addition of
1418// the ability to pass a context and additional request options.
1419//
1420// See DisassociateMembers for details on how to use this API operation.
1421//
1422// The context must be non-nil and will be used for request cancellation. If
1423// the context is nil a panic will occur. In the future the SDK may create
1424// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1425// for more information on using Contexts.
1426func (c *GuardDuty) DisassociateMembersWithContext(ctx aws.Context, input *DisassociateMembersInput, opts ...request.Option) (*DisassociateMembersOutput, error) {
1427	req, out := c.DisassociateMembersRequest(input)
1428	req.SetContext(ctx)
1429	req.ApplyOptions(opts...)
1430	return out, req.Send()
1431}
1432
1433const opGetDetector = "GetDetector"
1434
1435// GetDetectorRequest generates a "aws/request.Request" representing the
1436// client's request for the GetDetector operation. The "output" return
1437// value will be populated with the request's response once the request completes
1438// successfully.
1439//
1440// Use "Send" method on the returned Request to send the API call to the service.
1441// the "output" return value is not valid until after Send returns without error.
1442//
1443// See GetDetector for more information on using the GetDetector
1444// API call, and error handling.
1445//
1446// This method is useful when you want to inject custom logic or configuration
1447// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1448//
1449//
1450//    // Example sending a request using the GetDetectorRequest method.
1451//    req, resp := client.GetDetectorRequest(params)
1452//
1453//    err := req.Send()
1454//    if err == nil { // resp is now filled
1455//        fmt.Println(resp)
1456//    }
1457//
1458// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetDetector
1459func (c *GuardDuty) GetDetectorRequest(input *GetDetectorInput) (req *request.Request, output *GetDetectorOutput) {
1460	op := &request.Operation{
1461		Name:       opGetDetector,
1462		HTTPMethod: "GET",
1463		HTTPPath:   "/detector/{detectorId}",
1464	}
1465
1466	if input == nil {
1467		input = &GetDetectorInput{}
1468	}
1469
1470	output = &GetDetectorOutput{}
1471	req = c.newRequest(op, input, output)
1472	return
1473}
1474
1475// GetDetector API operation for Amazon GuardDuty.
1476//
1477// Retrieves an Amazon GuardDuty detector specified by the detectorId.
1478//
1479// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1480// with awserr.Error's Code and Message methods to get detailed information about
1481// the error.
1482//
1483// See the AWS API reference guide for Amazon GuardDuty's
1484// API operation GetDetector for usage and error information.
1485//
1486// Returned Error Codes:
1487//   * ErrCodeBadRequestException "BadRequestException"
1488//   Bad request exception object.
1489//
1490//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1491//   Internal server error exception object.
1492//
1493// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetDetector
1494func (c *GuardDuty) GetDetector(input *GetDetectorInput) (*GetDetectorOutput, error) {
1495	req, out := c.GetDetectorRequest(input)
1496	return out, req.Send()
1497}
1498
1499// GetDetectorWithContext is the same as GetDetector with the addition of
1500// the ability to pass a context and additional request options.
1501//
1502// See GetDetector for details on how to use this API operation.
1503//
1504// The context must be non-nil and will be used for request cancellation. If
1505// the context is nil a panic will occur. In the future the SDK may create
1506// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1507// for more information on using Contexts.
1508func (c *GuardDuty) GetDetectorWithContext(ctx aws.Context, input *GetDetectorInput, opts ...request.Option) (*GetDetectorOutput, error) {
1509	req, out := c.GetDetectorRequest(input)
1510	req.SetContext(ctx)
1511	req.ApplyOptions(opts...)
1512	return out, req.Send()
1513}
1514
1515const opGetFilter = "GetFilter"
1516
1517// GetFilterRequest generates a "aws/request.Request" representing the
1518// client's request for the GetFilter operation. The "output" return
1519// value will be populated with the request's response once the request completes
1520// successfully.
1521//
1522// Use "Send" method on the returned Request to send the API call to the service.
1523// the "output" return value is not valid until after Send returns without error.
1524//
1525// See GetFilter for more information on using the GetFilter
1526// API call, and error handling.
1527//
1528// This method is useful when you want to inject custom logic or configuration
1529// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1530//
1531//
1532//    // Example sending a request using the GetFilterRequest method.
1533//    req, resp := client.GetFilterRequest(params)
1534//
1535//    err := req.Send()
1536//    if err == nil { // resp is now filled
1537//        fmt.Println(resp)
1538//    }
1539//
1540// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFilter
1541func (c *GuardDuty) GetFilterRequest(input *GetFilterInput) (req *request.Request, output *GetFilterOutput) {
1542	op := &request.Operation{
1543		Name:       opGetFilter,
1544		HTTPMethod: "GET",
1545		HTTPPath:   "/detector/{detectorId}/filter/{filterName}",
1546	}
1547
1548	if input == nil {
1549		input = &GetFilterInput{}
1550	}
1551
1552	output = &GetFilterOutput{}
1553	req = c.newRequest(op, input, output)
1554	return
1555}
1556
1557// GetFilter API operation for Amazon GuardDuty.
1558//
1559// Returns the details of the filter specified by the filter name.
1560//
1561// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1562// with awserr.Error's Code and Message methods to get detailed information about
1563// the error.
1564//
1565// See the AWS API reference guide for Amazon GuardDuty's
1566// API operation GetFilter for usage and error information.
1567//
1568// Returned Error Codes:
1569//   * ErrCodeBadRequestException "BadRequestException"
1570//   Bad request exception object.
1571//
1572//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1573//   Internal server error exception object.
1574//
1575// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFilter
1576func (c *GuardDuty) GetFilter(input *GetFilterInput) (*GetFilterOutput, error) {
1577	req, out := c.GetFilterRequest(input)
1578	return out, req.Send()
1579}
1580
1581// GetFilterWithContext is the same as GetFilter with the addition of
1582// the ability to pass a context and additional request options.
1583//
1584// See GetFilter for details on how to use this API operation.
1585//
1586// The context must be non-nil and will be used for request cancellation. If
1587// the context is nil a panic will occur. In the future the SDK may create
1588// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1589// for more information on using Contexts.
1590func (c *GuardDuty) GetFilterWithContext(ctx aws.Context, input *GetFilterInput, opts ...request.Option) (*GetFilterOutput, error) {
1591	req, out := c.GetFilterRequest(input)
1592	req.SetContext(ctx)
1593	req.ApplyOptions(opts...)
1594	return out, req.Send()
1595}
1596
1597const opGetFindings = "GetFindings"
1598
1599// GetFindingsRequest generates a "aws/request.Request" representing the
1600// client's request for the GetFindings operation. The "output" return
1601// value will be populated with the request's response once the request completes
1602// successfully.
1603//
1604// Use "Send" method on the returned Request to send the API call to the service.
1605// the "output" return value is not valid until after Send returns without error.
1606//
1607// See GetFindings for more information on using the GetFindings
1608// API call, and error handling.
1609//
1610// This method is useful when you want to inject custom logic or configuration
1611// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1612//
1613//
1614//    // Example sending a request using the GetFindingsRequest method.
1615//    req, resp := client.GetFindingsRequest(params)
1616//
1617//    err := req.Send()
1618//    if err == nil { // resp is now filled
1619//        fmt.Println(resp)
1620//    }
1621//
1622// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFindings
1623func (c *GuardDuty) GetFindingsRequest(input *GetFindingsInput) (req *request.Request, output *GetFindingsOutput) {
1624	op := &request.Operation{
1625		Name:       opGetFindings,
1626		HTTPMethod: "POST",
1627		HTTPPath:   "/detector/{detectorId}/findings/get",
1628	}
1629
1630	if input == nil {
1631		input = &GetFindingsInput{}
1632	}
1633
1634	output = &GetFindingsOutput{}
1635	req = c.newRequest(op, input, output)
1636	return
1637}
1638
1639// GetFindings API operation for Amazon GuardDuty.
1640//
1641// Describes Amazon GuardDuty findings specified by finding IDs.
1642//
1643// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1644// with awserr.Error's Code and Message methods to get detailed information about
1645// the error.
1646//
1647// See the AWS API reference guide for Amazon GuardDuty's
1648// API operation GetFindings for usage and error information.
1649//
1650// Returned Error Codes:
1651//   * ErrCodeBadRequestException "BadRequestException"
1652//   Bad request exception object.
1653//
1654//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1655//   Internal server error exception object.
1656//
1657// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFindings
1658func (c *GuardDuty) GetFindings(input *GetFindingsInput) (*GetFindingsOutput, error) {
1659	req, out := c.GetFindingsRequest(input)
1660	return out, req.Send()
1661}
1662
1663// GetFindingsWithContext is the same as GetFindings with the addition of
1664// the ability to pass a context and additional request options.
1665//
1666// See GetFindings for details on how to use this API operation.
1667//
1668// The context must be non-nil and will be used for request cancellation. If
1669// the context is nil a panic will occur. In the future the SDK may create
1670// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1671// for more information on using Contexts.
1672func (c *GuardDuty) GetFindingsWithContext(ctx aws.Context, input *GetFindingsInput, opts ...request.Option) (*GetFindingsOutput, error) {
1673	req, out := c.GetFindingsRequest(input)
1674	req.SetContext(ctx)
1675	req.ApplyOptions(opts...)
1676	return out, req.Send()
1677}
1678
1679const opGetFindingsStatistics = "GetFindingsStatistics"
1680
1681// GetFindingsStatisticsRequest generates a "aws/request.Request" representing the
1682// client's request for the GetFindingsStatistics operation. The "output" return
1683// value will be populated with the request's response once the request completes
1684// successfully.
1685//
1686// Use "Send" method on the returned Request to send the API call to the service.
1687// the "output" return value is not valid until after Send returns without error.
1688//
1689// See GetFindingsStatistics for more information on using the GetFindingsStatistics
1690// API call, and error handling.
1691//
1692// This method is useful when you want to inject custom logic or configuration
1693// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1694//
1695//
1696//    // Example sending a request using the GetFindingsStatisticsRequest method.
1697//    req, resp := client.GetFindingsStatisticsRequest(params)
1698//
1699//    err := req.Send()
1700//    if err == nil { // resp is now filled
1701//        fmt.Println(resp)
1702//    }
1703//
1704// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFindingsStatistics
1705func (c *GuardDuty) GetFindingsStatisticsRequest(input *GetFindingsStatisticsInput) (req *request.Request, output *GetFindingsStatisticsOutput) {
1706	op := &request.Operation{
1707		Name:       opGetFindingsStatistics,
1708		HTTPMethod: "POST",
1709		HTTPPath:   "/detector/{detectorId}/findings/statistics",
1710	}
1711
1712	if input == nil {
1713		input = &GetFindingsStatisticsInput{}
1714	}
1715
1716	output = &GetFindingsStatisticsOutput{}
1717	req = c.newRequest(op, input, output)
1718	return
1719}
1720
1721// GetFindingsStatistics API operation for Amazon GuardDuty.
1722//
1723// Lists Amazon GuardDuty findings' statistics for the specified detector ID.
1724//
1725// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1726// with awserr.Error's Code and Message methods to get detailed information about
1727// the error.
1728//
1729// See the AWS API reference guide for Amazon GuardDuty's
1730// API operation GetFindingsStatistics for usage and error information.
1731//
1732// Returned Error Codes:
1733//   * ErrCodeBadRequestException "BadRequestException"
1734//   Bad request exception object.
1735//
1736//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1737//   Internal server error exception object.
1738//
1739// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFindingsStatistics
1740func (c *GuardDuty) GetFindingsStatistics(input *GetFindingsStatisticsInput) (*GetFindingsStatisticsOutput, error) {
1741	req, out := c.GetFindingsStatisticsRequest(input)
1742	return out, req.Send()
1743}
1744
1745// GetFindingsStatisticsWithContext is the same as GetFindingsStatistics with the addition of
1746// the ability to pass a context and additional request options.
1747//
1748// See GetFindingsStatistics for details on how to use this API operation.
1749//
1750// The context must be non-nil and will be used for request cancellation. If
1751// the context is nil a panic will occur. In the future the SDK may create
1752// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1753// for more information on using Contexts.
1754func (c *GuardDuty) GetFindingsStatisticsWithContext(ctx aws.Context, input *GetFindingsStatisticsInput, opts ...request.Option) (*GetFindingsStatisticsOutput, error) {
1755	req, out := c.GetFindingsStatisticsRequest(input)
1756	req.SetContext(ctx)
1757	req.ApplyOptions(opts...)
1758	return out, req.Send()
1759}
1760
1761const opGetIPSet = "GetIPSet"
1762
1763// GetIPSetRequest generates a "aws/request.Request" representing the
1764// client's request for the GetIPSet operation. The "output" return
1765// value will be populated with the request's response once the request completes
1766// successfully.
1767//
1768// Use "Send" method on the returned Request to send the API call to the service.
1769// the "output" return value is not valid until after Send returns without error.
1770//
1771// See GetIPSet for more information on using the GetIPSet
1772// API call, and error handling.
1773//
1774// This method is useful when you want to inject custom logic or configuration
1775// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1776//
1777//
1778//    // Example sending a request using the GetIPSetRequest method.
1779//    req, resp := client.GetIPSetRequest(params)
1780//
1781//    err := req.Send()
1782//    if err == nil { // resp is now filled
1783//        fmt.Println(resp)
1784//    }
1785//
1786// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetIPSet
1787func (c *GuardDuty) GetIPSetRequest(input *GetIPSetInput) (req *request.Request, output *GetIPSetOutput) {
1788	op := &request.Operation{
1789		Name:       opGetIPSet,
1790		HTTPMethod: "GET",
1791		HTTPPath:   "/detector/{detectorId}/ipset/{ipSetId}",
1792	}
1793
1794	if input == nil {
1795		input = &GetIPSetInput{}
1796	}
1797
1798	output = &GetIPSetOutput{}
1799	req = c.newRequest(op, input, output)
1800	return
1801}
1802
1803// GetIPSet API operation for Amazon GuardDuty.
1804//
1805// Retrieves the IPSet specified by the IPSet ID.
1806//
1807// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1808// with awserr.Error's Code and Message methods to get detailed information about
1809// the error.
1810//
1811// See the AWS API reference guide for Amazon GuardDuty's
1812// API operation GetIPSet for usage and error information.
1813//
1814// Returned Error Codes:
1815//   * ErrCodeBadRequestException "BadRequestException"
1816//   Bad request exception object.
1817//
1818//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1819//   Internal server error exception object.
1820//
1821// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetIPSet
1822func (c *GuardDuty) GetIPSet(input *GetIPSetInput) (*GetIPSetOutput, error) {
1823	req, out := c.GetIPSetRequest(input)
1824	return out, req.Send()
1825}
1826
1827// GetIPSetWithContext is the same as GetIPSet with the addition of
1828// the ability to pass a context and additional request options.
1829//
1830// See GetIPSet for details on how to use this API operation.
1831//
1832// The context must be non-nil and will be used for request cancellation. If
1833// the context is nil a panic will occur. In the future the SDK may create
1834// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1835// for more information on using Contexts.
1836func (c *GuardDuty) GetIPSetWithContext(ctx aws.Context, input *GetIPSetInput, opts ...request.Option) (*GetIPSetOutput, error) {
1837	req, out := c.GetIPSetRequest(input)
1838	req.SetContext(ctx)
1839	req.ApplyOptions(opts...)
1840	return out, req.Send()
1841}
1842
1843const opGetInvitationsCount = "GetInvitationsCount"
1844
1845// GetInvitationsCountRequest generates a "aws/request.Request" representing the
1846// client's request for the GetInvitationsCount operation. The "output" return
1847// value will be populated with the request's response once the request completes
1848// successfully.
1849//
1850// Use "Send" method on the returned Request to send the API call to the service.
1851// the "output" return value is not valid until after Send returns without error.
1852//
1853// See GetInvitationsCount for more information on using the GetInvitationsCount
1854// API call, and error handling.
1855//
1856// This method is useful when you want to inject custom logic or configuration
1857// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1858//
1859//
1860//    // Example sending a request using the GetInvitationsCountRequest method.
1861//    req, resp := client.GetInvitationsCountRequest(params)
1862//
1863//    err := req.Send()
1864//    if err == nil { // resp is now filled
1865//        fmt.Println(resp)
1866//    }
1867//
1868// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetInvitationsCount
1869func (c *GuardDuty) GetInvitationsCountRequest(input *GetInvitationsCountInput) (req *request.Request, output *GetInvitationsCountOutput) {
1870	op := &request.Operation{
1871		Name:       opGetInvitationsCount,
1872		HTTPMethod: "GET",
1873		HTTPPath:   "/invitation/count",
1874	}
1875
1876	if input == nil {
1877		input = &GetInvitationsCountInput{}
1878	}
1879
1880	output = &GetInvitationsCountOutput{}
1881	req = c.newRequest(op, input, output)
1882	return
1883}
1884
1885// GetInvitationsCount API operation for Amazon GuardDuty.
1886//
1887// Returns the count of all GuardDuty membership invitations that were sent
1888// to the current member account except the currently accepted invitation.
1889//
1890// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1891// with awserr.Error's Code and Message methods to get detailed information about
1892// the error.
1893//
1894// See the AWS API reference guide for Amazon GuardDuty's
1895// API operation GetInvitationsCount for usage and error information.
1896//
1897// Returned Error Codes:
1898//   * ErrCodeBadRequestException "BadRequestException"
1899//   Bad request exception object.
1900//
1901//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1902//   Internal server error exception object.
1903//
1904// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetInvitationsCount
1905func (c *GuardDuty) GetInvitationsCount(input *GetInvitationsCountInput) (*GetInvitationsCountOutput, error) {
1906	req, out := c.GetInvitationsCountRequest(input)
1907	return out, req.Send()
1908}
1909
1910// GetInvitationsCountWithContext is the same as GetInvitationsCount with the addition of
1911// the ability to pass a context and additional request options.
1912//
1913// See GetInvitationsCount for details on how to use this API operation.
1914//
1915// The context must be non-nil and will be used for request cancellation. If
1916// the context is nil a panic will occur. In the future the SDK may create
1917// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1918// for more information on using Contexts.
1919func (c *GuardDuty) GetInvitationsCountWithContext(ctx aws.Context, input *GetInvitationsCountInput, opts ...request.Option) (*GetInvitationsCountOutput, error) {
1920	req, out := c.GetInvitationsCountRequest(input)
1921	req.SetContext(ctx)
1922	req.ApplyOptions(opts...)
1923	return out, req.Send()
1924}
1925
1926const opGetMasterAccount = "GetMasterAccount"
1927
1928// GetMasterAccountRequest generates a "aws/request.Request" representing the
1929// client's request for the GetMasterAccount operation. The "output" return
1930// value will be populated with the request's response once the request completes
1931// successfully.
1932//
1933// Use "Send" method on the returned Request to send the API call to the service.
1934// the "output" return value is not valid until after Send returns without error.
1935//
1936// See GetMasterAccount for more information on using the GetMasterAccount
1937// API call, and error handling.
1938//
1939// This method is useful when you want to inject custom logic or configuration
1940// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1941//
1942//
1943//    // Example sending a request using the GetMasterAccountRequest method.
1944//    req, resp := client.GetMasterAccountRequest(params)
1945//
1946//    err := req.Send()
1947//    if err == nil { // resp is now filled
1948//        fmt.Println(resp)
1949//    }
1950//
1951// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMasterAccount
1952func (c *GuardDuty) GetMasterAccountRequest(input *GetMasterAccountInput) (req *request.Request, output *GetMasterAccountOutput) {
1953	op := &request.Operation{
1954		Name:       opGetMasterAccount,
1955		HTTPMethod: "GET",
1956		HTTPPath:   "/detector/{detectorId}/master",
1957	}
1958
1959	if input == nil {
1960		input = &GetMasterAccountInput{}
1961	}
1962
1963	output = &GetMasterAccountOutput{}
1964	req = c.newRequest(op, input, output)
1965	return
1966}
1967
1968// GetMasterAccount API operation for Amazon GuardDuty.
1969//
1970// Provides the details for the GuardDuty master account associated with the
1971// current GuardDuty member account.
1972//
1973// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1974// with awserr.Error's Code and Message methods to get detailed information about
1975// the error.
1976//
1977// See the AWS API reference guide for Amazon GuardDuty's
1978// API operation GetMasterAccount for usage and error information.
1979//
1980// Returned Error Codes:
1981//   * ErrCodeBadRequestException "BadRequestException"
1982//   Bad request exception object.
1983//
1984//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
1985//   Internal server error exception object.
1986//
1987// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMasterAccount
1988func (c *GuardDuty) GetMasterAccount(input *GetMasterAccountInput) (*GetMasterAccountOutput, error) {
1989	req, out := c.GetMasterAccountRequest(input)
1990	return out, req.Send()
1991}
1992
1993// GetMasterAccountWithContext is the same as GetMasterAccount with the addition of
1994// the ability to pass a context and additional request options.
1995//
1996// See GetMasterAccount for details on how to use this API operation.
1997//
1998// The context must be non-nil and will be used for request cancellation. If
1999// the context is nil a panic will occur. In the future the SDK may create
2000// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2001// for more information on using Contexts.
2002func (c *GuardDuty) GetMasterAccountWithContext(ctx aws.Context, input *GetMasterAccountInput, opts ...request.Option) (*GetMasterAccountOutput, error) {
2003	req, out := c.GetMasterAccountRequest(input)
2004	req.SetContext(ctx)
2005	req.ApplyOptions(opts...)
2006	return out, req.Send()
2007}
2008
2009const opGetMembers = "GetMembers"
2010
2011// GetMembersRequest generates a "aws/request.Request" representing the
2012// client's request for the GetMembers operation. The "output" return
2013// value will be populated with the request's response once the request completes
2014// successfully.
2015//
2016// Use "Send" method on the returned Request to send the API call to the service.
2017// the "output" return value is not valid until after Send returns without error.
2018//
2019// See GetMembers for more information on using the GetMembers
2020// API call, and error handling.
2021//
2022// This method is useful when you want to inject custom logic or configuration
2023// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2024//
2025//
2026//    // Example sending a request using the GetMembersRequest method.
2027//    req, resp := client.GetMembersRequest(params)
2028//
2029//    err := req.Send()
2030//    if err == nil { // resp is now filled
2031//        fmt.Println(resp)
2032//    }
2033//
2034// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMembers
2035func (c *GuardDuty) GetMembersRequest(input *GetMembersInput) (req *request.Request, output *GetMembersOutput) {
2036	op := &request.Operation{
2037		Name:       opGetMembers,
2038		HTTPMethod: "POST",
2039		HTTPPath:   "/detector/{detectorId}/member/get",
2040	}
2041
2042	if input == nil {
2043		input = &GetMembersInput{}
2044	}
2045
2046	output = &GetMembersOutput{}
2047	req = c.newRequest(op, input, output)
2048	return
2049}
2050
2051// GetMembers API operation for Amazon GuardDuty.
2052//
2053// Retrieves GuardDuty member accounts (to the current GuardDuty master account)
2054// specified by the account IDs.
2055//
2056// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2057// with awserr.Error's Code and Message methods to get detailed information about
2058// the error.
2059//
2060// See the AWS API reference guide for Amazon GuardDuty's
2061// API operation GetMembers for usage and error information.
2062//
2063// Returned Error Codes:
2064//   * ErrCodeBadRequestException "BadRequestException"
2065//   Bad request exception object.
2066//
2067//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2068//   Internal server error exception object.
2069//
2070// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMembers
2071func (c *GuardDuty) GetMembers(input *GetMembersInput) (*GetMembersOutput, error) {
2072	req, out := c.GetMembersRequest(input)
2073	return out, req.Send()
2074}
2075
2076// GetMembersWithContext is the same as GetMembers with the addition of
2077// the ability to pass a context and additional request options.
2078//
2079// See GetMembers for details on how to use this API operation.
2080//
2081// The context must be non-nil and will be used for request cancellation. If
2082// the context is nil a panic will occur. In the future the SDK may create
2083// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2084// for more information on using Contexts.
2085func (c *GuardDuty) GetMembersWithContext(ctx aws.Context, input *GetMembersInput, opts ...request.Option) (*GetMembersOutput, error) {
2086	req, out := c.GetMembersRequest(input)
2087	req.SetContext(ctx)
2088	req.ApplyOptions(opts...)
2089	return out, req.Send()
2090}
2091
2092const opGetThreatIntelSet = "GetThreatIntelSet"
2093
2094// GetThreatIntelSetRequest generates a "aws/request.Request" representing the
2095// client's request for the GetThreatIntelSet operation. The "output" return
2096// value will be populated with the request's response once the request completes
2097// successfully.
2098//
2099// Use "Send" method on the returned Request to send the API call to the service.
2100// the "output" return value is not valid until after Send returns without error.
2101//
2102// See GetThreatIntelSet for more information on using the GetThreatIntelSet
2103// API call, and error handling.
2104//
2105// This method is useful when you want to inject custom logic or configuration
2106// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2107//
2108//
2109//    // Example sending a request using the GetThreatIntelSetRequest method.
2110//    req, resp := client.GetThreatIntelSetRequest(params)
2111//
2112//    err := req.Send()
2113//    if err == nil { // resp is now filled
2114//        fmt.Println(resp)
2115//    }
2116//
2117// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetThreatIntelSet
2118func (c *GuardDuty) GetThreatIntelSetRequest(input *GetThreatIntelSetInput) (req *request.Request, output *GetThreatIntelSetOutput) {
2119	op := &request.Operation{
2120		Name:       opGetThreatIntelSet,
2121		HTTPMethod: "GET",
2122		HTTPPath:   "/detector/{detectorId}/threatintelset/{threatIntelSetId}",
2123	}
2124
2125	if input == nil {
2126		input = &GetThreatIntelSetInput{}
2127	}
2128
2129	output = &GetThreatIntelSetOutput{}
2130	req = c.newRequest(op, input, output)
2131	return
2132}
2133
2134// GetThreatIntelSet API operation for Amazon GuardDuty.
2135//
2136// Retrieves the ThreatIntelSet that is specified by the ThreatIntelSet ID.
2137//
2138// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2139// with awserr.Error's Code and Message methods to get detailed information about
2140// the error.
2141//
2142// See the AWS API reference guide for Amazon GuardDuty's
2143// API operation GetThreatIntelSet for usage and error information.
2144//
2145// Returned Error Codes:
2146//   * ErrCodeBadRequestException "BadRequestException"
2147//   Bad request exception object.
2148//
2149//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2150//   Internal server error exception object.
2151//
2152// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetThreatIntelSet
2153func (c *GuardDuty) GetThreatIntelSet(input *GetThreatIntelSetInput) (*GetThreatIntelSetOutput, error) {
2154	req, out := c.GetThreatIntelSetRequest(input)
2155	return out, req.Send()
2156}
2157
2158// GetThreatIntelSetWithContext is the same as GetThreatIntelSet with the addition of
2159// the ability to pass a context and additional request options.
2160//
2161// See GetThreatIntelSet for details on how to use this API operation.
2162//
2163// The context must be non-nil and will be used for request cancellation. If
2164// the context is nil a panic will occur. In the future the SDK may create
2165// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2166// for more information on using Contexts.
2167func (c *GuardDuty) GetThreatIntelSetWithContext(ctx aws.Context, input *GetThreatIntelSetInput, opts ...request.Option) (*GetThreatIntelSetOutput, error) {
2168	req, out := c.GetThreatIntelSetRequest(input)
2169	req.SetContext(ctx)
2170	req.ApplyOptions(opts...)
2171	return out, req.Send()
2172}
2173
2174const opInviteMembers = "InviteMembers"
2175
2176// InviteMembersRequest generates a "aws/request.Request" representing the
2177// client's request for the InviteMembers operation. The "output" return
2178// value will be populated with the request's response once the request completes
2179// successfully.
2180//
2181// Use "Send" method on the returned Request to send the API call to the service.
2182// the "output" return value is not valid until after Send returns without error.
2183//
2184// See InviteMembers for more information on using the InviteMembers
2185// API call, and error handling.
2186//
2187// This method is useful when you want to inject custom logic or configuration
2188// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2189//
2190//
2191//    // Example sending a request using the InviteMembersRequest method.
2192//    req, resp := client.InviteMembersRequest(params)
2193//
2194//    err := req.Send()
2195//    if err == nil { // resp is now filled
2196//        fmt.Println(resp)
2197//    }
2198//
2199// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/InviteMembers
2200func (c *GuardDuty) InviteMembersRequest(input *InviteMembersInput) (req *request.Request, output *InviteMembersOutput) {
2201	op := &request.Operation{
2202		Name:       opInviteMembers,
2203		HTTPMethod: "POST",
2204		HTTPPath:   "/detector/{detectorId}/member/invite",
2205	}
2206
2207	if input == nil {
2208		input = &InviteMembersInput{}
2209	}
2210
2211	output = &InviteMembersOutput{}
2212	req = c.newRequest(op, input, output)
2213	return
2214}
2215
2216// InviteMembers API operation for Amazon GuardDuty.
2217//
2218// Invites other AWS accounts (created as members of the current AWS account
2219// by CreateMembers) to enable GuardDuty and allow the current AWS account to
2220// view and manage these accounts' GuardDuty findings on their behalf as the
2221// master account.
2222//
2223// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2224// with awserr.Error's Code and Message methods to get detailed information about
2225// the error.
2226//
2227// See the AWS API reference guide for Amazon GuardDuty's
2228// API operation InviteMembers for usage and error information.
2229//
2230// Returned Error Codes:
2231//   * ErrCodeBadRequestException "BadRequestException"
2232//   Bad request exception object.
2233//
2234//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2235//   Internal server error exception object.
2236//
2237// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/InviteMembers
2238func (c *GuardDuty) InviteMembers(input *InviteMembersInput) (*InviteMembersOutput, error) {
2239	req, out := c.InviteMembersRequest(input)
2240	return out, req.Send()
2241}
2242
2243// InviteMembersWithContext is the same as InviteMembers with the addition of
2244// the ability to pass a context and additional request options.
2245//
2246// See InviteMembers for details on how to use this API operation.
2247//
2248// The context must be non-nil and will be used for request cancellation. If
2249// the context is nil a panic will occur. In the future the SDK may create
2250// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2251// for more information on using Contexts.
2252func (c *GuardDuty) InviteMembersWithContext(ctx aws.Context, input *InviteMembersInput, opts ...request.Option) (*InviteMembersOutput, error) {
2253	req, out := c.InviteMembersRequest(input)
2254	req.SetContext(ctx)
2255	req.ApplyOptions(opts...)
2256	return out, req.Send()
2257}
2258
2259const opListDetectors = "ListDetectors"
2260
2261// ListDetectorsRequest generates a "aws/request.Request" representing the
2262// client's request for the ListDetectors operation. The "output" return
2263// value will be populated with the request's response once the request completes
2264// successfully.
2265//
2266// Use "Send" method on the returned Request to send the API call to the service.
2267// the "output" return value is not valid until after Send returns without error.
2268//
2269// See ListDetectors for more information on using the ListDetectors
2270// API call, and error handling.
2271//
2272// This method is useful when you want to inject custom logic or configuration
2273// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2274//
2275//
2276//    // Example sending a request using the ListDetectorsRequest method.
2277//    req, resp := client.ListDetectorsRequest(params)
2278//
2279//    err := req.Send()
2280//    if err == nil { // resp is now filled
2281//        fmt.Println(resp)
2282//    }
2283//
2284// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListDetectors
2285func (c *GuardDuty) ListDetectorsRequest(input *ListDetectorsInput) (req *request.Request, output *ListDetectorsOutput) {
2286	op := &request.Operation{
2287		Name:       opListDetectors,
2288		HTTPMethod: "GET",
2289		HTTPPath:   "/detector",
2290		Paginator: &request.Paginator{
2291			InputTokens:     []string{"NextToken"},
2292			OutputTokens:    []string{"NextToken"},
2293			LimitToken:      "MaxResults",
2294			TruncationToken: "",
2295		},
2296	}
2297
2298	if input == nil {
2299		input = &ListDetectorsInput{}
2300	}
2301
2302	output = &ListDetectorsOutput{}
2303	req = c.newRequest(op, input, output)
2304	return
2305}
2306
2307// ListDetectors API operation for Amazon GuardDuty.
2308//
2309// Lists detectorIds of all the existing Amazon GuardDuty detector resources.
2310//
2311// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2312// with awserr.Error's Code and Message methods to get detailed information about
2313// the error.
2314//
2315// See the AWS API reference guide for Amazon GuardDuty's
2316// API operation ListDetectors for usage and error information.
2317//
2318// Returned Error Codes:
2319//   * ErrCodeBadRequestException "BadRequestException"
2320//   Bad request exception object.
2321//
2322//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2323//   Internal server error exception object.
2324//
2325// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListDetectors
2326func (c *GuardDuty) ListDetectors(input *ListDetectorsInput) (*ListDetectorsOutput, error) {
2327	req, out := c.ListDetectorsRequest(input)
2328	return out, req.Send()
2329}
2330
2331// ListDetectorsWithContext is the same as ListDetectors with the addition of
2332// the ability to pass a context and additional request options.
2333//
2334// See ListDetectors for details on how to use this API operation.
2335//
2336// The context must be non-nil and will be used for request cancellation. If
2337// the context is nil a panic will occur. In the future the SDK may create
2338// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2339// for more information on using Contexts.
2340func (c *GuardDuty) ListDetectorsWithContext(ctx aws.Context, input *ListDetectorsInput, opts ...request.Option) (*ListDetectorsOutput, error) {
2341	req, out := c.ListDetectorsRequest(input)
2342	req.SetContext(ctx)
2343	req.ApplyOptions(opts...)
2344	return out, req.Send()
2345}
2346
2347// ListDetectorsPages iterates over the pages of a ListDetectors operation,
2348// calling the "fn" function with the response data for each page. To stop
2349// iterating, return false from the fn function.
2350//
2351// See ListDetectors method for more information on how to use this operation.
2352//
2353// Note: This operation can generate multiple requests to a service.
2354//
2355//    // Example iterating over at most 3 pages of a ListDetectors operation.
2356//    pageNum := 0
2357//    err := client.ListDetectorsPages(params,
2358//        func(page *guardduty.ListDetectorsOutput, lastPage bool) bool {
2359//            pageNum++
2360//            fmt.Println(page)
2361//            return pageNum <= 3
2362//        })
2363//
2364func (c *GuardDuty) ListDetectorsPages(input *ListDetectorsInput, fn func(*ListDetectorsOutput, bool) bool) error {
2365	return c.ListDetectorsPagesWithContext(aws.BackgroundContext(), input, fn)
2366}
2367
2368// ListDetectorsPagesWithContext same as ListDetectorsPages except
2369// it takes a Context and allows setting request options on the pages.
2370//
2371// The context must be non-nil and will be used for request cancellation. If
2372// the context is nil a panic will occur. In the future the SDK may create
2373// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2374// for more information on using Contexts.
2375func (c *GuardDuty) ListDetectorsPagesWithContext(ctx aws.Context, input *ListDetectorsInput, fn func(*ListDetectorsOutput, bool) bool, opts ...request.Option) error {
2376	p := request.Pagination{
2377		NewRequest: func() (*request.Request, error) {
2378			var inCpy *ListDetectorsInput
2379			if input != nil {
2380				tmp := *input
2381				inCpy = &tmp
2382			}
2383			req, _ := c.ListDetectorsRequest(inCpy)
2384			req.SetContext(ctx)
2385			req.ApplyOptions(opts...)
2386			return req, nil
2387		},
2388	}
2389
2390	cont := true
2391	for p.Next() && cont {
2392		cont = fn(p.Page().(*ListDetectorsOutput), !p.HasNextPage())
2393	}
2394	return p.Err()
2395}
2396
2397const opListFilters = "ListFilters"
2398
2399// ListFiltersRequest generates a "aws/request.Request" representing the
2400// client's request for the ListFilters operation. The "output" return
2401// value will be populated with the request's response once the request completes
2402// successfully.
2403//
2404// Use "Send" method on the returned Request to send the API call to the service.
2405// the "output" return value is not valid until after Send returns without error.
2406//
2407// See ListFilters for more information on using the ListFilters
2408// API call, and error handling.
2409//
2410// This method is useful when you want to inject custom logic or configuration
2411// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2412//
2413//
2414//    // Example sending a request using the ListFiltersRequest method.
2415//    req, resp := client.ListFiltersRequest(params)
2416//
2417//    err := req.Send()
2418//    if err == nil { // resp is now filled
2419//        fmt.Println(resp)
2420//    }
2421//
2422// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListFilters
2423func (c *GuardDuty) ListFiltersRequest(input *ListFiltersInput) (req *request.Request, output *ListFiltersOutput) {
2424	op := &request.Operation{
2425		Name:       opListFilters,
2426		HTTPMethod: "GET",
2427		HTTPPath:   "/detector/{detectorId}/filter",
2428		Paginator: &request.Paginator{
2429			InputTokens:     []string{"NextToken"},
2430			OutputTokens:    []string{"NextToken"},
2431			LimitToken:      "MaxResults",
2432			TruncationToken: "",
2433		},
2434	}
2435
2436	if input == nil {
2437		input = &ListFiltersInput{}
2438	}
2439
2440	output = &ListFiltersOutput{}
2441	req = c.newRequest(op, input, output)
2442	return
2443}
2444
2445// ListFilters API operation for Amazon GuardDuty.
2446//
2447// Returns a paginated list of the current filters.
2448//
2449// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2450// with awserr.Error's Code and Message methods to get detailed information about
2451// the error.
2452//
2453// See the AWS API reference guide for Amazon GuardDuty's
2454// API operation ListFilters for usage and error information.
2455//
2456// Returned Error Codes:
2457//   * ErrCodeBadRequestException "BadRequestException"
2458//   Bad request exception object.
2459//
2460//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2461//   Internal server error exception object.
2462//
2463// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListFilters
2464func (c *GuardDuty) ListFilters(input *ListFiltersInput) (*ListFiltersOutput, error) {
2465	req, out := c.ListFiltersRequest(input)
2466	return out, req.Send()
2467}
2468
2469// ListFiltersWithContext is the same as ListFilters with the addition of
2470// the ability to pass a context and additional request options.
2471//
2472// See ListFilters for details on how to use this API operation.
2473//
2474// The context must be non-nil and will be used for request cancellation. If
2475// the context is nil a panic will occur. In the future the SDK may create
2476// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2477// for more information on using Contexts.
2478func (c *GuardDuty) ListFiltersWithContext(ctx aws.Context, input *ListFiltersInput, opts ...request.Option) (*ListFiltersOutput, error) {
2479	req, out := c.ListFiltersRequest(input)
2480	req.SetContext(ctx)
2481	req.ApplyOptions(opts...)
2482	return out, req.Send()
2483}
2484
2485// ListFiltersPages iterates over the pages of a ListFilters operation,
2486// calling the "fn" function with the response data for each page. To stop
2487// iterating, return false from the fn function.
2488//
2489// See ListFilters method for more information on how to use this operation.
2490//
2491// Note: This operation can generate multiple requests to a service.
2492//
2493//    // Example iterating over at most 3 pages of a ListFilters operation.
2494//    pageNum := 0
2495//    err := client.ListFiltersPages(params,
2496//        func(page *guardduty.ListFiltersOutput, lastPage bool) bool {
2497//            pageNum++
2498//            fmt.Println(page)
2499//            return pageNum <= 3
2500//        })
2501//
2502func (c *GuardDuty) ListFiltersPages(input *ListFiltersInput, fn func(*ListFiltersOutput, bool) bool) error {
2503	return c.ListFiltersPagesWithContext(aws.BackgroundContext(), input, fn)
2504}
2505
2506// ListFiltersPagesWithContext same as ListFiltersPages except
2507// it takes a Context and allows setting request options on the pages.
2508//
2509// The context must be non-nil and will be used for request cancellation. If
2510// the context is nil a panic will occur. In the future the SDK may create
2511// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2512// for more information on using Contexts.
2513func (c *GuardDuty) ListFiltersPagesWithContext(ctx aws.Context, input *ListFiltersInput, fn func(*ListFiltersOutput, bool) bool, opts ...request.Option) error {
2514	p := request.Pagination{
2515		NewRequest: func() (*request.Request, error) {
2516			var inCpy *ListFiltersInput
2517			if input != nil {
2518				tmp := *input
2519				inCpy = &tmp
2520			}
2521			req, _ := c.ListFiltersRequest(inCpy)
2522			req.SetContext(ctx)
2523			req.ApplyOptions(opts...)
2524			return req, nil
2525		},
2526	}
2527
2528	cont := true
2529	for p.Next() && cont {
2530		cont = fn(p.Page().(*ListFiltersOutput), !p.HasNextPage())
2531	}
2532	return p.Err()
2533}
2534
2535const opListFindings = "ListFindings"
2536
2537// ListFindingsRequest generates a "aws/request.Request" representing the
2538// client's request for the ListFindings operation. The "output" return
2539// value will be populated with the request's response once the request completes
2540// successfully.
2541//
2542// Use "Send" method on the returned Request to send the API call to the service.
2543// the "output" return value is not valid until after Send returns without error.
2544//
2545// See ListFindings for more information on using the ListFindings
2546// API call, and error handling.
2547//
2548// This method is useful when you want to inject custom logic or configuration
2549// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2550//
2551//
2552//    // Example sending a request using the ListFindingsRequest method.
2553//    req, resp := client.ListFindingsRequest(params)
2554//
2555//    err := req.Send()
2556//    if err == nil { // resp is now filled
2557//        fmt.Println(resp)
2558//    }
2559//
2560// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListFindings
2561func (c *GuardDuty) ListFindingsRequest(input *ListFindingsInput) (req *request.Request, output *ListFindingsOutput) {
2562	op := &request.Operation{
2563		Name:       opListFindings,
2564		HTTPMethod: "POST",
2565		HTTPPath:   "/detector/{detectorId}/findings",
2566		Paginator: &request.Paginator{
2567			InputTokens:     []string{"NextToken"},
2568			OutputTokens:    []string{"NextToken"},
2569			LimitToken:      "MaxResults",
2570			TruncationToken: "",
2571		},
2572	}
2573
2574	if input == nil {
2575		input = &ListFindingsInput{}
2576	}
2577
2578	output = &ListFindingsOutput{}
2579	req = c.newRequest(op, input, output)
2580	return
2581}
2582
2583// ListFindings API operation for Amazon GuardDuty.
2584//
2585// Lists Amazon GuardDuty findings for the specified detector ID.
2586//
2587// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2588// with awserr.Error's Code and Message methods to get detailed information about
2589// the error.
2590//
2591// See the AWS API reference guide for Amazon GuardDuty's
2592// API operation ListFindings for usage and error information.
2593//
2594// Returned Error Codes:
2595//   * ErrCodeBadRequestException "BadRequestException"
2596//   Bad request exception object.
2597//
2598//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2599//   Internal server error exception object.
2600//
2601// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListFindings
2602func (c *GuardDuty) ListFindings(input *ListFindingsInput) (*ListFindingsOutput, error) {
2603	req, out := c.ListFindingsRequest(input)
2604	return out, req.Send()
2605}
2606
2607// ListFindingsWithContext is the same as ListFindings with the addition of
2608// the ability to pass a context and additional request options.
2609//
2610// See ListFindings for details on how to use this API operation.
2611//
2612// The context must be non-nil and will be used for request cancellation. If
2613// the context is nil a panic will occur. In the future the SDK may create
2614// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2615// for more information on using Contexts.
2616func (c *GuardDuty) ListFindingsWithContext(ctx aws.Context, input *ListFindingsInput, opts ...request.Option) (*ListFindingsOutput, error) {
2617	req, out := c.ListFindingsRequest(input)
2618	req.SetContext(ctx)
2619	req.ApplyOptions(opts...)
2620	return out, req.Send()
2621}
2622
2623// ListFindingsPages iterates over the pages of a ListFindings operation,
2624// calling the "fn" function with the response data for each page. To stop
2625// iterating, return false from the fn function.
2626//
2627// See ListFindings method for more information on how to use this operation.
2628//
2629// Note: This operation can generate multiple requests to a service.
2630//
2631//    // Example iterating over at most 3 pages of a ListFindings operation.
2632//    pageNum := 0
2633//    err := client.ListFindingsPages(params,
2634//        func(page *guardduty.ListFindingsOutput, lastPage bool) bool {
2635//            pageNum++
2636//            fmt.Println(page)
2637//            return pageNum <= 3
2638//        })
2639//
2640func (c *GuardDuty) ListFindingsPages(input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool) error {
2641	return c.ListFindingsPagesWithContext(aws.BackgroundContext(), input, fn)
2642}
2643
2644// ListFindingsPagesWithContext same as ListFindingsPages except
2645// it takes a Context and allows setting request options on the pages.
2646//
2647// The context must be non-nil and will be used for request cancellation. If
2648// the context is nil a panic will occur. In the future the SDK may create
2649// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2650// for more information on using Contexts.
2651func (c *GuardDuty) ListFindingsPagesWithContext(ctx aws.Context, input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool, opts ...request.Option) error {
2652	p := request.Pagination{
2653		NewRequest: func() (*request.Request, error) {
2654			var inCpy *ListFindingsInput
2655			if input != nil {
2656				tmp := *input
2657				inCpy = &tmp
2658			}
2659			req, _ := c.ListFindingsRequest(inCpy)
2660			req.SetContext(ctx)
2661			req.ApplyOptions(opts...)
2662			return req, nil
2663		},
2664	}
2665
2666	cont := true
2667	for p.Next() && cont {
2668		cont = fn(p.Page().(*ListFindingsOutput), !p.HasNextPage())
2669	}
2670	return p.Err()
2671}
2672
2673const opListIPSets = "ListIPSets"
2674
2675// ListIPSetsRequest generates a "aws/request.Request" representing the
2676// client's request for the ListIPSets operation. The "output" return
2677// value will be populated with the request's response once the request completes
2678// successfully.
2679//
2680// Use "Send" method on the returned Request to send the API call to the service.
2681// the "output" return value is not valid until after Send returns without error.
2682//
2683// See ListIPSets for more information on using the ListIPSets
2684// API call, and error handling.
2685//
2686// This method is useful when you want to inject custom logic or configuration
2687// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2688//
2689//
2690//    // Example sending a request using the ListIPSetsRequest method.
2691//    req, resp := client.ListIPSetsRequest(params)
2692//
2693//    err := req.Send()
2694//    if err == nil { // resp is now filled
2695//        fmt.Println(resp)
2696//    }
2697//
2698// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListIPSets
2699func (c *GuardDuty) ListIPSetsRequest(input *ListIPSetsInput) (req *request.Request, output *ListIPSetsOutput) {
2700	op := &request.Operation{
2701		Name:       opListIPSets,
2702		HTTPMethod: "GET",
2703		HTTPPath:   "/detector/{detectorId}/ipset",
2704		Paginator: &request.Paginator{
2705			InputTokens:     []string{"NextToken"},
2706			OutputTokens:    []string{"NextToken"},
2707			LimitToken:      "MaxResults",
2708			TruncationToken: "",
2709		},
2710	}
2711
2712	if input == nil {
2713		input = &ListIPSetsInput{}
2714	}
2715
2716	output = &ListIPSetsOutput{}
2717	req = c.newRequest(op, input, output)
2718	return
2719}
2720
2721// ListIPSets API operation for Amazon GuardDuty.
2722//
2723// Lists the IPSets of the GuardDuty service specified by the detector ID.
2724//
2725// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2726// with awserr.Error's Code and Message methods to get detailed information about
2727// the error.
2728//
2729// See the AWS API reference guide for Amazon GuardDuty's
2730// API operation ListIPSets for usage and error information.
2731//
2732// Returned Error Codes:
2733//   * ErrCodeBadRequestException "BadRequestException"
2734//   Bad request exception object.
2735//
2736//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2737//   Internal server error exception object.
2738//
2739// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListIPSets
2740func (c *GuardDuty) ListIPSets(input *ListIPSetsInput) (*ListIPSetsOutput, error) {
2741	req, out := c.ListIPSetsRequest(input)
2742	return out, req.Send()
2743}
2744
2745// ListIPSetsWithContext is the same as ListIPSets with the addition of
2746// the ability to pass a context and additional request options.
2747//
2748// See ListIPSets for details on how to use this API operation.
2749//
2750// The context must be non-nil and will be used for request cancellation. If
2751// the context is nil a panic will occur. In the future the SDK may create
2752// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2753// for more information on using Contexts.
2754func (c *GuardDuty) ListIPSetsWithContext(ctx aws.Context, input *ListIPSetsInput, opts ...request.Option) (*ListIPSetsOutput, error) {
2755	req, out := c.ListIPSetsRequest(input)
2756	req.SetContext(ctx)
2757	req.ApplyOptions(opts...)
2758	return out, req.Send()
2759}
2760
2761// ListIPSetsPages iterates over the pages of a ListIPSets operation,
2762// calling the "fn" function with the response data for each page. To stop
2763// iterating, return false from the fn function.
2764//
2765// See ListIPSets method for more information on how to use this operation.
2766//
2767// Note: This operation can generate multiple requests to a service.
2768//
2769//    // Example iterating over at most 3 pages of a ListIPSets operation.
2770//    pageNum := 0
2771//    err := client.ListIPSetsPages(params,
2772//        func(page *guardduty.ListIPSetsOutput, lastPage bool) bool {
2773//            pageNum++
2774//            fmt.Println(page)
2775//            return pageNum <= 3
2776//        })
2777//
2778func (c *GuardDuty) ListIPSetsPages(input *ListIPSetsInput, fn func(*ListIPSetsOutput, bool) bool) error {
2779	return c.ListIPSetsPagesWithContext(aws.BackgroundContext(), input, fn)
2780}
2781
2782// ListIPSetsPagesWithContext same as ListIPSetsPages except
2783// it takes a Context and allows setting request options on the pages.
2784//
2785// The context must be non-nil and will be used for request cancellation. If
2786// the context is nil a panic will occur. In the future the SDK may create
2787// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2788// for more information on using Contexts.
2789func (c *GuardDuty) ListIPSetsPagesWithContext(ctx aws.Context, input *ListIPSetsInput, fn func(*ListIPSetsOutput, bool) bool, opts ...request.Option) error {
2790	p := request.Pagination{
2791		NewRequest: func() (*request.Request, error) {
2792			var inCpy *ListIPSetsInput
2793			if input != nil {
2794				tmp := *input
2795				inCpy = &tmp
2796			}
2797			req, _ := c.ListIPSetsRequest(inCpy)
2798			req.SetContext(ctx)
2799			req.ApplyOptions(opts...)
2800			return req, nil
2801		},
2802	}
2803
2804	cont := true
2805	for p.Next() && cont {
2806		cont = fn(p.Page().(*ListIPSetsOutput), !p.HasNextPage())
2807	}
2808	return p.Err()
2809}
2810
2811const opListInvitations = "ListInvitations"
2812
2813// ListInvitationsRequest generates a "aws/request.Request" representing the
2814// client's request for the ListInvitations operation. The "output" return
2815// value will be populated with the request's response once the request completes
2816// successfully.
2817//
2818// Use "Send" method on the returned Request to send the API call to the service.
2819// the "output" return value is not valid until after Send returns without error.
2820//
2821// See ListInvitations for more information on using the ListInvitations
2822// API call, and error handling.
2823//
2824// This method is useful when you want to inject custom logic or configuration
2825// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2826//
2827//
2828//    // Example sending a request using the ListInvitationsRequest method.
2829//    req, resp := client.ListInvitationsRequest(params)
2830//
2831//    err := req.Send()
2832//    if err == nil { // resp is now filled
2833//        fmt.Println(resp)
2834//    }
2835//
2836// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListInvitations
2837func (c *GuardDuty) ListInvitationsRequest(input *ListInvitationsInput) (req *request.Request, output *ListInvitationsOutput) {
2838	op := &request.Operation{
2839		Name:       opListInvitations,
2840		HTTPMethod: "GET",
2841		HTTPPath:   "/invitation",
2842		Paginator: &request.Paginator{
2843			InputTokens:     []string{"NextToken"},
2844			OutputTokens:    []string{"NextToken"},
2845			LimitToken:      "MaxResults",
2846			TruncationToken: "",
2847		},
2848	}
2849
2850	if input == nil {
2851		input = &ListInvitationsInput{}
2852	}
2853
2854	output = &ListInvitationsOutput{}
2855	req = c.newRequest(op, input, output)
2856	return
2857}
2858
2859// ListInvitations API operation for Amazon GuardDuty.
2860//
2861// Lists all GuardDuty membership invitations that were sent to the current
2862// AWS account.
2863//
2864// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2865// with awserr.Error's Code and Message methods to get detailed information about
2866// the error.
2867//
2868// See the AWS API reference guide for Amazon GuardDuty's
2869// API operation ListInvitations for usage and error information.
2870//
2871// Returned Error Codes:
2872//   * ErrCodeBadRequestException "BadRequestException"
2873//   Bad request exception object.
2874//
2875//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
2876//   Internal server error exception object.
2877//
2878// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListInvitations
2879func (c *GuardDuty) ListInvitations(input *ListInvitationsInput) (*ListInvitationsOutput, error) {
2880	req, out := c.ListInvitationsRequest(input)
2881	return out, req.Send()
2882}
2883
2884// ListInvitationsWithContext is the same as ListInvitations with the addition of
2885// the ability to pass a context and additional request options.
2886//
2887// See ListInvitations for details on how to use this API operation.
2888//
2889// The context must be non-nil and will be used for request cancellation. If
2890// the context is nil a panic will occur. In the future the SDK may create
2891// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2892// for more information on using Contexts.
2893func (c *GuardDuty) ListInvitationsWithContext(ctx aws.Context, input *ListInvitationsInput, opts ...request.Option) (*ListInvitationsOutput, error) {
2894	req, out := c.ListInvitationsRequest(input)
2895	req.SetContext(ctx)
2896	req.ApplyOptions(opts...)
2897	return out, req.Send()
2898}
2899
2900// ListInvitationsPages iterates over the pages of a ListInvitations operation,
2901// calling the "fn" function with the response data for each page. To stop
2902// iterating, return false from the fn function.
2903//
2904// See ListInvitations method for more information on how to use this operation.
2905//
2906// Note: This operation can generate multiple requests to a service.
2907//
2908//    // Example iterating over at most 3 pages of a ListInvitations operation.
2909//    pageNum := 0
2910//    err := client.ListInvitationsPages(params,
2911//        func(page *guardduty.ListInvitationsOutput, lastPage bool) bool {
2912//            pageNum++
2913//            fmt.Println(page)
2914//            return pageNum <= 3
2915//        })
2916//
2917func (c *GuardDuty) ListInvitationsPages(input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool) error {
2918	return c.ListInvitationsPagesWithContext(aws.BackgroundContext(), input, fn)
2919}
2920
2921// ListInvitationsPagesWithContext same as ListInvitationsPages except
2922// it takes a Context and allows setting request options on the pages.
2923//
2924// The context must be non-nil and will be used for request cancellation. If
2925// the context is nil a panic will occur. In the future the SDK may create
2926// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2927// for more information on using Contexts.
2928func (c *GuardDuty) ListInvitationsPagesWithContext(ctx aws.Context, input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool, opts ...request.Option) error {
2929	p := request.Pagination{
2930		NewRequest: func() (*request.Request, error) {
2931			var inCpy *ListInvitationsInput
2932			if input != nil {
2933				tmp := *input
2934				inCpy = &tmp
2935			}
2936			req, _ := c.ListInvitationsRequest(inCpy)
2937			req.SetContext(ctx)
2938			req.ApplyOptions(opts...)
2939			return req, nil
2940		},
2941	}
2942
2943	cont := true
2944	for p.Next() && cont {
2945		cont = fn(p.Page().(*ListInvitationsOutput), !p.HasNextPage())
2946	}
2947	return p.Err()
2948}
2949
2950const opListMembers = "ListMembers"
2951
2952// ListMembersRequest generates a "aws/request.Request" representing the
2953// client's request for the ListMembers operation. The "output" return
2954// value will be populated with the request's response once the request completes
2955// successfully.
2956//
2957// Use "Send" method on the returned Request to send the API call to the service.
2958// the "output" return value is not valid until after Send returns without error.
2959//
2960// See ListMembers for more information on using the ListMembers
2961// API call, and error handling.
2962//
2963// This method is useful when you want to inject custom logic or configuration
2964// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2965//
2966//
2967//    // Example sending a request using the ListMembersRequest method.
2968//    req, resp := client.ListMembersRequest(params)
2969//
2970//    err := req.Send()
2971//    if err == nil { // resp is now filled
2972//        fmt.Println(resp)
2973//    }
2974//
2975// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListMembers
2976func (c *GuardDuty) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) {
2977	op := &request.Operation{
2978		Name:       opListMembers,
2979		HTTPMethod: "GET",
2980		HTTPPath:   "/detector/{detectorId}/member",
2981		Paginator: &request.Paginator{
2982			InputTokens:     []string{"NextToken"},
2983			OutputTokens:    []string{"NextToken"},
2984			LimitToken:      "MaxResults",
2985			TruncationToken: "",
2986		},
2987	}
2988
2989	if input == nil {
2990		input = &ListMembersInput{}
2991	}
2992
2993	output = &ListMembersOutput{}
2994	req = c.newRequest(op, input, output)
2995	return
2996}
2997
2998// ListMembers API operation for Amazon GuardDuty.
2999//
3000// Lists details about all member accounts for the current GuardDuty master
3001// account.
3002//
3003// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3004// with awserr.Error's Code and Message methods to get detailed information about
3005// the error.
3006//
3007// See the AWS API reference guide for Amazon GuardDuty's
3008// API operation ListMembers for usage and error information.
3009//
3010// Returned Error Codes:
3011//   * ErrCodeBadRequestException "BadRequestException"
3012//   Bad request exception object.
3013//
3014//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3015//   Internal server error exception object.
3016//
3017// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListMembers
3018func (c *GuardDuty) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) {
3019	req, out := c.ListMembersRequest(input)
3020	return out, req.Send()
3021}
3022
3023// ListMembersWithContext is the same as ListMembers with the addition of
3024// the ability to pass a context and additional request options.
3025//
3026// See ListMembers for details on how to use this API operation.
3027//
3028// The context must be non-nil and will be used for request cancellation. If
3029// the context is nil a panic will occur. In the future the SDK may create
3030// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3031// for more information on using Contexts.
3032func (c *GuardDuty) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) {
3033	req, out := c.ListMembersRequest(input)
3034	req.SetContext(ctx)
3035	req.ApplyOptions(opts...)
3036	return out, req.Send()
3037}
3038
3039// ListMembersPages iterates over the pages of a ListMembers operation,
3040// calling the "fn" function with the response data for each page. To stop
3041// iterating, return false from the fn function.
3042//
3043// See ListMembers method for more information on how to use this operation.
3044//
3045// Note: This operation can generate multiple requests to a service.
3046//
3047//    // Example iterating over at most 3 pages of a ListMembers operation.
3048//    pageNum := 0
3049//    err := client.ListMembersPages(params,
3050//        func(page *guardduty.ListMembersOutput, lastPage bool) bool {
3051//            pageNum++
3052//            fmt.Println(page)
3053//            return pageNum <= 3
3054//        })
3055//
3056func (c *GuardDuty) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error {
3057	return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn)
3058}
3059
3060// ListMembersPagesWithContext same as ListMembersPages except
3061// it takes a Context and allows setting request options on the pages.
3062//
3063// The context must be non-nil and will be used for request cancellation. If
3064// the context is nil a panic will occur. In the future the SDK may create
3065// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3066// for more information on using Contexts.
3067func (c *GuardDuty) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error {
3068	p := request.Pagination{
3069		NewRequest: func() (*request.Request, error) {
3070			var inCpy *ListMembersInput
3071			if input != nil {
3072				tmp := *input
3073				inCpy = &tmp
3074			}
3075			req, _ := c.ListMembersRequest(inCpy)
3076			req.SetContext(ctx)
3077			req.ApplyOptions(opts...)
3078			return req, nil
3079		},
3080	}
3081
3082	cont := true
3083	for p.Next() && cont {
3084		cont = fn(p.Page().(*ListMembersOutput), !p.HasNextPage())
3085	}
3086	return p.Err()
3087}
3088
3089const opListTagsForResource = "ListTagsForResource"
3090
3091// ListTagsForResourceRequest generates a "aws/request.Request" representing the
3092// client's request for the ListTagsForResource operation. The "output" return
3093// value will be populated with the request's response once the request completes
3094// successfully.
3095//
3096// Use "Send" method on the returned Request to send the API call to the service.
3097// the "output" return value is not valid until after Send returns without error.
3098//
3099// See ListTagsForResource for more information on using the ListTagsForResource
3100// API call, and error handling.
3101//
3102// This method is useful when you want to inject custom logic or configuration
3103// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3104//
3105//
3106//    // Example sending a request using the ListTagsForResourceRequest method.
3107//    req, resp := client.ListTagsForResourceRequest(params)
3108//
3109//    err := req.Send()
3110//    if err == nil { // resp is now filled
3111//        fmt.Println(resp)
3112//    }
3113//
3114// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListTagsForResource
3115func (c *GuardDuty) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
3116	op := &request.Operation{
3117		Name:       opListTagsForResource,
3118		HTTPMethod: "GET",
3119		HTTPPath:   "/tags/{resourceArn}",
3120	}
3121
3122	if input == nil {
3123		input = &ListTagsForResourceInput{}
3124	}
3125
3126	output = &ListTagsForResourceOutput{}
3127	req = c.newRequest(op, input, output)
3128	return
3129}
3130
3131// ListTagsForResource API operation for Amazon GuardDuty.
3132//
3133// Lists tags for a resource. Tagging is currently supported for detectors,
3134// finding filters, IP sets, and Threat Intel sets, with a limit of 50 tags
3135// per resource. When invoked, this operation returns all assigned tags for
3136// a given resource..
3137//
3138// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3139// with awserr.Error's Code and Message methods to get detailed information about
3140// the error.
3141//
3142// See the AWS API reference guide for Amazon GuardDuty's
3143// API operation ListTagsForResource for usage and error information.
3144//
3145// Returned Error Codes:
3146//   * ErrCodeBadRequestException "BadRequestException"
3147//   Bad request exception object.
3148//
3149//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3150//   Internal server error exception object.
3151//
3152// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListTagsForResource
3153func (c *GuardDuty) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
3154	req, out := c.ListTagsForResourceRequest(input)
3155	return out, req.Send()
3156}
3157
3158// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
3159// the ability to pass a context and additional request options.
3160//
3161// See ListTagsForResource for details on how to use this API operation.
3162//
3163// The context must be non-nil and will be used for request cancellation. If
3164// the context is nil a panic will occur. In the future the SDK may create
3165// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3166// for more information on using Contexts.
3167func (c *GuardDuty) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
3168	req, out := c.ListTagsForResourceRequest(input)
3169	req.SetContext(ctx)
3170	req.ApplyOptions(opts...)
3171	return out, req.Send()
3172}
3173
3174const opListThreatIntelSets = "ListThreatIntelSets"
3175
3176// ListThreatIntelSetsRequest generates a "aws/request.Request" representing the
3177// client's request for the ListThreatIntelSets operation. The "output" return
3178// value will be populated with the request's response once the request completes
3179// successfully.
3180//
3181// Use "Send" method on the returned Request to send the API call to the service.
3182// the "output" return value is not valid until after Send returns without error.
3183//
3184// See ListThreatIntelSets for more information on using the ListThreatIntelSets
3185// API call, and error handling.
3186//
3187// This method is useful when you want to inject custom logic or configuration
3188// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3189//
3190//
3191//    // Example sending a request using the ListThreatIntelSetsRequest method.
3192//    req, resp := client.ListThreatIntelSetsRequest(params)
3193//
3194//    err := req.Send()
3195//    if err == nil { // resp is now filled
3196//        fmt.Println(resp)
3197//    }
3198//
3199// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListThreatIntelSets
3200func (c *GuardDuty) ListThreatIntelSetsRequest(input *ListThreatIntelSetsInput) (req *request.Request, output *ListThreatIntelSetsOutput) {
3201	op := &request.Operation{
3202		Name:       opListThreatIntelSets,
3203		HTTPMethod: "GET",
3204		HTTPPath:   "/detector/{detectorId}/threatintelset",
3205		Paginator: &request.Paginator{
3206			InputTokens:     []string{"NextToken"},
3207			OutputTokens:    []string{"NextToken"},
3208			LimitToken:      "MaxResults",
3209			TruncationToken: "",
3210		},
3211	}
3212
3213	if input == nil {
3214		input = &ListThreatIntelSetsInput{}
3215	}
3216
3217	output = &ListThreatIntelSetsOutput{}
3218	req = c.newRequest(op, input, output)
3219	return
3220}
3221
3222// ListThreatIntelSets API operation for Amazon GuardDuty.
3223//
3224// Lists the ThreatIntelSets of the GuardDuty service specified by the detector
3225// ID.
3226//
3227// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3228// with awserr.Error's Code and Message methods to get detailed information about
3229// the error.
3230//
3231// See the AWS API reference guide for Amazon GuardDuty's
3232// API operation ListThreatIntelSets for usage and error information.
3233//
3234// Returned Error Codes:
3235//   * ErrCodeBadRequestException "BadRequestException"
3236//   Bad request exception object.
3237//
3238//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3239//   Internal server error exception object.
3240//
3241// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListThreatIntelSets
3242func (c *GuardDuty) ListThreatIntelSets(input *ListThreatIntelSetsInput) (*ListThreatIntelSetsOutput, error) {
3243	req, out := c.ListThreatIntelSetsRequest(input)
3244	return out, req.Send()
3245}
3246
3247// ListThreatIntelSetsWithContext is the same as ListThreatIntelSets with the addition of
3248// the ability to pass a context and additional request options.
3249//
3250// See ListThreatIntelSets for details on how to use this API operation.
3251//
3252// The context must be non-nil and will be used for request cancellation. If
3253// the context is nil a panic will occur. In the future the SDK may create
3254// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3255// for more information on using Contexts.
3256func (c *GuardDuty) ListThreatIntelSetsWithContext(ctx aws.Context, input *ListThreatIntelSetsInput, opts ...request.Option) (*ListThreatIntelSetsOutput, error) {
3257	req, out := c.ListThreatIntelSetsRequest(input)
3258	req.SetContext(ctx)
3259	req.ApplyOptions(opts...)
3260	return out, req.Send()
3261}
3262
3263// ListThreatIntelSetsPages iterates over the pages of a ListThreatIntelSets operation,
3264// calling the "fn" function with the response data for each page. To stop
3265// iterating, return false from the fn function.
3266//
3267// See ListThreatIntelSets method for more information on how to use this operation.
3268//
3269// Note: This operation can generate multiple requests to a service.
3270//
3271//    // Example iterating over at most 3 pages of a ListThreatIntelSets operation.
3272//    pageNum := 0
3273//    err := client.ListThreatIntelSetsPages(params,
3274//        func(page *guardduty.ListThreatIntelSetsOutput, lastPage bool) bool {
3275//            pageNum++
3276//            fmt.Println(page)
3277//            return pageNum <= 3
3278//        })
3279//
3280func (c *GuardDuty) ListThreatIntelSetsPages(input *ListThreatIntelSetsInput, fn func(*ListThreatIntelSetsOutput, bool) bool) error {
3281	return c.ListThreatIntelSetsPagesWithContext(aws.BackgroundContext(), input, fn)
3282}
3283
3284// ListThreatIntelSetsPagesWithContext same as ListThreatIntelSetsPages except
3285// it takes a Context and allows setting request options on the pages.
3286//
3287// The context must be non-nil and will be used for request cancellation. If
3288// the context is nil a panic will occur. In the future the SDK may create
3289// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3290// for more information on using Contexts.
3291func (c *GuardDuty) ListThreatIntelSetsPagesWithContext(ctx aws.Context, input *ListThreatIntelSetsInput, fn func(*ListThreatIntelSetsOutput, bool) bool, opts ...request.Option) error {
3292	p := request.Pagination{
3293		NewRequest: func() (*request.Request, error) {
3294			var inCpy *ListThreatIntelSetsInput
3295			if input != nil {
3296				tmp := *input
3297				inCpy = &tmp
3298			}
3299			req, _ := c.ListThreatIntelSetsRequest(inCpy)
3300			req.SetContext(ctx)
3301			req.ApplyOptions(opts...)
3302			return req, nil
3303		},
3304	}
3305
3306	cont := true
3307	for p.Next() && cont {
3308		cont = fn(p.Page().(*ListThreatIntelSetsOutput), !p.HasNextPage())
3309	}
3310	return p.Err()
3311}
3312
3313const opStartMonitoringMembers = "StartMonitoringMembers"
3314
3315// StartMonitoringMembersRequest generates a "aws/request.Request" representing the
3316// client's request for the StartMonitoringMembers operation. The "output" return
3317// value will be populated with the request's response once the request completes
3318// successfully.
3319//
3320// Use "Send" method on the returned Request to send the API call to the service.
3321// the "output" return value is not valid until after Send returns without error.
3322//
3323// See StartMonitoringMembers for more information on using the StartMonitoringMembers
3324// API call, and error handling.
3325//
3326// This method is useful when you want to inject custom logic or configuration
3327// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3328//
3329//
3330//    // Example sending a request using the StartMonitoringMembersRequest method.
3331//    req, resp := client.StartMonitoringMembersRequest(params)
3332//
3333//    err := req.Send()
3334//    if err == nil { // resp is now filled
3335//        fmt.Println(resp)
3336//    }
3337//
3338// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/StartMonitoringMembers
3339func (c *GuardDuty) StartMonitoringMembersRequest(input *StartMonitoringMembersInput) (req *request.Request, output *StartMonitoringMembersOutput) {
3340	op := &request.Operation{
3341		Name:       opStartMonitoringMembers,
3342		HTTPMethod: "POST",
3343		HTTPPath:   "/detector/{detectorId}/member/start",
3344	}
3345
3346	if input == nil {
3347		input = &StartMonitoringMembersInput{}
3348	}
3349
3350	output = &StartMonitoringMembersOutput{}
3351	req = c.newRequest(op, input, output)
3352	return
3353}
3354
3355// StartMonitoringMembers API operation for Amazon GuardDuty.
3356//
3357// Re-enables GuardDuty to monitor findings of the member accounts specified
3358// by the account IDs. A master GuardDuty account can run this command after
3359// disabling GuardDuty from monitoring these members' findings by running StopMonitoringMembers.
3360//
3361// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3362// with awserr.Error's Code and Message methods to get detailed information about
3363// the error.
3364//
3365// See the AWS API reference guide for Amazon GuardDuty's
3366// API operation StartMonitoringMembers for usage and error information.
3367//
3368// Returned Error Codes:
3369//   * ErrCodeBadRequestException "BadRequestException"
3370//   Bad request exception object.
3371//
3372//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3373//   Internal server error exception object.
3374//
3375// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/StartMonitoringMembers
3376func (c *GuardDuty) StartMonitoringMembers(input *StartMonitoringMembersInput) (*StartMonitoringMembersOutput, error) {
3377	req, out := c.StartMonitoringMembersRequest(input)
3378	return out, req.Send()
3379}
3380
3381// StartMonitoringMembersWithContext is the same as StartMonitoringMembers with the addition of
3382// the ability to pass a context and additional request options.
3383//
3384// See StartMonitoringMembers for details on how to use this API operation.
3385//
3386// The context must be non-nil and will be used for request cancellation. If
3387// the context is nil a panic will occur. In the future the SDK may create
3388// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3389// for more information on using Contexts.
3390func (c *GuardDuty) StartMonitoringMembersWithContext(ctx aws.Context, input *StartMonitoringMembersInput, opts ...request.Option) (*StartMonitoringMembersOutput, error) {
3391	req, out := c.StartMonitoringMembersRequest(input)
3392	req.SetContext(ctx)
3393	req.ApplyOptions(opts...)
3394	return out, req.Send()
3395}
3396
3397const opStopMonitoringMembers = "StopMonitoringMembers"
3398
3399// StopMonitoringMembersRequest generates a "aws/request.Request" representing the
3400// client's request for the StopMonitoringMembers operation. The "output" return
3401// value will be populated with the request's response once the request completes
3402// successfully.
3403//
3404// Use "Send" method on the returned Request to send the API call to the service.
3405// the "output" return value is not valid until after Send returns without error.
3406//
3407// See StopMonitoringMembers for more information on using the StopMonitoringMembers
3408// API call, and error handling.
3409//
3410// This method is useful when you want to inject custom logic or configuration
3411// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3412//
3413//
3414//    // Example sending a request using the StopMonitoringMembersRequest method.
3415//    req, resp := client.StopMonitoringMembersRequest(params)
3416//
3417//    err := req.Send()
3418//    if err == nil { // resp is now filled
3419//        fmt.Println(resp)
3420//    }
3421//
3422// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/StopMonitoringMembers
3423func (c *GuardDuty) StopMonitoringMembersRequest(input *StopMonitoringMembersInput) (req *request.Request, output *StopMonitoringMembersOutput) {
3424	op := &request.Operation{
3425		Name:       opStopMonitoringMembers,
3426		HTTPMethod: "POST",
3427		HTTPPath:   "/detector/{detectorId}/member/stop",
3428	}
3429
3430	if input == nil {
3431		input = &StopMonitoringMembersInput{}
3432	}
3433
3434	output = &StopMonitoringMembersOutput{}
3435	req = c.newRequest(op, input, output)
3436	return
3437}
3438
3439// StopMonitoringMembers API operation for Amazon GuardDuty.
3440//
3441// Disables GuardDuty from monitoring findings of the member accounts specified
3442// by the account IDs. After running this command, a master GuardDuty account
3443// can run StartMonitoringMembers to re-enable GuardDuty to monitor these members’
3444// findings.
3445//
3446// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3447// with awserr.Error's Code and Message methods to get detailed information about
3448// the error.
3449//
3450// See the AWS API reference guide for Amazon GuardDuty's
3451// API operation StopMonitoringMembers for usage and error information.
3452//
3453// Returned Error Codes:
3454//   * ErrCodeBadRequestException "BadRequestException"
3455//   Bad request exception object.
3456//
3457//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3458//   Internal server error exception object.
3459//
3460// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/StopMonitoringMembers
3461func (c *GuardDuty) StopMonitoringMembers(input *StopMonitoringMembersInput) (*StopMonitoringMembersOutput, error) {
3462	req, out := c.StopMonitoringMembersRequest(input)
3463	return out, req.Send()
3464}
3465
3466// StopMonitoringMembersWithContext is the same as StopMonitoringMembers with the addition of
3467// the ability to pass a context and additional request options.
3468//
3469// See StopMonitoringMembers for details on how to use this API operation.
3470//
3471// The context must be non-nil and will be used for request cancellation. If
3472// the context is nil a panic will occur. In the future the SDK may create
3473// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3474// for more information on using Contexts.
3475func (c *GuardDuty) StopMonitoringMembersWithContext(ctx aws.Context, input *StopMonitoringMembersInput, opts ...request.Option) (*StopMonitoringMembersOutput, error) {
3476	req, out := c.StopMonitoringMembersRequest(input)
3477	req.SetContext(ctx)
3478	req.ApplyOptions(opts...)
3479	return out, req.Send()
3480}
3481
3482const opTagResource = "TagResource"
3483
3484// TagResourceRequest generates a "aws/request.Request" representing the
3485// client's request for the TagResource operation. The "output" return
3486// value will be populated with the request's response once the request completes
3487// successfully.
3488//
3489// Use "Send" method on the returned Request to send the API call to the service.
3490// the "output" return value is not valid until after Send returns without error.
3491//
3492// See TagResource for more information on using the TagResource
3493// API call, and error handling.
3494//
3495// This method is useful when you want to inject custom logic or configuration
3496// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3497//
3498//
3499//    // Example sending a request using the TagResourceRequest method.
3500//    req, resp := client.TagResourceRequest(params)
3501//
3502//    err := req.Send()
3503//    if err == nil { // resp is now filled
3504//        fmt.Println(resp)
3505//    }
3506//
3507// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/TagResource
3508func (c *GuardDuty) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
3509	op := &request.Operation{
3510		Name:       opTagResource,
3511		HTTPMethod: "POST",
3512		HTTPPath:   "/tags/{resourceArn}",
3513	}
3514
3515	if input == nil {
3516		input = &TagResourceInput{}
3517	}
3518
3519	output = &TagResourceOutput{}
3520	req = c.newRequest(op, input, output)
3521	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3522	return
3523}
3524
3525// TagResource API operation for Amazon GuardDuty.
3526//
3527// Adds tags to a resource.
3528//
3529// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3530// with awserr.Error's Code and Message methods to get detailed information about
3531// the error.
3532//
3533// See the AWS API reference guide for Amazon GuardDuty's
3534// API operation TagResource for usage and error information.
3535//
3536// Returned Error Codes:
3537//   * ErrCodeBadRequestException "BadRequestException"
3538//   Bad request exception object.
3539//
3540//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3541//   Internal server error exception object.
3542//
3543// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/TagResource
3544func (c *GuardDuty) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
3545	req, out := c.TagResourceRequest(input)
3546	return out, req.Send()
3547}
3548
3549// TagResourceWithContext is the same as TagResource with the addition of
3550// the ability to pass a context and additional request options.
3551//
3552// See TagResource for details on how to use this API operation.
3553//
3554// The context must be non-nil and will be used for request cancellation. If
3555// the context is nil a panic will occur. In the future the SDK may create
3556// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3557// for more information on using Contexts.
3558func (c *GuardDuty) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
3559	req, out := c.TagResourceRequest(input)
3560	req.SetContext(ctx)
3561	req.ApplyOptions(opts...)
3562	return out, req.Send()
3563}
3564
3565const opUnarchiveFindings = "UnarchiveFindings"
3566
3567// UnarchiveFindingsRequest generates a "aws/request.Request" representing the
3568// client's request for the UnarchiveFindings 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 UnarchiveFindings for more information on using the UnarchiveFindings
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 UnarchiveFindingsRequest method.
3583//    req, resp := client.UnarchiveFindingsRequest(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/UnarchiveFindings
3591func (c *GuardDuty) UnarchiveFindingsRequest(input *UnarchiveFindingsInput) (req *request.Request, output *UnarchiveFindingsOutput) {
3592	op := &request.Operation{
3593		Name:       opUnarchiveFindings,
3594		HTTPMethod: "POST",
3595		HTTPPath:   "/detector/{detectorId}/findings/unarchive",
3596	}
3597
3598	if input == nil {
3599		input = &UnarchiveFindingsInput{}
3600	}
3601
3602	output = &UnarchiveFindingsOutput{}
3603	req = c.newRequest(op, input, output)
3604	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3605	return
3606}
3607
3608// UnarchiveFindings API operation for Amazon GuardDuty.
3609//
3610// Unarchives Amazon GuardDuty findings specified by the list of finding IDs.
3611//
3612// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3613// with awserr.Error's Code and Message methods to get detailed information about
3614// the error.
3615//
3616// See the AWS API reference guide for Amazon GuardDuty's
3617// API operation UnarchiveFindings for usage and error information.
3618//
3619// Returned Error Codes:
3620//   * ErrCodeBadRequestException "BadRequestException"
3621//   Bad request exception object.
3622//
3623//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3624//   Internal server error exception object.
3625//
3626// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UnarchiveFindings
3627func (c *GuardDuty) UnarchiveFindings(input *UnarchiveFindingsInput) (*UnarchiveFindingsOutput, error) {
3628	req, out := c.UnarchiveFindingsRequest(input)
3629	return out, req.Send()
3630}
3631
3632// UnarchiveFindingsWithContext is the same as UnarchiveFindings with the addition of
3633// the ability to pass a context and additional request options.
3634//
3635// See UnarchiveFindings for details on how to use this API operation.
3636//
3637// The context must be non-nil and will be used for request cancellation. If
3638// the context is nil a panic will occur. In the future the SDK may create
3639// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3640// for more information on using Contexts.
3641func (c *GuardDuty) UnarchiveFindingsWithContext(ctx aws.Context, input *UnarchiveFindingsInput, opts ...request.Option) (*UnarchiveFindingsOutput, error) {
3642	req, out := c.UnarchiveFindingsRequest(input)
3643	req.SetContext(ctx)
3644	req.ApplyOptions(opts...)
3645	return out, req.Send()
3646}
3647
3648const opUntagResource = "UntagResource"
3649
3650// UntagResourceRequest generates a "aws/request.Request" representing the
3651// client's request for the UntagResource operation. The "output" return
3652// value will be populated with the request's response once the request completes
3653// successfully.
3654//
3655// Use "Send" method on the returned Request to send the API call to the service.
3656// the "output" return value is not valid until after Send returns without error.
3657//
3658// See UntagResource for more information on using the UntagResource
3659// API call, and error handling.
3660//
3661// This method is useful when you want to inject custom logic or configuration
3662// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3663//
3664//
3665//    // Example sending a request using the UntagResourceRequest method.
3666//    req, resp := client.UntagResourceRequest(params)
3667//
3668//    err := req.Send()
3669//    if err == nil { // resp is now filled
3670//        fmt.Println(resp)
3671//    }
3672//
3673// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UntagResource
3674func (c *GuardDuty) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
3675	op := &request.Operation{
3676		Name:       opUntagResource,
3677		HTTPMethod: "DELETE",
3678		HTTPPath:   "/tags/{resourceArn}",
3679	}
3680
3681	if input == nil {
3682		input = &UntagResourceInput{}
3683	}
3684
3685	output = &UntagResourceOutput{}
3686	req = c.newRequest(op, input, output)
3687	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3688	return
3689}
3690
3691// UntagResource API operation for Amazon GuardDuty.
3692//
3693// Removes tags from a resource.
3694//
3695// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3696// with awserr.Error's Code and Message methods to get detailed information about
3697// the error.
3698//
3699// See the AWS API reference guide for Amazon GuardDuty's
3700// API operation UntagResource for usage and error information.
3701//
3702// Returned Error Codes:
3703//   * ErrCodeBadRequestException "BadRequestException"
3704//   Bad request exception object.
3705//
3706//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3707//   Internal server error exception object.
3708//
3709// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UntagResource
3710func (c *GuardDuty) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
3711	req, out := c.UntagResourceRequest(input)
3712	return out, req.Send()
3713}
3714
3715// UntagResourceWithContext is the same as UntagResource with the addition of
3716// the ability to pass a context and additional request options.
3717//
3718// See UntagResource for details on how to use this API operation.
3719//
3720// The context must be non-nil and will be used for request cancellation. If
3721// the context is nil a panic will occur. In the future the SDK may create
3722// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3723// for more information on using Contexts.
3724func (c *GuardDuty) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
3725	req, out := c.UntagResourceRequest(input)
3726	req.SetContext(ctx)
3727	req.ApplyOptions(opts...)
3728	return out, req.Send()
3729}
3730
3731const opUpdateDetector = "UpdateDetector"
3732
3733// UpdateDetectorRequest generates a "aws/request.Request" representing the
3734// client's request for the UpdateDetector operation. The "output" return
3735// value will be populated with the request's response once the request completes
3736// successfully.
3737//
3738// Use "Send" method on the returned Request to send the API call to the service.
3739// the "output" return value is not valid until after Send returns without error.
3740//
3741// See UpdateDetector for more information on using the UpdateDetector
3742// API call, and error handling.
3743//
3744// This method is useful when you want to inject custom logic or configuration
3745// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3746//
3747//
3748//    // Example sending a request using the UpdateDetectorRequest method.
3749//    req, resp := client.UpdateDetectorRequest(params)
3750//
3751//    err := req.Send()
3752//    if err == nil { // resp is now filled
3753//        fmt.Println(resp)
3754//    }
3755//
3756// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateDetector
3757func (c *GuardDuty) UpdateDetectorRequest(input *UpdateDetectorInput) (req *request.Request, output *UpdateDetectorOutput) {
3758	op := &request.Operation{
3759		Name:       opUpdateDetector,
3760		HTTPMethod: "POST",
3761		HTTPPath:   "/detector/{detectorId}",
3762	}
3763
3764	if input == nil {
3765		input = &UpdateDetectorInput{}
3766	}
3767
3768	output = &UpdateDetectorOutput{}
3769	req = c.newRequest(op, input, output)
3770	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3771	return
3772}
3773
3774// UpdateDetector API operation for Amazon GuardDuty.
3775//
3776// Updates an Amazon GuardDuty detector specified by the detectorId.
3777//
3778// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3779// with awserr.Error's Code and Message methods to get detailed information about
3780// the error.
3781//
3782// See the AWS API reference guide for Amazon GuardDuty's
3783// API operation UpdateDetector for usage and error information.
3784//
3785// Returned Error Codes:
3786//   * ErrCodeBadRequestException "BadRequestException"
3787//   Bad request exception object.
3788//
3789//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3790//   Internal server error exception object.
3791//
3792// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateDetector
3793func (c *GuardDuty) UpdateDetector(input *UpdateDetectorInput) (*UpdateDetectorOutput, error) {
3794	req, out := c.UpdateDetectorRequest(input)
3795	return out, req.Send()
3796}
3797
3798// UpdateDetectorWithContext is the same as UpdateDetector with the addition of
3799// the ability to pass a context and additional request options.
3800//
3801// See UpdateDetector for details on how to use this API operation.
3802//
3803// The context must be non-nil and will be used for request cancellation. If
3804// the context is nil a panic will occur. In the future the SDK may create
3805// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3806// for more information on using Contexts.
3807func (c *GuardDuty) UpdateDetectorWithContext(ctx aws.Context, input *UpdateDetectorInput, opts ...request.Option) (*UpdateDetectorOutput, error) {
3808	req, out := c.UpdateDetectorRequest(input)
3809	req.SetContext(ctx)
3810	req.ApplyOptions(opts...)
3811	return out, req.Send()
3812}
3813
3814const opUpdateFilter = "UpdateFilter"
3815
3816// UpdateFilterRequest generates a "aws/request.Request" representing the
3817// client's request for the UpdateFilter operation. The "output" return
3818// value will be populated with the request's response once the request completes
3819// successfully.
3820//
3821// Use "Send" method on the returned Request to send the API call to the service.
3822// the "output" return value is not valid until after Send returns without error.
3823//
3824// See UpdateFilter for more information on using the UpdateFilter
3825// API call, and error handling.
3826//
3827// This method is useful when you want to inject custom logic or configuration
3828// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3829//
3830//
3831//    // Example sending a request using the UpdateFilterRequest method.
3832//    req, resp := client.UpdateFilterRequest(params)
3833//
3834//    err := req.Send()
3835//    if err == nil { // resp is now filled
3836//        fmt.Println(resp)
3837//    }
3838//
3839// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateFilter
3840func (c *GuardDuty) UpdateFilterRequest(input *UpdateFilterInput) (req *request.Request, output *UpdateFilterOutput) {
3841	op := &request.Operation{
3842		Name:       opUpdateFilter,
3843		HTTPMethod: "POST",
3844		HTTPPath:   "/detector/{detectorId}/filter/{filterName}",
3845	}
3846
3847	if input == nil {
3848		input = &UpdateFilterInput{}
3849	}
3850
3851	output = &UpdateFilterOutput{}
3852	req = c.newRequest(op, input, output)
3853	return
3854}
3855
3856// UpdateFilter API operation for Amazon GuardDuty.
3857//
3858// Updates the filter specified by the filter name.
3859//
3860// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3861// with awserr.Error's Code and Message methods to get detailed information about
3862// the error.
3863//
3864// See the AWS API reference guide for Amazon GuardDuty's
3865// API operation UpdateFilter for usage and error information.
3866//
3867// Returned Error Codes:
3868//   * ErrCodeBadRequestException "BadRequestException"
3869//   Bad request exception object.
3870//
3871//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3872//   Internal server error exception object.
3873//
3874// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateFilter
3875func (c *GuardDuty) UpdateFilter(input *UpdateFilterInput) (*UpdateFilterOutput, error) {
3876	req, out := c.UpdateFilterRequest(input)
3877	return out, req.Send()
3878}
3879
3880// UpdateFilterWithContext is the same as UpdateFilter with the addition of
3881// the ability to pass a context and additional request options.
3882//
3883// See UpdateFilter for details on how to use this API operation.
3884//
3885// The context must be non-nil and will be used for request cancellation. If
3886// the context is nil a panic will occur. In the future the SDK may create
3887// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3888// for more information on using Contexts.
3889func (c *GuardDuty) UpdateFilterWithContext(ctx aws.Context, input *UpdateFilterInput, opts ...request.Option) (*UpdateFilterOutput, error) {
3890	req, out := c.UpdateFilterRequest(input)
3891	req.SetContext(ctx)
3892	req.ApplyOptions(opts...)
3893	return out, req.Send()
3894}
3895
3896const opUpdateFindingsFeedback = "UpdateFindingsFeedback"
3897
3898// UpdateFindingsFeedbackRequest generates a "aws/request.Request" representing the
3899// client's request for the UpdateFindingsFeedback operation. The "output" return
3900// value will be populated with the request's response once the request completes
3901// successfully.
3902//
3903// Use "Send" method on the returned Request to send the API call to the service.
3904// the "output" return value is not valid until after Send returns without error.
3905//
3906// See UpdateFindingsFeedback for more information on using the UpdateFindingsFeedback
3907// API call, and error handling.
3908//
3909// This method is useful when you want to inject custom logic or configuration
3910// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3911//
3912//
3913//    // Example sending a request using the UpdateFindingsFeedbackRequest method.
3914//    req, resp := client.UpdateFindingsFeedbackRequest(params)
3915//
3916//    err := req.Send()
3917//    if err == nil { // resp is now filled
3918//        fmt.Println(resp)
3919//    }
3920//
3921// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateFindingsFeedback
3922func (c *GuardDuty) UpdateFindingsFeedbackRequest(input *UpdateFindingsFeedbackInput) (req *request.Request, output *UpdateFindingsFeedbackOutput) {
3923	op := &request.Operation{
3924		Name:       opUpdateFindingsFeedback,
3925		HTTPMethod: "POST",
3926		HTTPPath:   "/detector/{detectorId}/findings/feedback",
3927	}
3928
3929	if input == nil {
3930		input = &UpdateFindingsFeedbackInput{}
3931	}
3932
3933	output = &UpdateFindingsFeedbackOutput{}
3934	req = c.newRequest(op, input, output)
3935	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
3936	return
3937}
3938
3939// UpdateFindingsFeedback API operation for Amazon GuardDuty.
3940//
3941// Marks specified Amazon GuardDuty findings as useful or not useful.
3942//
3943// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3944// with awserr.Error's Code and Message methods to get detailed information about
3945// the error.
3946//
3947// See the AWS API reference guide for Amazon GuardDuty's
3948// API operation UpdateFindingsFeedback for usage and error information.
3949//
3950// Returned Error Codes:
3951//   * ErrCodeBadRequestException "BadRequestException"
3952//   Bad request exception object.
3953//
3954//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
3955//   Internal server error exception object.
3956//
3957// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateFindingsFeedback
3958func (c *GuardDuty) UpdateFindingsFeedback(input *UpdateFindingsFeedbackInput) (*UpdateFindingsFeedbackOutput, error) {
3959	req, out := c.UpdateFindingsFeedbackRequest(input)
3960	return out, req.Send()
3961}
3962
3963// UpdateFindingsFeedbackWithContext is the same as UpdateFindingsFeedback with the addition of
3964// the ability to pass a context and additional request options.
3965//
3966// See UpdateFindingsFeedback for details on how to use this API operation.
3967//
3968// The context must be non-nil and will be used for request cancellation. If
3969// the context is nil a panic will occur. In the future the SDK may create
3970// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3971// for more information on using Contexts.
3972func (c *GuardDuty) UpdateFindingsFeedbackWithContext(ctx aws.Context, input *UpdateFindingsFeedbackInput, opts ...request.Option) (*UpdateFindingsFeedbackOutput, error) {
3973	req, out := c.UpdateFindingsFeedbackRequest(input)
3974	req.SetContext(ctx)
3975	req.ApplyOptions(opts...)
3976	return out, req.Send()
3977}
3978
3979const opUpdateIPSet = "UpdateIPSet"
3980
3981// UpdateIPSetRequest generates a "aws/request.Request" representing the
3982// client's request for the UpdateIPSet operation. The "output" return
3983// value will be populated with the request's response once the request completes
3984// successfully.
3985//
3986// Use "Send" method on the returned Request to send the API call to the service.
3987// the "output" return value is not valid until after Send returns without error.
3988//
3989// See UpdateIPSet for more information on using the UpdateIPSet
3990// API call, and error handling.
3991//
3992// This method is useful when you want to inject custom logic or configuration
3993// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3994//
3995//
3996//    // Example sending a request using the UpdateIPSetRequest method.
3997//    req, resp := client.UpdateIPSetRequest(params)
3998//
3999//    err := req.Send()
4000//    if err == nil { // resp is now filled
4001//        fmt.Println(resp)
4002//    }
4003//
4004// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateIPSet
4005func (c *GuardDuty) UpdateIPSetRequest(input *UpdateIPSetInput) (req *request.Request, output *UpdateIPSetOutput) {
4006	op := &request.Operation{
4007		Name:       opUpdateIPSet,
4008		HTTPMethod: "POST",
4009		HTTPPath:   "/detector/{detectorId}/ipset/{ipSetId}",
4010	}
4011
4012	if input == nil {
4013		input = &UpdateIPSetInput{}
4014	}
4015
4016	output = &UpdateIPSetOutput{}
4017	req = c.newRequest(op, input, output)
4018	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4019	return
4020}
4021
4022// UpdateIPSet API operation for Amazon GuardDuty.
4023//
4024// Updates the IPSet specified by the IPSet ID.
4025//
4026// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4027// with awserr.Error's Code and Message methods to get detailed information about
4028// the error.
4029//
4030// See the AWS API reference guide for Amazon GuardDuty's
4031// API operation UpdateIPSet for usage and error information.
4032//
4033// Returned Error Codes:
4034//   * ErrCodeBadRequestException "BadRequestException"
4035//   Bad request exception object.
4036//
4037//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4038//   Internal server error exception object.
4039//
4040// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateIPSet
4041func (c *GuardDuty) UpdateIPSet(input *UpdateIPSetInput) (*UpdateIPSetOutput, error) {
4042	req, out := c.UpdateIPSetRequest(input)
4043	return out, req.Send()
4044}
4045
4046// UpdateIPSetWithContext is the same as UpdateIPSet with the addition of
4047// the ability to pass a context and additional request options.
4048//
4049// See UpdateIPSet for details on how to use this API operation.
4050//
4051// The context must be non-nil and will be used for request cancellation. If
4052// the context is nil a panic will occur. In the future the SDK may create
4053// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4054// for more information on using Contexts.
4055func (c *GuardDuty) UpdateIPSetWithContext(ctx aws.Context, input *UpdateIPSetInput, opts ...request.Option) (*UpdateIPSetOutput, error) {
4056	req, out := c.UpdateIPSetRequest(input)
4057	req.SetContext(ctx)
4058	req.ApplyOptions(opts...)
4059	return out, req.Send()
4060}
4061
4062const opUpdateThreatIntelSet = "UpdateThreatIntelSet"
4063
4064// UpdateThreatIntelSetRequest generates a "aws/request.Request" representing the
4065// client's request for the UpdateThreatIntelSet operation. The "output" return
4066// value will be populated with the request's response once the request completes
4067// successfully.
4068//
4069// Use "Send" method on the returned Request to send the API call to the service.
4070// the "output" return value is not valid until after Send returns without error.
4071//
4072// See UpdateThreatIntelSet for more information on using the UpdateThreatIntelSet
4073// API call, and error handling.
4074//
4075// This method is useful when you want to inject custom logic or configuration
4076// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4077//
4078//
4079//    // Example sending a request using the UpdateThreatIntelSetRequest method.
4080//    req, resp := client.UpdateThreatIntelSetRequest(params)
4081//
4082//    err := req.Send()
4083//    if err == nil { // resp is now filled
4084//        fmt.Println(resp)
4085//    }
4086//
4087// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateThreatIntelSet
4088func (c *GuardDuty) UpdateThreatIntelSetRequest(input *UpdateThreatIntelSetInput) (req *request.Request, output *UpdateThreatIntelSetOutput) {
4089	op := &request.Operation{
4090		Name:       opUpdateThreatIntelSet,
4091		HTTPMethod: "POST",
4092		HTTPPath:   "/detector/{detectorId}/threatintelset/{threatIntelSetId}",
4093	}
4094
4095	if input == nil {
4096		input = &UpdateThreatIntelSetInput{}
4097	}
4098
4099	output = &UpdateThreatIntelSetOutput{}
4100	req = c.newRequest(op, input, output)
4101	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4102	return
4103}
4104
4105// UpdateThreatIntelSet API operation for Amazon GuardDuty.
4106//
4107// Updates the ThreatIntelSet specified by ThreatIntelSet ID.
4108//
4109// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4110// with awserr.Error's Code and Message methods to get detailed information about
4111// the error.
4112//
4113// See the AWS API reference guide for Amazon GuardDuty's
4114// API operation UpdateThreatIntelSet for usage and error information.
4115//
4116// Returned Error Codes:
4117//   * ErrCodeBadRequestException "BadRequestException"
4118//   Bad request exception object.
4119//
4120//   * ErrCodeInternalServerErrorException "InternalServerErrorException"
4121//   Internal server error exception object.
4122//
4123// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateThreatIntelSet
4124func (c *GuardDuty) UpdateThreatIntelSet(input *UpdateThreatIntelSetInput) (*UpdateThreatIntelSetOutput, error) {
4125	req, out := c.UpdateThreatIntelSetRequest(input)
4126	return out, req.Send()
4127}
4128
4129// UpdateThreatIntelSetWithContext is the same as UpdateThreatIntelSet with the addition of
4130// the ability to pass a context and additional request options.
4131//
4132// See UpdateThreatIntelSet for details on how to use this API operation.
4133//
4134// The context must be non-nil and will be used for request cancellation. If
4135// the context is nil a panic will occur. In the future the SDK may create
4136// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4137// for more information on using Contexts.
4138func (c *GuardDuty) UpdateThreatIntelSetWithContext(ctx aws.Context, input *UpdateThreatIntelSetInput, opts ...request.Option) (*UpdateThreatIntelSetOutput, error) {
4139	req, out := c.UpdateThreatIntelSetRequest(input)
4140	req.SetContext(ctx)
4141	req.ApplyOptions(opts...)
4142	return out, req.Send()
4143}
4144
4145type AcceptInvitationInput struct {
4146	_ struct{} `type:"structure"`
4147
4148	// The unique ID of the detector of the GuardDuty member account.
4149	//
4150	// DetectorId is a required field
4151	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
4152
4153	// This value is used to validate the master account to the member account.
4154	//
4155	// InvitationId is a required field
4156	InvitationId *string `locationName:"invitationId" type:"string" required:"true"`
4157
4158	// The account ID of the master GuardDuty account whose invitation you're accepting.
4159	//
4160	// MasterId is a required field
4161	MasterId *string `locationName:"masterId" type:"string" required:"true"`
4162}
4163
4164// String returns the string representation
4165func (s AcceptInvitationInput) String() string {
4166	return awsutil.Prettify(s)
4167}
4168
4169// GoString returns the string representation
4170func (s AcceptInvitationInput) GoString() string {
4171	return s.String()
4172}
4173
4174// Validate inspects the fields of the type to determine if they are valid.
4175func (s *AcceptInvitationInput) Validate() error {
4176	invalidParams := request.ErrInvalidParams{Context: "AcceptInvitationInput"}
4177	if s.DetectorId == nil {
4178		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
4179	}
4180	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
4181		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
4182	}
4183	if s.InvitationId == nil {
4184		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
4185	}
4186	if s.MasterId == nil {
4187		invalidParams.Add(request.NewErrParamRequired("MasterId"))
4188	}
4189
4190	if invalidParams.Len() > 0 {
4191		return invalidParams
4192	}
4193	return nil
4194}
4195
4196// SetDetectorId sets the DetectorId field's value.
4197func (s *AcceptInvitationInput) SetDetectorId(v string) *AcceptInvitationInput {
4198	s.DetectorId = &v
4199	return s
4200}
4201
4202// SetInvitationId sets the InvitationId field's value.
4203func (s *AcceptInvitationInput) SetInvitationId(v string) *AcceptInvitationInput {
4204	s.InvitationId = &v
4205	return s
4206}
4207
4208// SetMasterId sets the MasterId field's value.
4209func (s *AcceptInvitationInput) SetMasterId(v string) *AcceptInvitationInput {
4210	s.MasterId = &v
4211	return s
4212}
4213
4214type AcceptInvitationOutput struct {
4215	_ struct{} `type:"structure"`
4216}
4217
4218// String returns the string representation
4219func (s AcceptInvitationOutput) String() string {
4220	return awsutil.Prettify(s)
4221}
4222
4223// GoString returns the string representation
4224func (s AcceptInvitationOutput) GoString() string {
4225	return s.String()
4226}
4227
4228// Contains information about the access keys.
4229type AccessKeyDetails struct {
4230	_ struct{} `type:"structure"`
4231
4232	// Access key ID of the user.
4233	AccessKeyId *string `locationName:"accessKeyId" type:"string"`
4234
4235	// The principal ID of the user.
4236	PrincipalId *string `locationName:"principalId" type:"string"`
4237
4238	// The name of the user.
4239	UserName *string `locationName:"userName" type:"string"`
4240
4241	// The type of the user.
4242	UserType *string `locationName:"userType" type:"string"`
4243}
4244
4245// String returns the string representation
4246func (s AccessKeyDetails) String() string {
4247	return awsutil.Prettify(s)
4248}
4249
4250// GoString returns the string representation
4251func (s AccessKeyDetails) GoString() string {
4252	return s.String()
4253}
4254
4255// SetAccessKeyId sets the AccessKeyId field's value.
4256func (s *AccessKeyDetails) SetAccessKeyId(v string) *AccessKeyDetails {
4257	s.AccessKeyId = &v
4258	return s
4259}
4260
4261// SetPrincipalId sets the PrincipalId field's value.
4262func (s *AccessKeyDetails) SetPrincipalId(v string) *AccessKeyDetails {
4263	s.PrincipalId = &v
4264	return s
4265}
4266
4267// SetUserName sets the UserName field's value.
4268func (s *AccessKeyDetails) SetUserName(v string) *AccessKeyDetails {
4269	s.UserName = &v
4270	return s
4271}
4272
4273// SetUserType sets the UserType field's value.
4274func (s *AccessKeyDetails) SetUserType(v string) *AccessKeyDetails {
4275	s.UserType = &v
4276	return s
4277}
4278
4279// Contains information about the account.
4280type AccountDetail struct {
4281	_ struct{} `type:"structure"`
4282
4283	// Member account ID.
4284	//
4285	// AccountId is a required field
4286	AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"`
4287
4288	// Member account's email address.
4289	//
4290	// Email is a required field
4291	Email *string `locationName:"email" min:"1" type:"string" required:"true"`
4292}
4293
4294// String returns the string representation
4295func (s AccountDetail) String() string {
4296	return awsutil.Prettify(s)
4297}
4298
4299// GoString returns the string representation
4300func (s AccountDetail) GoString() string {
4301	return s.String()
4302}
4303
4304// Validate inspects the fields of the type to determine if they are valid.
4305func (s *AccountDetail) Validate() error {
4306	invalidParams := request.ErrInvalidParams{Context: "AccountDetail"}
4307	if s.AccountId == nil {
4308		invalidParams.Add(request.NewErrParamRequired("AccountId"))
4309	}
4310	if s.AccountId != nil && len(*s.AccountId) < 12 {
4311		invalidParams.Add(request.NewErrParamMinLen("AccountId", 12))
4312	}
4313	if s.Email == nil {
4314		invalidParams.Add(request.NewErrParamRequired("Email"))
4315	}
4316	if s.Email != nil && len(*s.Email) < 1 {
4317		invalidParams.Add(request.NewErrParamMinLen("Email", 1))
4318	}
4319
4320	if invalidParams.Len() > 0 {
4321		return invalidParams
4322	}
4323	return nil
4324}
4325
4326// SetAccountId sets the AccountId field's value.
4327func (s *AccountDetail) SetAccountId(v string) *AccountDetail {
4328	s.AccountId = &v
4329	return s
4330}
4331
4332// SetEmail sets the Email field's value.
4333func (s *AccountDetail) SetEmail(v string) *AccountDetail {
4334	s.Email = &v
4335	return s
4336}
4337
4338// Contains information about action.
4339type Action struct {
4340	_ struct{} `type:"structure"`
4341
4342	// GuardDuty Finding activity type.
4343	ActionType *string `locationName:"actionType" type:"string"`
4344
4345	// Information about the AWS_API_CALL action described in this finding.
4346	AwsApiCallAction *AwsApiCallAction `locationName:"awsApiCallAction" type:"structure"`
4347
4348	// Information about the DNS_REQUEST action described in this finding.
4349	DnsRequestAction *DnsRequestAction `locationName:"dnsRequestAction" type:"structure"`
4350
4351	// Information about the NETWORK_CONNECTION action described in this finding.
4352	NetworkConnectionAction *NetworkConnectionAction `locationName:"networkConnectionAction" type:"structure"`
4353
4354	// Information about the PORT_PROBE action described in this finding.
4355	PortProbeAction *PortProbeAction `locationName:"portProbeAction" type:"structure"`
4356}
4357
4358// String returns the string representation
4359func (s Action) String() string {
4360	return awsutil.Prettify(s)
4361}
4362
4363// GoString returns the string representation
4364func (s Action) GoString() string {
4365	return s.String()
4366}
4367
4368// SetActionType sets the ActionType field's value.
4369func (s *Action) SetActionType(v string) *Action {
4370	s.ActionType = &v
4371	return s
4372}
4373
4374// SetAwsApiCallAction sets the AwsApiCallAction field's value.
4375func (s *Action) SetAwsApiCallAction(v *AwsApiCallAction) *Action {
4376	s.AwsApiCallAction = v
4377	return s
4378}
4379
4380// SetDnsRequestAction sets the DnsRequestAction field's value.
4381func (s *Action) SetDnsRequestAction(v *DnsRequestAction) *Action {
4382	s.DnsRequestAction = v
4383	return s
4384}
4385
4386// SetNetworkConnectionAction sets the NetworkConnectionAction field's value.
4387func (s *Action) SetNetworkConnectionAction(v *NetworkConnectionAction) *Action {
4388	s.NetworkConnectionAction = v
4389	return s
4390}
4391
4392// SetPortProbeAction sets the PortProbeAction field's value.
4393func (s *Action) SetPortProbeAction(v *PortProbeAction) *Action {
4394	s.PortProbeAction = v
4395	return s
4396}
4397
4398type ArchiveFindingsInput struct {
4399	_ struct{} `type:"structure"`
4400
4401	// The ID of the detector that specifies the GuardDuty service whose findings
4402	// you want to archive.
4403	//
4404	// DetectorId is a required field
4405	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
4406
4407	// IDs of the findings that you want to archive.
4408	//
4409	// FindingIds is a required field
4410	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
4411}
4412
4413// String returns the string representation
4414func (s ArchiveFindingsInput) String() string {
4415	return awsutil.Prettify(s)
4416}
4417
4418// GoString returns the string representation
4419func (s ArchiveFindingsInput) GoString() string {
4420	return s.String()
4421}
4422
4423// Validate inspects the fields of the type to determine if they are valid.
4424func (s *ArchiveFindingsInput) Validate() error {
4425	invalidParams := request.ErrInvalidParams{Context: "ArchiveFindingsInput"}
4426	if s.DetectorId == nil {
4427		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
4428	}
4429	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
4430		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
4431	}
4432	if s.FindingIds == nil {
4433		invalidParams.Add(request.NewErrParamRequired("FindingIds"))
4434	}
4435
4436	if invalidParams.Len() > 0 {
4437		return invalidParams
4438	}
4439	return nil
4440}
4441
4442// SetDetectorId sets the DetectorId field's value.
4443func (s *ArchiveFindingsInput) SetDetectorId(v string) *ArchiveFindingsInput {
4444	s.DetectorId = &v
4445	return s
4446}
4447
4448// SetFindingIds sets the FindingIds field's value.
4449func (s *ArchiveFindingsInput) SetFindingIds(v []*string) *ArchiveFindingsInput {
4450	s.FindingIds = v
4451	return s
4452}
4453
4454type ArchiveFindingsOutput struct {
4455	_ struct{} `type:"structure"`
4456}
4457
4458// String returns the string representation
4459func (s ArchiveFindingsOutput) String() string {
4460	return awsutil.Prettify(s)
4461}
4462
4463// GoString returns the string representation
4464func (s ArchiveFindingsOutput) GoString() string {
4465	return s.String()
4466}
4467
4468// Contains information about the API operation.
4469type AwsApiCallAction struct {
4470	_ struct{} `type:"structure"`
4471
4472	// AWS API name.
4473	Api *string `locationName:"api" type:"string"`
4474
4475	// AWS API caller type.
4476	CallerType *string `locationName:"callerType" type:"string"`
4477
4478	// Domain information for the AWS API call.
4479	DomainDetails *DomainDetails `locationName:"domainDetails" type:"structure"`
4480
4481	// Remote IP information of the connection.
4482	RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"`
4483
4484	// AWS service name whose API was invoked.
4485	ServiceName *string `locationName:"serviceName" type:"string"`
4486}
4487
4488// String returns the string representation
4489func (s AwsApiCallAction) String() string {
4490	return awsutil.Prettify(s)
4491}
4492
4493// GoString returns the string representation
4494func (s AwsApiCallAction) GoString() string {
4495	return s.String()
4496}
4497
4498// SetApi sets the Api field's value.
4499func (s *AwsApiCallAction) SetApi(v string) *AwsApiCallAction {
4500	s.Api = &v
4501	return s
4502}
4503
4504// SetCallerType sets the CallerType field's value.
4505func (s *AwsApiCallAction) SetCallerType(v string) *AwsApiCallAction {
4506	s.CallerType = &v
4507	return s
4508}
4509
4510// SetDomainDetails sets the DomainDetails field's value.
4511func (s *AwsApiCallAction) SetDomainDetails(v *DomainDetails) *AwsApiCallAction {
4512	s.DomainDetails = v
4513	return s
4514}
4515
4516// SetRemoteIpDetails sets the RemoteIpDetails field's value.
4517func (s *AwsApiCallAction) SetRemoteIpDetails(v *RemoteIpDetails) *AwsApiCallAction {
4518	s.RemoteIpDetails = v
4519	return s
4520}
4521
4522// SetServiceName sets the ServiceName field's value.
4523func (s *AwsApiCallAction) SetServiceName(v string) *AwsApiCallAction {
4524	s.ServiceName = &v
4525	return s
4526}
4527
4528// Contains information about the city associated with the IP address.
4529type City struct {
4530	_ struct{} `type:"structure"`
4531
4532	// City name of the remote IP address.
4533	CityName *string `locationName:"cityName" type:"string"`
4534}
4535
4536// String returns the string representation
4537func (s City) String() string {
4538	return awsutil.Prettify(s)
4539}
4540
4541// GoString returns the string representation
4542func (s City) GoString() string {
4543	return s.String()
4544}
4545
4546// SetCityName sets the CityName field's value.
4547func (s *City) SetCityName(v string) *City {
4548	s.CityName = &v
4549	return s
4550}
4551
4552// Contains information about the condition.
4553type Condition struct {
4554	_ struct{} `type:"structure"`
4555
4556	// Deprecated. Represents the equal condition to be applied to a single field
4557	// when querying for findings.
4558	//
4559	// Deprecated: Eq has been deprecated
4560	Eq []*string `locationName:"eq" deprecated:"true" type:"list"`
4561
4562	// Represents an equal condition to be applied to a single field when querying
4563	// for findings.
4564	Equals []*string `locationName:"equals" type:"list"`
4565
4566	// Represents a greater than condition to be applied to a single field when
4567	// querying for findings.
4568	GreaterThan *int64 `locationName:"greaterThan" type:"long"`
4569
4570	// Represents a greater than equal condition to be applied to a single field
4571	// when querying for findings.
4572	GreaterThanOrEqual *int64 `locationName:"greaterThanOrEqual" type:"long"`
4573
4574	// Deprecated. Represents a greater than condition to be applied to a single
4575	// field when querying for findings.
4576	//
4577	// Deprecated: Gt has been deprecated
4578	Gt *int64 `locationName:"gt" deprecated:"true" type:"integer"`
4579
4580	// Deprecated. Represents a greater than equal condition to be applied to a
4581	// single field when querying for findings.
4582	//
4583	// Deprecated: Gte has been deprecated
4584	Gte *int64 `locationName:"gte" deprecated:"true" type:"integer"`
4585
4586	// Represents a less than condition to be applied to a single field when querying
4587	// for findings.
4588	LessThan *int64 `locationName:"lessThan" type:"long"`
4589
4590	// Represents a less than equal condition to be applied to a single field when
4591	// querying for findings.
4592	LessThanOrEqual *int64 `locationName:"lessThanOrEqual" type:"long"`
4593
4594	// Deprecated. Represents a less than condition to be applied to a single field
4595	// when querying for findings.
4596	//
4597	// Deprecated: Lt has been deprecated
4598	Lt *int64 `locationName:"lt" deprecated:"true" type:"integer"`
4599
4600	// Deprecated. Represents a less than equal condition to be applied to a single
4601	// field when querying for findings.
4602	//
4603	// Deprecated: Lte has been deprecated
4604	Lte *int64 `locationName:"lte" deprecated:"true" type:"integer"`
4605
4606	// Deprecated. Represents the not equal condition to be applied to a single
4607	// field when querying for findings.
4608	//
4609	// Deprecated: Neq has been deprecated
4610	Neq []*string `locationName:"neq" deprecated:"true" type:"list"`
4611
4612	// Represents an not equal condition to be applied to a single field when querying
4613	// for findings.
4614	NotEquals []*string `locationName:"notEquals" type:"list"`
4615}
4616
4617// String returns the string representation
4618func (s Condition) String() string {
4619	return awsutil.Prettify(s)
4620}
4621
4622// GoString returns the string representation
4623func (s Condition) GoString() string {
4624	return s.String()
4625}
4626
4627// SetEq sets the Eq field's value.
4628func (s *Condition) SetEq(v []*string) *Condition {
4629	s.Eq = v
4630	return s
4631}
4632
4633// SetEquals sets the Equals field's value.
4634func (s *Condition) SetEquals(v []*string) *Condition {
4635	s.Equals = v
4636	return s
4637}
4638
4639// SetGreaterThan sets the GreaterThan field's value.
4640func (s *Condition) SetGreaterThan(v int64) *Condition {
4641	s.GreaterThan = &v
4642	return s
4643}
4644
4645// SetGreaterThanOrEqual sets the GreaterThanOrEqual field's value.
4646func (s *Condition) SetGreaterThanOrEqual(v int64) *Condition {
4647	s.GreaterThanOrEqual = &v
4648	return s
4649}
4650
4651// SetGt sets the Gt field's value.
4652func (s *Condition) SetGt(v int64) *Condition {
4653	s.Gt = &v
4654	return s
4655}
4656
4657// SetGte sets the Gte field's value.
4658func (s *Condition) SetGte(v int64) *Condition {
4659	s.Gte = &v
4660	return s
4661}
4662
4663// SetLessThan sets the LessThan field's value.
4664func (s *Condition) SetLessThan(v int64) *Condition {
4665	s.LessThan = &v
4666	return s
4667}
4668
4669// SetLessThanOrEqual sets the LessThanOrEqual field's value.
4670func (s *Condition) SetLessThanOrEqual(v int64) *Condition {
4671	s.LessThanOrEqual = &v
4672	return s
4673}
4674
4675// SetLt sets the Lt field's value.
4676func (s *Condition) SetLt(v int64) *Condition {
4677	s.Lt = &v
4678	return s
4679}
4680
4681// SetLte sets the Lte field's value.
4682func (s *Condition) SetLte(v int64) *Condition {
4683	s.Lte = &v
4684	return s
4685}
4686
4687// SetNeq sets the Neq field's value.
4688func (s *Condition) SetNeq(v []*string) *Condition {
4689	s.Neq = v
4690	return s
4691}
4692
4693// SetNotEquals sets the NotEquals field's value.
4694func (s *Condition) SetNotEquals(v []*string) *Condition {
4695	s.NotEquals = v
4696	return s
4697}
4698
4699// Contains information about the country.
4700type Country struct {
4701	_ struct{} `type:"structure"`
4702
4703	// Country code of the remote IP address.
4704	CountryCode *string `locationName:"countryCode" type:"string"`
4705
4706	// Country name of the remote IP address.
4707	CountryName *string `locationName:"countryName" type:"string"`
4708}
4709
4710// String returns the string representation
4711func (s Country) String() string {
4712	return awsutil.Prettify(s)
4713}
4714
4715// GoString returns the string representation
4716func (s Country) GoString() string {
4717	return s.String()
4718}
4719
4720// SetCountryCode sets the CountryCode field's value.
4721func (s *Country) SetCountryCode(v string) *Country {
4722	s.CountryCode = &v
4723	return s
4724}
4725
4726// SetCountryName sets the CountryName field's value.
4727func (s *Country) SetCountryName(v string) *Country {
4728	s.CountryName = &v
4729	return s
4730}
4731
4732type CreateDetectorInput struct {
4733	_ struct{} `type:"structure"`
4734
4735	// The idempotency token for the create request.
4736	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
4737
4738	// A boolean value that specifies whether the detector is to be enabled.
4739	//
4740	// Enable is a required field
4741	Enable *bool `locationName:"enable" type:"boolean" required:"true"`
4742
4743	// A enum value that specifies how frequently customer got Finding updates published.
4744	FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"`
4745
4746	// The tags to be added to a new detector resource.
4747	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
4748}
4749
4750// String returns the string representation
4751func (s CreateDetectorInput) String() string {
4752	return awsutil.Prettify(s)
4753}
4754
4755// GoString returns the string representation
4756func (s CreateDetectorInput) GoString() string {
4757	return s.String()
4758}
4759
4760// Validate inspects the fields of the type to determine if they are valid.
4761func (s *CreateDetectorInput) Validate() error {
4762	invalidParams := request.ErrInvalidParams{Context: "CreateDetectorInput"}
4763	if s.Enable == nil {
4764		invalidParams.Add(request.NewErrParamRequired("Enable"))
4765	}
4766	if s.Tags != nil && len(s.Tags) < 1 {
4767		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
4768	}
4769
4770	if invalidParams.Len() > 0 {
4771		return invalidParams
4772	}
4773	return nil
4774}
4775
4776// SetClientToken sets the ClientToken field's value.
4777func (s *CreateDetectorInput) SetClientToken(v string) *CreateDetectorInput {
4778	s.ClientToken = &v
4779	return s
4780}
4781
4782// SetEnable sets the Enable field's value.
4783func (s *CreateDetectorInput) SetEnable(v bool) *CreateDetectorInput {
4784	s.Enable = &v
4785	return s
4786}
4787
4788// SetFindingPublishingFrequency sets the FindingPublishingFrequency field's value.
4789func (s *CreateDetectorInput) SetFindingPublishingFrequency(v string) *CreateDetectorInput {
4790	s.FindingPublishingFrequency = &v
4791	return s
4792}
4793
4794// SetTags sets the Tags field's value.
4795func (s *CreateDetectorInput) SetTags(v map[string]*string) *CreateDetectorInput {
4796	s.Tags = v
4797	return s
4798}
4799
4800type CreateDetectorOutput struct {
4801	_ struct{} `type:"structure"`
4802
4803	// The unique ID of the created detector.
4804	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
4805}
4806
4807// String returns the string representation
4808func (s CreateDetectorOutput) String() string {
4809	return awsutil.Prettify(s)
4810}
4811
4812// GoString returns the string representation
4813func (s CreateDetectorOutput) GoString() string {
4814	return s.String()
4815}
4816
4817// SetDetectorId sets the DetectorId field's value.
4818func (s *CreateDetectorOutput) SetDetectorId(v string) *CreateDetectorOutput {
4819	s.DetectorId = &v
4820	return s
4821}
4822
4823type CreateFilterInput struct {
4824	_ struct{} `type:"structure"`
4825
4826	// Specifies the action that is to be applied to the findings that match the
4827	// filter.
4828	Action *string `locationName:"action" min:"1" type:"string" enum:"FilterAction"`
4829
4830	// The idempotency token for the create request.
4831	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
4832
4833	// The description of the filter.
4834	Description *string `locationName:"description" type:"string"`
4835
4836	// The unique ID of the detector of the GuardDuty account for which you want
4837	// to create a filter.
4838	//
4839	// DetectorId is a required field
4840	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
4841
4842	// Represents the criteria to be used in the filter for querying findings.
4843	//
4844	// FindingCriteria is a required field
4845	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure" required:"true"`
4846
4847	// The name of the filter.
4848	//
4849	// Name is a required field
4850	Name *string `locationName:"name" min:"3" type:"string" required:"true"`
4851
4852	// Specifies the position of the filter in the list of current filters. Also
4853	// specifies the order in which this filter is applied to the findings.
4854	Rank *int64 `locationName:"rank" min:"1" type:"integer"`
4855
4856	// The tags to be added to a new filter resource.
4857	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
4858}
4859
4860// String returns the string representation
4861func (s CreateFilterInput) String() string {
4862	return awsutil.Prettify(s)
4863}
4864
4865// GoString returns the string representation
4866func (s CreateFilterInput) GoString() string {
4867	return s.String()
4868}
4869
4870// Validate inspects the fields of the type to determine if they are valid.
4871func (s *CreateFilterInput) Validate() error {
4872	invalidParams := request.ErrInvalidParams{Context: "CreateFilterInput"}
4873	if s.Action != nil && len(*s.Action) < 1 {
4874		invalidParams.Add(request.NewErrParamMinLen("Action", 1))
4875	}
4876	if s.DetectorId == nil {
4877		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
4878	}
4879	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
4880		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
4881	}
4882	if s.FindingCriteria == nil {
4883		invalidParams.Add(request.NewErrParamRequired("FindingCriteria"))
4884	}
4885	if s.Name == nil {
4886		invalidParams.Add(request.NewErrParamRequired("Name"))
4887	}
4888	if s.Name != nil && len(*s.Name) < 3 {
4889		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
4890	}
4891	if s.Rank != nil && *s.Rank < 1 {
4892		invalidParams.Add(request.NewErrParamMinValue("Rank", 1))
4893	}
4894	if s.Tags != nil && len(s.Tags) < 1 {
4895		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
4896	}
4897
4898	if invalidParams.Len() > 0 {
4899		return invalidParams
4900	}
4901	return nil
4902}
4903
4904// SetAction sets the Action field's value.
4905func (s *CreateFilterInput) SetAction(v string) *CreateFilterInput {
4906	s.Action = &v
4907	return s
4908}
4909
4910// SetClientToken sets the ClientToken field's value.
4911func (s *CreateFilterInput) SetClientToken(v string) *CreateFilterInput {
4912	s.ClientToken = &v
4913	return s
4914}
4915
4916// SetDescription sets the Description field's value.
4917func (s *CreateFilterInput) SetDescription(v string) *CreateFilterInput {
4918	s.Description = &v
4919	return s
4920}
4921
4922// SetDetectorId sets the DetectorId field's value.
4923func (s *CreateFilterInput) SetDetectorId(v string) *CreateFilterInput {
4924	s.DetectorId = &v
4925	return s
4926}
4927
4928// SetFindingCriteria sets the FindingCriteria field's value.
4929func (s *CreateFilterInput) SetFindingCriteria(v *FindingCriteria) *CreateFilterInput {
4930	s.FindingCriteria = v
4931	return s
4932}
4933
4934// SetName sets the Name field's value.
4935func (s *CreateFilterInput) SetName(v string) *CreateFilterInput {
4936	s.Name = &v
4937	return s
4938}
4939
4940// SetRank sets the Rank field's value.
4941func (s *CreateFilterInput) SetRank(v int64) *CreateFilterInput {
4942	s.Rank = &v
4943	return s
4944}
4945
4946// SetTags sets the Tags field's value.
4947func (s *CreateFilterInput) SetTags(v map[string]*string) *CreateFilterInput {
4948	s.Tags = v
4949	return s
4950}
4951
4952type CreateFilterOutput struct {
4953	_ struct{} `type:"structure"`
4954
4955	// The name of the successfully created filter.
4956	//
4957	// Name is a required field
4958	Name *string `locationName:"name" min:"3" type:"string" required:"true"`
4959}
4960
4961// String returns the string representation
4962func (s CreateFilterOutput) String() string {
4963	return awsutil.Prettify(s)
4964}
4965
4966// GoString returns the string representation
4967func (s CreateFilterOutput) GoString() string {
4968	return s.String()
4969}
4970
4971// SetName sets the Name field's value.
4972func (s *CreateFilterOutput) SetName(v string) *CreateFilterOutput {
4973	s.Name = &v
4974	return s
4975}
4976
4977type CreateIPSetInput struct {
4978	_ struct{} `type:"structure"`
4979
4980	// A boolean value that indicates whether GuardDuty is to start using the uploaded
4981	// IPSet.
4982	//
4983	// Activate is a required field
4984	Activate *bool `locationName:"activate" type:"boolean" required:"true"`
4985
4986	// The idempotency token for the create request.
4987	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
4988
4989	// The unique ID of the detector of the GuardDuty account for which you want
4990	// to create an IPSet.
4991	//
4992	// DetectorId is a required field
4993	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
4994
4995	// The format of the file that contains the IPSet.
4996	//
4997	// Format is a required field
4998	Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"IpSetFormat"`
4999
5000	// The URI of the file that contains the IPSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)
5001	//
5002	// Location is a required field
5003	Location *string `locationName:"location" min:"1" type:"string" required:"true"`
5004
5005	// The user friendly name to identify the IPSet. This name is displayed in all
5006	// findings that are triggered by activity that involves IP addresses included
5007	// in this IPSet.
5008	//
5009	// Name is a required field
5010	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
5011
5012	// The tags to be added to a new IP set resource.
5013	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
5014}
5015
5016// String returns the string representation
5017func (s CreateIPSetInput) String() string {
5018	return awsutil.Prettify(s)
5019}
5020
5021// GoString returns the string representation
5022func (s CreateIPSetInput) GoString() string {
5023	return s.String()
5024}
5025
5026// Validate inspects the fields of the type to determine if they are valid.
5027func (s *CreateIPSetInput) Validate() error {
5028	invalidParams := request.ErrInvalidParams{Context: "CreateIPSetInput"}
5029	if s.Activate == nil {
5030		invalidParams.Add(request.NewErrParamRequired("Activate"))
5031	}
5032	if s.DetectorId == nil {
5033		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
5034	}
5035	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
5036		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
5037	}
5038	if s.Format == nil {
5039		invalidParams.Add(request.NewErrParamRequired("Format"))
5040	}
5041	if s.Format != nil && len(*s.Format) < 1 {
5042		invalidParams.Add(request.NewErrParamMinLen("Format", 1))
5043	}
5044	if s.Location == nil {
5045		invalidParams.Add(request.NewErrParamRequired("Location"))
5046	}
5047	if s.Location != nil && len(*s.Location) < 1 {
5048		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
5049	}
5050	if s.Name == nil {
5051		invalidParams.Add(request.NewErrParamRequired("Name"))
5052	}
5053	if s.Name != nil && len(*s.Name) < 1 {
5054		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5055	}
5056	if s.Tags != nil && len(s.Tags) < 1 {
5057		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
5058	}
5059
5060	if invalidParams.Len() > 0 {
5061		return invalidParams
5062	}
5063	return nil
5064}
5065
5066// SetActivate sets the Activate field's value.
5067func (s *CreateIPSetInput) SetActivate(v bool) *CreateIPSetInput {
5068	s.Activate = &v
5069	return s
5070}
5071
5072// SetClientToken sets the ClientToken field's value.
5073func (s *CreateIPSetInput) SetClientToken(v string) *CreateIPSetInput {
5074	s.ClientToken = &v
5075	return s
5076}
5077
5078// SetDetectorId sets the DetectorId field's value.
5079func (s *CreateIPSetInput) SetDetectorId(v string) *CreateIPSetInput {
5080	s.DetectorId = &v
5081	return s
5082}
5083
5084// SetFormat sets the Format field's value.
5085func (s *CreateIPSetInput) SetFormat(v string) *CreateIPSetInput {
5086	s.Format = &v
5087	return s
5088}
5089
5090// SetLocation sets the Location field's value.
5091func (s *CreateIPSetInput) SetLocation(v string) *CreateIPSetInput {
5092	s.Location = &v
5093	return s
5094}
5095
5096// SetName sets the Name field's value.
5097func (s *CreateIPSetInput) SetName(v string) *CreateIPSetInput {
5098	s.Name = &v
5099	return s
5100}
5101
5102// SetTags sets the Tags field's value.
5103func (s *CreateIPSetInput) SetTags(v map[string]*string) *CreateIPSetInput {
5104	s.Tags = v
5105	return s
5106}
5107
5108type CreateIPSetOutput struct {
5109	_ struct{} `type:"structure"`
5110
5111	// The ID of the IPSet resource.
5112	//
5113	// IpSetId is a required field
5114	IpSetId *string `locationName:"ipSetId" type:"string" required:"true"`
5115}
5116
5117// String returns the string representation
5118func (s CreateIPSetOutput) String() string {
5119	return awsutil.Prettify(s)
5120}
5121
5122// GoString returns the string representation
5123func (s CreateIPSetOutput) GoString() string {
5124	return s.String()
5125}
5126
5127// SetIpSetId sets the IpSetId field's value.
5128func (s *CreateIPSetOutput) SetIpSetId(v string) *CreateIPSetOutput {
5129	s.IpSetId = &v
5130	return s
5131}
5132
5133type CreateMembersInput struct {
5134	_ struct{} `type:"structure"`
5135
5136	// A list of account ID and email address pairs of the accounts that you want
5137	// to associate with the master GuardDuty account.
5138	//
5139	// AccountDetails is a required field
5140	AccountDetails []*AccountDetail `locationName:"accountDetails" min:"1" type:"list" required:"true"`
5141
5142	// The unique ID of the detector of the GuardDuty account with which you want
5143	// to associate member accounts.
5144	//
5145	// DetectorId is a required field
5146	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
5147}
5148
5149// String returns the string representation
5150func (s CreateMembersInput) String() string {
5151	return awsutil.Prettify(s)
5152}
5153
5154// GoString returns the string representation
5155func (s CreateMembersInput) GoString() string {
5156	return s.String()
5157}
5158
5159// Validate inspects the fields of the type to determine if they are valid.
5160func (s *CreateMembersInput) Validate() error {
5161	invalidParams := request.ErrInvalidParams{Context: "CreateMembersInput"}
5162	if s.AccountDetails == nil {
5163		invalidParams.Add(request.NewErrParamRequired("AccountDetails"))
5164	}
5165	if s.AccountDetails != nil && len(s.AccountDetails) < 1 {
5166		invalidParams.Add(request.NewErrParamMinLen("AccountDetails", 1))
5167	}
5168	if s.DetectorId == nil {
5169		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
5170	}
5171	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
5172		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
5173	}
5174	if s.AccountDetails != nil {
5175		for i, v := range s.AccountDetails {
5176			if v == nil {
5177				continue
5178			}
5179			if err := v.Validate(); err != nil {
5180				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountDetails", i), err.(request.ErrInvalidParams))
5181			}
5182		}
5183	}
5184
5185	if invalidParams.Len() > 0 {
5186		return invalidParams
5187	}
5188	return nil
5189}
5190
5191// SetAccountDetails sets the AccountDetails field's value.
5192func (s *CreateMembersInput) SetAccountDetails(v []*AccountDetail) *CreateMembersInput {
5193	s.AccountDetails = v
5194	return s
5195}
5196
5197// SetDetectorId sets the DetectorId field's value.
5198func (s *CreateMembersInput) SetDetectorId(v string) *CreateMembersInput {
5199	s.DetectorId = &v
5200	return s
5201}
5202
5203type CreateMembersOutput struct {
5204	_ struct{} `type:"structure"`
5205
5206	// A list of objects containing the unprocessed account and a result string
5207	// explaining why it was unprocessed.
5208	//
5209	// UnprocessedAccounts is a required field
5210	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
5211}
5212
5213// String returns the string representation
5214func (s CreateMembersOutput) String() string {
5215	return awsutil.Prettify(s)
5216}
5217
5218// GoString returns the string representation
5219func (s CreateMembersOutput) GoString() string {
5220	return s.String()
5221}
5222
5223// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
5224func (s *CreateMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *CreateMembersOutput {
5225	s.UnprocessedAccounts = v
5226	return s
5227}
5228
5229type CreateSampleFindingsInput struct {
5230	_ struct{} `type:"structure"`
5231
5232	// The ID of the detector to create sample findings for.
5233	//
5234	// DetectorId is a required field
5235	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
5236
5237	// Types of sample findings that you want to generate.
5238	FindingTypes []*string `locationName:"findingTypes" type:"list"`
5239}
5240
5241// String returns the string representation
5242func (s CreateSampleFindingsInput) String() string {
5243	return awsutil.Prettify(s)
5244}
5245
5246// GoString returns the string representation
5247func (s CreateSampleFindingsInput) GoString() string {
5248	return s.String()
5249}
5250
5251// Validate inspects the fields of the type to determine if they are valid.
5252func (s *CreateSampleFindingsInput) Validate() error {
5253	invalidParams := request.ErrInvalidParams{Context: "CreateSampleFindingsInput"}
5254	if s.DetectorId == nil {
5255		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
5256	}
5257	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
5258		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
5259	}
5260
5261	if invalidParams.Len() > 0 {
5262		return invalidParams
5263	}
5264	return nil
5265}
5266
5267// SetDetectorId sets the DetectorId field's value.
5268func (s *CreateSampleFindingsInput) SetDetectorId(v string) *CreateSampleFindingsInput {
5269	s.DetectorId = &v
5270	return s
5271}
5272
5273// SetFindingTypes sets the FindingTypes field's value.
5274func (s *CreateSampleFindingsInput) SetFindingTypes(v []*string) *CreateSampleFindingsInput {
5275	s.FindingTypes = v
5276	return s
5277}
5278
5279type CreateSampleFindingsOutput struct {
5280	_ struct{} `type:"structure"`
5281}
5282
5283// String returns the string representation
5284func (s CreateSampleFindingsOutput) String() string {
5285	return awsutil.Prettify(s)
5286}
5287
5288// GoString returns the string representation
5289func (s CreateSampleFindingsOutput) GoString() string {
5290	return s.String()
5291}
5292
5293type CreateThreatIntelSetInput struct {
5294	_ struct{} `type:"structure"`
5295
5296	// A boolean value that indicates whether GuardDuty is to start using the uploaded
5297	// ThreatIntelSet.
5298	//
5299	// Activate is a required field
5300	Activate *bool `locationName:"activate" type:"boolean" required:"true"`
5301
5302	// The idempotency token for the create request.
5303	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
5304
5305	// The unique ID of the detector of the GuardDuty account for which you want
5306	// to create a threatIntelSet.
5307	//
5308	// DetectorId is a required field
5309	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
5310
5311	// The format of the file that contains the ThreatIntelSet.
5312	//
5313	// Format is a required field
5314	Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"ThreatIntelSetFormat"`
5315
5316	// The URI of the file that contains the ThreatIntelSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key).
5317	//
5318	// Location is a required field
5319	Location *string `locationName:"location" min:"1" type:"string" required:"true"`
5320
5321	// A user-friendly ThreatIntelSet name that is displayed in all finding generated
5322	// by activity that involves IP addresses included in this ThreatIntelSet.
5323	//
5324	// Name is a required field
5325	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
5326
5327	// The tags to be added to a new Threat List resource.
5328	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
5329}
5330
5331// String returns the string representation
5332func (s CreateThreatIntelSetInput) String() string {
5333	return awsutil.Prettify(s)
5334}
5335
5336// GoString returns the string representation
5337func (s CreateThreatIntelSetInput) GoString() string {
5338	return s.String()
5339}
5340
5341// Validate inspects the fields of the type to determine if they are valid.
5342func (s *CreateThreatIntelSetInput) Validate() error {
5343	invalidParams := request.ErrInvalidParams{Context: "CreateThreatIntelSetInput"}
5344	if s.Activate == nil {
5345		invalidParams.Add(request.NewErrParamRequired("Activate"))
5346	}
5347	if s.DetectorId == nil {
5348		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
5349	}
5350	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
5351		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
5352	}
5353	if s.Format == nil {
5354		invalidParams.Add(request.NewErrParamRequired("Format"))
5355	}
5356	if s.Format != nil && len(*s.Format) < 1 {
5357		invalidParams.Add(request.NewErrParamMinLen("Format", 1))
5358	}
5359	if s.Location == nil {
5360		invalidParams.Add(request.NewErrParamRequired("Location"))
5361	}
5362	if s.Location != nil && len(*s.Location) < 1 {
5363		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
5364	}
5365	if s.Name == nil {
5366		invalidParams.Add(request.NewErrParamRequired("Name"))
5367	}
5368	if s.Name != nil && len(*s.Name) < 1 {
5369		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
5370	}
5371	if s.Tags != nil && len(s.Tags) < 1 {
5372		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
5373	}
5374
5375	if invalidParams.Len() > 0 {
5376		return invalidParams
5377	}
5378	return nil
5379}
5380
5381// SetActivate sets the Activate field's value.
5382func (s *CreateThreatIntelSetInput) SetActivate(v bool) *CreateThreatIntelSetInput {
5383	s.Activate = &v
5384	return s
5385}
5386
5387// SetClientToken sets the ClientToken field's value.
5388func (s *CreateThreatIntelSetInput) SetClientToken(v string) *CreateThreatIntelSetInput {
5389	s.ClientToken = &v
5390	return s
5391}
5392
5393// SetDetectorId sets the DetectorId field's value.
5394func (s *CreateThreatIntelSetInput) SetDetectorId(v string) *CreateThreatIntelSetInput {
5395	s.DetectorId = &v
5396	return s
5397}
5398
5399// SetFormat sets the Format field's value.
5400func (s *CreateThreatIntelSetInput) SetFormat(v string) *CreateThreatIntelSetInput {
5401	s.Format = &v
5402	return s
5403}
5404
5405// SetLocation sets the Location field's value.
5406func (s *CreateThreatIntelSetInput) SetLocation(v string) *CreateThreatIntelSetInput {
5407	s.Location = &v
5408	return s
5409}
5410
5411// SetName sets the Name field's value.
5412func (s *CreateThreatIntelSetInput) SetName(v string) *CreateThreatIntelSetInput {
5413	s.Name = &v
5414	return s
5415}
5416
5417// SetTags sets the Tags field's value.
5418func (s *CreateThreatIntelSetInput) SetTags(v map[string]*string) *CreateThreatIntelSetInput {
5419	s.Tags = v
5420	return s
5421}
5422
5423type CreateThreatIntelSetOutput struct {
5424	_ struct{} `type:"structure"`
5425
5426	// The ID of the ThreatIntelSet resource.
5427	//
5428	// ThreatIntelSetId is a required field
5429	ThreatIntelSetId *string `locationName:"threatIntelSetId" type:"string" required:"true"`
5430}
5431
5432// String returns the string representation
5433func (s CreateThreatIntelSetOutput) String() string {
5434	return awsutil.Prettify(s)
5435}
5436
5437// GoString returns the string representation
5438func (s CreateThreatIntelSetOutput) GoString() string {
5439	return s.String()
5440}
5441
5442// SetThreatIntelSetId sets the ThreatIntelSetId field's value.
5443func (s *CreateThreatIntelSetOutput) SetThreatIntelSetId(v string) *CreateThreatIntelSetOutput {
5444	s.ThreatIntelSetId = &v
5445	return s
5446}
5447
5448type DeclineInvitationsInput struct {
5449	_ struct{} `type:"structure"`
5450
5451	// A list of account IDs of the AWS accounts that sent invitations to the current
5452	// member account that you want to decline invitations from.
5453	//
5454	// AccountIds is a required field
5455	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
5456}
5457
5458// String returns the string representation
5459func (s DeclineInvitationsInput) String() string {
5460	return awsutil.Prettify(s)
5461}
5462
5463// GoString returns the string representation
5464func (s DeclineInvitationsInput) GoString() string {
5465	return s.String()
5466}
5467
5468// Validate inspects the fields of the type to determine if they are valid.
5469func (s *DeclineInvitationsInput) Validate() error {
5470	invalidParams := request.ErrInvalidParams{Context: "DeclineInvitationsInput"}
5471	if s.AccountIds == nil {
5472		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
5473	}
5474	if s.AccountIds != nil && len(s.AccountIds) < 1 {
5475		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
5476	}
5477
5478	if invalidParams.Len() > 0 {
5479		return invalidParams
5480	}
5481	return nil
5482}
5483
5484// SetAccountIds sets the AccountIds field's value.
5485func (s *DeclineInvitationsInput) SetAccountIds(v []*string) *DeclineInvitationsInput {
5486	s.AccountIds = v
5487	return s
5488}
5489
5490type DeclineInvitationsOutput struct {
5491	_ struct{} `type:"structure"`
5492
5493	// A list of objects containing the unprocessed account and a result string
5494	// explaining why it was unprocessed.
5495	//
5496	// UnprocessedAccounts is a required field
5497	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
5498}
5499
5500// String returns the string representation
5501func (s DeclineInvitationsOutput) String() string {
5502	return awsutil.Prettify(s)
5503}
5504
5505// GoString returns the string representation
5506func (s DeclineInvitationsOutput) GoString() string {
5507	return s.String()
5508}
5509
5510// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
5511func (s *DeclineInvitationsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DeclineInvitationsOutput {
5512	s.UnprocessedAccounts = v
5513	return s
5514}
5515
5516type DeleteDetectorInput struct {
5517	_ struct{} `type:"structure"`
5518
5519	// The unique ID of the detector that you want to delete.
5520	//
5521	// DetectorId is a required field
5522	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
5523}
5524
5525// String returns the string representation
5526func (s DeleteDetectorInput) String() string {
5527	return awsutil.Prettify(s)
5528}
5529
5530// GoString returns the string representation
5531func (s DeleteDetectorInput) GoString() string {
5532	return s.String()
5533}
5534
5535// Validate inspects the fields of the type to determine if they are valid.
5536func (s *DeleteDetectorInput) Validate() error {
5537	invalidParams := request.ErrInvalidParams{Context: "DeleteDetectorInput"}
5538	if s.DetectorId == nil {
5539		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
5540	}
5541	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
5542		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
5543	}
5544
5545	if invalidParams.Len() > 0 {
5546		return invalidParams
5547	}
5548	return nil
5549}
5550
5551// SetDetectorId sets the DetectorId field's value.
5552func (s *DeleteDetectorInput) SetDetectorId(v string) *DeleteDetectorInput {
5553	s.DetectorId = &v
5554	return s
5555}
5556
5557type DeleteDetectorOutput struct {
5558	_ struct{} `type:"structure"`
5559}
5560
5561// String returns the string representation
5562func (s DeleteDetectorOutput) String() string {
5563	return awsutil.Prettify(s)
5564}
5565
5566// GoString returns the string representation
5567func (s DeleteDetectorOutput) GoString() string {
5568	return s.String()
5569}
5570
5571type DeleteFilterInput struct {
5572	_ struct{} `type:"structure"`
5573
5574	// The unique ID of the detector the filter is associated with.
5575	//
5576	// DetectorId is a required field
5577	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
5578
5579	// The name of the filter you want to delete.
5580	//
5581	// FilterName is a required field
5582	FilterName *string `location:"uri" locationName:"filterName" type:"string" required:"true"`
5583}
5584
5585// String returns the string representation
5586func (s DeleteFilterInput) String() string {
5587	return awsutil.Prettify(s)
5588}
5589
5590// GoString returns the string representation
5591func (s DeleteFilterInput) GoString() string {
5592	return s.String()
5593}
5594
5595// Validate inspects the fields of the type to determine if they are valid.
5596func (s *DeleteFilterInput) Validate() error {
5597	invalidParams := request.ErrInvalidParams{Context: "DeleteFilterInput"}
5598	if s.DetectorId == nil {
5599		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
5600	}
5601	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
5602		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
5603	}
5604	if s.FilterName == nil {
5605		invalidParams.Add(request.NewErrParamRequired("FilterName"))
5606	}
5607	if s.FilterName != nil && len(*s.FilterName) < 1 {
5608		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
5609	}
5610
5611	if invalidParams.Len() > 0 {
5612		return invalidParams
5613	}
5614	return nil
5615}
5616
5617// SetDetectorId sets the DetectorId field's value.
5618func (s *DeleteFilterInput) SetDetectorId(v string) *DeleteFilterInput {
5619	s.DetectorId = &v
5620	return s
5621}
5622
5623// SetFilterName sets the FilterName field's value.
5624func (s *DeleteFilterInput) SetFilterName(v string) *DeleteFilterInput {
5625	s.FilterName = &v
5626	return s
5627}
5628
5629type DeleteFilterOutput struct {
5630	_ struct{} `type:"structure"`
5631}
5632
5633// String returns the string representation
5634func (s DeleteFilterOutput) String() string {
5635	return awsutil.Prettify(s)
5636}
5637
5638// GoString returns the string representation
5639func (s DeleteFilterOutput) GoString() string {
5640	return s.String()
5641}
5642
5643type DeleteIPSetInput struct {
5644	_ struct{} `type:"structure"`
5645
5646	// The unique ID of the detector the ipSet is associated with.
5647	//
5648	// DetectorId is a required field
5649	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
5650
5651	// The unique ID of the ipSet you want to delete.
5652	//
5653	// IpSetId is a required field
5654	IpSetId *string `location:"uri" locationName:"ipSetId" type:"string" required:"true"`
5655}
5656
5657// String returns the string representation
5658func (s DeleteIPSetInput) String() string {
5659	return awsutil.Prettify(s)
5660}
5661
5662// GoString returns the string representation
5663func (s DeleteIPSetInput) GoString() string {
5664	return s.String()
5665}
5666
5667// Validate inspects the fields of the type to determine if they are valid.
5668func (s *DeleteIPSetInput) Validate() error {
5669	invalidParams := request.ErrInvalidParams{Context: "DeleteIPSetInput"}
5670	if s.DetectorId == nil {
5671		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
5672	}
5673	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
5674		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
5675	}
5676	if s.IpSetId == nil {
5677		invalidParams.Add(request.NewErrParamRequired("IpSetId"))
5678	}
5679	if s.IpSetId != nil && len(*s.IpSetId) < 1 {
5680		invalidParams.Add(request.NewErrParamMinLen("IpSetId", 1))
5681	}
5682
5683	if invalidParams.Len() > 0 {
5684		return invalidParams
5685	}
5686	return nil
5687}
5688
5689// SetDetectorId sets the DetectorId field's value.
5690func (s *DeleteIPSetInput) SetDetectorId(v string) *DeleteIPSetInput {
5691	s.DetectorId = &v
5692	return s
5693}
5694
5695// SetIpSetId sets the IpSetId field's value.
5696func (s *DeleteIPSetInput) SetIpSetId(v string) *DeleteIPSetInput {
5697	s.IpSetId = &v
5698	return s
5699}
5700
5701type DeleteIPSetOutput struct {
5702	_ struct{} `type:"structure"`
5703}
5704
5705// String returns the string representation
5706func (s DeleteIPSetOutput) String() string {
5707	return awsutil.Prettify(s)
5708}
5709
5710// GoString returns the string representation
5711func (s DeleteIPSetOutput) GoString() string {
5712	return s.String()
5713}
5714
5715type DeleteInvitationsInput struct {
5716	_ struct{} `type:"structure"`
5717
5718	// A list of account IDs of the AWS accounts that sent invitations to the current
5719	// member account that you want to delete invitations from.
5720	//
5721	// AccountIds is a required field
5722	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
5723}
5724
5725// String returns the string representation
5726func (s DeleteInvitationsInput) String() string {
5727	return awsutil.Prettify(s)
5728}
5729
5730// GoString returns the string representation
5731func (s DeleteInvitationsInput) GoString() string {
5732	return s.String()
5733}
5734
5735// Validate inspects the fields of the type to determine if they are valid.
5736func (s *DeleteInvitationsInput) Validate() error {
5737	invalidParams := request.ErrInvalidParams{Context: "DeleteInvitationsInput"}
5738	if s.AccountIds == nil {
5739		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
5740	}
5741	if s.AccountIds != nil && len(s.AccountIds) < 1 {
5742		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
5743	}
5744
5745	if invalidParams.Len() > 0 {
5746		return invalidParams
5747	}
5748	return nil
5749}
5750
5751// SetAccountIds sets the AccountIds field's value.
5752func (s *DeleteInvitationsInput) SetAccountIds(v []*string) *DeleteInvitationsInput {
5753	s.AccountIds = v
5754	return s
5755}
5756
5757type DeleteInvitationsOutput struct {
5758	_ struct{} `type:"structure"`
5759
5760	// A list of objects containing the unprocessed account and a result string
5761	// explaining why it was unprocessed.
5762	//
5763	// UnprocessedAccounts is a required field
5764	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
5765}
5766
5767// String returns the string representation
5768func (s DeleteInvitationsOutput) String() string {
5769	return awsutil.Prettify(s)
5770}
5771
5772// GoString returns the string representation
5773func (s DeleteInvitationsOutput) GoString() string {
5774	return s.String()
5775}
5776
5777// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
5778func (s *DeleteInvitationsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DeleteInvitationsOutput {
5779	s.UnprocessedAccounts = v
5780	return s
5781}
5782
5783type DeleteMembersInput struct {
5784	_ struct{} `type:"structure"`
5785
5786	// A list of account IDs of the GuardDuty member accounts that you want to delete.
5787	//
5788	// AccountIds is a required field
5789	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
5790
5791	// The unique ID of the detector of the GuardDuty account whose members you
5792	// want to delete.
5793	//
5794	// DetectorId is a required field
5795	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
5796}
5797
5798// String returns the string representation
5799func (s DeleteMembersInput) String() string {
5800	return awsutil.Prettify(s)
5801}
5802
5803// GoString returns the string representation
5804func (s DeleteMembersInput) GoString() string {
5805	return s.String()
5806}
5807
5808// Validate inspects the fields of the type to determine if they are valid.
5809func (s *DeleteMembersInput) Validate() error {
5810	invalidParams := request.ErrInvalidParams{Context: "DeleteMembersInput"}
5811	if s.AccountIds == nil {
5812		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
5813	}
5814	if s.AccountIds != nil && len(s.AccountIds) < 1 {
5815		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
5816	}
5817	if s.DetectorId == nil {
5818		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
5819	}
5820	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
5821		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
5822	}
5823
5824	if invalidParams.Len() > 0 {
5825		return invalidParams
5826	}
5827	return nil
5828}
5829
5830// SetAccountIds sets the AccountIds field's value.
5831func (s *DeleteMembersInput) SetAccountIds(v []*string) *DeleteMembersInput {
5832	s.AccountIds = v
5833	return s
5834}
5835
5836// SetDetectorId sets the DetectorId field's value.
5837func (s *DeleteMembersInput) SetDetectorId(v string) *DeleteMembersInput {
5838	s.DetectorId = &v
5839	return s
5840}
5841
5842type DeleteMembersOutput struct {
5843	_ struct{} `type:"structure"`
5844
5845	// The accounts that could not be processed.
5846	//
5847	// UnprocessedAccounts is a required field
5848	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
5849}
5850
5851// String returns the string representation
5852func (s DeleteMembersOutput) String() string {
5853	return awsutil.Prettify(s)
5854}
5855
5856// GoString returns the string representation
5857func (s DeleteMembersOutput) GoString() string {
5858	return s.String()
5859}
5860
5861// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
5862func (s *DeleteMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DeleteMembersOutput {
5863	s.UnprocessedAccounts = v
5864	return s
5865}
5866
5867type DeleteThreatIntelSetInput struct {
5868	_ struct{} `type:"structure"`
5869
5870	// The unique ID of the detector the threatIntelSet is associated with.
5871	//
5872	// DetectorId is a required field
5873	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
5874
5875	// The unique ID of the threatIntelSet you want to delete.
5876	//
5877	// ThreatIntelSetId is a required field
5878	ThreatIntelSetId *string `location:"uri" locationName:"threatIntelSetId" type:"string" required:"true"`
5879}
5880
5881// String returns the string representation
5882func (s DeleteThreatIntelSetInput) String() string {
5883	return awsutil.Prettify(s)
5884}
5885
5886// GoString returns the string representation
5887func (s DeleteThreatIntelSetInput) GoString() string {
5888	return s.String()
5889}
5890
5891// Validate inspects the fields of the type to determine if they are valid.
5892func (s *DeleteThreatIntelSetInput) Validate() error {
5893	invalidParams := request.ErrInvalidParams{Context: "DeleteThreatIntelSetInput"}
5894	if s.DetectorId == nil {
5895		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
5896	}
5897	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
5898		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
5899	}
5900	if s.ThreatIntelSetId == nil {
5901		invalidParams.Add(request.NewErrParamRequired("ThreatIntelSetId"))
5902	}
5903	if s.ThreatIntelSetId != nil && len(*s.ThreatIntelSetId) < 1 {
5904		invalidParams.Add(request.NewErrParamMinLen("ThreatIntelSetId", 1))
5905	}
5906
5907	if invalidParams.Len() > 0 {
5908		return invalidParams
5909	}
5910	return nil
5911}
5912
5913// SetDetectorId sets the DetectorId field's value.
5914func (s *DeleteThreatIntelSetInput) SetDetectorId(v string) *DeleteThreatIntelSetInput {
5915	s.DetectorId = &v
5916	return s
5917}
5918
5919// SetThreatIntelSetId sets the ThreatIntelSetId field's value.
5920func (s *DeleteThreatIntelSetInput) SetThreatIntelSetId(v string) *DeleteThreatIntelSetInput {
5921	s.ThreatIntelSetId = &v
5922	return s
5923}
5924
5925type DeleteThreatIntelSetOutput struct {
5926	_ struct{} `type:"structure"`
5927}
5928
5929// String returns the string representation
5930func (s DeleteThreatIntelSetOutput) String() string {
5931	return awsutil.Prettify(s)
5932}
5933
5934// GoString returns the string representation
5935func (s DeleteThreatIntelSetOutput) GoString() string {
5936	return s.String()
5937}
5938
5939type DisassociateFromMasterAccountInput struct {
5940	_ struct{} `type:"structure"`
5941
5942	// The unique ID of the detector of the GuardDuty member account.
5943	//
5944	// DetectorId is a required field
5945	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
5946}
5947
5948// String returns the string representation
5949func (s DisassociateFromMasterAccountInput) String() string {
5950	return awsutil.Prettify(s)
5951}
5952
5953// GoString returns the string representation
5954func (s DisassociateFromMasterAccountInput) GoString() string {
5955	return s.String()
5956}
5957
5958// Validate inspects the fields of the type to determine if they are valid.
5959func (s *DisassociateFromMasterAccountInput) Validate() error {
5960	invalidParams := request.ErrInvalidParams{Context: "DisassociateFromMasterAccountInput"}
5961	if s.DetectorId == nil {
5962		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
5963	}
5964	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
5965		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
5966	}
5967
5968	if invalidParams.Len() > 0 {
5969		return invalidParams
5970	}
5971	return nil
5972}
5973
5974// SetDetectorId sets the DetectorId field's value.
5975func (s *DisassociateFromMasterAccountInput) SetDetectorId(v string) *DisassociateFromMasterAccountInput {
5976	s.DetectorId = &v
5977	return s
5978}
5979
5980type DisassociateFromMasterAccountOutput struct {
5981	_ struct{} `type:"structure"`
5982}
5983
5984// String returns the string representation
5985func (s DisassociateFromMasterAccountOutput) String() string {
5986	return awsutil.Prettify(s)
5987}
5988
5989// GoString returns the string representation
5990func (s DisassociateFromMasterAccountOutput) GoString() string {
5991	return s.String()
5992}
5993
5994type DisassociateMembersInput struct {
5995	_ struct{} `type:"structure"`
5996
5997	// A list of account IDs of the GuardDuty member accounts that you want to disassociate
5998	// from master.
5999	//
6000	// AccountIds is a required field
6001	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
6002
6003	// The unique ID of the detector of the GuardDuty account whose members you
6004	// want to disassociate from master.
6005	//
6006	// DetectorId is a required field
6007	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
6008}
6009
6010// String returns the string representation
6011func (s DisassociateMembersInput) String() string {
6012	return awsutil.Prettify(s)
6013}
6014
6015// GoString returns the string representation
6016func (s DisassociateMembersInput) GoString() string {
6017	return s.String()
6018}
6019
6020// Validate inspects the fields of the type to determine if they are valid.
6021func (s *DisassociateMembersInput) Validate() error {
6022	invalidParams := request.ErrInvalidParams{Context: "DisassociateMembersInput"}
6023	if s.AccountIds == nil {
6024		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
6025	}
6026	if s.AccountIds != nil && len(s.AccountIds) < 1 {
6027		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
6028	}
6029	if s.DetectorId == nil {
6030		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6031	}
6032	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6033		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6034	}
6035
6036	if invalidParams.Len() > 0 {
6037		return invalidParams
6038	}
6039	return nil
6040}
6041
6042// SetAccountIds sets the AccountIds field's value.
6043func (s *DisassociateMembersInput) SetAccountIds(v []*string) *DisassociateMembersInput {
6044	s.AccountIds = v
6045	return s
6046}
6047
6048// SetDetectorId sets the DetectorId field's value.
6049func (s *DisassociateMembersInput) SetDetectorId(v string) *DisassociateMembersInput {
6050	s.DetectorId = &v
6051	return s
6052}
6053
6054type DisassociateMembersOutput struct {
6055	_ struct{} `type:"structure"`
6056
6057	// A list of objects containing the unprocessed account and a result string
6058	// explaining why it was unprocessed.
6059	//
6060	// UnprocessedAccounts is a required field
6061	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
6062}
6063
6064// String returns the string representation
6065func (s DisassociateMembersOutput) String() string {
6066	return awsutil.Prettify(s)
6067}
6068
6069// GoString returns the string representation
6070func (s DisassociateMembersOutput) GoString() string {
6071	return s.String()
6072}
6073
6074// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
6075func (s *DisassociateMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DisassociateMembersOutput {
6076	s.UnprocessedAccounts = v
6077	return s
6078}
6079
6080// Contains information about the DNS request.
6081type DnsRequestAction struct {
6082	_ struct{} `type:"structure"`
6083
6084	// Domain information for the DNS request.
6085	Domain *string `locationName:"domain" type:"string"`
6086}
6087
6088// String returns the string representation
6089func (s DnsRequestAction) String() string {
6090	return awsutil.Prettify(s)
6091}
6092
6093// GoString returns the string representation
6094func (s DnsRequestAction) GoString() string {
6095	return s.String()
6096}
6097
6098// SetDomain sets the Domain field's value.
6099func (s *DnsRequestAction) SetDomain(v string) *DnsRequestAction {
6100	s.Domain = &v
6101	return s
6102}
6103
6104// Contains information about the domain.
6105type DomainDetails struct {
6106	_ struct{} `type:"structure"`
6107
6108	// Domain information for the AWS API call.
6109	Domain *string `locationName:"domain" type:"string"`
6110}
6111
6112// String returns the string representation
6113func (s DomainDetails) String() string {
6114	return awsutil.Prettify(s)
6115}
6116
6117// GoString returns the string representation
6118func (s DomainDetails) GoString() string {
6119	return s.String()
6120}
6121
6122// SetDomain sets the Domain field's value.
6123func (s *DomainDetails) SetDomain(v string) *DomainDetails {
6124	s.Domain = &v
6125	return s
6126}
6127
6128// Contains information about the reason that the finding was generated.
6129type Evidence struct {
6130	_ struct{} `type:"structure"`
6131
6132	// A list of threat intelligence details related to the evidence.
6133	ThreatIntelligenceDetails []*ThreatIntelligenceDetail `locationName:"threatIntelligenceDetails" type:"list"`
6134}
6135
6136// String returns the string representation
6137func (s Evidence) String() string {
6138	return awsutil.Prettify(s)
6139}
6140
6141// GoString returns the string representation
6142func (s Evidence) GoString() string {
6143	return s.String()
6144}
6145
6146// SetThreatIntelligenceDetails sets the ThreatIntelligenceDetails field's value.
6147func (s *Evidence) SetThreatIntelligenceDetails(v []*ThreatIntelligenceDetail) *Evidence {
6148	s.ThreatIntelligenceDetails = v
6149	return s
6150}
6151
6152// Contains information about the finding.
6153type Finding struct {
6154	_ struct{} `type:"structure"`
6155
6156	// The ID of the account in which the finding was generated.
6157	//
6158	// AccountId is a required field
6159	AccountId *string `locationName:"accountId" type:"string" required:"true"`
6160
6161	// The ARN for the finding.
6162	//
6163	// Arn is a required field
6164	Arn *string `locationName:"arn" type:"string" required:"true"`
6165
6166	// The confidence score for the finding.
6167	Confidence *float64 `locationName:"confidence" type:"double"`
6168
6169	// The time and date at which the finding was created.
6170	//
6171	// CreatedAt is a required field
6172	CreatedAt *string `locationName:"createdAt" type:"string" required:"true"`
6173
6174	// The description of the finding.
6175	Description *string `locationName:"description" type:"string"`
6176
6177	// The ID of the finding.
6178	//
6179	// Id is a required field
6180	Id *string `locationName:"id" type:"string" required:"true"`
6181
6182	// The partition associated with the finding.
6183	Partition *string `locationName:"partition" type:"string"`
6184
6185	// The Region in which the finding was generated.
6186	//
6187	// Region is a required field
6188	Region *string `locationName:"region" type:"string" required:"true"`
6189
6190	// Contains information about the resource.
6191	//
6192	// Resource is a required field
6193	Resource *Resource `locationName:"resource" type:"structure" required:"true"`
6194
6195	// The version of the schema used for the finding.
6196	//
6197	// SchemaVersion is a required field
6198	SchemaVersion *string `locationName:"schemaVersion" type:"string" required:"true"`
6199
6200	// Contains information about the service.
6201	Service *Service `locationName:"service" type:"structure"`
6202
6203	// The severity of the finding.
6204	//
6205	// Severity is a required field
6206	Severity *float64 `locationName:"severity" type:"double" required:"true"`
6207
6208	// The title for the finding.
6209	Title *string `locationName:"title" type:"string"`
6210
6211	// The type of the finding.
6212	//
6213	// Type is a required field
6214	Type *string `locationName:"type" min:"1" type:"string" required:"true"`
6215
6216	// The time and date at which the finding was laste updated.
6217	//
6218	// UpdatedAt is a required field
6219	UpdatedAt *string `locationName:"updatedAt" type:"string" required:"true"`
6220}
6221
6222// String returns the string representation
6223func (s Finding) String() string {
6224	return awsutil.Prettify(s)
6225}
6226
6227// GoString returns the string representation
6228func (s Finding) GoString() string {
6229	return s.String()
6230}
6231
6232// SetAccountId sets the AccountId field's value.
6233func (s *Finding) SetAccountId(v string) *Finding {
6234	s.AccountId = &v
6235	return s
6236}
6237
6238// SetArn sets the Arn field's value.
6239func (s *Finding) SetArn(v string) *Finding {
6240	s.Arn = &v
6241	return s
6242}
6243
6244// SetConfidence sets the Confidence field's value.
6245func (s *Finding) SetConfidence(v float64) *Finding {
6246	s.Confidence = &v
6247	return s
6248}
6249
6250// SetCreatedAt sets the CreatedAt field's value.
6251func (s *Finding) SetCreatedAt(v string) *Finding {
6252	s.CreatedAt = &v
6253	return s
6254}
6255
6256// SetDescription sets the Description field's value.
6257func (s *Finding) SetDescription(v string) *Finding {
6258	s.Description = &v
6259	return s
6260}
6261
6262// SetId sets the Id field's value.
6263func (s *Finding) SetId(v string) *Finding {
6264	s.Id = &v
6265	return s
6266}
6267
6268// SetPartition sets the Partition field's value.
6269func (s *Finding) SetPartition(v string) *Finding {
6270	s.Partition = &v
6271	return s
6272}
6273
6274// SetRegion sets the Region field's value.
6275func (s *Finding) SetRegion(v string) *Finding {
6276	s.Region = &v
6277	return s
6278}
6279
6280// SetResource sets the Resource field's value.
6281func (s *Finding) SetResource(v *Resource) *Finding {
6282	s.Resource = v
6283	return s
6284}
6285
6286// SetSchemaVersion sets the SchemaVersion field's value.
6287func (s *Finding) SetSchemaVersion(v string) *Finding {
6288	s.SchemaVersion = &v
6289	return s
6290}
6291
6292// SetService sets the Service field's value.
6293func (s *Finding) SetService(v *Service) *Finding {
6294	s.Service = v
6295	return s
6296}
6297
6298// SetSeverity sets the Severity field's value.
6299func (s *Finding) SetSeverity(v float64) *Finding {
6300	s.Severity = &v
6301	return s
6302}
6303
6304// SetTitle sets the Title field's value.
6305func (s *Finding) SetTitle(v string) *Finding {
6306	s.Title = &v
6307	return s
6308}
6309
6310// SetType sets the Type field's value.
6311func (s *Finding) SetType(v string) *Finding {
6312	s.Type = &v
6313	return s
6314}
6315
6316// SetUpdatedAt sets the UpdatedAt field's value.
6317func (s *Finding) SetUpdatedAt(v string) *Finding {
6318	s.UpdatedAt = &v
6319	return s
6320}
6321
6322// Contains finding criteria information.
6323type FindingCriteria struct {
6324	_ struct{} `type:"structure"`
6325
6326	// Represents a map of finding properties that match specified conditions and
6327	// values when querying findings.
6328	Criterion map[string]*Condition `locationName:"criterion" type:"map"`
6329}
6330
6331// String returns the string representation
6332func (s FindingCriteria) String() string {
6333	return awsutil.Prettify(s)
6334}
6335
6336// GoString returns the string representation
6337func (s FindingCriteria) GoString() string {
6338	return s.String()
6339}
6340
6341// SetCriterion sets the Criterion field's value.
6342func (s *FindingCriteria) SetCriterion(v map[string]*Condition) *FindingCriteria {
6343	s.Criterion = v
6344	return s
6345}
6346
6347// Contains information about finding statistics.
6348type FindingStatistics struct {
6349	_ struct{} `type:"structure"`
6350
6351	// Represents a map of severity to count statistic for a set of findings
6352	CountBySeverity map[string]*int64 `locationName:"countBySeverity" type:"map"`
6353}
6354
6355// String returns the string representation
6356func (s FindingStatistics) String() string {
6357	return awsutil.Prettify(s)
6358}
6359
6360// GoString returns the string representation
6361func (s FindingStatistics) GoString() string {
6362	return s.String()
6363}
6364
6365// SetCountBySeverity sets the CountBySeverity field's value.
6366func (s *FindingStatistics) SetCountBySeverity(v map[string]*int64) *FindingStatistics {
6367	s.CountBySeverity = v
6368	return s
6369}
6370
6371// Contains information about the
6372type GeoLocation struct {
6373	_ struct{} `type:"structure"`
6374
6375	// Latitude information of remote IP address.
6376	Lat *float64 `locationName:"lat" type:"double"`
6377
6378	// Longitude information of remote IP address.
6379	Lon *float64 `locationName:"lon" type:"double"`
6380}
6381
6382// String returns the string representation
6383func (s GeoLocation) String() string {
6384	return awsutil.Prettify(s)
6385}
6386
6387// GoString returns the string representation
6388func (s GeoLocation) GoString() string {
6389	return s.String()
6390}
6391
6392// SetLat sets the Lat field's value.
6393func (s *GeoLocation) SetLat(v float64) *GeoLocation {
6394	s.Lat = &v
6395	return s
6396}
6397
6398// SetLon sets the Lon field's value.
6399func (s *GeoLocation) SetLon(v float64) *GeoLocation {
6400	s.Lon = &v
6401	return s
6402}
6403
6404type GetDetectorInput struct {
6405	_ struct{} `type:"structure"`
6406
6407	// The unique ID of the detector that you want to get.
6408	//
6409	// DetectorId is a required field
6410	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
6411}
6412
6413// String returns the string representation
6414func (s GetDetectorInput) String() string {
6415	return awsutil.Prettify(s)
6416}
6417
6418// GoString returns the string representation
6419func (s GetDetectorInput) GoString() string {
6420	return s.String()
6421}
6422
6423// Validate inspects the fields of the type to determine if they are valid.
6424func (s *GetDetectorInput) Validate() error {
6425	invalidParams := request.ErrInvalidParams{Context: "GetDetectorInput"}
6426	if s.DetectorId == nil {
6427		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6428	}
6429	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6430		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6431	}
6432
6433	if invalidParams.Len() > 0 {
6434		return invalidParams
6435	}
6436	return nil
6437}
6438
6439// SetDetectorId sets the DetectorId field's value.
6440func (s *GetDetectorInput) SetDetectorId(v string) *GetDetectorInput {
6441	s.DetectorId = &v
6442	return s
6443}
6444
6445type GetDetectorOutput struct {
6446	_ struct{} `type:"structure"`
6447
6448	// Detector creation timestamp.
6449	CreatedAt *string `locationName:"createdAt" type:"string"`
6450
6451	// Finding publishing frequency.
6452	FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"`
6453
6454	// The GuardDuty service role.
6455	//
6456	// ServiceRole is a required field
6457	ServiceRole *string `locationName:"serviceRole" type:"string" required:"true"`
6458
6459	// The detector status.
6460	//
6461	// Status is a required field
6462	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DetectorStatus"`
6463
6464	// The tags of the detector resource.
6465	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
6466
6467	// Detector last update timestamp.
6468	UpdatedAt *string `locationName:"updatedAt" type:"string"`
6469}
6470
6471// String returns the string representation
6472func (s GetDetectorOutput) String() string {
6473	return awsutil.Prettify(s)
6474}
6475
6476// GoString returns the string representation
6477func (s GetDetectorOutput) GoString() string {
6478	return s.String()
6479}
6480
6481// SetCreatedAt sets the CreatedAt field's value.
6482func (s *GetDetectorOutput) SetCreatedAt(v string) *GetDetectorOutput {
6483	s.CreatedAt = &v
6484	return s
6485}
6486
6487// SetFindingPublishingFrequency sets the FindingPublishingFrequency field's value.
6488func (s *GetDetectorOutput) SetFindingPublishingFrequency(v string) *GetDetectorOutput {
6489	s.FindingPublishingFrequency = &v
6490	return s
6491}
6492
6493// SetServiceRole sets the ServiceRole field's value.
6494func (s *GetDetectorOutput) SetServiceRole(v string) *GetDetectorOutput {
6495	s.ServiceRole = &v
6496	return s
6497}
6498
6499// SetStatus sets the Status field's value.
6500func (s *GetDetectorOutput) SetStatus(v string) *GetDetectorOutput {
6501	s.Status = &v
6502	return s
6503}
6504
6505// SetTags sets the Tags field's value.
6506func (s *GetDetectorOutput) SetTags(v map[string]*string) *GetDetectorOutput {
6507	s.Tags = v
6508	return s
6509}
6510
6511// SetUpdatedAt sets the UpdatedAt field's value.
6512func (s *GetDetectorOutput) SetUpdatedAt(v string) *GetDetectorOutput {
6513	s.UpdatedAt = &v
6514	return s
6515}
6516
6517type GetFilterInput struct {
6518	_ struct{} `type:"structure"`
6519
6520	// The unique ID of the detector the filter is associated with.
6521	//
6522	// DetectorId is a required field
6523	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
6524
6525	// The name of the filter you want to get.
6526	//
6527	// FilterName is a required field
6528	FilterName *string `location:"uri" locationName:"filterName" type:"string" required:"true"`
6529}
6530
6531// String returns the string representation
6532func (s GetFilterInput) String() string {
6533	return awsutil.Prettify(s)
6534}
6535
6536// GoString returns the string representation
6537func (s GetFilterInput) GoString() string {
6538	return s.String()
6539}
6540
6541// Validate inspects the fields of the type to determine if they are valid.
6542func (s *GetFilterInput) Validate() error {
6543	invalidParams := request.ErrInvalidParams{Context: "GetFilterInput"}
6544	if s.DetectorId == nil {
6545		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6546	}
6547	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6548		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6549	}
6550	if s.FilterName == nil {
6551		invalidParams.Add(request.NewErrParamRequired("FilterName"))
6552	}
6553	if s.FilterName != nil && len(*s.FilterName) < 1 {
6554		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
6555	}
6556
6557	if invalidParams.Len() > 0 {
6558		return invalidParams
6559	}
6560	return nil
6561}
6562
6563// SetDetectorId sets the DetectorId field's value.
6564func (s *GetFilterInput) SetDetectorId(v string) *GetFilterInput {
6565	s.DetectorId = &v
6566	return s
6567}
6568
6569// SetFilterName sets the FilterName field's value.
6570func (s *GetFilterInput) SetFilterName(v string) *GetFilterInput {
6571	s.FilterName = &v
6572	return s
6573}
6574
6575type GetFilterOutput struct {
6576	_ struct{} `type:"structure"`
6577
6578	// Specifies the action that is to be applied to the findings that match the
6579	// filter.
6580	//
6581	// Action is a required field
6582	Action *string `locationName:"action" min:"1" type:"string" required:"true" enum:"FilterAction"`
6583
6584	// The description of the filter.
6585	Description *string `locationName:"description" type:"string"`
6586
6587	// Represents the criteria to be used in the filter for querying findings.
6588	//
6589	// FindingCriteria is a required field
6590	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure" required:"true"`
6591
6592	// The name of the filter.
6593	//
6594	// Name is a required field
6595	Name *string `locationName:"name" min:"3" type:"string" required:"true"`
6596
6597	// Specifies the position of the filter in the list of current filters. Also
6598	// specifies the order in which this filter is applied to the findings.
6599	Rank *int64 `locationName:"rank" min:"1" type:"integer"`
6600
6601	// The tags of the filter resource.
6602	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
6603}
6604
6605// String returns the string representation
6606func (s GetFilterOutput) String() string {
6607	return awsutil.Prettify(s)
6608}
6609
6610// GoString returns the string representation
6611func (s GetFilterOutput) GoString() string {
6612	return s.String()
6613}
6614
6615// SetAction sets the Action field's value.
6616func (s *GetFilterOutput) SetAction(v string) *GetFilterOutput {
6617	s.Action = &v
6618	return s
6619}
6620
6621// SetDescription sets the Description field's value.
6622func (s *GetFilterOutput) SetDescription(v string) *GetFilterOutput {
6623	s.Description = &v
6624	return s
6625}
6626
6627// SetFindingCriteria sets the FindingCriteria field's value.
6628func (s *GetFilterOutput) SetFindingCriteria(v *FindingCriteria) *GetFilterOutput {
6629	s.FindingCriteria = v
6630	return s
6631}
6632
6633// SetName sets the Name field's value.
6634func (s *GetFilterOutput) SetName(v string) *GetFilterOutput {
6635	s.Name = &v
6636	return s
6637}
6638
6639// SetRank sets the Rank field's value.
6640func (s *GetFilterOutput) SetRank(v int64) *GetFilterOutput {
6641	s.Rank = &v
6642	return s
6643}
6644
6645// SetTags sets the Tags field's value.
6646func (s *GetFilterOutput) SetTags(v map[string]*string) *GetFilterOutput {
6647	s.Tags = v
6648	return s
6649}
6650
6651type GetFindingsInput struct {
6652	_ struct{} `type:"structure"`
6653
6654	// The ID of the detector that specifies the GuardDuty service whose findings
6655	// you want to retrieve.
6656	//
6657	// DetectorId is a required field
6658	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
6659
6660	// IDs of the findings that you want to retrieve.
6661	//
6662	// FindingIds is a required field
6663	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
6664
6665	// Represents the criteria used for sorting findings.
6666	SortCriteria *SortCriteria `locationName:"sortCriteria" type:"structure"`
6667}
6668
6669// String returns the string representation
6670func (s GetFindingsInput) String() string {
6671	return awsutil.Prettify(s)
6672}
6673
6674// GoString returns the string representation
6675func (s GetFindingsInput) GoString() string {
6676	return s.String()
6677}
6678
6679// Validate inspects the fields of the type to determine if they are valid.
6680func (s *GetFindingsInput) Validate() error {
6681	invalidParams := request.ErrInvalidParams{Context: "GetFindingsInput"}
6682	if s.DetectorId == nil {
6683		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6684	}
6685	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6686		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6687	}
6688	if s.FindingIds == nil {
6689		invalidParams.Add(request.NewErrParamRequired("FindingIds"))
6690	}
6691
6692	if invalidParams.Len() > 0 {
6693		return invalidParams
6694	}
6695	return nil
6696}
6697
6698// SetDetectorId sets the DetectorId field's value.
6699func (s *GetFindingsInput) SetDetectorId(v string) *GetFindingsInput {
6700	s.DetectorId = &v
6701	return s
6702}
6703
6704// SetFindingIds sets the FindingIds field's value.
6705func (s *GetFindingsInput) SetFindingIds(v []*string) *GetFindingsInput {
6706	s.FindingIds = v
6707	return s
6708}
6709
6710// SetSortCriteria sets the SortCriteria field's value.
6711func (s *GetFindingsInput) SetSortCriteria(v *SortCriteria) *GetFindingsInput {
6712	s.SortCriteria = v
6713	return s
6714}
6715
6716type GetFindingsOutput struct {
6717	_ struct{} `type:"structure"`
6718
6719	// A list of findings.
6720	//
6721	// Findings is a required field
6722	Findings []*Finding `locationName:"findings" type:"list" required:"true"`
6723}
6724
6725// String returns the string representation
6726func (s GetFindingsOutput) String() string {
6727	return awsutil.Prettify(s)
6728}
6729
6730// GoString returns the string representation
6731func (s GetFindingsOutput) GoString() string {
6732	return s.String()
6733}
6734
6735// SetFindings sets the Findings field's value.
6736func (s *GetFindingsOutput) SetFindings(v []*Finding) *GetFindingsOutput {
6737	s.Findings = v
6738	return s
6739}
6740
6741type GetFindingsStatisticsInput struct {
6742	_ struct{} `type:"structure"`
6743
6744	// The ID of the detector that specifies the GuardDuty service whose findings'
6745	// statistics you want to retrieve.
6746	//
6747	// DetectorId is a required field
6748	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
6749
6750	// Represents the criteria used for querying findings.
6751	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"`
6752
6753	// Types of finding statistics to retrieve.
6754	//
6755	// FindingStatisticTypes is a required field
6756	FindingStatisticTypes []*string `locationName:"findingStatisticTypes" type:"list" required:"true"`
6757}
6758
6759// String returns the string representation
6760func (s GetFindingsStatisticsInput) String() string {
6761	return awsutil.Prettify(s)
6762}
6763
6764// GoString returns the string representation
6765func (s GetFindingsStatisticsInput) GoString() string {
6766	return s.String()
6767}
6768
6769// Validate inspects the fields of the type to determine if they are valid.
6770func (s *GetFindingsStatisticsInput) Validate() error {
6771	invalidParams := request.ErrInvalidParams{Context: "GetFindingsStatisticsInput"}
6772	if s.DetectorId == nil {
6773		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6774	}
6775	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6776		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6777	}
6778	if s.FindingStatisticTypes == nil {
6779		invalidParams.Add(request.NewErrParamRequired("FindingStatisticTypes"))
6780	}
6781
6782	if invalidParams.Len() > 0 {
6783		return invalidParams
6784	}
6785	return nil
6786}
6787
6788// SetDetectorId sets the DetectorId field's value.
6789func (s *GetFindingsStatisticsInput) SetDetectorId(v string) *GetFindingsStatisticsInput {
6790	s.DetectorId = &v
6791	return s
6792}
6793
6794// SetFindingCriteria sets the FindingCriteria field's value.
6795func (s *GetFindingsStatisticsInput) SetFindingCriteria(v *FindingCriteria) *GetFindingsStatisticsInput {
6796	s.FindingCriteria = v
6797	return s
6798}
6799
6800// SetFindingStatisticTypes sets the FindingStatisticTypes field's value.
6801func (s *GetFindingsStatisticsInput) SetFindingStatisticTypes(v []*string) *GetFindingsStatisticsInput {
6802	s.FindingStatisticTypes = v
6803	return s
6804}
6805
6806type GetFindingsStatisticsOutput struct {
6807	_ struct{} `type:"structure"`
6808
6809	// Finding statistics object.
6810	//
6811	// FindingStatistics is a required field
6812	FindingStatistics *FindingStatistics `locationName:"findingStatistics" type:"structure" required:"true"`
6813}
6814
6815// String returns the string representation
6816func (s GetFindingsStatisticsOutput) String() string {
6817	return awsutil.Prettify(s)
6818}
6819
6820// GoString returns the string representation
6821func (s GetFindingsStatisticsOutput) GoString() string {
6822	return s.String()
6823}
6824
6825// SetFindingStatistics sets the FindingStatistics field's value.
6826func (s *GetFindingsStatisticsOutput) SetFindingStatistics(v *FindingStatistics) *GetFindingsStatisticsOutput {
6827	s.FindingStatistics = v
6828	return s
6829}
6830
6831type GetIPSetInput struct {
6832	_ struct{} `type:"structure"`
6833
6834	// The unique ID of the detector the ipSet is associated with.
6835	//
6836	// DetectorId is a required field
6837	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
6838
6839	// The unique ID of the ipSet you want to get.
6840	//
6841	// IpSetId is a required field
6842	IpSetId *string `location:"uri" locationName:"ipSetId" type:"string" required:"true"`
6843}
6844
6845// String returns the string representation
6846func (s GetIPSetInput) String() string {
6847	return awsutil.Prettify(s)
6848}
6849
6850// GoString returns the string representation
6851func (s GetIPSetInput) GoString() string {
6852	return s.String()
6853}
6854
6855// Validate inspects the fields of the type to determine if they are valid.
6856func (s *GetIPSetInput) Validate() error {
6857	invalidParams := request.ErrInvalidParams{Context: "GetIPSetInput"}
6858	if s.DetectorId == nil {
6859		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6860	}
6861	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6862		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6863	}
6864	if s.IpSetId == nil {
6865		invalidParams.Add(request.NewErrParamRequired("IpSetId"))
6866	}
6867	if s.IpSetId != nil && len(*s.IpSetId) < 1 {
6868		invalidParams.Add(request.NewErrParamMinLen("IpSetId", 1))
6869	}
6870
6871	if invalidParams.Len() > 0 {
6872		return invalidParams
6873	}
6874	return nil
6875}
6876
6877// SetDetectorId sets the DetectorId field's value.
6878func (s *GetIPSetInput) SetDetectorId(v string) *GetIPSetInput {
6879	s.DetectorId = &v
6880	return s
6881}
6882
6883// SetIpSetId sets the IpSetId field's value.
6884func (s *GetIPSetInput) SetIpSetId(v string) *GetIPSetInput {
6885	s.IpSetId = &v
6886	return s
6887}
6888
6889type GetIPSetOutput struct {
6890	_ struct{} `type:"structure"`
6891
6892	// The format of the file that contains the IPSet.
6893	//
6894	// Format is a required field
6895	Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"IpSetFormat"`
6896
6897	// The URI of the file that contains the IPSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)
6898	//
6899	// Location is a required field
6900	Location *string `locationName:"location" min:"1" type:"string" required:"true"`
6901
6902	// The user friendly name to identify the IPSet. This name is displayed in all
6903	// findings that are triggered by activity that involves IP addresses included
6904	// in this IPSet.
6905	//
6906	// Name is a required field
6907	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6908
6909	// The status of ipSet file uploaded.
6910	//
6911	// Status is a required field
6912	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"IpSetStatus"`
6913
6914	// The tags of the IP set resource.
6915	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
6916}
6917
6918// String returns the string representation
6919func (s GetIPSetOutput) String() string {
6920	return awsutil.Prettify(s)
6921}
6922
6923// GoString returns the string representation
6924func (s GetIPSetOutput) GoString() string {
6925	return s.String()
6926}
6927
6928// SetFormat sets the Format field's value.
6929func (s *GetIPSetOutput) SetFormat(v string) *GetIPSetOutput {
6930	s.Format = &v
6931	return s
6932}
6933
6934// SetLocation sets the Location field's value.
6935func (s *GetIPSetOutput) SetLocation(v string) *GetIPSetOutput {
6936	s.Location = &v
6937	return s
6938}
6939
6940// SetName sets the Name field's value.
6941func (s *GetIPSetOutput) SetName(v string) *GetIPSetOutput {
6942	s.Name = &v
6943	return s
6944}
6945
6946// SetStatus sets the Status field's value.
6947func (s *GetIPSetOutput) SetStatus(v string) *GetIPSetOutput {
6948	s.Status = &v
6949	return s
6950}
6951
6952// SetTags sets the Tags field's value.
6953func (s *GetIPSetOutput) SetTags(v map[string]*string) *GetIPSetOutput {
6954	s.Tags = v
6955	return s
6956}
6957
6958type GetInvitationsCountInput struct {
6959	_ struct{} `type:"structure"`
6960}
6961
6962// String returns the string representation
6963func (s GetInvitationsCountInput) String() string {
6964	return awsutil.Prettify(s)
6965}
6966
6967// GoString returns the string representation
6968func (s GetInvitationsCountInput) GoString() string {
6969	return s.String()
6970}
6971
6972type GetInvitationsCountOutput struct {
6973	_ struct{} `type:"structure"`
6974
6975	// The number of received invitations.
6976	InvitationsCount *int64 `locationName:"invitationsCount" type:"integer"`
6977}
6978
6979// String returns the string representation
6980func (s GetInvitationsCountOutput) String() string {
6981	return awsutil.Prettify(s)
6982}
6983
6984// GoString returns the string representation
6985func (s GetInvitationsCountOutput) GoString() string {
6986	return s.String()
6987}
6988
6989// SetInvitationsCount sets the InvitationsCount field's value.
6990func (s *GetInvitationsCountOutput) SetInvitationsCount(v int64) *GetInvitationsCountOutput {
6991	s.InvitationsCount = &v
6992	return s
6993}
6994
6995type GetMasterAccountInput struct {
6996	_ struct{} `type:"structure"`
6997
6998	// The unique ID of the detector of the GuardDuty member account.
6999	//
7000	// DetectorId is a required field
7001	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7002}
7003
7004// String returns the string representation
7005func (s GetMasterAccountInput) String() string {
7006	return awsutil.Prettify(s)
7007}
7008
7009// GoString returns the string representation
7010func (s GetMasterAccountInput) GoString() string {
7011	return s.String()
7012}
7013
7014// Validate inspects the fields of the type to determine if they are valid.
7015func (s *GetMasterAccountInput) Validate() error {
7016	invalidParams := request.ErrInvalidParams{Context: "GetMasterAccountInput"}
7017	if s.DetectorId == nil {
7018		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7019	}
7020	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7021		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7022	}
7023
7024	if invalidParams.Len() > 0 {
7025		return invalidParams
7026	}
7027	return nil
7028}
7029
7030// SetDetectorId sets the DetectorId field's value.
7031func (s *GetMasterAccountInput) SetDetectorId(v string) *GetMasterAccountInput {
7032	s.DetectorId = &v
7033	return s
7034}
7035
7036type GetMasterAccountOutput struct {
7037	_ struct{} `type:"structure"`
7038
7039	// Master account details.
7040	//
7041	// Master is a required field
7042	Master *Master `locationName:"master" type:"structure" required:"true"`
7043}
7044
7045// String returns the string representation
7046func (s GetMasterAccountOutput) String() string {
7047	return awsutil.Prettify(s)
7048}
7049
7050// GoString returns the string representation
7051func (s GetMasterAccountOutput) GoString() string {
7052	return s.String()
7053}
7054
7055// SetMaster sets the Master field's value.
7056func (s *GetMasterAccountOutput) SetMaster(v *Master) *GetMasterAccountOutput {
7057	s.Master = v
7058	return s
7059}
7060
7061type GetMembersInput struct {
7062	_ struct{} `type:"structure"`
7063
7064	// A list of account IDs of the GuardDuty member accounts that you want to describe.
7065	//
7066	// AccountIds is a required field
7067	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
7068
7069	// The unique ID of the detector of the GuardDuty account whose members you
7070	// want to retrieve.
7071	//
7072	// DetectorId is a required field
7073	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7074}
7075
7076// String returns the string representation
7077func (s GetMembersInput) String() string {
7078	return awsutil.Prettify(s)
7079}
7080
7081// GoString returns the string representation
7082func (s GetMembersInput) GoString() string {
7083	return s.String()
7084}
7085
7086// Validate inspects the fields of the type to determine if they are valid.
7087func (s *GetMembersInput) Validate() error {
7088	invalidParams := request.ErrInvalidParams{Context: "GetMembersInput"}
7089	if s.AccountIds == nil {
7090		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
7091	}
7092	if s.AccountIds != nil && len(s.AccountIds) < 1 {
7093		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
7094	}
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// SetAccountIds sets the AccountIds field's value.
7109func (s *GetMembersInput) SetAccountIds(v []*string) *GetMembersInput {
7110	s.AccountIds = v
7111	return s
7112}
7113
7114// SetDetectorId sets the DetectorId field's value.
7115func (s *GetMembersInput) SetDetectorId(v string) *GetMembersInput {
7116	s.DetectorId = &v
7117	return s
7118}
7119
7120type GetMembersOutput struct {
7121	_ struct{} `type:"structure"`
7122
7123	// A list of members.
7124	//
7125	// Members is a required field
7126	Members []*Member `locationName:"members" type:"list" required:"true"`
7127
7128	// A list of objects containing the unprocessed account and a result string
7129	// explaining why it was unprocessed.
7130	//
7131	// UnprocessedAccounts is a required field
7132	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
7133}
7134
7135// String returns the string representation
7136func (s GetMembersOutput) String() string {
7137	return awsutil.Prettify(s)
7138}
7139
7140// GoString returns the string representation
7141func (s GetMembersOutput) GoString() string {
7142	return s.String()
7143}
7144
7145// SetMembers sets the Members field's value.
7146func (s *GetMembersOutput) SetMembers(v []*Member) *GetMembersOutput {
7147	s.Members = v
7148	return s
7149}
7150
7151// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
7152func (s *GetMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *GetMembersOutput {
7153	s.UnprocessedAccounts = v
7154	return s
7155}
7156
7157type GetThreatIntelSetInput struct {
7158	_ struct{} `type:"structure"`
7159
7160	// The unique ID of the detector the threatIntelSet is associated with.
7161	//
7162	// DetectorId is a required field
7163	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7164
7165	// The unique ID of the threatIntelSet you want to get.
7166	//
7167	// ThreatIntelSetId is a required field
7168	ThreatIntelSetId *string `location:"uri" locationName:"threatIntelSetId" type:"string" required:"true"`
7169}
7170
7171// String returns the string representation
7172func (s GetThreatIntelSetInput) String() string {
7173	return awsutil.Prettify(s)
7174}
7175
7176// GoString returns the string representation
7177func (s GetThreatIntelSetInput) GoString() string {
7178	return s.String()
7179}
7180
7181// Validate inspects the fields of the type to determine if they are valid.
7182func (s *GetThreatIntelSetInput) Validate() error {
7183	invalidParams := request.ErrInvalidParams{Context: "GetThreatIntelSetInput"}
7184	if s.DetectorId == nil {
7185		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7186	}
7187	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7188		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7189	}
7190	if s.ThreatIntelSetId == nil {
7191		invalidParams.Add(request.NewErrParamRequired("ThreatIntelSetId"))
7192	}
7193	if s.ThreatIntelSetId != nil && len(*s.ThreatIntelSetId) < 1 {
7194		invalidParams.Add(request.NewErrParamMinLen("ThreatIntelSetId", 1))
7195	}
7196
7197	if invalidParams.Len() > 0 {
7198		return invalidParams
7199	}
7200	return nil
7201}
7202
7203// SetDetectorId sets the DetectorId field's value.
7204func (s *GetThreatIntelSetInput) SetDetectorId(v string) *GetThreatIntelSetInput {
7205	s.DetectorId = &v
7206	return s
7207}
7208
7209// SetThreatIntelSetId sets the ThreatIntelSetId field's value.
7210func (s *GetThreatIntelSetInput) SetThreatIntelSetId(v string) *GetThreatIntelSetInput {
7211	s.ThreatIntelSetId = &v
7212	return s
7213}
7214
7215type GetThreatIntelSetOutput struct {
7216	_ struct{} `type:"structure"`
7217
7218	// The format of the threatIntelSet.
7219	//
7220	// Format is a required field
7221	Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"ThreatIntelSetFormat"`
7222
7223	// The URI of the file that contains the ThreatIntelSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key).
7224	//
7225	// Location is a required field
7226	Location *string `locationName:"location" min:"1" type:"string" required:"true"`
7227
7228	// A user-friendly ThreatIntelSet name that is displayed in all finding generated
7229	// by activity that involves IP addresses included in this ThreatIntelSet.
7230	//
7231	// Name is a required field
7232	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
7233
7234	// The status of threatIntelSet file uploaded.
7235	//
7236	// Status is a required field
7237	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"ThreatIntelSetStatus"`
7238
7239	// The tags of the Threat List resource.
7240	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
7241}
7242
7243// String returns the string representation
7244func (s GetThreatIntelSetOutput) String() string {
7245	return awsutil.Prettify(s)
7246}
7247
7248// GoString returns the string representation
7249func (s GetThreatIntelSetOutput) GoString() string {
7250	return s.String()
7251}
7252
7253// SetFormat sets the Format field's value.
7254func (s *GetThreatIntelSetOutput) SetFormat(v string) *GetThreatIntelSetOutput {
7255	s.Format = &v
7256	return s
7257}
7258
7259// SetLocation sets the Location field's value.
7260func (s *GetThreatIntelSetOutput) SetLocation(v string) *GetThreatIntelSetOutput {
7261	s.Location = &v
7262	return s
7263}
7264
7265// SetName sets the Name field's value.
7266func (s *GetThreatIntelSetOutput) SetName(v string) *GetThreatIntelSetOutput {
7267	s.Name = &v
7268	return s
7269}
7270
7271// SetStatus sets the Status field's value.
7272func (s *GetThreatIntelSetOutput) SetStatus(v string) *GetThreatIntelSetOutput {
7273	s.Status = &v
7274	return s
7275}
7276
7277// SetTags sets the Tags field's value.
7278func (s *GetThreatIntelSetOutput) SetTags(v map[string]*string) *GetThreatIntelSetOutput {
7279	s.Tags = v
7280	return s
7281}
7282
7283// Contains information about the instance profile.
7284type IamInstanceProfile struct {
7285	_ struct{} `type:"structure"`
7286
7287	// AWS EC2 instance profile ARN.
7288	Arn *string `locationName:"arn" type:"string"`
7289
7290	// AWS EC2 instance profile ID.
7291	Id *string `locationName:"id" type:"string"`
7292}
7293
7294// String returns the string representation
7295func (s IamInstanceProfile) String() string {
7296	return awsutil.Prettify(s)
7297}
7298
7299// GoString returns the string representation
7300func (s IamInstanceProfile) GoString() string {
7301	return s.String()
7302}
7303
7304// SetArn sets the Arn field's value.
7305func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile {
7306	s.Arn = &v
7307	return s
7308}
7309
7310// SetId sets the Id field's value.
7311func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile {
7312	s.Id = &v
7313	return s
7314}
7315
7316// Contains information about the details of an instance.
7317type InstanceDetails struct {
7318	_ struct{} `type:"structure"`
7319
7320	// The availability zone of the EC2 instance.
7321	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
7322
7323	// The profile information of the EC2 instance.
7324	IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
7325
7326	// The image description of the EC2 instance.
7327	ImageDescription *string `locationName:"imageDescription" type:"string"`
7328
7329	// The image ID of the EC2 instance.
7330	ImageId *string `locationName:"imageId" type:"string"`
7331
7332	// The ID of the EC2 instance.
7333	InstanceId *string `locationName:"instanceId" type:"string"`
7334
7335	// The state of the EC2 instance.
7336	InstanceState *string `locationName:"instanceState" type:"string"`
7337
7338	// The type of the EC2 instance.
7339	InstanceType *string `locationName:"instanceType" type:"string"`
7340
7341	// The launch time of the EC2 instance.
7342	LaunchTime *string `locationName:"launchTime" type:"string"`
7343
7344	// The network interface information of the EC2 instance.
7345	NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"`
7346
7347	// The platform of the EC2 instance.
7348	Platform *string `locationName:"platform" type:"string"`
7349
7350	// The product code of the EC2 instance.
7351	ProductCodes []*ProductCode `locationName:"productCodes" type:"list"`
7352
7353	// The tags of the EC2 instance.
7354	Tags []*Tag `locationName:"tags" type:"list"`
7355}
7356
7357// String returns the string representation
7358func (s InstanceDetails) String() string {
7359	return awsutil.Prettify(s)
7360}
7361
7362// GoString returns the string representation
7363func (s InstanceDetails) GoString() string {
7364	return s.String()
7365}
7366
7367// SetAvailabilityZone sets the AvailabilityZone field's value.
7368func (s *InstanceDetails) SetAvailabilityZone(v string) *InstanceDetails {
7369	s.AvailabilityZone = &v
7370	return s
7371}
7372
7373// SetIamInstanceProfile sets the IamInstanceProfile field's value.
7374func (s *InstanceDetails) SetIamInstanceProfile(v *IamInstanceProfile) *InstanceDetails {
7375	s.IamInstanceProfile = v
7376	return s
7377}
7378
7379// SetImageDescription sets the ImageDescription field's value.
7380func (s *InstanceDetails) SetImageDescription(v string) *InstanceDetails {
7381	s.ImageDescription = &v
7382	return s
7383}
7384
7385// SetImageId sets the ImageId field's value.
7386func (s *InstanceDetails) SetImageId(v string) *InstanceDetails {
7387	s.ImageId = &v
7388	return s
7389}
7390
7391// SetInstanceId sets the InstanceId field's value.
7392func (s *InstanceDetails) SetInstanceId(v string) *InstanceDetails {
7393	s.InstanceId = &v
7394	return s
7395}
7396
7397// SetInstanceState sets the InstanceState field's value.
7398func (s *InstanceDetails) SetInstanceState(v string) *InstanceDetails {
7399	s.InstanceState = &v
7400	return s
7401}
7402
7403// SetInstanceType sets the InstanceType field's value.
7404func (s *InstanceDetails) SetInstanceType(v string) *InstanceDetails {
7405	s.InstanceType = &v
7406	return s
7407}
7408
7409// SetLaunchTime sets the LaunchTime field's value.
7410func (s *InstanceDetails) SetLaunchTime(v string) *InstanceDetails {
7411	s.LaunchTime = &v
7412	return s
7413}
7414
7415// SetNetworkInterfaces sets the NetworkInterfaces field's value.
7416func (s *InstanceDetails) SetNetworkInterfaces(v []*NetworkInterface) *InstanceDetails {
7417	s.NetworkInterfaces = v
7418	return s
7419}
7420
7421// SetPlatform sets the Platform field's value.
7422func (s *InstanceDetails) SetPlatform(v string) *InstanceDetails {
7423	s.Platform = &v
7424	return s
7425}
7426
7427// SetProductCodes sets the ProductCodes field's value.
7428func (s *InstanceDetails) SetProductCodes(v []*ProductCode) *InstanceDetails {
7429	s.ProductCodes = v
7430	return s
7431}
7432
7433// SetTags sets the Tags field's value.
7434func (s *InstanceDetails) SetTags(v []*Tag) *InstanceDetails {
7435	s.Tags = v
7436	return s
7437}
7438
7439// Contains information about the invitation.
7440type Invitation struct {
7441	_ struct{} `type:"structure"`
7442
7443	// Inviter account ID
7444	AccountId *string `locationName:"accountId" min:"12" type:"string"`
7445
7446	// This value is used to validate the inviter account to the member account.
7447	InvitationId *string `locationName:"invitationId" type:"string"`
7448
7449	// Timestamp at which the invitation was sent
7450	InvitedAt *string `locationName:"invitedAt" type:"string"`
7451
7452	// The status of the relationship between the inviter and invitee accounts.
7453	RelationshipStatus *string `locationName:"relationshipStatus" type:"string"`
7454}
7455
7456// String returns the string representation
7457func (s Invitation) String() string {
7458	return awsutil.Prettify(s)
7459}
7460
7461// GoString returns the string representation
7462func (s Invitation) GoString() string {
7463	return s.String()
7464}
7465
7466// SetAccountId sets the AccountId field's value.
7467func (s *Invitation) SetAccountId(v string) *Invitation {
7468	s.AccountId = &v
7469	return s
7470}
7471
7472// SetInvitationId sets the InvitationId field's value.
7473func (s *Invitation) SetInvitationId(v string) *Invitation {
7474	s.InvitationId = &v
7475	return s
7476}
7477
7478// SetInvitedAt sets the InvitedAt field's value.
7479func (s *Invitation) SetInvitedAt(v string) *Invitation {
7480	s.InvitedAt = &v
7481	return s
7482}
7483
7484// SetRelationshipStatus sets the RelationshipStatus field's value.
7485func (s *Invitation) SetRelationshipStatus(v string) *Invitation {
7486	s.RelationshipStatus = &v
7487	return s
7488}
7489
7490type InviteMembersInput struct {
7491	_ struct{} `type:"structure"`
7492
7493	// A list of account IDs of the accounts that you want to invite to GuardDuty
7494	// as members.
7495	//
7496	// AccountIds is a required field
7497	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
7498
7499	// The unique ID of the detector of the GuardDuty account with which you want
7500	// to invite members.
7501	//
7502	// DetectorId is a required field
7503	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7504
7505	// A boolean value that specifies whether you want to disable email notification
7506	// to the accounts that you’re inviting to GuardDuty as members.
7507	DisableEmailNotification *bool `locationName:"disableEmailNotification" type:"boolean"`
7508
7509	// The invitation message that you want to send to the accounts that you’re
7510	// inviting to GuardDuty as members.
7511	Message *string `locationName:"message" type:"string"`
7512}
7513
7514// String returns the string representation
7515func (s InviteMembersInput) String() string {
7516	return awsutil.Prettify(s)
7517}
7518
7519// GoString returns the string representation
7520func (s InviteMembersInput) GoString() string {
7521	return s.String()
7522}
7523
7524// Validate inspects the fields of the type to determine if they are valid.
7525func (s *InviteMembersInput) Validate() error {
7526	invalidParams := request.ErrInvalidParams{Context: "InviteMembersInput"}
7527	if s.AccountIds == nil {
7528		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
7529	}
7530	if s.AccountIds != nil && len(s.AccountIds) < 1 {
7531		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
7532	}
7533	if s.DetectorId == nil {
7534		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7535	}
7536	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7537		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7538	}
7539
7540	if invalidParams.Len() > 0 {
7541		return invalidParams
7542	}
7543	return nil
7544}
7545
7546// SetAccountIds sets the AccountIds field's value.
7547func (s *InviteMembersInput) SetAccountIds(v []*string) *InviteMembersInput {
7548	s.AccountIds = v
7549	return s
7550}
7551
7552// SetDetectorId sets the DetectorId field's value.
7553func (s *InviteMembersInput) SetDetectorId(v string) *InviteMembersInput {
7554	s.DetectorId = &v
7555	return s
7556}
7557
7558// SetDisableEmailNotification sets the DisableEmailNotification field's value.
7559func (s *InviteMembersInput) SetDisableEmailNotification(v bool) *InviteMembersInput {
7560	s.DisableEmailNotification = &v
7561	return s
7562}
7563
7564// SetMessage sets the Message field's value.
7565func (s *InviteMembersInput) SetMessage(v string) *InviteMembersInput {
7566	s.Message = &v
7567	return s
7568}
7569
7570type InviteMembersOutput struct {
7571	_ struct{} `type:"structure"`
7572
7573	// A list of objects containing the unprocessed account and a result string
7574	// explaining why it was unprocessed.
7575	//
7576	// UnprocessedAccounts is a required field
7577	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
7578}
7579
7580// String returns the string representation
7581func (s InviteMembersOutput) String() string {
7582	return awsutil.Prettify(s)
7583}
7584
7585// GoString returns the string representation
7586func (s InviteMembersOutput) GoString() string {
7587	return s.String()
7588}
7589
7590// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
7591func (s *InviteMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *InviteMembersOutput {
7592	s.UnprocessedAccounts = v
7593	return s
7594}
7595
7596type ListDetectorsInput struct {
7597	_ struct{} `type:"structure"`
7598
7599	// You can use this parameter to indicate the maximum number of items you want
7600	// in the response. The default value is 50. The maximum value is 50.
7601	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
7602
7603	// You can use this parameter when paginating results. Set the value of this
7604	// parameter to null on your first call to the list action. For subsequent calls
7605	// to the action fill nextToken in the request with the value of NextToken from
7606	// the previous response to continue listing data.
7607	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7608}
7609
7610// String returns the string representation
7611func (s ListDetectorsInput) String() string {
7612	return awsutil.Prettify(s)
7613}
7614
7615// GoString returns the string representation
7616func (s ListDetectorsInput) GoString() string {
7617	return s.String()
7618}
7619
7620// Validate inspects the fields of the type to determine if they are valid.
7621func (s *ListDetectorsInput) Validate() error {
7622	invalidParams := request.ErrInvalidParams{Context: "ListDetectorsInput"}
7623	if s.MaxResults != nil && *s.MaxResults < 1 {
7624		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7625	}
7626
7627	if invalidParams.Len() > 0 {
7628		return invalidParams
7629	}
7630	return nil
7631}
7632
7633// SetMaxResults sets the MaxResults field's value.
7634func (s *ListDetectorsInput) SetMaxResults(v int64) *ListDetectorsInput {
7635	s.MaxResults = &v
7636	return s
7637}
7638
7639// SetNextToken sets the NextToken field's value.
7640func (s *ListDetectorsInput) SetNextToken(v string) *ListDetectorsInput {
7641	s.NextToken = &v
7642	return s
7643}
7644
7645type ListDetectorsOutput struct {
7646	_ struct{} `type:"structure"`
7647
7648	// A list of detector Ids.
7649	//
7650	// DetectorIds is a required field
7651	DetectorIds []*string `locationName:"detectorIds" type:"list" required:"true"`
7652
7653	// Pagination parameter to be used on the next list operation to retrieve more
7654	// items.
7655	NextToken *string `locationName:"nextToken" type:"string"`
7656}
7657
7658// String returns the string representation
7659func (s ListDetectorsOutput) String() string {
7660	return awsutil.Prettify(s)
7661}
7662
7663// GoString returns the string representation
7664func (s ListDetectorsOutput) GoString() string {
7665	return s.String()
7666}
7667
7668// SetDetectorIds sets the DetectorIds field's value.
7669func (s *ListDetectorsOutput) SetDetectorIds(v []*string) *ListDetectorsOutput {
7670	s.DetectorIds = v
7671	return s
7672}
7673
7674// SetNextToken sets the NextToken field's value.
7675func (s *ListDetectorsOutput) SetNextToken(v string) *ListDetectorsOutput {
7676	s.NextToken = &v
7677	return s
7678}
7679
7680type ListFiltersInput struct {
7681	_ struct{} `type:"structure"`
7682
7683	// The unique ID of the detector the filter is associated with.
7684	//
7685	// DetectorId is a required field
7686	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7687
7688	// You can use this parameter to indicate the maximum number of items you want
7689	// in the response. The default value is 50. The maximum value is 50.
7690	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
7691
7692	// You can use this parameter when paginating results. Set the value of this
7693	// parameter to null on your first call to the list action. For subsequent calls
7694	// to the action fill nextToken in the request with the value of NextToken from
7695	// the previous response to continue listing data.
7696	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7697}
7698
7699// String returns the string representation
7700func (s ListFiltersInput) String() string {
7701	return awsutil.Prettify(s)
7702}
7703
7704// GoString returns the string representation
7705func (s ListFiltersInput) GoString() string {
7706	return s.String()
7707}
7708
7709// Validate inspects the fields of the type to determine if they are valid.
7710func (s *ListFiltersInput) Validate() error {
7711	invalidParams := request.ErrInvalidParams{Context: "ListFiltersInput"}
7712	if s.DetectorId == nil {
7713		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7714	}
7715	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7716		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7717	}
7718	if s.MaxResults != nil && *s.MaxResults < 1 {
7719		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7720	}
7721
7722	if invalidParams.Len() > 0 {
7723		return invalidParams
7724	}
7725	return nil
7726}
7727
7728// SetDetectorId sets the DetectorId field's value.
7729func (s *ListFiltersInput) SetDetectorId(v string) *ListFiltersInput {
7730	s.DetectorId = &v
7731	return s
7732}
7733
7734// SetMaxResults sets the MaxResults field's value.
7735func (s *ListFiltersInput) SetMaxResults(v int64) *ListFiltersInput {
7736	s.MaxResults = &v
7737	return s
7738}
7739
7740// SetNextToken sets the NextToken field's value.
7741func (s *ListFiltersInput) SetNextToken(v string) *ListFiltersInput {
7742	s.NextToken = &v
7743	return s
7744}
7745
7746type ListFiltersOutput struct {
7747	_ struct{} `type:"structure"`
7748
7749	// A list of filter names
7750	//
7751	// FilterNames is a required field
7752	FilterNames []*string `locationName:"filterNames" type:"list" required:"true"`
7753
7754	// Pagination parameter to be used on the next list operation to retrieve more
7755	// items.
7756	NextToken *string `locationName:"nextToken" type:"string"`
7757}
7758
7759// String returns the string representation
7760func (s ListFiltersOutput) String() string {
7761	return awsutil.Prettify(s)
7762}
7763
7764// GoString returns the string representation
7765func (s ListFiltersOutput) GoString() string {
7766	return s.String()
7767}
7768
7769// SetFilterNames sets the FilterNames field's value.
7770func (s *ListFiltersOutput) SetFilterNames(v []*string) *ListFiltersOutput {
7771	s.FilterNames = v
7772	return s
7773}
7774
7775// SetNextToken sets the NextToken field's value.
7776func (s *ListFiltersOutput) SetNextToken(v string) *ListFiltersOutput {
7777	s.NextToken = &v
7778	return s
7779}
7780
7781type ListFindingsInput struct {
7782	_ struct{} `type:"structure"`
7783
7784	// The ID of the detector that specifies the GuardDuty service whose findings
7785	// you want to list.
7786	//
7787	// DetectorId is a required field
7788	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7789
7790	// Represents the criteria used for querying findings.
7791	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"`
7792
7793	// You can use this parameter to indicate the maximum number of items you want
7794	// in the response. The default value is 50. The maximum value is 50.
7795	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
7796
7797	// You can use this parameter when paginating results. Set the value of this
7798	// parameter to null on your first call to the list action. For subsequent calls
7799	// to the action fill nextToken in the request with the value of NextToken from
7800	// the previous response to continue listing data.
7801	NextToken *string `locationName:"nextToken" type:"string"`
7802
7803	// Represents the criteria used for sorting findings.
7804	SortCriteria *SortCriteria `locationName:"sortCriteria" type:"structure"`
7805}
7806
7807// String returns the string representation
7808func (s ListFindingsInput) String() string {
7809	return awsutil.Prettify(s)
7810}
7811
7812// GoString returns the string representation
7813func (s ListFindingsInput) GoString() string {
7814	return s.String()
7815}
7816
7817// Validate inspects the fields of the type to determine if they are valid.
7818func (s *ListFindingsInput) Validate() error {
7819	invalidParams := request.ErrInvalidParams{Context: "ListFindingsInput"}
7820	if s.DetectorId == nil {
7821		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7822	}
7823	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7824		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7825	}
7826	if s.MaxResults != nil && *s.MaxResults < 1 {
7827		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7828	}
7829
7830	if invalidParams.Len() > 0 {
7831		return invalidParams
7832	}
7833	return nil
7834}
7835
7836// SetDetectorId sets the DetectorId field's value.
7837func (s *ListFindingsInput) SetDetectorId(v string) *ListFindingsInput {
7838	s.DetectorId = &v
7839	return s
7840}
7841
7842// SetFindingCriteria sets the FindingCriteria field's value.
7843func (s *ListFindingsInput) SetFindingCriteria(v *FindingCriteria) *ListFindingsInput {
7844	s.FindingCriteria = v
7845	return s
7846}
7847
7848// SetMaxResults sets the MaxResults field's value.
7849func (s *ListFindingsInput) SetMaxResults(v int64) *ListFindingsInput {
7850	s.MaxResults = &v
7851	return s
7852}
7853
7854// SetNextToken sets the NextToken field's value.
7855func (s *ListFindingsInput) SetNextToken(v string) *ListFindingsInput {
7856	s.NextToken = &v
7857	return s
7858}
7859
7860// SetSortCriteria sets the SortCriteria field's value.
7861func (s *ListFindingsInput) SetSortCriteria(v *SortCriteria) *ListFindingsInput {
7862	s.SortCriteria = v
7863	return s
7864}
7865
7866type ListFindingsOutput struct {
7867	_ struct{} `type:"structure"`
7868
7869	// The IDs of the findings you are listing.
7870	//
7871	// FindingIds is a required field
7872	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
7873
7874	// Pagination parameter to be used on the next list operation to retrieve more
7875	// items.
7876	NextToken *string `locationName:"nextToken" type:"string"`
7877}
7878
7879// String returns the string representation
7880func (s ListFindingsOutput) String() string {
7881	return awsutil.Prettify(s)
7882}
7883
7884// GoString returns the string representation
7885func (s ListFindingsOutput) GoString() string {
7886	return s.String()
7887}
7888
7889// SetFindingIds sets the FindingIds field's value.
7890func (s *ListFindingsOutput) SetFindingIds(v []*string) *ListFindingsOutput {
7891	s.FindingIds = v
7892	return s
7893}
7894
7895// SetNextToken sets the NextToken field's value.
7896func (s *ListFindingsOutput) SetNextToken(v string) *ListFindingsOutput {
7897	s.NextToken = &v
7898	return s
7899}
7900
7901type ListIPSetsInput struct {
7902	_ struct{} `type:"structure"`
7903
7904	// The unique ID of the detector the ipSet is associated with.
7905	//
7906	// DetectorId is a required field
7907	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7908
7909	// You can use this parameter to indicate the maximum number of items you want
7910	// in the response. The default value is 50. The maximum value is 50.
7911	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
7912
7913	// You can use this parameter when paginating results. Set the value of this
7914	// parameter to null on your first call to the list action. For subsequent calls
7915	// to the action fill nextToken in the request with the value of NextToken from
7916	// the previous response to continue listing data.
7917	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
7918}
7919
7920// String returns the string representation
7921func (s ListIPSetsInput) String() string {
7922	return awsutil.Prettify(s)
7923}
7924
7925// GoString returns the string representation
7926func (s ListIPSetsInput) GoString() string {
7927	return s.String()
7928}
7929
7930// Validate inspects the fields of the type to determine if they are valid.
7931func (s *ListIPSetsInput) Validate() error {
7932	invalidParams := request.ErrInvalidParams{Context: "ListIPSetsInput"}
7933	if s.DetectorId == nil {
7934		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7935	}
7936	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7937		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7938	}
7939	if s.MaxResults != nil && *s.MaxResults < 1 {
7940		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
7941	}
7942
7943	if invalidParams.Len() > 0 {
7944		return invalidParams
7945	}
7946	return nil
7947}
7948
7949// SetDetectorId sets the DetectorId field's value.
7950func (s *ListIPSetsInput) SetDetectorId(v string) *ListIPSetsInput {
7951	s.DetectorId = &v
7952	return s
7953}
7954
7955// SetMaxResults sets the MaxResults field's value.
7956func (s *ListIPSetsInput) SetMaxResults(v int64) *ListIPSetsInput {
7957	s.MaxResults = &v
7958	return s
7959}
7960
7961// SetNextToken sets the NextToken field's value.
7962func (s *ListIPSetsInput) SetNextToken(v string) *ListIPSetsInput {
7963	s.NextToken = &v
7964	return s
7965}
7966
7967type ListIPSetsOutput struct {
7968	_ struct{} `type:"structure"`
7969
7970	// The IDs of the IPSet resources.
7971	//
7972	// IpSetIds is a required field
7973	IpSetIds []*string `locationName:"ipSetIds" type:"list" required:"true"`
7974
7975	// Pagination parameter to be used on the next list operation to retrieve more
7976	// items.
7977	NextToken *string `locationName:"nextToken" type:"string"`
7978}
7979
7980// String returns the string representation
7981func (s ListIPSetsOutput) String() string {
7982	return awsutil.Prettify(s)
7983}
7984
7985// GoString returns the string representation
7986func (s ListIPSetsOutput) GoString() string {
7987	return s.String()
7988}
7989
7990// SetIpSetIds sets the IpSetIds field's value.
7991func (s *ListIPSetsOutput) SetIpSetIds(v []*string) *ListIPSetsOutput {
7992	s.IpSetIds = v
7993	return s
7994}
7995
7996// SetNextToken sets the NextToken field's value.
7997func (s *ListIPSetsOutput) SetNextToken(v string) *ListIPSetsOutput {
7998	s.NextToken = &v
7999	return s
8000}
8001
8002type ListInvitationsInput struct {
8003	_ struct{} `type:"structure"`
8004
8005	// You can use this parameter to indicate the maximum number of items you want
8006	// in the response. The default value is 50. The maximum value is 50.
8007	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
8008
8009	// You can use this parameter when paginating results. Set the value of this
8010	// parameter to null on your first call to the list action. For subsequent calls
8011	// to the action fill nextToken in the request with the value of NextToken from
8012	// the previous response to continue listing data.
8013	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8014}
8015
8016// String returns the string representation
8017func (s ListInvitationsInput) String() string {
8018	return awsutil.Prettify(s)
8019}
8020
8021// GoString returns the string representation
8022func (s ListInvitationsInput) GoString() string {
8023	return s.String()
8024}
8025
8026// Validate inspects the fields of the type to determine if they are valid.
8027func (s *ListInvitationsInput) Validate() error {
8028	invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"}
8029	if s.MaxResults != nil && *s.MaxResults < 1 {
8030		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8031	}
8032
8033	if invalidParams.Len() > 0 {
8034		return invalidParams
8035	}
8036	return nil
8037}
8038
8039// SetMaxResults sets the MaxResults field's value.
8040func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput {
8041	s.MaxResults = &v
8042	return s
8043}
8044
8045// SetNextToken sets the NextToken field's value.
8046func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput {
8047	s.NextToken = &v
8048	return s
8049}
8050
8051type ListInvitationsOutput struct {
8052	_ struct{} `type:"structure"`
8053
8054	// A list of invitation descriptions.
8055	Invitations []*Invitation `locationName:"invitations" type:"list"`
8056
8057	// Pagination parameter to be used on the next list operation to retrieve more
8058	// items.
8059	NextToken *string `locationName:"nextToken" type:"string"`
8060}
8061
8062// String returns the string representation
8063func (s ListInvitationsOutput) String() string {
8064	return awsutil.Prettify(s)
8065}
8066
8067// GoString returns the string representation
8068func (s ListInvitationsOutput) GoString() string {
8069	return s.String()
8070}
8071
8072// SetInvitations sets the Invitations field's value.
8073func (s *ListInvitationsOutput) SetInvitations(v []*Invitation) *ListInvitationsOutput {
8074	s.Invitations = v
8075	return s
8076}
8077
8078// SetNextToken sets the NextToken field's value.
8079func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput {
8080	s.NextToken = &v
8081	return s
8082}
8083
8084type ListMembersInput struct {
8085	_ struct{} `type:"structure"`
8086
8087	// The unique ID of the detector the member is associated with.
8088	//
8089	// DetectorId is a required field
8090	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
8091
8092	// You can use this parameter to indicate the maximum number of items you want
8093	// in the response. The default value is 50. The maximum value is 50.
8094	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
8095
8096	// You can use this parameter when paginating results. Set the value of this
8097	// parameter to null on your first call to the list action. For subsequent calls
8098	// to the action fill nextToken in the request with the value of NextToken from
8099	// the previous response to continue listing data.
8100	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8101
8102	// Specifies whether to only return associated members or to return all members
8103	// (including members which haven't been invited yet or have been disassociated).
8104	OnlyAssociated *string `location:"querystring" locationName:"onlyAssociated" type:"string"`
8105}
8106
8107// String returns the string representation
8108func (s ListMembersInput) String() string {
8109	return awsutil.Prettify(s)
8110}
8111
8112// GoString returns the string representation
8113func (s ListMembersInput) GoString() string {
8114	return s.String()
8115}
8116
8117// Validate inspects the fields of the type to determine if they are valid.
8118func (s *ListMembersInput) Validate() error {
8119	invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"}
8120	if s.DetectorId == nil {
8121		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
8122	}
8123	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
8124		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
8125	}
8126	if s.MaxResults != nil && *s.MaxResults < 1 {
8127		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8128	}
8129
8130	if invalidParams.Len() > 0 {
8131		return invalidParams
8132	}
8133	return nil
8134}
8135
8136// SetDetectorId sets the DetectorId field's value.
8137func (s *ListMembersInput) SetDetectorId(v string) *ListMembersInput {
8138	s.DetectorId = &v
8139	return s
8140}
8141
8142// SetMaxResults sets the MaxResults field's value.
8143func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput {
8144	s.MaxResults = &v
8145	return s
8146}
8147
8148// SetNextToken sets the NextToken field's value.
8149func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput {
8150	s.NextToken = &v
8151	return s
8152}
8153
8154// SetOnlyAssociated sets the OnlyAssociated field's value.
8155func (s *ListMembersInput) SetOnlyAssociated(v string) *ListMembersInput {
8156	s.OnlyAssociated = &v
8157	return s
8158}
8159
8160type ListMembersOutput struct {
8161	_ struct{} `type:"structure"`
8162
8163	// A list of members.
8164	Members []*Member `locationName:"members" type:"list"`
8165
8166	// Pagination parameter to be used on the next list operation to retrieve more
8167	// items.
8168	NextToken *string `locationName:"nextToken" type:"string"`
8169}
8170
8171// String returns the string representation
8172func (s ListMembersOutput) String() string {
8173	return awsutil.Prettify(s)
8174}
8175
8176// GoString returns the string representation
8177func (s ListMembersOutput) GoString() string {
8178	return s.String()
8179}
8180
8181// SetMembers sets the Members field's value.
8182func (s *ListMembersOutput) SetMembers(v []*Member) *ListMembersOutput {
8183	s.Members = v
8184	return s
8185}
8186
8187// SetNextToken sets the NextToken field's value.
8188func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput {
8189	s.NextToken = &v
8190	return s
8191}
8192
8193type ListTagsForResourceInput struct {
8194	_ struct{} `type:"structure"`
8195
8196	// The Amazon Resource Name (ARN) for the given GuardDuty resource
8197	//
8198	// ResourceArn is a required field
8199	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
8200}
8201
8202// String returns the string representation
8203func (s ListTagsForResourceInput) String() string {
8204	return awsutil.Prettify(s)
8205}
8206
8207// GoString returns the string representation
8208func (s ListTagsForResourceInput) GoString() string {
8209	return s.String()
8210}
8211
8212// Validate inspects the fields of the type to determine if they are valid.
8213func (s *ListTagsForResourceInput) Validate() error {
8214	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
8215	if s.ResourceArn == nil {
8216		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
8217	}
8218	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
8219		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
8220	}
8221
8222	if invalidParams.Len() > 0 {
8223		return invalidParams
8224	}
8225	return nil
8226}
8227
8228// SetResourceArn sets the ResourceArn field's value.
8229func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
8230	s.ResourceArn = &v
8231	return s
8232}
8233
8234type ListTagsForResourceOutput struct {
8235	_ struct{} `type:"structure"`
8236
8237	// The tags associated with the resource.
8238	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
8239}
8240
8241// String returns the string representation
8242func (s ListTagsForResourceOutput) String() string {
8243	return awsutil.Prettify(s)
8244}
8245
8246// GoString returns the string representation
8247func (s ListTagsForResourceOutput) GoString() string {
8248	return s.String()
8249}
8250
8251// SetTags sets the Tags field's value.
8252func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
8253	s.Tags = v
8254	return s
8255}
8256
8257type ListThreatIntelSetsInput struct {
8258	_ struct{} `type:"structure"`
8259
8260	// The unique ID of the detector the threatIntelSet is associated with.
8261	//
8262	// DetectorId is a required field
8263	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
8264
8265	// You can use this parameter to indicate the maximum number of items you want
8266	// in the response. The default value is 50. The maximum value is 50.
8267	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
8268
8269	// You can use this parameter when paginating results. Set the value of this
8270	// parameter to null on your first call to the list action. For subsequent calls
8271	// to the action fill nextToken in the request with the value of NextToken from
8272	// the previous response to continue listing data.
8273	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
8274}
8275
8276// String returns the string representation
8277func (s ListThreatIntelSetsInput) String() string {
8278	return awsutil.Prettify(s)
8279}
8280
8281// GoString returns the string representation
8282func (s ListThreatIntelSetsInput) GoString() string {
8283	return s.String()
8284}
8285
8286// Validate inspects the fields of the type to determine if they are valid.
8287func (s *ListThreatIntelSetsInput) Validate() error {
8288	invalidParams := request.ErrInvalidParams{Context: "ListThreatIntelSetsInput"}
8289	if s.DetectorId == nil {
8290		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
8291	}
8292	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
8293		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
8294	}
8295	if s.MaxResults != nil && *s.MaxResults < 1 {
8296		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
8297	}
8298
8299	if invalidParams.Len() > 0 {
8300		return invalidParams
8301	}
8302	return nil
8303}
8304
8305// SetDetectorId sets the DetectorId field's value.
8306func (s *ListThreatIntelSetsInput) SetDetectorId(v string) *ListThreatIntelSetsInput {
8307	s.DetectorId = &v
8308	return s
8309}
8310
8311// SetMaxResults sets the MaxResults field's value.
8312func (s *ListThreatIntelSetsInput) SetMaxResults(v int64) *ListThreatIntelSetsInput {
8313	s.MaxResults = &v
8314	return s
8315}
8316
8317// SetNextToken sets the NextToken field's value.
8318func (s *ListThreatIntelSetsInput) SetNextToken(v string) *ListThreatIntelSetsInput {
8319	s.NextToken = &v
8320	return s
8321}
8322
8323type ListThreatIntelSetsOutput struct {
8324	_ struct{} `type:"structure"`
8325
8326	// Pagination parameter to be used on the next list operation to retrieve more
8327	// items.
8328	NextToken *string `locationName:"nextToken" type:"string"`
8329
8330	// The IDs of the ThreatIntelSet resources.
8331	//
8332	// ThreatIntelSetIds is a required field
8333	ThreatIntelSetIds []*string `locationName:"threatIntelSetIds" type:"list" required:"true"`
8334}
8335
8336// String returns the string representation
8337func (s ListThreatIntelSetsOutput) String() string {
8338	return awsutil.Prettify(s)
8339}
8340
8341// GoString returns the string representation
8342func (s ListThreatIntelSetsOutput) GoString() string {
8343	return s.String()
8344}
8345
8346// SetNextToken sets the NextToken field's value.
8347func (s *ListThreatIntelSetsOutput) SetNextToken(v string) *ListThreatIntelSetsOutput {
8348	s.NextToken = &v
8349	return s
8350}
8351
8352// SetThreatIntelSetIds sets the ThreatIntelSetIds field's value.
8353func (s *ListThreatIntelSetsOutput) SetThreatIntelSetIds(v []*string) *ListThreatIntelSetsOutput {
8354	s.ThreatIntelSetIds = v
8355	return s
8356}
8357
8358// Contains information about the port for the local connection.
8359type LocalPortDetails struct {
8360	_ struct{} `type:"structure"`
8361
8362	// Port number of the local connection.
8363	Port *int64 `locationName:"port" type:"integer"`
8364
8365	// Port name of the local connection.
8366	PortName *string `locationName:"portName" type:"string"`
8367}
8368
8369// String returns the string representation
8370func (s LocalPortDetails) String() string {
8371	return awsutil.Prettify(s)
8372}
8373
8374// GoString returns the string representation
8375func (s LocalPortDetails) GoString() string {
8376	return s.String()
8377}
8378
8379// SetPort sets the Port field's value.
8380func (s *LocalPortDetails) SetPort(v int64) *LocalPortDetails {
8381	s.Port = &v
8382	return s
8383}
8384
8385// SetPortName sets the PortName field's value.
8386func (s *LocalPortDetails) SetPortName(v string) *LocalPortDetails {
8387	s.PortName = &v
8388	return s
8389}
8390
8391// Contains information about the Master account and invitation.
8392type Master struct {
8393	_ struct{} `type:"structure"`
8394
8395	// The ID of the account used as the Master account.
8396	AccountId *string `locationName:"accountId" min:"12" type:"string"`
8397
8398	// This value is used to validate the master account to the member account.
8399	InvitationId *string `locationName:"invitationId" type:"string"`
8400
8401	// Timestamp at which the invitation was sent.
8402	InvitedAt *string `locationName:"invitedAt" type:"string"`
8403
8404	// The status of the relationship between the master and member accounts.
8405	RelationshipStatus *string `locationName:"relationshipStatus" type:"string"`
8406}
8407
8408// String returns the string representation
8409func (s Master) String() string {
8410	return awsutil.Prettify(s)
8411}
8412
8413// GoString returns the string representation
8414func (s Master) GoString() string {
8415	return s.String()
8416}
8417
8418// SetAccountId sets the AccountId field's value.
8419func (s *Master) SetAccountId(v string) *Master {
8420	s.AccountId = &v
8421	return s
8422}
8423
8424// SetInvitationId sets the InvitationId field's value.
8425func (s *Master) SetInvitationId(v string) *Master {
8426	s.InvitationId = &v
8427	return s
8428}
8429
8430// SetInvitedAt sets the InvitedAt field's value.
8431func (s *Master) SetInvitedAt(v string) *Master {
8432	s.InvitedAt = &v
8433	return s
8434}
8435
8436// SetRelationshipStatus sets the RelationshipStatus field's value.
8437func (s *Master) SetRelationshipStatus(v string) *Master {
8438	s.RelationshipStatus = &v
8439	return s
8440}
8441
8442// Continas information about the member account
8443type Member struct {
8444	_ struct{} `type:"structure"`
8445
8446	// Member account ID.
8447	//
8448	// AccountId is a required field
8449	AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"`
8450
8451	// Member account's detector ID.
8452	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
8453
8454	// Member account's email address.
8455	//
8456	// Email is a required field
8457	Email *string `locationName:"email" min:"1" type:"string" required:"true"`
8458
8459	// Timestamp at which the invitation was sent
8460	InvitedAt *string `locationName:"invitedAt" type:"string"`
8461
8462	// Master account ID.
8463	//
8464	// MasterId is a required field
8465	MasterId *string `locationName:"masterId" type:"string" required:"true"`
8466
8467	// The status of the relationship between the member and the master.
8468	//
8469	// RelationshipStatus is a required field
8470	RelationshipStatus *string `locationName:"relationshipStatus" type:"string" required:"true"`
8471
8472	// Member last updated timestamp.
8473	//
8474	// UpdatedAt is a required field
8475	UpdatedAt *string `locationName:"updatedAt" type:"string" required:"true"`
8476}
8477
8478// String returns the string representation
8479func (s Member) String() string {
8480	return awsutil.Prettify(s)
8481}
8482
8483// GoString returns the string representation
8484func (s Member) GoString() string {
8485	return s.String()
8486}
8487
8488// SetAccountId sets the AccountId field's value.
8489func (s *Member) SetAccountId(v string) *Member {
8490	s.AccountId = &v
8491	return s
8492}
8493
8494// SetDetectorId sets the DetectorId field's value.
8495func (s *Member) SetDetectorId(v string) *Member {
8496	s.DetectorId = &v
8497	return s
8498}
8499
8500// SetEmail sets the Email field's value.
8501func (s *Member) SetEmail(v string) *Member {
8502	s.Email = &v
8503	return s
8504}
8505
8506// SetInvitedAt sets the InvitedAt field's value.
8507func (s *Member) SetInvitedAt(v string) *Member {
8508	s.InvitedAt = &v
8509	return s
8510}
8511
8512// SetMasterId sets the MasterId field's value.
8513func (s *Member) SetMasterId(v string) *Member {
8514	s.MasterId = &v
8515	return s
8516}
8517
8518// SetRelationshipStatus sets the RelationshipStatus field's value.
8519func (s *Member) SetRelationshipStatus(v string) *Member {
8520	s.RelationshipStatus = &v
8521	return s
8522}
8523
8524// SetUpdatedAt sets the UpdatedAt field's value.
8525func (s *Member) SetUpdatedAt(v string) *Member {
8526	s.UpdatedAt = &v
8527	return s
8528}
8529
8530// Contains information about the network connection.
8531type NetworkConnectionAction struct {
8532	_ struct{} `type:"structure"`
8533
8534	// Network connection blocked information.
8535	Blocked *bool `locationName:"blocked" type:"boolean"`
8536
8537	// Network connection direction.
8538	ConnectionDirection *string `locationName:"connectionDirection" type:"string"`
8539
8540	// Local port information of the connection.
8541	LocalPortDetails *LocalPortDetails `locationName:"localPortDetails" type:"structure"`
8542
8543	// Network connection protocol.
8544	Protocol *string `locationName:"protocol" type:"string"`
8545
8546	// Remote IP information of the connection.
8547	RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"`
8548
8549	// Remote port information of the connection.
8550	RemotePortDetails *RemotePortDetails `locationName:"remotePortDetails" type:"structure"`
8551}
8552
8553// String returns the string representation
8554func (s NetworkConnectionAction) String() string {
8555	return awsutil.Prettify(s)
8556}
8557
8558// GoString returns the string representation
8559func (s NetworkConnectionAction) GoString() string {
8560	return s.String()
8561}
8562
8563// SetBlocked sets the Blocked field's value.
8564func (s *NetworkConnectionAction) SetBlocked(v bool) *NetworkConnectionAction {
8565	s.Blocked = &v
8566	return s
8567}
8568
8569// SetConnectionDirection sets the ConnectionDirection field's value.
8570func (s *NetworkConnectionAction) SetConnectionDirection(v string) *NetworkConnectionAction {
8571	s.ConnectionDirection = &v
8572	return s
8573}
8574
8575// SetLocalPortDetails sets the LocalPortDetails field's value.
8576func (s *NetworkConnectionAction) SetLocalPortDetails(v *LocalPortDetails) *NetworkConnectionAction {
8577	s.LocalPortDetails = v
8578	return s
8579}
8580
8581// SetProtocol sets the Protocol field's value.
8582func (s *NetworkConnectionAction) SetProtocol(v string) *NetworkConnectionAction {
8583	s.Protocol = &v
8584	return s
8585}
8586
8587// SetRemoteIpDetails sets the RemoteIpDetails field's value.
8588func (s *NetworkConnectionAction) SetRemoteIpDetails(v *RemoteIpDetails) *NetworkConnectionAction {
8589	s.RemoteIpDetails = v
8590	return s
8591}
8592
8593// SetRemotePortDetails sets the RemotePortDetails field's value.
8594func (s *NetworkConnectionAction) SetRemotePortDetails(v *RemotePortDetails) *NetworkConnectionAction {
8595	s.RemotePortDetails = v
8596	return s
8597}
8598
8599// Contains information about the network interface.
8600type NetworkInterface struct {
8601	_ struct{} `type:"structure"`
8602
8603	// A list of EC2 instance IPv6 address information.
8604	Ipv6Addresses []*string `locationName:"ipv6Addresses" type:"list"`
8605
8606	// The ID of the network interface
8607	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
8608
8609	// Private DNS name of the EC2 instance.
8610	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
8611
8612	// Private IP address of the EC2 instance.
8613	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
8614
8615	// Other private IP address information of the EC2 instance.
8616	PrivateIpAddresses []*PrivateIpAddressDetails `locationName:"privateIpAddresses" type:"list"`
8617
8618	// Public DNS name of the EC2 instance.
8619	PublicDnsName *string `locationName:"publicDnsName" type:"string"`
8620
8621	// Public IP address of the EC2 instance.
8622	PublicIp *string `locationName:"publicIp" type:"string"`
8623
8624	// Security groups associated with the EC2 instance.
8625	SecurityGroups []*SecurityGroup `locationName:"securityGroups" type:"list"`
8626
8627	// The subnet ID of the EC2 instance.
8628	SubnetId *string `locationName:"subnetId" type:"string"`
8629
8630	// The VPC ID of the EC2 instance.
8631	VpcId *string `locationName:"vpcId" type:"string"`
8632}
8633
8634// String returns the string representation
8635func (s NetworkInterface) String() string {
8636	return awsutil.Prettify(s)
8637}
8638
8639// GoString returns the string representation
8640func (s NetworkInterface) GoString() string {
8641	return s.String()
8642}
8643
8644// SetIpv6Addresses sets the Ipv6Addresses field's value.
8645func (s *NetworkInterface) SetIpv6Addresses(v []*string) *NetworkInterface {
8646	s.Ipv6Addresses = v
8647	return s
8648}
8649
8650// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
8651func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
8652	s.NetworkInterfaceId = &v
8653	return s
8654}
8655
8656// SetPrivateDnsName sets the PrivateDnsName field's value.
8657func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
8658	s.PrivateDnsName = &v
8659	return s
8660}
8661
8662// SetPrivateIpAddress sets the PrivateIpAddress field's value.
8663func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
8664	s.PrivateIpAddress = &v
8665	return s
8666}
8667
8668// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
8669func (s *NetworkInterface) SetPrivateIpAddresses(v []*PrivateIpAddressDetails) *NetworkInterface {
8670	s.PrivateIpAddresses = v
8671	return s
8672}
8673
8674// SetPublicDnsName sets the PublicDnsName field's value.
8675func (s *NetworkInterface) SetPublicDnsName(v string) *NetworkInterface {
8676	s.PublicDnsName = &v
8677	return s
8678}
8679
8680// SetPublicIp sets the PublicIp field's value.
8681func (s *NetworkInterface) SetPublicIp(v string) *NetworkInterface {
8682	s.PublicIp = &v
8683	return s
8684}
8685
8686// SetSecurityGroups sets the SecurityGroups field's value.
8687func (s *NetworkInterface) SetSecurityGroups(v []*SecurityGroup) *NetworkInterface {
8688	s.SecurityGroups = v
8689	return s
8690}
8691
8692// SetSubnetId sets the SubnetId field's value.
8693func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
8694	s.SubnetId = &v
8695	return s
8696}
8697
8698// SetVpcId sets the VpcId field's value.
8699func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
8700	s.VpcId = &v
8701	return s
8702}
8703
8704// Continas information about the organization.
8705type Organization struct {
8706	_ struct{} `type:"structure"`
8707
8708	// Autonomous system number of the internet provider of the remote IP address.
8709	Asn *string `locationName:"asn" type:"string"`
8710
8711	// Organization that registered this ASN.
8712	AsnOrg *string `locationName:"asnOrg" type:"string"`
8713
8714	// ISP information for the internet provider.
8715	Isp *string `locationName:"isp" type:"string"`
8716
8717	// Name of the internet provider.
8718	Org *string `locationName:"org" type:"string"`
8719}
8720
8721// String returns the string representation
8722func (s Organization) String() string {
8723	return awsutil.Prettify(s)
8724}
8725
8726// GoString returns the string representation
8727func (s Organization) GoString() string {
8728	return s.String()
8729}
8730
8731// SetAsn sets the Asn field's value.
8732func (s *Organization) SetAsn(v string) *Organization {
8733	s.Asn = &v
8734	return s
8735}
8736
8737// SetAsnOrg sets the AsnOrg field's value.
8738func (s *Organization) SetAsnOrg(v string) *Organization {
8739	s.AsnOrg = &v
8740	return s
8741}
8742
8743// SetIsp sets the Isp field's value.
8744func (s *Organization) SetIsp(v string) *Organization {
8745	s.Isp = &v
8746	return s
8747}
8748
8749// SetOrg sets the Org field's value.
8750func (s *Organization) SetOrg(v string) *Organization {
8751	s.Org = &v
8752	return s
8753}
8754
8755// Contains information about the port probe.
8756type PortProbeAction struct {
8757	_ struct{} `type:"structure"`
8758
8759	// Port probe blocked information.
8760	Blocked *bool `locationName:"blocked" type:"boolean"`
8761
8762	// A list of port probe details objects.
8763	PortProbeDetails []*PortProbeDetail `locationName:"portProbeDetails" type:"list"`
8764}
8765
8766// String returns the string representation
8767func (s PortProbeAction) String() string {
8768	return awsutil.Prettify(s)
8769}
8770
8771// GoString returns the string representation
8772func (s PortProbeAction) GoString() string {
8773	return s.String()
8774}
8775
8776// SetBlocked sets the Blocked field's value.
8777func (s *PortProbeAction) SetBlocked(v bool) *PortProbeAction {
8778	s.Blocked = &v
8779	return s
8780}
8781
8782// SetPortProbeDetails sets the PortProbeDetails field's value.
8783func (s *PortProbeAction) SetPortProbeDetails(v []*PortProbeDetail) *PortProbeAction {
8784	s.PortProbeDetails = v
8785	return s
8786}
8787
8788// Contains information about the port probe details.
8789type PortProbeDetail struct {
8790	_ struct{} `type:"structure"`
8791
8792	// Local port information of the connection.
8793	LocalPortDetails *LocalPortDetails `locationName:"localPortDetails" type:"structure"`
8794
8795	// Remote IP information of the connection.
8796	RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"`
8797}
8798
8799// String returns the string representation
8800func (s PortProbeDetail) String() string {
8801	return awsutil.Prettify(s)
8802}
8803
8804// GoString returns the string representation
8805func (s PortProbeDetail) GoString() string {
8806	return s.String()
8807}
8808
8809// SetLocalPortDetails sets the LocalPortDetails field's value.
8810func (s *PortProbeDetail) SetLocalPortDetails(v *LocalPortDetails) *PortProbeDetail {
8811	s.LocalPortDetails = v
8812	return s
8813}
8814
8815// SetRemoteIpDetails sets the RemoteIpDetails field's value.
8816func (s *PortProbeDetail) SetRemoteIpDetails(v *RemoteIpDetails) *PortProbeDetail {
8817	s.RemoteIpDetails = v
8818	return s
8819}
8820
8821// Contains information about the private IP address.
8822type PrivateIpAddressDetails struct {
8823	_ struct{} `type:"structure"`
8824
8825	// Private DNS name of the EC2 instance.
8826	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
8827
8828	// Private IP address of the EC2 instance.
8829	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
8830}
8831
8832// String returns the string representation
8833func (s PrivateIpAddressDetails) String() string {
8834	return awsutil.Prettify(s)
8835}
8836
8837// GoString returns the string representation
8838func (s PrivateIpAddressDetails) GoString() string {
8839	return s.String()
8840}
8841
8842// SetPrivateDnsName sets the PrivateDnsName field's value.
8843func (s *PrivateIpAddressDetails) SetPrivateDnsName(v string) *PrivateIpAddressDetails {
8844	s.PrivateDnsName = &v
8845	return s
8846}
8847
8848// SetPrivateIpAddress sets the PrivateIpAddress field's value.
8849func (s *PrivateIpAddressDetails) SetPrivateIpAddress(v string) *PrivateIpAddressDetails {
8850	s.PrivateIpAddress = &v
8851	return s
8852}
8853
8854// Contains information about the product code.
8855type ProductCode struct {
8856	_ struct{} `type:"structure"`
8857
8858	// Product code information.
8859	Code *string `locationName:"code" type:"string"`
8860
8861	// Product code type.
8862	ProductType *string `locationName:"productType" type:"string"`
8863}
8864
8865// String returns the string representation
8866func (s ProductCode) String() string {
8867	return awsutil.Prettify(s)
8868}
8869
8870// GoString returns the string representation
8871func (s ProductCode) GoString() string {
8872	return s.String()
8873}
8874
8875// SetCode sets the Code field's value.
8876func (s *ProductCode) SetCode(v string) *ProductCode {
8877	s.Code = &v
8878	return s
8879}
8880
8881// SetProductType sets the ProductType field's value.
8882func (s *ProductCode) SetProductType(v string) *ProductCode {
8883	s.ProductType = &v
8884	return s
8885}
8886
8887// Continas information about the remote IP address.
8888type RemoteIpDetails struct {
8889	_ struct{} `type:"structure"`
8890
8891	// City information of the remote IP address.
8892	City *City `locationName:"city" type:"structure"`
8893
8894	// Country code of the remote IP address.
8895	Country *Country `locationName:"country" type:"structure"`
8896
8897	// Location information of the remote IP address.
8898	GeoLocation *GeoLocation `locationName:"geoLocation" type:"structure"`
8899
8900	// IPV4 remote address of the connection.
8901	IpAddressV4 *string `locationName:"ipAddressV4" type:"string"`
8902
8903	// ISP Organization information of the remote IP address.
8904	Organization *Organization `locationName:"organization" type:"structure"`
8905}
8906
8907// String returns the string representation
8908func (s RemoteIpDetails) String() string {
8909	return awsutil.Prettify(s)
8910}
8911
8912// GoString returns the string representation
8913func (s RemoteIpDetails) GoString() string {
8914	return s.String()
8915}
8916
8917// SetCity sets the City field's value.
8918func (s *RemoteIpDetails) SetCity(v *City) *RemoteIpDetails {
8919	s.City = v
8920	return s
8921}
8922
8923// SetCountry sets the Country field's value.
8924func (s *RemoteIpDetails) SetCountry(v *Country) *RemoteIpDetails {
8925	s.Country = v
8926	return s
8927}
8928
8929// SetGeoLocation sets the GeoLocation field's value.
8930func (s *RemoteIpDetails) SetGeoLocation(v *GeoLocation) *RemoteIpDetails {
8931	s.GeoLocation = v
8932	return s
8933}
8934
8935// SetIpAddressV4 sets the IpAddressV4 field's value.
8936func (s *RemoteIpDetails) SetIpAddressV4(v string) *RemoteIpDetails {
8937	s.IpAddressV4 = &v
8938	return s
8939}
8940
8941// SetOrganization sets the Organization field's value.
8942func (s *RemoteIpDetails) SetOrganization(v *Organization) *RemoteIpDetails {
8943	s.Organization = v
8944	return s
8945}
8946
8947// Contains information about the remote port.
8948type RemotePortDetails struct {
8949	_ struct{} `type:"structure"`
8950
8951	// Port number of the remote connection.
8952	Port *int64 `locationName:"port" type:"integer"`
8953
8954	// Port name of the remote connection.
8955	PortName *string `locationName:"portName" type:"string"`
8956}
8957
8958// String returns the string representation
8959func (s RemotePortDetails) String() string {
8960	return awsutil.Prettify(s)
8961}
8962
8963// GoString returns the string representation
8964func (s RemotePortDetails) GoString() string {
8965	return s.String()
8966}
8967
8968// SetPort sets the Port field's value.
8969func (s *RemotePortDetails) SetPort(v int64) *RemotePortDetails {
8970	s.Port = &v
8971	return s
8972}
8973
8974// SetPortName sets the PortName field's value.
8975func (s *RemotePortDetails) SetPortName(v string) *RemotePortDetails {
8976	s.PortName = &v
8977	return s
8978}
8979
8980// Contains information about the resource.
8981type Resource struct {
8982	_ struct{} `type:"structure"`
8983
8984	// The IAM access key details (IAM user information) of a user that engaged
8985	// in the activity that prompted GuardDuty to generate a finding.
8986	AccessKeyDetails *AccessKeyDetails `locationName:"accessKeyDetails" type:"structure"`
8987
8988	// The information about the EC2 instance associated with the activity that
8989	// prompted GuardDuty to generate a finding.
8990	InstanceDetails *InstanceDetails `locationName:"instanceDetails" type:"structure"`
8991
8992	// The type of the AWS resource.
8993	ResourceType *string `locationName:"resourceType" type:"string"`
8994}
8995
8996// String returns the string representation
8997func (s Resource) String() string {
8998	return awsutil.Prettify(s)
8999}
9000
9001// GoString returns the string representation
9002func (s Resource) GoString() string {
9003	return s.String()
9004}
9005
9006// SetAccessKeyDetails sets the AccessKeyDetails field's value.
9007func (s *Resource) SetAccessKeyDetails(v *AccessKeyDetails) *Resource {
9008	s.AccessKeyDetails = v
9009	return s
9010}
9011
9012// SetInstanceDetails sets the InstanceDetails field's value.
9013func (s *Resource) SetInstanceDetails(v *InstanceDetails) *Resource {
9014	s.InstanceDetails = v
9015	return s
9016}
9017
9018// SetResourceType sets the ResourceType field's value.
9019func (s *Resource) SetResourceType(v string) *Resource {
9020	s.ResourceType = &v
9021	return s
9022}
9023
9024// Contains information about the security group.
9025type SecurityGroup struct {
9026	_ struct{} `type:"structure"`
9027
9028	// EC2 instance's security group ID.
9029	GroupId *string `locationName:"groupId" type:"string"`
9030
9031	// EC2 instance's security group name.
9032	GroupName *string `locationName:"groupName" type:"string"`
9033}
9034
9035// String returns the string representation
9036func (s SecurityGroup) String() string {
9037	return awsutil.Prettify(s)
9038}
9039
9040// GoString returns the string representation
9041func (s SecurityGroup) GoString() string {
9042	return s.String()
9043}
9044
9045// SetGroupId sets the GroupId field's value.
9046func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
9047	s.GroupId = &v
9048	return s
9049}
9050
9051// SetGroupName sets the GroupName field's value.
9052func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
9053	s.GroupName = &v
9054	return s
9055}
9056
9057// Contains information about the service.
9058type Service struct {
9059	_ struct{} `type:"structure"`
9060
9061	// Information about the activity described in a finding.
9062	Action *Action `locationName:"action" type:"structure"`
9063
9064	// Indicates whether this finding is archived.
9065	Archived *bool `locationName:"archived" type:"boolean"`
9066
9067	// Total count of the occurrences of this finding type.
9068	Count *int64 `locationName:"count" type:"integer"`
9069
9070	// Detector ID for the GuardDuty service.
9071	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
9072
9073	// First seen timestamp of the activity that prompted GuardDuty to generate
9074	// this finding.
9075	EventFirstSeen *string `locationName:"eventFirstSeen" type:"string"`
9076
9077	// Last seen timestamp of the activity that prompted GuardDuty to generate this
9078	// finding.
9079	EventLastSeen *string `locationName:"eventLastSeen" type:"string"`
9080
9081	// An evidence object associated with the service.
9082	Evidence *Evidence `locationName:"evidence" type:"structure"`
9083
9084	// Resource role information for this finding.
9085	ResourceRole *string `locationName:"resourceRole" type:"string"`
9086
9087	// The name of the AWS service (GuardDuty) that generated a finding.
9088	ServiceName *string `locationName:"serviceName" type:"string"`
9089
9090	// Feedback left about the finding.
9091	UserFeedback *string `locationName:"userFeedback" type:"string"`
9092}
9093
9094// String returns the string representation
9095func (s Service) String() string {
9096	return awsutil.Prettify(s)
9097}
9098
9099// GoString returns the string representation
9100func (s Service) GoString() string {
9101	return s.String()
9102}
9103
9104// SetAction sets the Action field's value.
9105func (s *Service) SetAction(v *Action) *Service {
9106	s.Action = v
9107	return s
9108}
9109
9110// SetArchived sets the Archived field's value.
9111func (s *Service) SetArchived(v bool) *Service {
9112	s.Archived = &v
9113	return s
9114}
9115
9116// SetCount sets the Count field's value.
9117func (s *Service) SetCount(v int64) *Service {
9118	s.Count = &v
9119	return s
9120}
9121
9122// SetDetectorId sets the DetectorId field's value.
9123func (s *Service) SetDetectorId(v string) *Service {
9124	s.DetectorId = &v
9125	return s
9126}
9127
9128// SetEventFirstSeen sets the EventFirstSeen field's value.
9129func (s *Service) SetEventFirstSeen(v string) *Service {
9130	s.EventFirstSeen = &v
9131	return s
9132}
9133
9134// SetEventLastSeen sets the EventLastSeen field's value.
9135func (s *Service) SetEventLastSeen(v string) *Service {
9136	s.EventLastSeen = &v
9137	return s
9138}
9139
9140// SetEvidence sets the Evidence field's value.
9141func (s *Service) SetEvidence(v *Evidence) *Service {
9142	s.Evidence = v
9143	return s
9144}
9145
9146// SetResourceRole sets the ResourceRole field's value.
9147func (s *Service) SetResourceRole(v string) *Service {
9148	s.ResourceRole = &v
9149	return s
9150}
9151
9152// SetServiceName sets the ServiceName field's value.
9153func (s *Service) SetServiceName(v string) *Service {
9154	s.ServiceName = &v
9155	return s
9156}
9157
9158// SetUserFeedback sets the UserFeedback field's value.
9159func (s *Service) SetUserFeedback(v string) *Service {
9160	s.UserFeedback = &v
9161	return s
9162}
9163
9164// Contains information about the criteria for sorting.
9165type SortCriteria struct {
9166	_ struct{} `type:"structure"`
9167
9168	// Represents the finding attribute (for example, accountId) by which to sort
9169	// findings.
9170	AttributeName *string `locationName:"attributeName" type:"string"`
9171
9172	// Order by which the sorted findings are to be displayed.
9173	OrderBy *string `locationName:"orderBy" type:"string" enum:"OrderBy"`
9174}
9175
9176// String returns the string representation
9177func (s SortCriteria) String() string {
9178	return awsutil.Prettify(s)
9179}
9180
9181// GoString returns the string representation
9182func (s SortCriteria) GoString() string {
9183	return s.String()
9184}
9185
9186// SetAttributeName sets the AttributeName field's value.
9187func (s *SortCriteria) SetAttributeName(v string) *SortCriteria {
9188	s.AttributeName = &v
9189	return s
9190}
9191
9192// SetOrderBy sets the OrderBy field's value.
9193func (s *SortCriteria) SetOrderBy(v string) *SortCriteria {
9194	s.OrderBy = &v
9195	return s
9196}
9197
9198type StartMonitoringMembersInput struct {
9199	_ struct{} `type:"structure"`
9200
9201	// A list of account IDs of the GuardDuty member accounts whose findings you
9202	// want the master account to monitor.
9203	//
9204	// AccountIds is a required field
9205	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
9206
9207	// The unique ID of the detector of the GuardDuty account whom you want to re-enable
9208	// to monitor members' findings.
9209	//
9210	// DetectorId is a required field
9211	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9212}
9213
9214// String returns the string representation
9215func (s StartMonitoringMembersInput) String() string {
9216	return awsutil.Prettify(s)
9217}
9218
9219// GoString returns the string representation
9220func (s StartMonitoringMembersInput) GoString() string {
9221	return s.String()
9222}
9223
9224// Validate inspects the fields of the type to determine if they are valid.
9225func (s *StartMonitoringMembersInput) Validate() error {
9226	invalidParams := request.ErrInvalidParams{Context: "StartMonitoringMembersInput"}
9227	if s.AccountIds == nil {
9228		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
9229	}
9230	if s.AccountIds != nil && len(s.AccountIds) < 1 {
9231		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
9232	}
9233	if s.DetectorId == nil {
9234		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9235	}
9236	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9237		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9238	}
9239
9240	if invalidParams.Len() > 0 {
9241		return invalidParams
9242	}
9243	return nil
9244}
9245
9246// SetAccountIds sets the AccountIds field's value.
9247func (s *StartMonitoringMembersInput) SetAccountIds(v []*string) *StartMonitoringMembersInput {
9248	s.AccountIds = v
9249	return s
9250}
9251
9252// SetDetectorId sets the DetectorId field's value.
9253func (s *StartMonitoringMembersInput) SetDetectorId(v string) *StartMonitoringMembersInput {
9254	s.DetectorId = &v
9255	return s
9256}
9257
9258type StartMonitoringMembersOutput struct {
9259	_ struct{} `type:"structure"`
9260
9261	// A list of objects containing the unprocessed account and a result string
9262	// explaining why it was unprocessed.
9263	//
9264	// UnprocessedAccounts is a required field
9265	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
9266}
9267
9268// String returns the string representation
9269func (s StartMonitoringMembersOutput) String() string {
9270	return awsutil.Prettify(s)
9271}
9272
9273// GoString returns the string representation
9274func (s StartMonitoringMembersOutput) GoString() string {
9275	return s.String()
9276}
9277
9278// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
9279func (s *StartMonitoringMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *StartMonitoringMembersOutput {
9280	s.UnprocessedAccounts = v
9281	return s
9282}
9283
9284type StopMonitoringMembersInput struct {
9285	_ struct{} `type:"structure"`
9286
9287	// A list of account IDs of the GuardDuty member accounts whose findings you
9288	// want the master account to stop monitoring.
9289	//
9290	// AccountIds is a required field
9291	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
9292
9293	// The unique ID of the detector of the GuardDuty account that you want to stop
9294	// from monitor members' findings.
9295	//
9296	// DetectorId is a required field
9297	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9298}
9299
9300// String returns the string representation
9301func (s StopMonitoringMembersInput) String() string {
9302	return awsutil.Prettify(s)
9303}
9304
9305// GoString returns the string representation
9306func (s StopMonitoringMembersInput) GoString() string {
9307	return s.String()
9308}
9309
9310// Validate inspects the fields of the type to determine if they are valid.
9311func (s *StopMonitoringMembersInput) Validate() error {
9312	invalidParams := request.ErrInvalidParams{Context: "StopMonitoringMembersInput"}
9313	if s.AccountIds == nil {
9314		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
9315	}
9316	if s.AccountIds != nil && len(s.AccountIds) < 1 {
9317		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
9318	}
9319	if s.DetectorId == nil {
9320		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9321	}
9322	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9323		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9324	}
9325
9326	if invalidParams.Len() > 0 {
9327		return invalidParams
9328	}
9329	return nil
9330}
9331
9332// SetAccountIds sets the AccountIds field's value.
9333func (s *StopMonitoringMembersInput) SetAccountIds(v []*string) *StopMonitoringMembersInput {
9334	s.AccountIds = v
9335	return s
9336}
9337
9338// SetDetectorId sets the DetectorId field's value.
9339func (s *StopMonitoringMembersInput) SetDetectorId(v string) *StopMonitoringMembersInput {
9340	s.DetectorId = &v
9341	return s
9342}
9343
9344type StopMonitoringMembersOutput struct {
9345	_ struct{} `type:"structure"`
9346
9347	// A list of objects containing the unprocessed account and a result string
9348	// explaining why it was unprocessed.
9349	//
9350	// UnprocessedAccounts is a required field
9351	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
9352}
9353
9354// String returns the string representation
9355func (s StopMonitoringMembersOutput) String() string {
9356	return awsutil.Prettify(s)
9357}
9358
9359// GoString returns the string representation
9360func (s StopMonitoringMembersOutput) GoString() string {
9361	return s.String()
9362}
9363
9364// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
9365func (s *StopMonitoringMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *StopMonitoringMembersOutput {
9366	s.UnprocessedAccounts = v
9367	return s
9368}
9369
9370// Contains information about the tag associated with the resource.
9371type Tag struct {
9372	_ struct{} `type:"structure"`
9373
9374	// EC2 instance tag key.
9375	Key *string `locationName:"key" type:"string"`
9376
9377	// EC2 instance tag value.
9378	Value *string `locationName:"value" type:"string"`
9379}
9380
9381// String returns the string representation
9382func (s Tag) String() string {
9383	return awsutil.Prettify(s)
9384}
9385
9386// GoString returns the string representation
9387func (s Tag) GoString() string {
9388	return s.String()
9389}
9390
9391// SetKey sets the Key field's value.
9392func (s *Tag) SetKey(v string) *Tag {
9393	s.Key = &v
9394	return s
9395}
9396
9397// SetValue sets the Value field's value.
9398func (s *Tag) SetValue(v string) *Tag {
9399	s.Value = &v
9400	return s
9401}
9402
9403type TagResourceInput struct {
9404	_ struct{} `type:"structure"`
9405
9406	// The Amazon Resource Name (ARN) for the given GuardDuty resource
9407	//
9408	// ResourceArn is a required field
9409	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
9410
9411	// The tags to be added to a resource.
9412	//
9413	// Tags is a required field
9414	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
9415}
9416
9417// String returns the string representation
9418func (s TagResourceInput) String() string {
9419	return awsutil.Prettify(s)
9420}
9421
9422// GoString returns the string representation
9423func (s TagResourceInput) GoString() string {
9424	return s.String()
9425}
9426
9427// Validate inspects the fields of the type to determine if they are valid.
9428func (s *TagResourceInput) Validate() error {
9429	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
9430	if s.ResourceArn == nil {
9431		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9432	}
9433	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
9434		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
9435	}
9436	if s.Tags == nil {
9437		invalidParams.Add(request.NewErrParamRequired("Tags"))
9438	}
9439	if s.Tags != nil && len(s.Tags) < 1 {
9440		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
9441	}
9442
9443	if invalidParams.Len() > 0 {
9444		return invalidParams
9445	}
9446	return nil
9447}
9448
9449// SetResourceArn sets the ResourceArn field's value.
9450func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
9451	s.ResourceArn = &v
9452	return s
9453}
9454
9455// SetTags sets the Tags field's value.
9456func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
9457	s.Tags = v
9458	return s
9459}
9460
9461type TagResourceOutput struct {
9462	_ struct{} `type:"structure"`
9463}
9464
9465// String returns the string representation
9466func (s TagResourceOutput) String() string {
9467	return awsutil.Prettify(s)
9468}
9469
9470// GoString returns the string representation
9471func (s TagResourceOutput) GoString() string {
9472	return s.String()
9473}
9474
9475// An instance of a threat intelligence detail that constitutes evidence for
9476// the finding.
9477type ThreatIntelligenceDetail struct {
9478	_ struct{} `type:"structure"`
9479
9480	// The name of the threat intelligence list that triggered the finding.
9481	ThreatListName *string `locationName:"threatListName" type:"string"`
9482
9483	// A list of names of the threats in the threat intelligence list that triggered
9484	// the finding.
9485	ThreatNames []*string `locationName:"threatNames" type:"list"`
9486}
9487
9488// String returns the string representation
9489func (s ThreatIntelligenceDetail) String() string {
9490	return awsutil.Prettify(s)
9491}
9492
9493// GoString returns the string representation
9494func (s ThreatIntelligenceDetail) GoString() string {
9495	return s.String()
9496}
9497
9498// SetThreatListName sets the ThreatListName field's value.
9499func (s *ThreatIntelligenceDetail) SetThreatListName(v string) *ThreatIntelligenceDetail {
9500	s.ThreatListName = &v
9501	return s
9502}
9503
9504// SetThreatNames sets the ThreatNames field's value.
9505func (s *ThreatIntelligenceDetail) SetThreatNames(v []*string) *ThreatIntelligenceDetail {
9506	s.ThreatNames = v
9507	return s
9508}
9509
9510type UnarchiveFindingsInput struct {
9511	_ struct{} `type:"structure"`
9512
9513	// The ID of the detector that specifies the GuardDuty service whose findings
9514	// you want to unarchive.
9515	//
9516	// DetectorId is a required field
9517	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9518
9519	// IDs of the findings that you want to unarchive.
9520	//
9521	// FindingIds is a required field
9522	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
9523}
9524
9525// String returns the string representation
9526func (s UnarchiveFindingsInput) String() string {
9527	return awsutil.Prettify(s)
9528}
9529
9530// GoString returns the string representation
9531func (s UnarchiveFindingsInput) GoString() string {
9532	return s.String()
9533}
9534
9535// Validate inspects the fields of the type to determine if they are valid.
9536func (s *UnarchiveFindingsInput) Validate() error {
9537	invalidParams := request.ErrInvalidParams{Context: "UnarchiveFindingsInput"}
9538	if s.DetectorId == nil {
9539		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9540	}
9541	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9542		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9543	}
9544	if s.FindingIds == nil {
9545		invalidParams.Add(request.NewErrParamRequired("FindingIds"))
9546	}
9547
9548	if invalidParams.Len() > 0 {
9549		return invalidParams
9550	}
9551	return nil
9552}
9553
9554// SetDetectorId sets the DetectorId field's value.
9555func (s *UnarchiveFindingsInput) SetDetectorId(v string) *UnarchiveFindingsInput {
9556	s.DetectorId = &v
9557	return s
9558}
9559
9560// SetFindingIds sets the FindingIds field's value.
9561func (s *UnarchiveFindingsInput) SetFindingIds(v []*string) *UnarchiveFindingsInput {
9562	s.FindingIds = v
9563	return s
9564}
9565
9566type UnarchiveFindingsOutput struct {
9567	_ struct{} `type:"structure"`
9568}
9569
9570// String returns the string representation
9571func (s UnarchiveFindingsOutput) String() string {
9572	return awsutil.Prettify(s)
9573}
9574
9575// GoString returns the string representation
9576func (s UnarchiveFindingsOutput) GoString() string {
9577	return s.String()
9578}
9579
9580// Contains information about the accounts that were not processed.
9581type UnprocessedAccount struct {
9582	_ struct{} `type:"structure"`
9583
9584	// AWS Account ID.
9585	//
9586	// AccountId is a required field
9587	AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"`
9588
9589	// A reason why the account hasn't been processed.
9590	//
9591	// Result is a required field
9592	Result *string `locationName:"result" type:"string" required:"true"`
9593}
9594
9595// String returns the string representation
9596func (s UnprocessedAccount) String() string {
9597	return awsutil.Prettify(s)
9598}
9599
9600// GoString returns the string representation
9601func (s UnprocessedAccount) GoString() string {
9602	return s.String()
9603}
9604
9605// SetAccountId sets the AccountId field's value.
9606func (s *UnprocessedAccount) SetAccountId(v string) *UnprocessedAccount {
9607	s.AccountId = &v
9608	return s
9609}
9610
9611// SetResult sets the Result field's value.
9612func (s *UnprocessedAccount) SetResult(v string) *UnprocessedAccount {
9613	s.Result = &v
9614	return s
9615}
9616
9617type UntagResourceInput struct {
9618	_ struct{} `type:"structure"`
9619
9620	// The Amazon Resource Name (ARN) for the given GuardDuty resource
9621	//
9622	// ResourceArn is a required field
9623	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
9624
9625	// The tag keys to remove from a resource.
9626	//
9627	// TagKeys is a required field
9628	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
9629}
9630
9631// String returns the string representation
9632func (s UntagResourceInput) String() string {
9633	return awsutil.Prettify(s)
9634}
9635
9636// GoString returns the string representation
9637func (s UntagResourceInput) GoString() string {
9638	return s.String()
9639}
9640
9641// Validate inspects the fields of the type to determine if they are valid.
9642func (s *UntagResourceInput) Validate() error {
9643	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
9644	if s.ResourceArn == nil {
9645		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
9646	}
9647	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
9648		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
9649	}
9650	if s.TagKeys == nil {
9651		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
9652	}
9653	if s.TagKeys != nil && len(s.TagKeys) < 1 {
9654		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
9655	}
9656
9657	if invalidParams.Len() > 0 {
9658		return invalidParams
9659	}
9660	return nil
9661}
9662
9663// SetResourceArn sets the ResourceArn field's value.
9664func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
9665	s.ResourceArn = &v
9666	return s
9667}
9668
9669// SetTagKeys sets the TagKeys field's value.
9670func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
9671	s.TagKeys = v
9672	return s
9673}
9674
9675type UntagResourceOutput struct {
9676	_ struct{} `type:"structure"`
9677}
9678
9679// String returns the string representation
9680func (s UntagResourceOutput) String() string {
9681	return awsutil.Prettify(s)
9682}
9683
9684// GoString returns the string representation
9685func (s UntagResourceOutput) GoString() string {
9686	return s.String()
9687}
9688
9689type UpdateDetectorInput struct {
9690	_ struct{} `type:"structure"`
9691
9692	// The unique ID of the detector that you want to update.
9693	//
9694	// DetectorId is a required field
9695	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9696
9697	// Updated boolean value for the detector that specifies whether the detector
9698	// is enabled.
9699	Enable *bool `locationName:"enable" type:"boolean"`
9700
9701	// A enum value that specifies how frequently customer got Finding updates published.
9702	FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"`
9703}
9704
9705// String returns the string representation
9706func (s UpdateDetectorInput) String() string {
9707	return awsutil.Prettify(s)
9708}
9709
9710// GoString returns the string representation
9711func (s UpdateDetectorInput) GoString() string {
9712	return s.String()
9713}
9714
9715// Validate inspects the fields of the type to determine if they are valid.
9716func (s *UpdateDetectorInput) Validate() error {
9717	invalidParams := request.ErrInvalidParams{Context: "UpdateDetectorInput"}
9718	if s.DetectorId == nil {
9719		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9720	}
9721	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9722		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9723	}
9724
9725	if invalidParams.Len() > 0 {
9726		return invalidParams
9727	}
9728	return nil
9729}
9730
9731// SetDetectorId sets the DetectorId field's value.
9732func (s *UpdateDetectorInput) SetDetectorId(v string) *UpdateDetectorInput {
9733	s.DetectorId = &v
9734	return s
9735}
9736
9737// SetEnable sets the Enable field's value.
9738func (s *UpdateDetectorInput) SetEnable(v bool) *UpdateDetectorInput {
9739	s.Enable = &v
9740	return s
9741}
9742
9743// SetFindingPublishingFrequency sets the FindingPublishingFrequency field's value.
9744func (s *UpdateDetectorInput) SetFindingPublishingFrequency(v string) *UpdateDetectorInput {
9745	s.FindingPublishingFrequency = &v
9746	return s
9747}
9748
9749type UpdateDetectorOutput struct {
9750	_ struct{} `type:"structure"`
9751}
9752
9753// String returns the string representation
9754func (s UpdateDetectorOutput) String() string {
9755	return awsutil.Prettify(s)
9756}
9757
9758// GoString returns the string representation
9759func (s UpdateDetectorOutput) GoString() string {
9760	return s.String()
9761}
9762
9763type UpdateFilterInput struct {
9764	_ struct{} `type:"structure"`
9765
9766	// Specifies the action that is to be applied to the findings that match the
9767	// filter.
9768	Action *string `locationName:"action" min:"1" type:"string" enum:"FilterAction"`
9769
9770	// The description of the filter.
9771	Description *string `locationName:"description" type:"string"`
9772
9773	// The unique ID of the detector that specifies the GuardDuty service where
9774	// you want to update a filter.
9775	//
9776	// DetectorId is a required field
9777	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9778
9779	// The name of the filter.
9780	//
9781	// FilterName is a required field
9782	FilterName *string `location:"uri" locationName:"filterName" type:"string" required:"true"`
9783
9784	// Represents the criteria to be used in the filter for querying findings.
9785	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"`
9786
9787	// Specifies the position of the filter in the list of current filters. Also
9788	// specifies the order in which this filter is applied to the findings.
9789	Rank *int64 `locationName:"rank" min:"1" type:"integer"`
9790}
9791
9792// String returns the string representation
9793func (s UpdateFilterInput) String() string {
9794	return awsutil.Prettify(s)
9795}
9796
9797// GoString returns the string representation
9798func (s UpdateFilterInput) GoString() string {
9799	return s.String()
9800}
9801
9802// Validate inspects the fields of the type to determine if they are valid.
9803func (s *UpdateFilterInput) Validate() error {
9804	invalidParams := request.ErrInvalidParams{Context: "UpdateFilterInput"}
9805	if s.Action != nil && len(*s.Action) < 1 {
9806		invalidParams.Add(request.NewErrParamMinLen("Action", 1))
9807	}
9808	if s.DetectorId == nil {
9809		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9810	}
9811	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9812		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9813	}
9814	if s.FilterName == nil {
9815		invalidParams.Add(request.NewErrParamRequired("FilterName"))
9816	}
9817	if s.FilterName != nil && len(*s.FilterName) < 1 {
9818		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
9819	}
9820	if s.Rank != nil && *s.Rank < 1 {
9821		invalidParams.Add(request.NewErrParamMinValue("Rank", 1))
9822	}
9823
9824	if invalidParams.Len() > 0 {
9825		return invalidParams
9826	}
9827	return nil
9828}
9829
9830// SetAction sets the Action field's value.
9831func (s *UpdateFilterInput) SetAction(v string) *UpdateFilterInput {
9832	s.Action = &v
9833	return s
9834}
9835
9836// SetDescription sets the Description field's value.
9837func (s *UpdateFilterInput) SetDescription(v string) *UpdateFilterInput {
9838	s.Description = &v
9839	return s
9840}
9841
9842// SetDetectorId sets the DetectorId field's value.
9843func (s *UpdateFilterInput) SetDetectorId(v string) *UpdateFilterInput {
9844	s.DetectorId = &v
9845	return s
9846}
9847
9848// SetFilterName sets the FilterName field's value.
9849func (s *UpdateFilterInput) SetFilterName(v string) *UpdateFilterInput {
9850	s.FilterName = &v
9851	return s
9852}
9853
9854// SetFindingCriteria sets the FindingCriteria field's value.
9855func (s *UpdateFilterInput) SetFindingCriteria(v *FindingCriteria) *UpdateFilterInput {
9856	s.FindingCriteria = v
9857	return s
9858}
9859
9860// SetRank sets the Rank field's value.
9861func (s *UpdateFilterInput) SetRank(v int64) *UpdateFilterInput {
9862	s.Rank = &v
9863	return s
9864}
9865
9866type UpdateFilterOutput struct {
9867	_ struct{} `type:"structure"`
9868
9869	// The name of the filter.
9870	//
9871	// Name is a required field
9872	Name *string `locationName:"name" min:"3" type:"string" required:"true"`
9873}
9874
9875// String returns the string representation
9876func (s UpdateFilterOutput) String() string {
9877	return awsutil.Prettify(s)
9878}
9879
9880// GoString returns the string representation
9881func (s UpdateFilterOutput) GoString() string {
9882	return s.String()
9883}
9884
9885// SetName sets the Name field's value.
9886func (s *UpdateFilterOutput) SetName(v string) *UpdateFilterOutput {
9887	s.Name = &v
9888	return s
9889}
9890
9891type UpdateFindingsFeedbackInput struct {
9892	_ struct{} `type:"structure"`
9893
9894	// Additional feedback about the GuardDuty findings.
9895	Comments *string `locationName:"comments" type:"string"`
9896
9897	// The ID of the detector that specifies the GuardDuty service whose findings
9898	// you want to mark as useful or not useful.
9899	//
9900	// DetectorId is a required field
9901	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9902
9903	// Valid values: USEFUL | NOT_USEFUL
9904	//
9905	// Feedback is a required field
9906	Feedback *string `locationName:"feedback" type:"string" required:"true" enum:"Feedback"`
9907
9908	// IDs of the findings that you want to mark as useful or not useful.
9909	//
9910	// FindingIds is a required field
9911	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
9912}
9913
9914// String returns the string representation
9915func (s UpdateFindingsFeedbackInput) String() string {
9916	return awsutil.Prettify(s)
9917}
9918
9919// GoString returns the string representation
9920func (s UpdateFindingsFeedbackInput) GoString() string {
9921	return s.String()
9922}
9923
9924// Validate inspects the fields of the type to determine if they are valid.
9925func (s *UpdateFindingsFeedbackInput) Validate() error {
9926	invalidParams := request.ErrInvalidParams{Context: "UpdateFindingsFeedbackInput"}
9927	if s.DetectorId == nil {
9928		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9929	}
9930	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9931		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9932	}
9933	if s.Feedback == nil {
9934		invalidParams.Add(request.NewErrParamRequired("Feedback"))
9935	}
9936	if s.FindingIds == nil {
9937		invalidParams.Add(request.NewErrParamRequired("FindingIds"))
9938	}
9939
9940	if invalidParams.Len() > 0 {
9941		return invalidParams
9942	}
9943	return nil
9944}
9945
9946// SetComments sets the Comments field's value.
9947func (s *UpdateFindingsFeedbackInput) SetComments(v string) *UpdateFindingsFeedbackInput {
9948	s.Comments = &v
9949	return s
9950}
9951
9952// SetDetectorId sets the DetectorId field's value.
9953func (s *UpdateFindingsFeedbackInput) SetDetectorId(v string) *UpdateFindingsFeedbackInput {
9954	s.DetectorId = &v
9955	return s
9956}
9957
9958// SetFeedback sets the Feedback field's value.
9959func (s *UpdateFindingsFeedbackInput) SetFeedback(v string) *UpdateFindingsFeedbackInput {
9960	s.Feedback = &v
9961	return s
9962}
9963
9964// SetFindingIds sets the FindingIds field's value.
9965func (s *UpdateFindingsFeedbackInput) SetFindingIds(v []*string) *UpdateFindingsFeedbackInput {
9966	s.FindingIds = v
9967	return s
9968}
9969
9970type UpdateFindingsFeedbackOutput struct {
9971	_ struct{} `type:"structure"`
9972}
9973
9974// String returns the string representation
9975func (s UpdateFindingsFeedbackOutput) String() string {
9976	return awsutil.Prettify(s)
9977}
9978
9979// GoString returns the string representation
9980func (s UpdateFindingsFeedbackOutput) GoString() string {
9981	return s.String()
9982}
9983
9984type UpdateIPSetInput struct {
9985	_ struct{} `type:"structure"`
9986
9987	// The updated boolean value that specifies whether the IPSet is active or not.
9988	Activate *bool `locationName:"activate" type:"boolean"`
9989
9990	// The detectorID that specifies the GuardDuty service whose IPSet you want
9991	// to update.
9992	//
9993	// DetectorId is a required field
9994	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9995
9996	// The unique ID that specifies the IPSet that you want to update.
9997	//
9998	// IpSetId is a required field
9999	IpSetId *string `location:"uri" locationName:"ipSetId" type:"string" required:"true"`
10000
10001	// The updated URI of the file that contains the IPSet. For example (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key).
10002	Location *string `locationName:"location" min:"1" type:"string"`
10003
10004	// The unique ID that specifies the IPSet that you want to update.
10005	Name *string `locationName:"name" min:"1" type:"string"`
10006}
10007
10008// String returns the string representation
10009func (s UpdateIPSetInput) String() string {
10010	return awsutil.Prettify(s)
10011}
10012
10013// GoString returns the string representation
10014func (s UpdateIPSetInput) GoString() string {
10015	return s.String()
10016}
10017
10018// Validate inspects the fields of the type to determine if they are valid.
10019func (s *UpdateIPSetInput) Validate() error {
10020	invalidParams := request.ErrInvalidParams{Context: "UpdateIPSetInput"}
10021	if s.DetectorId == nil {
10022		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
10023	}
10024	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
10025		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
10026	}
10027	if s.IpSetId == nil {
10028		invalidParams.Add(request.NewErrParamRequired("IpSetId"))
10029	}
10030	if s.IpSetId != nil && len(*s.IpSetId) < 1 {
10031		invalidParams.Add(request.NewErrParamMinLen("IpSetId", 1))
10032	}
10033	if s.Location != nil && len(*s.Location) < 1 {
10034		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
10035	}
10036	if s.Name != nil && len(*s.Name) < 1 {
10037		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10038	}
10039
10040	if invalidParams.Len() > 0 {
10041		return invalidParams
10042	}
10043	return nil
10044}
10045
10046// SetActivate sets the Activate field's value.
10047func (s *UpdateIPSetInput) SetActivate(v bool) *UpdateIPSetInput {
10048	s.Activate = &v
10049	return s
10050}
10051
10052// SetDetectorId sets the DetectorId field's value.
10053func (s *UpdateIPSetInput) SetDetectorId(v string) *UpdateIPSetInput {
10054	s.DetectorId = &v
10055	return s
10056}
10057
10058// SetIpSetId sets the IpSetId field's value.
10059func (s *UpdateIPSetInput) SetIpSetId(v string) *UpdateIPSetInput {
10060	s.IpSetId = &v
10061	return s
10062}
10063
10064// SetLocation sets the Location field's value.
10065func (s *UpdateIPSetInput) SetLocation(v string) *UpdateIPSetInput {
10066	s.Location = &v
10067	return s
10068}
10069
10070// SetName sets the Name field's value.
10071func (s *UpdateIPSetInput) SetName(v string) *UpdateIPSetInput {
10072	s.Name = &v
10073	return s
10074}
10075
10076type UpdateIPSetOutput struct {
10077	_ struct{} `type:"structure"`
10078}
10079
10080// String returns the string representation
10081func (s UpdateIPSetOutput) String() string {
10082	return awsutil.Prettify(s)
10083}
10084
10085// GoString returns the string representation
10086func (s UpdateIPSetOutput) GoString() string {
10087	return s.String()
10088}
10089
10090type UpdateThreatIntelSetInput struct {
10091	_ struct{} `type:"structure"`
10092
10093	// The updated boolean value that specifies whether the ThreateIntelSet is active
10094	// or not.
10095	Activate *bool `locationName:"activate" type:"boolean"`
10096
10097	// The detectorID that specifies the GuardDuty service whose ThreatIntelSet
10098	// you want to update.
10099	//
10100	// DetectorId is a required field
10101	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
10102
10103	// The updated URI of the file that contains the ThreateIntelSet. For example
10104	// (https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key)
10105	Location *string `locationName:"location" min:"1" type:"string"`
10106
10107	// The unique ID that specifies the ThreatIntelSet that you want to update.
10108	Name *string `locationName:"name" min:"1" type:"string"`
10109
10110	// The unique ID that specifies the ThreatIntelSet that you want to update.
10111	//
10112	// ThreatIntelSetId is a required field
10113	ThreatIntelSetId *string `location:"uri" locationName:"threatIntelSetId" type:"string" required:"true"`
10114}
10115
10116// String returns the string representation
10117func (s UpdateThreatIntelSetInput) String() string {
10118	return awsutil.Prettify(s)
10119}
10120
10121// GoString returns the string representation
10122func (s UpdateThreatIntelSetInput) GoString() string {
10123	return s.String()
10124}
10125
10126// Validate inspects the fields of the type to determine if they are valid.
10127func (s *UpdateThreatIntelSetInput) Validate() error {
10128	invalidParams := request.ErrInvalidParams{Context: "UpdateThreatIntelSetInput"}
10129	if s.DetectorId == nil {
10130		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
10131	}
10132	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
10133		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
10134	}
10135	if s.Location != nil && len(*s.Location) < 1 {
10136		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
10137	}
10138	if s.Name != nil && len(*s.Name) < 1 {
10139		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
10140	}
10141	if s.ThreatIntelSetId == nil {
10142		invalidParams.Add(request.NewErrParamRequired("ThreatIntelSetId"))
10143	}
10144	if s.ThreatIntelSetId != nil && len(*s.ThreatIntelSetId) < 1 {
10145		invalidParams.Add(request.NewErrParamMinLen("ThreatIntelSetId", 1))
10146	}
10147
10148	if invalidParams.Len() > 0 {
10149		return invalidParams
10150	}
10151	return nil
10152}
10153
10154// SetActivate sets the Activate field's value.
10155func (s *UpdateThreatIntelSetInput) SetActivate(v bool) *UpdateThreatIntelSetInput {
10156	s.Activate = &v
10157	return s
10158}
10159
10160// SetDetectorId sets the DetectorId field's value.
10161func (s *UpdateThreatIntelSetInput) SetDetectorId(v string) *UpdateThreatIntelSetInput {
10162	s.DetectorId = &v
10163	return s
10164}
10165
10166// SetLocation sets the Location field's value.
10167func (s *UpdateThreatIntelSetInput) SetLocation(v string) *UpdateThreatIntelSetInput {
10168	s.Location = &v
10169	return s
10170}
10171
10172// SetName sets the Name field's value.
10173func (s *UpdateThreatIntelSetInput) SetName(v string) *UpdateThreatIntelSetInput {
10174	s.Name = &v
10175	return s
10176}
10177
10178// SetThreatIntelSetId sets the ThreatIntelSetId field's value.
10179func (s *UpdateThreatIntelSetInput) SetThreatIntelSetId(v string) *UpdateThreatIntelSetInput {
10180	s.ThreatIntelSetId = &v
10181	return s
10182}
10183
10184type UpdateThreatIntelSetOutput struct {
10185	_ struct{} `type:"structure"`
10186}
10187
10188// String returns the string representation
10189func (s UpdateThreatIntelSetOutput) String() string {
10190	return awsutil.Prettify(s)
10191}
10192
10193// GoString returns the string representation
10194func (s UpdateThreatIntelSetOutput) GoString() string {
10195	return s.String()
10196}
10197
10198const (
10199	// DetectorStatusEnabled is a DetectorStatus enum value
10200	DetectorStatusEnabled = "ENABLED"
10201
10202	// DetectorStatusDisabled is a DetectorStatus enum value
10203	DetectorStatusDisabled = "DISABLED"
10204)
10205
10206const (
10207	// FeedbackUseful is a Feedback enum value
10208	FeedbackUseful = "USEFUL"
10209
10210	// FeedbackNotUseful is a Feedback enum value
10211	FeedbackNotUseful = "NOT_USEFUL"
10212)
10213
10214const (
10215	// FilterActionNoop is a FilterAction enum value
10216	FilterActionNoop = "NOOP"
10217
10218	// FilterActionArchive is a FilterAction enum value
10219	FilterActionArchive = "ARCHIVE"
10220)
10221
10222const (
10223	// FindingPublishingFrequencyFifteenMinutes is a FindingPublishingFrequency enum value
10224	FindingPublishingFrequencyFifteenMinutes = "FIFTEEN_MINUTES"
10225
10226	// FindingPublishingFrequencyOneHour is a FindingPublishingFrequency enum value
10227	FindingPublishingFrequencyOneHour = "ONE_HOUR"
10228
10229	// FindingPublishingFrequencySixHours is a FindingPublishingFrequency enum value
10230	FindingPublishingFrequencySixHours = "SIX_HOURS"
10231)
10232
10233const (
10234	// FindingStatisticTypeCountBySeverity is a FindingStatisticType enum value
10235	FindingStatisticTypeCountBySeverity = "COUNT_BY_SEVERITY"
10236)
10237
10238const (
10239	// IpSetFormatTxt is a IpSetFormat enum value
10240	IpSetFormatTxt = "TXT"
10241
10242	// IpSetFormatStix is a IpSetFormat enum value
10243	IpSetFormatStix = "STIX"
10244
10245	// IpSetFormatOtxCsv is a IpSetFormat enum value
10246	IpSetFormatOtxCsv = "OTX_CSV"
10247
10248	// IpSetFormatAlienVault is a IpSetFormat enum value
10249	IpSetFormatAlienVault = "ALIEN_VAULT"
10250
10251	// IpSetFormatProofPoint is a IpSetFormat enum value
10252	IpSetFormatProofPoint = "PROOF_POINT"
10253
10254	// IpSetFormatFireEye is a IpSetFormat enum value
10255	IpSetFormatFireEye = "FIRE_EYE"
10256)
10257
10258const (
10259	// IpSetStatusInactive is a IpSetStatus enum value
10260	IpSetStatusInactive = "INACTIVE"
10261
10262	// IpSetStatusActivating is a IpSetStatus enum value
10263	IpSetStatusActivating = "ACTIVATING"
10264
10265	// IpSetStatusActive is a IpSetStatus enum value
10266	IpSetStatusActive = "ACTIVE"
10267
10268	// IpSetStatusDeactivating is a IpSetStatus enum value
10269	IpSetStatusDeactivating = "DEACTIVATING"
10270
10271	// IpSetStatusError is a IpSetStatus enum value
10272	IpSetStatusError = "ERROR"
10273
10274	// IpSetStatusDeletePending is a IpSetStatus enum value
10275	IpSetStatusDeletePending = "DELETE_PENDING"
10276
10277	// IpSetStatusDeleted is a IpSetStatus enum value
10278	IpSetStatusDeleted = "DELETED"
10279)
10280
10281const (
10282	// OrderByAsc is a OrderBy enum value
10283	OrderByAsc = "ASC"
10284
10285	// OrderByDesc is a OrderBy enum value
10286	OrderByDesc = "DESC"
10287)
10288
10289const (
10290	// ThreatIntelSetFormatTxt is a ThreatIntelSetFormat enum value
10291	ThreatIntelSetFormatTxt = "TXT"
10292
10293	// ThreatIntelSetFormatStix is a ThreatIntelSetFormat enum value
10294	ThreatIntelSetFormatStix = "STIX"
10295
10296	// ThreatIntelSetFormatOtxCsv is a ThreatIntelSetFormat enum value
10297	ThreatIntelSetFormatOtxCsv = "OTX_CSV"
10298
10299	// ThreatIntelSetFormatAlienVault is a ThreatIntelSetFormat enum value
10300	ThreatIntelSetFormatAlienVault = "ALIEN_VAULT"
10301
10302	// ThreatIntelSetFormatProofPoint is a ThreatIntelSetFormat enum value
10303	ThreatIntelSetFormatProofPoint = "PROOF_POINT"
10304
10305	// ThreatIntelSetFormatFireEye is a ThreatIntelSetFormat enum value
10306	ThreatIntelSetFormatFireEye = "FIRE_EYE"
10307)
10308
10309const (
10310	// ThreatIntelSetStatusInactive is a ThreatIntelSetStatus enum value
10311	ThreatIntelSetStatusInactive = "INACTIVE"
10312
10313	// ThreatIntelSetStatusActivating is a ThreatIntelSetStatus enum value
10314	ThreatIntelSetStatusActivating = "ACTIVATING"
10315
10316	// ThreatIntelSetStatusActive is a ThreatIntelSetStatus enum value
10317	ThreatIntelSetStatusActive = "ACTIVE"
10318
10319	// ThreatIntelSetStatusDeactivating is a ThreatIntelSetStatus enum value
10320	ThreatIntelSetStatusDeactivating = "DEACTIVATING"
10321
10322	// ThreatIntelSetStatusError is a ThreatIntelSetStatus enum value
10323	ThreatIntelSetStatusError = "ERROR"
10324
10325	// ThreatIntelSetStatusDeletePending is a ThreatIntelSetStatus enum value
10326	ThreatIntelSetStatusDeletePending = "DELETE_PENDING"
10327
10328	// ThreatIntelSetStatusDeleted is a ThreatIntelSetStatus enum value
10329	ThreatIntelSetStatusDeleted = "DELETED"
10330)
10331