1// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
2
3package guardduty
4
5import (
6	"fmt"
7	"time"
8
9	"github.com/aws/aws-sdk-go/aws"
10	"github.com/aws/aws-sdk-go/aws/awsutil"
11	"github.com/aws/aws-sdk-go/aws/request"
12	"github.com/aws/aws-sdk-go/private/protocol"
13	"github.com/aws/aws-sdk-go/private/protocol/restjson"
14)
15
16const opAcceptInvitation = "AcceptInvitation"
17
18// AcceptInvitationRequest generates a "aws/request.Request" representing the
19// client's request for the AcceptInvitation operation. The "output" return
20// value will be populated with the request's response once the request completes
21// successfully.
22//
23// Use "Send" method on the returned Request to send the API call to the service.
24// the "output" return value is not valid until after Send returns without error.
25//
26// See AcceptInvitation for more information on using the AcceptInvitation
27// API call, and error handling.
28//
29// This method is useful when you want to inject custom logic or configuration
30// into the SDK's request lifecycle. Such as custom headers, or retry logic.
31//
32//
33//    // Example sending a request using the AcceptInvitationRequest method.
34//    req, resp := client.AcceptInvitationRequest(params)
35//
36//    err := req.Send()
37//    if err == nil { // resp is now filled
38//        fmt.Println(resp)
39//    }
40//
41// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/AcceptInvitation
42func (c *GuardDuty) AcceptInvitationRequest(input *AcceptInvitationInput) (req *request.Request, output *AcceptInvitationOutput) {
43	op := &request.Operation{
44		Name:       opAcceptInvitation,
45		HTTPMethod: "POST",
46		HTTPPath:   "/detector/{detectorId}/master",
47	}
48
49	if input == nil {
50		input = &AcceptInvitationInput{}
51	}
52
53	output = &AcceptInvitationOutput{}
54	req = c.newRequest(op, input, output)
55	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
56	return
57}
58
59// AcceptInvitation API operation for Amazon GuardDuty.
60//
61// Accepts the invitation to be monitored by a master GuardDuty account.
62//
63// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
64// with awserr.Error's Code and Message methods to get detailed information about
65// the error.
66//
67// See the AWS API reference guide for Amazon GuardDuty's
68// API operation AcceptInvitation for usage and error information.
69//
70// Returned Error Types:
71//   * BadRequestException
72//   A bad request exception object.
73//
74//   * InternalServerErrorException
75//   An internal server error exception object.
76//
77// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/AcceptInvitation
78func (c *GuardDuty) AcceptInvitation(input *AcceptInvitationInput) (*AcceptInvitationOutput, error) {
79	req, out := c.AcceptInvitationRequest(input)
80	return out, req.Send()
81}
82
83// AcceptInvitationWithContext is the same as AcceptInvitation with the addition of
84// the ability to pass a context and additional request options.
85//
86// See AcceptInvitation for details on how to use this API operation.
87//
88// The context must be non-nil and will be used for request cancellation. If
89// the context is nil a panic will occur. In the future the SDK may create
90// sub-contexts for http.Requests. See https://golang.org/pkg/context/
91// for more information on using Contexts.
92func (c *GuardDuty) AcceptInvitationWithContext(ctx aws.Context, input *AcceptInvitationInput, opts ...request.Option) (*AcceptInvitationOutput, error) {
93	req, out := c.AcceptInvitationRequest(input)
94	req.SetContext(ctx)
95	req.ApplyOptions(opts...)
96	return out, req.Send()
97}
98
99const opArchiveFindings = "ArchiveFindings"
100
101// ArchiveFindingsRequest generates a "aws/request.Request" representing the
102// client's request for the ArchiveFindings operation. The "output" return
103// value will be populated with the request's response once the request completes
104// successfully.
105//
106// Use "Send" method on the returned Request to send the API call to the service.
107// the "output" return value is not valid until after Send returns without error.
108//
109// See ArchiveFindings for more information on using the ArchiveFindings
110// API call, and error handling.
111//
112// This method is useful when you want to inject custom logic or configuration
113// into the SDK's request lifecycle. Such as custom headers, or retry logic.
114//
115//
116//    // Example sending a request using the ArchiveFindingsRequest method.
117//    req, resp := client.ArchiveFindingsRequest(params)
118//
119//    err := req.Send()
120//    if err == nil { // resp is now filled
121//        fmt.Println(resp)
122//    }
123//
124// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ArchiveFindings
125func (c *GuardDuty) ArchiveFindingsRequest(input *ArchiveFindingsInput) (req *request.Request, output *ArchiveFindingsOutput) {
126	op := &request.Operation{
127		Name:       opArchiveFindings,
128		HTTPMethod: "POST",
129		HTTPPath:   "/detector/{detectorId}/findings/archive",
130	}
131
132	if input == nil {
133		input = &ArchiveFindingsInput{}
134	}
135
136	output = &ArchiveFindingsOutput{}
137	req = c.newRequest(op, input, output)
138	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
139	return
140}
141
142// ArchiveFindings API operation for Amazon GuardDuty.
143//
144// Archives GuardDuty findings that are specified by the list of finding IDs.
145//
146// Only the master account can archive findings. Member accounts don't have
147// permission to archive findings from their accounts.
148//
149// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
150// with awserr.Error's Code and Message methods to get detailed information about
151// the error.
152//
153// See the AWS API reference guide for Amazon GuardDuty's
154// API operation ArchiveFindings for usage and error information.
155//
156// Returned Error Types:
157//   * BadRequestException
158//   A bad request exception object.
159//
160//   * InternalServerErrorException
161//   An internal server error exception object.
162//
163// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ArchiveFindings
164func (c *GuardDuty) ArchiveFindings(input *ArchiveFindingsInput) (*ArchiveFindingsOutput, error) {
165	req, out := c.ArchiveFindingsRequest(input)
166	return out, req.Send()
167}
168
169// ArchiveFindingsWithContext is the same as ArchiveFindings with the addition of
170// the ability to pass a context and additional request options.
171//
172// See ArchiveFindings for details on how to use this API operation.
173//
174// The context must be non-nil and will be used for request cancellation. If
175// the context is nil a panic will occur. In the future the SDK may create
176// sub-contexts for http.Requests. See https://golang.org/pkg/context/
177// for more information on using Contexts.
178func (c *GuardDuty) ArchiveFindingsWithContext(ctx aws.Context, input *ArchiveFindingsInput, opts ...request.Option) (*ArchiveFindingsOutput, error) {
179	req, out := c.ArchiveFindingsRequest(input)
180	req.SetContext(ctx)
181	req.ApplyOptions(opts...)
182	return out, req.Send()
183}
184
185const opCreateDetector = "CreateDetector"
186
187// CreateDetectorRequest generates a "aws/request.Request" representing the
188// client's request for the CreateDetector operation. The "output" return
189// value will be populated with the request's response once the request completes
190// successfully.
191//
192// Use "Send" method on the returned Request to send the API call to the service.
193// the "output" return value is not valid until after Send returns without error.
194//
195// See CreateDetector for more information on using the CreateDetector
196// API call, and error handling.
197//
198// This method is useful when you want to inject custom logic or configuration
199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
200//
201//
202//    // Example sending a request using the CreateDetectorRequest method.
203//    req, resp := client.CreateDetectorRequest(params)
204//
205//    err := req.Send()
206//    if err == nil { // resp is now filled
207//        fmt.Println(resp)
208//    }
209//
210// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateDetector
211func (c *GuardDuty) CreateDetectorRequest(input *CreateDetectorInput) (req *request.Request, output *CreateDetectorOutput) {
212	op := &request.Operation{
213		Name:       opCreateDetector,
214		HTTPMethod: "POST",
215		HTTPPath:   "/detector",
216	}
217
218	if input == nil {
219		input = &CreateDetectorInput{}
220	}
221
222	output = &CreateDetectorOutput{}
223	req = c.newRequest(op, input, output)
224	return
225}
226
227// CreateDetector API operation for Amazon GuardDuty.
228//
229// Creates a single Amazon GuardDuty detector. A detector is a resource that
230// represents the GuardDuty service. To start using GuardDuty, you must create
231// a detector in each Region where you enable the service. You can have only
232// one detector per account per Region.
233//
234// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
235// with awserr.Error's Code and Message methods to get detailed information about
236// the error.
237//
238// See the AWS API reference guide for Amazon GuardDuty's
239// API operation CreateDetector for usage and error information.
240//
241// Returned Error Types:
242//   * BadRequestException
243//   A bad request exception object.
244//
245//   * InternalServerErrorException
246//   An internal server error exception object.
247//
248// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateDetector
249func (c *GuardDuty) CreateDetector(input *CreateDetectorInput) (*CreateDetectorOutput, error) {
250	req, out := c.CreateDetectorRequest(input)
251	return out, req.Send()
252}
253
254// CreateDetectorWithContext is the same as CreateDetector with the addition of
255// the ability to pass a context and additional request options.
256//
257// See CreateDetector for details on how to use this API operation.
258//
259// The context must be non-nil and will be used for request cancellation. If
260// the context is nil a panic will occur. In the future the SDK may create
261// sub-contexts for http.Requests. See https://golang.org/pkg/context/
262// for more information on using Contexts.
263func (c *GuardDuty) CreateDetectorWithContext(ctx aws.Context, input *CreateDetectorInput, opts ...request.Option) (*CreateDetectorOutput, error) {
264	req, out := c.CreateDetectorRequest(input)
265	req.SetContext(ctx)
266	req.ApplyOptions(opts...)
267	return out, req.Send()
268}
269
270const opCreateFilter = "CreateFilter"
271
272// CreateFilterRequest generates a "aws/request.Request" representing the
273// client's request for the CreateFilter operation. The "output" return
274// value will be populated with the request's response once the request completes
275// successfully.
276//
277// Use "Send" method on the returned Request to send the API call to the service.
278// the "output" return value is not valid until after Send returns without error.
279//
280// See CreateFilter for more information on using the CreateFilter
281// API call, and error handling.
282//
283// This method is useful when you want to inject custom logic or configuration
284// into the SDK's request lifecycle. Such as custom headers, or retry logic.
285//
286//
287//    // Example sending a request using the CreateFilterRequest method.
288//    req, resp := client.CreateFilterRequest(params)
289//
290//    err := req.Send()
291//    if err == nil { // resp is now filled
292//        fmt.Println(resp)
293//    }
294//
295// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateFilter
296func (c *GuardDuty) CreateFilterRequest(input *CreateFilterInput) (req *request.Request, output *CreateFilterOutput) {
297	op := &request.Operation{
298		Name:       opCreateFilter,
299		HTTPMethod: "POST",
300		HTTPPath:   "/detector/{detectorId}/filter",
301	}
302
303	if input == nil {
304		input = &CreateFilterInput{}
305	}
306
307	output = &CreateFilterOutput{}
308	req = c.newRequest(op, input, output)
309	return
310}
311
312// CreateFilter API operation for Amazon GuardDuty.
313//
314// Creates a filter using the specified finding criteria.
315//
316// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
317// with awserr.Error's Code and Message methods to get detailed information about
318// the error.
319//
320// See the AWS API reference guide for Amazon GuardDuty's
321// API operation CreateFilter for usage and error information.
322//
323// Returned Error Types:
324//   * BadRequestException
325//   A bad request exception object.
326//
327//   * InternalServerErrorException
328//   An internal server error exception object.
329//
330// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateFilter
331func (c *GuardDuty) CreateFilter(input *CreateFilterInput) (*CreateFilterOutput, error) {
332	req, out := c.CreateFilterRequest(input)
333	return out, req.Send()
334}
335
336// CreateFilterWithContext is the same as CreateFilter with the addition of
337// the ability to pass a context and additional request options.
338//
339// See CreateFilter for details on how to use this API operation.
340//
341// The context must be non-nil and will be used for request cancellation. If
342// the context is nil a panic will occur. In the future the SDK may create
343// sub-contexts for http.Requests. See https://golang.org/pkg/context/
344// for more information on using Contexts.
345func (c *GuardDuty) CreateFilterWithContext(ctx aws.Context, input *CreateFilterInput, opts ...request.Option) (*CreateFilterOutput, error) {
346	req, out := c.CreateFilterRequest(input)
347	req.SetContext(ctx)
348	req.ApplyOptions(opts...)
349	return out, req.Send()
350}
351
352const opCreateIPSet = "CreateIPSet"
353
354// CreateIPSetRequest generates a "aws/request.Request" representing the
355// client's request for the CreateIPSet operation. The "output" return
356// value will be populated with the request's response once the request completes
357// successfully.
358//
359// Use "Send" method on the returned Request to send the API call to the service.
360// the "output" return value is not valid until after Send returns without error.
361//
362// See CreateIPSet for more information on using the CreateIPSet
363// API call, and error handling.
364//
365// This method is useful when you want to inject custom logic or configuration
366// into the SDK's request lifecycle. Such as custom headers, or retry logic.
367//
368//
369//    // Example sending a request using the CreateIPSetRequest method.
370//    req, resp := client.CreateIPSetRequest(params)
371//
372//    err := req.Send()
373//    if err == nil { // resp is now filled
374//        fmt.Println(resp)
375//    }
376//
377// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateIPSet
378func (c *GuardDuty) CreateIPSetRequest(input *CreateIPSetInput) (req *request.Request, output *CreateIPSetOutput) {
379	op := &request.Operation{
380		Name:       opCreateIPSet,
381		HTTPMethod: "POST",
382		HTTPPath:   "/detector/{detectorId}/ipset",
383	}
384
385	if input == nil {
386		input = &CreateIPSetInput{}
387	}
388
389	output = &CreateIPSetOutput{}
390	req = c.newRequest(op, input, output)
391	return
392}
393
394// CreateIPSet API operation for Amazon GuardDuty.
395//
396// Creates a new IPSet, which is called a trusted IP list in the console user
397// interface. An IPSet is a list of IP addresses that are trusted for secure
398// communication with AWS infrastructure and applications. GuardDuty doesn't
399// generate findings for IP addresses that are included in IPSets. Only users
400// from the master account can use this operation.
401//
402// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
403// with awserr.Error's Code and Message methods to get detailed information about
404// the error.
405//
406// See the AWS API reference guide for Amazon GuardDuty's
407// API operation CreateIPSet for usage and error information.
408//
409// Returned Error Types:
410//   * BadRequestException
411//   A bad request exception object.
412//
413//   * InternalServerErrorException
414//   An internal server error exception object.
415//
416// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateIPSet
417func (c *GuardDuty) CreateIPSet(input *CreateIPSetInput) (*CreateIPSetOutput, error) {
418	req, out := c.CreateIPSetRequest(input)
419	return out, req.Send()
420}
421
422// CreateIPSetWithContext is the same as CreateIPSet with the addition of
423// the ability to pass a context and additional request options.
424//
425// See CreateIPSet for details on how to use this API operation.
426//
427// The context must be non-nil and will be used for request cancellation. If
428// the context is nil a panic will occur. In the future the SDK may create
429// sub-contexts for http.Requests. See https://golang.org/pkg/context/
430// for more information on using Contexts.
431func (c *GuardDuty) CreateIPSetWithContext(ctx aws.Context, input *CreateIPSetInput, opts ...request.Option) (*CreateIPSetOutput, error) {
432	req, out := c.CreateIPSetRequest(input)
433	req.SetContext(ctx)
434	req.ApplyOptions(opts...)
435	return out, req.Send()
436}
437
438const opCreateMembers = "CreateMembers"
439
440// CreateMembersRequest generates a "aws/request.Request" representing the
441// client's request for the CreateMembers operation. The "output" return
442// value will be populated with the request's response once the request completes
443// successfully.
444//
445// Use "Send" method on the returned Request to send the API call to the service.
446// the "output" return value is not valid until after Send returns without error.
447//
448// See CreateMembers for more information on using the CreateMembers
449// API call, and error handling.
450//
451// This method is useful when you want to inject custom logic or configuration
452// into the SDK's request lifecycle. Such as custom headers, or retry logic.
453//
454//
455//    // Example sending a request using the CreateMembersRequest method.
456//    req, resp := client.CreateMembersRequest(params)
457//
458//    err := req.Send()
459//    if err == nil { // resp is now filled
460//        fmt.Println(resp)
461//    }
462//
463// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateMembers
464func (c *GuardDuty) CreateMembersRequest(input *CreateMembersInput) (req *request.Request, output *CreateMembersOutput) {
465	op := &request.Operation{
466		Name:       opCreateMembers,
467		HTTPMethod: "POST",
468		HTTPPath:   "/detector/{detectorId}/member",
469	}
470
471	if input == nil {
472		input = &CreateMembersInput{}
473	}
474
475	output = &CreateMembersOutput{}
476	req = c.newRequest(op, input, output)
477	return
478}
479
480// CreateMembers API operation for Amazon GuardDuty.
481//
482// Creates member accounts of the current AWS account by specifying a list of
483// AWS account IDs. The current AWS account can then invite these members to
484// manage GuardDuty in their accounts.
485//
486// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
487// with awserr.Error's Code and Message methods to get detailed information about
488// the error.
489//
490// See the AWS API reference guide for Amazon GuardDuty's
491// API operation CreateMembers for usage and error information.
492//
493// Returned Error Types:
494//   * BadRequestException
495//   A bad request exception object.
496//
497//   * InternalServerErrorException
498//   An internal server error exception object.
499//
500// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateMembers
501func (c *GuardDuty) CreateMembers(input *CreateMembersInput) (*CreateMembersOutput, error) {
502	req, out := c.CreateMembersRequest(input)
503	return out, req.Send()
504}
505
506// CreateMembersWithContext is the same as CreateMembers with the addition of
507// the ability to pass a context and additional request options.
508//
509// See CreateMembers for details on how to use this API operation.
510//
511// The context must be non-nil and will be used for request cancellation. If
512// the context is nil a panic will occur. In the future the SDK may create
513// sub-contexts for http.Requests. See https://golang.org/pkg/context/
514// for more information on using Contexts.
515func (c *GuardDuty) CreateMembersWithContext(ctx aws.Context, input *CreateMembersInput, opts ...request.Option) (*CreateMembersOutput, error) {
516	req, out := c.CreateMembersRequest(input)
517	req.SetContext(ctx)
518	req.ApplyOptions(opts...)
519	return out, req.Send()
520}
521
522const opCreatePublishingDestination = "CreatePublishingDestination"
523
524// CreatePublishingDestinationRequest generates a "aws/request.Request" representing the
525// client's request for the CreatePublishingDestination operation. The "output" return
526// value will be populated with the request's response once the request completes
527// successfully.
528//
529// Use "Send" method on the returned Request to send the API call to the service.
530// the "output" return value is not valid until after Send returns without error.
531//
532// See CreatePublishingDestination for more information on using the CreatePublishingDestination
533// API call, and error handling.
534//
535// This method is useful when you want to inject custom logic or configuration
536// into the SDK's request lifecycle. Such as custom headers, or retry logic.
537//
538//
539//    // Example sending a request using the CreatePublishingDestinationRequest method.
540//    req, resp := client.CreatePublishingDestinationRequest(params)
541//
542//    err := req.Send()
543//    if err == nil { // resp is now filled
544//        fmt.Println(resp)
545//    }
546//
547// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreatePublishingDestination
548func (c *GuardDuty) CreatePublishingDestinationRequest(input *CreatePublishingDestinationInput) (req *request.Request, output *CreatePublishingDestinationOutput) {
549	op := &request.Operation{
550		Name:       opCreatePublishingDestination,
551		HTTPMethod: "POST",
552		HTTPPath:   "/detector/{detectorId}/publishingDestination",
553	}
554
555	if input == nil {
556		input = &CreatePublishingDestinationInput{}
557	}
558
559	output = &CreatePublishingDestinationOutput{}
560	req = c.newRequest(op, input, output)
561	return
562}
563
564// CreatePublishingDestination API operation for Amazon GuardDuty.
565//
566// Creates a publishing destination to export findings to. The resource to export
567// findings to must exist before you use this operation.
568//
569// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
570// with awserr.Error's Code and Message methods to get detailed information about
571// the error.
572//
573// See the AWS API reference guide for Amazon GuardDuty's
574// API operation CreatePublishingDestination for usage and error information.
575//
576// Returned Error Types:
577//   * BadRequestException
578//   A bad request exception object.
579//
580//   * InternalServerErrorException
581//   An internal server error exception object.
582//
583// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreatePublishingDestination
584func (c *GuardDuty) CreatePublishingDestination(input *CreatePublishingDestinationInput) (*CreatePublishingDestinationOutput, error) {
585	req, out := c.CreatePublishingDestinationRequest(input)
586	return out, req.Send()
587}
588
589// CreatePublishingDestinationWithContext is the same as CreatePublishingDestination with the addition of
590// the ability to pass a context and additional request options.
591//
592// See CreatePublishingDestination for details on how to use this API operation.
593//
594// The context must be non-nil and will be used for request cancellation. If
595// the context is nil a panic will occur. In the future the SDK may create
596// sub-contexts for http.Requests. See https://golang.org/pkg/context/
597// for more information on using Contexts.
598func (c *GuardDuty) CreatePublishingDestinationWithContext(ctx aws.Context, input *CreatePublishingDestinationInput, opts ...request.Option) (*CreatePublishingDestinationOutput, error) {
599	req, out := c.CreatePublishingDestinationRequest(input)
600	req.SetContext(ctx)
601	req.ApplyOptions(opts...)
602	return out, req.Send()
603}
604
605const opCreateSampleFindings = "CreateSampleFindings"
606
607// CreateSampleFindingsRequest generates a "aws/request.Request" representing the
608// client's request for the CreateSampleFindings operation. The "output" return
609// value will be populated with the request's response once the request completes
610// successfully.
611//
612// Use "Send" method on the returned Request to send the API call to the service.
613// the "output" return value is not valid until after Send returns without error.
614//
615// See CreateSampleFindings for more information on using the CreateSampleFindings
616// API call, and error handling.
617//
618// This method is useful when you want to inject custom logic or configuration
619// into the SDK's request lifecycle. Such as custom headers, or retry logic.
620//
621//
622//    // Example sending a request using the CreateSampleFindingsRequest method.
623//    req, resp := client.CreateSampleFindingsRequest(params)
624//
625//    err := req.Send()
626//    if err == nil { // resp is now filled
627//        fmt.Println(resp)
628//    }
629//
630// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateSampleFindings
631func (c *GuardDuty) CreateSampleFindingsRequest(input *CreateSampleFindingsInput) (req *request.Request, output *CreateSampleFindingsOutput) {
632	op := &request.Operation{
633		Name:       opCreateSampleFindings,
634		HTTPMethod: "POST",
635		HTTPPath:   "/detector/{detectorId}/findings/create",
636	}
637
638	if input == nil {
639		input = &CreateSampleFindingsInput{}
640	}
641
642	output = &CreateSampleFindingsOutput{}
643	req = c.newRequest(op, input, output)
644	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
645	return
646}
647
648// CreateSampleFindings API operation for Amazon GuardDuty.
649//
650// Generates example findings of types specified by the list of finding types.
651// If 'NULL' is specified for findingTypes, the API generates example findings
652// of all supported finding types.
653//
654// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
655// with awserr.Error's Code and Message methods to get detailed information about
656// the error.
657//
658// See the AWS API reference guide for Amazon GuardDuty's
659// API operation CreateSampleFindings for usage and error information.
660//
661// Returned Error Types:
662//   * BadRequestException
663//   A bad request exception object.
664//
665//   * InternalServerErrorException
666//   An internal server error exception object.
667//
668// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateSampleFindings
669func (c *GuardDuty) CreateSampleFindings(input *CreateSampleFindingsInput) (*CreateSampleFindingsOutput, error) {
670	req, out := c.CreateSampleFindingsRequest(input)
671	return out, req.Send()
672}
673
674// CreateSampleFindingsWithContext is the same as CreateSampleFindings with the addition of
675// the ability to pass a context and additional request options.
676//
677// See CreateSampleFindings for details on how to use this API operation.
678//
679// The context must be non-nil and will be used for request cancellation. If
680// the context is nil a panic will occur. In the future the SDK may create
681// sub-contexts for http.Requests. See https://golang.org/pkg/context/
682// for more information on using Contexts.
683func (c *GuardDuty) CreateSampleFindingsWithContext(ctx aws.Context, input *CreateSampleFindingsInput, opts ...request.Option) (*CreateSampleFindingsOutput, error) {
684	req, out := c.CreateSampleFindingsRequest(input)
685	req.SetContext(ctx)
686	req.ApplyOptions(opts...)
687	return out, req.Send()
688}
689
690const opCreateThreatIntelSet = "CreateThreatIntelSet"
691
692// CreateThreatIntelSetRequest generates a "aws/request.Request" representing the
693// client's request for the CreateThreatIntelSet operation. The "output" return
694// value will be populated with the request's response once the request completes
695// successfully.
696//
697// Use "Send" method on the returned Request to send the API call to the service.
698// the "output" return value is not valid until after Send returns without error.
699//
700// See CreateThreatIntelSet for more information on using the CreateThreatIntelSet
701// API call, and error handling.
702//
703// This method is useful when you want to inject custom logic or configuration
704// into the SDK's request lifecycle. Such as custom headers, or retry logic.
705//
706//
707//    // Example sending a request using the CreateThreatIntelSetRequest method.
708//    req, resp := client.CreateThreatIntelSetRequest(params)
709//
710//    err := req.Send()
711//    if err == nil { // resp is now filled
712//        fmt.Println(resp)
713//    }
714//
715// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateThreatIntelSet
716func (c *GuardDuty) CreateThreatIntelSetRequest(input *CreateThreatIntelSetInput) (req *request.Request, output *CreateThreatIntelSetOutput) {
717	op := &request.Operation{
718		Name:       opCreateThreatIntelSet,
719		HTTPMethod: "POST",
720		HTTPPath:   "/detector/{detectorId}/threatintelset",
721	}
722
723	if input == nil {
724		input = &CreateThreatIntelSetInput{}
725	}
726
727	output = &CreateThreatIntelSetOutput{}
728	req = c.newRequest(op, input, output)
729	return
730}
731
732// CreateThreatIntelSet API operation for Amazon GuardDuty.
733//
734// Creates a new ThreatIntelSet. ThreatIntelSets consist of known malicious
735// IP addresses. GuardDuty generates findings based on ThreatIntelSets. Only
736// users of the master account can use this operation.
737//
738// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
739// with awserr.Error's Code and Message methods to get detailed information about
740// the error.
741//
742// See the AWS API reference guide for Amazon GuardDuty's
743// API operation CreateThreatIntelSet for usage and error information.
744//
745// Returned Error Types:
746//   * BadRequestException
747//   A bad request exception object.
748//
749//   * InternalServerErrorException
750//   An internal server error exception object.
751//
752// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateThreatIntelSet
753func (c *GuardDuty) CreateThreatIntelSet(input *CreateThreatIntelSetInput) (*CreateThreatIntelSetOutput, error) {
754	req, out := c.CreateThreatIntelSetRequest(input)
755	return out, req.Send()
756}
757
758// CreateThreatIntelSetWithContext is the same as CreateThreatIntelSet with the addition of
759// the ability to pass a context and additional request options.
760//
761// See CreateThreatIntelSet for details on how to use this API operation.
762//
763// The context must be non-nil and will be used for request cancellation. If
764// the context is nil a panic will occur. In the future the SDK may create
765// sub-contexts for http.Requests. See https://golang.org/pkg/context/
766// for more information on using Contexts.
767func (c *GuardDuty) CreateThreatIntelSetWithContext(ctx aws.Context, input *CreateThreatIntelSetInput, opts ...request.Option) (*CreateThreatIntelSetOutput, error) {
768	req, out := c.CreateThreatIntelSetRequest(input)
769	req.SetContext(ctx)
770	req.ApplyOptions(opts...)
771	return out, req.Send()
772}
773
774const opDeclineInvitations = "DeclineInvitations"
775
776// DeclineInvitationsRequest generates a "aws/request.Request" representing the
777// client's request for the DeclineInvitations operation. The "output" return
778// value will be populated with the request's response once the request completes
779// successfully.
780//
781// Use "Send" method on the returned Request to send the API call to the service.
782// the "output" return value is not valid until after Send returns without error.
783//
784// See DeclineInvitations for more information on using the DeclineInvitations
785// API call, and error handling.
786//
787// This method is useful when you want to inject custom logic or configuration
788// into the SDK's request lifecycle. Such as custom headers, or retry logic.
789//
790//
791//    // Example sending a request using the DeclineInvitationsRequest method.
792//    req, resp := client.DeclineInvitationsRequest(params)
793//
794//    err := req.Send()
795//    if err == nil { // resp is now filled
796//        fmt.Println(resp)
797//    }
798//
799// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeclineInvitations
800func (c *GuardDuty) DeclineInvitationsRequest(input *DeclineInvitationsInput) (req *request.Request, output *DeclineInvitationsOutput) {
801	op := &request.Operation{
802		Name:       opDeclineInvitations,
803		HTTPMethod: "POST",
804		HTTPPath:   "/invitation/decline",
805	}
806
807	if input == nil {
808		input = &DeclineInvitationsInput{}
809	}
810
811	output = &DeclineInvitationsOutput{}
812	req = c.newRequest(op, input, output)
813	return
814}
815
816// DeclineInvitations API operation for Amazon GuardDuty.
817//
818// Declines invitations sent to the current member account by AWS accounts specified
819// by their account IDs.
820//
821// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
822// with awserr.Error's Code and Message methods to get detailed information about
823// the error.
824//
825// See the AWS API reference guide for Amazon GuardDuty's
826// API operation DeclineInvitations for usage and error information.
827//
828// Returned Error Types:
829//   * BadRequestException
830//   A bad request exception object.
831//
832//   * InternalServerErrorException
833//   An internal server error exception object.
834//
835// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeclineInvitations
836func (c *GuardDuty) DeclineInvitations(input *DeclineInvitationsInput) (*DeclineInvitationsOutput, error) {
837	req, out := c.DeclineInvitationsRequest(input)
838	return out, req.Send()
839}
840
841// DeclineInvitationsWithContext is the same as DeclineInvitations with the addition of
842// the ability to pass a context and additional request options.
843//
844// See DeclineInvitations for details on how to use this API operation.
845//
846// The context must be non-nil and will be used for request cancellation. If
847// the context is nil a panic will occur. In the future the SDK may create
848// sub-contexts for http.Requests. See https://golang.org/pkg/context/
849// for more information on using Contexts.
850func (c *GuardDuty) DeclineInvitationsWithContext(ctx aws.Context, input *DeclineInvitationsInput, opts ...request.Option) (*DeclineInvitationsOutput, error) {
851	req, out := c.DeclineInvitationsRequest(input)
852	req.SetContext(ctx)
853	req.ApplyOptions(opts...)
854	return out, req.Send()
855}
856
857const opDeleteDetector = "DeleteDetector"
858
859// DeleteDetectorRequest generates a "aws/request.Request" representing the
860// client's request for the DeleteDetector operation. The "output" return
861// value will be populated with the request's response once the request completes
862// successfully.
863//
864// Use "Send" method on the returned Request to send the API call to the service.
865// the "output" return value is not valid until after Send returns without error.
866//
867// See DeleteDetector for more information on using the DeleteDetector
868// API call, and error handling.
869//
870// This method is useful when you want to inject custom logic or configuration
871// into the SDK's request lifecycle. Such as custom headers, or retry logic.
872//
873//
874//    // Example sending a request using the DeleteDetectorRequest method.
875//    req, resp := client.DeleteDetectorRequest(params)
876//
877//    err := req.Send()
878//    if err == nil { // resp is now filled
879//        fmt.Println(resp)
880//    }
881//
882// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteDetector
883func (c *GuardDuty) DeleteDetectorRequest(input *DeleteDetectorInput) (req *request.Request, output *DeleteDetectorOutput) {
884	op := &request.Operation{
885		Name:       opDeleteDetector,
886		HTTPMethod: "DELETE",
887		HTTPPath:   "/detector/{detectorId}",
888	}
889
890	if input == nil {
891		input = &DeleteDetectorInput{}
892	}
893
894	output = &DeleteDetectorOutput{}
895	req = c.newRequest(op, input, output)
896	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
897	return
898}
899
900// DeleteDetector API operation for Amazon GuardDuty.
901//
902// Deletes an Amazon GuardDuty detector that is specified by the detector ID.
903//
904// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
905// with awserr.Error's Code and Message methods to get detailed information about
906// the error.
907//
908// See the AWS API reference guide for Amazon GuardDuty's
909// API operation DeleteDetector for usage and error information.
910//
911// Returned Error Types:
912//   * BadRequestException
913//   A bad request exception object.
914//
915//   * InternalServerErrorException
916//   An internal server error exception object.
917//
918// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteDetector
919func (c *GuardDuty) DeleteDetector(input *DeleteDetectorInput) (*DeleteDetectorOutput, error) {
920	req, out := c.DeleteDetectorRequest(input)
921	return out, req.Send()
922}
923
924// DeleteDetectorWithContext is the same as DeleteDetector with the addition of
925// the ability to pass a context and additional request options.
926//
927// See DeleteDetector for details on how to use this API operation.
928//
929// The context must be non-nil and will be used for request cancellation. If
930// the context is nil a panic will occur. In the future the SDK may create
931// sub-contexts for http.Requests. See https://golang.org/pkg/context/
932// for more information on using Contexts.
933func (c *GuardDuty) DeleteDetectorWithContext(ctx aws.Context, input *DeleteDetectorInput, opts ...request.Option) (*DeleteDetectorOutput, error) {
934	req, out := c.DeleteDetectorRequest(input)
935	req.SetContext(ctx)
936	req.ApplyOptions(opts...)
937	return out, req.Send()
938}
939
940const opDeleteFilter = "DeleteFilter"
941
942// DeleteFilterRequest generates a "aws/request.Request" representing the
943// client's request for the DeleteFilter operation. The "output" return
944// value will be populated with the request's response once the request completes
945// successfully.
946//
947// Use "Send" method on the returned Request to send the API call to the service.
948// the "output" return value is not valid until after Send returns without error.
949//
950// See DeleteFilter for more information on using the DeleteFilter
951// API call, and error handling.
952//
953// This method is useful when you want to inject custom logic or configuration
954// into the SDK's request lifecycle. Such as custom headers, or retry logic.
955//
956//
957//    // Example sending a request using the DeleteFilterRequest method.
958//    req, resp := client.DeleteFilterRequest(params)
959//
960//    err := req.Send()
961//    if err == nil { // resp is now filled
962//        fmt.Println(resp)
963//    }
964//
965// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteFilter
966func (c *GuardDuty) DeleteFilterRequest(input *DeleteFilterInput) (req *request.Request, output *DeleteFilterOutput) {
967	op := &request.Operation{
968		Name:       opDeleteFilter,
969		HTTPMethod: "DELETE",
970		HTTPPath:   "/detector/{detectorId}/filter/{filterName}",
971	}
972
973	if input == nil {
974		input = &DeleteFilterInput{}
975	}
976
977	output = &DeleteFilterOutput{}
978	req = c.newRequest(op, input, output)
979	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
980	return
981}
982
983// DeleteFilter API operation for Amazon GuardDuty.
984//
985// Deletes the filter specified by the filter name.
986//
987// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
988// with awserr.Error's Code and Message methods to get detailed information about
989// the error.
990//
991// See the AWS API reference guide for Amazon GuardDuty's
992// API operation DeleteFilter for usage and error information.
993//
994// Returned Error Types:
995//   * BadRequestException
996//   A bad request exception object.
997//
998//   * InternalServerErrorException
999//   An internal server error exception object.
1000//
1001// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteFilter
1002func (c *GuardDuty) DeleteFilter(input *DeleteFilterInput) (*DeleteFilterOutput, error) {
1003	req, out := c.DeleteFilterRequest(input)
1004	return out, req.Send()
1005}
1006
1007// DeleteFilterWithContext is the same as DeleteFilter with the addition of
1008// the ability to pass a context and additional request options.
1009//
1010// See DeleteFilter for details on how to use this API operation.
1011//
1012// The context must be non-nil and will be used for request cancellation. If
1013// the context is nil a panic will occur. In the future the SDK may create
1014// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1015// for more information on using Contexts.
1016func (c *GuardDuty) DeleteFilterWithContext(ctx aws.Context, input *DeleteFilterInput, opts ...request.Option) (*DeleteFilterOutput, error) {
1017	req, out := c.DeleteFilterRequest(input)
1018	req.SetContext(ctx)
1019	req.ApplyOptions(opts...)
1020	return out, req.Send()
1021}
1022
1023const opDeleteIPSet = "DeleteIPSet"
1024
1025// DeleteIPSetRequest generates a "aws/request.Request" representing the
1026// client's request for the DeleteIPSet operation. The "output" return
1027// value will be populated with the request's response once the request completes
1028// successfully.
1029//
1030// Use "Send" method on the returned Request to send the API call to the service.
1031// the "output" return value is not valid until after Send returns without error.
1032//
1033// See DeleteIPSet for more information on using the DeleteIPSet
1034// API call, and error handling.
1035//
1036// This method is useful when you want to inject custom logic or configuration
1037// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1038//
1039//
1040//    // Example sending a request using the DeleteIPSetRequest method.
1041//    req, resp := client.DeleteIPSetRequest(params)
1042//
1043//    err := req.Send()
1044//    if err == nil { // resp is now filled
1045//        fmt.Println(resp)
1046//    }
1047//
1048// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteIPSet
1049func (c *GuardDuty) DeleteIPSetRequest(input *DeleteIPSetInput) (req *request.Request, output *DeleteIPSetOutput) {
1050	op := &request.Operation{
1051		Name:       opDeleteIPSet,
1052		HTTPMethod: "DELETE",
1053		HTTPPath:   "/detector/{detectorId}/ipset/{ipSetId}",
1054	}
1055
1056	if input == nil {
1057		input = &DeleteIPSetInput{}
1058	}
1059
1060	output = &DeleteIPSetOutput{}
1061	req = c.newRequest(op, input, output)
1062	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1063	return
1064}
1065
1066// DeleteIPSet API operation for Amazon GuardDuty.
1067//
1068// Deletes the IPSet specified by the ipSetId. IPSets are called trusted IP
1069// lists in the console user interface.
1070//
1071// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1072// with awserr.Error's Code and Message methods to get detailed information about
1073// the error.
1074//
1075// See the AWS API reference guide for Amazon GuardDuty's
1076// API operation DeleteIPSet for usage and error information.
1077//
1078// Returned Error Types:
1079//   * BadRequestException
1080//   A bad request exception object.
1081//
1082//   * InternalServerErrorException
1083//   An internal server error exception object.
1084//
1085// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteIPSet
1086func (c *GuardDuty) DeleteIPSet(input *DeleteIPSetInput) (*DeleteIPSetOutput, error) {
1087	req, out := c.DeleteIPSetRequest(input)
1088	return out, req.Send()
1089}
1090
1091// DeleteIPSetWithContext is the same as DeleteIPSet with the addition of
1092// the ability to pass a context and additional request options.
1093//
1094// See DeleteIPSet for details on how to use this API operation.
1095//
1096// The context must be non-nil and will be used for request cancellation. If
1097// the context is nil a panic will occur. In the future the SDK may create
1098// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1099// for more information on using Contexts.
1100func (c *GuardDuty) DeleteIPSetWithContext(ctx aws.Context, input *DeleteIPSetInput, opts ...request.Option) (*DeleteIPSetOutput, error) {
1101	req, out := c.DeleteIPSetRequest(input)
1102	req.SetContext(ctx)
1103	req.ApplyOptions(opts...)
1104	return out, req.Send()
1105}
1106
1107const opDeleteInvitations = "DeleteInvitations"
1108
1109// DeleteInvitationsRequest generates a "aws/request.Request" representing the
1110// client's request for the DeleteInvitations operation. The "output" return
1111// value will be populated with the request's response once the request completes
1112// successfully.
1113//
1114// Use "Send" method on the returned Request to send the API call to the service.
1115// the "output" return value is not valid until after Send returns without error.
1116//
1117// See DeleteInvitations for more information on using the DeleteInvitations
1118// API call, and error handling.
1119//
1120// This method is useful when you want to inject custom logic or configuration
1121// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1122//
1123//
1124//    // Example sending a request using the DeleteInvitationsRequest method.
1125//    req, resp := client.DeleteInvitationsRequest(params)
1126//
1127//    err := req.Send()
1128//    if err == nil { // resp is now filled
1129//        fmt.Println(resp)
1130//    }
1131//
1132// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteInvitations
1133func (c *GuardDuty) DeleteInvitationsRequest(input *DeleteInvitationsInput) (req *request.Request, output *DeleteInvitationsOutput) {
1134	op := &request.Operation{
1135		Name:       opDeleteInvitations,
1136		HTTPMethod: "POST",
1137		HTTPPath:   "/invitation/delete",
1138	}
1139
1140	if input == nil {
1141		input = &DeleteInvitationsInput{}
1142	}
1143
1144	output = &DeleteInvitationsOutput{}
1145	req = c.newRequest(op, input, output)
1146	return
1147}
1148
1149// DeleteInvitations API operation for Amazon GuardDuty.
1150//
1151// Deletes invitations sent to the current member account by AWS accounts specified
1152// by their account IDs.
1153//
1154// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1155// with awserr.Error's Code and Message methods to get detailed information about
1156// the error.
1157//
1158// See the AWS API reference guide for Amazon GuardDuty's
1159// API operation DeleteInvitations for usage and error information.
1160//
1161// Returned Error Types:
1162//   * BadRequestException
1163//   A bad request exception object.
1164//
1165//   * InternalServerErrorException
1166//   An internal server error exception object.
1167//
1168// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteInvitations
1169func (c *GuardDuty) DeleteInvitations(input *DeleteInvitationsInput) (*DeleteInvitationsOutput, error) {
1170	req, out := c.DeleteInvitationsRequest(input)
1171	return out, req.Send()
1172}
1173
1174// DeleteInvitationsWithContext is the same as DeleteInvitations with the addition of
1175// the ability to pass a context and additional request options.
1176//
1177// See DeleteInvitations for details on how to use this API operation.
1178//
1179// The context must be non-nil and will be used for request cancellation. If
1180// the context is nil a panic will occur. In the future the SDK may create
1181// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1182// for more information on using Contexts.
1183func (c *GuardDuty) DeleteInvitationsWithContext(ctx aws.Context, input *DeleteInvitationsInput, opts ...request.Option) (*DeleteInvitationsOutput, error) {
1184	req, out := c.DeleteInvitationsRequest(input)
1185	req.SetContext(ctx)
1186	req.ApplyOptions(opts...)
1187	return out, req.Send()
1188}
1189
1190const opDeleteMembers = "DeleteMembers"
1191
1192// DeleteMembersRequest generates a "aws/request.Request" representing the
1193// client's request for the DeleteMembers operation. The "output" return
1194// value will be populated with the request's response once the request completes
1195// successfully.
1196//
1197// Use "Send" method on the returned Request to send the API call to the service.
1198// the "output" return value is not valid until after Send returns without error.
1199//
1200// See DeleteMembers for more information on using the DeleteMembers
1201// API call, and error handling.
1202//
1203// This method is useful when you want to inject custom logic or configuration
1204// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1205//
1206//
1207//    // Example sending a request using the DeleteMembersRequest method.
1208//    req, resp := client.DeleteMembersRequest(params)
1209//
1210//    err := req.Send()
1211//    if err == nil { // resp is now filled
1212//        fmt.Println(resp)
1213//    }
1214//
1215// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteMembers
1216func (c *GuardDuty) DeleteMembersRequest(input *DeleteMembersInput) (req *request.Request, output *DeleteMembersOutput) {
1217	op := &request.Operation{
1218		Name:       opDeleteMembers,
1219		HTTPMethod: "POST",
1220		HTTPPath:   "/detector/{detectorId}/member/delete",
1221	}
1222
1223	if input == nil {
1224		input = &DeleteMembersInput{}
1225	}
1226
1227	output = &DeleteMembersOutput{}
1228	req = c.newRequest(op, input, output)
1229	return
1230}
1231
1232// DeleteMembers API operation for Amazon GuardDuty.
1233//
1234// Deletes GuardDuty member accounts (to the current GuardDuty master account)
1235// specified by the account IDs.
1236//
1237// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1238// with awserr.Error's Code and Message methods to get detailed information about
1239// the error.
1240//
1241// See the AWS API reference guide for Amazon GuardDuty's
1242// API operation DeleteMembers for usage and error information.
1243//
1244// Returned Error Types:
1245//   * BadRequestException
1246//   A bad request exception object.
1247//
1248//   * InternalServerErrorException
1249//   An internal server error exception object.
1250//
1251// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteMembers
1252func (c *GuardDuty) DeleteMembers(input *DeleteMembersInput) (*DeleteMembersOutput, error) {
1253	req, out := c.DeleteMembersRequest(input)
1254	return out, req.Send()
1255}
1256
1257// DeleteMembersWithContext is the same as DeleteMembers with the addition of
1258// the ability to pass a context and additional request options.
1259//
1260// See DeleteMembers for details on how to use this API operation.
1261//
1262// The context must be non-nil and will be used for request cancellation. If
1263// the context is nil a panic will occur. In the future the SDK may create
1264// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1265// for more information on using Contexts.
1266func (c *GuardDuty) DeleteMembersWithContext(ctx aws.Context, input *DeleteMembersInput, opts ...request.Option) (*DeleteMembersOutput, error) {
1267	req, out := c.DeleteMembersRequest(input)
1268	req.SetContext(ctx)
1269	req.ApplyOptions(opts...)
1270	return out, req.Send()
1271}
1272
1273const opDeletePublishingDestination = "DeletePublishingDestination"
1274
1275// DeletePublishingDestinationRequest generates a "aws/request.Request" representing the
1276// client's request for the DeletePublishingDestination operation. The "output" return
1277// value will be populated with the request's response once the request completes
1278// successfully.
1279//
1280// Use "Send" method on the returned Request to send the API call to the service.
1281// the "output" return value is not valid until after Send returns without error.
1282//
1283// See DeletePublishingDestination for more information on using the DeletePublishingDestination
1284// API call, and error handling.
1285//
1286// This method is useful when you want to inject custom logic or configuration
1287// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1288//
1289//
1290//    // Example sending a request using the DeletePublishingDestinationRequest method.
1291//    req, resp := client.DeletePublishingDestinationRequest(params)
1292//
1293//    err := req.Send()
1294//    if err == nil { // resp is now filled
1295//        fmt.Println(resp)
1296//    }
1297//
1298// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeletePublishingDestination
1299func (c *GuardDuty) DeletePublishingDestinationRequest(input *DeletePublishingDestinationInput) (req *request.Request, output *DeletePublishingDestinationOutput) {
1300	op := &request.Operation{
1301		Name:       opDeletePublishingDestination,
1302		HTTPMethod: "DELETE",
1303		HTTPPath:   "/detector/{detectorId}/publishingDestination/{destinationId}",
1304	}
1305
1306	if input == nil {
1307		input = &DeletePublishingDestinationInput{}
1308	}
1309
1310	output = &DeletePublishingDestinationOutput{}
1311	req = c.newRequest(op, input, output)
1312	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1313	return
1314}
1315
1316// DeletePublishingDestination API operation for Amazon GuardDuty.
1317//
1318// Deletes the publishing definition with the specified destinationId.
1319//
1320// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1321// with awserr.Error's Code and Message methods to get detailed information about
1322// the error.
1323//
1324// See the AWS API reference guide for Amazon GuardDuty's
1325// API operation DeletePublishingDestination for usage and error information.
1326//
1327// Returned Error Types:
1328//   * BadRequestException
1329//   A bad request exception object.
1330//
1331//   * InternalServerErrorException
1332//   An internal server error exception object.
1333//
1334// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeletePublishingDestination
1335func (c *GuardDuty) DeletePublishingDestination(input *DeletePublishingDestinationInput) (*DeletePublishingDestinationOutput, error) {
1336	req, out := c.DeletePublishingDestinationRequest(input)
1337	return out, req.Send()
1338}
1339
1340// DeletePublishingDestinationWithContext is the same as DeletePublishingDestination with the addition of
1341// the ability to pass a context and additional request options.
1342//
1343// See DeletePublishingDestination for details on how to use this API operation.
1344//
1345// The context must be non-nil and will be used for request cancellation. If
1346// the context is nil a panic will occur. In the future the SDK may create
1347// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1348// for more information on using Contexts.
1349func (c *GuardDuty) DeletePublishingDestinationWithContext(ctx aws.Context, input *DeletePublishingDestinationInput, opts ...request.Option) (*DeletePublishingDestinationOutput, error) {
1350	req, out := c.DeletePublishingDestinationRequest(input)
1351	req.SetContext(ctx)
1352	req.ApplyOptions(opts...)
1353	return out, req.Send()
1354}
1355
1356const opDeleteThreatIntelSet = "DeleteThreatIntelSet"
1357
1358// DeleteThreatIntelSetRequest generates a "aws/request.Request" representing the
1359// client's request for the DeleteThreatIntelSet operation. The "output" return
1360// value will be populated with the request's response once the request completes
1361// successfully.
1362//
1363// Use "Send" method on the returned Request to send the API call to the service.
1364// the "output" return value is not valid until after Send returns without error.
1365//
1366// See DeleteThreatIntelSet for more information on using the DeleteThreatIntelSet
1367// API call, and error handling.
1368//
1369// This method is useful when you want to inject custom logic or configuration
1370// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1371//
1372//
1373//    // Example sending a request using the DeleteThreatIntelSetRequest method.
1374//    req, resp := client.DeleteThreatIntelSetRequest(params)
1375//
1376//    err := req.Send()
1377//    if err == nil { // resp is now filled
1378//        fmt.Println(resp)
1379//    }
1380//
1381// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteThreatIntelSet
1382func (c *GuardDuty) DeleteThreatIntelSetRequest(input *DeleteThreatIntelSetInput) (req *request.Request, output *DeleteThreatIntelSetOutput) {
1383	op := &request.Operation{
1384		Name:       opDeleteThreatIntelSet,
1385		HTTPMethod: "DELETE",
1386		HTTPPath:   "/detector/{detectorId}/threatintelset/{threatIntelSetId}",
1387	}
1388
1389	if input == nil {
1390		input = &DeleteThreatIntelSetInput{}
1391	}
1392
1393	output = &DeleteThreatIntelSetOutput{}
1394	req = c.newRequest(op, input, output)
1395	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1396	return
1397}
1398
1399// DeleteThreatIntelSet API operation for Amazon GuardDuty.
1400//
1401// Deletes the ThreatIntelSet specified by the ThreatIntelSet ID.
1402//
1403// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1404// with awserr.Error's Code and Message methods to get detailed information about
1405// the error.
1406//
1407// See the AWS API reference guide for Amazon GuardDuty's
1408// API operation DeleteThreatIntelSet for usage and error information.
1409//
1410// Returned Error Types:
1411//   * BadRequestException
1412//   A bad request exception object.
1413//
1414//   * InternalServerErrorException
1415//   An internal server error exception object.
1416//
1417// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteThreatIntelSet
1418func (c *GuardDuty) DeleteThreatIntelSet(input *DeleteThreatIntelSetInput) (*DeleteThreatIntelSetOutput, error) {
1419	req, out := c.DeleteThreatIntelSetRequest(input)
1420	return out, req.Send()
1421}
1422
1423// DeleteThreatIntelSetWithContext is the same as DeleteThreatIntelSet with the addition of
1424// the ability to pass a context and additional request options.
1425//
1426// See DeleteThreatIntelSet for details on how to use this API operation.
1427//
1428// The context must be non-nil and will be used for request cancellation. If
1429// the context is nil a panic will occur. In the future the SDK may create
1430// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1431// for more information on using Contexts.
1432func (c *GuardDuty) DeleteThreatIntelSetWithContext(ctx aws.Context, input *DeleteThreatIntelSetInput, opts ...request.Option) (*DeleteThreatIntelSetOutput, error) {
1433	req, out := c.DeleteThreatIntelSetRequest(input)
1434	req.SetContext(ctx)
1435	req.ApplyOptions(opts...)
1436	return out, req.Send()
1437}
1438
1439const opDescribeOrganizationConfiguration = "DescribeOrganizationConfiguration"
1440
1441// DescribeOrganizationConfigurationRequest generates a "aws/request.Request" representing the
1442// client's request for the DescribeOrganizationConfiguration operation. The "output" return
1443// value will be populated with the request's response once the request completes
1444// successfully.
1445//
1446// Use "Send" method on the returned Request to send the API call to the service.
1447// the "output" return value is not valid until after Send returns without error.
1448//
1449// See DescribeOrganizationConfiguration for more information on using the DescribeOrganizationConfiguration
1450// API call, and error handling.
1451//
1452// This method is useful when you want to inject custom logic or configuration
1453// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1454//
1455//
1456//    // Example sending a request using the DescribeOrganizationConfigurationRequest method.
1457//    req, resp := client.DescribeOrganizationConfigurationRequest(params)
1458//
1459//    err := req.Send()
1460//    if err == nil { // resp is now filled
1461//        fmt.Println(resp)
1462//    }
1463//
1464// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribeOrganizationConfiguration
1465func (c *GuardDuty) DescribeOrganizationConfigurationRequest(input *DescribeOrganizationConfigurationInput) (req *request.Request, output *DescribeOrganizationConfigurationOutput) {
1466	op := &request.Operation{
1467		Name:       opDescribeOrganizationConfiguration,
1468		HTTPMethod: "GET",
1469		HTTPPath:   "/detector/{detectorId}/admin",
1470	}
1471
1472	if input == nil {
1473		input = &DescribeOrganizationConfigurationInput{}
1474	}
1475
1476	output = &DescribeOrganizationConfigurationOutput{}
1477	req = c.newRequest(op, input, output)
1478	return
1479}
1480
1481// DescribeOrganizationConfiguration API operation for Amazon GuardDuty.
1482//
1483// Returns information about the account selected as the delegated administrator
1484// for GuardDuty.
1485//
1486// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1487// with awserr.Error's Code and Message methods to get detailed information about
1488// the error.
1489//
1490// See the AWS API reference guide for Amazon GuardDuty's
1491// API operation DescribeOrganizationConfiguration for usage and error information.
1492//
1493// Returned Error Types:
1494//   * BadRequestException
1495//   A bad request exception object.
1496//
1497//   * InternalServerErrorException
1498//   An internal server error exception object.
1499//
1500// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribeOrganizationConfiguration
1501func (c *GuardDuty) DescribeOrganizationConfiguration(input *DescribeOrganizationConfigurationInput) (*DescribeOrganizationConfigurationOutput, error) {
1502	req, out := c.DescribeOrganizationConfigurationRequest(input)
1503	return out, req.Send()
1504}
1505
1506// DescribeOrganizationConfigurationWithContext is the same as DescribeOrganizationConfiguration with the addition of
1507// the ability to pass a context and additional request options.
1508//
1509// See DescribeOrganizationConfiguration for details on how to use this API operation.
1510//
1511// The context must be non-nil and will be used for request cancellation. If
1512// the context is nil a panic will occur. In the future the SDK may create
1513// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1514// for more information on using Contexts.
1515func (c *GuardDuty) DescribeOrganizationConfigurationWithContext(ctx aws.Context, input *DescribeOrganizationConfigurationInput, opts ...request.Option) (*DescribeOrganizationConfigurationOutput, error) {
1516	req, out := c.DescribeOrganizationConfigurationRequest(input)
1517	req.SetContext(ctx)
1518	req.ApplyOptions(opts...)
1519	return out, req.Send()
1520}
1521
1522const opDescribePublishingDestination = "DescribePublishingDestination"
1523
1524// DescribePublishingDestinationRequest generates a "aws/request.Request" representing the
1525// client's request for the DescribePublishingDestination operation. The "output" return
1526// value will be populated with the request's response once the request completes
1527// successfully.
1528//
1529// Use "Send" method on the returned Request to send the API call to the service.
1530// the "output" return value is not valid until after Send returns without error.
1531//
1532// See DescribePublishingDestination for more information on using the DescribePublishingDestination
1533// API call, and error handling.
1534//
1535// This method is useful when you want to inject custom logic or configuration
1536// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1537//
1538//
1539//    // Example sending a request using the DescribePublishingDestinationRequest method.
1540//    req, resp := client.DescribePublishingDestinationRequest(params)
1541//
1542//    err := req.Send()
1543//    if err == nil { // resp is now filled
1544//        fmt.Println(resp)
1545//    }
1546//
1547// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribePublishingDestination
1548func (c *GuardDuty) DescribePublishingDestinationRequest(input *DescribePublishingDestinationInput) (req *request.Request, output *DescribePublishingDestinationOutput) {
1549	op := &request.Operation{
1550		Name:       opDescribePublishingDestination,
1551		HTTPMethod: "GET",
1552		HTTPPath:   "/detector/{detectorId}/publishingDestination/{destinationId}",
1553	}
1554
1555	if input == nil {
1556		input = &DescribePublishingDestinationInput{}
1557	}
1558
1559	output = &DescribePublishingDestinationOutput{}
1560	req = c.newRequest(op, input, output)
1561	return
1562}
1563
1564// DescribePublishingDestination API operation for Amazon GuardDuty.
1565//
1566// Returns information about the publishing destination specified by the provided
1567// destinationId.
1568//
1569// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1570// with awserr.Error's Code and Message methods to get detailed information about
1571// the error.
1572//
1573// See the AWS API reference guide for Amazon GuardDuty's
1574// API operation DescribePublishingDestination for usage and error information.
1575//
1576// Returned Error Types:
1577//   * BadRequestException
1578//   A bad request exception object.
1579//
1580//   * InternalServerErrorException
1581//   An internal server error exception object.
1582//
1583// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribePublishingDestination
1584func (c *GuardDuty) DescribePublishingDestination(input *DescribePublishingDestinationInput) (*DescribePublishingDestinationOutput, error) {
1585	req, out := c.DescribePublishingDestinationRequest(input)
1586	return out, req.Send()
1587}
1588
1589// DescribePublishingDestinationWithContext is the same as DescribePublishingDestination with the addition of
1590// the ability to pass a context and additional request options.
1591//
1592// See DescribePublishingDestination for details on how to use this API operation.
1593//
1594// The context must be non-nil and will be used for request cancellation. If
1595// the context is nil a panic will occur. In the future the SDK may create
1596// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1597// for more information on using Contexts.
1598func (c *GuardDuty) DescribePublishingDestinationWithContext(ctx aws.Context, input *DescribePublishingDestinationInput, opts ...request.Option) (*DescribePublishingDestinationOutput, error) {
1599	req, out := c.DescribePublishingDestinationRequest(input)
1600	req.SetContext(ctx)
1601	req.ApplyOptions(opts...)
1602	return out, req.Send()
1603}
1604
1605const opDisableOrganizationAdminAccount = "DisableOrganizationAdminAccount"
1606
1607// DisableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
1608// client's request for the DisableOrganizationAdminAccount operation. The "output" return
1609// value will be populated with the request's response once the request completes
1610// successfully.
1611//
1612// Use "Send" method on the returned Request to send the API call to the service.
1613// the "output" return value is not valid until after Send returns without error.
1614//
1615// See DisableOrganizationAdminAccount for more information on using the DisableOrganizationAdminAccount
1616// API call, and error handling.
1617//
1618// This method is useful when you want to inject custom logic or configuration
1619// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1620//
1621//
1622//    // Example sending a request using the DisableOrganizationAdminAccountRequest method.
1623//    req, resp := client.DisableOrganizationAdminAccountRequest(params)
1624//
1625//    err := req.Send()
1626//    if err == nil { // resp is now filled
1627//        fmt.Println(resp)
1628//    }
1629//
1630// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisableOrganizationAdminAccount
1631func (c *GuardDuty) DisableOrganizationAdminAccountRequest(input *DisableOrganizationAdminAccountInput) (req *request.Request, output *DisableOrganizationAdminAccountOutput) {
1632	op := &request.Operation{
1633		Name:       opDisableOrganizationAdminAccount,
1634		HTTPMethod: "POST",
1635		HTTPPath:   "/admin/disable",
1636	}
1637
1638	if input == nil {
1639		input = &DisableOrganizationAdminAccountInput{}
1640	}
1641
1642	output = &DisableOrganizationAdminAccountOutput{}
1643	req = c.newRequest(op, input, output)
1644	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1645	return
1646}
1647
1648// DisableOrganizationAdminAccount API operation for Amazon GuardDuty.
1649//
1650// Disables an AWS account within the Organization as the GuardDuty delegated
1651// administrator.
1652//
1653// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1654// with awserr.Error's Code and Message methods to get detailed information about
1655// the error.
1656//
1657// See the AWS API reference guide for Amazon GuardDuty's
1658// API operation DisableOrganizationAdminAccount for usage and error information.
1659//
1660// Returned Error Types:
1661//   * BadRequestException
1662//   A bad request exception object.
1663//
1664//   * InternalServerErrorException
1665//   An internal server error exception object.
1666//
1667// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisableOrganizationAdminAccount
1668func (c *GuardDuty) DisableOrganizationAdminAccount(input *DisableOrganizationAdminAccountInput) (*DisableOrganizationAdminAccountOutput, error) {
1669	req, out := c.DisableOrganizationAdminAccountRequest(input)
1670	return out, req.Send()
1671}
1672
1673// DisableOrganizationAdminAccountWithContext is the same as DisableOrganizationAdminAccount with the addition of
1674// the ability to pass a context and additional request options.
1675//
1676// See DisableOrganizationAdminAccount for details on how to use this API operation.
1677//
1678// The context must be non-nil and will be used for request cancellation. If
1679// the context is nil a panic will occur. In the future the SDK may create
1680// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1681// for more information on using Contexts.
1682func (c *GuardDuty) DisableOrganizationAdminAccountWithContext(ctx aws.Context, input *DisableOrganizationAdminAccountInput, opts ...request.Option) (*DisableOrganizationAdminAccountOutput, error) {
1683	req, out := c.DisableOrganizationAdminAccountRequest(input)
1684	req.SetContext(ctx)
1685	req.ApplyOptions(opts...)
1686	return out, req.Send()
1687}
1688
1689const opDisassociateFromMasterAccount = "DisassociateFromMasterAccount"
1690
1691// DisassociateFromMasterAccountRequest generates a "aws/request.Request" representing the
1692// client's request for the DisassociateFromMasterAccount operation. The "output" return
1693// value will be populated with the request's response once the request completes
1694// successfully.
1695//
1696// Use "Send" method on the returned Request to send the API call to the service.
1697// the "output" return value is not valid until after Send returns without error.
1698//
1699// See DisassociateFromMasterAccount for more information on using the DisassociateFromMasterAccount
1700// API call, and error handling.
1701//
1702// This method is useful when you want to inject custom logic or configuration
1703// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1704//
1705//
1706//    // Example sending a request using the DisassociateFromMasterAccountRequest method.
1707//    req, resp := client.DisassociateFromMasterAccountRequest(params)
1708//
1709//    err := req.Send()
1710//    if err == nil { // resp is now filled
1711//        fmt.Println(resp)
1712//    }
1713//
1714// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateFromMasterAccount
1715func (c *GuardDuty) DisassociateFromMasterAccountRequest(input *DisassociateFromMasterAccountInput) (req *request.Request, output *DisassociateFromMasterAccountOutput) {
1716	op := &request.Operation{
1717		Name:       opDisassociateFromMasterAccount,
1718		HTTPMethod: "POST",
1719		HTTPPath:   "/detector/{detectorId}/master/disassociate",
1720	}
1721
1722	if input == nil {
1723		input = &DisassociateFromMasterAccountInput{}
1724	}
1725
1726	output = &DisassociateFromMasterAccountOutput{}
1727	req = c.newRequest(op, input, output)
1728	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1729	return
1730}
1731
1732// DisassociateFromMasterAccount API operation for Amazon GuardDuty.
1733//
1734// Disassociates the current GuardDuty member account from its master account.
1735//
1736// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1737// with awserr.Error's Code and Message methods to get detailed information about
1738// the error.
1739//
1740// See the AWS API reference guide for Amazon GuardDuty's
1741// API operation DisassociateFromMasterAccount for usage and error information.
1742//
1743// Returned Error Types:
1744//   * BadRequestException
1745//   A bad request exception object.
1746//
1747//   * InternalServerErrorException
1748//   An internal server error exception object.
1749//
1750// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateFromMasterAccount
1751func (c *GuardDuty) DisassociateFromMasterAccount(input *DisassociateFromMasterAccountInput) (*DisassociateFromMasterAccountOutput, error) {
1752	req, out := c.DisassociateFromMasterAccountRequest(input)
1753	return out, req.Send()
1754}
1755
1756// DisassociateFromMasterAccountWithContext is the same as DisassociateFromMasterAccount with the addition of
1757// the ability to pass a context and additional request options.
1758//
1759// See DisassociateFromMasterAccount for details on how to use this API operation.
1760//
1761// The context must be non-nil and will be used for request cancellation. If
1762// the context is nil a panic will occur. In the future the SDK may create
1763// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1764// for more information on using Contexts.
1765func (c *GuardDuty) DisassociateFromMasterAccountWithContext(ctx aws.Context, input *DisassociateFromMasterAccountInput, opts ...request.Option) (*DisassociateFromMasterAccountOutput, error) {
1766	req, out := c.DisassociateFromMasterAccountRequest(input)
1767	req.SetContext(ctx)
1768	req.ApplyOptions(opts...)
1769	return out, req.Send()
1770}
1771
1772const opDisassociateMembers = "DisassociateMembers"
1773
1774// DisassociateMembersRequest generates a "aws/request.Request" representing the
1775// client's request for the DisassociateMembers operation. The "output" return
1776// value will be populated with the request's response once the request completes
1777// successfully.
1778//
1779// Use "Send" method on the returned Request to send the API call to the service.
1780// the "output" return value is not valid until after Send returns without error.
1781//
1782// See DisassociateMembers for more information on using the DisassociateMembers
1783// API call, and error handling.
1784//
1785// This method is useful when you want to inject custom logic or configuration
1786// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1787//
1788//
1789//    // Example sending a request using the DisassociateMembersRequest method.
1790//    req, resp := client.DisassociateMembersRequest(params)
1791//
1792//    err := req.Send()
1793//    if err == nil { // resp is now filled
1794//        fmt.Println(resp)
1795//    }
1796//
1797// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateMembers
1798func (c *GuardDuty) DisassociateMembersRequest(input *DisassociateMembersInput) (req *request.Request, output *DisassociateMembersOutput) {
1799	op := &request.Operation{
1800		Name:       opDisassociateMembers,
1801		HTTPMethod: "POST",
1802		HTTPPath:   "/detector/{detectorId}/member/disassociate",
1803	}
1804
1805	if input == nil {
1806		input = &DisassociateMembersInput{}
1807	}
1808
1809	output = &DisassociateMembersOutput{}
1810	req = c.newRequest(op, input, output)
1811	return
1812}
1813
1814// DisassociateMembers API operation for Amazon GuardDuty.
1815//
1816// Disassociates GuardDuty member accounts (to the current GuardDuty master
1817// account) specified by the account IDs.
1818//
1819// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1820// with awserr.Error's Code and Message methods to get detailed information about
1821// the error.
1822//
1823// See the AWS API reference guide for Amazon GuardDuty's
1824// API operation DisassociateMembers for usage and error information.
1825//
1826// Returned Error Types:
1827//   * BadRequestException
1828//   A bad request exception object.
1829//
1830//   * InternalServerErrorException
1831//   An internal server error exception object.
1832//
1833// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateMembers
1834func (c *GuardDuty) DisassociateMembers(input *DisassociateMembersInput) (*DisassociateMembersOutput, error) {
1835	req, out := c.DisassociateMembersRequest(input)
1836	return out, req.Send()
1837}
1838
1839// DisassociateMembersWithContext is the same as DisassociateMembers with the addition of
1840// the ability to pass a context and additional request options.
1841//
1842// See DisassociateMembers for details on how to use this API operation.
1843//
1844// The context must be non-nil and will be used for request cancellation. If
1845// the context is nil a panic will occur. In the future the SDK may create
1846// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1847// for more information on using Contexts.
1848func (c *GuardDuty) DisassociateMembersWithContext(ctx aws.Context, input *DisassociateMembersInput, opts ...request.Option) (*DisassociateMembersOutput, error) {
1849	req, out := c.DisassociateMembersRequest(input)
1850	req.SetContext(ctx)
1851	req.ApplyOptions(opts...)
1852	return out, req.Send()
1853}
1854
1855const opEnableOrganizationAdminAccount = "EnableOrganizationAdminAccount"
1856
1857// EnableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
1858// client's request for the EnableOrganizationAdminAccount operation. The "output" return
1859// value will be populated with the request's response once the request completes
1860// successfully.
1861//
1862// Use "Send" method on the returned Request to send the API call to the service.
1863// the "output" return value is not valid until after Send returns without error.
1864//
1865// See EnableOrganizationAdminAccount for more information on using the EnableOrganizationAdminAccount
1866// API call, and error handling.
1867//
1868// This method is useful when you want to inject custom logic or configuration
1869// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1870//
1871//
1872//    // Example sending a request using the EnableOrganizationAdminAccountRequest method.
1873//    req, resp := client.EnableOrganizationAdminAccountRequest(params)
1874//
1875//    err := req.Send()
1876//    if err == nil { // resp is now filled
1877//        fmt.Println(resp)
1878//    }
1879//
1880// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/EnableOrganizationAdminAccount
1881func (c *GuardDuty) EnableOrganizationAdminAccountRequest(input *EnableOrganizationAdminAccountInput) (req *request.Request, output *EnableOrganizationAdminAccountOutput) {
1882	op := &request.Operation{
1883		Name:       opEnableOrganizationAdminAccount,
1884		HTTPMethod: "POST",
1885		HTTPPath:   "/admin/enable",
1886	}
1887
1888	if input == nil {
1889		input = &EnableOrganizationAdminAccountInput{}
1890	}
1891
1892	output = &EnableOrganizationAdminAccountOutput{}
1893	req = c.newRequest(op, input, output)
1894	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
1895	return
1896}
1897
1898// EnableOrganizationAdminAccount API operation for Amazon GuardDuty.
1899//
1900// Enables an AWS account within the organization as the GuardDuty delegated
1901// administrator.
1902//
1903// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1904// with awserr.Error's Code and Message methods to get detailed information about
1905// the error.
1906//
1907// See the AWS API reference guide for Amazon GuardDuty's
1908// API operation EnableOrganizationAdminAccount for usage and error information.
1909//
1910// Returned Error Types:
1911//   * BadRequestException
1912//   A bad request exception object.
1913//
1914//   * InternalServerErrorException
1915//   An internal server error exception object.
1916//
1917// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/EnableOrganizationAdminAccount
1918func (c *GuardDuty) EnableOrganizationAdminAccount(input *EnableOrganizationAdminAccountInput) (*EnableOrganizationAdminAccountOutput, error) {
1919	req, out := c.EnableOrganizationAdminAccountRequest(input)
1920	return out, req.Send()
1921}
1922
1923// EnableOrganizationAdminAccountWithContext is the same as EnableOrganizationAdminAccount with the addition of
1924// the ability to pass a context and additional request options.
1925//
1926// See EnableOrganizationAdminAccount for details on how to use this API operation.
1927//
1928// The context must be non-nil and will be used for request cancellation. If
1929// the context is nil a panic will occur. In the future the SDK may create
1930// sub-contexts for http.Requests. See https://golang.org/pkg/context/
1931// for more information on using Contexts.
1932func (c *GuardDuty) EnableOrganizationAdminAccountWithContext(ctx aws.Context, input *EnableOrganizationAdminAccountInput, opts ...request.Option) (*EnableOrganizationAdminAccountOutput, error) {
1933	req, out := c.EnableOrganizationAdminAccountRequest(input)
1934	req.SetContext(ctx)
1935	req.ApplyOptions(opts...)
1936	return out, req.Send()
1937}
1938
1939const opGetDetector = "GetDetector"
1940
1941// GetDetectorRequest generates a "aws/request.Request" representing the
1942// client's request for the GetDetector operation. The "output" return
1943// value will be populated with the request's response once the request completes
1944// successfully.
1945//
1946// Use "Send" method on the returned Request to send the API call to the service.
1947// the "output" return value is not valid until after Send returns without error.
1948//
1949// See GetDetector for more information on using the GetDetector
1950// API call, and error handling.
1951//
1952// This method is useful when you want to inject custom logic or configuration
1953// into the SDK's request lifecycle. Such as custom headers, or retry logic.
1954//
1955//
1956//    // Example sending a request using the GetDetectorRequest method.
1957//    req, resp := client.GetDetectorRequest(params)
1958//
1959//    err := req.Send()
1960//    if err == nil { // resp is now filled
1961//        fmt.Println(resp)
1962//    }
1963//
1964// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetDetector
1965func (c *GuardDuty) GetDetectorRequest(input *GetDetectorInput) (req *request.Request, output *GetDetectorOutput) {
1966	op := &request.Operation{
1967		Name:       opGetDetector,
1968		HTTPMethod: "GET",
1969		HTTPPath:   "/detector/{detectorId}",
1970	}
1971
1972	if input == nil {
1973		input = &GetDetectorInput{}
1974	}
1975
1976	output = &GetDetectorOutput{}
1977	req = c.newRequest(op, input, output)
1978	return
1979}
1980
1981// GetDetector API operation for Amazon GuardDuty.
1982//
1983// Retrieves an Amazon GuardDuty detector specified by the detectorId.
1984//
1985// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
1986// with awserr.Error's Code and Message methods to get detailed information about
1987// the error.
1988//
1989// See the AWS API reference guide for Amazon GuardDuty's
1990// API operation GetDetector for usage and error information.
1991//
1992// Returned Error Types:
1993//   * BadRequestException
1994//   A bad request exception object.
1995//
1996//   * InternalServerErrorException
1997//   An internal server error exception object.
1998//
1999// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetDetector
2000func (c *GuardDuty) GetDetector(input *GetDetectorInput) (*GetDetectorOutput, error) {
2001	req, out := c.GetDetectorRequest(input)
2002	return out, req.Send()
2003}
2004
2005// GetDetectorWithContext is the same as GetDetector with the addition of
2006// the ability to pass a context and additional request options.
2007//
2008// See GetDetector for details on how to use this API operation.
2009//
2010// The context must be non-nil and will be used for request cancellation. If
2011// the context is nil a panic will occur. In the future the SDK may create
2012// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2013// for more information on using Contexts.
2014func (c *GuardDuty) GetDetectorWithContext(ctx aws.Context, input *GetDetectorInput, opts ...request.Option) (*GetDetectorOutput, error) {
2015	req, out := c.GetDetectorRequest(input)
2016	req.SetContext(ctx)
2017	req.ApplyOptions(opts...)
2018	return out, req.Send()
2019}
2020
2021const opGetFilter = "GetFilter"
2022
2023// GetFilterRequest generates a "aws/request.Request" representing the
2024// client's request for the GetFilter operation. The "output" return
2025// value will be populated with the request's response once the request completes
2026// successfully.
2027//
2028// Use "Send" method on the returned Request to send the API call to the service.
2029// the "output" return value is not valid until after Send returns without error.
2030//
2031// See GetFilter for more information on using the GetFilter
2032// API call, and error handling.
2033//
2034// This method is useful when you want to inject custom logic or configuration
2035// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2036//
2037//
2038//    // Example sending a request using the GetFilterRequest method.
2039//    req, resp := client.GetFilterRequest(params)
2040//
2041//    err := req.Send()
2042//    if err == nil { // resp is now filled
2043//        fmt.Println(resp)
2044//    }
2045//
2046// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFilter
2047func (c *GuardDuty) GetFilterRequest(input *GetFilterInput) (req *request.Request, output *GetFilterOutput) {
2048	op := &request.Operation{
2049		Name:       opGetFilter,
2050		HTTPMethod: "GET",
2051		HTTPPath:   "/detector/{detectorId}/filter/{filterName}",
2052	}
2053
2054	if input == nil {
2055		input = &GetFilterInput{}
2056	}
2057
2058	output = &GetFilterOutput{}
2059	req = c.newRequest(op, input, output)
2060	return
2061}
2062
2063// GetFilter API operation for Amazon GuardDuty.
2064//
2065// Returns the details of the filter specified by the filter name.
2066//
2067// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2068// with awserr.Error's Code and Message methods to get detailed information about
2069// the error.
2070//
2071// See the AWS API reference guide for Amazon GuardDuty's
2072// API operation GetFilter for usage and error information.
2073//
2074// Returned Error Types:
2075//   * BadRequestException
2076//   A bad request exception object.
2077//
2078//   * InternalServerErrorException
2079//   An internal server error exception object.
2080//
2081// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFilter
2082func (c *GuardDuty) GetFilter(input *GetFilterInput) (*GetFilterOutput, error) {
2083	req, out := c.GetFilterRequest(input)
2084	return out, req.Send()
2085}
2086
2087// GetFilterWithContext is the same as GetFilter with the addition of
2088// the ability to pass a context and additional request options.
2089//
2090// See GetFilter for details on how to use this API operation.
2091//
2092// The context must be non-nil and will be used for request cancellation. If
2093// the context is nil a panic will occur. In the future the SDK may create
2094// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2095// for more information on using Contexts.
2096func (c *GuardDuty) GetFilterWithContext(ctx aws.Context, input *GetFilterInput, opts ...request.Option) (*GetFilterOutput, error) {
2097	req, out := c.GetFilterRequest(input)
2098	req.SetContext(ctx)
2099	req.ApplyOptions(opts...)
2100	return out, req.Send()
2101}
2102
2103const opGetFindings = "GetFindings"
2104
2105// GetFindingsRequest generates a "aws/request.Request" representing the
2106// client's request for the GetFindings operation. The "output" return
2107// value will be populated with the request's response once the request completes
2108// successfully.
2109//
2110// Use "Send" method on the returned Request to send the API call to the service.
2111// the "output" return value is not valid until after Send returns without error.
2112//
2113// See GetFindings for more information on using the GetFindings
2114// API call, and error handling.
2115//
2116// This method is useful when you want to inject custom logic or configuration
2117// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2118//
2119//
2120//    // Example sending a request using the GetFindingsRequest method.
2121//    req, resp := client.GetFindingsRequest(params)
2122//
2123//    err := req.Send()
2124//    if err == nil { // resp is now filled
2125//        fmt.Println(resp)
2126//    }
2127//
2128// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFindings
2129func (c *GuardDuty) GetFindingsRequest(input *GetFindingsInput) (req *request.Request, output *GetFindingsOutput) {
2130	op := &request.Operation{
2131		Name:       opGetFindings,
2132		HTTPMethod: "POST",
2133		HTTPPath:   "/detector/{detectorId}/findings/get",
2134	}
2135
2136	if input == nil {
2137		input = &GetFindingsInput{}
2138	}
2139
2140	output = &GetFindingsOutput{}
2141	req = c.newRequest(op, input, output)
2142	return
2143}
2144
2145// GetFindings API operation for Amazon GuardDuty.
2146//
2147// Describes Amazon GuardDuty findings specified by finding IDs.
2148//
2149// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2150// with awserr.Error's Code and Message methods to get detailed information about
2151// the error.
2152//
2153// See the AWS API reference guide for Amazon GuardDuty's
2154// API operation GetFindings for usage and error information.
2155//
2156// Returned Error Types:
2157//   * BadRequestException
2158//   A bad request exception object.
2159//
2160//   * InternalServerErrorException
2161//   An internal server error exception object.
2162//
2163// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFindings
2164func (c *GuardDuty) GetFindings(input *GetFindingsInput) (*GetFindingsOutput, error) {
2165	req, out := c.GetFindingsRequest(input)
2166	return out, req.Send()
2167}
2168
2169// GetFindingsWithContext is the same as GetFindings with the addition of
2170// the ability to pass a context and additional request options.
2171//
2172// See GetFindings for details on how to use this API operation.
2173//
2174// The context must be non-nil and will be used for request cancellation. If
2175// the context is nil a panic will occur. In the future the SDK may create
2176// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2177// for more information on using Contexts.
2178func (c *GuardDuty) GetFindingsWithContext(ctx aws.Context, input *GetFindingsInput, opts ...request.Option) (*GetFindingsOutput, error) {
2179	req, out := c.GetFindingsRequest(input)
2180	req.SetContext(ctx)
2181	req.ApplyOptions(opts...)
2182	return out, req.Send()
2183}
2184
2185const opGetFindingsStatistics = "GetFindingsStatistics"
2186
2187// GetFindingsStatisticsRequest generates a "aws/request.Request" representing the
2188// client's request for the GetFindingsStatistics operation. The "output" return
2189// value will be populated with the request's response once the request completes
2190// successfully.
2191//
2192// Use "Send" method on the returned Request to send the API call to the service.
2193// the "output" return value is not valid until after Send returns without error.
2194//
2195// See GetFindingsStatistics for more information on using the GetFindingsStatistics
2196// API call, and error handling.
2197//
2198// This method is useful when you want to inject custom logic or configuration
2199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2200//
2201//
2202//    // Example sending a request using the GetFindingsStatisticsRequest method.
2203//    req, resp := client.GetFindingsStatisticsRequest(params)
2204//
2205//    err := req.Send()
2206//    if err == nil { // resp is now filled
2207//        fmt.Println(resp)
2208//    }
2209//
2210// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFindingsStatistics
2211func (c *GuardDuty) GetFindingsStatisticsRequest(input *GetFindingsStatisticsInput) (req *request.Request, output *GetFindingsStatisticsOutput) {
2212	op := &request.Operation{
2213		Name:       opGetFindingsStatistics,
2214		HTTPMethod: "POST",
2215		HTTPPath:   "/detector/{detectorId}/findings/statistics",
2216	}
2217
2218	if input == nil {
2219		input = &GetFindingsStatisticsInput{}
2220	}
2221
2222	output = &GetFindingsStatisticsOutput{}
2223	req = c.newRequest(op, input, output)
2224	return
2225}
2226
2227// GetFindingsStatistics API operation for Amazon GuardDuty.
2228//
2229// Lists Amazon GuardDuty findings statistics for the specified detector ID.
2230//
2231// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2232// with awserr.Error's Code and Message methods to get detailed information about
2233// the error.
2234//
2235// See the AWS API reference guide for Amazon GuardDuty's
2236// API operation GetFindingsStatistics for usage and error information.
2237//
2238// Returned Error Types:
2239//   * BadRequestException
2240//   A bad request exception object.
2241//
2242//   * InternalServerErrorException
2243//   An internal server error exception object.
2244//
2245// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFindingsStatistics
2246func (c *GuardDuty) GetFindingsStatistics(input *GetFindingsStatisticsInput) (*GetFindingsStatisticsOutput, error) {
2247	req, out := c.GetFindingsStatisticsRequest(input)
2248	return out, req.Send()
2249}
2250
2251// GetFindingsStatisticsWithContext is the same as GetFindingsStatistics with the addition of
2252// the ability to pass a context and additional request options.
2253//
2254// See GetFindingsStatistics for details on how to use this API operation.
2255//
2256// The context must be non-nil and will be used for request cancellation. If
2257// the context is nil a panic will occur. In the future the SDK may create
2258// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2259// for more information on using Contexts.
2260func (c *GuardDuty) GetFindingsStatisticsWithContext(ctx aws.Context, input *GetFindingsStatisticsInput, opts ...request.Option) (*GetFindingsStatisticsOutput, error) {
2261	req, out := c.GetFindingsStatisticsRequest(input)
2262	req.SetContext(ctx)
2263	req.ApplyOptions(opts...)
2264	return out, req.Send()
2265}
2266
2267const opGetIPSet = "GetIPSet"
2268
2269// GetIPSetRequest generates a "aws/request.Request" representing the
2270// client's request for the GetIPSet operation. The "output" return
2271// value will be populated with the request's response once the request completes
2272// successfully.
2273//
2274// Use "Send" method on the returned Request to send the API call to the service.
2275// the "output" return value is not valid until after Send returns without error.
2276//
2277// See GetIPSet for more information on using the GetIPSet
2278// API call, and error handling.
2279//
2280// This method is useful when you want to inject custom logic or configuration
2281// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2282//
2283//
2284//    // Example sending a request using the GetIPSetRequest method.
2285//    req, resp := client.GetIPSetRequest(params)
2286//
2287//    err := req.Send()
2288//    if err == nil { // resp is now filled
2289//        fmt.Println(resp)
2290//    }
2291//
2292// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetIPSet
2293func (c *GuardDuty) GetIPSetRequest(input *GetIPSetInput) (req *request.Request, output *GetIPSetOutput) {
2294	op := &request.Operation{
2295		Name:       opGetIPSet,
2296		HTTPMethod: "GET",
2297		HTTPPath:   "/detector/{detectorId}/ipset/{ipSetId}",
2298	}
2299
2300	if input == nil {
2301		input = &GetIPSetInput{}
2302	}
2303
2304	output = &GetIPSetOutput{}
2305	req = c.newRequest(op, input, output)
2306	return
2307}
2308
2309// GetIPSet API operation for Amazon GuardDuty.
2310//
2311// Retrieves the IPSet specified by the ipSetId.
2312//
2313// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2314// with awserr.Error's Code and Message methods to get detailed information about
2315// the error.
2316//
2317// See the AWS API reference guide for Amazon GuardDuty's
2318// API operation GetIPSet for usage and error information.
2319//
2320// Returned Error Types:
2321//   * BadRequestException
2322//   A bad request exception object.
2323//
2324//   * InternalServerErrorException
2325//   An internal server error exception object.
2326//
2327// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetIPSet
2328func (c *GuardDuty) GetIPSet(input *GetIPSetInput) (*GetIPSetOutput, error) {
2329	req, out := c.GetIPSetRequest(input)
2330	return out, req.Send()
2331}
2332
2333// GetIPSetWithContext is the same as GetIPSet with the addition of
2334// the ability to pass a context and additional request options.
2335//
2336// See GetIPSet for details on how to use this API operation.
2337//
2338// The context must be non-nil and will be used for request cancellation. If
2339// the context is nil a panic will occur. In the future the SDK may create
2340// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2341// for more information on using Contexts.
2342func (c *GuardDuty) GetIPSetWithContext(ctx aws.Context, input *GetIPSetInput, opts ...request.Option) (*GetIPSetOutput, error) {
2343	req, out := c.GetIPSetRequest(input)
2344	req.SetContext(ctx)
2345	req.ApplyOptions(opts...)
2346	return out, req.Send()
2347}
2348
2349const opGetInvitationsCount = "GetInvitationsCount"
2350
2351// GetInvitationsCountRequest generates a "aws/request.Request" representing the
2352// client's request for the GetInvitationsCount operation. The "output" return
2353// value will be populated with the request's response once the request completes
2354// successfully.
2355//
2356// Use "Send" method on the returned Request to send the API call to the service.
2357// the "output" return value is not valid until after Send returns without error.
2358//
2359// See GetInvitationsCount for more information on using the GetInvitationsCount
2360// API call, and error handling.
2361//
2362// This method is useful when you want to inject custom logic or configuration
2363// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2364//
2365//
2366//    // Example sending a request using the GetInvitationsCountRequest method.
2367//    req, resp := client.GetInvitationsCountRequest(params)
2368//
2369//    err := req.Send()
2370//    if err == nil { // resp is now filled
2371//        fmt.Println(resp)
2372//    }
2373//
2374// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetInvitationsCount
2375func (c *GuardDuty) GetInvitationsCountRequest(input *GetInvitationsCountInput) (req *request.Request, output *GetInvitationsCountOutput) {
2376	op := &request.Operation{
2377		Name:       opGetInvitationsCount,
2378		HTTPMethod: "GET",
2379		HTTPPath:   "/invitation/count",
2380	}
2381
2382	if input == nil {
2383		input = &GetInvitationsCountInput{}
2384	}
2385
2386	output = &GetInvitationsCountOutput{}
2387	req = c.newRequest(op, input, output)
2388	return
2389}
2390
2391// GetInvitationsCount API operation for Amazon GuardDuty.
2392//
2393// Returns the count of all GuardDuty membership invitations that were sent
2394// to the current member account except the currently accepted invitation.
2395//
2396// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2397// with awserr.Error's Code and Message methods to get detailed information about
2398// the error.
2399//
2400// See the AWS API reference guide for Amazon GuardDuty's
2401// API operation GetInvitationsCount for usage and error information.
2402//
2403// Returned Error Types:
2404//   * BadRequestException
2405//   A bad request exception object.
2406//
2407//   * InternalServerErrorException
2408//   An internal server error exception object.
2409//
2410// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetInvitationsCount
2411func (c *GuardDuty) GetInvitationsCount(input *GetInvitationsCountInput) (*GetInvitationsCountOutput, error) {
2412	req, out := c.GetInvitationsCountRequest(input)
2413	return out, req.Send()
2414}
2415
2416// GetInvitationsCountWithContext is the same as GetInvitationsCount with the addition of
2417// the ability to pass a context and additional request options.
2418//
2419// See GetInvitationsCount for details on how to use this API operation.
2420//
2421// The context must be non-nil and will be used for request cancellation. If
2422// the context is nil a panic will occur. In the future the SDK may create
2423// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2424// for more information on using Contexts.
2425func (c *GuardDuty) GetInvitationsCountWithContext(ctx aws.Context, input *GetInvitationsCountInput, opts ...request.Option) (*GetInvitationsCountOutput, error) {
2426	req, out := c.GetInvitationsCountRequest(input)
2427	req.SetContext(ctx)
2428	req.ApplyOptions(opts...)
2429	return out, req.Send()
2430}
2431
2432const opGetMasterAccount = "GetMasterAccount"
2433
2434// GetMasterAccountRequest generates a "aws/request.Request" representing the
2435// client's request for the GetMasterAccount operation. The "output" return
2436// value will be populated with the request's response once the request completes
2437// successfully.
2438//
2439// Use "Send" method on the returned Request to send the API call to the service.
2440// the "output" return value is not valid until after Send returns without error.
2441//
2442// See GetMasterAccount for more information on using the GetMasterAccount
2443// API call, and error handling.
2444//
2445// This method is useful when you want to inject custom logic or configuration
2446// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2447//
2448//
2449//    // Example sending a request using the GetMasterAccountRequest method.
2450//    req, resp := client.GetMasterAccountRequest(params)
2451//
2452//    err := req.Send()
2453//    if err == nil { // resp is now filled
2454//        fmt.Println(resp)
2455//    }
2456//
2457// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMasterAccount
2458func (c *GuardDuty) GetMasterAccountRequest(input *GetMasterAccountInput) (req *request.Request, output *GetMasterAccountOutput) {
2459	op := &request.Operation{
2460		Name:       opGetMasterAccount,
2461		HTTPMethod: "GET",
2462		HTTPPath:   "/detector/{detectorId}/master",
2463	}
2464
2465	if input == nil {
2466		input = &GetMasterAccountInput{}
2467	}
2468
2469	output = &GetMasterAccountOutput{}
2470	req = c.newRequest(op, input, output)
2471	return
2472}
2473
2474// GetMasterAccount API operation for Amazon GuardDuty.
2475//
2476// Provides the details for the GuardDuty master account associated with the
2477// current GuardDuty member account.
2478//
2479// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2480// with awserr.Error's Code and Message methods to get detailed information about
2481// the error.
2482//
2483// See the AWS API reference guide for Amazon GuardDuty's
2484// API operation GetMasterAccount for usage and error information.
2485//
2486// Returned Error Types:
2487//   * BadRequestException
2488//   A bad request exception object.
2489//
2490//   * InternalServerErrorException
2491//   An internal server error exception object.
2492//
2493// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMasterAccount
2494func (c *GuardDuty) GetMasterAccount(input *GetMasterAccountInput) (*GetMasterAccountOutput, error) {
2495	req, out := c.GetMasterAccountRequest(input)
2496	return out, req.Send()
2497}
2498
2499// GetMasterAccountWithContext is the same as GetMasterAccount with the addition of
2500// the ability to pass a context and additional request options.
2501//
2502// See GetMasterAccount for details on how to use this API operation.
2503//
2504// The context must be non-nil and will be used for request cancellation. If
2505// the context is nil a panic will occur. In the future the SDK may create
2506// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2507// for more information on using Contexts.
2508func (c *GuardDuty) GetMasterAccountWithContext(ctx aws.Context, input *GetMasterAccountInput, opts ...request.Option) (*GetMasterAccountOutput, error) {
2509	req, out := c.GetMasterAccountRequest(input)
2510	req.SetContext(ctx)
2511	req.ApplyOptions(opts...)
2512	return out, req.Send()
2513}
2514
2515const opGetMembers = "GetMembers"
2516
2517// GetMembersRequest generates a "aws/request.Request" representing the
2518// client's request for the GetMembers operation. The "output" return
2519// value will be populated with the request's response once the request completes
2520// successfully.
2521//
2522// Use "Send" method on the returned Request to send the API call to the service.
2523// the "output" return value is not valid until after Send returns without error.
2524//
2525// See GetMembers for more information on using the GetMembers
2526// API call, and error handling.
2527//
2528// This method is useful when you want to inject custom logic or configuration
2529// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2530//
2531//
2532//    // Example sending a request using the GetMembersRequest method.
2533//    req, resp := client.GetMembersRequest(params)
2534//
2535//    err := req.Send()
2536//    if err == nil { // resp is now filled
2537//        fmt.Println(resp)
2538//    }
2539//
2540// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMembers
2541func (c *GuardDuty) GetMembersRequest(input *GetMembersInput) (req *request.Request, output *GetMembersOutput) {
2542	op := &request.Operation{
2543		Name:       opGetMembers,
2544		HTTPMethod: "POST",
2545		HTTPPath:   "/detector/{detectorId}/member/get",
2546	}
2547
2548	if input == nil {
2549		input = &GetMembersInput{}
2550	}
2551
2552	output = &GetMembersOutput{}
2553	req = c.newRequest(op, input, output)
2554	return
2555}
2556
2557// GetMembers API operation for Amazon GuardDuty.
2558//
2559// Retrieves GuardDuty member accounts (to the current GuardDuty master account)
2560// specified by the account IDs.
2561//
2562// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2563// with awserr.Error's Code and Message methods to get detailed information about
2564// the error.
2565//
2566// See the AWS API reference guide for Amazon GuardDuty's
2567// API operation GetMembers for usage and error information.
2568//
2569// Returned Error Types:
2570//   * BadRequestException
2571//   A bad request exception object.
2572//
2573//   * InternalServerErrorException
2574//   An internal server error exception object.
2575//
2576// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMembers
2577func (c *GuardDuty) GetMembers(input *GetMembersInput) (*GetMembersOutput, error) {
2578	req, out := c.GetMembersRequest(input)
2579	return out, req.Send()
2580}
2581
2582// GetMembersWithContext is the same as GetMembers with the addition of
2583// the ability to pass a context and additional request options.
2584//
2585// See GetMembers for details on how to use this API operation.
2586//
2587// The context must be non-nil and will be used for request cancellation. If
2588// the context is nil a panic will occur. In the future the SDK may create
2589// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2590// for more information on using Contexts.
2591func (c *GuardDuty) GetMembersWithContext(ctx aws.Context, input *GetMembersInput, opts ...request.Option) (*GetMembersOutput, error) {
2592	req, out := c.GetMembersRequest(input)
2593	req.SetContext(ctx)
2594	req.ApplyOptions(opts...)
2595	return out, req.Send()
2596}
2597
2598const opGetThreatIntelSet = "GetThreatIntelSet"
2599
2600// GetThreatIntelSetRequest generates a "aws/request.Request" representing the
2601// client's request for the GetThreatIntelSet operation. The "output" return
2602// value will be populated with the request's response once the request completes
2603// successfully.
2604//
2605// Use "Send" method on the returned Request to send the API call to the service.
2606// the "output" return value is not valid until after Send returns without error.
2607//
2608// See GetThreatIntelSet for more information on using the GetThreatIntelSet
2609// API call, and error handling.
2610//
2611// This method is useful when you want to inject custom logic or configuration
2612// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2613//
2614//
2615//    // Example sending a request using the GetThreatIntelSetRequest method.
2616//    req, resp := client.GetThreatIntelSetRequest(params)
2617//
2618//    err := req.Send()
2619//    if err == nil { // resp is now filled
2620//        fmt.Println(resp)
2621//    }
2622//
2623// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetThreatIntelSet
2624func (c *GuardDuty) GetThreatIntelSetRequest(input *GetThreatIntelSetInput) (req *request.Request, output *GetThreatIntelSetOutput) {
2625	op := &request.Operation{
2626		Name:       opGetThreatIntelSet,
2627		HTTPMethod: "GET",
2628		HTTPPath:   "/detector/{detectorId}/threatintelset/{threatIntelSetId}",
2629	}
2630
2631	if input == nil {
2632		input = &GetThreatIntelSetInput{}
2633	}
2634
2635	output = &GetThreatIntelSetOutput{}
2636	req = c.newRequest(op, input, output)
2637	return
2638}
2639
2640// GetThreatIntelSet API operation for Amazon GuardDuty.
2641//
2642// Retrieves the ThreatIntelSet that is specified by the ThreatIntelSet ID.
2643//
2644// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2645// with awserr.Error's Code and Message methods to get detailed information about
2646// the error.
2647//
2648// See the AWS API reference guide for Amazon GuardDuty's
2649// API operation GetThreatIntelSet for usage and error information.
2650//
2651// Returned Error Types:
2652//   * BadRequestException
2653//   A bad request exception object.
2654//
2655//   * InternalServerErrorException
2656//   An internal server error exception object.
2657//
2658// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetThreatIntelSet
2659func (c *GuardDuty) GetThreatIntelSet(input *GetThreatIntelSetInput) (*GetThreatIntelSetOutput, error) {
2660	req, out := c.GetThreatIntelSetRequest(input)
2661	return out, req.Send()
2662}
2663
2664// GetThreatIntelSetWithContext is the same as GetThreatIntelSet with the addition of
2665// the ability to pass a context and additional request options.
2666//
2667// See GetThreatIntelSet for details on how to use this API operation.
2668//
2669// The context must be non-nil and will be used for request cancellation. If
2670// the context is nil a panic will occur. In the future the SDK may create
2671// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2672// for more information on using Contexts.
2673func (c *GuardDuty) GetThreatIntelSetWithContext(ctx aws.Context, input *GetThreatIntelSetInput, opts ...request.Option) (*GetThreatIntelSetOutput, error) {
2674	req, out := c.GetThreatIntelSetRequest(input)
2675	req.SetContext(ctx)
2676	req.ApplyOptions(opts...)
2677	return out, req.Send()
2678}
2679
2680const opInviteMembers = "InviteMembers"
2681
2682// InviteMembersRequest generates a "aws/request.Request" representing the
2683// client's request for the InviteMembers operation. The "output" return
2684// value will be populated with the request's response once the request completes
2685// successfully.
2686//
2687// Use "Send" method on the returned Request to send the API call to the service.
2688// the "output" return value is not valid until after Send returns without error.
2689//
2690// See InviteMembers for more information on using the InviteMembers
2691// API call, and error handling.
2692//
2693// This method is useful when you want to inject custom logic or configuration
2694// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2695//
2696//
2697//    // Example sending a request using the InviteMembersRequest method.
2698//    req, resp := client.InviteMembersRequest(params)
2699//
2700//    err := req.Send()
2701//    if err == nil { // resp is now filled
2702//        fmt.Println(resp)
2703//    }
2704//
2705// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/InviteMembers
2706func (c *GuardDuty) InviteMembersRequest(input *InviteMembersInput) (req *request.Request, output *InviteMembersOutput) {
2707	op := &request.Operation{
2708		Name:       opInviteMembers,
2709		HTTPMethod: "POST",
2710		HTTPPath:   "/detector/{detectorId}/member/invite",
2711	}
2712
2713	if input == nil {
2714		input = &InviteMembersInput{}
2715	}
2716
2717	output = &InviteMembersOutput{}
2718	req = c.newRequest(op, input, output)
2719	return
2720}
2721
2722// InviteMembers API operation for Amazon GuardDuty.
2723//
2724// Invites other AWS accounts (created as members of the current AWS account
2725// by CreateMembers) to enable GuardDuty, and allow the current AWS account
2726// to view and manage these accounts' GuardDuty findings on their behalf as
2727// the master account.
2728//
2729// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2730// with awserr.Error's Code and Message methods to get detailed information about
2731// the error.
2732//
2733// See the AWS API reference guide for Amazon GuardDuty's
2734// API operation InviteMembers for usage and error information.
2735//
2736// Returned Error Types:
2737//   * BadRequestException
2738//   A bad request exception object.
2739//
2740//   * InternalServerErrorException
2741//   An internal server error exception object.
2742//
2743// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/InviteMembers
2744func (c *GuardDuty) InviteMembers(input *InviteMembersInput) (*InviteMembersOutput, error) {
2745	req, out := c.InviteMembersRequest(input)
2746	return out, req.Send()
2747}
2748
2749// InviteMembersWithContext is the same as InviteMembers with the addition of
2750// the ability to pass a context and additional request options.
2751//
2752// See InviteMembers for details on how to use this API operation.
2753//
2754// The context must be non-nil and will be used for request cancellation. If
2755// the context is nil a panic will occur. In the future the SDK may create
2756// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2757// for more information on using Contexts.
2758func (c *GuardDuty) InviteMembersWithContext(ctx aws.Context, input *InviteMembersInput, opts ...request.Option) (*InviteMembersOutput, error) {
2759	req, out := c.InviteMembersRequest(input)
2760	req.SetContext(ctx)
2761	req.ApplyOptions(opts...)
2762	return out, req.Send()
2763}
2764
2765const opListDetectors = "ListDetectors"
2766
2767// ListDetectorsRequest generates a "aws/request.Request" representing the
2768// client's request for the ListDetectors operation. The "output" return
2769// value will be populated with the request's response once the request completes
2770// successfully.
2771//
2772// Use "Send" method on the returned Request to send the API call to the service.
2773// the "output" return value is not valid until after Send returns without error.
2774//
2775// See ListDetectors for more information on using the ListDetectors
2776// API call, and error handling.
2777//
2778// This method is useful when you want to inject custom logic or configuration
2779// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2780//
2781//
2782//    // Example sending a request using the ListDetectorsRequest method.
2783//    req, resp := client.ListDetectorsRequest(params)
2784//
2785//    err := req.Send()
2786//    if err == nil { // resp is now filled
2787//        fmt.Println(resp)
2788//    }
2789//
2790// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListDetectors
2791func (c *GuardDuty) ListDetectorsRequest(input *ListDetectorsInput) (req *request.Request, output *ListDetectorsOutput) {
2792	op := &request.Operation{
2793		Name:       opListDetectors,
2794		HTTPMethod: "GET",
2795		HTTPPath:   "/detector",
2796		Paginator: &request.Paginator{
2797			InputTokens:     []string{"NextToken"},
2798			OutputTokens:    []string{"NextToken"},
2799			LimitToken:      "MaxResults",
2800			TruncationToken: "",
2801		},
2802	}
2803
2804	if input == nil {
2805		input = &ListDetectorsInput{}
2806	}
2807
2808	output = &ListDetectorsOutput{}
2809	req = c.newRequest(op, input, output)
2810	return
2811}
2812
2813// ListDetectors API operation for Amazon GuardDuty.
2814//
2815// Lists detectorIds of all the existing Amazon GuardDuty detector resources.
2816//
2817// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2818// with awserr.Error's Code and Message methods to get detailed information about
2819// the error.
2820//
2821// See the AWS API reference guide for Amazon GuardDuty's
2822// API operation ListDetectors for usage and error information.
2823//
2824// Returned Error Types:
2825//   * BadRequestException
2826//   A bad request exception object.
2827//
2828//   * InternalServerErrorException
2829//   An internal server error exception object.
2830//
2831// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListDetectors
2832func (c *GuardDuty) ListDetectors(input *ListDetectorsInput) (*ListDetectorsOutput, error) {
2833	req, out := c.ListDetectorsRequest(input)
2834	return out, req.Send()
2835}
2836
2837// ListDetectorsWithContext is the same as ListDetectors with the addition of
2838// the ability to pass a context and additional request options.
2839//
2840// See ListDetectors for details on how to use this API operation.
2841//
2842// The context must be non-nil and will be used for request cancellation. If
2843// the context is nil a panic will occur. In the future the SDK may create
2844// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2845// for more information on using Contexts.
2846func (c *GuardDuty) ListDetectorsWithContext(ctx aws.Context, input *ListDetectorsInput, opts ...request.Option) (*ListDetectorsOutput, error) {
2847	req, out := c.ListDetectorsRequest(input)
2848	req.SetContext(ctx)
2849	req.ApplyOptions(opts...)
2850	return out, req.Send()
2851}
2852
2853// ListDetectorsPages iterates over the pages of a ListDetectors operation,
2854// calling the "fn" function with the response data for each page. To stop
2855// iterating, return false from the fn function.
2856//
2857// See ListDetectors method for more information on how to use this operation.
2858//
2859// Note: This operation can generate multiple requests to a service.
2860//
2861//    // Example iterating over at most 3 pages of a ListDetectors operation.
2862//    pageNum := 0
2863//    err := client.ListDetectorsPages(params,
2864//        func(page *guardduty.ListDetectorsOutput, lastPage bool) bool {
2865//            pageNum++
2866//            fmt.Println(page)
2867//            return pageNum <= 3
2868//        })
2869//
2870func (c *GuardDuty) ListDetectorsPages(input *ListDetectorsInput, fn func(*ListDetectorsOutput, bool) bool) error {
2871	return c.ListDetectorsPagesWithContext(aws.BackgroundContext(), input, fn)
2872}
2873
2874// ListDetectorsPagesWithContext same as ListDetectorsPages except
2875// it takes a Context and allows setting request options on the pages.
2876//
2877// The context must be non-nil and will be used for request cancellation. If
2878// the context is nil a panic will occur. In the future the SDK may create
2879// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2880// for more information on using Contexts.
2881func (c *GuardDuty) ListDetectorsPagesWithContext(ctx aws.Context, input *ListDetectorsInput, fn func(*ListDetectorsOutput, bool) bool, opts ...request.Option) error {
2882	p := request.Pagination{
2883		NewRequest: func() (*request.Request, error) {
2884			var inCpy *ListDetectorsInput
2885			if input != nil {
2886				tmp := *input
2887				inCpy = &tmp
2888			}
2889			req, _ := c.ListDetectorsRequest(inCpy)
2890			req.SetContext(ctx)
2891			req.ApplyOptions(opts...)
2892			return req, nil
2893		},
2894	}
2895
2896	for p.Next() {
2897		if !fn(p.Page().(*ListDetectorsOutput), !p.HasNextPage()) {
2898			break
2899		}
2900	}
2901
2902	return p.Err()
2903}
2904
2905const opListFilters = "ListFilters"
2906
2907// ListFiltersRequest generates a "aws/request.Request" representing the
2908// client's request for the ListFilters operation. The "output" return
2909// value will be populated with the request's response once the request completes
2910// successfully.
2911//
2912// Use "Send" method on the returned Request to send the API call to the service.
2913// the "output" return value is not valid until after Send returns without error.
2914//
2915// See ListFilters for more information on using the ListFilters
2916// API call, and error handling.
2917//
2918// This method is useful when you want to inject custom logic or configuration
2919// into the SDK's request lifecycle. Such as custom headers, or retry logic.
2920//
2921//
2922//    // Example sending a request using the ListFiltersRequest method.
2923//    req, resp := client.ListFiltersRequest(params)
2924//
2925//    err := req.Send()
2926//    if err == nil { // resp is now filled
2927//        fmt.Println(resp)
2928//    }
2929//
2930// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListFilters
2931func (c *GuardDuty) ListFiltersRequest(input *ListFiltersInput) (req *request.Request, output *ListFiltersOutput) {
2932	op := &request.Operation{
2933		Name:       opListFilters,
2934		HTTPMethod: "GET",
2935		HTTPPath:   "/detector/{detectorId}/filter",
2936		Paginator: &request.Paginator{
2937			InputTokens:     []string{"NextToken"},
2938			OutputTokens:    []string{"NextToken"},
2939			LimitToken:      "MaxResults",
2940			TruncationToken: "",
2941		},
2942	}
2943
2944	if input == nil {
2945		input = &ListFiltersInput{}
2946	}
2947
2948	output = &ListFiltersOutput{}
2949	req = c.newRequest(op, input, output)
2950	return
2951}
2952
2953// ListFilters API operation for Amazon GuardDuty.
2954//
2955// Returns a paginated list of the current filters.
2956//
2957// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
2958// with awserr.Error's Code and Message methods to get detailed information about
2959// the error.
2960//
2961// See the AWS API reference guide for Amazon GuardDuty's
2962// API operation ListFilters for usage and error information.
2963//
2964// Returned Error Types:
2965//   * BadRequestException
2966//   A bad request exception object.
2967//
2968//   * InternalServerErrorException
2969//   An internal server error exception object.
2970//
2971// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListFilters
2972func (c *GuardDuty) ListFilters(input *ListFiltersInput) (*ListFiltersOutput, error) {
2973	req, out := c.ListFiltersRequest(input)
2974	return out, req.Send()
2975}
2976
2977// ListFiltersWithContext is the same as ListFilters with the addition of
2978// the ability to pass a context and additional request options.
2979//
2980// See ListFilters for details on how to use this API operation.
2981//
2982// The context must be non-nil and will be used for request cancellation. If
2983// the context is nil a panic will occur. In the future the SDK may create
2984// sub-contexts for http.Requests. See https://golang.org/pkg/context/
2985// for more information on using Contexts.
2986func (c *GuardDuty) ListFiltersWithContext(ctx aws.Context, input *ListFiltersInput, opts ...request.Option) (*ListFiltersOutput, error) {
2987	req, out := c.ListFiltersRequest(input)
2988	req.SetContext(ctx)
2989	req.ApplyOptions(opts...)
2990	return out, req.Send()
2991}
2992
2993// ListFiltersPages iterates over the pages of a ListFilters operation,
2994// calling the "fn" function with the response data for each page. To stop
2995// iterating, return false from the fn function.
2996//
2997// See ListFilters method for more information on how to use this operation.
2998//
2999// Note: This operation can generate multiple requests to a service.
3000//
3001//    // Example iterating over at most 3 pages of a ListFilters operation.
3002//    pageNum := 0
3003//    err := client.ListFiltersPages(params,
3004//        func(page *guardduty.ListFiltersOutput, lastPage bool) bool {
3005//            pageNum++
3006//            fmt.Println(page)
3007//            return pageNum <= 3
3008//        })
3009//
3010func (c *GuardDuty) ListFiltersPages(input *ListFiltersInput, fn func(*ListFiltersOutput, bool) bool) error {
3011	return c.ListFiltersPagesWithContext(aws.BackgroundContext(), input, fn)
3012}
3013
3014// ListFiltersPagesWithContext same as ListFiltersPages except
3015// it takes a Context and allows setting request options on the pages.
3016//
3017// The context must be non-nil and will be used for request cancellation. If
3018// the context is nil a panic will occur. In the future the SDK may create
3019// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3020// for more information on using Contexts.
3021func (c *GuardDuty) ListFiltersPagesWithContext(ctx aws.Context, input *ListFiltersInput, fn func(*ListFiltersOutput, bool) bool, opts ...request.Option) error {
3022	p := request.Pagination{
3023		NewRequest: func() (*request.Request, error) {
3024			var inCpy *ListFiltersInput
3025			if input != nil {
3026				tmp := *input
3027				inCpy = &tmp
3028			}
3029			req, _ := c.ListFiltersRequest(inCpy)
3030			req.SetContext(ctx)
3031			req.ApplyOptions(opts...)
3032			return req, nil
3033		},
3034	}
3035
3036	for p.Next() {
3037		if !fn(p.Page().(*ListFiltersOutput), !p.HasNextPage()) {
3038			break
3039		}
3040	}
3041
3042	return p.Err()
3043}
3044
3045const opListFindings = "ListFindings"
3046
3047// ListFindingsRequest generates a "aws/request.Request" representing the
3048// client's request for the ListFindings operation. The "output" return
3049// value will be populated with the request's response once the request completes
3050// successfully.
3051//
3052// Use "Send" method on the returned Request to send the API call to the service.
3053// the "output" return value is not valid until after Send returns without error.
3054//
3055// See ListFindings for more information on using the ListFindings
3056// API call, and error handling.
3057//
3058// This method is useful when you want to inject custom logic or configuration
3059// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3060//
3061//
3062//    // Example sending a request using the ListFindingsRequest method.
3063//    req, resp := client.ListFindingsRequest(params)
3064//
3065//    err := req.Send()
3066//    if err == nil { // resp is now filled
3067//        fmt.Println(resp)
3068//    }
3069//
3070// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListFindings
3071func (c *GuardDuty) ListFindingsRequest(input *ListFindingsInput) (req *request.Request, output *ListFindingsOutput) {
3072	op := &request.Operation{
3073		Name:       opListFindings,
3074		HTTPMethod: "POST",
3075		HTTPPath:   "/detector/{detectorId}/findings",
3076		Paginator: &request.Paginator{
3077			InputTokens:     []string{"NextToken"},
3078			OutputTokens:    []string{"NextToken"},
3079			LimitToken:      "MaxResults",
3080			TruncationToken: "",
3081		},
3082	}
3083
3084	if input == nil {
3085		input = &ListFindingsInput{}
3086	}
3087
3088	output = &ListFindingsOutput{}
3089	req = c.newRequest(op, input, output)
3090	return
3091}
3092
3093// ListFindings API operation for Amazon GuardDuty.
3094//
3095// Lists Amazon GuardDuty findings for the specified detector ID.
3096//
3097// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3098// with awserr.Error's Code and Message methods to get detailed information about
3099// the error.
3100//
3101// See the AWS API reference guide for Amazon GuardDuty's
3102// API operation ListFindings for usage and error information.
3103//
3104// Returned Error Types:
3105//   * BadRequestException
3106//   A bad request exception object.
3107//
3108//   * InternalServerErrorException
3109//   An internal server error exception object.
3110//
3111// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListFindings
3112func (c *GuardDuty) ListFindings(input *ListFindingsInput) (*ListFindingsOutput, error) {
3113	req, out := c.ListFindingsRequest(input)
3114	return out, req.Send()
3115}
3116
3117// ListFindingsWithContext is the same as ListFindings with the addition of
3118// the ability to pass a context and additional request options.
3119//
3120// See ListFindings for details on how to use this API operation.
3121//
3122// The context must be non-nil and will be used for request cancellation. If
3123// the context is nil a panic will occur. In the future the SDK may create
3124// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3125// for more information on using Contexts.
3126func (c *GuardDuty) ListFindingsWithContext(ctx aws.Context, input *ListFindingsInput, opts ...request.Option) (*ListFindingsOutput, error) {
3127	req, out := c.ListFindingsRequest(input)
3128	req.SetContext(ctx)
3129	req.ApplyOptions(opts...)
3130	return out, req.Send()
3131}
3132
3133// ListFindingsPages iterates over the pages of a ListFindings operation,
3134// calling the "fn" function with the response data for each page. To stop
3135// iterating, return false from the fn function.
3136//
3137// See ListFindings method for more information on how to use this operation.
3138//
3139// Note: This operation can generate multiple requests to a service.
3140//
3141//    // Example iterating over at most 3 pages of a ListFindings operation.
3142//    pageNum := 0
3143//    err := client.ListFindingsPages(params,
3144//        func(page *guardduty.ListFindingsOutput, lastPage bool) bool {
3145//            pageNum++
3146//            fmt.Println(page)
3147//            return pageNum <= 3
3148//        })
3149//
3150func (c *GuardDuty) ListFindingsPages(input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool) error {
3151	return c.ListFindingsPagesWithContext(aws.BackgroundContext(), input, fn)
3152}
3153
3154// ListFindingsPagesWithContext same as ListFindingsPages except
3155// it takes a Context and allows setting request options on the pages.
3156//
3157// The context must be non-nil and will be used for request cancellation. If
3158// the context is nil a panic will occur. In the future the SDK may create
3159// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3160// for more information on using Contexts.
3161func (c *GuardDuty) ListFindingsPagesWithContext(ctx aws.Context, input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool, opts ...request.Option) error {
3162	p := request.Pagination{
3163		NewRequest: func() (*request.Request, error) {
3164			var inCpy *ListFindingsInput
3165			if input != nil {
3166				tmp := *input
3167				inCpy = &tmp
3168			}
3169			req, _ := c.ListFindingsRequest(inCpy)
3170			req.SetContext(ctx)
3171			req.ApplyOptions(opts...)
3172			return req, nil
3173		},
3174	}
3175
3176	for p.Next() {
3177		if !fn(p.Page().(*ListFindingsOutput), !p.HasNextPage()) {
3178			break
3179		}
3180	}
3181
3182	return p.Err()
3183}
3184
3185const opListIPSets = "ListIPSets"
3186
3187// ListIPSetsRequest generates a "aws/request.Request" representing the
3188// client's request for the ListIPSets operation. The "output" return
3189// value will be populated with the request's response once the request completes
3190// successfully.
3191//
3192// Use "Send" method on the returned Request to send the API call to the service.
3193// the "output" return value is not valid until after Send returns without error.
3194//
3195// See ListIPSets for more information on using the ListIPSets
3196// API call, and error handling.
3197//
3198// This method is useful when you want to inject custom logic or configuration
3199// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3200//
3201//
3202//    // Example sending a request using the ListIPSetsRequest method.
3203//    req, resp := client.ListIPSetsRequest(params)
3204//
3205//    err := req.Send()
3206//    if err == nil { // resp is now filled
3207//        fmt.Println(resp)
3208//    }
3209//
3210// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListIPSets
3211func (c *GuardDuty) ListIPSetsRequest(input *ListIPSetsInput) (req *request.Request, output *ListIPSetsOutput) {
3212	op := &request.Operation{
3213		Name:       opListIPSets,
3214		HTTPMethod: "GET",
3215		HTTPPath:   "/detector/{detectorId}/ipset",
3216		Paginator: &request.Paginator{
3217			InputTokens:     []string{"NextToken"},
3218			OutputTokens:    []string{"NextToken"},
3219			LimitToken:      "MaxResults",
3220			TruncationToken: "",
3221		},
3222	}
3223
3224	if input == nil {
3225		input = &ListIPSetsInput{}
3226	}
3227
3228	output = &ListIPSetsOutput{}
3229	req = c.newRequest(op, input, output)
3230	return
3231}
3232
3233// ListIPSets API operation for Amazon GuardDuty.
3234//
3235// Lists the IPSets of the GuardDuty service specified by the detector ID. If
3236// you use this operation from a member account, the IPSets returned are the
3237// IPSets from the associated master account.
3238//
3239// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3240// with awserr.Error's Code and Message methods to get detailed information about
3241// the error.
3242//
3243// See the AWS API reference guide for Amazon GuardDuty's
3244// API operation ListIPSets for usage and error information.
3245//
3246// Returned Error Types:
3247//   * BadRequestException
3248//   A bad request exception object.
3249//
3250//   * InternalServerErrorException
3251//   An internal server error exception object.
3252//
3253// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListIPSets
3254func (c *GuardDuty) ListIPSets(input *ListIPSetsInput) (*ListIPSetsOutput, error) {
3255	req, out := c.ListIPSetsRequest(input)
3256	return out, req.Send()
3257}
3258
3259// ListIPSetsWithContext is the same as ListIPSets with the addition of
3260// the ability to pass a context and additional request options.
3261//
3262// See ListIPSets for details on how to use this API operation.
3263//
3264// The context must be non-nil and will be used for request cancellation. If
3265// the context is nil a panic will occur. In the future the SDK may create
3266// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3267// for more information on using Contexts.
3268func (c *GuardDuty) ListIPSetsWithContext(ctx aws.Context, input *ListIPSetsInput, opts ...request.Option) (*ListIPSetsOutput, error) {
3269	req, out := c.ListIPSetsRequest(input)
3270	req.SetContext(ctx)
3271	req.ApplyOptions(opts...)
3272	return out, req.Send()
3273}
3274
3275// ListIPSetsPages iterates over the pages of a ListIPSets operation,
3276// calling the "fn" function with the response data for each page. To stop
3277// iterating, return false from the fn function.
3278//
3279// See ListIPSets method for more information on how to use this operation.
3280//
3281// Note: This operation can generate multiple requests to a service.
3282//
3283//    // Example iterating over at most 3 pages of a ListIPSets operation.
3284//    pageNum := 0
3285//    err := client.ListIPSetsPages(params,
3286//        func(page *guardduty.ListIPSetsOutput, lastPage bool) bool {
3287//            pageNum++
3288//            fmt.Println(page)
3289//            return pageNum <= 3
3290//        })
3291//
3292func (c *GuardDuty) ListIPSetsPages(input *ListIPSetsInput, fn func(*ListIPSetsOutput, bool) bool) error {
3293	return c.ListIPSetsPagesWithContext(aws.BackgroundContext(), input, fn)
3294}
3295
3296// ListIPSetsPagesWithContext same as ListIPSetsPages except
3297// it takes a Context and allows setting request options on the pages.
3298//
3299// The context must be non-nil and will be used for request cancellation. If
3300// the context is nil a panic will occur. In the future the SDK may create
3301// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3302// for more information on using Contexts.
3303func (c *GuardDuty) ListIPSetsPagesWithContext(ctx aws.Context, input *ListIPSetsInput, fn func(*ListIPSetsOutput, bool) bool, opts ...request.Option) error {
3304	p := request.Pagination{
3305		NewRequest: func() (*request.Request, error) {
3306			var inCpy *ListIPSetsInput
3307			if input != nil {
3308				tmp := *input
3309				inCpy = &tmp
3310			}
3311			req, _ := c.ListIPSetsRequest(inCpy)
3312			req.SetContext(ctx)
3313			req.ApplyOptions(opts...)
3314			return req, nil
3315		},
3316	}
3317
3318	for p.Next() {
3319		if !fn(p.Page().(*ListIPSetsOutput), !p.HasNextPage()) {
3320			break
3321		}
3322	}
3323
3324	return p.Err()
3325}
3326
3327const opListInvitations = "ListInvitations"
3328
3329// ListInvitationsRequest generates a "aws/request.Request" representing the
3330// client's request for the ListInvitations operation. The "output" return
3331// value will be populated with the request's response once the request completes
3332// successfully.
3333//
3334// Use "Send" method on the returned Request to send the API call to the service.
3335// the "output" return value is not valid until after Send returns without error.
3336//
3337// See ListInvitations for more information on using the ListInvitations
3338// API call, and error handling.
3339//
3340// This method is useful when you want to inject custom logic or configuration
3341// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3342//
3343//
3344//    // Example sending a request using the ListInvitationsRequest method.
3345//    req, resp := client.ListInvitationsRequest(params)
3346//
3347//    err := req.Send()
3348//    if err == nil { // resp is now filled
3349//        fmt.Println(resp)
3350//    }
3351//
3352// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListInvitations
3353func (c *GuardDuty) ListInvitationsRequest(input *ListInvitationsInput) (req *request.Request, output *ListInvitationsOutput) {
3354	op := &request.Operation{
3355		Name:       opListInvitations,
3356		HTTPMethod: "GET",
3357		HTTPPath:   "/invitation",
3358		Paginator: &request.Paginator{
3359			InputTokens:     []string{"NextToken"},
3360			OutputTokens:    []string{"NextToken"},
3361			LimitToken:      "MaxResults",
3362			TruncationToken: "",
3363		},
3364	}
3365
3366	if input == nil {
3367		input = &ListInvitationsInput{}
3368	}
3369
3370	output = &ListInvitationsOutput{}
3371	req = c.newRequest(op, input, output)
3372	return
3373}
3374
3375// ListInvitations API operation for Amazon GuardDuty.
3376//
3377// Lists all GuardDuty membership invitations that were sent to the current
3378// AWS account.
3379//
3380// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3381// with awserr.Error's Code and Message methods to get detailed information about
3382// the error.
3383//
3384// See the AWS API reference guide for Amazon GuardDuty's
3385// API operation ListInvitations for usage and error information.
3386//
3387// Returned Error Types:
3388//   * BadRequestException
3389//   A bad request exception object.
3390//
3391//   * InternalServerErrorException
3392//   An internal server error exception object.
3393//
3394// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListInvitations
3395func (c *GuardDuty) ListInvitations(input *ListInvitationsInput) (*ListInvitationsOutput, error) {
3396	req, out := c.ListInvitationsRequest(input)
3397	return out, req.Send()
3398}
3399
3400// ListInvitationsWithContext is the same as ListInvitations with the addition of
3401// the ability to pass a context and additional request options.
3402//
3403// See ListInvitations for details on how to use this API operation.
3404//
3405// The context must be non-nil and will be used for request cancellation. If
3406// the context is nil a panic will occur. In the future the SDK may create
3407// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3408// for more information on using Contexts.
3409func (c *GuardDuty) ListInvitationsWithContext(ctx aws.Context, input *ListInvitationsInput, opts ...request.Option) (*ListInvitationsOutput, error) {
3410	req, out := c.ListInvitationsRequest(input)
3411	req.SetContext(ctx)
3412	req.ApplyOptions(opts...)
3413	return out, req.Send()
3414}
3415
3416// ListInvitationsPages iterates over the pages of a ListInvitations operation,
3417// calling the "fn" function with the response data for each page. To stop
3418// iterating, return false from the fn function.
3419//
3420// See ListInvitations method for more information on how to use this operation.
3421//
3422// Note: This operation can generate multiple requests to a service.
3423//
3424//    // Example iterating over at most 3 pages of a ListInvitations operation.
3425//    pageNum := 0
3426//    err := client.ListInvitationsPages(params,
3427//        func(page *guardduty.ListInvitationsOutput, lastPage bool) bool {
3428//            pageNum++
3429//            fmt.Println(page)
3430//            return pageNum <= 3
3431//        })
3432//
3433func (c *GuardDuty) ListInvitationsPages(input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool) error {
3434	return c.ListInvitationsPagesWithContext(aws.BackgroundContext(), input, fn)
3435}
3436
3437// ListInvitationsPagesWithContext same as ListInvitationsPages except
3438// it takes a Context and allows setting request options on the pages.
3439//
3440// The context must be non-nil and will be used for request cancellation. If
3441// the context is nil a panic will occur. In the future the SDK may create
3442// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3443// for more information on using Contexts.
3444func (c *GuardDuty) ListInvitationsPagesWithContext(ctx aws.Context, input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool, opts ...request.Option) error {
3445	p := request.Pagination{
3446		NewRequest: func() (*request.Request, error) {
3447			var inCpy *ListInvitationsInput
3448			if input != nil {
3449				tmp := *input
3450				inCpy = &tmp
3451			}
3452			req, _ := c.ListInvitationsRequest(inCpy)
3453			req.SetContext(ctx)
3454			req.ApplyOptions(opts...)
3455			return req, nil
3456		},
3457	}
3458
3459	for p.Next() {
3460		if !fn(p.Page().(*ListInvitationsOutput), !p.HasNextPage()) {
3461			break
3462		}
3463	}
3464
3465	return p.Err()
3466}
3467
3468const opListMembers = "ListMembers"
3469
3470// ListMembersRequest generates a "aws/request.Request" representing the
3471// client's request for the ListMembers operation. The "output" return
3472// value will be populated with the request's response once the request completes
3473// successfully.
3474//
3475// Use "Send" method on the returned Request to send the API call to the service.
3476// the "output" return value is not valid until after Send returns without error.
3477//
3478// See ListMembers for more information on using the ListMembers
3479// API call, and error handling.
3480//
3481// This method is useful when you want to inject custom logic or configuration
3482// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3483//
3484//
3485//    // Example sending a request using the ListMembersRequest method.
3486//    req, resp := client.ListMembersRequest(params)
3487//
3488//    err := req.Send()
3489//    if err == nil { // resp is now filled
3490//        fmt.Println(resp)
3491//    }
3492//
3493// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListMembers
3494func (c *GuardDuty) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) {
3495	op := &request.Operation{
3496		Name:       opListMembers,
3497		HTTPMethod: "GET",
3498		HTTPPath:   "/detector/{detectorId}/member",
3499		Paginator: &request.Paginator{
3500			InputTokens:     []string{"NextToken"},
3501			OutputTokens:    []string{"NextToken"},
3502			LimitToken:      "MaxResults",
3503			TruncationToken: "",
3504		},
3505	}
3506
3507	if input == nil {
3508		input = &ListMembersInput{}
3509	}
3510
3511	output = &ListMembersOutput{}
3512	req = c.newRequest(op, input, output)
3513	return
3514}
3515
3516// ListMembers API operation for Amazon GuardDuty.
3517//
3518// Lists details about all member accounts for the current GuardDuty master
3519// account.
3520//
3521// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3522// with awserr.Error's Code and Message methods to get detailed information about
3523// the error.
3524//
3525// See the AWS API reference guide for Amazon GuardDuty's
3526// API operation ListMembers for usage and error information.
3527//
3528// Returned Error Types:
3529//   * BadRequestException
3530//   A bad request exception object.
3531//
3532//   * InternalServerErrorException
3533//   An internal server error exception object.
3534//
3535// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListMembers
3536func (c *GuardDuty) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) {
3537	req, out := c.ListMembersRequest(input)
3538	return out, req.Send()
3539}
3540
3541// ListMembersWithContext is the same as ListMembers with the addition of
3542// the ability to pass a context and additional request options.
3543//
3544// See ListMembers for details on how to use this API operation.
3545//
3546// The context must be non-nil and will be used for request cancellation. If
3547// the context is nil a panic will occur. In the future the SDK may create
3548// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3549// for more information on using Contexts.
3550func (c *GuardDuty) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) {
3551	req, out := c.ListMembersRequest(input)
3552	req.SetContext(ctx)
3553	req.ApplyOptions(opts...)
3554	return out, req.Send()
3555}
3556
3557// ListMembersPages iterates over the pages of a ListMembers operation,
3558// calling the "fn" function with the response data for each page. To stop
3559// iterating, return false from the fn function.
3560//
3561// See ListMembers method for more information on how to use this operation.
3562//
3563// Note: This operation can generate multiple requests to a service.
3564//
3565//    // Example iterating over at most 3 pages of a ListMembers operation.
3566//    pageNum := 0
3567//    err := client.ListMembersPages(params,
3568//        func(page *guardduty.ListMembersOutput, lastPage bool) bool {
3569//            pageNum++
3570//            fmt.Println(page)
3571//            return pageNum <= 3
3572//        })
3573//
3574func (c *GuardDuty) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error {
3575	return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn)
3576}
3577
3578// ListMembersPagesWithContext same as ListMembersPages except
3579// it takes a Context and allows setting request options on the pages.
3580//
3581// The context must be non-nil and will be used for request cancellation. If
3582// the context is nil a panic will occur. In the future the SDK may create
3583// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3584// for more information on using Contexts.
3585func (c *GuardDuty) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error {
3586	p := request.Pagination{
3587		NewRequest: func() (*request.Request, error) {
3588			var inCpy *ListMembersInput
3589			if input != nil {
3590				tmp := *input
3591				inCpy = &tmp
3592			}
3593			req, _ := c.ListMembersRequest(inCpy)
3594			req.SetContext(ctx)
3595			req.ApplyOptions(opts...)
3596			return req, nil
3597		},
3598	}
3599
3600	for p.Next() {
3601		if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) {
3602			break
3603		}
3604	}
3605
3606	return p.Err()
3607}
3608
3609const opListOrganizationAdminAccounts = "ListOrganizationAdminAccounts"
3610
3611// ListOrganizationAdminAccountsRequest generates a "aws/request.Request" representing the
3612// client's request for the ListOrganizationAdminAccounts operation. The "output" return
3613// value will be populated with the request's response once the request completes
3614// successfully.
3615//
3616// Use "Send" method on the returned Request to send the API call to the service.
3617// the "output" return value is not valid until after Send returns without error.
3618//
3619// See ListOrganizationAdminAccounts for more information on using the ListOrganizationAdminAccounts
3620// API call, and error handling.
3621//
3622// This method is useful when you want to inject custom logic or configuration
3623// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3624//
3625//
3626//    // Example sending a request using the ListOrganizationAdminAccountsRequest method.
3627//    req, resp := client.ListOrganizationAdminAccountsRequest(params)
3628//
3629//    err := req.Send()
3630//    if err == nil { // resp is now filled
3631//        fmt.Println(resp)
3632//    }
3633//
3634// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListOrganizationAdminAccounts
3635func (c *GuardDuty) ListOrganizationAdminAccountsRequest(input *ListOrganizationAdminAccountsInput) (req *request.Request, output *ListOrganizationAdminAccountsOutput) {
3636	op := &request.Operation{
3637		Name:       opListOrganizationAdminAccounts,
3638		HTTPMethod: "GET",
3639		HTTPPath:   "/admin",
3640		Paginator: &request.Paginator{
3641			InputTokens:     []string{"NextToken"},
3642			OutputTokens:    []string{"NextToken"},
3643			LimitToken:      "MaxResults",
3644			TruncationToken: "",
3645		},
3646	}
3647
3648	if input == nil {
3649		input = &ListOrganizationAdminAccountsInput{}
3650	}
3651
3652	output = &ListOrganizationAdminAccountsOutput{}
3653	req = c.newRequest(op, input, output)
3654	return
3655}
3656
3657// ListOrganizationAdminAccounts API operation for Amazon GuardDuty.
3658//
3659// Lists the accounts configured as GuardDuty delegated administrators.
3660//
3661// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3662// with awserr.Error's Code and Message methods to get detailed information about
3663// the error.
3664//
3665// See the AWS API reference guide for Amazon GuardDuty's
3666// API operation ListOrganizationAdminAccounts for usage and error information.
3667//
3668// Returned Error Types:
3669//   * BadRequestException
3670//   A bad request exception object.
3671//
3672//   * InternalServerErrorException
3673//   An internal server error exception object.
3674//
3675// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListOrganizationAdminAccounts
3676func (c *GuardDuty) ListOrganizationAdminAccounts(input *ListOrganizationAdminAccountsInput) (*ListOrganizationAdminAccountsOutput, error) {
3677	req, out := c.ListOrganizationAdminAccountsRequest(input)
3678	return out, req.Send()
3679}
3680
3681// ListOrganizationAdminAccountsWithContext is the same as ListOrganizationAdminAccounts with the addition of
3682// the ability to pass a context and additional request options.
3683//
3684// See ListOrganizationAdminAccounts for details on how to use this API operation.
3685//
3686// The context must be non-nil and will be used for request cancellation. If
3687// the context is nil a panic will occur. In the future the SDK may create
3688// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3689// for more information on using Contexts.
3690func (c *GuardDuty) ListOrganizationAdminAccountsWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, opts ...request.Option) (*ListOrganizationAdminAccountsOutput, error) {
3691	req, out := c.ListOrganizationAdminAccountsRequest(input)
3692	req.SetContext(ctx)
3693	req.ApplyOptions(opts...)
3694	return out, req.Send()
3695}
3696
3697// ListOrganizationAdminAccountsPages iterates over the pages of a ListOrganizationAdminAccounts operation,
3698// calling the "fn" function with the response data for each page. To stop
3699// iterating, return false from the fn function.
3700//
3701// See ListOrganizationAdminAccounts method for more information on how to use this operation.
3702//
3703// Note: This operation can generate multiple requests to a service.
3704//
3705//    // Example iterating over at most 3 pages of a ListOrganizationAdminAccounts operation.
3706//    pageNum := 0
3707//    err := client.ListOrganizationAdminAccountsPages(params,
3708//        func(page *guardduty.ListOrganizationAdminAccountsOutput, lastPage bool) bool {
3709//            pageNum++
3710//            fmt.Println(page)
3711//            return pageNum <= 3
3712//        })
3713//
3714func (c *GuardDuty) ListOrganizationAdminAccountsPages(input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool) error {
3715	return c.ListOrganizationAdminAccountsPagesWithContext(aws.BackgroundContext(), input, fn)
3716}
3717
3718// ListOrganizationAdminAccountsPagesWithContext same as ListOrganizationAdminAccountsPages except
3719// it takes a Context and allows setting request options on the pages.
3720//
3721// The context must be non-nil and will be used for request cancellation. If
3722// the context is nil a panic will occur. In the future the SDK may create
3723// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3724// for more information on using Contexts.
3725func (c *GuardDuty) ListOrganizationAdminAccountsPagesWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool, opts ...request.Option) error {
3726	p := request.Pagination{
3727		NewRequest: func() (*request.Request, error) {
3728			var inCpy *ListOrganizationAdminAccountsInput
3729			if input != nil {
3730				tmp := *input
3731				inCpy = &tmp
3732			}
3733			req, _ := c.ListOrganizationAdminAccountsRequest(inCpy)
3734			req.SetContext(ctx)
3735			req.ApplyOptions(opts...)
3736			return req, nil
3737		},
3738	}
3739
3740	for p.Next() {
3741		if !fn(p.Page().(*ListOrganizationAdminAccountsOutput), !p.HasNextPage()) {
3742			break
3743		}
3744	}
3745
3746	return p.Err()
3747}
3748
3749const opListPublishingDestinations = "ListPublishingDestinations"
3750
3751// ListPublishingDestinationsRequest generates a "aws/request.Request" representing the
3752// client's request for the ListPublishingDestinations operation. The "output" return
3753// value will be populated with the request's response once the request completes
3754// successfully.
3755//
3756// Use "Send" method on the returned Request to send the API call to the service.
3757// the "output" return value is not valid until after Send returns without error.
3758//
3759// See ListPublishingDestinations for more information on using the ListPublishingDestinations
3760// API call, and error handling.
3761//
3762// This method is useful when you want to inject custom logic or configuration
3763// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3764//
3765//
3766//    // Example sending a request using the ListPublishingDestinationsRequest method.
3767//    req, resp := client.ListPublishingDestinationsRequest(params)
3768//
3769//    err := req.Send()
3770//    if err == nil { // resp is now filled
3771//        fmt.Println(resp)
3772//    }
3773//
3774// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListPublishingDestinations
3775func (c *GuardDuty) ListPublishingDestinationsRequest(input *ListPublishingDestinationsInput) (req *request.Request, output *ListPublishingDestinationsOutput) {
3776	op := &request.Operation{
3777		Name:       opListPublishingDestinations,
3778		HTTPMethod: "GET",
3779		HTTPPath:   "/detector/{detectorId}/publishingDestination",
3780		Paginator: &request.Paginator{
3781			InputTokens:     []string{"NextToken"},
3782			OutputTokens:    []string{"NextToken"},
3783			LimitToken:      "MaxResults",
3784			TruncationToken: "",
3785		},
3786	}
3787
3788	if input == nil {
3789		input = &ListPublishingDestinationsInput{}
3790	}
3791
3792	output = &ListPublishingDestinationsOutput{}
3793	req = c.newRequest(op, input, output)
3794	return
3795}
3796
3797// ListPublishingDestinations API operation for Amazon GuardDuty.
3798//
3799// Returns a list of publishing destinations associated with the specified dectectorId.
3800//
3801// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3802// with awserr.Error's Code and Message methods to get detailed information about
3803// the error.
3804//
3805// See the AWS API reference guide for Amazon GuardDuty's
3806// API operation ListPublishingDestinations for usage and error information.
3807//
3808// Returned Error Types:
3809//   * BadRequestException
3810//   A bad request exception object.
3811//
3812//   * InternalServerErrorException
3813//   An internal server error exception object.
3814//
3815// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListPublishingDestinations
3816func (c *GuardDuty) ListPublishingDestinations(input *ListPublishingDestinationsInput) (*ListPublishingDestinationsOutput, error) {
3817	req, out := c.ListPublishingDestinationsRequest(input)
3818	return out, req.Send()
3819}
3820
3821// ListPublishingDestinationsWithContext is the same as ListPublishingDestinations with the addition of
3822// the ability to pass a context and additional request options.
3823//
3824// See ListPublishingDestinations for details on how to use this API operation.
3825//
3826// The context must be non-nil and will be used for request cancellation. If
3827// the context is nil a panic will occur. In the future the SDK may create
3828// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3829// for more information on using Contexts.
3830func (c *GuardDuty) ListPublishingDestinationsWithContext(ctx aws.Context, input *ListPublishingDestinationsInput, opts ...request.Option) (*ListPublishingDestinationsOutput, error) {
3831	req, out := c.ListPublishingDestinationsRequest(input)
3832	req.SetContext(ctx)
3833	req.ApplyOptions(opts...)
3834	return out, req.Send()
3835}
3836
3837// ListPublishingDestinationsPages iterates over the pages of a ListPublishingDestinations operation,
3838// calling the "fn" function with the response data for each page. To stop
3839// iterating, return false from the fn function.
3840//
3841// See ListPublishingDestinations method for more information on how to use this operation.
3842//
3843// Note: This operation can generate multiple requests to a service.
3844//
3845//    // Example iterating over at most 3 pages of a ListPublishingDestinations operation.
3846//    pageNum := 0
3847//    err := client.ListPublishingDestinationsPages(params,
3848//        func(page *guardduty.ListPublishingDestinationsOutput, lastPage bool) bool {
3849//            pageNum++
3850//            fmt.Println(page)
3851//            return pageNum <= 3
3852//        })
3853//
3854func (c *GuardDuty) ListPublishingDestinationsPages(input *ListPublishingDestinationsInput, fn func(*ListPublishingDestinationsOutput, bool) bool) error {
3855	return c.ListPublishingDestinationsPagesWithContext(aws.BackgroundContext(), input, fn)
3856}
3857
3858// ListPublishingDestinationsPagesWithContext same as ListPublishingDestinationsPages except
3859// it takes a Context and allows setting request options on the pages.
3860//
3861// The context must be non-nil and will be used for request cancellation. If
3862// the context is nil a panic will occur. In the future the SDK may create
3863// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3864// for more information on using Contexts.
3865func (c *GuardDuty) ListPublishingDestinationsPagesWithContext(ctx aws.Context, input *ListPublishingDestinationsInput, fn func(*ListPublishingDestinationsOutput, bool) bool, opts ...request.Option) error {
3866	p := request.Pagination{
3867		NewRequest: func() (*request.Request, error) {
3868			var inCpy *ListPublishingDestinationsInput
3869			if input != nil {
3870				tmp := *input
3871				inCpy = &tmp
3872			}
3873			req, _ := c.ListPublishingDestinationsRequest(inCpy)
3874			req.SetContext(ctx)
3875			req.ApplyOptions(opts...)
3876			return req, nil
3877		},
3878	}
3879
3880	for p.Next() {
3881		if !fn(p.Page().(*ListPublishingDestinationsOutput), !p.HasNextPage()) {
3882			break
3883		}
3884	}
3885
3886	return p.Err()
3887}
3888
3889const opListTagsForResource = "ListTagsForResource"
3890
3891// ListTagsForResourceRequest generates a "aws/request.Request" representing the
3892// client's request for the ListTagsForResource operation. The "output" return
3893// value will be populated with the request's response once the request completes
3894// successfully.
3895//
3896// Use "Send" method on the returned Request to send the API call to the service.
3897// the "output" return value is not valid until after Send returns without error.
3898//
3899// See ListTagsForResource for more information on using the ListTagsForResource
3900// API call, and error handling.
3901//
3902// This method is useful when you want to inject custom logic or configuration
3903// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3904//
3905//
3906//    // Example sending a request using the ListTagsForResourceRequest method.
3907//    req, resp := client.ListTagsForResourceRequest(params)
3908//
3909//    err := req.Send()
3910//    if err == nil { // resp is now filled
3911//        fmt.Println(resp)
3912//    }
3913//
3914// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListTagsForResource
3915func (c *GuardDuty) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
3916	op := &request.Operation{
3917		Name:       opListTagsForResource,
3918		HTTPMethod: "GET",
3919		HTTPPath:   "/tags/{resourceArn}",
3920	}
3921
3922	if input == nil {
3923		input = &ListTagsForResourceInput{}
3924	}
3925
3926	output = &ListTagsForResourceOutput{}
3927	req = c.newRequest(op, input, output)
3928	return
3929}
3930
3931// ListTagsForResource API operation for Amazon GuardDuty.
3932//
3933// Lists tags for a resource. Tagging is currently supported for detectors,
3934// finding filters, IP sets, and threat intel sets, with a limit of 50 tags
3935// per resource. When invoked, this operation returns all assigned tags for
3936// a given resource.
3937//
3938// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
3939// with awserr.Error's Code and Message methods to get detailed information about
3940// the error.
3941//
3942// See the AWS API reference guide for Amazon GuardDuty's
3943// API operation ListTagsForResource for usage and error information.
3944//
3945// Returned Error Types:
3946//   * BadRequestException
3947//   A bad request exception object.
3948//
3949//   * InternalServerErrorException
3950//   An internal server error exception object.
3951//
3952// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListTagsForResource
3953func (c *GuardDuty) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
3954	req, out := c.ListTagsForResourceRequest(input)
3955	return out, req.Send()
3956}
3957
3958// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
3959// the ability to pass a context and additional request options.
3960//
3961// See ListTagsForResource for details on how to use this API operation.
3962//
3963// The context must be non-nil and will be used for request cancellation. If
3964// the context is nil a panic will occur. In the future the SDK may create
3965// sub-contexts for http.Requests. See https://golang.org/pkg/context/
3966// for more information on using Contexts.
3967func (c *GuardDuty) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
3968	req, out := c.ListTagsForResourceRequest(input)
3969	req.SetContext(ctx)
3970	req.ApplyOptions(opts...)
3971	return out, req.Send()
3972}
3973
3974const opListThreatIntelSets = "ListThreatIntelSets"
3975
3976// ListThreatIntelSetsRequest generates a "aws/request.Request" representing the
3977// client's request for the ListThreatIntelSets operation. The "output" return
3978// value will be populated with the request's response once the request completes
3979// successfully.
3980//
3981// Use "Send" method on the returned Request to send the API call to the service.
3982// the "output" return value is not valid until after Send returns without error.
3983//
3984// See ListThreatIntelSets for more information on using the ListThreatIntelSets
3985// API call, and error handling.
3986//
3987// This method is useful when you want to inject custom logic or configuration
3988// into the SDK's request lifecycle. Such as custom headers, or retry logic.
3989//
3990//
3991//    // Example sending a request using the ListThreatIntelSetsRequest method.
3992//    req, resp := client.ListThreatIntelSetsRequest(params)
3993//
3994//    err := req.Send()
3995//    if err == nil { // resp is now filled
3996//        fmt.Println(resp)
3997//    }
3998//
3999// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListThreatIntelSets
4000func (c *GuardDuty) ListThreatIntelSetsRequest(input *ListThreatIntelSetsInput) (req *request.Request, output *ListThreatIntelSetsOutput) {
4001	op := &request.Operation{
4002		Name:       opListThreatIntelSets,
4003		HTTPMethod: "GET",
4004		HTTPPath:   "/detector/{detectorId}/threatintelset",
4005		Paginator: &request.Paginator{
4006			InputTokens:     []string{"NextToken"},
4007			OutputTokens:    []string{"NextToken"},
4008			LimitToken:      "MaxResults",
4009			TruncationToken: "",
4010		},
4011	}
4012
4013	if input == nil {
4014		input = &ListThreatIntelSetsInput{}
4015	}
4016
4017	output = &ListThreatIntelSetsOutput{}
4018	req = c.newRequest(op, input, output)
4019	return
4020}
4021
4022// ListThreatIntelSets API operation for Amazon GuardDuty.
4023//
4024// Lists the ThreatIntelSets of the GuardDuty service specified by the detector
4025// ID. If you use this operation from a member account, the ThreatIntelSets
4026// associated with the master account are returned.
4027//
4028// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4029// with awserr.Error's Code and Message methods to get detailed information about
4030// the error.
4031//
4032// See the AWS API reference guide for Amazon GuardDuty's
4033// API operation ListThreatIntelSets for usage and error information.
4034//
4035// Returned Error Types:
4036//   * BadRequestException
4037//   A bad request exception object.
4038//
4039//   * InternalServerErrorException
4040//   An internal server error exception object.
4041//
4042// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListThreatIntelSets
4043func (c *GuardDuty) ListThreatIntelSets(input *ListThreatIntelSetsInput) (*ListThreatIntelSetsOutput, error) {
4044	req, out := c.ListThreatIntelSetsRequest(input)
4045	return out, req.Send()
4046}
4047
4048// ListThreatIntelSetsWithContext is the same as ListThreatIntelSets with the addition of
4049// the ability to pass a context and additional request options.
4050//
4051// See ListThreatIntelSets for details on how to use this API operation.
4052//
4053// The context must be non-nil and will be used for request cancellation. If
4054// the context is nil a panic will occur. In the future the SDK may create
4055// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4056// for more information on using Contexts.
4057func (c *GuardDuty) ListThreatIntelSetsWithContext(ctx aws.Context, input *ListThreatIntelSetsInput, opts ...request.Option) (*ListThreatIntelSetsOutput, error) {
4058	req, out := c.ListThreatIntelSetsRequest(input)
4059	req.SetContext(ctx)
4060	req.ApplyOptions(opts...)
4061	return out, req.Send()
4062}
4063
4064// ListThreatIntelSetsPages iterates over the pages of a ListThreatIntelSets operation,
4065// calling the "fn" function with the response data for each page. To stop
4066// iterating, return false from the fn function.
4067//
4068// See ListThreatIntelSets method for more information on how to use this operation.
4069//
4070// Note: This operation can generate multiple requests to a service.
4071//
4072//    // Example iterating over at most 3 pages of a ListThreatIntelSets operation.
4073//    pageNum := 0
4074//    err := client.ListThreatIntelSetsPages(params,
4075//        func(page *guardduty.ListThreatIntelSetsOutput, lastPage bool) bool {
4076//            pageNum++
4077//            fmt.Println(page)
4078//            return pageNum <= 3
4079//        })
4080//
4081func (c *GuardDuty) ListThreatIntelSetsPages(input *ListThreatIntelSetsInput, fn func(*ListThreatIntelSetsOutput, bool) bool) error {
4082	return c.ListThreatIntelSetsPagesWithContext(aws.BackgroundContext(), input, fn)
4083}
4084
4085// ListThreatIntelSetsPagesWithContext same as ListThreatIntelSetsPages except
4086// it takes a Context and allows setting request options on the pages.
4087//
4088// The context must be non-nil and will be used for request cancellation. If
4089// the context is nil a panic will occur. In the future the SDK may create
4090// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4091// for more information on using Contexts.
4092func (c *GuardDuty) ListThreatIntelSetsPagesWithContext(ctx aws.Context, input *ListThreatIntelSetsInput, fn func(*ListThreatIntelSetsOutput, bool) bool, opts ...request.Option) error {
4093	p := request.Pagination{
4094		NewRequest: func() (*request.Request, error) {
4095			var inCpy *ListThreatIntelSetsInput
4096			if input != nil {
4097				tmp := *input
4098				inCpy = &tmp
4099			}
4100			req, _ := c.ListThreatIntelSetsRequest(inCpy)
4101			req.SetContext(ctx)
4102			req.ApplyOptions(opts...)
4103			return req, nil
4104		},
4105	}
4106
4107	for p.Next() {
4108		if !fn(p.Page().(*ListThreatIntelSetsOutput), !p.HasNextPage()) {
4109			break
4110		}
4111	}
4112
4113	return p.Err()
4114}
4115
4116const opStartMonitoringMembers = "StartMonitoringMembers"
4117
4118// StartMonitoringMembersRequest generates a "aws/request.Request" representing the
4119// client's request for the StartMonitoringMembers operation. The "output" return
4120// value will be populated with the request's response once the request completes
4121// successfully.
4122//
4123// Use "Send" method on the returned Request to send the API call to the service.
4124// the "output" return value is not valid until after Send returns without error.
4125//
4126// See StartMonitoringMembers for more information on using the StartMonitoringMembers
4127// API call, and error handling.
4128//
4129// This method is useful when you want to inject custom logic or configuration
4130// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4131//
4132//
4133//    // Example sending a request using the StartMonitoringMembersRequest method.
4134//    req, resp := client.StartMonitoringMembersRequest(params)
4135//
4136//    err := req.Send()
4137//    if err == nil { // resp is now filled
4138//        fmt.Println(resp)
4139//    }
4140//
4141// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/StartMonitoringMembers
4142func (c *GuardDuty) StartMonitoringMembersRequest(input *StartMonitoringMembersInput) (req *request.Request, output *StartMonitoringMembersOutput) {
4143	op := &request.Operation{
4144		Name:       opStartMonitoringMembers,
4145		HTTPMethod: "POST",
4146		HTTPPath:   "/detector/{detectorId}/member/start",
4147	}
4148
4149	if input == nil {
4150		input = &StartMonitoringMembersInput{}
4151	}
4152
4153	output = &StartMonitoringMembersOutput{}
4154	req = c.newRequest(op, input, output)
4155	return
4156}
4157
4158// StartMonitoringMembers API operation for Amazon GuardDuty.
4159//
4160// Turns on GuardDuty monitoring of the specified member accounts. Use this
4161// operation to restart monitoring of accounts that you stopped monitoring with
4162// the StopMonitoringMembers operation.
4163//
4164// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4165// with awserr.Error's Code and Message methods to get detailed information about
4166// the error.
4167//
4168// See the AWS API reference guide for Amazon GuardDuty's
4169// API operation StartMonitoringMembers for usage and error information.
4170//
4171// Returned Error Types:
4172//   * BadRequestException
4173//   A bad request exception object.
4174//
4175//   * InternalServerErrorException
4176//   An internal server error exception object.
4177//
4178// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/StartMonitoringMembers
4179func (c *GuardDuty) StartMonitoringMembers(input *StartMonitoringMembersInput) (*StartMonitoringMembersOutput, error) {
4180	req, out := c.StartMonitoringMembersRequest(input)
4181	return out, req.Send()
4182}
4183
4184// StartMonitoringMembersWithContext is the same as StartMonitoringMembers with the addition of
4185// the ability to pass a context and additional request options.
4186//
4187// See StartMonitoringMembers for details on how to use this API operation.
4188//
4189// The context must be non-nil and will be used for request cancellation. If
4190// the context is nil a panic will occur. In the future the SDK may create
4191// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4192// for more information on using Contexts.
4193func (c *GuardDuty) StartMonitoringMembersWithContext(ctx aws.Context, input *StartMonitoringMembersInput, opts ...request.Option) (*StartMonitoringMembersOutput, error) {
4194	req, out := c.StartMonitoringMembersRequest(input)
4195	req.SetContext(ctx)
4196	req.ApplyOptions(opts...)
4197	return out, req.Send()
4198}
4199
4200const opStopMonitoringMembers = "StopMonitoringMembers"
4201
4202// StopMonitoringMembersRequest generates a "aws/request.Request" representing the
4203// client's request for the StopMonitoringMembers operation. The "output" return
4204// value will be populated with the request's response once the request completes
4205// successfully.
4206//
4207// Use "Send" method on the returned Request to send the API call to the service.
4208// the "output" return value is not valid until after Send returns without error.
4209//
4210// See StopMonitoringMembers for more information on using the StopMonitoringMembers
4211// API call, and error handling.
4212//
4213// This method is useful when you want to inject custom logic or configuration
4214// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4215//
4216//
4217//    // Example sending a request using the StopMonitoringMembersRequest method.
4218//    req, resp := client.StopMonitoringMembersRequest(params)
4219//
4220//    err := req.Send()
4221//    if err == nil { // resp is now filled
4222//        fmt.Println(resp)
4223//    }
4224//
4225// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/StopMonitoringMembers
4226func (c *GuardDuty) StopMonitoringMembersRequest(input *StopMonitoringMembersInput) (req *request.Request, output *StopMonitoringMembersOutput) {
4227	op := &request.Operation{
4228		Name:       opStopMonitoringMembers,
4229		HTTPMethod: "POST",
4230		HTTPPath:   "/detector/{detectorId}/member/stop",
4231	}
4232
4233	if input == nil {
4234		input = &StopMonitoringMembersInput{}
4235	}
4236
4237	output = &StopMonitoringMembersOutput{}
4238	req = c.newRequest(op, input, output)
4239	return
4240}
4241
4242// StopMonitoringMembers API operation for Amazon GuardDuty.
4243//
4244// Stops GuardDuty monitoring for the specified member accounts. Use the StartMonitoringMembers
4245// operation to restart monitoring for those accounts.
4246//
4247// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4248// with awserr.Error's Code and Message methods to get detailed information about
4249// the error.
4250//
4251// See the AWS API reference guide for Amazon GuardDuty's
4252// API operation StopMonitoringMembers for usage and error information.
4253//
4254// Returned Error Types:
4255//   * BadRequestException
4256//   A bad request exception object.
4257//
4258//   * InternalServerErrorException
4259//   An internal server error exception object.
4260//
4261// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/StopMonitoringMembers
4262func (c *GuardDuty) StopMonitoringMembers(input *StopMonitoringMembersInput) (*StopMonitoringMembersOutput, error) {
4263	req, out := c.StopMonitoringMembersRequest(input)
4264	return out, req.Send()
4265}
4266
4267// StopMonitoringMembersWithContext is the same as StopMonitoringMembers with the addition of
4268// the ability to pass a context and additional request options.
4269//
4270// See StopMonitoringMembers for details on how to use this API operation.
4271//
4272// The context must be non-nil and will be used for request cancellation. If
4273// the context is nil a panic will occur. In the future the SDK may create
4274// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4275// for more information on using Contexts.
4276func (c *GuardDuty) StopMonitoringMembersWithContext(ctx aws.Context, input *StopMonitoringMembersInput, opts ...request.Option) (*StopMonitoringMembersOutput, error) {
4277	req, out := c.StopMonitoringMembersRequest(input)
4278	req.SetContext(ctx)
4279	req.ApplyOptions(opts...)
4280	return out, req.Send()
4281}
4282
4283const opTagResource = "TagResource"
4284
4285// TagResourceRequest generates a "aws/request.Request" representing the
4286// client's request for the TagResource operation. The "output" return
4287// value will be populated with the request's response once the request completes
4288// successfully.
4289//
4290// Use "Send" method on the returned Request to send the API call to the service.
4291// the "output" return value is not valid until after Send returns without error.
4292//
4293// See TagResource for more information on using the TagResource
4294// API call, and error handling.
4295//
4296// This method is useful when you want to inject custom logic or configuration
4297// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4298//
4299//
4300//    // Example sending a request using the TagResourceRequest method.
4301//    req, resp := client.TagResourceRequest(params)
4302//
4303//    err := req.Send()
4304//    if err == nil { // resp is now filled
4305//        fmt.Println(resp)
4306//    }
4307//
4308// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/TagResource
4309func (c *GuardDuty) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
4310	op := &request.Operation{
4311		Name:       opTagResource,
4312		HTTPMethod: "POST",
4313		HTTPPath:   "/tags/{resourceArn}",
4314	}
4315
4316	if input == nil {
4317		input = &TagResourceInput{}
4318	}
4319
4320	output = &TagResourceOutput{}
4321	req = c.newRequest(op, input, output)
4322	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4323	return
4324}
4325
4326// TagResource API operation for Amazon GuardDuty.
4327//
4328// Adds tags to a resource.
4329//
4330// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4331// with awserr.Error's Code and Message methods to get detailed information about
4332// the error.
4333//
4334// See the AWS API reference guide for Amazon GuardDuty's
4335// API operation TagResource for usage and error information.
4336//
4337// Returned Error Types:
4338//   * BadRequestException
4339//   A bad request exception object.
4340//
4341//   * InternalServerErrorException
4342//   An internal server error exception object.
4343//
4344// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/TagResource
4345func (c *GuardDuty) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
4346	req, out := c.TagResourceRequest(input)
4347	return out, req.Send()
4348}
4349
4350// TagResourceWithContext is the same as TagResource with the addition of
4351// the ability to pass a context and additional request options.
4352//
4353// See TagResource for details on how to use this API operation.
4354//
4355// The context must be non-nil and will be used for request cancellation. If
4356// the context is nil a panic will occur. In the future the SDK may create
4357// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4358// for more information on using Contexts.
4359func (c *GuardDuty) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
4360	req, out := c.TagResourceRequest(input)
4361	req.SetContext(ctx)
4362	req.ApplyOptions(opts...)
4363	return out, req.Send()
4364}
4365
4366const opUnarchiveFindings = "UnarchiveFindings"
4367
4368// UnarchiveFindingsRequest generates a "aws/request.Request" representing the
4369// client's request for the UnarchiveFindings operation. The "output" return
4370// value will be populated with the request's response once the request completes
4371// successfully.
4372//
4373// Use "Send" method on the returned Request to send the API call to the service.
4374// the "output" return value is not valid until after Send returns without error.
4375//
4376// See UnarchiveFindings for more information on using the UnarchiveFindings
4377// API call, and error handling.
4378//
4379// This method is useful when you want to inject custom logic or configuration
4380// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4381//
4382//
4383//    // Example sending a request using the UnarchiveFindingsRequest method.
4384//    req, resp := client.UnarchiveFindingsRequest(params)
4385//
4386//    err := req.Send()
4387//    if err == nil { // resp is now filled
4388//        fmt.Println(resp)
4389//    }
4390//
4391// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UnarchiveFindings
4392func (c *GuardDuty) UnarchiveFindingsRequest(input *UnarchiveFindingsInput) (req *request.Request, output *UnarchiveFindingsOutput) {
4393	op := &request.Operation{
4394		Name:       opUnarchiveFindings,
4395		HTTPMethod: "POST",
4396		HTTPPath:   "/detector/{detectorId}/findings/unarchive",
4397	}
4398
4399	if input == nil {
4400		input = &UnarchiveFindingsInput{}
4401	}
4402
4403	output = &UnarchiveFindingsOutput{}
4404	req = c.newRequest(op, input, output)
4405	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4406	return
4407}
4408
4409// UnarchiveFindings API operation for Amazon GuardDuty.
4410//
4411// Unarchives GuardDuty findings specified by the findingIds.
4412//
4413// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4414// with awserr.Error's Code and Message methods to get detailed information about
4415// the error.
4416//
4417// See the AWS API reference guide for Amazon GuardDuty's
4418// API operation UnarchiveFindings for usage and error information.
4419//
4420// Returned Error Types:
4421//   * BadRequestException
4422//   A bad request exception object.
4423//
4424//   * InternalServerErrorException
4425//   An internal server error exception object.
4426//
4427// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UnarchiveFindings
4428func (c *GuardDuty) UnarchiveFindings(input *UnarchiveFindingsInput) (*UnarchiveFindingsOutput, error) {
4429	req, out := c.UnarchiveFindingsRequest(input)
4430	return out, req.Send()
4431}
4432
4433// UnarchiveFindingsWithContext is the same as UnarchiveFindings with the addition of
4434// the ability to pass a context and additional request options.
4435//
4436// See UnarchiveFindings for details on how to use this API operation.
4437//
4438// The context must be non-nil and will be used for request cancellation. If
4439// the context is nil a panic will occur. In the future the SDK may create
4440// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4441// for more information on using Contexts.
4442func (c *GuardDuty) UnarchiveFindingsWithContext(ctx aws.Context, input *UnarchiveFindingsInput, opts ...request.Option) (*UnarchiveFindingsOutput, error) {
4443	req, out := c.UnarchiveFindingsRequest(input)
4444	req.SetContext(ctx)
4445	req.ApplyOptions(opts...)
4446	return out, req.Send()
4447}
4448
4449const opUntagResource = "UntagResource"
4450
4451// UntagResourceRequest generates a "aws/request.Request" representing the
4452// client's request for the UntagResource operation. The "output" return
4453// value will be populated with the request's response once the request completes
4454// successfully.
4455//
4456// Use "Send" method on the returned Request to send the API call to the service.
4457// the "output" return value is not valid until after Send returns without error.
4458//
4459// See UntagResource for more information on using the UntagResource
4460// API call, and error handling.
4461//
4462// This method is useful when you want to inject custom logic or configuration
4463// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4464//
4465//
4466//    // Example sending a request using the UntagResourceRequest method.
4467//    req, resp := client.UntagResourceRequest(params)
4468//
4469//    err := req.Send()
4470//    if err == nil { // resp is now filled
4471//        fmt.Println(resp)
4472//    }
4473//
4474// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UntagResource
4475func (c *GuardDuty) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
4476	op := &request.Operation{
4477		Name:       opUntagResource,
4478		HTTPMethod: "DELETE",
4479		HTTPPath:   "/tags/{resourceArn}",
4480	}
4481
4482	if input == nil {
4483		input = &UntagResourceInput{}
4484	}
4485
4486	output = &UntagResourceOutput{}
4487	req = c.newRequest(op, input, output)
4488	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4489	return
4490}
4491
4492// UntagResource API operation for Amazon GuardDuty.
4493//
4494// Removes tags from a resource.
4495//
4496// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4497// with awserr.Error's Code and Message methods to get detailed information about
4498// the error.
4499//
4500// See the AWS API reference guide for Amazon GuardDuty's
4501// API operation UntagResource for usage and error information.
4502//
4503// Returned Error Types:
4504//   * BadRequestException
4505//   A bad request exception object.
4506//
4507//   * InternalServerErrorException
4508//   An internal server error exception object.
4509//
4510// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UntagResource
4511func (c *GuardDuty) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
4512	req, out := c.UntagResourceRequest(input)
4513	return out, req.Send()
4514}
4515
4516// UntagResourceWithContext is the same as UntagResource with the addition of
4517// the ability to pass a context and additional request options.
4518//
4519// See UntagResource for details on how to use this API operation.
4520//
4521// The context must be non-nil and will be used for request cancellation. If
4522// the context is nil a panic will occur. In the future the SDK may create
4523// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4524// for more information on using Contexts.
4525func (c *GuardDuty) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
4526	req, out := c.UntagResourceRequest(input)
4527	req.SetContext(ctx)
4528	req.ApplyOptions(opts...)
4529	return out, req.Send()
4530}
4531
4532const opUpdateDetector = "UpdateDetector"
4533
4534// UpdateDetectorRequest generates a "aws/request.Request" representing the
4535// client's request for the UpdateDetector operation. The "output" return
4536// value will be populated with the request's response once the request completes
4537// successfully.
4538//
4539// Use "Send" method on the returned Request to send the API call to the service.
4540// the "output" return value is not valid until after Send returns without error.
4541//
4542// See UpdateDetector for more information on using the UpdateDetector
4543// API call, and error handling.
4544//
4545// This method is useful when you want to inject custom logic or configuration
4546// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4547//
4548//
4549//    // Example sending a request using the UpdateDetectorRequest method.
4550//    req, resp := client.UpdateDetectorRequest(params)
4551//
4552//    err := req.Send()
4553//    if err == nil { // resp is now filled
4554//        fmt.Println(resp)
4555//    }
4556//
4557// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateDetector
4558func (c *GuardDuty) UpdateDetectorRequest(input *UpdateDetectorInput) (req *request.Request, output *UpdateDetectorOutput) {
4559	op := &request.Operation{
4560		Name:       opUpdateDetector,
4561		HTTPMethod: "POST",
4562		HTTPPath:   "/detector/{detectorId}",
4563	}
4564
4565	if input == nil {
4566		input = &UpdateDetectorInput{}
4567	}
4568
4569	output = &UpdateDetectorOutput{}
4570	req = c.newRequest(op, input, output)
4571	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4572	return
4573}
4574
4575// UpdateDetector API operation for Amazon GuardDuty.
4576//
4577// Updates the Amazon GuardDuty detector specified by the detectorId.
4578//
4579// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4580// with awserr.Error's Code and Message methods to get detailed information about
4581// the error.
4582//
4583// See the AWS API reference guide for Amazon GuardDuty's
4584// API operation UpdateDetector for usage and error information.
4585//
4586// Returned Error Types:
4587//   * BadRequestException
4588//   A bad request exception object.
4589//
4590//   * InternalServerErrorException
4591//   An internal server error exception object.
4592//
4593// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateDetector
4594func (c *GuardDuty) UpdateDetector(input *UpdateDetectorInput) (*UpdateDetectorOutput, error) {
4595	req, out := c.UpdateDetectorRequest(input)
4596	return out, req.Send()
4597}
4598
4599// UpdateDetectorWithContext is the same as UpdateDetector with the addition of
4600// the ability to pass a context and additional request options.
4601//
4602// See UpdateDetector for details on how to use this API operation.
4603//
4604// The context must be non-nil and will be used for request cancellation. If
4605// the context is nil a panic will occur. In the future the SDK may create
4606// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4607// for more information on using Contexts.
4608func (c *GuardDuty) UpdateDetectorWithContext(ctx aws.Context, input *UpdateDetectorInput, opts ...request.Option) (*UpdateDetectorOutput, error) {
4609	req, out := c.UpdateDetectorRequest(input)
4610	req.SetContext(ctx)
4611	req.ApplyOptions(opts...)
4612	return out, req.Send()
4613}
4614
4615const opUpdateFilter = "UpdateFilter"
4616
4617// UpdateFilterRequest generates a "aws/request.Request" representing the
4618// client's request for the UpdateFilter operation. The "output" return
4619// value will be populated with the request's response once the request completes
4620// successfully.
4621//
4622// Use "Send" method on the returned Request to send the API call to the service.
4623// the "output" return value is not valid until after Send returns without error.
4624//
4625// See UpdateFilter for more information on using the UpdateFilter
4626// API call, and error handling.
4627//
4628// This method is useful when you want to inject custom logic or configuration
4629// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4630//
4631//
4632//    // Example sending a request using the UpdateFilterRequest method.
4633//    req, resp := client.UpdateFilterRequest(params)
4634//
4635//    err := req.Send()
4636//    if err == nil { // resp is now filled
4637//        fmt.Println(resp)
4638//    }
4639//
4640// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateFilter
4641func (c *GuardDuty) UpdateFilterRequest(input *UpdateFilterInput) (req *request.Request, output *UpdateFilterOutput) {
4642	op := &request.Operation{
4643		Name:       opUpdateFilter,
4644		HTTPMethod: "POST",
4645		HTTPPath:   "/detector/{detectorId}/filter/{filterName}",
4646	}
4647
4648	if input == nil {
4649		input = &UpdateFilterInput{}
4650	}
4651
4652	output = &UpdateFilterOutput{}
4653	req = c.newRequest(op, input, output)
4654	return
4655}
4656
4657// UpdateFilter API operation for Amazon GuardDuty.
4658//
4659// Updates the filter specified by the filter name.
4660//
4661// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4662// with awserr.Error's Code and Message methods to get detailed information about
4663// the error.
4664//
4665// See the AWS API reference guide for Amazon GuardDuty's
4666// API operation UpdateFilter for usage and error information.
4667//
4668// Returned Error Types:
4669//   * BadRequestException
4670//   A bad request exception object.
4671//
4672//   * InternalServerErrorException
4673//   An internal server error exception object.
4674//
4675// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateFilter
4676func (c *GuardDuty) UpdateFilter(input *UpdateFilterInput) (*UpdateFilterOutput, error) {
4677	req, out := c.UpdateFilterRequest(input)
4678	return out, req.Send()
4679}
4680
4681// UpdateFilterWithContext is the same as UpdateFilter with the addition of
4682// the ability to pass a context and additional request options.
4683//
4684// See UpdateFilter for details on how to use this API operation.
4685//
4686// The context must be non-nil and will be used for request cancellation. If
4687// the context is nil a panic will occur. In the future the SDK may create
4688// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4689// for more information on using Contexts.
4690func (c *GuardDuty) UpdateFilterWithContext(ctx aws.Context, input *UpdateFilterInput, opts ...request.Option) (*UpdateFilterOutput, error) {
4691	req, out := c.UpdateFilterRequest(input)
4692	req.SetContext(ctx)
4693	req.ApplyOptions(opts...)
4694	return out, req.Send()
4695}
4696
4697const opUpdateFindingsFeedback = "UpdateFindingsFeedback"
4698
4699// UpdateFindingsFeedbackRequest generates a "aws/request.Request" representing the
4700// client's request for the UpdateFindingsFeedback operation. The "output" return
4701// value will be populated with the request's response once the request completes
4702// successfully.
4703//
4704// Use "Send" method on the returned Request to send the API call to the service.
4705// the "output" return value is not valid until after Send returns without error.
4706//
4707// See UpdateFindingsFeedback for more information on using the UpdateFindingsFeedback
4708// API call, and error handling.
4709//
4710// This method is useful when you want to inject custom logic or configuration
4711// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4712//
4713//
4714//    // Example sending a request using the UpdateFindingsFeedbackRequest method.
4715//    req, resp := client.UpdateFindingsFeedbackRequest(params)
4716//
4717//    err := req.Send()
4718//    if err == nil { // resp is now filled
4719//        fmt.Println(resp)
4720//    }
4721//
4722// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateFindingsFeedback
4723func (c *GuardDuty) UpdateFindingsFeedbackRequest(input *UpdateFindingsFeedbackInput) (req *request.Request, output *UpdateFindingsFeedbackOutput) {
4724	op := &request.Operation{
4725		Name:       opUpdateFindingsFeedback,
4726		HTTPMethod: "POST",
4727		HTTPPath:   "/detector/{detectorId}/findings/feedback",
4728	}
4729
4730	if input == nil {
4731		input = &UpdateFindingsFeedbackInput{}
4732	}
4733
4734	output = &UpdateFindingsFeedbackOutput{}
4735	req = c.newRequest(op, input, output)
4736	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4737	return
4738}
4739
4740// UpdateFindingsFeedback API operation for Amazon GuardDuty.
4741//
4742// Marks the specified GuardDuty findings as useful or not useful.
4743//
4744// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4745// with awserr.Error's Code and Message methods to get detailed information about
4746// the error.
4747//
4748// See the AWS API reference guide for Amazon GuardDuty's
4749// API operation UpdateFindingsFeedback for usage and error information.
4750//
4751// Returned Error Types:
4752//   * BadRequestException
4753//   A bad request exception object.
4754//
4755//   * InternalServerErrorException
4756//   An internal server error exception object.
4757//
4758// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateFindingsFeedback
4759func (c *GuardDuty) UpdateFindingsFeedback(input *UpdateFindingsFeedbackInput) (*UpdateFindingsFeedbackOutput, error) {
4760	req, out := c.UpdateFindingsFeedbackRequest(input)
4761	return out, req.Send()
4762}
4763
4764// UpdateFindingsFeedbackWithContext is the same as UpdateFindingsFeedback with the addition of
4765// the ability to pass a context and additional request options.
4766//
4767// See UpdateFindingsFeedback for details on how to use this API operation.
4768//
4769// The context must be non-nil and will be used for request cancellation. If
4770// the context is nil a panic will occur. In the future the SDK may create
4771// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4772// for more information on using Contexts.
4773func (c *GuardDuty) UpdateFindingsFeedbackWithContext(ctx aws.Context, input *UpdateFindingsFeedbackInput, opts ...request.Option) (*UpdateFindingsFeedbackOutput, error) {
4774	req, out := c.UpdateFindingsFeedbackRequest(input)
4775	req.SetContext(ctx)
4776	req.ApplyOptions(opts...)
4777	return out, req.Send()
4778}
4779
4780const opUpdateIPSet = "UpdateIPSet"
4781
4782// UpdateIPSetRequest generates a "aws/request.Request" representing the
4783// client's request for the UpdateIPSet operation. The "output" return
4784// value will be populated with the request's response once the request completes
4785// successfully.
4786//
4787// Use "Send" method on the returned Request to send the API call to the service.
4788// the "output" return value is not valid until after Send returns without error.
4789//
4790// See UpdateIPSet for more information on using the UpdateIPSet
4791// API call, and error handling.
4792//
4793// This method is useful when you want to inject custom logic or configuration
4794// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4795//
4796//
4797//    // Example sending a request using the UpdateIPSetRequest method.
4798//    req, resp := client.UpdateIPSetRequest(params)
4799//
4800//    err := req.Send()
4801//    if err == nil { // resp is now filled
4802//        fmt.Println(resp)
4803//    }
4804//
4805// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateIPSet
4806func (c *GuardDuty) UpdateIPSetRequest(input *UpdateIPSetInput) (req *request.Request, output *UpdateIPSetOutput) {
4807	op := &request.Operation{
4808		Name:       opUpdateIPSet,
4809		HTTPMethod: "POST",
4810		HTTPPath:   "/detector/{detectorId}/ipset/{ipSetId}",
4811	}
4812
4813	if input == nil {
4814		input = &UpdateIPSetInput{}
4815	}
4816
4817	output = &UpdateIPSetOutput{}
4818	req = c.newRequest(op, input, output)
4819	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4820	return
4821}
4822
4823// UpdateIPSet API operation for Amazon GuardDuty.
4824//
4825// Updates the IPSet specified by the IPSet ID.
4826//
4827// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4828// with awserr.Error's Code and Message methods to get detailed information about
4829// the error.
4830//
4831// See the AWS API reference guide for Amazon GuardDuty's
4832// API operation UpdateIPSet for usage and error information.
4833//
4834// Returned Error Types:
4835//   * BadRequestException
4836//   A bad request exception object.
4837//
4838//   * InternalServerErrorException
4839//   An internal server error exception object.
4840//
4841// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateIPSet
4842func (c *GuardDuty) UpdateIPSet(input *UpdateIPSetInput) (*UpdateIPSetOutput, error) {
4843	req, out := c.UpdateIPSetRequest(input)
4844	return out, req.Send()
4845}
4846
4847// UpdateIPSetWithContext is the same as UpdateIPSet with the addition of
4848// the ability to pass a context and additional request options.
4849//
4850// See UpdateIPSet for details on how to use this API operation.
4851//
4852// The context must be non-nil and will be used for request cancellation. If
4853// the context is nil a panic will occur. In the future the SDK may create
4854// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4855// for more information on using Contexts.
4856func (c *GuardDuty) UpdateIPSetWithContext(ctx aws.Context, input *UpdateIPSetInput, opts ...request.Option) (*UpdateIPSetOutput, error) {
4857	req, out := c.UpdateIPSetRequest(input)
4858	req.SetContext(ctx)
4859	req.ApplyOptions(opts...)
4860	return out, req.Send()
4861}
4862
4863const opUpdateOrganizationConfiguration = "UpdateOrganizationConfiguration"
4864
4865// UpdateOrganizationConfigurationRequest generates a "aws/request.Request" representing the
4866// client's request for the UpdateOrganizationConfiguration operation. The "output" return
4867// value will be populated with the request's response once the request completes
4868// successfully.
4869//
4870// Use "Send" method on the returned Request to send the API call to the service.
4871// the "output" return value is not valid until after Send returns without error.
4872//
4873// See UpdateOrganizationConfiguration for more information on using the UpdateOrganizationConfiguration
4874// API call, and error handling.
4875//
4876// This method is useful when you want to inject custom logic or configuration
4877// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4878//
4879//
4880//    // Example sending a request using the UpdateOrganizationConfigurationRequest method.
4881//    req, resp := client.UpdateOrganizationConfigurationRequest(params)
4882//
4883//    err := req.Send()
4884//    if err == nil { // resp is now filled
4885//        fmt.Println(resp)
4886//    }
4887//
4888// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateOrganizationConfiguration
4889func (c *GuardDuty) UpdateOrganizationConfigurationRequest(input *UpdateOrganizationConfigurationInput) (req *request.Request, output *UpdateOrganizationConfigurationOutput) {
4890	op := &request.Operation{
4891		Name:       opUpdateOrganizationConfiguration,
4892		HTTPMethod: "POST",
4893		HTTPPath:   "/detector/{detectorId}/admin",
4894	}
4895
4896	if input == nil {
4897		input = &UpdateOrganizationConfigurationInput{}
4898	}
4899
4900	output = &UpdateOrganizationConfigurationOutput{}
4901	req = c.newRequest(op, input, output)
4902	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4903	return
4904}
4905
4906// UpdateOrganizationConfiguration API operation for Amazon GuardDuty.
4907//
4908// Updates the delegated administrator account with the values provided.
4909//
4910// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4911// with awserr.Error's Code and Message methods to get detailed information about
4912// the error.
4913//
4914// See the AWS API reference guide for Amazon GuardDuty's
4915// API operation UpdateOrganizationConfiguration for usage and error information.
4916//
4917// Returned Error Types:
4918//   * BadRequestException
4919//   A bad request exception object.
4920//
4921//   * InternalServerErrorException
4922//   An internal server error exception object.
4923//
4924// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateOrganizationConfiguration
4925func (c *GuardDuty) UpdateOrganizationConfiguration(input *UpdateOrganizationConfigurationInput) (*UpdateOrganizationConfigurationOutput, error) {
4926	req, out := c.UpdateOrganizationConfigurationRequest(input)
4927	return out, req.Send()
4928}
4929
4930// UpdateOrganizationConfigurationWithContext is the same as UpdateOrganizationConfiguration with the addition of
4931// the ability to pass a context and additional request options.
4932//
4933// See UpdateOrganizationConfiguration for details on how to use this API operation.
4934//
4935// The context must be non-nil and will be used for request cancellation. If
4936// the context is nil a panic will occur. In the future the SDK may create
4937// sub-contexts for http.Requests. See https://golang.org/pkg/context/
4938// for more information on using Contexts.
4939func (c *GuardDuty) UpdateOrganizationConfigurationWithContext(ctx aws.Context, input *UpdateOrganizationConfigurationInput, opts ...request.Option) (*UpdateOrganizationConfigurationOutput, error) {
4940	req, out := c.UpdateOrganizationConfigurationRequest(input)
4941	req.SetContext(ctx)
4942	req.ApplyOptions(opts...)
4943	return out, req.Send()
4944}
4945
4946const opUpdatePublishingDestination = "UpdatePublishingDestination"
4947
4948// UpdatePublishingDestinationRequest generates a "aws/request.Request" representing the
4949// client's request for the UpdatePublishingDestination operation. The "output" return
4950// value will be populated with the request's response once the request completes
4951// successfully.
4952//
4953// Use "Send" method on the returned Request to send the API call to the service.
4954// the "output" return value is not valid until after Send returns without error.
4955//
4956// See UpdatePublishingDestination for more information on using the UpdatePublishingDestination
4957// API call, and error handling.
4958//
4959// This method is useful when you want to inject custom logic or configuration
4960// into the SDK's request lifecycle. Such as custom headers, or retry logic.
4961//
4962//
4963//    // Example sending a request using the UpdatePublishingDestinationRequest method.
4964//    req, resp := client.UpdatePublishingDestinationRequest(params)
4965//
4966//    err := req.Send()
4967//    if err == nil { // resp is now filled
4968//        fmt.Println(resp)
4969//    }
4970//
4971// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdatePublishingDestination
4972func (c *GuardDuty) UpdatePublishingDestinationRequest(input *UpdatePublishingDestinationInput) (req *request.Request, output *UpdatePublishingDestinationOutput) {
4973	op := &request.Operation{
4974		Name:       opUpdatePublishingDestination,
4975		HTTPMethod: "POST",
4976		HTTPPath:   "/detector/{detectorId}/publishingDestination/{destinationId}",
4977	}
4978
4979	if input == nil {
4980		input = &UpdatePublishingDestinationInput{}
4981	}
4982
4983	output = &UpdatePublishingDestinationOutput{}
4984	req = c.newRequest(op, input, output)
4985	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
4986	return
4987}
4988
4989// UpdatePublishingDestination API operation for Amazon GuardDuty.
4990//
4991// Updates information about the publishing destination specified by the destinationId.
4992//
4993// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
4994// with awserr.Error's Code and Message methods to get detailed information about
4995// the error.
4996//
4997// See the AWS API reference guide for Amazon GuardDuty's
4998// API operation UpdatePublishingDestination for usage and error information.
4999//
5000// Returned Error Types:
5001//   * BadRequestException
5002//   A bad request exception object.
5003//
5004//   * InternalServerErrorException
5005//   An internal server error exception object.
5006//
5007// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdatePublishingDestination
5008func (c *GuardDuty) UpdatePublishingDestination(input *UpdatePublishingDestinationInput) (*UpdatePublishingDestinationOutput, error) {
5009	req, out := c.UpdatePublishingDestinationRequest(input)
5010	return out, req.Send()
5011}
5012
5013// UpdatePublishingDestinationWithContext is the same as UpdatePublishingDestination with the addition of
5014// the ability to pass a context and additional request options.
5015//
5016// See UpdatePublishingDestination for details on how to use this API operation.
5017//
5018// The context must be non-nil and will be used for request cancellation. If
5019// the context is nil a panic will occur. In the future the SDK may create
5020// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5021// for more information on using Contexts.
5022func (c *GuardDuty) UpdatePublishingDestinationWithContext(ctx aws.Context, input *UpdatePublishingDestinationInput, opts ...request.Option) (*UpdatePublishingDestinationOutput, error) {
5023	req, out := c.UpdatePublishingDestinationRequest(input)
5024	req.SetContext(ctx)
5025	req.ApplyOptions(opts...)
5026	return out, req.Send()
5027}
5028
5029const opUpdateThreatIntelSet = "UpdateThreatIntelSet"
5030
5031// UpdateThreatIntelSetRequest generates a "aws/request.Request" representing the
5032// client's request for the UpdateThreatIntelSet operation. The "output" return
5033// value will be populated with the request's response once the request completes
5034// successfully.
5035//
5036// Use "Send" method on the returned Request to send the API call to the service.
5037// the "output" return value is not valid until after Send returns without error.
5038//
5039// See UpdateThreatIntelSet for more information on using the UpdateThreatIntelSet
5040// API call, and error handling.
5041//
5042// This method is useful when you want to inject custom logic or configuration
5043// into the SDK's request lifecycle. Such as custom headers, or retry logic.
5044//
5045//
5046//    // Example sending a request using the UpdateThreatIntelSetRequest method.
5047//    req, resp := client.UpdateThreatIntelSetRequest(params)
5048//
5049//    err := req.Send()
5050//    if err == nil { // resp is now filled
5051//        fmt.Println(resp)
5052//    }
5053//
5054// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateThreatIntelSet
5055func (c *GuardDuty) UpdateThreatIntelSetRequest(input *UpdateThreatIntelSetInput) (req *request.Request, output *UpdateThreatIntelSetOutput) {
5056	op := &request.Operation{
5057		Name:       opUpdateThreatIntelSet,
5058		HTTPMethod: "POST",
5059		HTTPPath:   "/detector/{detectorId}/threatintelset/{threatIntelSetId}",
5060	}
5061
5062	if input == nil {
5063		input = &UpdateThreatIntelSetInput{}
5064	}
5065
5066	output = &UpdateThreatIntelSetOutput{}
5067	req = c.newRequest(op, input, output)
5068	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
5069	return
5070}
5071
5072// UpdateThreatIntelSet API operation for Amazon GuardDuty.
5073//
5074// Updates the ThreatIntelSet specified by the ThreatIntelSet ID.
5075//
5076// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
5077// with awserr.Error's Code and Message methods to get detailed information about
5078// the error.
5079//
5080// See the AWS API reference guide for Amazon GuardDuty's
5081// API operation UpdateThreatIntelSet for usage and error information.
5082//
5083// Returned Error Types:
5084//   * BadRequestException
5085//   A bad request exception object.
5086//
5087//   * InternalServerErrorException
5088//   An internal server error exception object.
5089//
5090// See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateThreatIntelSet
5091func (c *GuardDuty) UpdateThreatIntelSet(input *UpdateThreatIntelSetInput) (*UpdateThreatIntelSetOutput, error) {
5092	req, out := c.UpdateThreatIntelSetRequest(input)
5093	return out, req.Send()
5094}
5095
5096// UpdateThreatIntelSetWithContext is the same as UpdateThreatIntelSet with the addition of
5097// the ability to pass a context and additional request options.
5098//
5099// See UpdateThreatIntelSet for details on how to use this API operation.
5100//
5101// The context must be non-nil and will be used for request cancellation. If
5102// the context is nil a panic will occur. In the future the SDK may create
5103// sub-contexts for http.Requests. See https://golang.org/pkg/context/
5104// for more information on using Contexts.
5105func (c *GuardDuty) UpdateThreatIntelSetWithContext(ctx aws.Context, input *UpdateThreatIntelSetInput, opts ...request.Option) (*UpdateThreatIntelSetOutput, error) {
5106	req, out := c.UpdateThreatIntelSetRequest(input)
5107	req.SetContext(ctx)
5108	req.ApplyOptions(opts...)
5109	return out, req.Send()
5110}
5111
5112type AcceptInvitationInput struct {
5113	_ struct{} `type:"structure"`
5114
5115	// The unique ID of the detector of the GuardDuty member account.
5116	//
5117	// DetectorId is a required field
5118	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
5119
5120	// The value that is used to validate the master account to the member account.
5121	//
5122	// InvitationId is a required field
5123	InvitationId *string `locationName:"invitationId" type:"string" required:"true"`
5124
5125	// The account ID of the master GuardDuty account whose invitation you're accepting.
5126	//
5127	// MasterId is a required field
5128	MasterId *string `locationName:"masterId" type:"string" required:"true"`
5129}
5130
5131// String returns the string representation
5132func (s AcceptInvitationInput) String() string {
5133	return awsutil.Prettify(s)
5134}
5135
5136// GoString returns the string representation
5137func (s AcceptInvitationInput) GoString() string {
5138	return s.String()
5139}
5140
5141// Validate inspects the fields of the type to determine if they are valid.
5142func (s *AcceptInvitationInput) Validate() error {
5143	invalidParams := request.ErrInvalidParams{Context: "AcceptInvitationInput"}
5144	if s.DetectorId == nil {
5145		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
5146	}
5147	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
5148		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
5149	}
5150	if s.InvitationId == nil {
5151		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
5152	}
5153	if s.MasterId == nil {
5154		invalidParams.Add(request.NewErrParamRequired("MasterId"))
5155	}
5156
5157	if invalidParams.Len() > 0 {
5158		return invalidParams
5159	}
5160	return nil
5161}
5162
5163// SetDetectorId sets the DetectorId field's value.
5164func (s *AcceptInvitationInput) SetDetectorId(v string) *AcceptInvitationInput {
5165	s.DetectorId = &v
5166	return s
5167}
5168
5169// SetInvitationId sets the InvitationId field's value.
5170func (s *AcceptInvitationInput) SetInvitationId(v string) *AcceptInvitationInput {
5171	s.InvitationId = &v
5172	return s
5173}
5174
5175// SetMasterId sets the MasterId field's value.
5176func (s *AcceptInvitationInput) SetMasterId(v string) *AcceptInvitationInput {
5177	s.MasterId = &v
5178	return s
5179}
5180
5181type AcceptInvitationOutput struct {
5182	_ struct{} `type:"structure"`
5183}
5184
5185// String returns the string representation
5186func (s AcceptInvitationOutput) String() string {
5187	return awsutil.Prettify(s)
5188}
5189
5190// GoString returns the string representation
5191func (s AcceptInvitationOutput) GoString() string {
5192	return s.String()
5193}
5194
5195// Contains information on the current access control policies for the bucket.
5196type AccessControlList struct {
5197	_ struct{} `type:"structure"`
5198
5199	// A value that indicates whether public read access for the bucket is enabled
5200	// through an Access Control List (ACL).
5201	AllowsPublicReadAccess *bool `locationName:"allowsPublicReadAccess" type:"boolean"`
5202
5203	// A value that indicates whether public write access for the bucket is enabled
5204	// through an Access Control List (ACL).
5205	AllowsPublicWriteAccess *bool `locationName:"allowsPublicWriteAccess" type:"boolean"`
5206}
5207
5208// String returns the string representation
5209func (s AccessControlList) String() string {
5210	return awsutil.Prettify(s)
5211}
5212
5213// GoString returns the string representation
5214func (s AccessControlList) GoString() string {
5215	return s.String()
5216}
5217
5218// SetAllowsPublicReadAccess sets the AllowsPublicReadAccess field's value.
5219func (s *AccessControlList) SetAllowsPublicReadAccess(v bool) *AccessControlList {
5220	s.AllowsPublicReadAccess = &v
5221	return s
5222}
5223
5224// SetAllowsPublicWriteAccess sets the AllowsPublicWriteAccess field's value.
5225func (s *AccessControlList) SetAllowsPublicWriteAccess(v bool) *AccessControlList {
5226	s.AllowsPublicWriteAccess = &v
5227	return s
5228}
5229
5230// Contains information about the access keys.
5231type AccessKeyDetails struct {
5232	_ struct{} `type:"structure"`
5233
5234	// The access key ID of the user.
5235	AccessKeyId *string `locationName:"accessKeyId" type:"string"`
5236
5237	// The principal ID of the user.
5238	PrincipalId *string `locationName:"principalId" type:"string"`
5239
5240	// The name of the user.
5241	UserName *string `locationName:"userName" type:"string"`
5242
5243	// The type of the user.
5244	UserType *string `locationName:"userType" type:"string"`
5245}
5246
5247// String returns the string representation
5248func (s AccessKeyDetails) String() string {
5249	return awsutil.Prettify(s)
5250}
5251
5252// GoString returns the string representation
5253func (s AccessKeyDetails) GoString() string {
5254	return s.String()
5255}
5256
5257// SetAccessKeyId sets the AccessKeyId field's value.
5258func (s *AccessKeyDetails) SetAccessKeyId(v string) *AccessKeyDetails {
5259	s.AccessKeyId = &v
5260	return s
5261}
5262
5263// SetPrincipalId sets the PrincipalId field's value.
5264func (s *AccessKeyDetails) SetPrincipalId(v string) *AccessKeyDetails {
5265	s.PrincipalId = &v
5266	return s
5267}
5268
5269// SetUserName sets the UserName field's value.
5270func (s *AccessKeyDetails) SetUserName(v string) *AccessKeyDetails {
5271	s.UserName = &v
5272	return s
5273}
5274
5275// SetUserType sets the UserType field's value.
5276func (s *AccessKeyDetails) SetUserType(v string) *AccessKeyDetails {
5277	s.UserType = &v
5278	return s
5279}
5280
5281// Contains information about the account.
5282type AccountDetail struct {
5283	_ struct{} `type:"structure"`
5284
5285	// The member account ID.
5286	//
5287	// AccountId is a required field
5288	AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"`
5289
5290	// The email address of the member account.
5291	//
5292	// Email is a required field
5293	Email *string `locationName:"email" min:"1" type:"string" required:"true"`
5294}
5295
5296// String returns the string representation
5297func (s AccountDetail) String() string {
5298	return awsutil.Prettify(s)
5299}
5300
5301// GoString returns the string representation
5302func (s AccountDetail) GoString() string {
5303	return s.String()
5304}
5305
5306// Validate inspects the fields of the type to determine if they are valid.
5307func (s *AccountDetail) Validate() error {
5308	invalidParams := request.ErrInvalidParams{Context: "AccountDetail"}
5309	if s.AccountId == nil {
5310		invalidParams.Add(request.NewErrParamRequired("AccountId"))
5311	}
5312	if s.AccountId != nil && len(*s.AccountId) < 12 {
5313		invalidParams.Add(request.NewErrParamMinLen("AccountId", 12))
5314	}
5315	if s.Email == nil {
5316		invalidParams.Add(request.NewErrParamRequired("Email"))
5317	}
5318	if s.Email != nil && len(*s.Email) < 1 {
5319		invalidParams.Add(request.NewErrParamMinLen("Email", 1))
5320	}
5321
5322	if invalidParams.Len() > 0 {
5323		return invalidParams
5324	}
5325	return nil
5326}
5327
5328// SetAccountId sets the AccountId field's value.
5329func (s *AccountDetail) SetAccountId(v string) *AccountDetail {
5330	s.AccountId = &v
5331	return s
5332}
5333
5334// SetEmail sets the Email field's value.
5335func (s *AccountDetail) SetEmail(v string) *AccountDetail {
5336	s.Email = &v
5337	return s
5338}
5339
5340// Contains information about the account level permissions on the S3 bucket.
5341type AccountLevelPermissions struct {
5342	_ struct{} `type:"structure"`
5343
5344	// Describes the S3 Block Public Access settings of the bucket's parent account.
5345	BlockPublicAccess *BlockPublicAccess `locationName:"blockPublicAccess" type:"structure"`
5346}
5347
5348// String returns the string representation
5349func (s AccountLevelPermissions) String() string {
5350	return awsutil.Prettify(s)
5351}
5352
5353// GoString returns the string representation
5354func (s AccountLevelPermissions) GoString() string {
5355	return s.String()
5356}
5357
5358// SetBlockPublicAccess sets the BlockPublicAccess field's value.
5359func (s *AccountLevelPermissions) SetBlockPublicAccess(v *BlockPublicAccess) *AccountLevelPermissions {
5360	s.BlockPublicAccess = v
5361	return s
5362}
5363
5364// Contains information about actions.
5365type Action struct {
5366	_ struct{} `type:"structure"`
5367
5368	// The GuardDuty finding activity type.
5369	ActionType *string `locationName:"actionType" type:"string"`
5370
5371	// Information about the AWS_API_CALL action described in this finding.
5372	AwsApiCallAction *AwsApiCallAction `locationName:"awsApiCallAction" type:"structure"`
5373
5374	// Information about the DNS_REQUEST action described in this finding.
5375	DnsRequestAction *DnsRequestAction `locationName:"dnsRequestAction" type:"structure"`
5376
5377	// Information about the NETWORK_CONNECTION action described in this finding.
5378	NetworkConnectionAction *NetworkConnectionAction `locationName:"networkConnectionAction" type:"structure"`
5379
5380	// Information about the PORT_PROBE action described in this finding.
5381	PortProbeAction *PortProbeAction `locationName:"portProbeAction" type:"structure"`
5382}
5383
5384// String returns the string representation
5385func (s Action) String() string {
5386	return awsutil.Prettify(s)
5387}
5388
5389// GoString returns the string representation
5390func (s Action) GoString() string {
5391	return s.String()
5392}
5393
5394// SetActionType sets the ActionType field's value.
5395func (s *Action) SetActionType(v string) *Action {
5396	s.ActionType = &v
5397	return s
5398}
5399
5400// SetAwsApiCallAction sets the AwsApiCallAction field's value.
5401func (s *Action) SetAwsApiCallAction(v *AwsApiCallAction) *Action {
5402	s.AwsApiCallAction = v
5403	return s
5404}
5405
5406// SetDnsRequestAction sets the DnsRequestAction field's value.
5407func (s *Action) SetDnsRequestAction(v *DnsRequestAction) *Action {
5408	s.DnsRequestAction = v
5409	return s
5410}
5411
5412// SetNetworkConnectionAction sets the NetworkConnectionAction field's value.
5413func (s *Action) SetNetworkConnectionAction(v *NetworkConnectionAction) *Action {
5414	s.NetworkConnectionAction = v
5415	return s
5416}
5417
5418// SetPortProbeAction sets the PortProbeAction field's value.
5419func (s *Action) SetPortProbeAction(v *PortProbeAction) *Action {
5420	s.PortProbeAction = v
5421	return s
5422}
5423
5424// The account within the organization specified as the GuardDuty delegated
5425// administrator.
5426type AdminAccount struct {
5427	_ struct{} `type:"structure"`
5428
5429	// The AWS account ID for the account.
5430	AdminAccountId *string `locationName:"adminAccountId" type:"string"`
5431
5432	// Indicates whether the account is enabled as the delegated administrator.
5433	AdminStatus *string `locationName:"adminStatus" min:"1" type:"string" enum:"AdminStatus"`
5434}
5435
5436// String returns the string representation
5437func (s AdminAccount) String() string {
5438	return awsutil.Prettify(s)
5439}
5440
5441// GoString returns the string representation
5442func (s AdminAccount) GoString() string {
5443	return s.String()
5444}
5445
5446// SetAdminAccountId sets the AdminAccountId field's value.
5447func (s *AdminAccount) SetAdminAccountId(v string) *AdminAccount {
5448	s.AdminAccountId = &v
5449	return s
5450}
5451
5452// SetAdminStatus sets the AdminStatus field's value.
5453func (s *AdminAccount) SetAdminStatus(v string) *AdminAccount {
5454	s.AdminStatus = &v
5455	return s
5456}
5457
5458type ArchiveFindingsInput struct {
5459	_ struct{} `type:"structure"`
5460
5461	// The ID of the detector that specifies the GuardDuty service whose findings
5462	// you want to archive.
5463	//
5464	// DetectorId is a required field
5465	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
5466
5467	// The IDs of the findings that you want to archive.
5468	//
5469	// FindingIds is a required field
5470	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
5471}
5472
5473// String returns the string representation
5474func (s ArchiveFindingsInput) String() string {
5475	return awsutil.Prettify(s)
5476}
5477
5478// GoString returns the string representation
5479func (s ArchiveFindingsInput) GoString() string {
5480	return s.String()
5481}
5482
5483// Validate inspects the fields of the type to determine if they are valid.
5484func (s *ArchiveFindingsInput) Validate() error {
5485	invalidParams := request.ErrInvalidParams{Context: "ArchiveFindingsInput"}
5486	if s.DetectorId == nil {
5487		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
5488	}
5489	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
5490		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
5491	}
5492	if s.FindingIds == nil {
5493		invalidParams.Add(request.NewErrParamRequired("FindingIds"))
5494	}
5495
5496	if invalidParams.Len() > 0 {
5497		return invalidParams
5498	}
5499	return nil
5500}
5501
5502// SetDetectorId sets the DetectorId field's value.
5503func (s *ArchiveFindingsInput) SetDetectorId(v string) *ArchiveFindingsInput {
5504	s.DetectorId = &v
5505	return s
5506}
5507
5508// SetFindingIds sets the FindingIds field's value.
5509func (s *ArchiveFindingsInput) SetFindingIds(v []*string) *ArchiveFindingsInput {
5510	s.FindingIds = v
5511	return s
5512}
5513
5514type ArchiveFindingsOutput struct {
5515	_ struct{} `type:"structure"`
5516}
5517
5518// String returns the string representation
5519func (s ArchiveFindingsOutput) String() string {
5520	return awsutil.Prettify(s)
5521}
5522
5523// GoString returns the string representation
5524func (s ArchiveFindingsOutput) GoString() string {
5525	return s.String()
5526}
5527
5528// Contains information about the API operation.
5529type AwsApiCallAction struct {
5530	_ struct{} `type:"structure"`
5531
5532	// The AWS API name.
5533	Api *string `locationName:"api" type:"string"`
5534
5535	// The AWS API caller type.
5536	CallerType *string `locationName:"callerType" type:"string"`
5537
5538	// The domain information for the AWS API call.
5539	DomainDetails *DomainDetails `locationName:"domainDetails" type:"structure"`
5540
5541	// The remote IP information of the connection.
5542	RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"`
5543
5544	// The AWS service name whose API was invoked.
5545	ServiceName *string `locationName:"serviceName" type:"string"`
5546}
5547
5548// String returns the string representation
5549func (s AwsApiCallAction) String() string {
5550	return awsutil.Prettify(s)
5551}
5552
5553// GoString returns the string representation
5554func (s AwsApiCallAction) GoString() string {
5555	return s.String()
5556}
5557
5558// SetApi sets the Api field's value.
5559func (s *AwsApiCallAction) SetApi(v string) *AwsApiCallAction {
5560	s.Api = &v
5561	return s
5562}
5563
5564// SetCallerType sets the CallerType field's value.
5565func (s *AwsApiCallAction) SetCallerType(v string) *AwsApiCallAction {
5566	s.CallerType = &v
5567	return s
5568}
5569
5570// SetDomainDetails sets the DomainDetails field's value.
5571func (s *AwsApiCallAction) SetDomainDetails(v *DomainDetails) *AwsApiCallAction {
5572	s.DomainDetails = v
5573	return s
5574}
5575
5576// SetRemoteIpDetails sets the RemoteIpDetails field's value.
5577func (s *AwsApiCallAction) SetRemoteIpDetails(v *RemoteIpDetails) *AwsApiCallAction {
5578	s.RemoteIpDetails = v
5579	return s
5580}
5581
5582// SetServiceName sets the ServiceName field's value.
5583func (s *AwsApiCallAction) SetServiceName(v string) *AwsApiCallAction {
5584	s.ServiceName = &v
5585	return s
5586}
5587
5588// A bad request exception object.
5589type BadRequestException struct {
5590	_            struct{}                  `type:"structure"`
5591	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
5592
5593	// The error message.
5594	Message_ *string `locationName:"message" type:"string"`
5595
5596	// The error type.
5597	Type *string `locationName:"__type" type:"string"`
5598}
5599
5600// String returns the string representation
5601func (s BadRequestException) String() string {
5602	return awsutil.Prettify(s)
5603}
5604
5605// GoString returns the string representation
5606func (s BadRequestException) GoString() string {
5607	return s.String()
5608}
5609
5610func newErrorBadRequestException(v protocol.ResponseMetadata) error {
5611	return &BadRequestException{
5612		RespMetadata: v,
5613	}
5614}
5615
5616// Code returns the exception type name.
5617func (s *BadRequestException) Code() string {
5618	return "BadRequestException"
5619}
5620
5621// Message returns the exception's message.
5622func (s *BadRequestException) Message() string {
5623	if s.Message_ != nil {
5624		return *s.Message_
5625	}
5626	return ""
5627}
5628
5629// OrigErr always returns nil, satisfies awserr.Error interface.
5630func (s *BadRequestException) OrigErr() error {
5631	return nil
5632}
5633
5634func (s *BadRequestException) Error() string {
5635	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
5636}
5637
5638// Status code returns the HTTP status code for the request's response error.
5639func (s *BadRequestException) StatusCode() int {
5640	return s.RespMetadata.StatusCode
5641}
5642
5643// RequestID returns the service's response RequestID for request.
5644func (s *BadRequestException) RequestID() string {
5645	return s.RespMetadata.RequestID
5646}
5647
5648// Contains information on how the bucker owner's S3 Block Public Access settings
5649// are being applied to the S3 bucket. See S3 Block Public Access (https://docs.aws.amazon.com/AmazonS3/latest/dev/access-control-block-public-access.html)
5650// for more information.
5651type BlockPublicAccess struct {
5652	_ struct{} `type:"structure"`
5653
5654	// Indicates if S3 Block Public Access is set to BlockPublicAcls.
5655	BlockPublicAcls *bool `locationName:"blockPublicAcls" type:"boolean"`
5656
5657	// Indicates if S3 Block Public Access is set to BlockPublicPolicy.
5658	BlockPublicPolicy *bool `locationName:"blockPublicPolicy" type:"boolean"`
5659
5660	// Indicates if S3 Block Public Access is set to IgnorePublicAcls.
5661	IgnorePublicAcls *bool `locationName:"ignorePublicAcls" type:"boolean"`
5662
5663	// Indicates if S3 Block Public Access is set to RestrictPublicBuckets.
5664	RestrictPublicBuckets *bool `locationName:"restrictPublicBuckets" type:"boolean"`
5665}
5666
5667// String returns the string representation
5668func (s BlockPublicAccess) String() string {
5669	return awsutil.Prettify(s)
5670}
5671
5672// GoString returns the string representation
5673func (s BlockPublicAccess) GoString() string {
5674	return s.String()
5675}
5676
5677// SetBlockPublicAcls sets the BlockPublicAcls field's value.
5678func (s *BlockPublicAccess) SetBlockPublicAcls(v bool) *BlockPublicAccess {
5679	s.BlockPublicAcls = &v
5680	return s
5681}
5682
5683// SetBlockPublicPolicy sets the BlockPublicPolicy field's value.
5684func (s *BlockPublicAccess) SetBlockPublicPolicy(v bool) *BlockPublicAccess {
5685	s.BlockPublicPolicy = &v
5686	return s
5687}
5688
5689// SetIgnorePublicAcls sets the IgnorePublicAcls field's value.
5690func (s *BlockPublicAccess) SetIgnorePublicAcls(v bool) *BlockPublicAccess {
5691	s.IgnorePublicAcls = &v
5692	return s
5693}
5694
5695// SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value.
5696func (s *BlockPublicAccess) SetRestrictPublicBuckets(v bool) *BlockPublicAccess {
5697	s.RestrictPublicBuckets = &v
5698	return s
5699}
5700
5701// Contains information about the bucket level permissions for the S3 bucket.
5702type BucketLevelPermissions struct {
5703	_ struct{} `type:"structure"`
5704
5705	// Contains information on how Access Control Policies are applied to the bucket.
5706	AccessControlList *AccessControlList `locationName:"accessControlList" type:"structure"`
5707
5708	// Contains information on which account level S3 Block Public Access settings
5709	// are applied to the S3 bucket.
5710	BlockPublicAccess *BlockPublicAccess `locationName:"blockPublicAccess" type:"structure"`
5711
5712	// Contains information on the bucket policies for the S3 bucket.
5713	BucketPolicy *BucketPolicy `locationName:"bucketPolicy" type:"structure"`
5714}
5715
5716// String returns the string representation
5717func (s BucketLevelPermissions) String() string {
5718	return awsutil.Prettify(s)
5719}
5720
5721// GoString returns the string representation
5722func (s BucketLevelPermissions) GoString() string {
5723	return s.String()
5724}
5725
5726// SetAccessControlList sets the AccessControlList field's value.
5727func (s *BucketLevelPermissions) SetAccessControlList(v *AccessControlList) *BucketLevelPermissions {
5728	s.AccessControlList = v
5729	return s
5730}
5731
5732// SetBlockPublicAccess sets the BlockPublicAccess field's value.
5733func (s *BucketLevelPermissions) SetBlockPublicAccess(v *BlockPublicAccess) *BucketLevelPermissions {
5734	s.BlockPublicAccess = v
5735	return s
5736}
5737
5738// SetBucketPolicy sets the BucketPolicy field's value.
5739func (s *BucketLevelPermissions) SetBucketPolicy(v *BucketPolicy) *BucketLevelPermissions {
5740	s.BucketPolicy = v
5741	return s
5742}
5743
5744// Contains information on the current bucket policies for the S3 bucket.
5745type BucketPolicy struct {
5746	_ struct{} `type:"structure"`
5747
5748	// A value that indicates whether public read access for the bucket is enabled
5749	// through a bucket policy.
5750	AllowsPublicReadAccess *bool `locationName:"allowsPublicReadAccess" type:"boolean"`
5751
5752	// A value that indicates whether public write access for the bucket is enabled
5753	// through a bucket policy.
5754	AllowsPublicWriteAccess *bool `locationName:"allowsPublicWriteAccess" type:"boolean"`
5755}
5756
5757// String returns the string representation
5758func (s BucketPolicy) String() string {
5759	return awsutil.Prettify(s)
5760}
5761
5762// GoString returns the string representation
5763func (s BucketPolicy) GoString() string {
5764	return s.String()
5765}
5766
5767// SetAllowsPublicReadAccess sets the AllowsPublicReadAccess field's value.
5768func (s *BucketPolicy) SetAllowsPublicReadAccess(v bool) *BucketPolicy {
5769	s.AllowsPublicReadAccess = &v
5770	return s
5771}
5772
5773// SetAllowsPublicWriteAccess sets the AllowsPublicWriteAccess field's value.
5774func (s *BucketPolicy) SetAllowsPublicWriteAccess(v bool) *BucketPolicy {
5775	s.AllowsPublicWriteAccess = &v
5776	return s
5777}
5778
5779// Contains information about the city associated with the IP address.
5780type City struct {
5781	_ struct{} `type:"structure"`
5782
5783	// The city name of the remote IP address.
5784	CityName *string `locationName:"cityName" type:"string"`
5785}
5786
5787// String returns the string representation
5788func (s City) String() string {
5789	return awsutil.Prettify(s)
5790}
5791
5792// GoString returns the string representation
5793func (s City) GoString() string {
5794	return s.String()
5795}
5796
5797// SetCityName sets the CityName field's value.
5798func (s *City) SetCityName(v string) *City {
5799	s.CityName = &v
5800	return s
5801}
5802
5803// Contains information about the condition.
5804type Condition struct {
5805	_ struct{} `type:"structure"`
5806
5807	// Represents the equal condition to be applied to a single field when querying
5808	// for findings.
5809	//
5810	// Deprecated: Eq has been deprecated
5811	Eq []*string `locationName:"eq" deprecated:"true" type:"list"`
5812
5813	// Represents an equal condition to be applied to a single field when querying
5814	// for findings.
5815	Equals []*string `locationName:"equals" type:"list"`
5816
5817	// Represents a greater than condition to be applied to a single field when
5818	// querying for findings.
5819	GreaterThan *int64 `locationName:"greaterThan" type:"long"`
5820
5821	// Represents a greater than or equal condition to be applied to a single field
5822	// when querying for findings.
5823	GreaterThanOrEqual *int64 `locationName:"greaterThanOrEqual" type:"long"`
5824
5825	// Represents a greater than condition to be applied to a single field when
5826	// querying for findings.
5827	//
5828	// Deprecated: Gt has been deprecated
5829	Gt *int64 `locationName:"gt" deprecated:"true" type:"integer"`
5830
5831	// Represents a greater than or equal condition to be applied to a single field
5832	// when querying for findings.
5833	//
5834	// Deprecated: Gte has been deprecated
5835	Gte *int64 `locationName:"gte" deprecated:"true" type:"integer"`
5836
5837	// Represents a less than condition to be applied to a single field when querying
5838	// for findings.
5839	LessThan *int64 `locationName:"lessThan" type:"long"`
5840
5841	// Represents a less than or equal condition to be applied to a single field
5842	// when querying for findings.
5843	LessThanOrEqual *int64 `locationName:"lessThanOrEqual" type:"long"`
5844
5845	// Represents a less than condition to be applied to a single field when querying
5846	// for findings.
5847	//
5848	// Deprecated: Lt has been deprecated
5849	Lt *int64 `locationName:"lt" deprecated:"true" type:"integer"`
5850
5851	// Represents a less than or equal condition to be applied to a single field
5852	// when querying for findings.
5853	//
5854	// Deprecated: Lte has been deprecated
5855	Lte *int64 `locationName:"lte" deprecated:"true" type:"integer"`
5856
5857	// Represents the not equal condition to be applied to a single field when querying
5858	// for findings.
5859	//
5860	// Deprecated: Neq has been deprecated
5861	Neq []*string `locationName:"neq" deprecated:"true" type:"list"`
5862
5863	// Represents a not equal condition to be applied to a single field when querying
5864	// for findings.
5865	NotEquals []*string `locationName:"notEquals" type:"list"`
5866}
5867
5868// String returns the string representation
5869func (s Condition) String() string {
5870	return awsutil.Prettify(s)
5871}
5872
5873// GoString returns the string representation
5874func (s Condition) GoString() string {
5875	return s.String()
5876}
5877
5878// SetEq sets the Eq field's value.
5879func (s *Condition) SetEq(v []*string) *Condition {
5880	s.Eq = v
5881	return s
5882}
5883
5884// SetEquals sets the Equals field's value.
5885func (s *Condition) SetEquals(v []*string) *Condition {
5886	s.Equals = v
5887	return s
5888}
5889
5890// SetGreaterThan sets the GreaterThan field's value.
5891func (s *Condition) SetGreaterThan(v int64) *Condition {
5892	s.GreaterThan = &v
5893	return s
5894}
5895
5896// SetGreaterThanOrEqual sets the GreaterThanOrEqual field's value.
5897func (s *Condition) SetGreaterThanOrEqual(v int64) *Condition {
5898	s.GreaterThanOrEqual = &v
5899	return s
5900}
5901
5902// SetGt sets the Gt field's value.
5903func (s *Condition) SetGt(v int64) *Condition {
5904	s.Gt = &v
5905	return s
5906}
5907
5908// SetGte sets the Gte field's value.
5909func (s *Condition) SetGte(v int64) *Condition {
5910	s.Gte = &v
5911	return s
5912}
5913
5914// SetLessThan sets the LessThan field's value.
5915func (s *Condition) SetLessThan(v int64) *Condition {
5916	s.LessThan = &v
5917	return s
5918}
5919
5920// SetLessThanOrEqual sets the LessThanOrEqual field's value.
5921func (s *Condition) SetLessThanOrEqual(v int64) *Condition {
5922	s.LessThanOrEqual = &v
5923	return s
5924}
5925
5926// SetLt sets the Lt field's value.
5927func (s *Condition) SetLt(v int64) *Condition {
5928	s.Lt = &v
5929	return s
5930}
5931
5932// SetLte sets the Lte field's value.
5933func (s *Condition) SetLte(v int64) *Condition {
5934	s.Lte = &v
5935	return s
5936}
5937
5938// SetNeq sets the Neq field's value.
5939func (s *Condition) SetNeq(v []*string) *Condition {
5940	s.Neq = v
5941	return s
5942}
5943
5944// SetNotEquals sets the NotEquals field's value.
5945func (s *Condition) SetNotEquals(v []*string) *Condition {
5946	s.NotEquals = v
5947	return s
5948}
5949
5950// Contains information about the country where the remote IP address is located.
5951type Country struct {
5952	_ struct{} `type:"structure"`
5953
5954	// The country code of the remote IP address.
5955	CountryCode *string `locationName:"countryCode" type:"string"`
5956
5957	// The country name of the remote IP address.
5958	CountryName *string `locationName:"countryName" type:"string"`
5959}
5960
5961// String returns the string representation
5962func (s Country) String() string {
5963	return awsutil.Prettify(s)
5964}
5965
5966// GoString returns the string representation
5967func (s Country) GoString() string {
5968	return s.String()
5969}
5970
5971// SetCountryCode sets the CountryCode field's value.
5972func (s *Country) SetCountryCode(v string) *Country {
5973	s.CountryCode = &v
5974	return s
5975}
5976
5977// SetCountryName sets the CountryName field's value.
5978func (s *Country) SetCountryName(v string) *Country {
5979	s.CountryName = &v
5980	return s
5981}
5982
5983type CreateDetectorInput struct {
5984	_ struct{} `type:"structure"`
5985
5986	// The idempotency token for the create request.
5987	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
5988
5989	// A Boolean value that specifies whether the detector is to be enabled.
5990	//
5991	// Enable is a required field
5992	Enable *bool `locationName:"enable" type:"boolean" required:"true"`
5993
5994	// An enum value that specifies how frequently updated findings are exported.
5995	FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"`
5996
5997	// The tags to be added to a new detector resource.
5998	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
5999}
6000
6001// String returns the string representation
6002func (s CreateDetectorInput) String() string {
6003	return awsutil.Prettify(s)
6004}
6005
6006// GoString returns the string representation
6007func (s CreateDetectorInput) GoString() string {
6008	return s.String()
6009}
6010
6011// Validate inspects the fields of the type to determine if they are valid.
6012func (s *CreateDetectorInput) Validate() error {
6013	invalidParams := request.ErrInvalidParams{Context: "CreateDetectorInput"}
6014	if s.Enable == nil {
6015		invalidParams.Add(request.NewErrParamRequired("Enable"))
6016	}
6017	if s.Tags != nil && len(s.Tags) < 1 {
6018		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
6019	}
6020
6021	if invalidParams.Len() > 0 {
6022		return invalidParams
6023	}
6024	return nil
6025}
6026
6027// SetClientToken sets the ClientToken field's value.
6028func (s *CreateDetectorInput) SetClientToken(v string) *CreateDetectorInput {
6029	s.ClientToken = &v
6030	return s
6031}
6032
6033// SetEnable sets the Enable field's value.
6034func (s *CreateDetectorInput) SetEnable(v bool) *CreateDetectorInput {
6035	s.Enable = &v
6036	return s
6037}
6038
6039// SetFindingPublishingFrequency sets the FindingPublishingFrequency field's value.
6040func (s *CreateDetectorInput) SetFindingPublishingFrequency(v string) *CreateDetectorInput {
6041	s.FindingPublishingFrequency = &v
6042	return s
6043}
6044
6045// SetTags sets the Tags field's value.
6046func (s *CreateDetectorInput) SetTags(v map[string]*string) *CreateDetectorInput {
6047	s.Tags = v
6048	return s
6049}
6050
6051type CreateDetectorOutput struct {
6052	_ struct{} `type:"structure"`
6053
6054	// The unique ID of the created detector.
6055	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
6056}
6057
6058// String returns the string representation
6059func (s CreateDetectorOutput) String() string {
6060	return awsutil.Prettify(s)
6061}
6062
6063// GoString returns the string representation
6064func (s CreateDetectorOutput) GoString() string {
6065	return s.String()
6066}
6067
6068// SetDetectorId sets the DetectorId field's value.
6069func (s *CreateDetectorOutput) SetDetectorId(v string) *CreateDetectorOutput {
6070	s.DetectorId = &v
6071	return s
6072}
6073
6074type CreateFilterInput struct {
6075	_ struct{} `type:"structure"`
6076
6077	// Specifies the action that is to be applied to the findings that match the
6078	// filter.
6079	Action *string `locationName:"action" min:"1" type:"string" enum:"FilterAction"`
6080
6081	// The idempotency token for the create request.
6082	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
6083
6084	// The description of the filter.
6085	Description *string `locationName:"description" type:"string"`
6086
6087	// The unique ID of the detector of the GuardDuty account that you want to create
6088	// a filter for.
6089	//
6090	// DetectorId is a required field
6091	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
6092
6093	// Represents the criteria to be used in the filter for querying findings.
6094	//
6095	// You can only use the following attributes to query findings:
6096	//
6097	//    * accountId
6098	//
6099	//    * region
6100	//
6101	//    * confidence
6102	//
6103	//    * id
6104	//
6105	//    * resource.accessKeyDetails.accessKeyId
6106	//
6107	//    * resource.accessKeyDetails.principalId
6108	//
6109	//    * resource.accessKeyDetails.userName
6110	//
6111	//    * resource.accessKeyDetails.userType
6112	//
6113	//    * resource.instanceDetails.iamInstanceProfile.id
6114	//
6115	//    * resource.instanceDetails.imageId
6116	//
6117	//    * resource.instanceDetails.instanceId
6118	//
6119	//    * resource.instanceDetails.outpostArn
6120	//
6121	//    * resource.instanceDetails.networkInterfaces.ipv6Addresses
6122	//
6123	//    * resource.instanceDetails.networkInterfaces.privateIpAddresses.privateIpAddress
6124	//
6125	//    * resource.instanceDetails.networkInterfaces.publicDnsName
6126	//
6127	//    * resource.instanceDetails.networkInterfaces.publicIp
6128	//
6129	//    * resource.instanceDetails.networkInterfaces.securityGroups.groupId
6130	//
6131	//    * resource.instanceDetails.networkInterfaces.securityGroups.groupName
6132	//
6133	//    * resource.instanceDetails.networkInterfaces.subnetId
6134	//
6135	//    * resource.instanceDetails.networkInterfaces.vpcId
6136	//
6137	//    * resource.instanceDetails.tags.key
6138	//
6139	//    * resource.instanceDetails.tags.value
6140	//
6141	//    * resource.resourceType
6142	//
6143	//    * service.action.actionType
6144	//
6145	//    * service.action.awsApiCallAction.api
6146	//
6147	//    * service.action.awsApiCallAction.callerType
6148	//
6149	//    * service.action.awsApiCallAction.remoteIpDetails.city.cityName
6150	//
6151	//    * service.action.awsApiCallAction.remoteIpDetails.country.countryName
6152	//
6153	//    * service.action.awsApiCallAction.remoteIpDetails.ipAddressV4
6154	//
6155	//    * service.action.awsApiCallAction.remoteIpDetails.organization.asn
6156	//
6157	//    * service.action.awsApiCallAction.remoteIpDetails.organization.asnOrg
6158	//
6159	//    * service.action.awsApiCallAction.serviceName
6160	//
6161	//    * service.action.dnsRequestAction.domain
6162	//
6163	//    * service.action.networkConnectionAction.blocked
6164	//
6165	//    * service.action.networkConnectionAction.connectionDirection
6166	//
6167	//    * service.action.networkConnectionAction.localPortDetails.port
6168	//
6169	//    * service.action.networkConnectionAction.protocol
6170	//
6171	//    * service.action.networkConnectionAction.localIpDetails.ipAddressV4
6172	//
6173	//    * service.action.networkConnectionAction.remoteIpDetails.city.cityName
6174	//
6175	//    * service.action.networkConnectionAction.remoteIpDetails.country.countryName
6176	//
6177	//    * service.action.networkConnectionAction.remoteIpDetails.ipAddressV4
6178	//
6179	//    * service.action.networkConnectionAction.remoteIpDetails.organization.asn
6180	//
6181	//    * service.action.networkConnectionAction.remoteIpDetails.organization.asnOrg
6182	//
6183	//    * service.action.networkConnectionAction.remotePortDetails.port
6184	//
6185	//    * service.additionalInfo.threatListName
6186	//
6187	//    * service.archived When this attribute is set to TRUE, only archived findings
6188	//    are listed. When it's set to FALSE, only unarchived findings are listed.
6189	//    When this attribute is not set, all existing findings are listed.
6190	//
6191	//    * service.resourceRole
6192	//
6193	//    * severity
6194	//
6195	//    * type
6196	//
6197	//    * updatedAt Type: ISO 8601 string format: YYYY-MM-DDTHH:MM:SS.SSSZ or
6198	//    YYYY-MM-DDTHH:MM:SSZ depending on whether the value contains milliseconds.
6199	//
6200	// FindingCriteria is a required field
6201	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure" required:"true"`
6202
6203	// The name of the filter.
6204	//
6205	// Name is a required field
6206	Name *string `locationName:"name" min:"3" type:"string" required:"true"`
6207
6208	// Specifies the position of the filter in the list of current filters. Also
6209	// specifies the order in which this filter is applied to the findings.
6210	Rank *int64 `locationName:"rank" min:"1" type:"integer"`
6211
6212	// The tags to be added to a new filter resource.
6213	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
6214}
6215
6216// String returns the string representation
6217func (s CreateFilterInput) String() string {
6218	return awsutil.Prettify(s)
6219}
6220
6221// GoString returns the string representation
6222func (s CreateFilterInput) GoString() string {
6223	return s.String()
6224}
6225
6226// Validate inspects the fields of the type to determine if they are valid.
6227func (s *CreateFilterInput) Validate() error {
6228	invalidParams := request.ErrInvalidParams{Context: "CreateFilterInput"}
6229	if s.Action != nil && len(*s.Action) < 1 {
6230		invalidParams.Add(request.NewErrParamMinLen("Action", 1))
6231	}
6232	if s.DetectorId == nil {
6233		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6234	}
6235	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6236		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6237	}
6238	if s.FindingCriteria == nil {
6239		invalidParams.Add(request.NewErrParamRequired("FindingCriteria"))
6240	}
6241	if s.Name == nil {
6242		invalidParams.Add(request.NewErrParamRequired("Name"))
6243	}
6244	if s.Name != nil && len(*s.Name) < 3 {
6245		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
6246	}
6247	if s.Rank != nil && *s.Rank < 1 {
6248		invalidParams.Add(request.NewErrParamMinValue("Rank", 1))
6249	}
6250	if s.Tags != nil && len(s.Tags) < 1 {
6251		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
6252	}
6253
6254	if invalidParams.Len() > 0 {
6255		return invalidParams
6256	}
6257	return nil
6258}
6259
6260// SetAction sets the Action field's value.
6261func (s *CreateFilterInput) SetAction(v string) *CreateFilterInput {
6262	s.Action = &v
6263	return s
6264}
6265
6266// SetClientToken sets the ClientToken field's value.
6267func (s *CreateFilterInput) SetClientToken(v string) *CreateFilterInput {
6268	s.ClientToken = &v
6269	return s
6270}
6271
6272// SetDescription sets the Description field's value.
6273func (s *CreateFilterInput) SetDescription(v string) *CreateFilterInput {
6274	s.Description = &v
6275	return s
6276}
6277
6278// SetDetectorId sets the DetectorId field's value.
6279func (s *CreateFilterInput) SetDetectorId(v string) *CreateFilterInput {
6280	s.DetectorId = &v
6281	return s
6282}
6283
6284// SetFindingCriteria sets the FindingCriteria field's value.
6285func (s *CreateFilterInput) SetFindingCriteria(v *FindingCriteria) *CreateFilterInput {
6286	s.FindingCriteria = v
6287	return s
6288}
6289
6290// SetName sets the Name field's value.
6291func (s *CreateFilterInput) SetName(v string) *CreateFilterInput {
6292	s.Name = &v
6293	return s
6294}
6295
6296// SetRank sets the Rank field's value.
6297func (s *CreateFilterInput) SetRank(v int64) *CreateFilterInput {
6298	s.Rank = &v
6299	return s
6300}
6301
6302// SetTags sets the Tags field's value.
6303func (s *CreateFilterInput) SetTags(v map[string]*string) *CreateFilterInput {
6304	s.Tags = v
6305	return s
6306}
6307
6308type CreateFilterOutput struct {
6309	_ struct{} `type:"structure"`
6310
6311	// The name of the successfully created filter.
6312	//
6313	// Name is a required field
6314	Name *string `locationName:"name" min:"3" type:"string" required:"true"`
6315}
6316
6317// String returns the string representation
6318func (s CreateFilterOutput) String() string {
6319	return awsutil.Prettify(s)
6320}
6321
6322// GoString returns the string representation
6323func (s CreateFilterOutput) GoString() string {
6324	return s.String()
6325}
6326
6327// SetName sets the Name field's value.
6328func (s *CreateFilterOutput) SetName(v string) *CreateFilterOutput {
6329	s.Name = &v
6330	return s
6331}
6332
6333type CreateIPSetInput struct {
6334	_ struct{} `type:"structure"`
6335
6336	// A Boolean value that indicates whether GuardDuty is to start using the uploaded
6337	// IPSet.
6338	//
6339	// Activate is a required field
6340	Activate *bool `locationName:"activate" type:"boolean" required:"true"`
6341
6342	// The idempotency token for the create request.
6343	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
6344
6345	// The unique ID of the detector of the GuardDuty account that you want to create
6346	// an IPSet for.
6347	//
6348	// DetectorId is a required field
6349	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
6350
6351	// The format of the file that contains the IPSet.
6352	//
6353	// Format is a required field
6354	Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"IpSetFormat"`
6355
6356	// The URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
6357	//
6358	// Location is a required field
6359	Location *string `locationName:"location" min:"1" type:"string" required:"true"`
6360
6361	// The user-friendly name to identify the IPSet.
6362	//
6363	// Allowed characters are alphanumerics, spaces, hyphens (-), and underscores
6364	// (_).
6365	//
6366	// Name is a required field
6367	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6368
6369	// The tags to be added to a new IP set resource.
6370	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
6371}
6372
6373// String returns the string representation
6374func (s CreateIPSetInput) String() string {
6375	return awsutil.Prettify(s)
6376}
6377
6378// GoString returns the string representation
6379func (s CreateIPSetInput) GoString() string {
6380	return s.String()
6381}
6382
6383// Validate inspects the fields of the type to determine if they are valid.
6384func (s *CreateIPSetInput) Validate() error {
6385	invalidParams := request.ErrInvalidParams{Context: "CreateIPSetInput"}
6386	if s.Activate == nil {
6387		invalidParams.Add(request.NewErrParamRequired("Activate"))
6388	}
6389	if s.DetectorId == nil {
6390		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6391	}
6392	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6393		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6394	}
6395	if s.Format == nil {
6396		invalidParams.Add(request.NewErrParamRequired("Format"))
6397	}
6398	if s.Format != nil && len(*s.Format) < 1 {
6399		invalidParams.Add(request.NewErrParamMinLen("Format", 1))
6400	}
6401	if s.Location == nil {
6402		invalidParams.Add(request.NewErrParamRequired("Location"))
6403	}
6404	if s.Location != nil && len(*s.Location) < 1 {
6405		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
6406	}
6407	if s.Name == nil {
6408		invalidParams.Add(request.NewErrParamRequired("Name"))
6409	}
6410	if s.Name != nil && len(*s.Name) < 1 {
6411		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6412	}
6413	if s.Tags != nil && len(s.Tags) < 1 {
6414		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
6415	}
6416
6417	if invalidParams.Len() > 0 {
6418		return invalidParams
6419	}
6420	return nil
6421}
6422
6423// SetActivate sets the Activate field's value.
6424func (s *CreateIPSetInput) SetActivate(v bool) *CreateIPSetInput {
6425	s.Activate = &v
6426	return s
6427}
6428
6429// SetClientToken sets the ClientToken field's value.
6430func (s *CreateIPSetInput) SetClientToken(v string) *CreateIPSetInput {
6431	s.ClientToken = &v
6432	return s
6433}
6434
6435// SetDetectorId sets the DetectorId field's value.
6436func (s *CreateIPSetInput) SetDetectorId(v string) *CreateIPSetInput {
6437	s.DetectorId = &v
6438	return s
6439}
6440
6441// SetFormat sets the Format field's value.
6442func (s *CreateIPSetInput) SetFormat(v string) *CreateIPSetInput {
6443	s.Format = &v
6444	return s
6445}
6446
6447// SetLocation sets the Location field's value.
6448func (s *CreateIPSetInput) SetLocation(v string) *CreateIPSetInput {
6449	s.Location = &v
6450	return s
6451}
6452
6453// SetName sets the Name field's value.
6454func (s *CreateIPSetInput) SetName(v string) *CreateIPSetInput {
6455	s.Name = &v
6456	return s
6457}
6458
6459// SetTags sets the Tags field's value.
6460func (s *CreateIPSetInput) SetTags(v map[string]*string) *CreateIPSetInput {
6461	s.Tags = v
6462	return s
6463}
6464
6465type CreateIPSetOutput struct {
6466	_ struct{} `type:"structure"`
6467
6468	// The ID of the IPSet resource.
6469	//
6470	// IpSetId is a required field
6471	IpSetId *string `locationName:"ipSetId" type:"string" required:"true"`
6472}
6473
6474// String returns the string representation
6475func (s CreateIPSetOutput) String() string {
6476	return awsutil.Prettify(s)
6477}
6478
6479// GoString returns the string representation
6480func (s CreateIPSetOutput) GoString() string {
6481	return s.String()
6482}
6483
6484// SetIpSetId sets the IpSetId field's value.
6485func (s *CreateIPSetOutput) SetIpSetId(v string) *CreateIPSetOutput {
6486	s.IpSetId = &v
6487	return s
6488}
6489
6490type CreateMembersInput struct {
6491	_ struct{} `type:"structure"`
6492
6493	// A list of account ID and email address pairs of the accounts that you want
6494	// to associate with the master GuardDuty account.
6495	//
6496	// AccountDetails is a required field
6497	AccountDetails []*AccountDetail `locationName:"accountDetails" min:"1" type:"list" required:"true"`
6498
6499	// The unique ID of the detector of the GuardDuty account that you want to associate
6500	// member accounts with.
6501	//
6502	// DetectorId is a required field
6503	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
6504}
6505
6506// String returns the string representation
6507func (s CreateMembersInput) String() string {
6508	return awsutil.Prettify(s)
6509}
6510
6511// GoString returns the string representation
6512func (s CreateMembersInput) GoString() string {
6513	return s.String()
6514}
6515
6516// Validate inspects the fields of the type to determine if they are valid.
6517func (s *CreateMembersInput) Validate() error {
6518	invalidParams := request.ErrInvalidParams{Context: "CreateMembersInput"}
6519	if s.AccountDetails == nil {
6520		invalidParams.Add(request.NewErrParamRequired("AccountDetails"))
6521	}
6522	if s.AccountDetails != nil && len(s.AccountDetails) < 1 {
6523		invalidParams.Add(request.NewErrParamMinLen("AccountDetails", 1))
6524	}
6525	if s.DetectorId == nil {
6526		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6527	}
6528	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6529		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6530	}
6531	if s.AccountDetails != nil {
6532		for i, v := range s.AccountDetails {
6533			if v == nil {
6534				continue
6535			}
6536			if err := v.Validate(); err != nil {
6537				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountDetails", i), err.(request.ErrInvalidParams))
6538			}
6539		}
6540	}
6541
6542	if invalidParams.Len() > 0 {
6543		return invalidParams
6544	}
6545	return nil
6546}
6547
6548// SetAccountDetails sets the AccountDetails field's value.
6549func (s *CreateMembersInput) SetAccountDetails(v []*AccountDetail) *CreateMembersInput {
6550	s.AccountDetails = v
6551	return s
6552}
6553
6554// SetDetectorId sets the DetectorId field's value.
6555func (s *CreateMembersInput) SetDetectorId(v string) *CreateMembersInput {
6556	s.DetectorId = &v
6557	return s
6558}
6559
6560type CreateMembersOutput struct {
6561	_ struct{} `type:"structure"`
6562
6563	// A list of objects that include the accountIds of the unprocessed accounts
6564	// and a result string that explains why each was unprocessed.
6565	//
6566	// UnprocessedAccounts is a required field
6567	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
6568}
6569
6570// String returns the string representation
6571func (s CreateMembersOutput) String() string {
6572	return awsutil.Prettify(s)
6573}
6574
6575// GoString returns the string representation
6576func (s CreateMembersOutput) GoString() string {
6577	return s.String()
6578}
6579
6580// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
6581func (s *CreateMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *CreateMembersOutput {
6582	s.UnprocessedAccounts = v
6583	return s
6584}
6585
6586type CreatePublishingDestinationInput struct {
6587	_ struct{} `type:"structure"`
6588
6589	// The idempotency token for the request.
6590	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
6591
6592	// The properties of the publishing destination, including the ARNs for the
6593	// destination and the KMS key used for encryption.
6594	//
6595	// DestinationProperties is a required field
6596	DestinationProperties *DestinationProperties `locationName:"destinationProperties" type:"structure" required:"true"`
6597
6598	// The type of resource for the publishing destination. Currently only Amazon
6599	// S3 buckets are supported.
6600	//
6601	// DestinationType is a required field
6602	DestinationType *string `locationName:"destinationType" min:"1" type:"string" required:"true" enum:"DestinationType"`
6603
6604	// The ID of the GuardDuty detector associated with the publishing destination.
6605	//
6606	// DetectorId is a required field
6607	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
6608}
6609
6610// String returns the string representation
6611func (s CreatePublishingDestinationInput) String() string {
6612	return awsutil.Prettify(s)
6613}
6614
6615// GoString returns the string representation
6616func (s CreatePublishingDestinationInput) GoString() string {
6617	return s.String()
6618}
6619
6620// Validate inspects the fields of the type to determine if they are valid.
6621func (s *CreatePublishingDestinationInput) Validate() error {
6622	invalidParams := request.ErrInvalidParams{Context: "CreatePublishingDestinationInput"}
6623	if s.DestinationProperties == nil {
6624		invalidParams.Add(request.NewErrParamRequired("DestinationProperties"))
6625	}
6626	if s.DestinationType == nil {
6627		invalidParams.Add(request.NewErrParamRequired("DestinationType"))
6628	}
6629	if s.DestinationType != nil && len(*s.DestinationType) < 1 {
6630		invalidParams.Add(request.NewErrParamMinLen("DestinationType", 1))
6631	}
6632	if s.DetectorId == nil {
6633		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6634	}
6635	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6636		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6637	}
6638
6639	if invalidParams.Len() > 0 {
6640		return invalidParams
6641	}
6642	return nil
6643}
6644
6645// SetClientToken sets the ClientToken field's value.
6646func (s *CreatePublishingDestinationInput) SetClientToken(v string) *CreatePublishingDestinationInput {
6647	s.ClientToken = &v
6648	return s
6649}
6650
6651// SetDestinationProperties sets the DestinationProperties field's value.
6652func (s *CreatePublishingDestinationInput) SetDestinationProperties(v *DestinationProperties) *CreatePublishingDestinationInput {
6653	s.DestinationProperties = v
6654	return s
6655}
6656
6657// SetDestinationType sets the DestinationType field's value.
6658func (s *CreatePublishingDestinationInput) SetDestinationType(v string) *CreatePublishingDestinationInput {
6659	s.DestinationType = &v
6660	return s
6661}
6662
6663// SetDetectorId sets the DetectorId field's value.
6664func (s *CreatePublishingDestinationInput) SetDetectorId(v string) *CreatePublishingDestinationInput {
6665	s.DetectorId = &v
6666	return s
6667}
6668
6669type CreatePublishingDestinationOutput struct {
6670	_ struct{} `type:"structure"`
6671
6672	// The ID of the publishing destination that is created.
6673	//
6674	// DestinationId is a required field
6675	DestinationId *string `locationName:"destinationId" type:"string" required:"true"`
6676}
6677
6678// String returns the string representation
6679func (s CreatePublishingDestinationOutput) String() string {
6680	return awsutil.Prettify(s)
6681}
6682
6683// GoString returns the string representation
6684func (s CreatePublishingDestinationOutput) GoString() string {
6685	return s.String()
6686}
6687
6688// SetDestinationId sets the DestinationId field's value.
6689func (s *CreatePublishingDestinationOutput) SetDestinationId(v string) *CreatePublishingDestinationOutput {
6690	s.DestinationId = &v
6691	return s
6692}
6693
6694type CreateSampleFindingsInput struct {
6695	_ struct{} `type:"structure"`
6696
6697	// The ID of the detector to create sample findings for.
6698	//
6699	// DetectorId is a required field
6700	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
6701
6702	// The types of sample findings to generate.
6703	FindingTypes []*string `locationName:"findingTypes" type:"list"`
6704}
6705
6706// String returns the string representation
6707func (s CreateSampleFindingsInput) String() string {
6708	return awsutil.Prettify(s)
6709}
6710
6711// GoString returns the string representation
6712func (s CreateSampleFindingsInput) GoString() string {
6713	return s.String()
6714}
6715
6716// Validate inspects the fields of the type to determine if they are valid.
6717func (s *CreateSampleFindingsInput) Validate() error {
6718	invalidParams := request.ErrInvalidParams{Context: "CreateSampleFindingsInput"}
6719	if s.DetectorId == nil {
6720		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6721	}
6722	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6723		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6724	}
6725
6726	if invalidParams.Len() > 0 {
6727		return invalidParams
6728	}
6729	return nil
6730}
6731
6732// SetDetectorId sets the DetectorId field's value.
6733func (s *CreateSampleFindingsInput) SetDetectorId(v string) *CreateSampleFindingsInput {
6734	s.DetectorId = &v
6735	return s
6736}
6737
6738// SetFindingTypes sets the FindingTypes field's value.
6739func (s *CreateSampleFindingsInput) SetFindingTypes(v []*string) *CreateSampleFindingsInput {
6740	s.FindingTypes = v
6741	return s
6742}
6743
6744type CreateSampleFindingsOutput struct {
6745	_ struct{} `type:"structure"`
6746}
6747
6748// String returns the string representation
6749func (s CreateSampleFindingsOutput) String() string {
6750	return awsutil.Prettify(s)
6751}
6752
6753// GoString returns the string representation
6754func (s CreateSampleFindingsOutput) GoString() string {
6755	return s.String()
6756}
6757
6758type CreateThreatIntelSetInput struct {
6759	_ struct{} `type:"structure"`
6760
6761	// A Boolean value that indicates whether GuardDuty is to start using the uploaded
6762	// ThreatIntelSet.
6763	//
6764	// Activate is a required field
6765	Activate *bool `locationName:"activate" type:"boolean" required:"true"`
6766
6767	// The idempotency token for the create request.
6768	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
6769
6770	// The unique ID of the detector of the GuardDuty account that you want to create
6771	// a threatIntelSet for.
6772	//
6773	// DetectorId is a required field
6774	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
6775
6776	// The format of the file that contains the ThreatIntelSet.
6777	//
6778	// Format is a required field
6779	Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"ThreatIntelSetFormat"`
6780
6781	// The URI of the file that contains the ThreatIntelSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
6782	//
6783	// Location is a required field
6784	Location *string `locationName:"location" min:"1" type:"string" required:"true"`
6785
6786	// A user-friendly ThreatIntelSet name displayed in all findings that are generated
6787	// by activity that involves IP addresses included in this ThreatIntelSet.
6788	//
6789	// Name is a required field
6790	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
6791
6792	// The tags to be added to a new threat list resource.
6793	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
6794}
6795
6796// String returns the string representation
6797func (s CreateThreatIntelSetInput) String() string {
6798	return awsutil.Prettify(s)
6799}
6800
6801// GoString returns the string representation
6802func (s CreateThreatIntelSetInput) GoString() string {
6803	return s.String()
6804}
6805
6806// Validate inspects the fields of the type to determine if they are valid.
6807func (s *CreateThreatIntelSetInput) Validate() error {
6808	invalidParams := request.ErrInvalidParams{Context: "CreateThreatIntelSetInput"}
6809	if s.Activate == nil {
6810		invalidParams.Add(request.NewErrParamRequired("Activate"))
6811	}
6812	if s.DetectorId == nil {
6813		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
6814	}
6815	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
6816		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
6817	}
6818	if s.Format == nil {
6819		invalidParams.Add(request.NewErrParamRequired("Format"))
6820	}
6821	if s.Format != nil && len(*s.Format) < 1 {
6822		invalidParams.Add(request.NewErrParamMinLen("Format", 1))
6823	}
6824	if s.Location == nil {
6825		invalidParams.Add(request.NewErrParamRequired("Location"))
6826	}
6827	if s.Location != nil && len(*s.Location) < 1 {
6828		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
6829	}
6830	if s.Name == nil {
6831		invalidParams.Add(request.NewErrParamRequired("Name"))
6832	}
6833	if s.Name != nil && len(*s.Name) < 1 {
6834		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
6835	}
6836	if s.Tags != nil && len(s.Tags) < 1 {
6837		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
6838	}
6839
6840	if invalidParams.Len() > 0 {
6841		return invalidParams
6842	}
6843	return nil
6844}
6845
6846// SetActivate sets the Activate field's value.
6847func (s *CreateThreatIntelSetInput) SetActivate(v bool) *CreateThreatIntelSetInput {
6848	s.Activate = &v
6849	return s
6850}
6851
6852// SetClientToken sets the ClientToken field's value.
6853func (s *CreateThreatIntelSetInput) SetClientToken(v string) *CreateThreatIntelSetInput {
6854	s.ClientToken = &v
6855	return s
6856}
6857
6858// SetDetectorId sets the DetectorId field's value.
6859func (s *CreateThreatIntelSetInput) SetDetectorId(v string) *CreateThreatIntelSetInput {
6860	s.DetectorId = &v
6861	return s
6862}
6863
6864// SetFormat sets the Format field's value.
6865func (s *CreateThreatIntelSetInput) SetFormat(v string) *CreateThreatIntelSetInput {
6866	s.Format = &v
6867	return s
6868}
6869
6870// SetLocation sets the Location field's value.
6871func (s *CreateThreatIntelSetInput) SetLocation(v string) *CreateThreatIntelSetInput {
6872	s.Location = &v
6873	return s
6874}
6875
6876// SetName sets the Name field's value.
6877func (s *CreateThreatIntelSetInput) SetName(v string) *CreateThreatIntelSetInput {
6878	s.Name = &v
6879	return s
6880}
6881
6882// SetTags sets the Tags field's value.
6883func (s *CreateThreatIntelSetInput) SetTags(v map[string]*string) *CreateThreatIntelSetInput {
6884	s.Tags = v
6885	return s
6886}
6887
6888type CreateThreatIntelSetOutput struct {
6889	_ struct{} `type:"structure"`
6890
6891	// The ID of the ThreatIntelSet resource.
6892	//
6893	// ThreatIntelSetId is a required field
6894	ThreatIntelSetId *string `locationName:"threatIntelSetId" type:"string" required:"true"`
6895}
6896
6897// String returns the string representation
6898func (s CreateThreatIntelSetOutput) String() string {
6899	return awsutil.Prettify(s)
6900}
6901
6902// GoString returns the string representation
6903func (s CreateThreatIntelSetOutput) GoString() string {
6904	return s.String()
6905}
6906
6907// SetThreatIntelSetId sets the ThreatIntelSetId field's value.
6908func (s *CreateThreatIntelSetOutput) SetThreatIntelSetId(v string) *CreateThreatIntelSetOutput {
6909	s.ThreatIntelSetId = &v
6910	return s
6911}
6912
6913type DeclineInvitationsInput struct {
6914	_ struct{} `type:"structure"`
6915
6916	// A list of account IDs of the AWS accounts that sent invitations to the current
6917	// member account that you want to decline invitations from.
6918	//
6919	// AccountIds is a required field
6920	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
6921}
6922
6923// String returns the string representation
6924func (s DeclineInvitationsInput) String() string {
6925	return awsutil.Prettify(s)
6926}
6927
6928// GoString returns the string representation
6929func (s DeclineInvitationsInput) GoString() string {
6930	return s.String()
6931}
6932
6933// Validate inspects the fields of the type to determine if they are valid.
6934func (s *DeclineInvitationsInput) Validate() error {
6935	invalidParams := request.ErrInvalidParams{Context: "DeclineInvitationsInput"}
6936	if s.AccountIds == nil {
6937		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
6938	}
6939	if s.AccountIds != nil && len(s.AccountIds) < 1 {
6940		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
6941	}
6942
6943	if invalidParams.Len() > 0 {
6944		return invalidParams
6945	}
6946	return nil
6947}
6948
6949// SetAccountIds sets the AccountIds field's value.
6950func (s *DeclineInvitationsInput) SetAccountIds(v []*string) *DeclineInvitationsInput {
6951	s.AccountIds = v
6952	return s
6953}
6954
6955type DeclineInvitationsOutput struct {
6956	_ struct{} `type:"structure"`
6957
6958	// A list of objects that contain the unprocessed account and a result string
6959	// that explains why it was unprocessed.
6960	//
6961	// UnprocessedAccounts is a required field
6962	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
6963}
6964
6965// String returns the string representation
6966func (s DeclineInvitationsOutput) String() string {
6967	return awsutil.Prettify(s)
6968}
6969
6970// GoString returns the string representation
6971func (s DeclineInvitationsOutput) GoString() string {
6972	return s.String()
6973}
6974
6975// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
6976func (s *DeclineInvitationsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DeclineInvitationsOutput {
6977	s.UnprocessedAccounts = v
6978	return s
6979}
6980
6981// Contains information on the server side encryption method used in the S3
6982// bucket. See S3 Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/atest/dev/serv-side-encryption.html)
6983// for more information.
6984type DefaultServerSideEncryption struct {
6985	_ struct{} `type:"structure"`
6986
6987	// The type of encryption used for objects within the S3 bucket.
6988	EncryptionType *string `locationName:"encryptionType" type:"string"`
6989
6990	// The Amazon Resource Name (ARN) of the KMS encryption key. Only available
6991	// if the bucket EncryptionType is aws:kms.
6992	KmsMasterKeyArn *string `locationName:"kmsMasterKeyArn" type:"string"`
6993}
6994
6995// String returns the string representation
6996func (s DefaultServerSideEncryption) String() string {
6997	return awsutil.Prettify(s)
6998}
6999
7000// GoString returns the string representation
7001func (s DefaultServerSideEncryption) GoString() string {
7002	return s.String()
7003}
7004
7005// SetEncryptionType sets the EncryptionType field's value.
7006func (s *DefaultServerSideEncryption) SetEncryptionType(v string) *DefaultServerSideEncryption {
7007	s.EncryptionType = &v
7008	return s
7009}
7010
7011// SetKmsMasterKeyArn sets the KmsMasterKeyArn field's value.
7012func (s *DefaultServerSideEncryption) SetKmsMasterKeyArn(v string) *DefaultServerSideEncryption {
7013	s.KmsMasterKeyArn = &v
7014	return s
7015}
7016
7017type DeleteDetectorInput struct {
7018	_ struct{} `type:"structure"`
7019
7020	// The unique ID of the detector that you want to delete.
7021	//
7022	// DetectorId is a required field
7023	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7024}
7025
7026// String returns the string representation
7027func (s DeleteDetectorInput) String() string {
7028	return awsutil.Prettify(s)
7029}
7030
7031// GoString returns the string representation
7032func (s DeleteDetectorInput) GoString() string {
7033	return s.String()
7034}
7035
7036// Validate inspects the fields of the type to determine if they are valid.
7037func (s *DeleteDetectorInput) Validate() error {
7038	invalidParams := request.ErrInvalidParams{Context: "DeleteDetectorInput"}
7039	if s.DetectorId == nil {
7040		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7041	}
7042	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7043		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7044	}
7045
7046	if invalidParams.Len() > 0 {
7047		return invalidParams
7048	}
7049	return nil
7050}
7051
7052// SetDetectorId sets the DetectorId field's value.
7053func (s *DeleteDetectorInput) SetDetectorId(v string) *DeleteDetectorInput {
7054	s.DetectorId = &v
7055	return s
7056}
7057
7058type DeleteDetectorOutput struct {
7059	_ struct{} `type:"structure"`
7060}
7061
7062// String returns the string representation
7063func (s DeleteDetectorOutput) String() string {
7064	return awsutil.Prettify(s)
7065}
7066
7067// GoString returns the string representation
7068func (s DeleteDetectorOutput) GoString() string {
7069	return s.String()
7070}
7071
7072type DeleteFilterInput struct {
7073	_ struct{} `type:"structure"`
7074
7075	// The unique ID of the detector that the filter is associated with.
7076	//
7077	// DetectorId is a required field
7078	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7079
7080	// The name of the filter that you want to delete.
7081	//
7082	// FilterName is a required field
7083	FilterName *string `location:"uri" locationName:"filterName" type:"string" required:"true"`
7084}
7085
7086// String returns the string representation
7087func (s DeleteFilterInput) String() string {
7088	return awsutil.Prettify(s)
7089}
7090
7091// GoString returns the string representation
7092func (s DeleteFilterInput) GoString() string {
7093	return s.String()
7094}
7095
7096// Validate inspects the fields of the type to determine if they are valid.
7097func (s *DeleteFilterInput) Validate() error {
7098	invalidParams := request.ErrInvalidParams{Context: "DeleteFilterInput"}
7099	if s.DetectorId == nil {
7100		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7101	}
7102	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7103		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7104	}
7105	if s.FilterName == nil {
7106		invalidParams.Add(request.NewErrParamRequired("FilterName"))
7107	}
7108	if s.FilterName != nil && len(*s.FilterName) < 1 {
7109		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
7110	}
7111
7112	if invalidParams.Len() > 0 {
7113		return invalidParams
7114	}
7115	return nil
7116}
7117
7118// SetDetectorId sets the DetectorId field's value.
7119func (s *DeleteFilterInput) SetDetectorId(v string) *DeleteFilterInput {
7120	s.DetectorId = &v
7121	return s
7122}
7123
7124// SetFilterName sets the FilterName field's value.
7125func (s *DeleteFilterInput) SetFilterName(v string) *DeleteFilterInput {
7126	s.FilterName = &v
7127	return s
7128}
7129
7130type DeleteFilterOutput struct {
7131	_ struct{} `type:"structure"`
7132}
7133
7134// String returns the string representation
7135func (s DeleteFilterOutput) String() string {
7136	return awsutil.Prettify(s)
7137}
7138
7139// GoString returns the string representation
7140func (s DeleteFilterOutput) GoString() string {
7141	return s.String()
7142}
7143
7144type DeleteIPSetInput struct {
7145	_ struct{} `type:"structure"`
7146
7147	// The unique ID of the detector associated with the IPSet.
7148	//
7149	// DetectorId is a required field
7150	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7151
7152	// The unique ID of the IPSet to delete.
7153	//
7154	// IpSetId is a required field
7155	IpSetId *string `location:"uri" locationName:"ipSetId" type:"string" required:"true"`
7156}
7157
7158// String returns the string representation
7159func (s DeleteIPSetInput) String() string {
7160	return awsutil.Prettify(s)
7161}
7162
7163// GoString returns the string representation
7164func (s DeleteIPSetInput) GoString() string {
7165	return s.String()
7166}
7167
7168// Validate inspects the fields of the type to determine if they are valid.
7169func (s *DeleteIPSetInput) Validate() error {
7170	invalidParams := request.ErrInvalidParams{Context: "DeleteIPSetInput"}
7171	if s.DetectorId == nil {
7172		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7173	}
7174	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7175		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7176	}
7177	if s.IpSetId == nil {
7178		invalidParams.Add(request.NewErrParamRequired("IpSetId"))
7179	}
7180	if s.IpSetId != nil && len(*s.IpSetId) < 1 {
7181		invalidParams.Add(request.NewErrParamMinLen("IpSetId", 1))
7182	}
7183
7184	if invalidParams.Len() > 0 {
7185		return invalidParams
7186	}
7187	return nil
7188}
7189
7190// SetDetectorId sets the DetectorId field's value.
7191func (s *DeleteIPSetInput) SetDetectorId(v string) *DeleteIPSetInput {
7192	s.DetectorId = &v
7193	return s
7194}
7195
7196// SetIpSetId sets the IpSetId field's value.
7197func (s *DeleteIPSetInput) SetIpSetId(v string) *DeleteIPSetInput {
7198	s.IpSetId = &v
7199	return s
7200}
7201
7202type DeleteIPSetOutput struct {
7203	_ struct{} `type:"structure"`
7204}
7205
7206// String returns the string representation
7207func (s DeleteIPSetOutput) String() string {
7208	return awsutil.Prettify(s)
7209}
7210
7211// GoString returns the string representation
7212func (s DeleteIPSetOutput) GoString() string {
7213	return s.String()
7214}
7215
7216type DeleteInvitationsInput struct {
7217	_ struct{} `type:"structure"`
7218
7219	// A list of account IDs of the AWS accounts that sent invitations to the current
7220	// member account that you want to delete invitations from.
7221	//
7222	// AccountIds is a required field
7223	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
7224}
7225
7226// String returns the string representation
7227func (s DeleteInvitationsInput) String() string {
7228	return awsutil.Prettify(s)
7229}
7230
7231// GoString returns the string representation
7232func (s DeleteInvitationsInput) GoString() string {
7233	return s.String()
7234}
7235
7236// Validate inspects the fields of the type to determine if they are valid.
7237func (s *DeleteInvitationsInput) Validate() error {
7238	invalidParams := request.ErrInvalidParams{Context: "DeleteInvitationsInput"}
7239	if s.AccountIds == nil {
7240		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
7241	}
7242	if s.AccountIds != nil && len(s.AccountIds) < 1 {
7243		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
7244	}
7245
7246	if invalidParams.Len() > 0 {
7247		return invalidParams
7248	}
7249	return nil
7250}
7251
7252// SetAccountIds sets the AccountIds field's value.
7253func (s *DeleteInvitationsInput) SetAccountIds(v []*string) *DeleteInvitationsInput {
7254	s.AccountIds = v
7255	return s
7256}
7257
7258type DeleteInvitationsOutput struct {
7259	_ struct{} `type:"structure"`
7260
7261	// A list of objects that contain the unprocessed account and a result string
7262	// that explains why it was unprocessed.
7263	//
7264	// UnprocessedAccounts is a required field
7265	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
7266}
7267
7268// String returns the string representation
7269func (s DeleteInvitationsOutput) String() string {
7270	return awsutil.Prettify(s)
7271}
7272
7273// GoString returns the string representation
7274func (s DeleteInvitationsOutput) GoString() string {
7275	return s.String()
7276}
7277
7278// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
7279func (s *DeleteInvitationsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DeleteInvitationsOutput {
7280	s.UnprocessedAccounts = v
7281	return s
7282}
7283
7284type DeleteMembersInput struct {
7285	_ struct{} `type:"structure"`
7286
7287	// A list of account IDs of the GuardDuty member accounts that you want to delete.
7288	//
7289	// AccountIds is a required field
7290	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
7291
7292	// The unique ID of the detector of the GuardDuty account whose members you
7293	// want to delete.
7294	//
7295	// DetectorId is a required field
7296	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7297}
7298
7299// String returns the string representation
7300func (s DeleteMembersInput) String() string {
7301	return awsutil.Prettify(s)
7302}
7303
7304// GoString returns the string representation
7305func (s DeleteMembersInput) GoString() string {
7306	return s.String()
7307}
7308
7309// Validate inspects the fields of the type to determine if they are valid.
7310func (s *DeleteMembersInput) Validate() error {
7311	invalidParams := request.ErrInvalidParams{Context: "DeleteMembersInput"}
7312	if s.AccountIds == nil {
7313		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
7314	}
7315	if s.AccountIds != nil && len(s.AccountIds) < 1 {
7316		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
7317	}
7318	if s.DetectorId == nil {
7319		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7320	}
7321	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7322		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7323	}
7324
7325	if invalidParams.Len() > 0 {
7326		return invalidParams
7327	}
7328	return nil
7329}
7330
7331// SetAccountIds sets the AccountIds field's value.
7332func (s *DeleteMembersInput) SetAccountIds(v []*string) *DeleteMembersInput {
7333	s.AccountIds = v
7334	return s
7335}
7336
7337// SetDetectorId sets the DetectorId field's value.
7338func (s *DeleteMembersInput) SetDetectorId(v string) *DeleteMembersInput {
7339	s.DetectorId = &v
7340	return s
7341}
7342
7343type DeleteMembersOutput struct {
7344	_ struct{} `type:"structure"`
7345
7346	// The accounts that could not be processed.
7347	//
7348	// UnprocessedAccounts is a required field
7349	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
7350}
7351
7352// String returns the string representation
7353func (s DeleteMembersOutput) String() string {
7354	return awsutil.Prettify(s)
7355}
7356
7357// GoString returns the string representation
7358func (s DeleteMembersOutput) GoString() string {
7359	return s.String()
7360}
7361
7362// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
7363func (s *DeleteMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DeleteMembersOutput {
7364	s.UnprocessedAccounts = v
7365	return s
7366}
7367
7368type DeletePublishingDestinationInput struct {
7369	_ struct{} `type:"structure"`
7370
7371	// The ID of the publishing destination to delete.
7372	//
7373	// DestinationId is a required field
7374	DestinationId *string `location:"uri" locationName:"destinationId" type:"string" required:"true"`
7375
7376	// The unique ID of the detector associated with the publishing destination
7377	// to delete.
7378	//
7379	// DetectorId is a required field
7380	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7381}
7382
7383// String returns the string representation
7384func (s DeletePublishingDestinationInput) String() string {
7385	return awsutil.Prettify(s)
7386}
7387
7388// GoString returns the string representation
7389func (s DeletePublishingDestinationInput) GoString() string {
7390	return s.String()
7391}
7392
7393// Validate inspects the fields of the type to determine if they are valid.
7394func (s *DeletePublishingDestinationInput) Validate() error {
7395	invalidParams := request.ErrInvalidParams{Context: "DeletePublishingDestinationInput"}
7396	if s.DestinationId == nil {
7397		invalidParams.Add(request.NewErrParamRequired("DestinationId"))
7398	}
7399	if s.DestinationId != nil && len(*s.DestinationId) < 1 {
7400		invalidParams.Add(request.NewErrParamMinLen("DestinationId", 1))
7401	}
7402	if s.DetectorId == nil {
7403		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7404	}
7405	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7406		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7407	}
7408
7409	if invalidParams.Len() > 0 {
7410		return invalidParams
7411	}
7412	return nil
7413}
7414
7415// SetDestinationId sets the DestinationId field's value.
7416func (s *DeletePublishingDestinationInput) SetDestinationId(v string) *DeletePublishingDestinationInput {
7417	s.DestinationId = &v
7418	return s
7419}
7420
7421// SetDetectorId sets the DetectorId field's value.
7422func (s *DeletePublishingDestinationInput) SetDetectorId(v string) *DeletePublishingDestinationInput {
7423	s.DetectorId = &v
7424	return s
7425}
7426
7427type DeletePublishingDestinationOutput struct {
7428	_ struct{} `type:"structure"`
7429}
7430
7431// String returns the string representation
7432func (s DeletePublishingDestinationOutput) String() string {
7433	return awsutil.Prettify(s)
7434}
7435
7436// GoString returns the string representation
7437func (s DeletePublishingDestinationOutput) GoString() string {
7438	return s.String()
7439}
7440
7441type DeleteThreatIntelSetInput struct {
7442	_ struct{} `type:"structure"`
7443
7444	// The unique ID of the detector that the threatIntelSet is associated with.
7445	//
7446	// DetectorId is a required field
7447	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7448
7449	// The unique ID of the threatIntelSet that you want to delete.
7450	//
7451	// ThreatIntelSetId is a required field
7452	ThreatIntelSetId *string `location:"uri" locationName:"threatIntelSetId" type:"string" required:"true"`
7453}
7454
7455// String returns the string representation
7456func (s DeleteThreatIntelSetInput) String() string {
7457	return awsutil.Prettify(s)
7458}
7459
7460// GoString returns the string representation
7461func (s DeleteThreatIntelSetInput) GoString() string {
7462	return s.String()
7463}
7464
7465// Validate inspects the fields of the type to determine if they are valid.
7466func (s *DeleteThreatIntelSetInput) Validate() error {
7467	invalidParams := request.ErrInvalidParams{Context: "DeleteThreatIntelSetInput"}
7468	if s.DetectorId == nil {
7469		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7470	}
7471	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7472		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7473	}
7474	if s.ThreatIntelSetId == nil {
7475		invalidParams.Add(request.NewErrParamRequired("ThreatIntelSetId"))
7476	}
7477	if s.ThreatIntelSetId != nil && len(*s.ThreatIntelSetId) < 1 {
7478		invalidParams.Add(request.NewErrParamMinLen("ThreatIntelSetId", 1))
7479	}
7480
7481	if invalidParams.Len() > 0 {
7482		return invalidParams
7483	}
7484	return nil
7485}
7486
7487// SetDetectorId sets the DetectorId field's value.
7488func (s *DeleteThreatIntelSetInput) SetDetectorId(v string) *DeleteThreatIntelSetInput {
7489	s.DetectorId = &v
7490	return s
7491}
7492
7493// SetThreatIntelSetId sets the ThreatIntelSetId field's value.
7494func (s *DeleteThreatIntelSetInput) SetThreatIntelSetId(v string) *DeleteThreatIntelSetInput {
7495	s.ThreatIntelSetId = &v
7496	return s
7497}
7498
7499type DeleteThreatIntelSetOutput struct {
7500	_ struct{} `type:"structure"`
7501}
7502
7503// String returns the string representation
7504func (s DeleteThreatIntelSetOutput) String() string {
7505	return awsutil.Prettify(s)
7506}
7507
7508// GoString returns the string representation
7509func (s DeleteThreatIntelSetOutput) GoString() string {
7510	return s.String()
7511}
7512
7513type DescribeOrganizationConfigurationInput struct {
7514	_ struct{} `type:"structure"`
7515
7516	// The ID of the detector to retrieve information about the delegated administrator
7517	// from.
7518	//
7519	// DetectorId is a required field
7520	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7521}
7522
7523// String returns the string representation
7524func (s DescribeOrganizationConfigurationInput) String() string {
7525	return awsutil.Prettify(s)
7526}
7527
7528// GoString returns the string representation
7529func (s DescribeOrganizationConfigurationInput) GoString() string {
7530	return s.String()
7531}
7532
7533// Validate inspects the fields of the type to determine if they are valid.
7534func (s *DescribeOrganizationConfigurationInput) Validate() error {
7535	invalidParams := request.ErrInvalidParams{Context: "DescribeOrganizationConfigurationInput"}
7536	if s.DetectorId == nil {
7537		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7538	}
7539	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7540		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7541	}
7542
7543	if invalidParams.Len() > 0 {
7544		return invalidParams
7545	}
7546	return nil
7547}
7548
7549// SetDetectorId sets the DetectorId field's value.
7550func (s *DescribeOrganizationConfigurationInput) SetDetectorId(v string) *DescribeOrganizationConfigurationInput {
7551	s.DetectorId = &v
7552	return s
7553}
7554
7555type DescribeOrganizationConfigurationOutput struct {
7556	_ struct{} `type:"structure"`
7557
7558	// Indicates whether GuardDuty is automatically enabled for accounts added to
7559	// the organization.
7560	//
7561	// AutoEnable is a required field
7562	AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"`
7563
7564	// Indicates whether the maximum number of allowed member accounts are already
7565	// associated with the delegated administrator master account.
7566	//
7567	// MemberAccountLimitReached is a required field
7568	MemberAccountLimitReached *bool `locationName:"memberAccountLimitReached" type:"boolean" required:"true"`
7569}
7570
7571// String returns the string representation
7572func (s DescribeOrganizationConfigurationOutput) String() string {
7573	return awsutil.Prettify(s)
7574}
7575
7576// GoString returns the string representation
7577func (s DescribeOrganizationConfigurationOutput) GoString() string {
7578	return s.String()
7579}
7580
7581// SetAutoEnable sets the AutoEnable field's value.
7582func (s *DescribeOrganizationConfigurationOutput) SetAutoEnable(v bool) *DescribeOrganizationConfigurationOutput {
7583	s.AutoEnable = &v
7584	return s
7585}
7586
7587// SetMemberAccountLimitReached sets the MemberAccountLimitReached field's value.
7588func (s *DescribeOrganizationConfigurationOutput) SetMemberAccountLimitReached(v bool) *DescribeOrganizationConfigurationOutput {
7589	s.MemberAccountLimitReached = &v
7590	return s
7591}
7592
7593type DescribePublishingDestinationInput struct {
7594	_ struct{} `type:"structure"`
7595
7596	// The ID of the publishing destination to retrieve.
7597	//
7598	// DestinationId is a required field
7599	DestinationId *string `location:"uri" locationName:"destinationId" type:"string" required:"true"`
7600
7601	// The unique ID of the detector associated with the publishing destination
7602	// to retrieve.
7603	//
7604	// DetectorId is a required field
7605	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7606}
7607
7608// String returns the string representation
7609func (s DescribePublishingDestinationInput) String() string {
7610	return awsutil.Prettify(s)
7611}
7612
7613// GoString returns the string representation
7614func (s DescribePublishingDestinationInput) GoString() string {
7615	return s.String()
7616}
7617
7618// Validate inspects the fields of the type to determine if they are valid.
7619func (s *DescribePublishingDestinationInput) Validate() error {
7620	invalidParams := request.ErrInvalidParams{Context: "DescribePublishingDestinationInput"}
7621	if s.DestinationId == nil {
7622		invalidParams.Add(request.NewErrParamRequired("DestinationId"))
7623	}
7624	if s.DestinationId != nil && len(*s.DestinationId) < 1 {
7625		invalidParams.Add(request.NewErrParamMinLen("DestinationId", 1))
7626	}
7627	if s.DetectorId == nil {
7628		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7629	}
7630	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7631		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7632	}
7633
7634	if invalidParams.Len() > 0 {
7635		return invalidParams
7636	}
7637	return nil
7638}
7639
7640// SetDestinationId sets the DestinationId field's value.
7641func (s *DescribePublishingDestinationInput) SetDestinationId(v string) *DescribePublishingDestinationInput {
7642	s.DestinationId = &v
7643	return s
7644}
7645
7646// SetDetectorId sets the DetectorId field's value.
7647func (s *DescribePublishingDestinationInput) SetDetectorId(v string) *DescribePublishingDestinationInput {
7648	s.DetectorId = &v
7649	return s
7650}
7651
7652type DescribePublishingDestinationOutput struct {
7653	_ struct{} `type:"structure"`
7654
7655	// The ID of the publishing destination.
7656	//
7657	// DestinationId is a required field
7658	DestinationId *string `locationName:"destinationId" type:"string" required:"true"`
7659
7660	// A DestinationProperties object that includes the DestinationArn and KmsKeyArn
7661	// of the publishing destination.
7662	//
7663	// DestinationProperties is a required field
7664	DestinationProperties *DestinationProperties `locationName:"destinationProperties" type:"structure" required:"true"`
7665
7666	// The type of publishing destination. Currently, only Amazon S3 buckets are
7667	// supported.
7668	//
7669	// DestinationType is a required field
7670	DestinationType *string `locationName:"destinationType" min:"1" type:"string" required:"true" enum:"DestinationType"`
7671
7672	// The time, in epoch millisecond format, at which GuardDuty was first unable
7673	// to publish findings to the destination.
7674	//
7675	// PublishingFailureStartTimestamp is a required field
7676	PublishingFailureStartTimestamp *int64 `locationName:"publishingFailureStartTimestamp" type:"long" required:"true"`
7677
7678	// The status of the publishing destination.
7679	//
7680	// Status is a required field
7681	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"PublishingStatus"`
7682}
7683
7684// String returns the string representation
7685func (s DescribePublishingDestinationOutput) String() string {
7686	return awsutil.Prettify(s)
7687}
7688
7689// GoString returns the string representation
7690func (s DescribePublishingDestinationOutput) GoString() string {
7691	return s.String()
7692}
7693
7694// SetDestinationId sets the DestinationId field's value.
7695func (s *DescribePublishingDestinationOutput) SetDestinationId(v string) *DescribePublishingDestinationOutput {
7696	s.DestinationId = &v
7697	return s
7698}
7699
7700// SetDestinationProperties sets the DestinationProperties field's value.
7701func (s *DescribePublishingDestinationOutput) SetDestinationProperties(v *DestinationProperties) *DescribePublishingDestinationOutput {
7702	s.DestinationProperties = v
7703	return s
7704}
7705
7706// SetDestinationType sets the DestinationType field's value.
7707func (s *DescribePublishingDestinationOutput) SetDestinationType(v string) *DescribePublishingDestinationOutput {
7708	s.DestinationType = &v
7709	return s
7710}
7711
7712// SetPublishingFailureStartTimestamp sets the PublishingFailureStartTimestamp field's value.
7713func (s *DescribePublishingDestinationOutput) SetPublishingFailureStartTimestamp(v int64) *DescribePublishingDestinationOutput {
7714	s.PublishingFailureStartTimestamp = &v
7715	return s
7716}
7717
7718// SetStatus sets the Status field's value.
7719func (s *DescribePublishingDestinationOutput) SetStatus(v string) *DescribePublishingDestinationOutput {
7720	s.Status = &v
7721	return s
7722}
7723
7724// Contains information about the publishing destination, including the ID,
7725// type, and status.
7726type Destination struct {
7727	_ struct{} `type:"structure"`
7728
7729	// The unique ID of the publishing destination.
7730	//
7731	// DestinationId is a required field
7732	DestinationId *string `locationName:"destinationId" type:"string" required:"true"`
7733
7734	// The type of resource used for the publishing destination. Currently, only
7735	// Amazon S3 buckets are supported.
7736	//
7737	// DestinationType is a required field
7738	DestinationType *string `locationName:"destinationType" min:"1" type:"string" required:"true" enum:"DestinationType"`
7739
7740	// The status of the publishing destination.
7741	//
7742	// Status is a required field
7743	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"PublishingStatus"`
7744}
7745
7746// String returns the string representation
7747func (s Destination) String() string {
7748	return awsutil.Prettify(s)
7749}
7750
7751// GoString returns the string representation
7752func (s Destination) GoString() string {
7753	return s.String()
7754}
7755
7756// SetDestinationId sets the DestinationId field's value.
7757func (s *Destination) SetDestinationId(v string) *Destination {
7758	s.DestinationId = &v
7759	return s
7760}
7761
7762// SetDestinationType sets the DestinationType field's value.
7763func (s *Destination) SetDestinationType(v string) *Destination {
7764	s.DestinationType = &v
7765	return s
7766}
7767
7768// SetStatus sets the Status field's value.
7769func (s *Destination) SetStatus(v string) *Destination {
7770	s.Status = &v
7771	return s
7772}
7773
7774// Contains the Amazon Resource Name (ARN) of the resource to publish to, such
7775// as an S3 bucket, and the ARN of the KMS key to use to encrypt published findings.
7776type DestinationProperties struct {
7777	_ struct{} `type:"structure"`
7778
7779	// The ARN of the resource to publish to.
7780	DestinationArn *string `locationName:"destinationArn" type:"string"`
7781
7782	// The ARN of the KMS key to use for encryption.
7783	KmsKeyArn *string `locationName:"kmsKeyArn" type:"string"`
7784}
7785
7786// String returns the string representation
7787func (s DestinationProperties) String() string {
7788	return awsutil.Prettify(s)
7789}
7790
7791// GoString returns the string representation
7792func (s DestinationProperties) GoString() string {
7793	return s.String()
7794}
7795
7796// SetDestinationArn sets the DestinationArn field's value.
7797func (s *DestinationProperties) SetDestinationArn(v string) *DestinationProperties {
7798	s.DestinationArn = &v
7799	return s
7800}
7801
7802// SetKmsKeyArn sets the KmsKeyArn field's value.
7803func (s *DestinationProperties) SetKmsKeyArn(v string) *DestinationProperties {
7804	s.KmsKeyArn = &v
7805	return s
7806}
7807
7808type DisableOrganizationAdminAccountInput struct {
7809	_ struct{} `type:"structure"`
7810
7811	// The AWS Account ID for the organizations account to be disabled as a GuardDuty
7812	// delegated administrator.
7813	//
7814	// AdminAccountId is a required field
7815	AdminAccountId *string `locationName:"adminAccountId" type:"string" required:"true"`
7816}
7817
7818// String returns the string representation
7819func (s DisableOrganizationAdminAccountInput) String() string {
7820	return awsutil.Prettify(s)
7821}
7822
7823// GoString returns the string representation
7824func (s DisableOrganizationAdminAccountInput) GoString() string {
7825	return s.String()
7826}
7827
7828// Validate inspects the fields of the type to determine if they are valid.
7829func (s *DisableOrganizationAdminAccountInput) Validate() error {
7830	invalidParams := request.ErrInvalidParams{Context: "DisableOrganizationAdminAccountInput"}
7831	if s.AdminAccountId == nil {
7832		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
7833	}
7834
7835	if invalidParams.Len() > 0 {
7836		return invalidParams
7837	}
7838	return nil
7839}
7840
7841// SetAdminAccountId sets the AdminAccountId field's value.
7842func (s *DisableOrganizationAdminAccountInput) SetAdminAccountId(v string) *DisableOrganizationAdminAccountInput {
7843	s.AdminAccountId = &v
7844	return s
7845}
7846
7847type DisableOrganizationAdminAccountOutput struct {
7848	_ struct{} `type:"structure"`
7849}
7850
7851// String returns the string representation
7852func (s DisableOrganizationAdminAccountOutput) String() string {
7853	return awsutil.Prettify(s)
7854}
7855
7856// GoString returns the string representation
7857func (s DisableOrganizationAdminAccountOutput) GoString() string {
7858	return s.String()
7859}
7860
7861type DisassociateFromMasterAccountInput struct {
7862	_ struct{} `type:"structure"`
7863
7864	// The unique ID of the detector of the GuardDuty member account.
7865	//
7866	// DetectorId is a required field
7867	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7868}
7869
7870// String returns the string representation
7871func (s DisassociateFromMasterAccountInput) String() string {
7872	return awsutil.Prettify(s)
7873}
7874
7875// GoString returns the string representation
7876func (s DisassociateFromMasterAccountInput) GoString() string {
7877	return s.String()
7878}
7879
7880// Validate inspects the fields of the type to determine if they are valid.
7881func (s *DisassociateFromMasterAccountInput) Validate() error {
7882	invalidParams := request.ErrInvalidParams{Context: "DisassociateFromMasterAccountInput"}
7883	if s.DetectorId == nil {
7884		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7885	}
7886	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7887		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7888	}
7889
7890	if invalidParams.Len() > 0 {
7891		return invalidParams
7892	}
7893	return nil
7894}
7895
7896// SetDetectorId sets the DetectorId field's value.
7897func (s *DisassociateFromMasterAccountInput) SetDetectorId(v string) *DisassociateFromMasterAccountInput {
7898	s.DetectorId = &v
7899	return s
7900}
7901
7902type DisassociateFromMasterAccountOutput struct {
7903	_ struct{} `type:"structure"`
7904}
7905
7906// String returns the string representation
7907func (s DisassociateFromMasterAccountOutput) String() string {
7908	return awsutil.Prettify(s)
7909}
7910
7911// GoString returns the string representation
7912func (s DisassociateFromMasterAccountOutput) GoString() string {
7913	return s.String()
7914}
7915
7916type DisassociateMembersInput struct {
7917	_ struct{} `type:"structure"`
7918
7919	// A list of account IDs of the GuardDuty member accounts that you want to disassociate
7920	// from the master account.
7921	//
7922	// AccountIds is a required field
7923	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
7924
7925	// The unique ID of the detector of the GuardDuty account whose members you
7926	// want to disassociate from the master account.
7927	//
7928	// DetectorId is a required field
7929	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
7930}
7931
7932// String returns the string representation
7933func (s DisassociateMembersInput) String() string {
7934	return awsutil.Prettify(s)
7935}
7936
7937// GoString returns the string representation
7938func (s DisassociateMembersInput) GoString() string {
7939	return s.String()
7940}
7941
7942// Validate inspects the fields of the type to determine if they are valid.
7943func (s *DisassociateMembersInput) Validate() error {
7944	invalidParams := request.ErrInvalidParams{Context: "DisassociateMembersInput"}
7945	if s.AccountIds == nil {
7946		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
7947	}
7948	if s.AccountIds != nil && len(s.AccountIds) < 1 {
7949		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
7950	}
7951	if s.DetectorId == nil {
7952		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
7953	}
7954	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
7955		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
7956	}
7957
7958	if invalidParams.Len() > 0 {
7959		return invalidParams
7960	}
7961	return nil
7962}
7963
7964// SetAccountIds sets the AccountIds field's value.
7965func (s *DisassociateMembersInput) SetAccountIds(v []*string) *DisassociateMembersInput {
7966	s.AccountIds = v
7967	return s
7968}
7969
7970// SetDetectorId sets the DetectorId field's value.
7971func (s *DisassociateMembersInput) SetDetectorId(v string) *DisassociateMembersInput {
7972	s.DetectorId = &v
7973	return s
7974}
7975
7976type DisassociateMembersOutput struct {
7977	_ struct{} `type:"structure"`
7978
7979	// A list of objects that contain the unprocessed account and a result string
7980	// that explains why it was unprocessed.
7981	//
7982	// UnprocessedAccounts is a required field
7983	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
7984}
7985
7986// String returns the string representation
7987func (s DisassociateMembersOutput) String() string {
7988	return awsutil.Prettify(s)
7989}
7990
7991// GoString returns the string representation
7992func (s DisassociateMembersOutput) GoString() string {
7993	return s.String()
7994}
7995
7996// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
7997func (s *DisassociateMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DisassociateMembersOutput {
7998	s.UnprocessedAccounts = v
7999	return s
8000}
8001
8002// Contains information about the DNS_REQUEST action described in this finding.
8003type DnsRequestAction struct {
8004	_ struct{} `type:"structure"`
8005
8006	// The domain information for the API request.
8007	Domain *string `locationName:"domain" type:"string"`
8008}
8009
8010// String returns the string representation
8011func (s DnsRequestAction) String() string {
8012	return awsutil.Prettify(s)
8013}
8014
8015// GoString returns the string representation
8016func (s DnsRequestAction) GoString() string {
8017	return s.String()
8018}
8019
8020// SetDomain sets the Domain field's value.
8021func (s *DnsRequestAction) SetDomain(v string) *DnsRequestAction {
8022	s.Domain = &v
8023	return s
8024}
8025
8026// Contains information about the domain.
8027type DomainDetails struct {
8028	_ struct{} `type:"structure"`
8029
8030	// The domain information for the AWS API call.
8031	Domain *string `locationName:"domain" type:"string"`
8032}
8033
8034// String returns the string representation
8035func (s DomainDetails) String() string {
8036	return awsutil.Prettify(s)
8037}
8038
8039// GoString returns the string representation
8040func (s DomainDetails) GoString() string {
8041	return s.String()
8042}
8043
8044// SetDomain sets the Domain field's value.
8045func (s *DomainDetails) SetDomain(v string) *DomainDetails {
8046	s.Domain = &v
8047	return s
8048}
8049
8050type EnableOrganizationAdminAccountInput struct {
8051	_ struct{} `type:"structure"`
8052
8053	// The AWS Account ID for the organization account to be enabled as a GuardDuty
8054	// delegated administrator.
8055	//
8056	// AdminAccountId is a required field
8057	AdminAccountId *string `locationName:"adminAccountId" type:"string" required:"true"`
8058}
8059
8060// String returns the string representation
8061func (s EnableOrganizationAdminAccountInput) String() string {
8062	return awsutil.Prettify(s)
8063}
8064
8065// GoString returns the string representation
8066func (s EnableOrganizationAdminAccountInput) GoString() string {
8067	return s.String()
8068}
8069
8070// Validate inspects the fields of the type to determine if they are valid.
8071func (s *EnableOrganizationAdminAccountInput) Validate() error {
8072	invalidParams := request.ErrInvalidParams{Context: "EnableOrganizationAdminAccountInput"}
8073	if s.AdminAccountId == nil {
8074		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
8075	}
8076
8077	if invalidParams.Len() > 0 {
8078		return invalidParams
8079	}
8080	return nil
8081}
8082
8083// SetAdminAccountId sets the AdminAccountId field's value.
8084func (s *EnableOrganizationAdminAccountInput) SetAdminAccountId(v string) *EnableOrganizationAdminAccountInput {
8085	s.AdminAccountId = &v
8086	return s
8087}
8088
8089type EnableOrganizationAdminAccountOutput struct {
8090	_ struct{} `type:"structure"`
8091}
8092
8093// String returns the string representation
8094func (s EnableOrganizationAdminAccountOutput) String() string {
8095	return awsutil.Prettify(s)
8096}
8097
8098// GoString returns the string representation
8099func (s EnableOrganizationAdminAccountOutput) GoString() string {
8100	return s.String()
8101}
8102
8103// Contains information about the reason that the finding was generated.
8104type Evidence struct {
8105	_ struct{} `type:"structure"`
8106
8107	// A list of threat intelligence details related to the evidence.
8108	ThreatIntelligenceDetails []*ThreatIntelligenceDetail `locationName:"threatIntelligenceDetails" type:"list"`
8109}
8110
8111// String returns the string representation
8112func (s Evidence) String() string {
8113	return awsutil.Prettify(s)
8114}
8115
8116// GoString returns the string representation
8117func (s Evidence) GoString() string {
8118	return s.String()
8119}
8120
8121// SetThreatIntelligenceDetails sets the ThreatIntelligenceDetails field's value.
8122func (s *Evidence) SetThreatIntelligenceDetails(v []*ThreatIntelligenceDetail) *Evidence {
8123	s.ThreatIntelligenceDetails = v
8124	return s
8125}
8126
8127// Contains information about the finding, which is generated when abnormal
8128// or suspicious activity is detected.
8129type Finding struct {
8130	_ struct{} `type:"structure"`
8131
8132	// The ID of the account in which the finding was generated.
8133	//
8134	// AccountId is a required field
8135	AccountId *string `locationName:"accountId" type:"string" required:"true"`
8136
8137	// The ARN of the finding.
8138	//
8139	// Arn is a required field
8140	Arn *string `locationName:"arn" type:"string" required:"true"`
8141
8142	// The confidence score for the finding.
8143	Confidence *float64 `locationName:"confidence" type:"double"`
8144
8145	// The time and date when the finding was created.
8146	//
8147	// CreatedAt is a required field
8148	CreatedAt *string `locationName:"createdAt" type:"string" required:"true"`
8149
8150	// The description of the finding.
8151	Description *string `locationName:"description" type:"string"`
8152
8153	// The ID of the finding.
8154	//
8155	// Id is a required field
8156	Id *string `locationName:"id" type:"string" required:"true"`
8157
8158	// The partition associated with the finding.
8159	Partition *string `locationName:"partition" type:"string"`
8160
8161	// The Region where the finding was generated.
8162	//
8163	// Region is a required field
8164	Region *string `locationName:"region" type:"string" required:"true"`
8165
8166	// Contains information about the AWS resource associated with the activity
8167	// that prompted GuardDuty to generate a finding.
8168	//
8169	// Resource is a required field
8170	Resource *Resource `locationName:"resource" type:"structure" required:"true"`
8171
8172	// The version of the schema used for the finding.
8173	//
8174	// SchemaVersion is a required field
8175	SchemaVersion *string `locationName:"schemaVersion" type:"string" required:"true"`
8176
8177	// Contains additional information about the generated finding.
8178	Service *Service `locationName:"service" type:"structure"`
8179
8180	// The severity of the finding.
8181	//
8182	// Severity is a required field
8183	Severity *float64 `locationName:"severity" type:"double" required:"true"`
8184
8185	// The title of the finding.
8186	Title *string `locationName:"title" type:"string"`
8187
8188	// The type of finding.
8189	//
8190	// Type is a required field
8191	Type *string `locationName:"type" min:"1" type:"string" required:"true"`
8192
8193	// The time and date when the finding was last updated.
8194	//
8195	// UpdatedAt is a required field
8196	UpdatedAt *string `locationName:"updatedAt" type:"string" required:"true"`
8197}
8198
8199// String returns the string representation
8200func (s Finding) String() string {
8201	return awsutil.Prettify(s)
8202}
8203
8204// GoString returns the string representation
8205func (s Finding) GoString() string {
8206	return s.String()
8207}
8208
8209// SetAccountId sets the AccountId field's value.
8210func (s *Finding) SetAccountId(v string) *Finding {
8211	s.AccountId = &v
8212	return s
8213}
8214
8215// SetArn sets the Arn field's value.
8216func (s *Finding) SetArn(v string) *Finding {
8217	s.Arn = &v
8218	return s
8219}
8220
8221// SetConfidence sets the Confidence field's value.
8222func (s *Finding) SetConfidence(v float64) *Finding {
8223	s.Confidence = &v
8224	return s
8225}
8226
8227// SetCreatedAt sets the CreatedAt field's value.
8228func (s *Finding) SetCreatedAt(v string) *Finding {
8229	s.CreatedAt = &v
8230	return s
8231}
8232
8233// SetDescription sets the Description field's value.
8234func (s *Finding) SetDescription(v string) *Finding {
8235	s.Description = &v
8236	return s
8237}
8238
8239// SetId sets the Id field's value.
8240func (s *Finding) SetId(v string) *Finding {
8241	s.Id = &v
8242	return s
8243}
8244
8245// SetPartition sets the Partition field's value.
8246func (s *Finding) SetPartition(v string) *Finding {
8247	s.Partition = &v
8248	return s
8249}
8250
8251// SetRegion sets the Region field's value.
8252func (s *Finding) SetRegion(v string) *Finding {
8253	s.Region = &v
8254	return s
8255}
8256
8257// SetResource sets the Resource field's value.
8258func (s *Finding) SetResource(v *Resource) *Finding {
8259	s.Resource = v
8260	return s
8261}
8262
8263// SetSchemaVersion sets the SchemaVersion field's value.
8264func (s *Finding) SetSchemaVersion(v string) *Finding {
8265	s.SchemaVersion = &v
8266	return s
8267}
8268
8269// SetService sets the Service field's value.
8270func (s *Finding) SetService(v *Service) *Finding {
8271	s.Service = v
8272	return s
8273}
8274
8275// SetSeverity sets the Severity field's value.
8276func (s *Finding) SetSeverity(v float64) *Finding {
8277	s.Severity = &v
8278	return s
8279}
8280
8281// SetTitle sets the Title field's value.
8282func (s *Finding) SetTitle(v string) *Finding {
8283	s.Title = &v
8284	return s
8285}
8286
8287// SetType sets the Type field's value.
8288func (s *Finding) SetType(v string) *Finding {
8289	s.Type = &v
8290	return s
8291}
8292
8293// SetUpdatedAt sets the UpdatedAt field's value.
8294func (s *Finding) SetUpdatedAt(v string) *Finding {
8295	s.UpdatedAt = &v
8296	return s
8297}
8298
8299// Contains information about the criteria used for querying findings.
8300type FindingCriteria struct {
8301	_ struct{} `type:"structure"`
8302
8303	// Represents a map of finding properties that match specified conditions and
8304	// values when querying findings.
8305	Criterion map[string]*Condition `locationName:"criterion" type:"map"`
8306}
8307
8308// String returns the string representation
8309func (s FindingCriteria) String() string {
8310	return awsutil.Prettify(s)
8311}
8312
8313// GoString returns the string representation
8314func (s FindingCriteria) GoString() string {
8315	return s.String()
8316}
8317
8318// SetCriterion sets the Criterion field's value.
8319func (s *FindingCriteria) SetCriterion(v map[string]*Condition) *FindingCriteria {
8320	s.Criterion = v
8321	return s
8322}
8323
8324// Contains information about finding statistics.
8325type FindingStatistics struct {
8326	_ struct{} `type:"structure"`
8327
8328	// Represents a map of severity to count statistics for a set of findings.
8329	CountBySeverity map[string]*int64 `locationName:"countBySeverity" type:"map"`
8330}
8331
8332// String returns the string representation
8333func (s FindingStatistics) String() string {
8334	return awsutil.Prettify(s)
8335}
8336
8337// GoString returns the string representation
8338func (s FindingStatistics) GoString() string {
8339	return s.String()
8340}
8341
8342// SetCountBySeverity sets the CountBySeverity field's value.
8343func (s *FindingStatistics) SetCountBySeverity(v map[string]*int64) *FindingStatistics {
8344	s.CountBySeverity = v
8345	return s
8346}
8347
8348// Contains information about the location of the remote IP address.
8349type GeoLocation struct {
8350	_ struct{} `type:"structure"`
8351
8352	// The latitude information of the remote IP address.
8353	Lat *float64 `locationName:"lat" type:"double"`
8354
8355	// The longitude information of the remote IP address.
8356	Lon *float64 `locationName:"lon" type:"double"`
8357}
8358
8359// String returns the string representation
8360func (s GeoLocation) String() string {
8361	return awsutil.Prettify(s)
8362}
8363
8364// GoString returns the string representation
8365func (s GeoLocation) GoString() string {
8366	return s.String()
8367}
8368
8369// SetLat sets the Lat field's value.
8370func (s *GeoLocation) SetLat(v float64) *GeoLocation {
8371	s.Lat = &v
8372	return s
8373}
8374
8375// SetLon sets the Lon field's value.
8376func (s *GeoLocation) SetLon(v float64) *GeoLocation {
8377	s.Lon = &v
8378	return s
8379}
8380
8381type GetDetectorInput struct {
8382	_ struct{} `type:"structure"`
8383
8384	// The unique ID of the detector that you want to get.
8385	//
8386	// DetectorId is a required field
8387	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
8388}
8389
8390// String returns the string representation
8391func (s GetDetectorInput) String() string {
8392	return awsutil.Prettify(s)
8393}
8394
8395// GoString returns the string representation
8396func (s GetDetectorInput) GoString() string {
8397	return s.String()
8398}
8399
8400// Validate inspects the fields of the type to determine if they are valid.
8401func (s *GetDetectorInput) Validate() error {
8402	invalidParams := request.ErrInvalidParams{Context: "GetDetectorInput"}
8403	if s.DetectorId == nil {
8404		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
8405	}
8406	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
8407		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
8408	}
8409
8410	if invalidParams.Len() > 0 {
8411		return invalidParams
8412	}
8413	return nil
8414}
8415
8416// SetDetectorId sets the DetectorId field's value.
8417func (s *GetDetectorInput) SetDetectorId(v string) *GetDetectorInput {
8418	s.DetectorId = &v
8419	return s
8420}
8421
8422type GetDetectorOutput struct {
8423	_ struct{} `type:"structure"`
8424
8425	// The timestamp of when the detector was created.
8426	CreatedAt *string `locationName:"createdAt" type:"string"`
8427
8428	// The publishing frequency of the finding.
8429	FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"`
8430
8431	// The GuardDuty service role.
8432	//
8433	// ServiceRole is a required field
8434	ServiceRole *string `locationName:"serviceRole" type:"string" required:"true"`
8435
8436	// The detector status.
8437	//
8438	// Status is a required field
8439	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DetectorStatus"`
8440
8441	// The tags of the detector resource.
8442	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
8443
8444	// The last-updated timestamp for the detector.
8445	UpdatedAt *string `locationName:"updatedAt" type:"string"`
8446}
8447
8448// String returns the string representation
8449func (s GetDetectorOutput) String() string {
8450	return awsutil.Prettify(s)
8451}
8452
8453// GoString returns the string representation
8454func (s GetDetectorOutput) GoString() string {
8455	return s.String()
8456}
8457
8458// SetCreatedAt sets the CreatedAt field's value.
8459func (s *GetDetectorOutput) SetCreatedAt(v string) *GetDetectorOutput {
8460	s.CreatedAt = &v
8461	return s
8462}
8463
8464// SetFindingPublishingFrequency sets the FindingPublishingFrequency field's value.
8465func (s *GetDetectorOutput) SetFindingPublishingFrequency(v string) *GetDetectorOutput {
8466	s.FindingPublishingFrequency = &v
8467	return s
8468}
8469
8470// SetServiceRole sets the ServiceRole field's value.
8471func (s *GetDetectorOutput) SetServiceRole(v string) *GetDetectorOutput {
8472	s.ServiceRole = &v
8473	return s
8474}
8475
8476// SetStatus sets the Status field's value.
8477func (s *GetDetectorOutput) SetStatus(v string) *GetDetectorOutput {
8478	s.Status = &v
8479	return s
8480}
8481
8482// SetTags sets the Tags field's value.
8483func (s *GetDetectorOutput) SetTags(v map[string]*string) *GetDetectorOutput {
8484	s.Tags = v
8485	return s
8486}
8487
8488// SetUpdatedAt sets the UpdatedAt field's value.
8489func (s *GetDetectorOutput) SetUpdatedAt(v string) *GetDetectorOutput {
8490	s.UpdatedAt = &v
8491	return s
8492}
8493
8494type GetFilterInput struct {
8495	_ struct{} `type:"structure"`
8496
8497	// The unique ID of the detector that the filter is associated with.
8498	//
8499	// DetectorId is a required field
8500	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
8501
8502	// The name of the filter you want to get.
8503	//
8504	// FilterName is a required field
8505	FilterName *string `location:"uri" locationName:"filterName" type:"string" required:"true"`
8506}
8507
8508// String returns the string representation
8509func (s GetFilterInput) String() string {
8510	return awsutil.Prettify(s)
8511}
8512
8513// GoString returns the string representation
8514func (s GetFilterInput) GoString() string {
8515	return s.String()
8516}
8517
8518// Validate inspects the fields of the type to determine if they are valid.
8519func (s *GetFilterInput) Validate() error {
8520	invalidParams := request.ErrInvalidParams{Context: "GetFilterInput"}
8521	if s.DetectorId == nil {
8522		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
8523	}
8524	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
8525		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
8526	}
8527	if s.FilterName == nil {
8528		invalidParams.Add(request.NewErrParamRequired("FilterName"))
8529	}
8530	if s.FilterName != nil && len(*s.FilterName) < 1 {
8531		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
8532	}
8533
8534	if invalidParams.Len() > 0 {
8535		return invalidParams
8536	}
8537	return nil
8538}
8539
8540// SetDetectorId sets the DetectorId field's value.
8541func (s *GetFilterInput) SetDetectorId(v string) *GetFilterInput {
8542	s.DetectorId = &v
8543	return s
8544}
8545
8546// SetFilterName sets the FilterName field's value.
8547func (s *GetFilterInput) SetFilterName(v string) *GetFilterInput {
8548	s.FilterName = &v
8549	return s
8550}
8551
8552type GetFilterOutput struct {
8553	_ struct{} `type:"structure"`
8554
8555	// Specifies the action that is to be applied to the findings that match the
8556	// filter.
8557	//
8558	// Action is a required field
8559	Action *string `locationName:"action" min:"1" type:"string" required:"true" enum:"FilterAction"`
8560
8561	// The description of the filter.
8562	Description *string `locationName:"description" type:"string"`
8563
8564	// Represents the criteria to be used in the filter for querying findings.
8565	//
8566	// FindingCriteria is a required field
8567	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure" required:"true"`
8568
8569	// The name of the filter.
8570	//
8571	// Name is a required field
8572	Name *string `locationName:"name" min:"3" type:"string" required:"true"`
8573
8574	// Specifies the position of the filter in the list of current filters. Also
8575	// specifies the order in which this filter is applied to the findings.
8576	Rank *int64 `locationName:"rank" min:"1" type:"integer"`
8577
8578	// The tags of the filter resource.
8579	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
8580}
8581
8582// String returns the string representation
8583func (s GetFilterOutput) String() string {
8584	return awsutil.Prettify(s)
8585}
8586
8587// GoString returns the string representation
8588func (s GetFilterOutput) GoString() string {
8589	return s.String()
8590}
8591
8592// SetAction sets the Action field's value.
8593func (s *GetFilterOutput) SetAction(v string) *GetFilterOutput {
8594	s.Action = &v
8595	return s
8596}
8597
8598// SetDescription sets the Description field's value.
8599func (s *GetFilterOutput) SetDescription(v string) *GetFilterOutput {
8600	s.Description = &v
8601	return s
8602}
8603
8604// SetFindingCriteria sets the FindingCriteria field's value.
8605func (s *GetFilterOutput) SetFindingCriteria(v *FindingCriteria) *GetFilterOutput {
8606	s.FindingCriteria = v
8607	return s
8608}
8609
8610// SetName sets the Name field's value.
8611func (s *GetFilterOutput) SetName(v string) *GetFilterOutput {
8612	s.Name = &v
8613	return s
8614}
8615
8616// SetRank sets the Rank field's value.
8617func (s *GetFilterOutput) SetRank(v int64) *GetFilterOutput {
8618	s.Rank = &v
8619	return s
8620}
8621
8622// SetTags sets the Tags field's value.
8623func (s *GetFilterOutput) SetTags(v map[string]*string) *GetFilterOutput {
8624	s.Tags = v
8625	return s
8626}
8627
8628type GetFindingsInput struct {
8629	_ struct{} `type:"structure"`
8630
8631	// The ID of the detector that specifies the GuardDuty service whose findings
8632	// you want to retrieve.
8633	//
8634	// DetectorId is a required field
8635	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
8636
8637	// The IDs of the findings that you want to retrieve.
8638	//
8639	// FindingIds is a required field
8640	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
8641
8642	// Represents the criteria used for sorting findings.
8643	SortCriteria *SortCriteria `locationName:"sortCriteria" type:"structure"`
8644}
8645
8646// String returns the string representation
8647func (s GetFindingsInput) String() string {
8648	return awsutil.Prettify(s)
8649}
8650
8651// GoString returns the string representation
8652func (s GetFindingsInput) GoString() string {
8653	return s.String()
8654}
8655
8656// Validate inspects the fields of the type to determine if they are valid.
8657func (s *GetFindingsInput) Validate() error {
8658	invalidParams := request.ErrInvalidParams{Context: "GetFindingsInput"}
8659	if s.DetectorId == nil {
8660		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
8661	}
8662	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
8663		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
8664	}
8665	if s.FindingIds == nil {
8666		invalidParams.Add(request.NewErrParamRequired("FindingIds"))
8667	}
8668
8669	if invalidParams.Len() > 0 {
8670		return invalidParams
8671	}
8672	return nil
8673}
8674
8675// SetDetectorId sets the DetectorId field's value.
8676func (s *GetFindingsInput) SetDetectorId(v string) *GetFindingsInput {
8677	s.DetectorId = &v
8678	return s
8679}
8680
8681// SetFindingIds sets the FindingIds field's value.
8682func (s *GetFindingsInput) SetFindingIds(v []*string) *GetFindingsInput {
8683	s.FindingIds = v
8684	return s
8685}
8686
8687// SetSortCriteria sets the SortCriteria field's value.
8688func (s *GetFindingsInput) SetSortCriteria(v *SortCriteria) *GetFindingsInput {
8689	s.SortCriteria = v
8690	return s
8691}
8692
8693type GetFindingsOutput struct {
8694	_ struct{} `type:"structure"`
8695
8696	// A list of findings.
8697	//
8698	// Findings is a required field
8699	Findings []*Finding `locationName:"findings" type:"list" required:"true"`
8700}
8701
8702// String returns the string representation
8703func (s GetFindingsOutput) String() string {
8704	return awsutil.Prettify(s)
8705}
8706
8707// GoString returns the string representation
8708func (s GetFindingsOutput) GoString() string {
8709	return s.String()
8710}
8711
8712// SetFindings sets the Findings field's value.
8713func (s *GetFindingsOutput) SetFindings(v []*Finding) *GetFindingsOutput {
8714	s.Findings = v
8715	return s
8716}
8717
8718type GetFindingsStatisticsInput struct {
8719	_ struct{} `type:"structure"`
8720
8721	// The ID of the detector that specifies the GuardDuty service whose findings'
8722	// statistics you want to retrieve.
8723	//
8724	// DetectorId is a required field
8725	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
8726
8727	// Represents the criteria that is used for querying findings.
8728	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"`
8729
8730	// The types of finding statistics to retrieve.
8731	//
8732	// FindingStatisticTypes is a required field
8733	FindingStatisticTypes []*string `locationName:"findingStatisticTypes" type:"list" required:"true"`
8734}
8735
8736// String returns the string representation
8737func (s GetFindingsStatisticsInput) String() string {
8738	return awsutil.Prettify(s)
8739}
8740
8741// GoString returns the string representation
8742func (s GetFindingsStatisticsInput) GoString() string {
8743	return s.String()
8744}
8745
8746// Validate inspects the fields of the type to determine if they are valid.
8747func (s *GetFindingsStatisticsInput) Validate() error {
8748	invalidParams := request.ErrInvalidParams{Context: "GetFindingsStatisticsInput"}
8749	if s.DetectorId == nil {
8750		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
8751	}
8752	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
8753		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
8754	}
8755	if s.FindingStatisticTypes == nil {
8756		invalidParams.Add(request.NewErrParamRequired("FindingStatisticTypes"))
8757	}
8758
8759	if invalidParams.Len() > 0 {
8760		return invalidParams
8761	}
8762	return nil
8763}
8764
8765// SetDetectorId sets the DetectorId field's value.
8766func (s *GetFindingsStatisticsInput) SetDetectorId(v string) *GetFindingsStatisticsInput {
8767	s.DetectorId = &v
8768	return s
8769}
8770
8771// SetFindingCriteria sets the FindingCriteria field's value.
8772func (s *GetFindingsStatisticsInput) SetFindingCriteria(v *FindingCriteria) *GetFindingsStatisticsInput {
8773	s.FindingCriteria = v
8774	return s
8775}
8776
8777// SetFindingStatisticTypes sets the FindingStatisticTypes field's value.
8778func (s *GetFindingsStatisticsInput) SetFindingStatisticTypes(v []*string) *GetFindingsStatisticsInput {
8779	s.FindingStatisticTypes = v
8780	return s
8781}
8782
8783type GetFindingsStatisticsOutput struct {
8784	_ struct{} `type:"structure"`
8785
8786	// The finding statistics object.
8787	//
8788	// FindingStatistics is a required field
8789	FindingStatistics *FindingStatistics `locationName:"findingStatistics" type:"structure" required:"true"`
8790}
8791
8792// String returns the string representation
8793func (s GetFindingsStatisticsOutput) String() string {
8794	return awsutil.Prettify(s)
8795}
8796
8797// GoString returns the string representation
8798func (s GetFindingsStatisticsOutput) GoString() string {
8799	return s.String()
8800}
8801
8802// SetFindingStatistics sets the FindingStatistics field's value.
8803func (s *GetFindingsStatisticsOutput) SetFindingStatistics(v *FindingStatistics) *GetFindingsStatisticsOutput {
8804	s.FindingStatistics = v
8805	return s
8806}
8807
8808type GetIPSetInput struct {
8809	_ struct{} `type:"structure"`
8810
8811	// The unique ID of the detector that the IPSet is associated with.
8812	//
8813	// DetectorId is a required field
8814	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
8815
8816	// The unique ID of the IPSet to retrieve.
8817	//
8818	// IpSetId is a required field
8819	IpSetId *string `location:"uri" locationName:"ipSetId" type:"string" required:"true"`
8820}
8821
8822// String returns the string representation
8823func (s GetIPSetInput) String() string {
8824	return awsutil.Prettify(s)
8825}
8826
8827// GoString returns the string representation
8828func (s GetIPSetInput) GoString() string {
8829	return s.String()
8830}
8831
8832// Validate inspects the fields of the type to determine if they are valid.
8833func (s *GetIPSetInput) Validate() error {
8834	invalidParams := request.ErrInvalidParams{Context: "GetIPSetInput"}
8835	if s.DetectorId == nil {
8836		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
8837	}
8838	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
8839		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
8840	}
8841	if s.IpSetId == nil {
8842		invalidParams.Add(request.NewErrParamRequired("IpSetId"))
8843	}
8844	if s.IpSetId != nil && len(*s.IpSetId) < 1 {
8845		invalidParams.Add(request.NewErrParamMinLen("IpSetId", 1))
8846	}
8847
8848	if invalidParams.Len() > 0 {
8849		return invalidParams
8850	}
8851	return nil
8852}
8853
8854// SetDetectorId sets the DetectorId field's value.
8855func (s *GetIPSetInput) SetDetectorId(v string) *GetIPSetInput {
8856	s.DetectorId = &v
8857	return s
8858}
8859
8860// SetIpSetId sets the IpSetId field's value.
8861func (s *GetIPSetInput) SetIpSetId(v string) *GetIPSetInput {
8862	s.IpSetId = &v
8863	return s
8864}
8865
8866type GetIPSetOutput struct {
8867	_ struct{} `type:"structure"`
8868
8869	// The format of the file that contains the IPSet.
8870	//
8871	// Format is a required field
8872	Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"IpSetFormat"`
8873
8874	// The URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
8875	//
8876	// Location is a required field
8877	Location *string `locationName:"location" min:"1" type:"string" required:"true"`
8878
8879	// The user-friendly name for the IPSet.
8880	//
8881	// Name is a required field
8882	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
8883
8884	// The status of IPSet file that was uploaded.
8885	//
8886	// Status is a required field
8887	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"IpSetStatus"`
8888
8889	// The tags of the IPSet resource.
8890	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
8891}
8892
8893// String returns the string representation
8894func (s GetIPSetOutput) String() string {
8895	return awsutil.Prettify(s)
8896}
8897
8898// GoString returns the string representation
8899func (s GetIPSetOutput) GoString() string {
8900	return s.String()
8901}
8902
8903// SetFormat sets the Format field's value.
8904func (s *GetIPSetOutput) SetFormat(v string) *GetIPSetOutput {
8905	s.Format = &v
8906	return s
8907}
8908
8909// SetLocation sets the Location field's value.
8910func (s *GetIPSetOutput) SetLocation(v string) *GetIPSetOutput {
8911	s.Location = &v
8912	return s
8913}
8914
8915// SetName sets the Name field's value.
8916func (s *GetIPSetOutput) SetName(v string) *GetIPSetOutput {
8917	s.Name = &v
8918	return s
8919}
8920
8921// SetStatus sets the Status field's value.
8922func (s *GetIPSetOutput) SetStatus(v string) *GetIPSetOutput {
8923	s.Status = &v
8924	return s
8925}
8926
8927// SetTags sets the Tags field's value.
8928func (s *GetIPSetOutput) SetTags(v map[string]*string) *GetIPSetOutput {
8929	s.Tags = v
8930	return s
8931}
8932
8933type GetInvitationsCountInput struct {
8934	_ struct{} `type:"structure"`
8935}
8936
8937// String returns the string representation
8938func (s GetInvitationsCountInput) String() string {
8939	return awsutil.Prettify(s)
8940}
8941
8942// GoString returns the string representation
8943func (s GetInvitationsCountInput) GoString() string {
8944	return s.String()
8945}
8946
8947type GetInvitationsCountOutput struct {
8948	_ struct{} `type:"structure"`
8949
8950	// The number of received invitations.
8951	InvitationsCount *int64 `locationName:"invitationsCount" type:"integer"`
8952}
8953
8954// String returns the string representation
8955func (s GetInvitationsCountOutput) String() string {
8956	return awsutil.Prettify(s)
8957}
8958
8959// GoString returns the string representation
8960func (s GetInvitationsCountOutput) GoString() string {
8961	return s.String()
8962}
8963
8964// SetInvitationsCount sets the InvitationsCount field's value.
8965func (s *GetInvitationsCountOutput) SetInvitationsCount(v int64) *GetInvitationsCountOutput {
8966	s.InvitationsCount = &v
8967	return s
8968}
8969
8970type GetMasterAccountInput struct {
8971	_ struct{} `type:"structure"`
8972
8973	// The unique ID of the detector of the GuardDuty member account.
8974	//
8975	// DetectorId is a required field
8976	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
8977}
8978
8979// String returns the string representation
8980func (s GetMasterAccountInput) String() string {
8981	return awsutil.Prettify(s)
8982}
8983
8984// GoString returns the string representation
8985func (s GetMasterAccountInput) GoString() string {
8986	return s.String()
8987}
8988
8989// Validate inspects the fields of the type to determine if they are valid.
8990func (s *GetMasterAccountInput) Validate() error {
8991	invalidParams := request.ErrInvalidParams{Context: "GetMasterAccountInput"}
8992	if s.DetectorId == nil {
8993		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
8994	}
8995	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
8996		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
8997	}
8998
8999	if invalidParams.Len() > 0 {
9000		return invalidParams
9001	}
9002	return nil
9003}
9004
9005// SetDetectorId sets the DetectorId field's value.
9006func (s *GetMasterAccountInput) SetDetectorId(v string) *GetMasterAccountInput {
9007	s.DetectorId = &v
9008	return s
9009}
9010
9011type GetMasterAccountOutput struct {
9012	_ struct{} `type:"structure"`
9013
9014	// The master account details.
9015	//
9016	// Master is a required field
9017	Master *Master `locationName:"master" type:"structure" required:"true"`
9018}
9019
9020// String returns the string representation
9021func (s GetMasterAccountOutput) String() string {
9022	return awsutil.Prettify(s)
9023}
9024
9025// GoString returns the string representation
9026func (s GetMasterAccountOutput) GoString() string {
9027	return s.String()
9028}
9029
9030// SetMaster sets the Master field's value.
9031func (s *GetMasterAccountOutput) SetMaster(v *Master) *GetMasterAccountOutput {
9032	s.Master = v
9033	return s
9034}
9035
9036type GetMembersInput struct {
9037	_ struct{} `type:"structure"`
9038
9039	// A list of account IDs of the GuardDuty member accounts that you want to describe.
9040	//
9041	// AccountIds is a required field
9042	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
9043
9044	// The unique ID of the detector of the GuardDuty account whose members you
9045	// want to retrieve.
9046	//
9047	// DetectorId is a required field
9048	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9049}
9050
9051// String returns the string representation
9052func (s GetMembersInput) String() string {
9053	return awsutil.Prettify(s)
9054}
9055
9056// GoString returns the string representation
9057func (s GetMembersInput) GoString() string {
9058	return s.String()
9059}
9060
9061// Validate inspects the fields of the type to determine if they are valid.
9062func (s *GetMembersInput) Validate() error {
9063	invalidParams := request.ErrInvalidParams{Context: "GetMembersInput"}
9064	if s.AccountIds == nil {
9065		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
9066	}
9067	if s.AccountIds != nil && len(s.AccountIds) < 1 {
9068		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
9069	}
9070	if s.DetectorId == nil {
9071		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9072	}
9073	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9074		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9075	}
9076
9077	if invalidParams.Len() > 0 {
9078		return invalidParams
9079	}
9080	return nil
9081}
9082
9083// SetAccountIds sets the AccountIds field's value.
9084func (s *GetMembersInput) SetAccountIds(v []*string) *GetMembersInput {
9085	s.AccountIds = v
9086	return s
9087}
9088
9089// SetDetectorId sets the DetectorId field's value.
9090func (s *GetMembersInput) SetDetectorId(v string) *GetMembersInput {
9091	s.DetectorId = &v
9092	return s
9093}
9094
9095type GetMembersOutput struct {
9096	_ struct{} `type:"structure"`
9097
9098	// A list of members.
9099	//
9100	// Members is a required field
9101	Members []*Member `locationName:"members" type:"list" required:"true"`
9102
9103	// A list of objects that contain the unprocessed account and a result string
9104	// that explains why it was unprocessed.
9105	//
9106	// UnprocessedAccounts is a required field
9107	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
9108}
9109
9110// String returns the string representation
9111func (s GetMembersOutput) String() string {
9112	return awsutil.Prettify(s)
9113}
9114
9115// GoString returns the string representation
9116func (s GetMembersOutput) GoString() string {
9117	return s.String()
9118}
9119
9120// SetMembers sets the Members field's value.
9121func (s *GetMembersOutput) SetMembers(v []*Member) *GetMembersOutput {
9122	s.Members = v
9123	return s
9124}
9125
9126// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
9127func (s *GetMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *GetMembersOutput {
9128	s.UnprocessedAccounts = v
9129	return s
9130}
9131
9132type GetThreatIntelSetInput struct {
9133	_ struct{} `type:"structure"`
9134
9135	// The unique ID of the detector that the threatIntelSet is associated with.
9136	//
9137	// DetectorId is a required field
9138	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9139
9140	// The unique ID of the threatIntelSet that you want to get.
9141	//
9142	// ThreatIntelSetId is a required field
9143	ThreatIntelSetId *string `location:"uri" locationName:"threatIntelSetId" type:"string" required:"true"`
9144}
9145
9146// String returns the string representation
9147func (s GetThreatIntelSetInput) String() string {
9148	return awsutil.Prettify(s)
9149}
9150
9151// GoString returns the string representation
9152func (s GetThreatIntelSetInput) GoString() string {
9153	return s.String()
9154}
9155
9156// Validate inspects the fields of the type to determine if they are valid.
9157func (s *GetThreatIntelSetInput) Validate() error {
9158	invalidParams := request.ErrInvalidParams{Context: "GetThreatIntelSetInput"}
9159	if s.DetectorId == nil {
9160		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9161	}
9162	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9163		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9164	}
9165	if s.ThreatIntelSetId == nil {
9166		invalidParams.Add(request.NewErrParamRequired("ThreatIntelSetId"))
9167	}
9168	if s.ThreatIntelSetId != nil && len(*s.ThreatIntelSetId) < 1 {
9169		invalidParams.Add(request.NewErrParamMinLen("ThreatIntelSetId", 1))
9170	}
9171
9172	if invalidParams.Len() > 0 {
9173		return invalidParams
9174	}
9175	return nil
9176}
9177
9178// SetDetectorId sets the DetectorId field's value.
9179func (s *GetThreatIntelSetInput) SetDetectorId(v string) *GetThreatIntelSetInput {
9180	s.DetectorId = &v
9181	return s
9182}
9183
9184// SetThreatIntelSetId sets the ThreatIntelSetId field's value.
9185func (s *GetThreatIntelSetInput) SetThreatIntelSetId(v string) *GetThreatIntelSetInput {
9186	s.ThreatIntelSetId = &v
9187	return s
9188}
9189
9190type GetThreatIntelSetOutput struct {
9191	_ struct{} `type:"structure"`
9192
9193	// The format of the threatIntelSet.
9194	//
9195	// Format is a required field
9196	Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"ThreatIntelSetFormat"`
9197
9198	// The URI of the file that contains the ThreatIntelSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
9199	//
9200	// Location is a required field
9201	Location *string `locationName:"location" min:"1" type:"string" required:"true"`
9202
9203	// A user-friendly ThreatIntelSet name displayed in all findings that are generated
9204	// by activity that involves IP addresses included in this ThreatIntelSet.
9205	//
9206	// Name is a required field
9207	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
9208
9209	// The status of threatIntelSet file uploaded.
9210	//
9211	// Status is a required field
9212	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"ThreatIntelSetStatus"`
9213
9214	// The tags of the threat list resource.
9215	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
9216}
9217
9218// String returns the string representation
9219func (s GetThreatIntelSetOutput) String() string {
9220	return awsutil.Prettify(s)
9221}
9222
9223// GoString returns the string representation
9224func (s GetThreatIntelSetOutput) GoString() string {
9225	return s.String()
9226}
9227
9228// SetFormat sets the Format field's value.
9229func (s *GetThreatIntelSetOutput) SetFormat(v string) *GetThreatIntelSetOutput {
9230	s.Format = &v
9231	return s
9232}
9233
9234// SetLocation sets the Location field's value.
9235func (s *GetThreatIntelSetOutput) SetLocation(v string) *GetThreatIntelSetOutput {
9236	s.Location = &v
9237	return s
9238}
9239
9240// SetName sets the Name field's value.
9241func (s *GetThreatIntelSetOutput) SetName(v string) *GetThreatIntelSetOutput {
9242	s.Name = &v
9243	return s
9244}
9245
9246// SetStatus sets the Status field's value.
9247func (s *GetThreatIntelSetOutput) SetStatus(v string) *GetThreatIntelSetOutput {
9248	s.Status = &v
9249	return s
9250}
9251
9252// SetTags sets the Tags field's value.
9253func (s *GetThreatIntelSetOutput) SetTags(v map[string]*string) *GetThreatIntelSetOutput {
9254	s.Tags = v
9255	return s
9256}
9257
9258// Contains information about the EC2 instance profile.
9259type IamInstanceProfile struct {
9260	_ struct{} `type:"structure"`
9261
9262	// The profile ARN of the EC2 instance.
9263	Arn *string `locationName:"arn" type:"string"`
9264
9265	// The profile ID of the EC2 instance.
9266	Id *string `locationName:"id" type:"string"`
9267}
9268
9269// String returns the string representation
9270func (s IamInstanceProfile) String() string {
9271	return awsutil.Prettify(s)
9272}
9273
9274// GoString returns the string representation
9275func (s IamInstanceProfile) GoString() string {
9276	return s.String()
9277}
9278
9279// SetArn sets the Arn field's value.
9280func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile {
9281	s.Arn = &v
9282	return s
9283}
9284
9285// SetId sets the Id field's value.
9286func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile {
9287	s.Id = &v
9288	return s
9289}
9290
9291// Contains information about the details of an instance.
9292type InstanceDetails struct {
9293	_ struct{} `type:"structure"`
9294
9295	// The Availability Zone of the EC2 instance.
9296	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
9297
9298	// The profile information of the EC2 instance.
9299	IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
9300
9301	// The image description of the EC2 instance.
9302	ImageDescription *string `locationName:"imageDescription" type:"string"`
9303
9304	// The image ID of the EC2 instance.
9305	ImageId *string `locationName:"imageId" type:"string"`
9306
9307	// The ID of the EC2 instance.
9308	InstanceId *string `locationName:"instanceId" type:"string"`
9309
9310	// The state of the EC2 instance.
9311	InstanceState *string `locationName:"instanceState" type:"string"`
9312
9313	// The type of the EC2 instance.
9314	InstanceType *string `locationName:"instanceType" type:"string"`
9315
9316	// The launch time of the EC2 instance.
9317	LaunchTime *string `locationName:"launchTime" type:"string"`
9318
9319	// The elastic network interface information of the EC2 instance.
9320	NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"`
9321
9322	// The Amazon Resource Name (ARN) of the AWS Outpost. Only applicable to AWS
9323	// Outposts instances.
9324	OutpostArn *string `locationName:"outpostArn" type:"string"`
9325
9326	// The platform of the EC2 instance.
9327	Platform *string `locationName:"platform" type:"string"`
9328
9329	// The product code of the EC2 instance.
9330	ProductCodes []*ProductCode `locationName:"productCodes" type:"list"`
9331
9332	// The tags of the EC2 instance.
9333	Tags []*Tag `locationName:"tags" type:"list"`
9334}
9335
9336// String returns the string representation
9337func (s InstanceDetails) String() string {
9338	return awsutil.Prettify(s)
9339}
9340
9341// GoString returns the string representation
9342func (s InstanceDetails) GoString() string {
9343	return s.String()
9344}
9345
9346// SetAvailabilityZone sets the AvailabilityZone field's value.
9347func (s *InstanceDetails) SetAvailabilityZone(v string) *InstanceDetails {
9348	s.AvailabilityZone = &v
9349	return s
9350}
9351
9352// SetIamInstanceProfile sets the IamInstanceProfile field's value.
9353func (s *InstanceDetails) SetIamInstanceProfile(v *IamInstanceProfile) *InstanceDetails {
9354	s.IamInstanceProfile = v
9355	return s
9356}
9357
9358// SetImageDescription sets the ImageDescription field's value.
9359func (s *InstanceDetails) SetImageDescription(v string) *InstanceDetails {
9360	s.ImageDescription = &v
9361	return s
9362}
9363
9364// SetImageId sets the ImageId field's value.
9365func (s *InstanceDetails) SetImageId(v string) *InstanceDetails {
9366	s.ImageId = &v
9367	return s
9368}
9369
9370// SetInstanceId sets the InstanceId field's value.
9371func (s *InstanceDetails) SetInstanceId(v string) *InstanceDetails {
9372	s.InstanceId = &v
9373	return s
9374}
9375
9376// SetInstanceState sets the InstanceState field's value.
9377func (s *InstanceDetails) SetInstanceState(v string) *InstanceDetails {
9378	s.InstanceState = &v
9379	return s
9380}
9381
9382// SetInstanceType sets the InstanceType field's value.
9383func (s *InstanceDetails) SetInstanceType(v string) *InstanceDetails {
9384	s.InstanceType = &v
9385	return s
9386}
9387
9388// SetLaunchTime sets the LaunchTime field's value.
9389func (s *InstanceDetails) SetLaunchTime(v string) *InstanceDetails {
9390	s.LaunchTime = &v
9391	return s
9392}
9393
9394// SetNetworkInterfaces sets the NetworkInterfaces field's value.
9395func (s *InstanceDetails) SetNetworkInterfaces(v []*NetworkInterface) *InstanceDetails {
9396	s.NetworkInterfaces = v
9397	return s
9398}
9399
9400// SetOutpostArn sets the OutpostArn field's value.
9401func (s *InstanceDetails) SetOutpostArn(v string) *InstanceDetails {
9402	s.OutpostArn = &v
9403	return s
9404}
9405
9406// SetPlatform sets the Platform field's value.
9407func (s *InstanceDetails) SetPlatform(v string) *InstanceDetails {
9408	s.Platform = &v
9409	return s
9410}
9411
9412// SetProductCodes sets the ProductCodes field's value.
9413func (s *InstanceDetails) SetProductCodes(v []*ProductCode) *InstanceDetails {
9414	s.ProductCodes = v
9415	return s
9416}
9417
9418// SetTags sets the Tags field's value.
9419func (s *InstanceDetails) SetTags(v []*Tag) *InstanceDetails {
9420	s.Tags = v
9421	return s
9422}
9423
9424// An internal server error exception object.
9425type InternalServerErrorException struct {
9426	_            struct{}                  `type:"structure"`
9427	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
9428
9429	// The error message.
9430	Message_ *string `locationName:"message" type:"string"`
9431
9432	// The error type.
9433	Type *string `locationName:"__type" type:"string"`
9434}
9435
9436// String returns the string representation
9437func (s InternalServerErrorException) String() string {
9438	return awsutil.Prettify(s)
9439}
9440
9441// GoString returns the string representation
9442func (s InternalServerErrorException) GoString() string {
9443	return s.String()
9444}
9445
9446func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
9447	return &InternalServerErrorException{
9448		RespMetadata: v,
9449	}
9450}
9451
9452// Code returns the exception type name.
9453func (s *InternalServerErrorException) Code() string {
9454	return "InternalServerErrorException"
9455}
9456
9457// Message returns the exception's message.
9458func (s *InternalServerErrorException) Message() string {
9459	if s.Message_ != nil {
9460		return *s.Message_
9461	}
9462	return ""
9463}
9464
9465// OrigErr always returns nil, satisfies awserr.Error interface.
9466func (s *InternalServerErrorException) OrigErr() error {
9467	return nil
9468}
9469
9470func (s *InternalServerErrorException) Error() string {
9471	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
9472}
9473
9474// Status code returns the HTTP status code for the request's response error.
9475func (s *InternalServerErrorException) StatusCode() int {
9476	return s.RespMetadata.StatusCode
9477}
9478
9479// RequestID returns the service's response RequestID for request.
9480func (s *InternalServerErrorException) RequestID() string {
9481	return s.RespMetadata.RequestID
9482}
9483
9484// Contains information about the invitation to become a member account.
9485type Invitation struct {
9486	_ struct{} `type:"structure"`
9487
9488	// The ID of the account that the invitation was sent from.
9489	AccountId *string `locationName:"accountId" min:"12" type:"string"`
9490
9491	// The ID of the invitation. This value is used to validate the inviter account
9492	// to the member account.
9493	InvitationId *string `locationName:"invitationId" type:"string"`
9494
9495	// The timestamp when the invitation was sent.
9496	InvitedAt *string `locationName:"invitedAt" type:"string"`
9497
9498	// The status of the relationship between the inviter and invitee accounts.
9499	RelationshipStatus *string `locationName:"relationshipStatus" type:"string"`
9500}
9501
9502// String returns the string representation
9503func (s Invitation) String() string {
9504	return awsutil.Prettify(s)
9505}
9506
9507// GoString returns the string representation
9508func (s Invitation) GoString() string {
9509	return s.String()
9510}
9511
9512// SetAccountId sets the AccountId field's value.
9513func (s *Invitation) SetAccountId(v string) *Invitation {
9514	s.AccountId = &v
9515	return s
9516}
9517
9518// SetInvitationId sets the InvitationId field's value.
9519func (s *Invitation) SetInvitationId(v string) *Invitation {
9520	s.InvitationId = &v
9521	return s
9522}
9523
9524// SetInvitedAt sets the InvitedAt field's value.
9525func (s *Invitation) SetInvitedAt(v string) *Invitation {
9526	s.InvitedAt = &v
9527	return s
9528}
9529
9530// SetRelationshipStatus sets the RelationshipStatus field's value.
9531func (s *Invitation) SetRelationshipStatus(v string) *Invitation {
9532	s.RelationshipStatus = &v
9533	return s
9534}
9535
9536type InviteMembersInput struct {
9537	_ struct{} `type:"structure"`
9538
9539	// A list of account IDs of the accounts that you want to invite to GuardDuty
9540	// as members.
9541	//
9542	// AccountIds is a required field
9543	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
9544
9545	// The unique ID of the detector of the GuardDuty account that you want to invite
9546	// members with.
9547	//
9548	// DetectorId is a required field
9549	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9550
9551	// A Boolean value that specifies whether you want to disable email notification
9552	// to the accounts that you’re inviting to GuardDuty as members.
9553	DisableEmailNotification *bool `locationName:"disableEmailNotification" type:"boolean"`
9554
9555	// The invitation message that you want to send to the accounts that you’re
9556	// inviting to GuardDuty as members.
9557	Message *string `locationName:"message" type:"string"`
9558}
9559
9560// String returns the string representation
9561func (s InviteMembersInput) String() string {
9562	return awsutil.Prettify(s)
9563}
9564
9565// GoString returns the string representation
9566func (s InviteMembersInput) GoString() string {
9567	return s.String()
9568}
9569
9570// Validate inspects the fields of the type to determine if they are valid.
9571func (s *InviteMembersInput) Validate() error {
9572	invalidParams := request.ErrInvalidParams{Context: "InviteMembersInput"}
9573	if s.AccountIds == nil {
9574		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
9575	}
9576	if s.AccountIds != nil && len(s.AccountIds) < 1 {
9577		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
9578	}
9579	if s.DetectorId == nil {
9580		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9581	}
9582	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9583		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9584	}
9585
9586	if invalidParams.Len() > 0 {
9587		return invalidParams
9588	}
9589	return nil
9590}
9591
9592// SetAccountIds sets the AccountIds field's value.
9593func (s *InviteMembersInput) SetAccountIds(v []*string) *InviteMembersInput {
9594	s.AccountIds = v
9595	return s
9596}
9597
9598// SetDetectorId sets the DetectorId field's value.
9599func (s *InviteMembersInput) SetDetectorId(v string) *InviteMembersInput {
9600	s.DetectorId = &v
9601	return s
9602}
9603
9604// SetDisableEmailNotification sets the DisableEmailNotification field's value.
9605func (s *InviteMembersInput) SetDisableEmailNotification(v bool) *InviteMembersInput {
9606	s.DisableEmailNotification = &v
9607	return s
9608}
9609
9610// SetMessage sets the Message field's value.
9611func (s *InviteMembersInput) SetMessage(v string) *InviteMembersInput {
9612	s.Message = &v
9613	return s
9614}
9615
9616type InviteMembersOutput struct {
9617	_ struct{} `type:"structure"`
9618
9619	// A list of objects that contain the unprocessed account and a result string
9620	// that explains why it was unprocessed.
9621	//
9622	// UnprocessedAccounts is a required field
9623	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
9624}
9625
9626// String returns the string representation
9627func (s InviteMembersOutput) String() string {
9628	return awsutil.Prettify(s)
9629}
9630
9631// GoString returns the string representation
9632func (s InviteMembersOutput) GoString() string {
9633	return s.String()
9634}
9635
9636// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
9637func (s *InviteMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *InviteMembersOutput {
9638	s.UnprocessedAccounts = v
9639	return s
9640}
9641
9642type ListDetectorsInput struct {
9643	_ struct{} `type:"structure"`
9644
9645	// You can use this parameter to indicate the maximum number of items that you
9646	// want in the response. The default value is 50. The maximum value is 50.
9647	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
9648
9649	// You can use this parameter when paginating results. Set the value of this
9650	// parameter to null on your first call to the list action. For subsequent calls
9651	// to the action, fill nextToken in the request with the value of NextToken
9652	// from the previous response to continue listing data.
9653	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
9654}
9655
9656// String returns the string representation
9657func (s ListDetectorsInput) String() string {
9658	return awsutil.Prettify(s)
9659}
9660
9661// GoString returns the string representation
9662func (s ListDetectorsInput) GoString() string {
9663	return s.String()
9664}
9665
9666// Validate inspects the fields of the type to determine if they are valid.
9667func (s *ListDetectorsInput) Validate() error {
9668	invalidParams := request.ErrInvalidParams{Context: "ListDetectorsInput"}
9669	if s.MaxResults != nil && *s.MaxResults < 1 {
9670		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9671	}
9672
9673	if invalidParams.Len() > 0 {
9674		return invalidParams
9675	}
9676	return nil
9677}
9678
9679// SetMaxResults sets the MaxResults field's value.
9680func (s *ListDetectorsInput) SetMaxResults(v int64) *ListDetectorsInput {
9681	s.MaxResults = &v
9682	return s
9683}
9684
9685// SetNextToken sets the NextToken field's value.
9686func (s *ListDetectorsInput) SetNextToken(v string) *ListDetectorsInput {
9687	s.NextToken = &v
9688	return s
9689}
9690
9691type ListDetectorsOutput struct {
9692	_ struct{} `type:"structure"`
9693
9694	// A list of detector IDs.
9695	//
9696	// DetectorIds is a required field
9697	DetectorIds []*string `locationName:"detectorIds" type:"list" required:"true"`
9698
9699	// The pagination parameter to be used on the next list operation to retrieve
9700	// more items.
9701	NextToken *string `locationName:"nextToken" type:"string"`
9702}
9703
9704// String returns the string representation
9705func (s ListDetectorsOutput) String() string {
9706	return awsutil.Prettify(s)
9707}
9708
9709// GoString returns the string representation
9710func (s ListDetectorsOutput) GoString() string {
9711	return s.String()
9712}
9713
9714// SetDetectorIds sets the DetectorIds field's value.
9715func (s *ListDetectorsOutput) SetDetectorIds(v []*string) *ListDetectorsOutput {
9716	s.DetectorIds = v
9717	return s
9718}
9719
9720// SetNextToken sets the NextToken field's value.
9721func (s *ListDetectorsOutput) SetNextToken(v string) *ListDetectorsOutput {
9722	s.NextToken = &v
9723	return s
9724}
9725
9726type ListFiltersInput struct {
9727	_ struct{} `type:"structure"`
9728
9729	// The unique ID of the detector that the filter is associated with.
9730	//
9731	// DetectorId is a required field
9732	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9733
9734	// You can use this parameter to indicate the maximum number of items that you
9735	// want in the response. The default value is 50. The maximum value is 50.
9736	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
9737
9738	// You can use this parameter when paginating results. Set the value of this
9739	// parameter to null on your first call to the list action. For subsequent calls
9740	// to the action, fill nextToken in the request with the value of NextToken
9741	// from the previous response to continue listing data.
9742	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
9743}
9744
9745// String returns the string representation
9746func (s ListFiltersInput) String() string {
9747	return awsutil.Prettify(s)
9748}
9749
9750// GoString returns the string representation
9751func (s ListFiltersInput) GoString() string {
9752	return s.String()
9753}
9754
9755// Validate inspects the fields of the type to determine if they are valid.
9756func (s *ListFiltersInput) Validate() error {
9757	invalidParams := request.ErrInvalidParams{Context: "ListFiltersInput"}
9758	if s.DetectorId == nil {
9759		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9760	}
9761	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9762		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9763	}
9764	if s.MaxResults != nil && *s.MaxResults < 1 {
9765		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9766	}
9767
9768	if invalidParams.Len() > 0 {
9769		return invalidParams
9770	}
9771	return nil
9772}
9773
9774// SetDetectorId sets the DetectorId field's value.
9775func (s *ListFiltersInput) SetDetectorId(v string) *ListFiltersInput {
9776	s.DetectorId = &v
9777	return s
9778}
9779
9780// SetMaxResults sets the MaxResults field's value.
9781func (s *ListFiltersInput) SetMaxResults(v int64) *ListFiltersInput {
9782	s.MaxResults = &v
9783	return s
9784}
9785
9786// SetNextToken sets the NextToken field's value.
9787func (s *ListFiltersInput) SetNextToken(v string) *ListFiltersInput {
9788	s.NextToken = &v
9789	return s
9790}
9791
9792type ListFiltersOutput struct {
9793	_ struct{} `type:"structure"`
9794
9795	// A list of filter names.
9796	//
9797	// FilterNames is a required field
9798	FilterNames []*string `locationName:"filterNames" type:"list" required:"true"`
9799
9800	// The pagination parameter to be used on the next list operation to retrieve
9801	// more items.
9802	NextToken *string `locationName:"nextToken" type:"string"`
9803}
9804
9805// String returns the string representation
9806func (s ListFiltersOutput) String() string {
9807	return awsutil.Prettify(s)
9808}
9809
9810// GoString returns the string representation
9811func (s ListFiltersOutput) GoString() string {
9812	return s.String()
9813}
9814
9815// SetFilterNames sets the FilterNames field's value.
9816func (s *ListFiltersOutput) SetFilterNames(v []*string) *ListFiltersOutput {
9817	s.FilterNames = v
9818	return s
9819}
9820
9821// SetNextToken sets the NextToken field's value.
9822func (s *ListFiltersOutput) SetNextToken(v string) *ListFiltersOutput {
9823	s.NextToken = &v
9824	return s
9825}
9826
9827type ListFindingsInput struct {
9828	_ struct{} `type:"structure"`
9829
9830	// The ID of the detector that specifies the GuardDuty service whose findings
9831	// you want to list.
9832	//
9833	// DetectorId is a required field
9834	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
9835
9836	// Represents the criteria used for querying findings. Valid values include:
9837	//
9838	//    * JSON field name
9839	//
9840	//    * accountId
9841	//
9842	//    * region
9843	//
9844	//    * confidence
9845	//
9846	//    * id
9847	//
9848	//    * resource.accessKeyDetails.accessKeyId
9849	//
9850	//    * resource.accessKeyDetails.principalId
9851	//
9852	//    * resource.accessKeyDetails.userName
9853	//
9854	//    * resource.accessKeyDetails.userType
9855	//
9856	//    * resource.instanceDetails.iamInstanceProfile.id
9857	//
9858	//    * resource.instanceDetails.imageId
9859	//
9860	//    * resource.instanceDetails.instanceId
9861	//
9862	//    * resource.instanceDetails.networkInterfaces.ipv6Addresses
9863	//
9864	//    * resource.instanceDetails.networkInterfaces.privateIpAddresses.privateIpAddress
9865	//
9866	//    * resource.instanceDetails.networkInterfaces.publicDnsName
9867	//
9868	//    * resource.instanceDetails.networkInterfaces.publicIp
9869	//
9870	//    * resource.instanceDetails.networkInterfaces.securityGroups.groupId
9871	//
9872	//    * resource.instanceDetails.networkInterfaces.securityGroups.groupName
9873	//
9874	//    * resource.instanceDetails.networkInterfaces.subnetId
9875	//
9876	//    * resource.instanceDetails.networkInterfaces.vpcId
9877	//
9878	//    * resource.instanceDetails.tags.key
9879	//
9880	//    * resource.instanceDetails.tags.value
9881	//
9882	//    * resource.resourceType
9883	//
9884	//    * service.action.actionType
9885	//
9886	//    * service.action.awsApiCallAction.api
9887	//
9888	//    * service.action.awsApiCallAction.callerType
9889	//
9890	//    * service.action.awsApiCallAction.remoteIpDetails.city.cityName
9891	//
9892	//    * service.action.awsApiCallAction.remoteIpDetails.country.countryName
9893	//
9894	//    * service.action.awsApiCallAction.remoteIpDetails.ipAddressV4
9895	//
9896	//    * service.action.awsApiCallAction.remoteIpDetails.organization.asn
9897	//
9898	//    * service.action.awsApiCallAction.remoteIpDetails.organization.asnOrg
9899	//
9900	//    * service.action.awsApiCallAction.serviceName
9901	//
9902	//    * service.action.dnsRequestAction.domain
9903	//
9904	//    * service.action.networkConnectionAction.blocked
9905	//
9906	//    * service.action.networkConnectionAction.connectionDirection
9907	//
9908	//    * service.action.networkConnectionAction.localPortDetails.port
9909	//
9910	//    * service.action.networkConnectionAction.protocol
9911	//
9912	//    * service.action.networkConnectionAction.remoteIpDetails.city.cityName
9913	//
9914	//    * service.action.networkConnectionAction.remoteIpDetails.country.countryName
9915	//
9916	//    * service.action.networkConnectionAction.remoteIpDetails.ipAddressV4
9917	//
9918	//    * service.action.networkConnectionAction.remoteIpDetails.organization.asn
9919	//
9920	//    * service.action.networkConnectionAction.remoteIpDetails.organization.asnOrg
9921	//
9922	//    * service.action.networkConnectionAction.remotePortDetails.port
9923	//
9924	//    * service.additionalInfo.threatListName
9925	//
9926	//    * service.archived When this attribute is set to 'true', only archived
9927	//    findings are listed. When it's set to 'false', only unarchived findings
9928	//    are listed. When this attribute is not set, all existing findings are
9929	//    listed.
9930	//
9931	//    * service.resourceRole
9932	//
9933	//    * severity
9934	//
9935	//    * type
9936	//
9937	//    * updatedAt Type: Timestamp in Unix Epoch millisecond format: 1486685375000
9938	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"`
9939
9940	// You can use this parameter to indicate the maximum number of items you want
9941	// in the response. The default value is 50. The maximum value is 50.
9942	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
9943
9944	// You can use this parameter when paginating results. Set the value of this
9945	// parameter to null on your first call to the list action. For subsequent calls
9946	// to the action, fill nextToken in the request with the value of NextToken
9947	// from the previous response to continue listing data.
9948	NextToken *string `locationName:"nextToken" type:"string"`
9949
9950	// Represents the criteria used for sorting findings.
9951	SortCriteria *SortCriteria `locationName:"sortCriteria" type:"structure"`
9952}
9953
9954// String returns the string representation
9955func (s ListFindingsInput) String() string {
9956	return awsutil.Prettify(s)
9957}
9958
9959// GoString returns the string representation
9960func (s ListFindingsInput) GoString() string {
9961	return s.String()
9962}
9963
9964// Validate inspects the fields of the type to determine if they are valid.
9965func (s *ListFindingsInput) Validate() error {
9966	invalidParams := request.ErrInvalidParams{Context: "ListFindingsInput"}
9967	if s.DetectorId == nil {
9968		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
9969	}
9970	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
9971		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
9972	}
9973	if s.MaxResults != nil && *s.MaxResults < 1 {
9974		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
9975	}
9976
9977	if invalidParams.Len() > 0 {
9978		return invalidParams
9979	}
9980	return nil
9981}
9982
9983// SetDetectorId sets the DetectorId field's value.
9984func (s *ListFindingsInput) SetDetectorId(v string) *ListFindingsInput {
9985	s.DetectorId = &v
9986	return s
9987}
9988
9989// SetFindingCriteria sets the FindingCriteria field's value.
9990func (s *ListFindingsInput) SetFindingCriteria(v *FindingCriteria) *ListFindingsInput {
9991	s.FindingCriteria = v
9992	return s
9993}
9994
9995// SetMaxResults sets the MaxResults field's value.
9996func (s *ListFindingsInput) SetMaxResults(v int64) *ListFindingsInput {
9997	s.MaxResults = &v
9998	return s
9999}
10000
10001// SetNextToken sets the NextToken field's value.
10002func (s *ListFindingsInput) SetNextToken(v string) *ListFindingsInput {
10003	s.NextToken = &v
10004	return s
10005}
10006
10007// SetSortCriteria sets the SortCriteria field's value.
10008func (s *ListFindingsInput) SetSortCriteria(v *SortCriteria) *ListFindingsInput {
10009	s.SortCriteria = v
10010	return s
10011}
10012
10013type ListFindingsOutput struct {
10014	_ struct{} `type:"structure"`
10015
10016	// The IDs of the findings that you're listing.
10017	//
10018	// FindingIds is a required field
10019	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
10020
10021	// The pagination parameter to be used on the next list operation to retrieve
10022	// more items.
10023	NextToken *string `locationName:"nextToken" type:"string"`
10024}
10025
10026// String returns the string representation
10027func (s ListFindingsOutput) String() string {
10028	return awsutil.Prettify(s)
10029}
10030
10031// GoString returns the string representation
10032func (s ListFindingsOutput) GoString() string {
10033	return s.String()
10034}
10035
10036// SetFindingIds sets the FindingIds field's value.
10037func (s *ListFindingsOutput) SetFindingIds(v []*string) *ListFindingsOutput {
10038	s.FindingIds = v
10039	return s
10040}
10041
10042// SetNextToken sets the NextToken field's value.
10043func (s *ListFindingsOutput) SetNextToken(v string) *ListFindingsOutput {
10044	s.NextToken = &v
10045	return s
10046}
10047
10048type ListIPSetsInput struct {
10049	_ struct{} `type:"structure"`
10050
10051	// The unique ID of the detector that the IPSet is associated with.
10052	//
10053	// DetectorId is a required field
10054	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
10055
10056	// You can use this parameter to indicate the maximum number of items you want
10057	// in the response. The default value is 50. The maximum value is 50.
10058	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10059
10060	// You can use this parameter when paginating results. Set the value of this
10061	// parameter to null on your first call to the list action. For subsequent calls
10062	// to the action, fill nextToken in the request with the value of NextToken
10063	// from the previous response to continue listing data.
10064	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
10065}
10066
10067// String returns the string representation
10068func (s ListIPSetsInput) String() string {
10069	return awsutil.Prettify(s)
10070}
10071
10072// GoString returns the string representation
10073func (s ListIPSetsInput) GoString() string {
10074	return s.String()
10075}
10076
10077// Validate inspects the fields of the type to determine if they are valid.
10078func (s *ListIPSetsInput) Validate() error {
10079	invalidParams := request.ErrInvalidParams{Context: "ListIPSetsInput"}
10080	if s.DetectorId == nil {
10081		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
10082	}
10083	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
10084		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
10085	}
10086	if s.MaxResults != nil && *s.MaxResults < 1 {
10087		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10088	}
10089
10090	if invalidParams.Len() > 0 {
10091		return invalidParams
10092	}
10093	return nil
10094}
10095
10096// SetDetectorId sets the DetectorId field's value.
10097func (s *ListIPSetsInput) SetDetectorId(v string) *ListIPSetsInput {
10098	s.DetectorId = &v
10099	return s
10100}
10101
10102// SetMaxResults sets the MaxResults field's value.
10103func (s *ListIPSetsInput) SetMaxResults(v int64) *ListIPSetsInput {
10104	s.MaxResults = &v
10105	return s
10106}
10107
10108// SetNextToken sets the NextToken field's value.
10109func (s *ListIPSetsInput) SetNextToken(v string) *ListIPSetsInput {
10110	s.NextToken = &v
10111	return s
10112}
10113
10114type ListIPSetsOutput struct {
10115	_ struct{} `type:"structure"`
10116
10117	// The IDs of the IPSet resources.
10118	//
10119	// IpSetIds is a required field
10120	IpSetIds []*string `locationName:"ipSetIds" type:"list" required:"true"`
10121
10122	// The pagination parameter to be used on the next list operation to retrieve
10123	// more items.
10124	NextToken *string `locationName:"nextToken" type:"string"`
10125}
10126
10127// String returns the string representation
10128func (s ListIPSetsOutput) String() string {
10129	return awsutil.Prettify(s)
10130}
10131
10132// GoString returns the string representation
10133func (s ListIPSetsOutput) GoString() string {
10134	return s.String()
10135}
10136
10137// SetIpSetIds sets the IpSetIds field's value.
10138func (s *ListIPSetsOutput) SetIpSetIds(v []*string) *ListIPSetsOutput {
10139	s.IpSetIds = v
10140	return s
10141}
10142
10143// SetNextToken sets the NextToken field's value.
10144func (s *ListIPSetsOutput) SetNextToken(v string) *ListIPSetsOutput {
10145	s.NextToken = &v
10146	return s
10147}
10148
10149type ListInvitationsInput struct {
10150	_ struct{} `type:"structure"`
10151
10152	// You can use this parameter to indicate the maximum number of items that you
10153	// want in the response. The default value is 50. The maximum value is 50.
10154	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10155
10156	// You can use this parameter when paginating results. Set the value of this
10157	// parameter to null on your first call to the list action. For subsequent calls
10158	// to the action, fill nextToken in the request with the value of NextToken
10159	// from the previous response to continue listing data.
10160	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
10161}
10162
10163// String returns the string representation
10164func (s ListInvitationsInput) String() string {
10165	return awsutil.Prettify(s)
10166}
10167
10168// GoString returns the string representation
10169func (s ListInvitationsInput) GoString() string {
10170	return s.String()
10171}
10172
10173// Validate inspects the fields of the type to determine if they are valid.
10174func (s *ListInvitationsInput) Validate() error {
10175	invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"}
10176	if s.MaxResults != nil && *s.MaxResults < 1 {
10177		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10178	}
10179
10180	if invalidParams.Len() > 0 {
10181		return invalidParams
10182	}
10183	return nil
10184}
10185
10186// SetMaxResults sets the MaxResults field's value.
10187func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput {
10188	s.MaxResults = &v
10189	return s
10190}
10191
10192// SetNextToken sets the NextToken field's value.
10193func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput {
10194	s.NextToken = &v
10195	return s
10196}
10197
10198type ListInvitationsOutput struct {
10199	_ struct{} `type:"structure"`
10200
10201	// A list of invitation descriptions.
10202	Invitations []*Invitation `locationName:"invitations" type:"list"`
10203
10204	// The pagination parameter to be used on the next list operation to retrieve
10205	// more items.
10206	NextToken *string `locationName:"nextToken" type:"string"`
10207}
10208
10209// String returns the string representation
10210func (s ListInvitationsOutput) String() string {
10211	return awsutil.Prettify(s)
10212}
10213
10214// GoString returns the string representation
10215func (s ListInvitationsOutput) GoString() string {
10216	return s.String()
10217}
10218
10219// SetInvitations sets the Invitations field's value.
10220func (s *ListInvitationsOutput) SetInvitations(v []*Invitation) *ListInvitationsOutput {
10221	s.Invitations = v
10222	return s
10223}
10224
10225// SetNextToken sets the NextToken field's value.
10226func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput {
10227	s.NextToken = &v
10228	return s
10229}
10230
10231type ListMembersInput struct {
10232	_ struct{} `type:"structure"`
10233
10234	// The unique ID of the detector the member is associated with.
10235	//
10236	// DetectorId is a required field
10237	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
10238
10239	// You can use this parameter to indicate the maximum number of items you want
10240	// in the response. The default value is 50. The maximum value is 50.
10241	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10242
10243	// You can use this parameter when paginating results. Set the value of this
10244	// parameter to null on your first call to the list action. For subsequent calls
10245	// to the action, fill nextToken in the request with the value of NextToken
10246	// from the previous response to continue listing data.
10247	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
10248
10249	// Specifies whether to only return associated members or to return all members
10250	// (including members who haven't been invited yet or have been disassociated).
10251	OnlyAssociated *string `location:"querystring" locationName:"onlyAssociated" type:"string"`
10252}
10253
10254// String returns the string representation
10255func (s ListMembersInput) String() string {
10256	return awsutil.Prettify(s)
10257}
10258
10259// GoString returns the string representation
10260func (s ListMembersInput) GoString() string {
10261	return s.String()
10262}
10263
10264// Validate inspects the fields of the type to determine if they are valid.
10265func (s *ListMembersInput) Validate() error {
10266	invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"}
10267	if s.DetectorId == nil {
10268		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
10269	}
10270	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
10271		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
10272	}
10273	if s.MaxResults != nil && *s.MaxResults < 1 {
10274		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10275	}
10276
10277	if invalidParams.Len() > 0 {
10278		return invalidParams
10279	}
10280	return nil
10281}
10282
10283// SetDetectorId sets the DetectorId field's value.
10284func (s *ListMembersInput) SetDetectorId(v string) *ListMembersInput {
10285	s.DetectorId = &v
10286	return s
10287}
10288
10289// SetMaxResults sets the MaxResults field's value.
10290func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput {
10291	s.MaxResults = &v
10292	return s
10293}
10294
10295// SetNextToken sets the NextToken field's value.
10296func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput {
10297	s.NextToken = &v
10298	return s
10299}
10300
10301// SetOnlyAssociated sets the OnlyAssociated field's value.
10302func (s *ListMembersInput) SetOnlyAssociated(v string) *ListMembersInput {
10303	s.OnlyAssociated = &v
10304	return s
10305}
10306
10307type ListMembersOutput struct {
10308	_ struct{} `type:"structure"`
10309
10310	// A list of members.
10311	Members []*Member `locationName:"members" type:"list"`
10312
10313	// The pagination parameter to be used on the next list operation to retrieve
10314	// more items.
10315	NextToken *string `locationName:"nextToken" type:"string"`
10316}
10317
10318// String returns the string representation
10319func (s ListMembersOutput) String() string {
10320	return awsutil.Prettify(s)
10321}
10322
10323// GoString returns the string representation
10324func (s ListMembersOutput) GoString() string {
10325	return s.String()
10326}
10327
10328// SetMembers sets the Members field's value.
10329func (s *ListMembersOutput) SetMembers(v []*Member) *ListMembersOutput {
10330	s.Members = v
10331	return s
10332}
10333
10334// SetNextToken sets the NextToken field's value.
10335func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput {
10336	s.NextToken = &v
10337	return s
10338}
10339
10340type ListOrganizationAdminAccountsInput struct {
10341	_ struct{} `type:"structure"`
10342
10343	// The maximum number of results to return in the response.
10344	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10345
10346	// A token to use for paginating results that are returned in the response.
10347	// Set the value of this parameter to null for the first request to a list action.
10348	// For subsequent calls, use the NextToken value returned from the previous
10349	// request to continue listing results after the first page.
10350	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
10351}
10352
10353// String returns the string representation
10354func (s ListOrganizationAdminAccountsInput) String() string {
10355	return awsutil.Prettify(s)
10356}
10357
10358// GoString returns the string representation
10359func (s ListOrganizationAdminAccountsInput) GoString() string {
10360	return s.String()
10361}
10362
10363// Validate inspects the fields of the type to determine if they are valid.
10364func (s *ListOrganizationAdminAccountsInput) Validate() error {
10365	invalidParams := request.ErrInvalidParams{Context: "ListOrganizationAdminAccountsInput"}
10366	if s.MaxResults != nil && *s.MaxResults < 1 {
10367		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10368	}
10369
10370	if invalidParams.Len() > 0 {
10371		return invalidParams
10372	}
10373	return nil
10374}
10375
10376// SetMaxResults sets the MaxResults field's value.
10377func (s *ListOrganizationAdminAccountsInput) SetMaxResults(v int64) *ListOrganizationAdminAccountsInput {
10378	s.MaxResults = &v
10379	return s
10380}
10381
10382// SetNextToken sets the NextToken field's value.
10383func (s *ListOrganizationAdminAccountsInput) SetNextToken(v string) *ListOrganizationAdminAccountsInput {
10384	s.NextToken = &v
10385	return s
10386}
10387
10388type ListOrganizationAdminAccountsOutput struct {
10389	_ struct{} `type:"structure"`
10390
10391	// An AdminAccounts object that includes a list of accounts configured as GuardDuty
10392	// delegated administrators.
10393	AdminAccounts []*AdminAccount `locationName:"adminAccounts" type:"list"`
10394
10395	// The pagination parameter to be used on the next list operation to retrieve
10396	// more items.
10397	NextToken *string `locationName:"nextToken" type:"string"`
10398}
10399
10400// String returns the string representation
10401func (s ListOrganizationAdminAccountsOutput) String() string {
10402	return awsutil.Prettify(s)
10403}
10404
10405// GoString returns the string representation
10406func (s ListOrganizationAdminAccountsOutput) GoString() string {
10407	return s.String()
10408}
10409
10410// SetAdminAccounts sets the AdminAccounts field's value.
10411func (s *ListOrganizationAdminAccountsOutput) SetAdminAccounts(v []*AdminAccount) *ListOrganizationAdminAccountsOutput {
10412	s.AdminAccounts = v
10413	return s
10414}
10415
10416// SetNextToken sets the NextToken field's value.
10417func (s *ListOrganizationAdminAccountsOutput) SetNextToken(v string) *ListOrganizationAdminAccountsOutput {
10418	s.NextToken = &v
10419	return s
10420}
10421
10422type ListPublishingDestinationsInput struct {
10423	_ struct{} `type:"structure"`
10424
10425	// The ID of the detector to retrieve publishing destinations for.
10426	//
10427	// DetectorId is a required field
10428	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
10429
10430	// The maximum number of results to return in the response.
10431	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10432
10433	// A token to use for paginating results that are returned in the response.
10434	// Set the value of this parameter to null for the first request to a list action.
10435	// For subsequent calls, use the NextToken value returned from the previous
10436	// request to continue listing results after the first page.
10437	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
10438}
10439
10440// String returns the string representation
10441func (s ListPublishingDestinationsInput) String() string {
10442	return awsutil.Prettify(s)
10443}
10444
10445// GoString returns the string representation
10446func (s ListPublishingDestinationsInput) GoString() string {
10447	return s.String()
10448}
10449
10450// Validate inspects the fields of the type to determine if they are valid.
10451func (s *ListPublishingDestinationsInput) Validate() error {
10452	invalidParams := request.ErrInvalidParams{Context: "ListPublishingDestinationsInput"}
10453	if s.DetectorId == nil {
10454		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
10455	}
10456	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
10457		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
10458	}
10459	if s.MaxResults != nil && *s.MaxResults < 1 {
10460		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10461	}
10462
10463	if invalidParams.Len() > 0 {
10464		return invalidParams
10465	}
10466	return nil
10467}
10468
10469// SetDetectorId sets the DetectorId field's value.
10470func (s *ListPublishingDestinationsInput) SetDetectorId(v string) *ListPublishingDestinationsInput {
10471	s.DetectorId = &v
10472	return s
10473}
10474
10475// SetMaxResults sets the MaxResults field's value.
10476func (s *ListPublishingDestinationsInput) SetMaxResults(v int64) *ListPublishingDestinationsInput {
10477	s.MaxResults = &v
10478	return s
10479}
10480
10481// SetNextToken sets the NextToken field's value.
10482func (s *ListPublishingDestinationsInput) SetNextToken(v string) *ListPublishingDestinationsInput {
10483	s.NextToken = &v
10484	return s
10485}
10486
10487type ListPublishingDestinationsOutput struct {
10488	_ struct{} `type:"structure"`
10489
10490	// A Destinations object that includes information about each publishing destination
10491	// returned.
10492	//
10493	// Destinations is a required field
10494	Destinations []*Destination `locationName:"destinations" type:"list" required:"true"`
10495
10496	// A token to use for paginating results that are returned in the response.
10497	// Set the value of this parameter to null for the first request to a list action.
10498	// For subsequent calls, use the NextToken value returned from the previous
10499	// request to continue listing results after the first page.
10500	NextToken *string `locationName:"nextToken" type:"string"`
10501}
10502
10503// String returns the string representation
10504func (s ListPublishingDestinationsOutput) String() string {
10505	return awsutil.Prettify(s)
10506}
10507
10508// GoString returns the string representation
10509func (s ListPublishingDestinationsOutput) GoString() string {
10510	return s.String()
10511}
10512
10513// SetDestinations sets the Destinations field's value.
10514func (s *ListPublishingDestinationsOutput) SetDestinations(v []*Destination) *ListPublishingDestinationsOutput {
10515	s.Destinations = v
10516	return s
10517}
10518
10519// SetNextToken sets the NextToken field's value.
10520func (s *ListPublishingDestinationsOutput) SetNextToken(v string) *ListPublishingDestinationsOutput {
10521	s.NextToken = &v
10522	return s
10523}
10524
10525type ListTagsForResourceInput struct {
10526	_ struct{} `type:"structure"`
10527
10528	// The Amazon Resource Name (ARN) for the given GuardDuty resource.
10529	//
10530	// ResourceArn is a required field
10531	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
10532}
10533
10534// String returns the string representation
10535func (s ListTagsForResourceInput) String() string {
10536	return awsutil.Prettify(s)
10537}
10538
10539// GoString returns the string representation
10540func (s ListTagsForResourceInput) GoString() string {
10541	return s.String()
10542}
10543
10544// Validate inspects the fields of the type to determine if they are valid.
10545func (s *ListTagsForResourceInput) Validate() error {
10546	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
10547	if s.ResourceArn == nil {
10548		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
10549	}
10550	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
10551		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
10552	}
10553
10554	if invalidParams.Len() > 0 {
10555		return invalidParams
10556	}
10557	return nil
10558}
10559
10560// SetResourceArn sets the ResourceArn field's value.
10561func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
10562	s.ResourceArn = &v
10563	return s
10564}
10565
10566type ListTagsForResourceOutput struct {
10567	_ struct{} `type:"structure"`
10568
10569	// The tags associated with the resource.
10570	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
10571}
10572
10573// String returns the string representation
10574func (s ListTagsForResourceOutput) String() string {
10575	return awsutil.Prettify(s)
10576}
10577
10578// GoString returns the string representation
10579func (s ListTagsForResourceOutput) GoString() string {
10580	return s.String()
10581}
10582
10583// SetTags sets the Tags field's value.
10584func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
10585	s.Tags = v
10586	return s
10587}
10588
10589type ListThreatIntelSetsInput struct {
10590	_ struct{} `type:"structure"`
10591
10592	// The unique ID of the detector that the threatIntelSet is associated with.
10593	//
10594	// DetectorId is a required field
10595	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
10596
10597	// You can use this parameter to indicate the maximum number of items that you
10598	// want in the response. The default value is 50. The maximum value is 50.
10599	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
10600
10601	// You can use this parameter to paginate results in the response. Set the value
10602	// of this parameter to null on your first call to the list action. For subsequent
10603	// calls to the action, fill nextToken in the request with the value of NextToken
10604	// from the previous response to continue listing data.
10605	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
10606}
10607
10608// String returns the string representation
10609func (s ListThreatIntelSetsInput) String() string {
10610	return awsutil.Prettify(s)
10611}
10612
10613// GoString returns the string representation
10614func (s ListThreatIntelSetsInput) GoString() string {
10615	return s.String()
10616}
10617
10618// Validate inspects the fields of the type to determine if they are valid.
10619func (s *ListThreatIntelSetsInput) Validate() error {
10620	invalidParams := request.ErrInvalidParams{Context: "ListThreatIntelSetsInput"}
10621	if s.DetectorId == nil {
10622		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
10623	}
10624	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
10625		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
10626	}
10627	if s.MaxResults != nil && *s.MaxResults < 1 {
10628		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
10629	}
10630
10631	if invalidParams.Len() > 0 {
10632		return invalidParams
10633	}
10634	return nil
10635}
10636
10637// SetDetectorId sets the DetectorId field's value.
10638func (s *ListThreatIntelSetsInput) SetDetectorId(v string) *ListThreatIntelSetsInput {
10639	s.DetectorId = &v
10640	return s
10641}
10642
10643// SetMaxResults sets the MaxResults field's value.
10644func (s *ListThreatIntelSetsInput) SetMaxResults(v int64) *ListThreatIntelSetsInput {
10645	s.MaxResults = &v
10646	return s
10647}
10648
10649// SetNextToken sets the NextToken field's value.
10650func (s *ListThreatIntelSetsInput) SetNextToken(v string) *ListThreatIntelSetsInput {
10651	s.NextToken = &v
10652	return s
10653}
10654
10655type ListThreatIntelSetsOutput struct {
10656	_ struct{} `type:"structure"`
10657
10658	// The pagination parameter to be used on the next list operation to retrieve
10659	// more items.
10660	NextToken *string `locationName:"nextToken" type:"string"`
10661
10662	// The IDs of the ThreatIntelSet resources.
10663	//
10664	// ThreatIntelSetIds is a required field
10665	ThreatIntelSetIds []*string `locationName:"threatIntelSetIds" type:"list" required:"true"`
10666}
10667
10668// String returns the string representation
10669func (s ListThreatIntelSetsOutput) String() string {
10670	return awsutil.Prettify(s)
10671}
10672
10673// GoString returns the string representation
10674func (s ListThreatIntelSetsOutput) GoString() string {
10675	return s.String()
10676}
10677
10678// SetNextToken sets the NextToken field's value.
10679func (s *ListThreatIntelSetsOutput) SetNextToken(v string) *ListThreatIntelSetsOutput {
10680	s.NextToken = &v
10681	return s
10682}
10683
10684// SetThreatIntelSetIds sets the ThreatIntelSetIds field's value.
10685func (s *ListThreatIntelSetsOutput) SetThreatIntelSetIds(v []*string) *ListThreatIntelSetsOutput {
10686	s.ThreatIntelSetIds = v
10687	return s
10688}
10689
10690// Contains information about the local IP address of the connection.
10691type LocalIpDetails struct {
10692	_ struct{} `type:"structure"`
10693
10694	// The IPv4 local address of the connection.
10695	IpAddressV4 *string `locationName:"ipAddressV4" type:"string"`
10696}
10697
10698// String returns the string representation
10699func (s LocalIpDetails) String() string {
10700	return awsutil.Prettify(s)
10701}
10702
10703// GoString returns the string representation
10704func (s LocalIpDetails) GoString() string {
10705	return s.String()
10706}
10707
10708// SetIpAddressV4 sets the IpAddressV4 field's value.
10709func (s *LocalIpDetails) SetIpAddressV4(v string) *LocalIpDetails {
10710	s.IpAddressV4 = &v
10711	return s
10712}
10713
10714// Contains information about the port for the local connection.
10715type LocalPortDetails struct {
10716	_ struct{} `type:"structure"`
10717
10718	// The port number of the local connection.
10719	Port *int64 `locationName:"port" type:"integer"`
10720
10721	// The port name of the local connection.
10722	PortName *string `locationName:"portName" type:"string"`
10723}
10724
10725// String returns the string representation
10726func (s LocalPortDetails) String() string {
10727	return awsutil.Prettify(s)
10728}
10729
10730// GoString returns the string representation
10731func (s LocalPortDetails) GoString() string {
10732	return s.String()
10733}
10734
10735// SetPort sets the Port field's value.
10736func (s *LocalPortDetails) SetPort(v int64) *LocalPortDetails {
10737	s.Port = &v
10738	return s
10739}
10740
10741// SetPortName sets the PortName field's value.
10742func (s *LocalPortDetails) SetPortName(v string) *LocalPortDetails {
10743	s.PortName = &v
10744	return s
10745}
10746
10747// Contains information about the master account and invitation.
10748type Master struct {
10749	_ struct{} `type:"structure"`
10750
10751	// The ID of the account used as the master account.
10752	AccountId *string `locationName:"accountId" min:"12" type:"string"`
10753
10754	// The value used to validate the master account to the member account.
10755	InvitationId *string `locationName:"invitationId" type:"string"`
10756
10757	// The timestamp when the invitation was sent.
10758	InvitedAt *string `locationName:"invitedAt" type:"string"`
10759
10760	// The status of the relationship between the master and member accounts.
10761	RelationshipStatus *string `locationName:"relationshipStatus" type:"string"`
10762}
10763
10764// String returns the string representation
10765func (s Master) String() string {
10766	return awsutil.Prettify(s)
10767}
10768
10769// GoString returns the string representation
10770func (s Master) GoString() string {
10771	return s.String()
10772}
10773
10774// SetAccountId sets the AccountId field's value.
10775func (s *Master) SetAccountId(v string) *Master {
10776	s.AccountId = &v
10777	return s
10778}
10779
10780// SetInvitationId sets the InvitationId field's value.
10781func (s *Master) SetInvitationId(v string) *Master {
10782	s.InvitationId = &v
10783	return s
10784}
10785
10786// SetInvitedAt sets the InvitedAt field's value.
10787func (s *Master) SetInvitedAt(v string) *Master {
10788	s.InvitedAt = &v
10789	return s
10790}
10791
10792// SetRelationshipStatus sets the RelationshipStatus field's value.
10793func (s *Master) SetRelationshipStatus(v string) *Master {
10794	s.RelationshipStatus = &v
10795	return s
10796}
10797
10798// Contains information about the member account.
10799type Member struct {
10800	_ struct{} `type:"structure"`
10801
10802	// The ID of the member account.
10803	//
10804	// AccountId is a required field
10805	AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"`
10806
10807	// The detector ID of the member account.
10808	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
10809
10810	// The email address of the member account.
10811	//
10812	// Email is a required field
10813	Email *string `locationName:"email" min:"1" type:"string" required:"true"`
10814
10815	// The timestamp when the invitation was sent.
10816	InvitedAt *string `locationName:"invitedAt" type:"string"`
10817
10818	// The master account ID.
10819	//
10820	// MasterId is a required field
10821	MasterId *string `locationName:"masterId" type:"string" required:"true"`
10822
10823	// The status of the relationship between the member and the master.
10824	//
10825	// RelationshipStatus is a required field
10826	RelationshipStatus *string `locationName:"relationshipStatus" type:"string" required:"true"`
10827
10828	// The last-updated timestamp of the member.
10829	//
10830	// UpdatedAt is a required field
10831	UpdatedAt *string `locationName:"updatedAt" type:"string" required:"true"`
10832}
10833
10834// String returns the string representation
10835func (s Member) String() string {
10836	return awsutil.Prettify(s)
10837}
10838
10839// GoString returns the string representation
10840func (s Member) GoString() string {
10841	return s.String()
10842}
10843
10844// SetAccountId sets the AccountId field's value.
10845func (s *Member) SetAccountId(v string) *Member {
10846	s.AccountId = &v
10847	return s
10848}
10849
10850// SetDetectorId sets the DetectorId field's value.
10851func (s *Member) SetDetectorId(v string) *Member {
10852	s.DetectorId = &v
10853	return s
10854}
10855
10856// SetEmail sets the Email field's value.
10857func (s *Member) SetEmail(v string) *Member {
10858	s.Email = &v
10859	return s
10860}
10861
10862// SetInvitedAt sets the InvitedAt field's value.
10863func (s *Member) SetInvitedAt(v string) *Member {
10864	s.InvitedAt = &v
10865	return s
10866}
10867
10868// SetMasterId sets the MasterId field's value.
10869func (s *Member) SetMasterId(v string) *Member {
10870	s.MasterId = &v
10871	return s
10872}
10873
10874// SetRelationshipStatus sets the RelationshipStatus field's value.
10875func (s *Member) SetRelationshipStatus(v string) *Member {
10876	s.RelationshipStatus = &v
10877	return s
10878}
10879
10880// SetUpdatedAt sets the UpdatedAt field's value.
10881func (s *Member) SetUpdatedAt(v string) *Member {
10882	s.UpdatedAt = &v
10883	return s
10884}
10885
10886// Contains information about the NETWORK_CONNECTION action described in the
10887// finding.
10888type NetworkConnectionAction struct {
10889	_ struct{} `type:"structure"`
10890
10891	// Indicates whether EC2 blocked the network connection to your instance.
10892	Blocked *bool `locationName:"blocked" type:"boolean"`
10893
10894	// The network connection direction.
10895	ConnectionDirection *string `locationName:"connectionDirection" type:"string"`
10896
10897	// The local IP information of the connection.
10898	LocalIpDetails *LocalIpDetails `locationName:"localIpDetails" type:"structure"`
10899
10900	// The local port information of the connection.
10901	LocalPortDetails *LocalPortDetails `locationName:"localPortDetails" type:"structure"`
10902
10903	// The network connection protocol.
10904	Protocol *string `locationName:"protocol" type:"string"`
10905
10906	// The remote IP information of the connection.
10907	RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"`
10908
10909	// The remote port information of the connection.
10910	RemotePortDetails *RemotePortDetails `locationName:"remotePortDetails" type:"structure"`
10911}
10912
10913// String returns the string representation
10914func (s NetworkConnectionAction) String() string {
10915	return awsutil.Prettify(s)
10916}
10917
10918// GoString returns the string representation
10919func (s NetworkConnectionAction) GoString() string {
10920	return s.String()
10921}
10922
10923// SetBlocked sets the Blocked field's value.
10924func (s *NetworkConnectionAction) SetBlocked(v bool) *NetworkConnectionAction {
10925	s.Blocked = &v
10926	return s
10927}
10928
10929// SetConnectionDirection sets the ConnectionDirection field's value.
10930func (s *NetworkConnectionAction) SetConnectionDirection(v string) *NetworkConnectionAction {
10931	s.ConnectionDirection = &v
10932	return s
10933}
10934
10935// SetLocalIpDetails sets the LocalIpDetails field's value.
10936func (s *NetworkConnectionAction) SetLocalIpDetails(v *LocalIpDetails) *NetworkConnectionAction {
10937	s.LocalIpDetails = v
10938	return s
10939}
10940
10941// SetLocalPortDetails sets the LocalPortDetails field's value.
10942func (s *NetworkConnectionAction) SetLocalPortDetails(v *LocalPortDetails) *NetworkConnectionAction {
10943	s.LocalPortDetails = v
10944	return s
10945}
10946
10947// SetProtocol sets the Protocol field's value.
10948func (s *NetworkConnectionAction) SetProtocol(v string) *NetworkConnectionAction {
10949	s.Protocol = &v
10950	return s
10951}
10952
10953// SetRemoteIpDetails sets the RemoteIpDetails field's value.
10954func (s *NetworkConnectionAction) SetRemoteIpDetails(v *RemoteIpDetails) *NetworkConnectionAction {
10955	s.RemoteIpDetails = v
10956	return s
10957}
10958
10959// SetRemotePortDetails sets the RemotePortDetails field's value.
10960func (s *NetworkConnectionAction) SetRemotePortDetails(v *RemotePortDetails) *NetworkConnectionAction {
10961	s.RemotePortDetails = v
10962	return s
10963}
10964
10965// Contains information about the elastic network interface of the EC2 instance.
10966type NetworkInterface struct {
10967	_ struct{} `type:"structure"`
10968
10969	// A list of IPv6 addresses for the EC2 instance.
10970	Ipv6Addresses []*string `locationName:"ipv6Addresses" type:"list"`
10971
10972	// The ID of the network interface.
10973	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
10974
10975	// The private DNS name of the EC2 instance.
10976	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
10977
10978	// The private IP address of the EC2 instance.
10979	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
10980
10981	// Other private IP address information of the EC2 instance.
10982	PrivateIpAddresses []*PrivateIpAddressDetails `locationName:"privateIpAddresses" type:"list"`
10983
10984	// The public DNS name of the EC2 instance.
10985	PublicDnsName *string `locationName:"publicDnsName" type:"string"`
10986
10987	// The public IP address of the EC2 instance.
10988	PublicIp *string `locationName:"publicIp" type:"string"`
10989
10990	// The security groups associated with the EC2 instance.
10991	SecurityGroups []*SecurityGroup `locationName:"securityGroups" type:"list"`
10992
10993	// The subnet ID of the EC2 instance.
10994	SubnetId *string `locationName:"subnetId" type:"string"`
10995
10996	// The VPC ID of the EC2 instance.
10997	VpcId *string `locationName:"vpcId" type:"string"`
10998}
10999
11000// String returns the string representation
11001func (s NetworkInterface) String() string {
11002	return awsutil.Prettify(s)
11003}
11004
11005// GoString returns the string representation
11006func (s NetworkInterface) GoString() string {
11007	return s.String()
11008}
11009
11010// SetIpv6Addresses sets the Ipv6Addresses field's value.
11011func (s *NetworkInterface) SetIpv6Addresses(v []*string) *NetworkInterface {
11012	s.Ipv6Addresses = v
11013	return s
11014}
11015
11016// SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
11017func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
11018	s.NetworkInterfaceId = &v
11019	return s
11020}
11021
11022// SetPrivateDnsName sets the PrivateDnsName field's value.
11023func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
11024	s.PrivateDnsName = &v
11025	return s
11026}
11027
11028// SetPrivateIpAddress sets the PrivateIpAddress field's value.
11029func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
11030	s.PrivateIpAddress = &v
11031	return s
11032}
11033
11034// SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
11035func (s *NetworkInterface) SetPrivateIpAddresses(v []*PrivateIpAddressDetails) *NetworkInterface {
11036	s.PrivateIpAddresses = v
11037	return s
11038}
11039
11040// SetPublicDnsName sets the PublicDnsName field's value.
11041func (s *NetworkInterface) SetPublicDnsName(v string) *NetworkInterface {
11042	s.PublicDnsName = &v
11043	return s
11044}
11045
11046// SetPublicIp sets the PublicIp field's value.
11047func (s *NetworkInterface) SetPublicIp(v string) *NetworkInterface {
11048	s.PublicIp = &v
11049	return s
11050}
11051
11052// SetSecurityGroups sets the SecurityGroups field's value.
11053func (s *NetworkInterface) SetSecurityGroups(v []*SecurityGroup) *NetworkInterface {
11054	s.SecurityGroups = v
11055	return s
11056}
11057
11058// SetSubnetId sets the SubnetId field's value.
11059func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
11060	s.SubnetId = &v
11061	return s
11062}
11063
11064// SetVpcId sets the VpcId field's value.
11065func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
11066	s.VpcId = &v
11067	return s
11068}
11069
11070// Contains information about the ISP organization of the remote IP address.
11071type Organization struct {
11072	_ struct{} `type:"structure"`
11073
11074	// The Autonomous System Number (ASN) of the internet provider of the remote
11075	// IP address.
11076	Asn *string `locationName:"asn" type:"string"`
11077
11078	// The organization that registered this ASN.
11079	AsnOrg *string `locationName:"asnOrg" type:"string"`
11080
11081	// The ISP information for the internet provider.
11082	Isp *string `locationName:"isp" type:"string"`
11083
11084	// The name of the internet provider.
11085	Org *string `locationName:"org" type:"string"`
11086}
11087
11088// String returns the string representation
11089func (s Organization) String() string {
11090	return awsutil.Prettify(s)
11091}
11092
11093// GoString returns the string representation
11094func (s Organization) GoString() string {
11095	return s.String()
11096}
11097
11098// SetAsn sets the Asn field's value.
11099func (s *Organization) SetAsn(v string) *Organization {
11100	s.Asn = &v
11101	return s
11102}
11103
11104// SetAsnOrg sets the AsnOrg field's value.
11105func (s *Organization) SetAsnOrg(v string) *Organization {
11106	s.AsnOrg = &v
11107	return s
11108}
11109
11110// SetIsp sets the Isp field's value.
11111func (s *Organization) SetIsp(v string) *Organization {
11112	s.Isp = &v
11113	return s
11114}
11115
11116// SetOrg sets the Org field's value.
11117func (s *Organization) SetOrg(v string) *Organization {
11118	s.Org = &v
11119	return s
11120}
11121
11122// Contains information on the owner of the bucket.
11123type Owner struct {
11124	_ struct{} `type:"structure"`
11125
11126	// The canonical user ID of the bucket owner. For information about locating
11127	// your canonical user ID see Finding Your Account Canonical User ID. (https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId)
11128	Id *string `locationName:"id" type:"string"`
11129}
11130
11131// String returns the string representation
11132func (s Owner) String() string {
11133	return awsutil.Prettify(s)
11134}
11135
11136// GoString returns the string representation
11137func (s Owner) GoString() string {
11138	return s.String()
11139}
11140
11141// SetId sets the Id field's value.
11142func (s *Owner) SetId(v string) *Owner {
11143	s.Id = &v
11144	return s
11145}
11146
11147// Contains information about how permissions are configured for the S3 bucket.
11148type PermissionConfiguration struct {
11149	_ struct{} `type:"structure"`
11150
11151	// Contains information about the account level permissions on the S3 bucket.
11152	AccountLevelPermissions *AccountLevelPermissions `locationName:"accountLevelPermissions" type:"structure"`
11153
11154	// Contains information about the bucket level permissions for the S3 bucket.
11155	BucketLevelPermissions *BucketLevelPermissions `locationName:"bucketLevelPermissions" type:"structure"`
11156}
11157
11158// String returns the string representation
11159func (s PermissionConfiguration) String() string {
11160	return awsutil.Prettify(s)
11161}
11162
11163// GoString returns the string representation
11164func (s PermissionConfiguration) GoString() string {
11165	return s.String()
11166}
11167
11168// SetAccountLevelPermissions sets the AccountLevelPermissions field's value.
11169func (s *PermissionConfiguration) SetAccountLevelPermissions(v *AccountLevelPermissions) *PermissionConfiguration {
11170	s.AccountLevelPermissions = v
11171	return s
11172}
11173
11174// SetBucketLevelPermissions sets the BucketLevelPermissions field's value.
11175func (s *PermissionConfiguration) SetBucketLevelPermissions(v *BucketLevelPermissions) *PermissionConfiguration {
11176	s.BucketLevelPermissions = v
11177	return s
11178}
11179
11180// Contains information about the PORT_PROBE action described in the finding.
11181type PortProbeAction struct {
11182	_ struct{} `type:"structure"`
11183
11184	// Indicates whether EC2 blocked the port probe to the instance, such as with
11185	// an ACL.
11186	Blocked *bool `locationName:"blocked" type:"boolean"`
11187
11188	// A list of objects related to port probe details.
11189	PortProbeDetails []*PortProbeDetail `locationName:"portProbeDetails" type:"list"`
11190}
11191
11192// String returns the string representation
11193func (s PortProbeAction) String() string {
11194	return awsutil.Prettify(s)
11195}
11196
11197// GoString returns the string representation
11198func (s PortProbeAction) GoString() string {
11199	return s.String()
11200}
11201
11202// SetBlocked sets the Blocked field's value.
11203func (s *PortProbeAction) SetBlocked(v bool) *PortProbeAction {
11204	s.Blocked = &v
11205	return s
11206}
11207
11208// SetPortProbeDetails sets the PortProbeDetails field's value.
11209func (s *PortProbeAction) SetPortProbeDetails(v []*PortProbeDetail) *PortProbeAction {
11210	s.PortProbeDetails = v
11211	return s
11212}
11213
11214// Contains information about the port probe details.
11215type PortProbeDetail struct {
11216	_ struct{} `type:"structure"`
11217
11218	// The local IP information of the connection.
11219	LocalIpDetails *LocalIpDetails `locationName:"localIpDetails" type:"structure"`
11220
11221	// The local port information of the connection.
11222	LocalPortDetails *LocalPortDetails `locationName:"localPortDetails" type:"structure"`
11223
11224	// The remote IP information of the connection.
11225	RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"`
11226}
11227
11228// String returns the string representation
11229func (s PortProbeDetail) String() string {
11230	return awsutil.Prettify(s)
11231}
11232
11233// GoString returns the string representation
11234func (s PortProbeDetail) GoString() string {
11235	return s.String()
11236}
11237
11238// SetLocalIpDetails sets the LocalIpDetails field's value.
11239func (s *PortProbeDetail) SetLocalIpDetails(v *LocalIpDetails) *PortProbeDetail {
11240	s.LocalIpDetails = v
11241	return s
11242}
11243
11244// SetLocalPortDetails sets the LocalPortDetails field's value.
11245func (s *PortProbeDetail) SetLocalPortDetails(v *LocalPortDetails) *PortProbeDetail {
11246	s.LocalPortDetails = v
11247	return s
11248}
11249
11250// SetRemoteIpDetails sets the RemoteIpDetails field's value.
11251func (s *PortProbeDetail) SetRemoteIpDetails(v *RemoteIpDetails) *PortProbeDetail {
11252	s.RemoteIpDetails = v
11253	return s
11254}
11255
11256// Contains other private IP address information of the EC2 instance.
11257type PrivateIpAddressDetails struct {
11258	_ struct{} `type:"structure"`
11259
11260	// The private DNS name of the EC2 instance.
11261	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
11262
11263	// The private IP address of the EC2 instance.
11264	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
11265}
11266
11267// String returns the string representation
11268func (s PrivateIpAddressDetails) String() string {
11269	return awsutil.Prettify(s)
11270}
11271
11272// GoString returns the string representation
11273func (s PrivateIpAddressDetails) GoString() string {
11274	return s.String()
11275}
11276
11277// SetPrivateDnsName sets the PrivateDnsName field's value.
11278func (s *PrivateIpAddressDetails) SetPrivateDnsName(v string) *PrivateIpAddressDetails {
11279	s.PrivateDnsName = &v
11280	return s
11281}
11282
11283// SetPrivateIpAddress sets the PrivateIpAddress field's value.
11284func (s *PrivateIpAddressDetails) SetPrivateIpAddress(v string) *PrivateIpAddressDetails {
11285	s.PrivateIpAddress = &v
11286	return s
11287}
11288
11289// Contains information about the product code for the EC2 instance.
11290type ProductCode struct {
11291	_ struct{} `type:"structure"`
11292
11293	// The product code information.
11294	Code *string `locationName:"code" type:"string"`
11295
11296	// The product code type.
11297	ProductType *string `locationName:"productType" type:"string"`
11298}
11299
11300// String returns the string representation
11301func (s ProductCode) String() string {
11302	return awsutil.Prettify(s)
11303}
11304
11305// GoString returns the string representation
11306func (s ProductCode) GoString() string {
11307	return s.String()
11308}
11309
11310// SetCode sets the Code field's value.
11311func (s *ProductCode) SetCode(v string) *ProductCode {
11312	s.Code = &v
11313	return s
11314}
11315
11316// SetProductType sets the ProductType field's value.
11317func (s *ProductCode) SetProductType(v string) *ProductCode {
11318	s.ProductType = &v
11319	return s
11320}
11321
11322// Describes the public access policies that apply to the S3 bucket.
11323type PublicAccess struct {
11324	_ struct{} `type:"structure"`
11325
11326	// Describes the effective permission on this bucket after factoring all attached
11327	// policies.
11328	EffectivePermission *string `locationName:"effectivePermission" type:"string"`
11329
11330	// Contains information about how permissions are configured for the S3 bucket.
11331	PermissionConfiguration *PermissionConfiguration `locationName:"permissionConfiguration" type:"structure"`
11332}
11333
11334// String returns the string representation
11335func (s PublicAccess) String() string {
11336	return awsutil.Prettify(s)
11337}
11338
11339// GoString returns the string representation
11340func (s PublicAccess) GoString() string {
11341	return s.String()
11342}
11343
11344// SetEffectivePermission sets the EffectivePermission field's value.
11345func (s *PublicAccess) SetEffectivePermission(v string) *PublicAccess {
11346	s.EffectivePermission = &v
11347	return s
11348}
11349
11350// SetPermissionConfiguration sets the PermissionConfiguration field's value.
11351func (s *PublicAccess) SetPermissionConfiguration(v *PermissionConfiguration) *PublicAccess {
11352	s.PermissionConfiguration = v
11353	return s
11354}
11355
11356// Contains information about the remote IP address of the connection.
11357type RemoteIpDetails struct {
11358	_ struct{} `type:"structure"`
11359
11360	// The city information of the remote IP address.
11361	City *City `locationName:"city" type:"structure"`
11362
11363	// The country code of the remote IP address.
11364	Country *Country `locationName:"country" type:"structure"`
11365
11366	// The location information of the remote IP address.
11367	GeoLocation *GeoLocation `locationName:"geoLocation" type:"structure"`
11368
11369	// The IPv4 remote address of the connection.
11370	IpAddressV4 *string `locationName:"ipAddressV4" type:"string"`
11371
11372	// The ISP organization information of the remote IP address.
11373	Organization *Organization `locationName:"organization" type:"structure"`
11374}
11375
11376// String returns the string representation
11377func (s RemoteIpDetails) String() string {
11378	return awsutil.Prettify(s)
11379}
11380
11381// GoString returns the string representation
11382func (s RemoteIpDetails) GoString() string {
11383	return s.String()
11384}
11385
11386// SetCity sets the City field's value.
11387func (s *RemoteIpDetails) SetCity(v *City) *RemoteIpDetails {
11388	s.City = v
11389	return s
11390}
11391
11392// SetCountry sets the Country field's value.
11393func (s *RemoteIpDetails) SetCountry(v *Country) *RemoteIpDetails {
11394	s.Country = v
11395	return s
11396}
11397
11398// SetGeoLocation sets the GeoLocation field's value.
11399func (s *RemoteIpDetails) SetGeoLocation(v *GeoLocation) *RemoteIpDetails {
11400	s.GeoLocation = v
11401	return s
11402}
11403
11404// SetIpAddressV4 sets the IpAddressV4 field's value.
11405func (s *RemoteIpDetails) SetIpAddressV4(v string) *RemoteIpDetails {
11406	s.IpAddressV4 = &v
11407	return s
11408}
11409
11410// SetOrganization sets the Organization field's value.
11411func (s *RemoteIpDetails) SetOrganization(v *Organization) *RemoteIpDetails {
11412	s.Organization = v
11413	return s
11414}
11415
11416// Contains information about the remote port.
11417type RemotePortDetails struct {
11418	_ struct{} `type:"structure"`
11419
11420	// The port number of the remote connection.
11421	Port *int64 `locationName:"port" type:"integer"`
11422
11423	// The port name of the remote connection.
11424	PortName *string `locationName:"portName" type:"string"`
11425}
11426
11427// String returns the string representation
11428func (s RemotePortDetails) String() string {
11429	return awsutil.Prettify(s)
11430}
11431
11432// GoString returns the string representation
11433func (s RemotePortDetails) GoString() string {
11434	return s.String()
11435}
11436
11437// SetPort sets the Port field's value.
11438func (s *RemotePortDetails) SetPort(v int64) *RemotePortDetails {
11439	s.Port = &v
11440	return s
11441}
11442
11443// SetPortName sets the PortName field's value.
11444func (s *RemotePortDetails) SetPortName(v string) *RemotePortDetails {
11445	s.PortName = &v
11446	return s
11447}
11448
11449// Contains information about the AWS resource associated with the activity
11450// that prompted GuardDuty to generate a finding.
11451type Resource struct {
11452	_ struct{} `type:"structure"`
11453
11454	// The IAM access key details (IAM user information) of a user that engaged
11455	// in the activity that prompted GuardDuty to generate a finding.
11456	AccessKeyDetails *AccessKeyDetails `locationName:"accessKeyDetails" type:"structure"`
11457
11458	// The information about the EC2 instance associated with the activity that
11459	// prompted GuardDuty to generate a finding.
11460	InstanceDetails *InstanceDetails `locationName:"instanceDetails" type:"structure"`
11461
11462	// The type of AWS resource.
11463	ResourceType *string `locationName:"resourceType" type:"string"`
11464
11465	// Contains information on the S3 bucket.
11466	S3BucketDetails []*S3BucketDetail `locationName:"s3BucketDetails" type:"list"`
11467}
11468
11469// String returns the string representation
11470func (s Resource) String() string {
11471	return awsutil.Prettify(s)
11472}
11473
11474// GoString returns the string representation
11475func (s Resource) GoString() string {
11476	return s.String()
11477}
11478
11479// SetAccessKeyDetails sets the AccessKeyDetails field's value.
11480func (s *Resource) SetAccessKeyDetails(v *AccessKeyDetails) *Resource {
11481	s.AccessKeyDetails = v
11482	return s
11483}
11484
11485// SetInstanceDetails sets the InstanceDetails field's value.
11486func (s *Resource) SetInstanceDetails(v *InstanceDetails) *Resource {
11487	s.InstanceDetails = v
11488	return s
11489}
11490
11491// SetResourceType sets the ResourceType field's value.
11492func (s *Resource) SetResourceType(v string) *Resource {
11493	s.ResourceType = &v
11494	return s
11495}
11496
11497// SetS3BucketDetails sets the S3BucketDetails field's value.
11498func (s *Resource) SetS3BucketDetails(v []*S3BucketDetail) *Resource {
11499	s.S3BucketDetails = v
11500	return s
11501}
11502
11503type S3BucketDetail struct {
11504	_ struct{} `type:"structure"`
11505
11506	// The Amazon Resource Name (ARN) of the S3 bucket.
11507	Arn *string `locationName:"arn" type:"string"`
11508
11509	// The date and time the bucket was created at.
11510	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
11511
11512	// Describes the server side encryption method used in the S3 bucket.
11513	DefaultServerSideEncryption *DefaultServerSideEncryption `locationName:"defaultServerSideEncryption" type:"structure"`
11514
11515	// The name of the S3 bucket.
11516	Name *string `locationName:"name" type:"string"`
11517
11518	// The owner of the S3 bucket.
11519	Owner *Owner `locationName:"owner" type:"structure"`
11520
11521	// Describes the public access policies that apply to the S3 bucket.
11522	PublicAccess *PublicAccess `locationName:"publicAccess" type:"structure"`
11523
11524	// All tags attached to the S3 bucket
11525	Tags []*Tag `locationName:"tags" type:"list"`
11526
11527	// Describes whether the bucket is a source or destination bucket.
11528	Type *string `locationName:"type" type:"string"`
11529}
11530
11531// String returns the string representation
11532func (s S3BucketDetail) String() string {
11533	return awsutil.Prettify(s)
11534}
11535
11536// GoString returns the string representation
11537func (s S3BucketDetail) GoString() string {
11538	return s.String()
11539}
11540
11541// SetArn sets the Arn field's value.
11542func (s *S3BucketDetail) SetArn(v string) *S3BucketDetail {
11543	s.Arn = &v
11544	return s
11545}
11546
11547// SetCreatedAt sets the CreatedAt field's value.
11548func (s *S3BucketDetail) SetCreatedAt(v time.Time) *S3BucketDetail {
11549	s.CreatedAt = &v
11550	return s
11551}
11552
11553// SetDefaultServerSideEncryption sets the DefaultServerSideEncryption field's value.
11554func (s *S3BucketDetail) SetDefaultServerSideEncryption(v *DefaultServerSideEncryption) *S3BucketDetail {
11555	s.DefaultServerSideEncryption = v
11556	return s
11557}
11558
11559// SetName sets the Name field's value.
11560func (s *S3BucketDetail) SetName(v string) *S3BucketDetail {
11561	s.Name = &v
11562	return s
11563}
11564
11565// SetOwner sets the Owner field's value.
11566func (s *S3BucketDetail) SetOwner(v *Owner) *S3BucketDetail {
11567	s.Owner = v
11568	return s
11569}
11570
11571// SetPublicAccess sets the PublicAccess field's value.
11572func (s *S3BucketDetail) SetPublicAccess(v *PublicAccess) *S3BucketDetail {
11573	s.PublicAccess = v
11574	return s
11575}
11576
11577// SetTags sets the Tags field's value.
11578func (s *S3BucketDetail) SetTags(v []*Tag) *S3BucketDetail {
11579	s.Tags = v
11580	return s
11581}
11582
11583// SetType sets the Type field's value.
11584func (s *S3BucketDetail) SetType(v string) *S3BucketDetail {
11585	s.Type = &v
11586	return s
11587}
11588
11589// Contains information about the security groups associated with the EC2 instance.
11590type SecurityGroup struct {
11591	_ struct{} `type:"structure"`
11592
11593	// The security group ID of the EC2 instance.
11594	GroupId *string `locationName:"groupId" type:"string"`
11595
11596	// The security group name of the EC2 instance.
11597	GroupName *string `locationName:"groupName" type:"string"`
11598}
11599
11600// String returns the string representation
11601func (s SecurityGroup) String() string {
11602	return awsutil.Prettify(s)
11603}
11604
11605// GoString returns the string representation
11606func (s SecurityGroup) GoString() string {
11607	return s.String()
11608}
11609
11610// SetGroupId sets the GroupId field's value.
11611func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
11612	s.GroupId = &v
11613	return s
11614}
11615
11616// SetGroupName sets the GroupName field's value.
11617func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
11618	s.GroupName = &v
11619	return s
11620}
11621
11622// Contains additional information about the generated finding.
11623type Service struct {
11624	_ struct{} `type:"structure"`
11625
11626	// Information about the activity that is described in a finding.
11627	Action *Action `locationName:"action" type:"structure"`
11628
11629	// Indicates whether this finding is archived.
11630	Archived *bool `locationName:"archived" type:"boolean"`
11631
11632	// The total count of the occurrences of this finding type.
11633	Count *int64 `locationName:"count" type:"integer"`
11634
11635	// The detector ID for the GuardDuty service.
11636	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
11637
11638	// The first-seen timestamp of the activity that prompted GuardDuty to generate
11639	// this finding.
11640	EventFirstSeen *string `locationName:"eventFirstSeen" type:"string"`
11641
11642	// The last-seen timestamp of the activity that prompted GuardDuty to generate
11643	// this finding.
11644	EventLastSeen *string `locationName:"eventLastSeen" type:"string"`
11645
11646	// An evidence object associated with the service.
11647	Evidence *Evidence `locationName:"evidence" type:"structure"`
11648
11649	// The resource role information for this finding.
11650	ResourceRole *string `locationName:"resourceRole" type:"string"`
11651
11652	// The name of the AWS service (GuardDuty) that generated a finding.
11653	ServiceName *string `locationName:"serviceName" type:"string"`
11654
11655	// Feedback that was submitted about the finding.
11656	UserFeedback *string `locationName:"userFeedback" type:"string"`
11657}
11658
11659// String returns the string representation
11660func (s Service) String() string {
11661	return awsutil.Prettify(s)
11662}
11663
11664// GoString returns the string representation
11665func (s Service) GoString() string {
11666	return s.String()
11667}
11668
11669// SetAction sets the Action field's value.
11670func (s *Service) SetAction(v *Action) *Service {
11671	s.Action = v
11672	return s
11673}
11674
11675// SetArchived sets the Archived field's value.
11676func (s *Service) SetArchived(v bool) *Service {
11677	s.Archived = &v
11678	return s
11679}
11680
11681// SetCount sets the Count field's value.
11682func (s *Service) SetCount(v int64) *Service {
11683	s.Count = &v
11684	return s
11685}
11686
11687// SetDetectorId sets the DetectorId field's value.
11688func (s *Service) SetDetectorId(v string) *Service {
11689	s.DetectorId = &v
11690	return s
11691}
11692
11693// SetEventFirstSeen sets the EventFirstSeen field's value.
11694func (s *Service) SetEventFirstSeen(v string) *Service {
11695	s.EventFirstSeen = &v
11696	return s
11697}
11698
11699// SetEventLastSeen sets the EventLastSeen field's value.
11700func (s *Service) SetEventLastSeen(v string) *Service {
11701	s.EventLastSeen = &v
11702	return s
11703}
11704
11705// SetEvidence sets the Evidence field's value.
11706func (s *Service) SetEvidence(v *Evidence) *Service {
11707	s.Evidence = v
11708	return s
11709}
11710
11711// SetResourceRole sets the ResourceRole field's value.
11712func (s *Service) SetResourceRole(v string) *Service {
11713	s.ResourceRole = &v
11714	return s
11715}
11716
11717// SetServiceName sets the ServiceName field's value.
11718func (s *Service) SetServiceName(v string) *Service {
11719	s.ServiceName = &v
11720	return s
11721}
11722
11723// SetUserFeedback sets the UserFeedback field's value.
11724func (s *Service) SetUserFeedback(v string) *Service {
11725	s.UserFeedback = &v
11726	return s
11727}
11728
11729// Contains information about the criteria used for sorting findings.
11730type SortCriteria struct {
11731	_ struct{} `type:"structure"`
11732
11733	// Represents the finding attribute (for example, accountId) to sort findings
11734	// by.
11735	AttributeName *string `locationName:"attributeName" type:"string"`
11736
11737	// The order by which the sorted findings are to be displayed.
11738	OrderBy *string `locationName:"orderBy" type:"string" enum:"OrderBy"`
11739}
11740
11741// String returns the string representation
11742func (s SortCriteria) String() string {
11743	return awsutil.Prettify(s)
11744}
11745
11746// GoString returns the string representation
11747func (s SortCriteria) GoString() string {
11748	return s.String()
11749}
11750
11751// SetAttributeName sets the AttributeName field's value.
11752func (s *SortCriteria) SetAttributeName(v string) *SortCriteria {
11753	s.AttributeName = &v
11754	return s
11755}
11756
11757// SetOrderBy sets the OrderBy field's value.
11758func (s *SortCriteria) SetOrderBy(v string) *SortCriteria {
11759	s.OrderBy = &v
11760	return s
11761}
11762
11763type StartMonitoringMembersInput struct {
11764	_ struct{} `type:"structure"`
11765
11766	// A list of account IDs of the GuardDuty member accounts to start monitoring.
11767	//
11768	// AccountIds is a required field
11769	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
11770
11771	// The unique ID of the detector of the GuardDuty master account associated
11772	// with the member accounts to monitor.
11773	//
11774	// DetectorId is a required field
11775	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
11776}
11777
11778// String returns the string representation
11779func (s StartMonitoringMembersInput) String() string {
11780	return awsutil.Prettify(s)
11781}
11782
11783// GoString returns the string representation
11784func (s StartMonitoringMembersInput) GoString() string {
11785	return s.String()
11786}
11787
11788// Validate inspects the fields of the type to determine if they are valid.
11789func (s *StartMonitoringMembersInput) Validate() error {
11790	invalidParams := request.ErrInvalidParams{Context: "StartMonitoringMembersInput"}
11791	if s.AccountIds == nil {
11792		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
11793	}
11794	if s.AccountIds != nil && len(s.AccountIds) < 1 {
11795		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
11796	}
11797	if s.DetectorId == nil {
11798		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
11799	}
11800	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
11801		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
11802	}
11803
11804	if invalidParams.Len() > 0 {
11805		return invalidParams
11806	}
11807	return nil
11808}
11809
11810// SetAccountIds sets the AccountIds field's value.
11811func (s *StartMonitoringMembersInput) SetAccountIds(v []*string) *StartMonitoringMembersInput {
11812	s.AccountIds = v
11813	return s
11814}
11815
11816// SetDetectorId sets the DetectorId field's value.
11817func (s *StartMonitoringMembersInput) SetDetectorId(v string) *StartMonitoringMembersInput {
11818	s.DetectorId = &v
11819	return s
11820}
11821
11822type StartMonitoringMembersOutput struct {
11823	_ struct{} `type:"structure"`
11824
11825	// A list of objects that contain the unprocessed account and a result string
11826	// that explains why it was unprocessed.
11827	//
11828	// UnprocessedAccounts is a required field
11829	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
11830}
11831
11832// String returns the string representation
11833func (s StartMonitoringMembersOutput) String() string {
11834	return awsutil.Prettify(s)
11835}
11836
11837// GoString returns the string representation
11838func (s StartMonitoringMembersOutput) GoString() string {
11839	return s.String()
11840}
11841
11842// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
11843func (s *StartMonitoringMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *StartMonitoringMembersOutput {
11844	s.UnprocessedAccounts = v
11845	return s
11846}
11847
11848type StopMonitoringMembersInput struct {
11849	_ struct{} `type:"structure"`
11850
11851	// A list of account IDs for the member accounts to stop monitoring.
11852	//
11853	// AccountIds is a required field
11854	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
11855
11856	// The unique ID of the detector associated with the GuardDuty master account
11857	// that is monitoring member accounts.
11858	//
11859	// DetectorId is a required field
11860	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
11861}
11862
11863// String returns the string representation
11864func (s StopMonitoringMembersInput) String() string {
11865	return awsutil.Prettify(s)
11866}
11867
11868// GoString returns the string representation
11869func (s StopMonitoringMembersInput) GoString() string {
11870	return s.String()
11871}
11872
11873// Validate inspects the fields of the type to determine if they are valid.
11874func (s *StopMonitoringMembersInput) Validate() error {
11875	invalidParams := request.ErrInvalidParams{Context: "StopMonitoringMembersInput"}
11876	if s.AccountIds == nil {
11877		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
11878	}
11879	if s.AccountIds != nil && len(s.AccountIds) < 1 {
11880		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
11881	}
11882	if s.DetectorId == nil {
11883		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
11884	}
11885	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
11886		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
11887	}
11888
11889	if invalidParams.Len() > 0 {
11890		return invalidParams
11891	}
11892	return nil
11893}
11894
11895// SetAccountIds sets the AccountIds field's value.
11896func (s *StopMonitoringMembersInput) SetAccountIds(v []*string) *StopMonitoringMembersInput {
11897	s.AccountIds = v
11898	return s
11899}
11900
11901// SetDetectorId sets the DetectorId field's value.
11902func (s *StopMonitoringMembersInput) SetDetectorId(v string) *StopMonitoringMembersInput {
11903	s.DetectorId = &v
11904	return s
11905}
11906
11907type StopMonitoringMembersOutput struct {
11908	_ struct{} `type:"structure"`
11909
11910	// A list of objects that contain an accountId for each account that could not
11911	// be processed, and a result string that indicates why the account was not
11912	// processed.
11913	//
11914	// UnprocessedAccounts is a required field
11915	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
11916}
11917
11918// String returns the string representation
11919func (s StopMonitoringMembersOutput) String() string {
11920	return awsutil.Prettify(s)
11921}
11922
11923// GoString returns the string representation
11924func (s StopMonitoringMembersOutput) GoString() string {
11925	return s.String()
11926}
11927
11928// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
11929func (s *StopMonitoringMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *StopMonitoringMembersOutput {
11930	s.UnprocessedAccounts = v
11931	return s
11932}
11933
11934// Contains information about a tag associated with the EC2 instance.
11935type Tag struct {
11936	_ struct{} `type:"structure"`
11937
11938	// The EC2 instance tag key.
11939	Key *string `locationName:"key" type:"string"`
11940
11941	// The EC2 instance tag value.
11942	Value *string `locationName:"value" type:"string"`
11943}
11944
11945// String returns the string representation
11946func (s Tag) String() string {
11947	return awsutil.Prettify(s)
11948}
11949
11950// GoString returns the string representation
11951func (s Tag) GoString() string {
11952	return s.String()
11953}
11954
11955// SetKey sets the Key field's value.
11956func (s *Tag) SetKey(v string) *Tag {
11957	s.Key = &v
11958	return s
11959}
11960
11961// SetValue sets the Value field's value.
11962func (s *Tag) SetValue(v string) *Tag {
11963	s.Value = &v
11964	return s
11965}
11966
11967type TagResourceInput struct {
11968	_ struct{} `type:"structure"`
11969
11970	// The Amazon Resource Name (ARN) for the GuardDuty resource to apply a tag
11971	// to.
11972	//
11973	// ResourceArn is a required field
11974	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
11975
11976	// The tags to be added to a resource.
11977	//
11978	// Tags is a required field
11979	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
11980}
11981
11982// String returns the string representation
11983func (s TagResourceInput) String() string {
11984	return awsutil.Prettify(s)
11985}
11986
11987// GoString returns the string representation
11988func (s TagResourceInput) GoString() string {
11989	return s.String()
11990}
11991
11992// Validate inspects the fields of the type to determine if they are valid.
11993func (s *TagResourceInput) Validate() error {
11994	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
11995	if s.ResourceArn == nil {
11996		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
11997	}
11998	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
11999		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
12000	}
12001	if s.Tags == nil {
12002		invalidParams.Add(request.NewErrParamRequired("Tags"))
12003	}
12004	if s.Tags != nil && len(s.Tags) < 1 {
12005		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
12006	}
12007
12008	if invalidParams.Len() > 0 {
12009		return invalidParams
12010	}
12011	return nil
12012}
12013
12014// SetResourceArn sets the ResourceArn field's value.
12015func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
12016	s.ResourceArn = &v
12017	return s
12018}
12019
12020// SetTags sets the Tags field's value.
12021func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
12022	s.Tags = v
12023	return s
12024}
12025
12026type TagResourceOutput struct {
12027	_ struct{} `type:"structure"`
12028}
12029
12030// String returns the string representation
12031func (s TagResourceOutput) String() string {
12032	return awsutil.Prettify(s)
12033}
12034
12035// GoString returns the string representation
12036func (s TagResourceOutput) GoString() string {
12037	return s.String()
12038}
12039
12040// An instance of a threat intelligence detail that constitutes evidence for
12041// the finding.
12042type ThreatIntelligenceDetail struct {
12043	_ struct{} `type:"structure"`
12044
12045	// The name of the threat intelligence list that triggered the finding.
12046	ThreatListName *string `locationName:"threatListName" type:"string"`
12047
12048	// A list of names of the threats in the threat intelligence list that triggered
12049	// the finding.
12050	ThreatNames []*string `locationName:"threatNames" type:"list"`
12051}
12052
12053// String returns the string representation
12054func (s ThreatIntelligenceDetail) String() string {
12055	return awsutil.Prettify(s)
12056}
12057
12058// GoString returns the string representation
12059func (s ThreatIntelligenceDetail) GoString() string {
12060	return s.String()
12061}
12062
12063// SetThreatListName sets the ThreatListName field's value.
12064func (s *ThreatIntelligenceDetail) SetThreatListName(v string) *ThreatIntelligenceDetail {
12065	s.ThreatListName = &v
12066	return s
12067}
12068
12069// SetThreatNames sets the ThreatNames field's value.
12070func (s *ThreatIntelligenceDetail) SetThreatNames(v []*string) *ThreatIntelligenceDetail {
12071	s.ThreatNames = v
12072	return s
12073}
12074
12075type UnarchiveFindingsInput struct {
12076	_ struct{} `type:"structure"`
12077
12078	// The ID of the detector associated with the findings to unarchive.
12079	//
12080	// DetectorId is a required field
12081	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
12082
12083	// The IDs of the findings to unarchive.
12084	//
12085	// FindingIds is a required field
12086	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
12087}
12088
12089// String returns the string representation
12090func (s UnarchiveFindingsInput) String() string {
12091	return awsutil.Prettify(s)
12092}
12093
12094// GoString returns the string representation
12095func (s UnarchiveFindingsInput) GoString() string {
12096	return s.String()
12097}
12098
12099// Validate inspects the fields of the type to determine if they are valid.
12100func (s *UnarchiveFindingsInput) Validate() error {
12101	invalidParams := request.ErrInvalidParams{Context: "UnarchiveFindingsInput"}
12102	if s.DetectorId == nil {
12103		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
12104	}
12105	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
12106		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
12107	}
12108	if s.FindingIds == nil {
12109		invalidParams.Add(request.NewErrParamRequired("FindingIds"))
12110	}
12111
12112	if invalidParams.Len() > 0 {
12113		return invalidParams
12114	}
12115	return nil
12116}
12117
12118// SetDetectorId sets the DetectorId field's value.
12119func (s *UnarchiveFindingsInput) SetDetectorId(v string) *UnarchiveFindingsInput {
12120	s.DetectorId = &v
12121	return s
12122}
12123
12124// SetFindingIds sets the FindingIds field's value.
12125func (s *UnarchiveFindingsInput) SetFindingIds(v []*string) *UnarchiveFindingsInput {
12126	s.FindingIds = v
12127	return s
12128}
12129
12130type UnarchiveFindingsOutput struct {
12131	_ struct{} `type:"structure"`
12132}
12133
12134// String returns the string representation
12135func (s UnarchiveFindingsOutput) String() string {
12136	return awsutil.Prettify(s)
12137}
12138
12139// GoString returns the string representation
12140func (s UnarchiveFindingsOutput) GoString() string {
12141	return s.String()
12142}
12143
12144// Contains information about the accounts that weren't processed.
12145type UnprocessedAccount struct {
12146	_ struct{} `type:"structure"`
12147
12148	// The AWS account ID.
12149	//
12150	// AccountId is a required field
12151	AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"`
12152
12153	// A reason why the account hasn't been processed.
12154	//
12155	// Result is a required field
12156	Result *string `locationName:"result" type:"string" required:"true"`
12157}
12158
12159// String returns the string representation
12160func (s UnprocessedAccount) String() string {
12161	return awsutil.Prettify(s)
12162}
12163
12164// GoString returns the string representation
12165func (s UnprocessedAccount) GoString() string {
12166	return s.String()
12167}
12168
12169// SetAccountId sets the AccountId field's value.
12170func (s *UnprocessedAccount) SetAccountId(v string) *UnprocessedAccount {
12171	s.AccountId = &v
12172	return s
12173}
12174
12175// SetResult sets the Result field's value.
12176func (s *UnprocessedAccount) SetResult(v string) *UnprocessedAccount {
12177	s.Result = &v
12178	return s
12179}
12180
12181type UntagResourceInput struct {
12182	_ struct{} `type:"structure"`
12183
12184	// The Amazon Resource Name (ARN) for the resource to remove tags from.
12185	//
12186	// ResourceArn is a required field
12187	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
12188
12189	// The tag keys to remove from the resource.
12190	//
12191	// TagKeys is a required field
12192	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
12193}
12194
12195// String returns the string representation
12196func (s UntagResourceInput) String() string {
12197	return awsutil.Prettify(s)
12198}
12199
12200// GoString returns the string representation
12201func (s UntagResourceInput) GoString() string {
12202	return s.String()
12203}
12204
12205// Validate inspects the fields of the type to determine if they are valid.
12206func (s *UntagResourceInput) Validate() error {
12207	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
12208	if s.ResourceArn == nil {
12209		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
12210	}
12211	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
12212		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
12213	}
12214	if s.TagKeys == nil {
12215		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
12216	}
12217	if s.TagKeys != nil && len(s.TagKeys) < 1 {
12218		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
12219	}
12220
12221	if invalidParams.Len() > 0 {
12222		return invalidParams
12223	}
12224	return nil
12225}
12226
12227// SetResourceArn sets the ResourceArn field's value.
12228func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
12229	s.ResourceArn = &v
12230	return s
12231}
12232
12233// SetTagKeys sets the TagKeys field's value.
12234func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
12235	s.TagKeys = v
12236	return s
12237}
12238
12239type UntagResourceOutput struct {
12240	_ struct{} `type:"structure"`
12241}
12242
12243// String returns the string representation
12244func (s UntagResourceOutput) String() string {
12245	return awsutil.Prettify(s)
12246}
12247
12248// GoString returns the string representation
12249func (s UntagResourceOutput) GoString() string {
12250	return s.String()
12251}
12252
12253type UpdateDetectorInput struct {
12254	_ struct{} `type:"structure"`
12255
12256	// The unique ID of the detector to update.
12257	//
12258	// DetectorId is a required field
12259	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
12260
12261	// Specifies whether the detector is enabled or not enabled.
12262	Enable *bool `locationName:"enable" type:"boolean"`
12263
12264	// An enum value that specifies how frequently findings are exported, such as
12265	// to CloudWatch Events.
12266	FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"`
12267}
12268
12269// String returns the string representation
12270func (s UpdateDetectorInput) String() string {
12271	return awsutil.Prettify(s)
12272}
12273
12274// GoString returns the string representation
12275func (s UpdateDetectorInput) GoString() string {
12276	return s.String()
12277}
12278
12279// Validate inspects the fields of the type to determine if they are valid.
12280func (s *UpdateDetectorInput) Validate() error {
12281	invalidParams := request.ErrInvalidParams{Context: "UpdateDetectorInput"}
12282	if s.DetectorId == nil {
12283		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
12284	}
12285	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
12286		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
12287	}
12288
12289	if invalidParams.Len() > 0 {
12290		return invalidParams
12291	}
12292	return nil
12293}
12294
12295// SetDetectorId sets the DetectorId field's value.
12296func (s *UpdateDetectorInput) SetDetectorId(v string) *UpdateDetectorInput {
12297	s.DetectorId = &v
12298	return s
12299}
12300
12301// SetEnable sets the Enable field's value.
12302func (s *UpdateDetectorInput) SetEnable(v bool) *UpdateDetectorInput {
12303	s.Enable = &v
12304	return s
12305}
12306
12307// SetFindingPublishingFrequency sets the FindingPublishingFrequency field's value.
12308func (s *UpdateDetectorInput) SetFindingPublishingFrequency(v string) *UpdateDetectorInput {
12309	s.FindingPublishingFrequency = &v
12310	return s
12311}
12312
12313type UpdateDetectorOutput struct {
12314	_ struct{} `type:"structure"`
12315}
12316
12317// String returns the string representation
12318func (s UpdateDetectorOutput) String() string {
12319	return awsutil.Prettify(s)
12320}
12321
12322// GoString returns the string representation
12323func (s UpdateDetectorOutput) GoString() string {
12324	return s.String()
12325}
12326
12327type UpdateFilterInput struct {
12328	_ struct{} `type:"structure"`
12329
12330	// Specifies the action that is to be applied to the findings that match the
12331	// filter.
12332	Action *string `locationName:"action" min:"1" type:"string" enum:"FilterAction"`
12333
12334	// The description of the filter.
12335	Description *string `locationName:"description" type:"string"`
12336
12337	// The unique ID of the detector that specifies the GuardDuty service where
12338	// you want to update a filter.
12339	//
12340	// DetectorId is a required field
12341	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
12342
12343	// The name of the filter.
12344	//
12345	// FilterName is a required field
12346	FilterName *string `location:"uri" locationName:"filterName" type:"string" required:"true"`
12347
12348	// Represents the criteria to be used in the filter for querying findings.
12349	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"`
12350
12351	// Specifies the position of the filter in the list of current filters. Also
12352	// specifies the order in which this filter is applied to the findings.
12353	Rank *int64 `locationName:"rank" min:"1" type:"integer"`
12354}
12355
12356// String returns the string representation
12357func (s UpdateFilterInput) String() string {
12358	return awsutil.Prettify(s)
12359}
12360
12361// GoString returns the string representation
12362func (s UpdateFilterInput) GoString() string {
12363	return s.String()
12364}
12365
12366// Validate inspects the fields of the type to determine if they are valid.
12367func (s *UpdateFilterInput) Validate() error {
12368	invalidParams := request.ErrInvalidParams{Context: "UpdateFilterInput"}
12369	if s.Action != nil && len(*s.Action) < 1 {
12370		invalidParams.Add(request.NewErrParamMinLen("Action", 1))
12371	}
12372	if s.DetectorId == nil {
12373		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
12374	}
12375	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
12376		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
12377	}
12378	if s.FilterName == nil {
12379		invalidParams.Add(request.NewErrParamRequired("FilterName"))
12380	}
12381	if s.FilterName != nil && len(*s.FilterName) < 1 {
12382		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
12383	}
12384	if s.Rank != nil && *s.Rank < 1 {
12385		invalidParams.Add(request.NewErrParamMinValue("Rank", 1))
12386	}
12387
12388	if invalidParams.Len() > 0 {
12389		return invalidParams
12390	}
12391	return nil
12392}
12393
12394// SetAction sets the Action field's value.
12395func (s *UpdateFilterInput) SetAction(v string) *UpdateFilterInput {
12396	s.Action = &v
12397	return s
12398}
12399
12400// SetDescription sets the Description field's value.
12401func (s *UpdateFilterInput) SetDescription(v string) *UpdateFilterInput {
12402	s.Description = &v
12403	return s
12404}
12405
12406// SetDetectorId sets the DetectorId field's value.
12407func (s *UpdateFilterInput) SetDetectorId(v string) *UpdateFilterInput {
12408	s.DetectorId = &v
12409	return s
12410}
12411
12412// SetFilterName sets the FilterName field's value.
12413func (s *UpdateFilterInput) SetFilterName(v string) *UpdateFilterInput {
12414	s.FilterName = &v
12415	return s
12416}
12417
12418// SetFindingCriteria sets the FindingCriteria field's value.
12419func (s *UpdateFilterInput) SetFindingCriteria(v *FindingCriteria) *UpdateFilterInput {
12420	s.FindingCriteria = v
12421	return s
12422}
12423
12424// SetRank sets the Rank field's value.
12425func (s *UpdateFilterInput) SetRank(v int64) *UpdateFilterInput {
12426	s.Rank = &v
12427	return s
12428}
12429
12430type UpdateFilterOutput struct {
12431	_ struct{} `type:"structure"`
12432
12433	// The name of the filter.
12434	//
12435	// Name is a required field
12436	Name *string `locationName:"name" min:"3" type:"string" required:"true"`
12437}
12438
12439// String returns the string representation
12440func (s UpdateFilterOutput) String() string {
12441	return awsutil.Prettify(s)
12442}
12443
12444// GoString returns the string representation
12445func (s UpdateFilterOutput) GoString() string {
12446	return s.String()
12447}
12448
12449// SetName sets the Name field's value.
12450func (s *UpdateFilterOutput) SetName(v string) *UpdateFilterOutput {
12451	s.Name = &v
12452	return s
12453}
12454
12455type UpdateFindingsFeedbackInput struct {
12456	_ struct{} `type:"structure"`
12457
12458	// Additional feedback about the GuardDuty findings.
12459	Comments *string `locationName:"comments" type:"string"`
12460
12461	// The ID of the detector associated with the findings to update feedback for.
12462	//
12463	// DetectorId is a required field
12464	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
12465
12466	// The feedback for the finding.
12467	//
12468	// Feedback is a required field
12469	Feedback *string `locationName:"feedback" type:"string" required:"true" enum:"Feedback"`
12470
12471	// The IDs of the findings that you want to mark as useful or not useful.
12472	//
12473	// FindingIds is a required field
12474	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
12475}
12476
12477// String returns the string representation
12478func (s UpdateFindingsFeedbackInput) String() string {
12479	return awsutil.Prettify(s)
12480}
12481
12482// GoString returns the string representation
12483func (s UpdateFindingsFeedbackInput) GoString() string {
12484	return s.String()
12485}
12486
12487// Validate inspects the fields of the type to determine if they are valid.
12488func (s *UpdateFindingsFeedbackInput) Validate() error {
12489	invalidParams := request.ErrInvalidParams{Context: "UpdateFindingsFeedbackInput"}
12490	if s.DetectorId == nil {
12491		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
12492	}
12493	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
12494		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
12495	}
12496	if s.Feedback == nil {
12497		invalidParams.Add(request.NewErrParamRequired("Feedback"))
12498	}
12499	if s.FindingIds == nil {
12500		invalidParams.Add(request.NewErrParamRequired("FindingIds"))
12501	}
12502
12503	if invalidParams.Len() > 0 {
12504		return invalidParams
12505	}
12506	return nil
12507}
12508
12509// SetComments sets the Comments field's value.
12510func (s *UpdateFindingsFeedbackInput) SetComments(v string) *UpdateFindingsFeedbackInput {
12511	s.Comments = &v
12512	return s
12513}
12514
12515// SetDetectorId sets the DetectorId field's value.
12516func (s *UpdateFindingsFeedbackInput) SetDetectorId(v string) *UpdateFindingsFeedbackInput {
12517	s.DetectorId = &v
12518	return s
12519}
12520
12521// SetFeedback sets the Feedback field's value.
12522func (s *UpdateFindingsFeedbackInput) SetFeedback(v string) *UpdateFindingsFeedbackInput {
12523	s.Feedback = &v
12524	return s
12525}
12526
12527// SetFindingIds sets the FindingIds field's value.
12528func (s *UpdateFindingsFeedbackInput) SetFindingIds(v []*string) *UpdateFindingsFeedbackInput {
12529	s.FindingIds = v
12530	return s
12531}
12532
12533type UpdateFindingsFeedbackOutput struct {
12534	_ struct{} `type:"structure"`
12535}
12536
12537// String returns the string representation
12538func (s UpdateFindingsFeedbackOutput) String() string {
12539	return awsutil.Prettify(s)
12540}
12541
12542// GoString returns the string representation
12543func (s UpdateFindingsFeedbackOutput) GoString() string {
12544	return s.String()
12545}
12546
12547type UpdateIPSetInput struct {
12548	_ struct{} `type:"structure"`
12549
12550	// The updated Boolean value that specifies whether the IPSet is active or not.
12551	Activate *bool `locationName:"activate" type:"boolean"`
12552
12553	// The detectorID that specifies the GuardDuty service whose IPSet you want
12554	// to update.
12555	//
12556	// DetectorId is a required field
12557	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
12558
12559	// The unique ID that specifies the IPSet that you want to update.
12560	//
12561	// IpSetId is a required field
12562	IpSetId *string `location:"uri" locationName:"ipSetId" type:"string" required:"true"`
12563
12564	// The updated URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
12565	Location *string `locationName:"location" min:"1" type:"string"`
12566
12567	// The unique ID that specifies the IPSet that you want to update.
12568	Name *string `locationName:"name" min:"1" type:"string"`
12569}
12570
12571// String returns the string representation
12572func (s UpdateIPSetInput) String() string {
12573	return awsutil.Prettify(s)
12574}
12575
12576// GoString returns the string representation
12577func (s UpdateIPSetInput) GoString() string {
12578	return s.String()
12579}
12580
12581// Validate inspects the fields of the type to determine if they are valid.
12582func (s *UpdateIPSetInput) Validate() error {
12583	invalidParams := request.ErrInvalidParams{Context: "UpdateIPSetInput"}
12584	if s.DetectorId == nil {
12585		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
12586	}
12587	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
12588		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
12589	}
12590	if s.IpSetId == nil {
12591		invalidParams.Add(request.NewErrParamRequired("IpSetId"))
12592	}
12593	if s.IpSetId != nil && len(*s.IpSetId) < 1 {
12594		invalidParams.Add(request.NewErrParamMinLen("IpSetId", 1))
12595	}
12596	if s.Location != nil && len(*s.Location) < 1 {
12597		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
12598	}
12599	if s.Name != nil && len(*s.Name) < 1 {
12600		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12601	}
12602
12603	if invalidParams.Len() > 0 {
12604		return invalidParams
12605	}
12606	return nil
12607}
12608
12609// SetActivate sets the Activate field's value.
12610func (s *UpdateIPSetInput) SetActivate(v bool) *UpdateIPSetInput {
12611	s.Activate = &v
12612	return s
12613}
12614
12615// SetDetectorId sets the DetectorId field's value.
12616func (s *UpdateIPSetInput) SetDetectorId(v string) *UpdateIPSetInput {
12617	s.DetectorId = &v
12618	return s
12619}
12620
12621// SetIpSetId sets the IpSetId field's value.
12622func (s *UpdateIPSetInput) SetIpSetId(v string) *UpdateIPSetInput {
12623	s.IpSetId = &v
12624	return s
12625}
12626
12627// SetLocation sets the Location field's value.
12628func (s *UpdateIPSetInput) SetLocation(v string) *UpdateIPSetInput {
12629	s.Location = &v
12630	return s
12631}
12632
12633// SetName sets the Name field's value.
12634func (s *UpdateIPSetInput) SetName(v string) *UpdateIPSetInput {
12635	s.Name = &v
12636	return s
12637}
12638
12639type UpdateIPSetOutput struct {
12640	_ struct{} `type:"structure"`
12641}
12642
12643// String returns the string representation
12644func (s UpdateIPSetOutput) String() string {
12645	return awsutil.Prettify(s)
12646}
12647
12648// GoString returns the string representation
12649func (s UpdateIPSetOutput) GoString() string {
12650	return s.String()
12651}
12652
12653type UpdateOrganizationConfigurationInput struct {
12654	_ struct{} `type:"structure"`
12655
12656	// Indicates whether to automatically enable member accounts in the organization.
12657	//
12658	// AutoEnable is a required field
12659	AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"`
12660
12661	// The ID of the detector to update the delegated administrator for.
12662	//
12663	// DetectorId is a required field
12664	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
12665}
12666
12667// String returns the string representation
12668func (s UpdateOrganizationConfigurationInput) String() string {
12669	return awsutil.Prettify(s)
12670}
12671
12672// GoString returns the string representation
12673func (s UpdateOrganizationConfigurationInput) GoString() string {
12674	return s.String()
12675}
12676
12677// Validate inspects the fields of the type to determine if they are valid.
12678func (s *UpdateOrganizationConfigurationInput) Validate() error {
12679	invalidParams := request.ErrInvalidParams{Context: "UpdateOrganizationConfigurationInput"}
12680	if s.AutoEnable == nil {
12681		invalidParams.Add(request.NewErrParamRequired("AutoEnable"))
12682	}
12683	if s.DetectorId == nil {
12684		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
12685	}
12686	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
12687		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
12688	}
12689
12690	if invalidParams.Len() > 0 {
12691		return invalidParams
12692	}
12693	return nil
12694}
12695
12696// SetAutoEnable sets the AutoEnable field's value.
12697func (s *UpdateOrganizationConfigurationInput) SetAutoEnable(v bool) *UpdateOrganizationConfigurationInput {
12698	s.AutoEnable = &v
12699	return s
12700}
12701
12702// SetDetectorId sets the DetectorId field's value.
12703func (s *UpdateOrganizationConfigurationInput) SetDetectorId(v string) *UpdateOrganizationConfigurationInput {
12704	s.DetectorId = &v
12705	return s
12706}
12707
12708type UpdateOrganizationConfigurationOutput struct {
12709	_ struct{} `type:"structure"`
12710}
12711
12712// String returns the string representation
12713func (s UpdateOrganizationConfigurationOutput) String() string {
12714	return awsutil.Prettify(s)
12715}
12716
12717// GoString returns the string representation
12718func (s UpdateOrganizationConfigurationOutput) GoString() string {
12719	return s.String()
12720}
12721
12722type UpdatePublishingDestinationInput struct {
12723	_ struct{} `type:"structure"`
12724
12725	// The ID of the publishing destination to update.
12726	//
12727	// DestinationId is a required field
12728	DestinationId *string `location:"uri" locationName:"destinationId" type:"string" required:"true"`
12729
12730	// A DestinationProperties object that includes the DestinationArn and KmsKeyArn
12731	// of the publishing destination.
12732	DestinationProperties *DestinationProperties `locationName:"destinationProperties" type:"structure"`
12733
12734	// The ID of the detector associated with the publishing destinations to update.
12735	//
12736	// DetectorId is a required field
12737	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
12738}
12739
12740// String returns the string representation
12741func (s UpdatePublishingDestinationInput) String() string {
12742	return awsutil.Prettify(s)
12743}
12744
12745// GoString returns the string representation
12746func (s UpdatePublishingDestinationInput) GoString() string {
12747	return s.String()
12748}
12749
12750// Validate inspects the fields of the type to determine if they are valid.
12751func (s *UpdatePublishingDestinationInput) Validate() error {
12752	invalidParams := request.ErrInvalidParams{Context: "UpdatePublishingDestinationInput"}
12753	if s.DestinationId == nil {
12754		invalidParams.Add(request.NewErrParamRequired("DestinationId"))
12755	}
12756	if s.DestinationId != nil && len(*s.DestinationId) < 1 {
12757		invalidParams.Add(request.NewErrParamMinLen("DestinationId", 1))
12758	}
12759	if s.DetectorId == nil {
12760		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
12761	}
12762	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
12763		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
12764	}
12765
12766	if invalidParams.Len() > 0 {
12767		return invalidParams
12768	}
12769	return nil
12770}
12771
12772// SetDestinationId sets the DestinationId field's value.
12773func (s *UpdatePublishingDestinationInput) SetDestinationId(v string) *UpdatePublishingDestinationInput {
12774	s.DestinationId = &v
12775	return s
12776}
12777
12778// SetDestinationProperties sets the DestinationProperties field's value.
12779func (s *UpdatePublishingDestinationInput) SetDestinationProperties(v *DestinationProperties) *UpdatePublishingDestinationInput {
12780	s.DestinationProperties = v
12781	return s
12782}
12783
12784// SetDetectorId sets the DetectorId field's value.
12785func (s *UpdatePublishingDestinationInput) SetDetectorId(v string) *UpdatePublishingDestinationInput {
12786	s.DetectorId = &v
12787	return s
12788}
12789
12790type UpdatePublishingDestinationOutput struct {
12791	_ struct{} `type:"structure"`
12792}
12793
12794// String returns the string representation
12795func (s UpdatePublishingDestinationOutput) String() string {
12796	return awsutil.Prettify(s)
12797}
12798
12799// GoString returns the string representation
12800func (s UpdatePublishingDestinationOutput) GoString() string {
12801	return s.String()
12802}
12803
12804type UpdateThreatIntelSetInput struct {
12805	_ struct{} `type:"structure"`
12806
12807	// The updated Boolean value that specifies whether the ThreateIntelSet is active
12808	// or not.
12809	Activate *bool `locationName:"activate" type:"boolean"`
12810
12811	// The detectorID that specifies the GuardDuty service whose ThreatIntelSet
12812	// you want to update.
12813	//
12814	// DetectorId is a required field
12815	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
12816
12817	// The updated URI of the file that contains the ThreateIntelSet. For example:
12818	// https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
12819	Location *string `locationName:"location" min:"1" type:"string"`
12820
12821	// The unique ID that specifies the ThreatIntelSet that you want to update.
12822	Name *string `locationName:"name" min:"1" type:"string"`
12823
12824	// The unique ID that specifies the ThreatIntelSet that you want to update.
12825	//
12826	// ThreatIntelSetId is a required field
12827	ThreatIntelSetId *string `location:"uri" locationName:"threatIntelSetId" type:"string" required:"true"`
12828}
12829
12830// String returns the string representation
12831func (s UpdateThreatIntelSetInput) String() string {
12832	return awsutil.Prettify(s)
12833}
12834
12835// GoString returns the string representation
12836func (s UpdateThreatIntelSetInput) GoString() string {
12837	return s.String()
12838}
12839
12840// Validate inspects the fields of the type to determine if they are valid.
12841func (s *UpdateThreatIntelSetInput) Validate() error {
12842	invalidParams := request.ErrInvalidParams{Context: "UpdateThreatIntelSetInput"}
12843	if s.DetectorId == nil {
12844		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
12845	}
12846	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
12847		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
12848	}
12849	if s.Location != nil && len(*s.Location) < 1 {
12850		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
12851	}
12852	if s.Name != nil && len(*s.Name) < 1 {
12853		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
12854	}
12855	if s.ThreatIntelSetId == nil {
12856		invalidParams.Add(request.NewErrParamRequired("ThreatIntelSetId"))
12857	}
12858	if s.ThreatIntelSetId != nil && len(*s.ThreatIntelSetId) < 1 {
12859		invalidParams.Add(request.NewErrParamMinLen("ThreatIntelSetId", 1))
12860	}
12861
12862	if invalidParams.Len() > 0 {
12863		return invalidParams
12864	}
12865	return nil
12866}
12867
12868// SetActivate sets the Activate field's value.
12869func (s *UpdateThreatIntelSetInput) SetActivate(v bool) *UpdateThreatIntelSetInput {
12870	s.Activate = &v
12871	return s
12872}
12873
12874// SetDetectorId sets the DetectorId field's value.
12875func (s *UpdateThreatIntelSetInput) SetDetectorId(v string) *UpdateThreatIntelSetInput {
12876	s.DetectorId = &v
12877	return s
12878}
12879
12880// SetLocation sets the Location field's value.
12881func (s *UpdateThreatIntelSetInput) SetLocation(v string) *UpdateThreatIntelSetInput {
12882	s.Location = &v
12883	return s
12884}
12885
12886// SetName sets the Name field's value.
12887func (s *UpdateThreatIntelSetInput) SetName(v string) *UpdateThreatIntelSetInput {
12888	s.Name = &v
12889	return s
12890}
12891
12892// SetThreatIntelSetId sets the ThreatIntelSetId field's value.
12893func (s *UpdateThreatIntelSetInput) SetThreatIntelSetId(v string) *UpdateThreatIntelSetInput {
12894	s.ThreatIntelSetId = &v
12895	return s
12896}
12897
12898type UpdateThreatIntelSetOutput struct {
12899	_ struct{} `type:"structure"`
12900}
12901
12902// String returns the string representation
12903func (s UpdateThreatIntelSetOutput) String() string {
12904	return awsutil.Prettify(s)
12905}
12906
12907// GoString returns the string representation
12908func (s UpdateThreatIntelSetOutput) GoString() string {
12909	return s.String()
12910}
12911
12912const (
12913	// AdminStatusEnabled is a AdminStatus enum value
12914	AdminStatusEnabled = "ENABLED"
12915
12916	// AdminStatusDisableInProgress is a AdminStatus enum value
12917	AdminStatusDisableInProgress = "DISABLE_IN_PROGRESS"
12918)
12919
12920const (
12921	// DestinationTypeS3 is a DestinationType enum value
12922	DestinationTypeS3 = "S3"
12923)
12924
12925const (
12926	// DetectorStatusEnabled is a DetectorStatus enum value
12927	DetectorStatusEnabled = "ENABLED"
12928
12929	// DetectorStatusDisabled is a DetectorStatus enum value
12930	DetectorStatusDisabled = "DISABLED"
12931)
12932
12933const (
12934	// FeedbackUseful is a Feedback enum value
12935	FeedbackUseful = "USEFUL"
12936
12937	// FeedbackNotUseful is a Feedback enum value
12938	FeedbackNotUseful = "NOT_USEFUL"
12939)
12940
12941const (
12942	// FilterActionNoop is a FilterAction enum value
12943	FilterActionNoop = "NOOP"
12944
12945	// FilterActionArchive is a FilterAction enum value
12946	FilterActionArchive = "ARCHIVE"
12947)
12948
12949const (
12950	// FindingPublishingFrequencyFifteenMinutes is a FindingPublishingFrequency enum value
12951	FindingPublishingFrequencyFifteenMinutes = "FIFTEEN_MINUTES"
12952
12953	// FindingPublishingFrequencyOneHour is a FindingPublishingFrequency enum value
12954	FindingPublishingFrequencyOneHour = "ONE_HOUR"
12955
12956	// FindingPublishingFrequencySixHours is a FindingPublishingFrequency enum value
12957	FindingPublishingFrequencySixHours = "SIX_HOURS"
12958)
12959
12960const (
12961	// FindingStatisticTypeCountBySeverity is a FindingStatisticType enum value
12962	FindingStatisticTypeCountBySeverity = "COUNT_BY_SEVERITY"
12963)
12964
12965const (
12966	// IpSetFormatTxt is a IpSetFormat enum value
12967	IpSetFormatTxt = "TXT"
12968
12969	// IpSetFormatStix is a IpSetFormat enum value
12970	IpSetFormatStix = "STIX"
12971
12972	// IpSetFormatOtxCsv is a IpSetFormat enum value
12973	IpSetFormatOtxCsv = "OTX_CSV"
12974
12975	// IpSetFormatAlienVault is a IpSetFormat enum value
12976	IpSetFormatAlienVault = "ALIEN_VAULT"
12977
12978	// IpSetFormatProofPoint is a IpSetFormat enum value
12979	IpSetFormatProofPoint = "PROOF_POINT"
12980
12981	// IpSetFormatFireEye is a IpSetFormat enum value
12982	IpSetFormatFireEye = "FIRE_EYE"
12983)
12984
12985const (
12986	// IpSetStatusInactive is a IpSetStatus enum value
12987	IpSetStatusInactive = "INACTIVE"
12988
12989	// IpSetStatusActivating is a IpSetStatus enum value
12990	IpSetStatusActivating = "ACTIVATING"
12991
12992	// IpSetStatusActive is a IpSetStatus enum value
12993	IpSetStatusActive = "ACTIVE"
12994
12995	// IpSetStatusDeactivating is a IpSetStatus enum value
12996	IpSetStatusDeactivating = "DEACTIVATING"
12997
12998	// IpSetStatusError is a IpSetStatus enum value
12999	IpSetStatusError = "ERROR"
13000
13001	// IpSetStatusDeletePending is a IpSetStatus enum value
13002	IpSetStatusDeletePending = "DELETE_PENDING"
13003
13004	// IpSetStatusDeleted is a IpSetStatus enum value
13005	IpSetStatusDeleted = "DELETED"
13006)
13007
13008const (
13009	// OrderByAsc is a OrderBy enum value
13010	OrderByAsc = "ASC"
13011
13012	// OrderByDesc is a OrderBy enum value
13013	OrderByDesc = "DESC"
13014)
13015
13016const (
13017	// PublishingStatusPendingVerification is a PublishingStatus enum value
13018	PublishingStatusPendingVerification = "PENDING_VERIFICATION"
13019
13020	// PublishingStatusPublishing is a PublishingStatus enum value
13021	PublishingStatusPublishing = "PUBLISHING"
13022
13023	// PublishingStatusUnableToPublishFixDestinationProperty is a PublishingStatus enum value
13024	PublishingStatusUnableToPublishFixDestinationProperty = "UNABLE_TO_PUBLISH_FIX_DESTINATION_PROPERTY"
13025
13026	// PublishingStatusStopped is a PublishingStatus enum value
13027	PublishingStatusStopped = "STOPPED"
13028)
13029
13030const (
13031	// ThreatIntelSetFormatTxt is a ThreatIntelSetFormat enum value
13032	ThreatIntelSetFormatTxt = "TXT"
13033
13034	// ThreatIntelSetFormatStix is a ThreatIntelSetFormat enum value
13035	ThreatIntelSetFormatStix = "STIX"
13036
13037	// ThreatIntelSetFormatOtxCsv is a ThreatIntelSetFormat enum value
13038	ThreatIntelSetFormatOtxCsv = "OTX_CSV"
13039
13040	// ThreatIntelSetFormatAlienVault is a ThreatIntelSetFormat enum value
13041	ThreatIntelSetFormatAlienVault = "ALIEN_VAULT"
13042
13043	// ThreatIntelSetFormatProofPoint is a ThreatIntelSetFormat enum value
13044	ThreatIntelSetFormatProofPoint = "PROOF_POINT"
13045
13046	// ThreatIntelSetFormatFireEye is a ThreatIntelSetFormat enum value
13047	ThreatIntelSetFormatFireEye = "FIRE_EYE"
13048)
13049
13050const (
13051	// ThreatIntelSetStatusInactive is a ThreatIntelSetStatus enum value
13052	ThreatIntelSetStatusInactive = "INACTIVE"
13053
13054	// ThreatIntelSetStatusActivating is a ThreatIntelSetStatus enum value
13055	ThreatIntelSetStatusActivating = "ACTIVATING"
13056
13057	// ThreatIntelSetStatusActive is a ThreatIntelSetStatus enum value
13058	ThreatIntelSetStatusActive = "ACTIVE"
13059
13060	// ThreatIntelSetStatusDeactivating is a ThreatIntelSetStatus enum value
13061	ThreatIntelSetStatusDeactivating = "DEACTIVATING"
13062
13063	// ThreatIntelSetStatusError is a ThreatIntelSetStatus enum value
13064	ThreatIntelSetStatusError = "ERROR"
13065
13066	// ThreatIntelSetStatusDeletePending is a ThreatIntelSetStatus enum value
13067	ThreatIntelSetStatusDeletePending = "DELETE_PENDING"
13068
13069	// ThreatIntelSetStatusDeleted is a ThreatIntelSetStatus enum value
13070	ThreatIntelSetStatusDeleted = "DELETED"
13071)
13072