github.com/aavshr/aws-sdk-go@v1.41.3/service/guardduty/api.go (about)

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package guardduty
     4  
     5  import (
     6  	"fmt"
     7  	"time"
     8  
     9  	"github.com/aavshr/aws-sdk-go/aws"
    10  	"github.com/aavshr/aws-sdk-go/aws/awsutil"
    11  	"github.com/aavshr/aws-sdk-go/aws/request"
    12  	"github.com/aavshr/aws-sdk-go/private/protocol"
    13  	"github.com/aavshr/aws-sdk-go/private/protocol/restjson"
    14  )
    15  
    16  const 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
    42  func (c *GuardDuty) AcceptInvitationRequest(input *AcceptInvitationInput) (req *request.Request, output *AcceptInvitationOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAcceptInvitation,
    45  		HTTPMethod: "POST",
    46  		HTTPPath:   "/detector/{detectorId}/master",
    47  	}
    48  
    49  	if input == nil {
    50  		input = &AcceptInvitationInput{}
    51  	}
    52  
    53  	output = &AcceptInvitationOutput{}
    54  	req = c.newRequest(op, input, output)
    55  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
    56  	return
    57  }
    58  
    59  // AcceptInvitation API operation for Amazon GuardDuty.
    60  //
    61  // Accepts the invitation to be monitored by a GuardDuty administrator account.
    62  //
    63  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    64  // with awserr.Error's Code and Message methods to get detailed information about
    65  // the error.
    66  //
    67  // See the AWS API reference guide for Amazon GuardDuty's
    68  // API operation AcceptInvitation for usage and error information.
    69  //
    70  // Returned Error Types:
    71  //   * BadRequestException
    72  //   A bad request exception object.
    73  //
    74  //   * InternalServerErrorException
    75  //   An internal server error exception object.
    76  //
    77  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/AcceptInvitation
    78  func (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.
    92  func (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  
    99  const 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
   125  func (c *GuardDuty) ArchiveFindingsRequest(input *ArchiveFindingsInput) (req *request.Request, output *ArchiveFindingsOutput) {
   126  	op := &request.Operation{
   127  		Name:       opArchiveFindings,
   128  		HTTPMethod: "POST",
   129  		HTTPPath:   "/detector/{detectorId}/findings/archive",
   130  	}
   131  
   132  	if input == nil {
   133  		input = &ArchiveFindingsInput{}
   134  	}
   135  
   136  	output = &ArchiveFindingsOutput{}
   137  	req = c.newRequest(op, input, output)
   138  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   139  	return
   140  }
   141  
   142  // ArchiveFindings API operation for Amazon GuardDuty.
   143  //
   144  // Archives GuardDuty findings that are specified by the list of finding IDs.
   145  //
   146  // Only the administrator account can archive findings. Member accounts don't
   147  // have permission to archive findings from their accounts.
   148  //
   149  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   150  // with awserr.Error's Code and Message methods to get detailed information about
   151  // the error.
   152  //
   153  // See the AWS API reference guide for Amazon GuardDuty's
   154  // API operation ArchiveFindings for usage and error information.
   155  //
   156  // Returned Error Types:
   157  //   * BadRequestException
   158  //   A bad request exception object.
   159  //
   160  //   * InternalServerErrorException
   161  //   An internal server error exception object.
   162  //
   163  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ArchiveFindings
   164  func (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.
   178  func (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  
   185  const 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
   211  func (c *GuardDuty) CreateDetectorRequest(input *CreateDetectorInput) (req *request.Request, output *CreateDetectorOutput) {
   212  	op := &request.Operation{
   213  		Name:       opCreateDetector,
   214  		HTTPMethod: "POST",
   215  		HTTPPath:   "/detector",
   216  	}
   217  
   218  	if input == nil {
   219  		input = &CreateDetectorInput{}
   220  	}
   221  
   222  	output = &CreateDetectorOutput{}
   223  	req = c.newRequest(op, input, output)
   224  	return
   225  }
   226  
   227  // CreateDetector API operation for Amazon GuardDuty.
   228  //
   229  // Creates a single Amazon GuardDuty detector. A detector is a resource that
   230  // represents the GuardDuty service. To start using GuardDuty, you must create
   231  // a detector in each Region where you enable the service. You can have only
   232  // one detector per account per Region. All data sources are enabled in a new
   233  // detector by default.
   234  //
   235  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   236  // with awserr.Error's Code and Message methods to get detailed information about
   237  // the error.
   238  //
   239  // See the AWS API reference guide for Amazon GuardDuty's
   240  // API operation CreateDetector for usage and error information.
   241  //
   242  // Returned Error Types:
   243  //   * BadRequestException
   244  //   A bad request exception object.
   245  //
   246  //   * InternalServerErrorException
   247  //   An internal server error exception object.
   248  //
   249  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateDetector
   250  func (c *GuardDuty) CreateDetector(input *CreateDetectorInput) (*CreateDetectorOutput, error) {
   251  	req, out := c.CreateDetectorRequest(input)
   252  	return out, req.Send()
   253  }
   254  
   255  // CreateDetectorWithContext is the same as CreateDetector with the addition of
   256  // the ability to pass a context and additional request options.
   257  //
   258  // See CreateDetector for details on how to use this API operation.
   259  //
   260  // The context must be non-nil and will be used for request cancellation. If
   261  // the context is nil a panic will occur. In the future the SDK may create
   262  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   263  // for more information on using Contexts.
   264  func (c *GuardDuty) CreateDetectorWithContext(ctx aws.Context, input *CreateDetectorInput, opts ...request.Option) (*CreateDetectorOutput, error) {
   265  	req, out := c.CreateDetectorRequest(input)
   266  	req.SetContext(ctx)
   267  	req.ApplyOptions(opts...)
   268  	return out, req.Send()
   269  }
   270  
   271  const opCreateFilter = "CreateFilter"
   272  
   273  // CreateFilterRequest generates a "aws/request.Request" representing the
   274  // client's request for the CreateFilter operation. The "output" return
   275  // value will be populated with the request's response once the request completes
   276  // successfully.
   277  //
   278  // Use "Send" method on the returned Request to send the API call to the service.
   279  // the "output" return value is not valid until after Send returns without error.
   280  //
   281  // See CreateFilter for more information on using the CreateFilter
   282  // API call, and error handling.
   283  //
   284  // This method is useful when you want to inject custom logic or configuration
   285  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   286  //
   287  //
   288  //    // Example sending a request using the CreateFilterRequest method.
   289  //    req, resp := client.CreateFilterRequest(params)
   290  //
   291  //    err := req.Send()
   292  //    if err == nil { // resp is now filled
   293  //        fmt.Println(resp)
   294  //    }
   295  //
   296  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateFilter
   297  func (c *GuardDuty) CreateFilterRequest(input *CreateFilterInput) (req *request.Request, output *CreateFilterOutput) {
   298  	op := &request.Operation{
   299  		Name:       opCreateFilter,
   300  		HTTPMethod: "POST",
   301  		HTTPPath:   "/detector/{detectorId}/filter",
   302  	}
   303  
   304  	if input == nil {
   305  		input = &CreateFilterInput{}
   306  	}
   307  
   308  	output = &CreateFilterOutput{}
   309  	req = c.newRequest(op, input, output)
   310  	return
   311  }
   312  
   313  // CreateFilter API operation for Amazon GuardDuty.
   314  //
   315  // Creates a filter using the specified finding criteria.
   316  //
   317  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   318  // with awserr.Error's Code and Message methods to get detailed information about
   319  // the error.
   320  //
   321  // See the AWS API reference guide for Amazon GuardDuty's
   322  // API operation CreateFilter for usage and error information.
   323  //
   324  // Returned Error Types:
   325  //   * BadRequestException
   326  //   A bad request exception object.
   327  //
   328  //   * InternalServerErrorException
   329  //   An internal server error exception object.
   330  //
   331  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateFilter
   332  func (c *GuardDuty) CreateFilter(input *CreateFilterInput) (*CreateFilterOutput, error) {
   333  	req, out := c.CreateFilterRequest(input)
   334  	return out, req.Send()
   335  }
   336  
   337  // CreateFilterWithContext is the same as CreateFilter with the addition of
   338  // the ability to pass a context and additional request options.
   339  //
   340  // See CreateFilter for details on how to use this API operation.
   341  //
   342  // The context must be non-nil and will be used for request cancellation. If
   343  // the context is nil a panic will occur. In the future the SDK may create
   344  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   345  // for more information on using Contexts.
   346  func (c *GuardDuty) CreateFilterWithContext(ctx aws.Context, input *CreateFilterInput, opts ...request.Option) (*CreateFilterOutput, error) {
   347  	req, out := c.CreateFilterRequest(input)
   348  	req.SetContext(ctx)
   349  	req.ApplyOptions(opts...)
   350  	return out, req.Send()
   351  }
   352  
   353  const opCreateIPSet = "CreateIPSet"
   354  
   355  // CreateIPSetRequest generates a "aws/request.Request" representing the
   356  // client's request for the CreateIPSet operation. The "output" return
   357  // value will be populated with the request's response once the request completes
   358  // successfully.
   359  //
   360  // Use "Send" method on the returned Request to send the API call to the service.
   361  // the "output" return value is not valid until after Send returns without error.
   362  //
   363  // See CreateIPSet for more information on using the CreateIPSet
   364  // API call, and error handling.
   365  //
   366  // This method is useful when you want to inject custom logic or configuration
   367  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   368  //
   369  //
   370  //    // Example sending a request using the CreateIPSetRequest method.
   371  //    req, resp := client.CreateIPSetRequest(params)
   372  //
   373  //    err := req.Send()
   374  //    if err == nil { // resp is now filled
   375  //        fmt.Println(resp)
   376  //    }
   377  //
   378  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateIPSet
   379  func (c *GuardDuty) CreateIPSetRequest(input *CreateIPSetInput) (req *request.Request, output *CreateIPSetOutput) {
   380  	op := &request.Operation{
   381  		Name:       opCreateIPSet,
   382  		HTTPMethod: "POST",
   383  		HTTPPath:   "/detector/{detectorId}/ipset",
   384  	}
   385  
   386  	if input == nil {
   387  		input = &CreateIPSetInput{}
   388  	}
   389  
   390  	output = &CreateIPSetOutput{}
   391  	req = c.newRequest(op, input, output)
   392  	return
   393  }
   394  
   395  // CreateIPSet API operation for Amazon GuardDuty.
   396  //
   397  // Creates a new IPSet, which is called a trusted IP list in the console user
   398  // interface. An IPSet is a list of IP addresses that are trusted for secure
   399  // communication with AWS infrastructure and applications. GuardDuty doesn't
   400  // generate findings for IP addresses that are included in IPSets. Only users
   401  // from the administrator account can use this operation.
   402  //
   403  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   404  // with awserr.Error's Code and Message methods to get detailed information about
   405  // the error.
   406  //
   407  // See the AWS API reference guide for Amazon GuardDuty's
   408  // API operation CreateIPSet for usage and error information.
   409  //
   410  // Returned Error Types:
   411  //   * BadRequestException
   412  //   A bad request exception object.
   413  //
   414  //   * InternalServerErrorException
   415  //   An internal server error exception object.
   416  //
   417  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateIPSet
   418  func (c *GuardDuty) CreateIPSet(input *CreateIPSetInput) (*CreateIPSetOutput, error) {
   419  	req, out := c.CreateIPSetRequest(input)
   420  	return out, req.Send()
   421  }
   422  
   423  // CreateIPSetWithContext is the same as CreateIPSet with the addition of
   424  // the ability to pass a context and additional request options.
   425  //
   426  // See CreateIPSet for details on how to use this API operation.
   427  //
   428  // The context must be non-nil and will be used for request cancellation. If
   429  // the context is nil a panic will occur. In the future the SDK may create
   430  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   431  // for more information on using Contexts.
   432  func (c *GuardDuty) CreateIPSetWithContext(ctx aws.Context, input *CreateIPSetInput, opts ...request.Option) (*CreateIPSetOutput, error) {
   433  	req, out := c.CreateIPSetRequest(input)
   434  	req.SetContext(ctx)
   435  	req.ApplyOptions(opts...)
   436  	return out, req.Send()
   437  }
   438  
   439  const opCreateMembers = "CreateMembers"
   440  
   441  // CreateMembersRequest generates a "aws/request.Request" representing the
   442  // client's request for the CreateMembers operation. The "output" return
   443  // value will be populated with the request's response once the request completes
   444  // successfully.
   445  //
   446  // Use "Send" method on the returned Request to send the API call to the service.
   447  // the "output" return value is not valid until after Send returns without error.
   448  //
   449  // See CreateMembers for more information on using the CreateMembers
   450  // API call, and error handling.
   451  //
   452  // This method is useful when you want to inject custom logic or configuration
   453  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   454  //
   455  //
   456  //    // Example sending a request using the CreateMembersRequest method.
   457  //    req, resp := client.CreateMembersRequest(params)
   458  //
   459  //    err := req.Send()
   460  //    if err == nil { // resp is now filled
   461  //        fmt.Println(resp)
   462  //    }
   463  //
   464  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateMembers
   465  func (c *GuardDuty) CreateMembersRequest(input *CreateMembersInput) (req *request.Request, output *CreateMembersOutput) {
   466  	op := &request.Operation{
   467  		Name:       opCreateMembers,
   468  		HTTPMethod: "POST",
   469  		HTTPPath:   "/detector/{detectorId}/member",
   470  	}
   471  
   472  	if input == nil {
   473  		input = &CreateMembersInput{}
   474  	}
   475  
   476  	output = &CreateMembersOutput{}
   477  	req = c.newRequest(op, input, output)
   478  	return
   479  }
   480  
   481  // CreateMembers API operation for Amazon GuardDuty.
   482  //
   483  // Creates member accounts of the current AWS account by specifying a list of
   484  // AWS account IDs. This step is a prerequisite for managing the associated
   485  // member accounts either by invitation or through an organization.
   486  //
   487  // When using Create Members as an organizations delegated administrator this
   488  // action will enable GuardDuty in the added member accounts, with the exception
   489  // of the organization delegated administrator account, which must enable GuardDuty
   490  // prior to being added as a member.
   491  //
   492  // If you are adding accounts by invitation use this action after GuardDuty
   493  // has been enabled in potential member accounts and before using Invite Members
   494  // (https://docs.aws.amazon.com/guardduty/latest/APIReference/API_InviteMembers.html).
   495  //
   496  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   497  // with awserr.Error's Code and Message methods to get detailed information about
   498  // the error.
   499  //
   500  // See the AWS API reference guide for Amazon GuardDuty's
   501  // API operation CreateMembers for usage and error information.
   502  //
   503  // Returned Error Types:
   504  //   * BadRequestException
   505  //   A bad request exception object.
   506  //
   507  //   * InternalServerErrorException
   508  //   An internal server error exception object.
   509  //
   510  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateMembers
   511  func (c *GuardDuty) CreateMembers(input *CreateMembersInput) (*CreateMembersOutput, error) {
   512  	req, out := c.CreateMembersRequest(input)
   513  	return out, req.Send()
   514  }
   515  
   516  // CreateMembersWithContext is the same as CreateMembers with the addition of
   517  // the ability to pass a context and additional request options.
   518  //
   519  // See CreateMembers for details on how to use this API operation.
   520  //
   521  // The context must be non-nil and will be used for request cancellation. If
   522  // the context is nil a panic will occur. In the future the SDK may create
   523  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   524  // for more information on using Contexts.
   525  func (c *GuardDuty) CreateMembersWithContext(ctx aws.Context, input *CreateMembersInput, opts ...request.Option) (*CreateMembersOutput, error) {
   526  	req, out := c.CreateMembersRequest(input)
   527  	req.SetContext(ctx)
   528  	req.ApplyOptions(opts...)
   529  	return out, req.Send()
   530  }
   531  
   532  const opCreatePublishingDestination = "CreatePublishingDestination"
   533  
   534  // CreatePublishingDestinationRequest generates a "aws/request.Request" representing the
   535  // client's request for the CreatePublishingDestination operation. The "output" return
   536  // value will be populated with the request's response once the request completes
   537  // successfully.
   538  //
   539  // Use "Send" method on the returned Request to send the API call to the service.
   540  // the "output" return value is not valid until after Send returns without error.
   541  //
   542  // See CreatePublishingDestination for more information on using the CreatePublishingDestination
   543  // API call, and error handling.
   544  //
   545  // This method is useful when you want to inject custom logic or configuration
   546  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   547  //
   548  //
   549  //    // Example sending a request using the CreatePublishingDestinationRequest method.
   550  //    req, resp := client.CreatePublishingDestinationRequest(params)
   551  //
   552  //    err := req.Send()
   553  //    if err == nil { // resp is now filled
   554  //        fmt.Println(resp)
   555  //    }
   556  //
   557  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreatePublishingDestination
   558  func (c *GuardDuty) CreatePublishingDestinationRequest(input *CreatePublishingDestinationInput) (req *request.Request, output *CreatePublishingDestinationOutput) {
   559  	op := &request.Operation{
   560  		Name:       opCreatePublishingDestination,
   561  		HTTPMethod: "POST",
   562  		HTTPPath:   "/detector/{detectorId}/publishingDestination",
   563  	}
   564  
   565  	if input == nil {
   566  		input = &CreatePublishingDestinationInput{}
   567  	}
   568  
   569  	output = &CreatePublishingDestinationOutput{}
   570  	req = c.newRequest(op, input, output)
   571  	return
   572  }
   573  
   574  // CreatePublishingDestination API operation for Amazon GuardDuty.
   575  //
   576  // Creates a publishing destination to export findings to. The resource to export
   577  // findings to must exist before you use this operation.
   578  //
   579  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   580  // with awserr.Error's Code and Message methods to get detailed information about
   581  // the error.
   582  //
   583  // See the AWS API reference guide for Amazon GuardDuty's
   584  // API operation CreatePublishingDestination for usage and error information.
   585  //
   586  // Returned Error Types:
   587  //   * BadRequestException
   588  //   A bad request exception object.
   589  //
   590  //   * InternalServerErrorException
   591  //   An internal server error exception object.
   592  //
   593  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreatePublishingDestination
   594  func (c *GuardDuty) CreatePublishingDestination(input *CreatePublishingDestinationInput) (*CreatePublishingDestinationOutput, error) {
   595  	req, out := c.CreatePublishingDestinationRequest(input)
   596  	return out, req.Send()
   597  }
   598  
   599  // CreatePublishingDestinationWithContext is the same as CreatePublishingDestination with the addition of
   600  // the ability to pass a context and additional request options.
   601  //
   602  // See CreatePublishingDestination for details on how to use this API operation.
   603  //
   604  // The context must be non-nil and will be used for request cancellation. If
   605  // the context is nil a panic will occur. In the future the SDK may create
   606  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   607  // for more information on using Contexts.
   608  func (c *GuardDuty) CreatePublishingDestinationWithContext(ctx aws.Context, input *CreatePublishingDestinationInput, opts ...request.Option) (*CreatePublishingDestinationOutput, error) {
   609  	req, out := c.CreatePublishingDestinationRequest(input)
   610  	req.SetContext(ctx)
   611  	req.ApplyOptions(opts...)
   612  	return out, req.Send()
   613  }
   614  
   615  const opCreateSampleFindings = "CreateSampleFindings"
   616  
   617  // CreateSampleFindingsRequest generates a "aws/request.Request" representing the
   618  // client's request for the CreateSampleFindings operation. The "output" return
   619  // value will be populated with the request's response once the request completes
   620  // successfully.
   621  //
   622  // Use "Send" method on the returned Request to send the API call to the service.
   623  // the "output" return value is not valid until after Send returns without error.
   624  //
   625  // See CreateSampleFindings for more information on using the CreateSampleFindings
   626  // API call, and error handling.
   627  //
   628  // This method is useful when you want to inject custom logic or configuration
   629  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   630  //
   631  //
   632  //    // Example sending a request using the CreateSampleFindingsRequest method.
   633  //    req, resp := client.CreateSampleFindingsRequest(params)
   634  //
   635  //    err := req.Send()
   636  //    if err == nil { // resp is now filled
   637  //        fmt.Println(resp)
   638  //    }
   639  //
   640  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateSampleFindings
   641  func (c *GuardDuty) CreateSampleFindingsRequest(input *CreateSampleFindingsInput) (req *request.Request, output *CreateSampleFindingsOutput) {
   642  	op := &request.Operation{
   643  		Name:       opCreateSampleFindings,
   644  		HTTPMethod: "POST",
   645  		HTTPPath:   "/detector/{detectorId}/findings/create",
   646  	}
   647  
   648  	if input == nil {
   649  		input = &CreateSampleFindingsInput{}
   650  	}
   651  
   652  	output = &CreateSampleFindingsOutput{}
   653  	req = c.newRequest(op, input, output)
   654  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   655  	return
   656  }
   657  
   658  // CreateSampleFindings API operation for Amazon GuardDuty.
   659  //
   660  // Generates example findings of types specified by the list of finding types.
   661  // If 'NULL' is specified for findingTypes, the API generates example findings
   662  // of all supported finding types.
   663  //
   664  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   665  // with awserr.Error's Code and Message methods to get detailed information about
   666  // the error.
   667  //
   668  // See the AWS API reference guide for Amazon GuardDuty's
   669  // API operation CreateSampleFindings for usage and error information.
   670  //
   671  // Returned Error Types:
   672  //   * BadRequestException
   673  //   A bad request exception object.
   674  //
   675  //   * InternalServerErrorException
   676  //   An internal server error exception object.
   677  //
   678  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateSampleFindings
   679  func (c *GuardDuty) CreateSampleFindings(input *CreateSampleFindingsInput) (*CreateSampleFindingsOutput, error) {
   680  	req, out := c.CreateSampleFindingsRequest(input)
   681  	return out, req.Send()
   682  }
   683  
   684  // CreateSampleFindingsWithContext is the same as CreateSampleFindings with the addition of
   685  // the ability to pass a context and additional request options.
   686  //
   687  // See CreateSampleFindings for details on how to use this API operation.
   688  //
   689  // The context must be non-nil and will be used for request cancellation. If
   690  // the context is nil a panic will occur. In the future the SDK may create
   691  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   692  // for more information on using Contexts.
   693  func (c *GuardDuty) CreateSampleFindingsWithContext(ctx aws.Context, input *CreateSampleFindingsInput, opts ...request.Option) (*CreateSampleFindingsOutput, error) {
   694  	req, out := c.CreateSampleFindingsRequest(input)
   695  	req.SetContext(ctx)
   696  	req.ApplyOptions(opts...)
   697  	return out, req.Send()
   698  }
   699  
   700  const opCreateThreatIntelSet = "CreateThreatIntelSet"
   701  
   702  // CreateThreatIntelSetRequest generates a "aws/request.Request" representing the
   703  // client's request for the CreateThreatIntelSet operation. The "output" return
   704  // value will be populated with the request's response once the request completes
   705  // successfully.
   706  //
   707  // Use "Send" method on the returned Request to send the API call to the service.
   708  // the "output" return value is not valid until after Send returns without error.
   709  //
   710  // See CreateThreatIntelSet for more information on using the CreateThreatIntelSet
   711  // API call, and error handling.
   712  //
   713  // This method is useful when you want to inject custom logic or configuration
   714  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   715  //
   716  //
   717  //    // Example sending a request using the CreateThreatIntelSetRequest method.
   718  //    req, resp := client.CreateThreatIntelSetRequest(params)
   719  //
   720  //    err := req.Send()
   721  //    if err == nil { // resp is now filled
   722  //        fmt.Println(resp)
   723  //    }
   724  //
   725  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateThreatIntelSet
   726  func (c *GuardDuty) CreateThreatIntelSetRequest(input *CreateThreatIntelSetInput) (req *request.Request, output *CreateThreatIntelSetOutput) {
   727  	op := &request.Operation{
   728  		Name:       opCreateThreatIntelSet,
   729  		HTTPMethod: "POST",
   730  		HTTPPath:   "/detector/{detectorId}/threatintelset",
   731  	}
   732  
   733  	if input == nil {
   734  		input = &CreateThreatIntelSetInput{}
   735  	}
   736  
   737  	output = &CreateThreatIntelSetOutput{}
   738  	req = c.newRequest(op, input, output)
   739  	return
   740  }
   741  
   742  // CreateThreatIntelSet API operation for Amazon GuardDuty.
   743  //
   744  // Creates a new ThreatIntelSet. ThreatIntelSets consist of known malicious
   745  // IP addresses. GuardDuty generates findings based on ThreatIntelSets. Only
   746  // users of the administrator account can use this operation.
   747  //
   748  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   749  // with awserr.Error's Code and Message methods to get detailed information about
   750  // the error.
   751  //
   752  // See the AWS API reference guide for Amazon GuardDuty's
   753  // API operation CreateThreatIntelSet for usage and error information.
   754  //
   755  // Returned Error Types:
   756  //   * BadRequestException
   757  //   A bad request exception object.
   758  //
   759  //   * InternalServerErrorException
   760  //   An internal server error exception object.
   761  //
   762  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/CreateThreatIntelSet
   763  func (c *GuardDuty) CreateThreatIntelSet(input *CreateThreatIntelSetInput) (*CreateThreatIntelSetOutput, error) {
   764  	req, out := c.CreateThreatIntelSetRequest(input)
   765  	return out, req.Send()
   766  }
   767  
   768  // CreateThreatIntelSetWithContext is the same as CreateThreatIntelSet with the addition of
   769  // the ability to pass a context and additional request options.
   770  //
   771  // See CreateThreatIntelSet for details on how to use this API operation.
   772  //
   773  // The context must be non-nil and will be used for request cancellation. If
   774  // the context is nil a panic will occur. In the future the SDK may create
   775  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   776  // for more information on using Contexts.
   777  func (c *GuardDuty) CreateThreatIntelSetWithContext(ctx aws.Context, input *CreateThreatIntelSetInput, opts ...request.Option) (*CreateThreatIntelSetOutput, error) {
   778  	req, out := c.CreateThreatIntelSetRequest(input)
   779  	req.SetContext(ctx)
   780  	req.ApplyOptions(opts...)
   781  	return out, req.Send()
   782  }
   783  
   784  const opDeclineInvitations = "DeclineInvitations"
   785  
   786  // DeclineInvitationsRequest generates a "aws/request.Request" representing the
   787  // client's request for the DeclineInvitations operation. The "output" return
   788  // value will be populated with the request's response once the request completes
   789  // successfully.
   790  //
   791  // Use "Send" method on the returned Request to send the API call to the service.
   792  // the "output" return value is not valid until after Send returns without error.
   793  //
   794  // See DeclineInvitations for more information on using the DeclineInvitations
   795  // API call, and error handling.
   796  //
   797  // This method is useful when you want to inject custom logic or configuration
   798  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   799  //
   800  //
   801  //    // Example sending a request using the DeclineInvitationsRequest method.
   802  //    req, resp := client.DeclineInvitationsRequest(params)
   803  //
   804  //    err := req.Send()
   805  //    if err == nil { // resp is now filled
   806  //        fmt.Println(resp)
   807  //    }
   808  //
   809  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeclineInvitations
   810  func (c *GuardDuty) DeclineInvitationsRequest(input *DeclineInvitationsInput) (req *request.Request, output *DeclineInvitationsOutput) {
   811  	op := &request.Operation{
   812  		Name:       opDeclineInvitations,
   813  		HTTPMethod: "POST",
   814  		HTTPPath:   "/invitation/decline",
   815  	}
   816  
   817  	if input == nil {
   818  		input = &DeclineInvitationsInput{}
   819  	}
   820  
   821  	output = &DeclineInvitationsOutput{}
   822  	req = c.newRequest(op, input, output)
   823  	return
   824  }
   825  
   826  // DeclineInvitations API operation for Amazon GuardDuty.
   827  //
   828  // Declines invitations sent to the current member account by AWS accounts specified
   829  // by their account IDs.
   830  //
   831  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   832  // with awserr.Error's Code and Message methods to get detailed information about
   833  // the error.
   834  //
   835  // See the AWS API reference guide for Amazon GuardDuty's
   836  // API operation DeclineInvitations for usage and error information.
   837  //
   838  // Returned Error Types:
   839  //   * BadRequestException
   840  //   A bad request exception object.
   841  //
   842  //   * InternalServerErrorException
   843  //   An internal server error exception object.
   844  //
   845  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeclineInvitations
   846  func (c *GuardDuty) DeclineInvitations(input *DeclineInvitationsInput) (*DeclineInvitationsOutput, error) {
   847  	req, out := c.DeclineInvitationsRequest(input)
   848  	return out, req.Send()
   849  }
   850  
   851  // DeclineInvitationsWithContext is the same as DeclineInvitations with the addition of
   852  // the ability to pass a context and additional request options.
   853  //
   854  // See DeclineInvitations for details on how to use this API operation.
   855  //
   856  // The context must be non-nil and will be used for request cancellation. If
   857  // the context is nil a panic will occur. In the future the SDK may create
   858  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   859  // for more information on using Contexts.
   860  func (c *GuardDuty) DeclineInvitationsWithContext(ctx aws.Context, input *DeclineInvitationsInput, opts ...request.Option) (*DeclineInvitationsOutput, error) {
   861  	req, out := c.DeclineInvitationsRequest(input)
   862  	req.SetContext(ctx)
   863  	req.ApplyOptions(opts...)
   864  	return out, req.Send()
   865  }
   866  
   867  const opDeleteDetector = "DeleteDetector"
   868  
   869  // DeleteDetectorRequest generates a "aws/request.Request" representing the
   870  // client's request for the DeleteDetector operation. The "output" return
   871  // value will be populated with the request's response once the request completes
   872  // successfully.
   873  //
   874  // Use "Send" method on the returned Request to send the API call to the service.
   875  // the "output" return value is not valid until after Send returns without error.
   876  //
   877  // See DeleteDetector for more information on using the DeleteDetector
   878  // API call, and error handling.
   879  //
   880  // This method is useful when you want to inject custom logic or configuration
   881  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   882  //
   883  //
   884  //    // Example sending a request using the DeleteDetectorRequest method.
   885  //    req, resp := client.DeleteDetectorRequest(params)
   886  //
   887  //    err := req.Send()
   888  //    if err == nil { // resp is now filled
   889  //        fmt.Println(resp)
   890  //    }
   891  //
   892  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteDetector
   893  func (c *GuardDuty) DeleteDetectorRequest(input *DeleteDetectorInput) (req *request.Request, output *DeleteDetectorOutput) {
   894  	op := &request.Operation{
   895  		Name:       opDeleteDetector,
   896  		HTTPMethod: "DELETE",
   897  		HTTPPath:   "/detector/{detectorId}",
   898  	}
   899  
   900  	if input == nil {
   901  		input = &DeleteDetectorInput{}
   902  	}
   903  
   904  	output = &DeleteDetectorOutput{}
   905  	req = c.newRequest(op, input, output)
   906  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   907  	return
   908  }
   909  
   910  // DeleteDetector API operation for Amazon GuardDuty.
   911  //
   912  // Deletes an Amazon GuardDuty detector that is specified by the detector ID.
   913  //
   914  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   915  // with awserr.Error's Code and Message methods to get detailed information about
   916  // the error.
   917  //
   918  // See the AWS API reference guide for Amazon GuardDuty's
   919  // API operation DeleteDetector for usage and error information.
   920  //
   921  // Returned Error Types:
   922  //   * BadRequestException
   923  //   A bad request exception object.
   924  //
   925  //   * InternalServerErrorException
   926  //   An internal server error exception object.
   927  //
   928  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteDetector
   929  func (c *GuardDuty) DeleteDetector(input *DeleteDetectorInput) (*DeleteDetectorOutput, error) {
   930  	req, out := c.DeleteDetectorRequest(input)
   931  	return out, req.Send()
   932  }
   933  
   934  // DeleteDetectorWithContext is the same as DeleteDetector with the addition of
   935  // the ability to pass a context and additional request options.
   936  //
   937  // See DeleteDetector for details on how to use this API operation.
   938  //
   939  // The context must be non-nil and will be used for request cancellation. If
   940  // the context is nil a panic will occur. In the future the SDK may create
   941  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   942  // for more information on using Contexts.
   943  func (c *GuardDuty) DeleteDetectorWithContext(ctx aws.Context, input *DeleteDetectorInput, opts ...request.Option) (*DeleteDetectorOutput, error) {
   944  	req, out := c.DeleteDetectorRequest(input)
   945  	req.SetContext(ctx)
   946  	req.ApplyOptions(opts...)
   947  	return out, req.Send()
   948  }
   949  
   950  const opDeleteFilter = "DeleteFilter"
   951  
   952  // DeleteFilterRequest generates a "aws/request.Request" representing the
   953  // client's request for the DeleteFilter operation. The "output" return
   954  // value will be populated with the request's response once the request completes
   955  // successfully.
   956  //
   957  // Use "Send" method on the returned Request to send the API call to the service.
   958  // the "output" return value is not valid until after Send returns without error.
   959  //
   960  // See DeleteFilter for more information on using the DeleteFilter
   961  // API call, and error handling.
   962  //
   963  // This method is useful when you want to inject custom logic or configuration
   964  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   965  //
   966  //
   967  //    // Example sending a request using the DeleteFilterRequest method.
   968  //    req, resp := client.DeleteFilterRequest(params)
   969  //
   970  //    err := req.Send()
   971  //    if err == nil { // resp is now filled
   972  //        fmt.Println(resp)
   973  //    }
   974  //
   975  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteFilter
   976  func (c *GuardDuty) DeleteFilterRequest(input *DeleteFilterInput) (req *request.Request, output *DeleteFilterOutput) {
   977  	op := &request.Operation{
   978  		Name:       opDeleteFilter,
   979  		HTTPMethod: "DELETE",
   980  		HTTPPath:   "/detector/{detectorId}/filter/{filterName}",
   981  	}
   982  
   983  	if input == nil {
   984  		input = &DeleteFilterInput{}
   985  	}
   986  
   987  	output = &DeleteFilterOutput{}
   988  	req = c.newRequest(op, input, output)
   989  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   990  	return
   991  }
   992  
   993  // DeleteFilter API operation for Amazon GuardDuty.
   994  //
   995  // Deletes the filter specified by the filter name.
   996  //
   997  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   998  // with awserr.Error's Code and Message methods to get detailed information about
   999  // the error.
  1000  //
  1001  // See the AWS API reference guide for Amazon GuardDuty's
  1002  // API operation DeleteFilter for usage and error information.
  1003  //
  1004  // Returned Error Types:
  1005  //   * BadRequestException
  1006  //   A bad request exception object.
  1007  //
  1008  //   * InternalServerErrorException
  1009  //   An internal server error exception object.
  1010  //
  1011  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteFilter
  1012  func (c *GuardDuty) DeleteFilter(input *DeleteFilterInput) (*DeleteFilterOutput, error) {
  1013  	req, out := c.DeleteFilterRequest(input)
  1014  	return out, req.Send()
  1015  }
  1016  
  1017  // DeleteFilterWithContext is the same as DeleteFilter with the addition of
  1018  // the ability to pass a context and additional request options.
  1019  //
  1020  // See DeleteFilter for details on how to use this API operation.
  1021  //
  1022  // The context must be non-nil and will be used for request cancellation. If
  1023  // the context is nil a panic will occur. In the future the SDK may create
  1024  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1025  // for more information on using Contexts.
  1026  func (c *GuardDuty) DeleteFilterWithContext(ctx aws.Context, input *DeleteFilterInput, opts ...request.Option) (*DeleteFilterOutput, error) {
  1027  	req, out := c.DeleteFilterRequest(input)
  1028  	req.SetContext(ctx)
  1029  	req.ApplyOptions(opts...)
  1030  	return out, req.Send()
  1031  }
  1032  
  1033  const opDeleteIPSet = "DeleteIPSet"
  1034  
  1035  // DeleteIPSetRequest generates a "aws/request.Request" representing the
  1036  // client's request for the DeleteIPSet operation. The "output" return
  1037  // value will be populated with the request's response once the request completes
  1038  // successfully.
  1039  //
  1040  // Use "Send" method on the returned Request to send the API call to the service.
  1041  // the "output" return value is not valid until after Send returns without error.
  1042  //
  1043  // See DeleteIPSet for more information on using the DeleteIPSet
  1044  // API call, and error handling.
  1045  //
  1046  // This method is useful when you want to inject custom logic or configuration
  1047  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1048  //
  1049  //
  1050  //    // Example sending a request using the DeleteIPSetRequest method.
  1051  //    req, resp := client.DeleteIPSetRequest(params)
  1052  //
  1053  //    err := req.Send()
  1054  //    if err == nil { // resp is now filled
  1055  //        fmt.Println(resp)
  1056  //    }
  1057  //
  1058  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteIPSet
  1059  func (c *GuardDuty) DeleteIPSetRequest(input *DeleteIPSetInput) (req *request.Request, output *DeleteIPSetOutput) {
  1060  	op := &request.Operation{
  1061  		Name:       opDeleteIPSet,
  1062  		HTTPMethod: "DELETE",
  1063  		HTTPPath:   "/detector/{detectorId}/ipset/{ipSetId}",
  1064  	}
  1065  
  1066  	if input == nil {
  1067  		input = &DeleteIPSetInput{}
  1068  	}
  1069  
  1070  	output = &DeleteIPSetOutput{}
  1071  	req = c.newRequest(op, input, output)
  1072  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1073  	return
  1074  }
  1075  
  1076  // DeleteIPSet API operation for Amazon GuardDuty.
  1077  //
  1078  // Deletes the IPSet specified by the ipSetId. IPSets are called trusted IP
  1079  // lists in the console user interface.
  1080  //
  1081  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1082  // with awserr.Error's Code and Message methods to get detailed information about
  1083  // the error.
  1084  //
  1085  // See the AWS API reference guide for Amazon GuardDuty's
  1086  // API operation DeleteIPSet for usage and error information.
  1087  //
  1088  // Returned Error Types:
  1089  //   * BadRequestException
  1090  //   A bad request exception object.
  1091  //
  1092  //   * InternalServerErrorException
  1093  //   An internal server error exception object.
  1094  //
  1095  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteIPSet
  1096  func (c *GuardDuty) DeleteIPSet(input *DeleteIPSetInput) (*DeleteIPSetOutput, error) {
  1097  	req, out := c.DeleteIPSetRequest(input)
  1098  	return out, req.Send()
  1099  }
  1100  
  1101  // DeleteIPSetWithContext is the same as DeleteIPSet with the addition of
  1102  // the ability to pass a context and additional request options.
  1103  //
  1104  // See DeleteIPSet for details on how to use this API operation.
  1105  //
  1106  // The context must be non-nil and will be used for request cancellation. If
  1107  // the context is nil a panic will occur. In the future the SDK may create
  1108  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1109  // for more information on using Contexts.
  1110  func (c *GuardDuty) DeleteIPSetWithContext(ctx aws.Context, input *DeleteIPSetInput, opts ...request.Option) (*DeleteIPSetOutput, error) {
  1111  	req, out := c.DeleteIPSetRequest(input)
  1112  	req.SetContext(ctx)
  1113  	req.ApplyOptions(opts...)
  1114  	return out, req.Send()
  1115  }
  1116  
  1117  const opDeleteInvitations = "DeleteInvitations"
  1118  
  1119  // DeleteInvitationsRequest generates a "aws/request.Request" representing the
  1120  // client's request for the DeleteInvitations operation. The "output" return
  1121  // value will be populated with the request's response once the request completes
  1122  // successfully.
  1123  //
  1124  // Use "Send" method on the returned Request to send the API call to the service.
  1125  // the "output" return value is not valid until after Send returns without error.
  1126  //
  1127  // See DeleteInvitations for more information on using the DeleteInvitations
  1128  // API call, and error handling.
  1129  //
  1130  // This method is useful when you want to inject custom logic or configuration
  1131  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1132  //
  1133  //
  1134  //    // Example sending a request using the DeleteInvitationsRequest method.
  1135  //    req, resp := client.DeleteInvitationsRequest(params)
  1136  //
  1137  //    err := req.Send()
  1138  //    if err == nil { // resp is now filled
  1139  //        fmt.Println(resp)
  1140  //    }
  1141  //
  1142  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteInvitations
  1143  func (c *GuardDuty) DeleteInvitationsRequest(input *DeleteInvitationsInput) (req *request.Request, output *DeleteInvitationsOutput) {
  1144  	op := &request.Operation{
  1145  		Name:       opDeleteInvitations,
  1146  		HTTPMethod: "POST",
  1147  		HTTPPath:   "/invitation/delete",
  1148  	}
  1149  
  1150  	if input == nil {
  1151  		input = &DeleteInvitationsInput{}
  1152  	}
  1153  
  1154  	output = &DeleteInvitationsOutput{}
  1155  	req = c.newRequest(op, input, output)
  1156  	return
  1157  }
  1158  
  1159  // DeleteInvitations API operation for Amazon GuardDuty.
  1160  //
  1161  // Deletes invitations sent to the current member account by AWS accounts specified
  1162  // by their account IDs.
  1163  //
  1164  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1165  // with awserr.Error's Code and Message methods to get detailed information about
  1166  // the error.
  1167  //
  1168  // See the AWS API reference guide for Amazon GuardDuty's
  1169  // API operation DeleteInvitations for usage and error information.
  1170  //
  1171  // Returned Error Types:
  1172  //   * BadRequestException
  1173  //   A bad request exception object.
  1174  //
  1175  //   * InternalServerErrorException
  1176  //   An internal server error exception object.
  1177  //
  1178  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteInvitations
  1179  func (c *GuardDuty) DeleteInvitations(input *DeleteInvitationsInput) (*DeleteInvitationsOutput, error) {
  1180  	req, out := c.DeleteInvitationsRequest(input)
  1181  	return out, req.Send()
  1182  }
  1183  
  1184  // DeleteInvitationsWithContext is the same as DeleteInvitations with the addition of
  1185  // the ability to pass a context and additional request options.
  1186  //
  1187  // See DeleteInvitations for details on how to use this API operation.
  1188  //
  1189  // The context must be non-nil and will be used for request cancellation. If
  1190  // the context is nil a panic will occur. In the future the SDK may create
  1191  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1192  // for more information on using Contexts.
  1193  func (c *GuardDuty) DeleteInvitationsWithContext(ctx aws.Context, input *DeleteInvitationsInput, opts ...request.Option) (*DeleteInvitationsOutput, error) {
  1194  	req, out := c.DeleteInvitationsRequest(input)
  1195  	req.SetContext(ctx)
  1196  	req.ApplyOptions(opts...)
  1197  	return out, req.Send()
  1198  }
  1199  
  1200  const opDeleteMembers = "DeleteMembers"
  1201  
  1202  // DeleteMembersRequest generates a "aws/request.Request" representing the
  1203  // client's request for the DeleteMembers operation. The "output" return
  1204  // value will be populated with the request's response once the request completes
  1205  // successfully.
  1206  //
  1207  // Use "Send" method on the returned Request to send the API call to the service.
  1208  // the "output" return value is not valid until after Send returns without error.
  1209  //
  1210  // See DeleteMembers for more information on using the DeleteMembers
  1211  // API call, and error handling.
  1212  //
  1213  // This method is useful when you want to inject custom logic or configuration
  1214  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1215  //
  1216  //
  1217  //    // Example sending a request using the DeleteMembersRequest method.
  1218  //    req, resp := client.DeleteMembersRequest(params)
  1219  //
  1220  //    err := req.Send()
  1221  //    if err == nil { // resp is now filled
  1222  //        fmt.Println(resp)
  1223  //    }
  1224  //
  1225  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteMembers
  1226  func (c *GuardDuty) DeleteMembersRequest(input *DeleteMembersInput) (req *request.Request, output *DeleteMembersOutput) {
  1227  	op := &request.Operation{
  1228  		Name:       opDeleteMembers,
  1229  		HTTPMethod: "POST",
  1230  		HTTPPath:   "/detector/{detectorId}/member/delete",
  1231  	}
  1232  
  1233  	if input == nil {
  1234  		input = &DeleteMembersInput{}
  1235  	}
  1236  
  1237  	output = &DeleteMembersOutput{}
  1238  	req = c.newRequest(op, input, output)
  1239  	return
  1240  }
  1241  
  1242  // DeleteMembers API operation for Amazon GuardDuty.
  1243  //
  1244  // Deletes GuardDuty member accounts (to the current GuardDuty administrator
  1245  // account) specified by the account IDs.
  1246  //
  1247  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1248  // with awserr.Error's Code and Message methods to get detailed information about
  1249  // the error.
  1250  //
  1251  // See the AWS API reference guide for Amazon GuardDuty's
  1252  // API operation DeleteMembers for usage and error information.
  1253  //
  1254  // Returned Error Types:
  1255  //   * BadRequestException
  1256  //   A bad request exception object.
  1257  //
  1258  //   * InternalServerErrorException
  1259  //   An internal server error exception object.
  1260  //
  1261  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteMembers
  1262  func (c *GuardDuty) DeleteMembers(input *DeleteMembersInput) (*DeleteMembersOutput, error) {
  1263  	req, out := c.DeleteMembersRequest(input)
  1264  	return out, req.Send()
  1265  }
  1266  
  1267  // DeleteMembersWithContext is the same as DeleteMembers with the addition of
  1268  // the ability to pass a context and additional request options.
  1269  //
  1270  // See DeleteMembers for details on how to use this API operation.
  1271  //
  1272  // The context must be non-nil and will be used for request cancellation. If
  1273  // the context is nil a panic will occur. In the future the SDK may create
  1274  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1275  // for more information on using Contexts.
  1276  func (c *GuardDuty) DeleteMembersWithContext(ctx aws.Context, input *DeleteMembersInput, opts ...request.Option) (*DeleteMembersOutput, error) {
  1277  	req, out := c.DeleteMembersRequest(input)
  1278  	req.SetContext(ctx)
  1279  	req.ApplyOptions(opts...)
  1280  	return out, req.Send()
  1281  }
  1282  
  1283  const opDeletePublishingDestination = "DeletePublishingDestination"
  1284  
  1285  // DeletePublishingDestinationRequest generates a "aws/request.Request" representing the
  1286  // client's request for the DeletePublishingDestination operation. The "output" return
  1287  // value will be populated with the request's response once the request completes
  1288  // successfully.
  1289  //
  1290  // Use "Send" method on the returned Request to send the API call to the service.
  1291  // the "output" return value is not valid until after Send returns without error.
  1292  //
  1293  // See DeletePublishingDestination for more information on using the DeletePublishingDestination
  1294  // API call, and error handling.
  1295  //
  1296  // This method is useful when you want to inject custom logic or configuration
  1297  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1298  //
  1299  //
  1300  //    // Example sending a request using the DeletePublishingDestinationRequest method.
  1301  //    req, resp := client.DeletePublishingDestinationRequest(params)
  1302  //
  1303  //    err := req.Send()
  1304  //    if err == nil { // resp is now filled
  1305  //        fmt.Println(resp)
  1306  //    }
  1307  //
  1308  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeletePublishingDestination
  1309  func (c *GuardDuty) DeletePublishingDestinationRequest(input *DeletePublishingDestinationInput) (req *request.Request, output *DeletePublishingDestinationOutput) {
  1310  	op := &request.Operation{
  1311  		Name:       opDeletePublishingDestination,
  1312  		HTTPMethod: "DELETE",
  1313  		HTTPPath:   "/detector/{detectorId}/publishingDestination/{destinationId}",
  1314  	}
  1315  
  1316  	if input == nil {
  1317  		input = &DeletePublishingDestinationInput{}
  1318  	}
  1319  
  1320  	output = &DeletePublishingDestinationOutput{}
  1321  	req = c.newRequest(op, input, output)
  1322  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1323  	return
  1324  }
  1325  
  1326  // DeletePublishingDestination API operation for Amazon GuardDuty.
  1327  //
  1328  // Deletes the publishing definition with the specified destinationId.
  1329  //
  1330  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1331  // with awserr.Error's Code and Message methods to get detailed information about
  1332  // the error.
  1333  //
  1334  // See the AWS API reference guide for Amazon GuardDuty's
  1335  // API operation DeletePublishingDestination for usage and error information.
  1336  //
  1337  // Returned Error Types:
  1338  //   * BadRequestException
  1339  //   A bad request exception object.
  1340  //
  1341  //   * InternalServerErrorException
  1342  //   An internal server error exception object.
  1343  //
  1344  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeletePublishingDestination
  1345  func (c *GuardDuty) DeletePublishingDestination(input *DeletePublishingDestinationInput) (*DeletePublishingDestinationOutput, error) {
  1346  	req, out := c.DeletePublishingDestinationRequest(input)
  1347  	return out, req.Send()
  1348  }
  1349  
  1350  // DeletePublishingDestinationWithContext is the same as DeletePublishingDestination with the addition of
  1351  // the ability to pass a context and additional request options.
  1352  //
  1353  // See DeletePublishingDestination for details on how to use this API operation.
  1354  //
  1355  // The context must be non-nil and will be used for request cancellation. If
  1356  // the context is nil a panic will occur. In the future the SDK may create
  1357  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1358  // for more information on using Contexts.
  1359  func (c *GuardDuty) DeletePublishingDestinationWithContext(ctx aws.Context, input *DeletePublishingDestinationInput, opts ...request.Option) (*DeletePublishingDestinationOutput, error) {
  1360  	req, out := c.DeletePublishingDestinationRequest(input)
  1361  	req.SetContext(ctx)
  1362  	req.ApplyOptions(opts...)
  1363  	return out, req.Send()
  1364  }
  1365  
  1366  const opDeleteThreatIntelSet = "DeleteThreatIntelSet"
  1367  
  1368  // DeleteThreatIntelSetRequest generates a "aws/request.Request" representing the
  1369  // client's request for the DeleteThreatIntelSet operation. The "output" return
  1370  // value will be populated with the request's response once the request completes
  1371  // successfully.
  1372  //
  1373  // Use "Send" method on the returned Request to send the API call to the service.
  1374  // the "output" return value is not valid until after Send returns without error.
  1375  //
  1376  // See DeleteThreatIntelSet for more information on using the DeleteThreatIntelSet
  1377  // API call, and error handling.
  1378  //
  1379  // This method is useful when you want to inject custom logic or configuration
  1380  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1381  //
  1382  //
  1383  //    // Example sending a request using the DeleteThreatIntelSetRequest method.
  1384  //    req, resp := client.DeleteThreatIntelSetRequest(params)
  1385  //
  1386  //    err := req.Send()
  1387  //    if err == nil { // resp is now filled
  1388  //        fmt.Println(resp)
  1389  //    }
  1390  //
  1391  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteThreatIntelSet
  1392  func (c *GuardDuty) DeleteThreatIntelSetRequest(input *DeleteThreatIntelSetInput) (req *request.Request, output *DeleteThreatIntelSetOutput) {
  1393  	op := &request.Operation{
  1394  		Name:       opDeleteThreatIntelSet,
  1395  		HTTPMethod: "DELETE",
  1396  		HTTPPath:   "/detector/{detectorId}/threatintelset/{threatIntelSetId}",
  1397  	}
  1398  
  1399  	if input == nil {
  1400  		input = &DeleteThreatIntelSetInput{}
  1401  	}
  1402  
  1403  	output = &DeleteThreatIntelSetOutput{}
  1404  	req = c.newRequest(op, input, output)
  1405  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1406  	return
  1407  }
  1408  
  1409  // DeleteThreatIntelSet API operation for Amazon GuardDuty.
  1410  //
  1411  // Deletes the ThreatIntelSet specified by the ThreatIntelSet ID.
  1412  //
  1413  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1414  // with awserr.Error's Code and Message methods to get detailed information about
  1415  // the error.
  1416  //
  1417  // See the AWS API reference guide for Amazon GuardDuty's
  1418  // API operation DeleteThreatIntelSet for usage and error information.
  1419  //
  1420  // Returned Error Types:
  1421  //   * BadRequestException
  1422  //   A bad request exception object.
  1423  //
  1424  //   * InternalServerErrorException
  1425  //   An internal server error exception object.
  1426  //
  1427  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DeleteThreatIntelSet
  1428  func (c *GuardDuty) DeleteThreatIntelSet(input *DeleteThreatIntelSetInput) (*DeleteThreatIntelSetOutput, error) {
  1429  	req, out := c.DeleteThreatIntelSetRequest(input)
  1430  	return out, req.Send()
  1431  }
  1432  
  1433  // DeleteThreatIntelSetWithContext is the same as DeleteThreatIntelSet with the addition of
  1434  // the ability to pass a context and additional request options.
  1435  //
  1436  // See DeleteThreatIntelSet for details on how to use this API operation.
  1437  //
  1438  // The context must be non-nil and will be used for request cancellation. If
  1439  // the context is nil a panic will occur. In the future the SDK may create
  1440  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1441  // for more information on using Contexts.
  1442  func (c *GuardDuty) DeleteThreatIntelSetWithContext(ctx aws.Context, input *DeleteThreatIntelSetInput, opts ...request.Option) (*DeleteThreatIntelSetOutput, error) {
  1443  	req, out := c.DeleteThreatIntelSetRequest(input)
  1444  	req.SetContext(ctx)
  1445  	req.ApplyOptions(opts...)
  1446  	return out, req.Send()
  1447  }
  1448  
  1449  const opDescribeOrganizationConfiguration = "DescribeOrganizationConfiguration"
  1450  
  1451  // DescribeOrganizationConfigurationRequest generates a "aws/request.Request" representing the
  1452  // client's request for the DescribeOrganizationConfiguration operation. The "output" return
  1453  // value will be populated with the request's response once the request completes
  1454  // successfully.
  1455  //
  1456  // Use "Send" method on the returned Request to send the API call to the service.
  1457  // the "output" return value is not valid until after Send returns without error.
  1458  //
  1459  // See DescribeOrganizationConfiguration for more information on using the DescribeOrganizationConfiguration
  1460  // API call, and error handling.
  1461  //
  1462  // This method is useful when you want to inject custom logic or configuration
  1463  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1464  //
  1465  //
  1466  //    // Example sending a request using the DescribeOrganizationConfigurationRequest method.
  1467  //    req, resp := client.DescribeOrganizationConfigurationRequest(params)
  1468  //
  1469  //    err := req.Send()
  1470  //    if err == nil { // resp is now filled
  1471  //        fmt.Println(resp)
  1472  //    }
  1473  //
  1474  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribeOrganizationConfiguration
  1475  func (c *GuardDuty) DescribeOrganizationConfigurationRequest(input *DescribeOrganizationConfigurationInput) (req *request.Request, output *DescribeOrganizationConfigurationOutput) {
  1476  	op := &request.Operation{
  1477  		Name:       opDescribeOrganizationConfiguration,
  1478  		HTTPMethod: "GET",
  1479  		HTTPPath:   "/detector/{detectorId}/admin",
  1480  	}
  1481  
  1482  	if input == nil {
  1483  		input = &DescribeOrganizationConfigurationInput{}
  1484  	}
  1485  
  1486  	output = &DescribeOrganizationConfigurationOutput{}
  1487  	req = c.newRequest(op, input, output)
  1488  	return
  1489  }
  1490  
  1491  // DescribeOrganizationConfiguration API operation for Amazon GuardDuty.
  1492  //
  1493  // Returns information about the account selected as the delegated administrator
  1494  // for GuardDuty.
  1495  //
  1496  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1497  // with awserr.Error's Code and Message methods to get detailed information about
  1498  // the error.
  1499  //
  1500  // See the AWS API reference guide for Amazon GuardDuty's
  1501  // API operation DescribeOrganizationConfiguration for usage and error information.
  1502  //
  1503  // Returned Error Types:
  1504  //   * BadRequestException
  1505  //   A bad request exception object.
  1506  //
  1507  //   * InternalServerErrorException
  1508  //   An internal server error exception object.
  1509  //
  1510  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribeOrganizationConfiguration
  1511  func (c *GuardDuty) DescribeOrganizationConfiguration(input *DescribeOrganizationConfigurationInput) (*DescribeOrganizationConfigurationOutput, error) {
  1512  	req, out := c.DescribeOrganizationConfigurationRequest(input)
  1513  	return out, req.Send()
  1514  }
  1515  
  1516  // DescribeOrganizationConfigurationWithContext is the same as DescribeOrganizationConfiguration with the addition of
  1517  // the ability to pass a context and additional request options.
  1518  //
  1519  // See DescribeOrganizationConfiguration for details on how to use this API operation.
  1520  //
  1521  // The context must be non-nil and will be used for request cancellation. If
  1522  // the context is nil a panic will occur. In the future the SDK may create
  1523  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1524  // for more information on using Contexts.
  1525  func (c *GuardDuty) DescribeOrganizationConfigurationWithContext(ctx aws.Context, input *DescribeOrganizationConfigurationInput, opts ...request.Option) (*DescribeOrganizationConfigurationOutput, error) {
  1526  	req, out := c.DescribeOrganizationConfigurationRequest(input)
  1527  	req.SetContext(ctx)
  1528  	req.ApplyOptions(opts...)
  1529  	return out, req.Send()
  1530  }
  1531  
  1532  const opDescribePublishingDestination = "DescribePublishingDestination"
  1533  
  1534  // DescribePublishingDestinationRequest generates a "aws/request.Request" representing the
  1535  // client's request for the DescribePublishingDestination operation. The "output" return
  1536  // value will be populated with the request's response once the request completes
  1537  // successfully.
  1538  //
  1539  // Use "Send" method on the returned Request to send the API call to the service.
  1540  // the "output" return value is not valid until after Send returns without error.
  1541  //
  1542  // See DescribePublishingDestination for more information on using the DescribePublishingDestination
  1543  // API call, and error handling.
  1544  //
  1545  // This method is useful when you want to inject custom logic or configuration
  1546  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1547  //
  1548  //
  1549  //    // Example sending a request using the DescribePublishingDestinationRequest method.
  1550  //    req, resp := client.DescribePublishingDestinationRequest(params)
  1551  //
  1552  //    err := req.Send()
  1553  //    if err == nil { // resp is now filled
  1554  //        fmt.Println(resp)
  1555  //    }
  1556  //
  1557  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribePublishingDestination
  1558  func (c *GuardDuty) DescribePublishingDestinationRequest(input *DescribePublishingDestinationInput) (req *request.Request, output *DescribePublishingDestinationOutput) {
  1559  	op := &request.Operation{
  1560  		Name:       opDescribePublishingDestination,
  1561  		HTTPMethod: "GET",
  1562  		HTTPPath:   "/detector/{detectorId}/publishingDestination/{destinationId}",
  1563  	}
  1564  
  1565  	if input == nil {
  1566  		input = &DescribePublishingDestinationInput{}
  1567  	}
  1568  
  1569  	output = &DescribePublishingDestinationOutput{}
  1570  	req = c.newRequest(op, input, output)
  1571  	return
  1572  }
  1573  
  1574  // DescribePublishingDestination API operation for Amazon GuardDuty.
  1575  //
  1576  // Returns information about the publishing destination specified by the provided
  1577  // destinationId.
  1578  //
  1579  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1580  // with awserr.Error's Code and Message methods to get detailed information about
  1581  // the error.
  1582  //
  1583  // See the AWS API reference guide for Amazon GuardDuty's
  1584  // API operation DescribePublishingDestination for usage and error information.
  1585  //
  1586  // Returned Error Types:
  1587  //   * BadRequestException
  1588  //   A bad request exception object.
  1589  //
  1590  //   * InternalServerErrorException
  1591  //   An internal server error exception object.
  1592  //
  1593  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DescribePublishingDestination
  1594  func (c *GuardDuty) DescribePublishingDestination(input *DescribePublishingDestinationInput) (*DescribePublishingDestinationOutput, error) {
  1595  	req, out := c.DescribePublishingDestinationRequest(input)
  1596  	return out, req.Send()
  1597  }
  1598  
  1599  // DescribePublishingDestinationWithContext is the same as DescribePublishingDestination with the addition of
  1600  // the ability to pass a context and additional request options.
  1601  //
  1602  // See DescribePublishingDestination for details on how to use this API operation.
  1603  //
  1604  // The context must be non-nil and will be used for request cancellation. If
  1605  // the context is nil a panic will occur. In the future the SDK may create
  1606  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1607  // for more information on using Contexts.
  1608  func (c *GuardDuty) DescribePublishingDestinationWithContext(ctx aws.Context, input *DescribePublishingDestinationInput, opts ...request.Option) (*DescribePublishingDestinationOutput, error) {
  1609  	req, out := c.DescribePublishingDestinationRequest(input)
  1610  	req.SetContext(ctx)
  1611  	req.ApplyOptions(opts...)
  1612  	return out, req.Send()
  1613  }
  1614  
  1615  const opDisableOrganizationAdminAccount = "DisableOrganizationAdminAccount"
  1616  
  1617  // DisableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
  1618  // client's request for the DisableOrganizationAdminAccount operation. The "output" return
  1619  // value will be populated with the request's response once the request completes
  1620  // successfully.
  1621  //
  1622  // Use "Send" method on the returned Request to send the API call to the service.
  1623  // the "output" return value is not valid until after Send returns without error.
  1624  //
  1625  // See DisableOrganizationAdminAccount for more information on using the DisableOrganizationAdminAccount
  1626  // API call, and error handling.
  1627  //
  1628  // This method is useful when you want to inject custom logic or configuration
  1629  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1630  //
  1631  //
  1632  //    // Example sending a request using the DisableOrganizationAdminAccountRequest method.
  1633  //    req, resp := client.DisableOrganizationAdminAccountRequest(params)
  1634  //
  1635  //    err := req.Send()
  1636  //    if err == nil { // resp is now filled
  1637  //        fmt.Println(resp)
  1638  //    }
  1639  //
  1640  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisableOrganizationAdminAccount
  1641  func (c *GuardDuty) DisableOrganizationAdminAccountRequest(input *DisableOrganizationAdminAccountInput) (req *request.Request, output *DisableOrganizationAdminAccountOutput) {
  1642  	op := &request.Operation{
  1643  		Name:       opDisableOrganizationAdminAccount,
  1644  		HTTPMethod: "POST",
  1645  		HTTPPath:   "/admin/disable",
  1646  	}
  1647  
  1648  	if input == nil {
  1649  		input = &DisableOrganizationAdminAccountInput{}
  1650  	}
  1651  
  1652  	output = &DisableOrganizationAdminAccountOutput{}
  1653  	req = c.newRequest(op, input, output)
  1654  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1655  	return
  1656  }
  1657  
  1658  // DisableOrganizationAdminAccount API operation for Amazon GuardDuty.
  1659  //
  1660  // Disables an AWS account within the Organization as the GuardDuty delegated
  1661  // administrator.
  1662  //
  1663  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1664  // with awserr.Error's Code and Message methods to get detailed information about
  1665  // the error.
  1666  //
  1667  // See the AWS API reference guide for Amazon GuardDuty's
  1668  // API operation DisableOrganizationAdminAccount for usage and error information.
  1669  //
  1670  // Returned Error Types:
  1671  //   * BadRequestException
  1672  //   A bad request exception object.
  1673  //
  1674  //   * InternalServerErrorException
  1675  //   An internal server error exception object.
  1676  //
  1677  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisableOrganizationAdminAccount
  1678  func (c *GuardDuty) DisableOrganizationAdminAccount(input *DisableOrganizationAdminAccountInput) (*DisableOrganizationAdminAccountOutput, error) {
  1679  	req, out := c.DisableOrganizationAdminAccountRequest(input)
  1680  	return out, req.Send()
  1681  }
  1682  
  1683  // DisableOrganizationAdminAccountWithContext is the same as DisableOrganizationAdminAccount with the addition of
  1684  // the ability to pass a context and additional request options.
  1685  //
  1686  // See DisableOrganizationAdminAccount for details on how to use this API operation.
  1687  //
  1688  // The context must be non-nil and will be used for request cancellation. If
  1689  // the context is nil a panic will occur. In the future the SDK may create
  1690  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1691  // for more information on using Contexts.
  1692  func (c *GuardDuty) DisableOrganizationAdminAccountWithContext(ctx aws.Context, input *DisableOrganizationAdminAccountInput, opts ...request.Option) (*DisableOrganizationAdminAccountOutput, error) {
  1693  	req, out := c.DisableOrganizationAdminAccountRequest(input)
  1694  	req.SetContext(ctx)
  1695  	req.ApplyOptions(opts...)
  1696  	return out, req.Send()
  1697  }
  1698  
  1699  const opDisassociateFromMasterAccount = "DisassociateFromMasterAccount"
  1700  
  1701  // DisassociateFromMasterAccountRequest generates a "aws/request.Request" representing the
  1702  // client's request for the DisassociateFromMasterAccount operation. The "output" return
  1703  // value will be populated with the request's response once the request completes
  1704  // successfully.
  1705  //
  1706  // Use "Send" method on the returned Request to send the API call to the service.
  1707  // the "output" return value is not valid until after Send returns without error.
  1708  //
  1709  // See DisassociateFromMasterAccount for more information on using the DisassociateFromMasterAccount
  1710  // API call, and error handling.
  1711  //
  1712  // This method is useful when you want to inject custom logic or configuration
  1713  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1714  //
  1715  //
  1716  //    // Example sending a request using the DisassociateFromMasterAccountRequest method.
  1717  //    req, resp := client.DisassociateFromMasterAccountRequest(params)
  1718  //
  1719  //    err := req.Send()
  1720  //    if err == nil { // resp is now filled
  1721  //        fmt.Println(resp)
  1722  //    }
  1723  //
  1724  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateFromMasterAccount
  1725  func (c *GuardDuty) DisassociateFromMasterAccountRequest(input *DisassociateFromMasterAccountInput) (req *request.Request, output *DisassociateFromMasterAccountOutput) {
  1726  	op := &request.Operation{
  1727  		Name:       opDisassociateFromMasterAccount,
  1728  		HTTPMethod: "POST",
  1729  		HTTPPath:   "/detector/{detectorId}/master/disassociate",
  1730  	}
  1731  
  1732  	if input == nil {
  1733  		input = &DisassociateFromMasterAccountInput{}
  1734  	}
  1735  
  1736  	output = &DisassociateFromMasterAccountOutput{}
  1737  	req = c.newRequest(op, input, output)
  1738  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1739  	return
  1740  }
  1741  
  1742  // DisassociateFromMasterAccount API operation for Amazon GuardDuty.
  1743  //
  1744  // Disassociates the current GuardDuty member account from its administrator
  1745  // account.
  1746  //
  1747  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1748  // with awserr.Error's Code and Message methods to get detailed information about
  1749  // the error.
  1750  //
  1751  // See the AWS API reference guide for Amazon GuardDuty's
  1752  // API operation DisassociateFromMasterAccount for usage and error information.
  1753  //
  1754  // Returned Error Types:
  1755  //   * BadRequestException
  1756  //   A bad request exception object.
  1757  //
  1758  //   * InternalServerErrorException
  1759  //   An internal server error exception object.
  1760  //
  1761  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateFromMasterAccount
  1762  func (c *GuardDuty) DisassociateFromMasterAccount(input *DisassociateFromMasterAccountInput) (*DisassociateFromMasterAccountOutput, error) {
  1763  	req, out := c.DisassociateFromMasterAccountRequest(input)
  1764  	return out, req.Send()
  1765  }
  1766  
  1767  // DisassociateFromMasterAccountWithContext is the same as DisassociateFromMasterAccount with the addition of
  1768  // the ability to pass a context and additional request options.
  1769  //
  1770  // See DisassociateFromMasterAccount for details on how to use this API operation.
  1771  //
  1772  // The context must be non-nil and will be used for request cancellation. If
  1773  // the context is nil a panic will occur. In the future the SDK may create
  1774  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1775  // for more information on using Contexts.
  1776  func (c *GuardDuty) DisassociateFromMasterAccountWithContext(ctx aws.Context, input *DisassociateFromMasterAccountInput, opts ...request.Option) (*DisassociateFromMasterAccountOutput, error) {
  1777  	req, out := c.DisassociateFromMasterAccountRequest(input)
  1778  	req.SetContext(ctx)
  1779  	req.ApplyOptions(opts...)
  1780  	return out, req.Send()
  1781  }
  1782  
  1783  const opDisassociateMembers = "DisassociateMembers"
  1784  
  1785  // DisassociateMembersRequest generates a "aws/request.Request" representing the
  1786  // client's request for the DisassociateMembers operation. The "output" return
  1787  // value will be populated with the request's response once the request completes
  1788  // successfully.
  1789  //
  1790  // Use "Send" method on the returned Request to send the API call to the service.
  1791  // the "output" return value is not valid until after Send returns without error.
  1792  //
  1793  // See DisassociateMembers for more information on using the DisassociateMembers
  1794  // API call, and error handling.
  1795  //
  1796  // This method is useful when you want to inject custom logic or configuration
  1797  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1798  //
  1799  //
  1800  //    // Example sending a request using the DisassociateMembersRequest method.
  1801  //    req, resp := client.DisassociateMembersRequest(params)
  1802  //
  1803  //    err := req.Send()
  1804  //    if err == nil { // resp is now filled
  1805  //        fmt.Println(resp)
  1806  //    }
  1807  //
  1808  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateMembers
  1809  func (c *GuardDuty) DisassociateMembersRequest(input *DisassociateMembersInput) (req *request.Request, output *DisassociateMembersOutput) {
  1810  	op := &request.Operation{
  1811  		Name:       opDisassociateMembers,
  1812  		HTTPMethod: "POST",
  1813  		HTTPPath:   "/detector/{detectorId}/member/disassociate",
  1814  	}
  1815  
  1816  	if input == nil {
  1817  		input = &DisassociateMembersInput{}
  1818  	}
  1819  
  1820  	output = &DisassociateMembersOutput{}
  1821  	req = c.newRequest(op, input, output)
  1822  	return
  1823  }
  1824  
  1825  // DisassociateMembers API operation for Amazon GuardDuty.
  1826  //
  1827  // Disassociates GuardDuty member accounts (to the current GuardDuty administrator
  1828  // account) specified by the account IDs.
  1829  //
  1830  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1831  // with awserr.Error's Code and Message methods to get detailed information about
  1832  // the error.
  1833  //
  1834  // See the AWS API reference guide for Amazon GuardDuty's
  1835  // API operation DisassociateMembers for usage and error information.
  1836  //
  1837  // Returned Error Types:
  1838  //   * BadRequestException
  1839  //   A bad request exception object.
  1840  //
  1841  //   * InternalServerErrorException
  1842  //   An internal server error exception object.
  1843  //
  1844  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/DisassociateMembers
  1845  func (c *GuardDuty) DisassociateMembers(input *DisassociateMembersInput) (*DisassociateMembersOutput, error) {
  1846  	req, out := c.DisassociateMembersRequest(input)
  1847  	return out, req.Send()
  1848  }
  1849  
  1850  // DisassociateMembersWithContext is the same as DisassociateMembers with the addition of
  1851  // the ability to pass a context and additional request options.
  1852  //
  1853  // See DisassociateMembers for details on how to use this API operation.
  1854  //
  1855  // The context must be non-nil and will be used for request cancellation. If
  1856  // the context is nil a panic will occur. In the future the SDK may create
  1857  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1858  // for more information on using Contexts.
  1859  func (c *GuardDuty) DisassociateMembersWithContext(ctx aws.Context, input *DisassociateMembersInput, opts ...request.Option) (*DisassociateMembersOutput, error) {
  1860  	req, out := c.DisassociateMembersRequest(input)
  1861  	req.SetContext(ctx)
  1862  	req.ApplyOptions(opts...)
  1863  	return out, req.Send()
  1864  }
  1865  
  1866  const opEnableOrganizationAdminAccount = "EnableOrganizationAdminAccount"
  1867  
  1868  // EnableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
  1869  // client's request for the EnableOrganizationAdminAccount operation. The "output" return
  1870  // value will be populated with the request's response once the request completes
  1871  // successfully.
  1872  //
  1873  // Use "Send" method on the returned Request to send the API call to the service.
  1874  // the "output" return value is not valid until after Send returns without error.
  1875  //
  1876  // See EnableOrganizationAdminAccount for more information on using the EnableOrganizationAdminAccount
  1877  // API call, and error handling.
  1878  //
  1879  // This method is useful when you want to inject custom logic or configuration
  1880  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1881  //
  1882  //
  1883  //    // Example sending a request using the EnableOrganizationAdminAccountRequest method.
  1884  //    req, resp := client.EnableOrganizationAdminAccountRequest(params)
  1885  //
  1886  //    err := req.Send()
  1887  //    if err == nil { // resp is now filled
  1888  //        fmt.Println(resp)
  1889  //    }
  1890  //
  1891  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/EnableOrganizationAdminAccount
  1892  func (c *GuardDuty) EnableOrganizationAdminAccountRequest(input *EnableOrganizationAdminAccountInput) (req *request.Request, output *EnableOrganizationAdminAccountOutput) {
  1893  	op := &request.Operation{
  1894  		Name:       opEnableOrganizationAdminAccount,
  1895  		HTTPMethod: "POST",
  1896  		HTTPPath:   "/admin/enable",
  1897  	}
  1898  
  1899  	if input == nil {
  1900  		input = &EnableOrganizationAdminAccountInput{}
  1901  	}
  1902  
  1903  	output = &EnableOrganizationAdminAccountOutput{}
  1904  	req = c.newRequest(op, input, output)
  1905  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1906  	return
  1907  }
  1908  
  1909  // EnableOrganizationAdminAccount API operation for Amazon GuardDuty.
  1910  //
  1911  // Enables an AWS account within the organization as the GuardDuty delegated
  1912  // administrator.
  1913  //
  1914  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1915  // with awserr.Error's Code and Message methods to get detailed information about
  1916  // the error.
  1917  //
  1918  // See the AWS API reference guide for Amazon GuardDuty's
  1919  // API operation EnableOrganizationAdminAccount for usage and error information.
  1920  //
  1921  // Returned Error Types:
  1922  //   * BadRequestException
  1923  //   A bad request exception object.
  1924  //
  1925  //   * InternalServerErrorException
  1926  //   An internal server error exception object.
  1927  //
  1928  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/EnableOrganizationAdminAccount
  1929  func (c *GuardDuty) EnableOrganizationAdminAccount(input *EnableOrganizationAdminAccountInput) (*EnableOrganizationAdminAccountOutput, error) {
  1930  	req, out := c.EnableOrganizationAdminAccountRequest(input)
  1931  	return out, req.Send()
  1932  }
  1933  
  1934  // EnableOrganizationAdminAccountWithContext is the same as EnableOrganizationAdminAccount with the addition of
  1935  // the ability to pass a context and additional request options.
  1936  //
  1937  // See EnableOrganizationAdminAccount for details on how to use this API operation.
  1938  //
  1939  // The context must be non-nil and will be used for request cancellation. If
  1940  // the context is nil a panic will occur. In the future the SDK may create
  1941  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1942  // for more information on using Contexts.
  1943  func (c *GuardDuty) EnableOrganizationAdminAccountWithContext(ctx aws.Context, input *EnableOrganizationAdminAccountInput, opts ...request.Option) (*EnableOrganizationAdminAccountOutput, error) {
  1944  	req, out := c.EnableOrganizationAdminAccountRequest(input)
  1945  	req.SetContext(ctx)
  1946  	req.ApplyOptions(opts...)
  1947  	return out, req.Send()
  1948  }
  1949  
  1950  const opGetDetector = "GetDetector"
  1951  
  1952  // GetDetectorRequest generates a "aws/request.Request" representing the
  1953  // client's request for the GetDetector operation. The "output" return
  1954  // value will be populated with the request's response once the request completes
  1955  // successfully.
  1956  //
  1957  // Use "Send" method on the returned Request to send the API call to the service.
  1958  // the "output" return value is not valid until after Send returns without error.
  1959  //
  1960  // See GetDetector for more information on using the GetDetector
  1961  // API call, and error handling.
  1962  //
  1963  // This method is useful when you want to inject custom logic or configuration
  1964  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1965  //
  1966  //
  1967  //    // Example sending a request using the GetDetectorRequest method.
  1968  //    req, resp := client.GetDetectorRequest(params)
  1969  //
  1970  //    err := req.Send()
  1971  //    if err == nil { // resp is now filled
  1972  //        fmt.Println(resp)
  1973  //    }
  1974  //
  1975  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetDetector
  1976  func (c *GuardDuty) GetDetectorRequest(input *GetDetectorInput) (req *request.Request, output *GetDetectorOutput) {
  1977  	op := &request.Operation{
  1978  		Name:       opGetDetector,
  1979  		HTTPMethod: "GET",
  1980  		HTTPPath:   "/detector/{detectorId}",
  1981  	}
  1982  
  1983  	if input == nil {
  1984  		input = &GetDetectorInput{}
  1985  	}
  1986  
  1987  	output = &GetDetectorOutput{}
  1988  	req = c.newRequest(op, input, output)
  1989  	return
  1990  }
  1991  
  1992  // GetDetector API operation for Amazon GuardDuty.
  1993  //
  1994  // Retrieves an Amazon GuardDuty detector specified by the detectorId.
  1995  //
  1996  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1997  // with awserr.Error's Code and Message methods to get detailed information about
  1998  // the error.
  1999  //
  2000  // See the AWS API reference guide for Amazon GuardDuty's
  2001  // API operation GetDetector for usage and error information.
  2002  //
  2003  // Returned Error Types:
  2004  //   * BadRequestException
  2005  //   A bad request exception object.
  2006  //
  2007  //   * InternalServerErrorException
  2008  //   An internal server error exception object.
  2009  //
  2010  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetDetector
  2011  func (c *GuardDuty) GetDetector(input *GetDetectorInput) (*GetDetectorOutput, error) {
  2012  	req, out := c.GetDetectorRequest(input)
  2013  	return out, req.Send()
  2014  }
  2015  
  2016  // GetDetectorWithContext is the same as GetDetector with the addition of
  2017  // the ability to pass a context and additional request options.
  2018  //
  2019  // See GetDetector for details on how to use this API operation.
  2020  //
  2021  // The context must be non-nil and will be used for request cancellation. If
  2022  // the context is nil a panic will occur. In the future the SDK may create
  2023  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2024  // for more information on using Contexts.
  2025  func (c *GuardDuty) GetDetectorWithContext(ctx aws.Context, input *GetDetectorInput, opts ...request.Option) (*GetDetectorOutput, error) {
  2026  	req, out := c.GetDetectorRequest(input)
  2027  	req.SetContext(ctx)
  2028  	req.ApplyOptions(opts...)
  2029  	return out, req.Send()
  2030  }
  2031  
  2032  const opGetFilter = "GetFilter"
  2033  
  2034  // GetFilterRequest generates a "aws/request.Request" representing the
  2035  // client's request for the GetFilter operation. The "output" return
  2036  // value will be populated with the request's response once the request completes
  2037  // successfully.
  2038  //
  2039  // Use "Send" method on the returned Request to send the API call to the service.
  2040  // the "output" return value is not valid until after Send returns without error.
  2041  //
  2042  // See GetFilter for more information on using the GetFilter
  2043  // API call, and error handling.
  2044  //
  2045  // This method is useful when you want to inject custom logic or configuration
  2046  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2047  //
  2048  //
  2049  //    // Example sending a request using the GetFilterRequest method.
  2050  //    req, resp := client.GetFilterRequest(params)
  2051  //
  2052  //    err := req.Send()
  2053  //    if err == nil { // resp is now filled
  2054  //        fmt.Println(resp)
  2055  //    }
  2056  //
  2057  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFilter
  2058  func (c *GuardDuty) GetFilterRequest(input *GetFilterInput) (req *request.Request, output *GetFilterOutput) {
  2059  	op := &request.Operation{
  2060  		Name:       opGetFilter,
  2061  		HTTPMethod: "GET",
  2062  		HTTPPath:   "/detector/{detectorId}/filter/{filterName}",
  2063  	}
  2064  
  2065  	if input == nil {
  2066  		input = &GetFilterInput{}
  2067  	}
  2068  
  2069  	output = &GetFilterOutput{}
  2070  	req = c.newRequest(op, input, output)
  2071  	return
  2072  }
  2073  
  2074  // GetFilter API operation for Amazon GuardDuty.
  2075  //
  2076  // Returns the details of the filter specified by the filter name.
  2077  //
  2078  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2079  // with awserr.Error's Code and Message methods to get detailed information about
  2080  // the error.
  2081  //
  2082  // See the AWS API reference guide for Amazon GuardDuty's
  2083  // API operation GetFilter for usage and error information.
  2084  //
  2085  // Returned Error Types:
  2086  //   * BadRequestException
  2087  //   A bad request exception object.
  2088  //
  2089  //   * InternalServerErrorException
  2090  //   An internal server error exception object.
  2091  //
  2092  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFilter
  2093  func (c *GuardDuty) GetFilter(input *GetFilterInput) (*GetFilterOutput, error) {
  2094  	req, out := c.GetFilterRequest(input)
  2095  	return out, req.Send()
  2096  }
  2097  
  2098  // GetFilterWithContext is the same as GetFilter with the addition of
  2099  // the ability to pass a context and additional request options.
  2100  //
  2101  // See GetFilter for details on how to use this API operation.
  2102  //
  2103  // The context must be non-nil and will be used for request cancellation. If
  2104  // the context is nil a panic will occur. In the future the SDK may create
  2105  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2106  // for more information on using Contexts.
  2107  func (c *GuardDuty) GetFilterWithContext(ctx aws.Context, input *GetFilterInput, opts ...request.Option) (*GetFilterOutput, error) {
  2108  	req, out := c.GetFilterRequest(input)
  2109  	req.SetContext(ctx)
  2110  	req.ApplyOptions(opts...)
  2111  	return out, req.Send()
  2112  }
  2113  
  2114  const opGetFindings = "GetFindings"
  2115  
  2116  // GetFindingsRequest generates a "aws/request.Request" representing the
  2117  // client's request for the GetFindings operation. The "output" return
  2118  // value will be populated with the request's response once the request completes
  2119  // successfully.
  2120  //
  2121  // Use "Send" method on the returned Request to send the API call to the service.
  2122  // the "output" return value is not valid until after Send returns without error.
  2123  //
  2124  // See GetFindings for more information on using the GetFindings
  2125  // API call, and error handling.
  2126  //
  2127  // This method is useful when you want to inject custom logic or configuration
  2128  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2129  //
  2130  //
  2131  //    // Example sending a request using the GetFindingsRequest method.
  2132  //    req, resp := client.GetFindingsRequest(params)
  2133  //
  2134  //    err := req.Send()
  2135  //    if err == nil { // resp is now filled
  2136  //        fmt.Println(resp)
  2137  //    }
  2138  //
  2139  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFindings
  2140  func (c *GuardDuty) GetFindingsRequest(input *GetFindingsInput) (req *request.Request, output *GetFindingsOutput) {
  2141  	op := &request.Operation{
  2142  		Name:       opGetFindings,
  2143  		HTTPMethod: "POST",
  2144  		HTTPPath:   "/detector/{detectorId}/findings/get",
  2145  	}
  2146  
  2147  	if input == nil {
  2148  		input = &GetFindingsInput{}
  2149  	}
  2150  
  2151  	output = &GetFindingsOutput{}
  2152  	req = c.newRequest(op, input, output)
  2153  	return
  2154  }
  2155  
  2156  // GetFindings API operation for Amazon GuardDuty.
  2157  //
  2158  // Describes Amazon GuardDuty findings specified by finding IDs.
  2159  //
  2160  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2161  // with awserr.Error's Code and Message methods to get detailed information about
  2162  // the error.
  2163  //
  2164  // See the AWS API reference guide for Amazon GuardDuty's
  2165  // API operation GetFindings for usage and error information.
  2166  //
  2167  // Returned Error Types:
  2168  //   * BadRequestException
  2169  //   A bad request exception object.
  2170  //
  2171  //   * InternalServerErrorException
  2172  //   An internal server error exception object.
  2173  //
  2174  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFindings
  2175  func (c *GuardDuty) GetFindings(input *GetFindingsInput) (*GetFindingsOutput, error) {
  2176  	req, out := c.GetFindingsRequest(input)
  2177  	return out, req.Send()
  2178  }
  2179  
  2180  // GetFindingsWithContext is the same as GetFindings with the addition of
  2181  // the ability to pass a context and additional request options.
  2182  //
  2183  // See GetFindings for details on how to use this API operation.
  2184  //
  2185  // The context must be non-nil and will be used for request cancellation. If
  2186  // the context is nil a panic will occur. In the future the SDK may create
  2187  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2188  // for more information on using Contexts.
  2189  func (c *GuardDuty) GetFindingsWithContext(ctx aws.Context, input *GetFindingsInput, opts ...request.Option) (*GetFindingsOutput, error) {
  2190  	req, out := c.GetFindingsRequest(input)
  2191  	req.SetContext(ctx)
  2192  	req.ApplyOptions(opts...)
  2193  	return out, req.Send()
  2194  }
  2195  
  2196  const opGetFindingsStatistics = "GetFindingsStatistics"
  2197  
  2198  // GetFindingsStatisticsRequest generates a "aws/request.Request" representing the
  2199  // client's request for the GetFindingsStatistics operation. The "output" return
  2200  // value will be populated with the request's response once the request completes
  2201  // successfully.
  2202  //
  2203  // Use "Send" method on the returned Request to send the API call to the service.
  2204  // the "output" return value is not valid until after Send returns without error.
  2205  //
  2206  // See GetFindingsStatistics for more information on using the GetFindingsStatistics
  2207  // API call, and error handling.
  2208  //
  2209  // This method is useful when you want to inject custom logic or configuration
  2210  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2211  //
  2212  //
  2213  //    // Example sending a request using the GetFindingsStatisticsRequest method.
  2214  //    req, resp := client.GetFindingsStatisticsRequest(params)
  2215  //
  2216  //    err := req.Send()
  2217  //    if err == nil { // resp is now filled
  2218  //        fmt.Println(resp)
  2219  //    }
  2220  //
  2221  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFindingsStatistics
  2222  func (c *GuardDuty) GetFindingsStatisticsRequest(input *GetFindingsStatisticsInput) (req *request.Request, output *GetFindingsStatisticsOutput) {
  2223  	op := &request.Operation{
  2224  		Name:       opGetFindingsStatistics,
  2225  		HTTPMethod: "POST",
  2226  		HTTPPath:   "/detector/{detectorId}/findings/statistics",
  2227  	}
  2228  
  2229  	if input == nil {
  2230  		input = &GetFindingsStatisticsInput{}
  2231  	}
  2232  
  2233  	output = &GetFindingsStatisticsOutput{}
  2234  	req = c.newRequest(op, input, output)
  2235  	return
  2236  }
  2237  
  2238  // GetFindingsStatistics API operation for Amazon GuardDuty.
  2239  //
  2240  // Lists Amazon GuardDuty findings statistics for the specified detector ID.
  2241  //
  2242  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2243  // with awserr.Error's Code and Message methods to get detailed information about
  2244  // the error.
  2245  //
  2246  // See the AWS API reference guide for Amazon GuardDuty's
  2247  // API operation GetFindingsStatistics for usage and error information.
  2248  //
  2249  // Returned Error Types:
  2250  //   * BadRequestException
  2251  //   A bad request exception object.
  2252  //
  2253  //   * InternalServerErrorException
  2254  //   An internal server error exception object.
  2255  //
  2256  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetFindingsStatistics
  2257  func (c *GuardDuty) GetFindingsStatistics(input *GetFindingsStatisticsInput) (*GetFindingsStatisticsOutput, error) {
  2258  	req, out := c.GetFindingsStatisticsRequest(input)
  2259  	return out, req.Send()
  2260  }
  2261  
  2262  // GetFindingsStatisticsWithContext is the same as GetFindingsStatistics with the addition of
  2263  // the ability to pass a context and additional request options.
  2264  //
  2265  // See GetFindingsStatistics for details on how to use this API operation.
  2266  //
  2267  // The context must be non-nil and will be used for request cancellation. If
  2268  // the context is nil a panic will occur. In the future the SDK may create
  2269  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2270  // for more information on using Contexts.
  2271  func (c *GuardDuty) GetFindingsStatisticsWithContext(ctx aws.Context, input *GetFindingsStatisticsInput, opts ...request.Option) (*GetFindingsStatisticsOutput, error) {
  2272  	req, out := c.GetFindingsStatisticsRequest(input)
  2273  	req.SetContext(ctx)
  2274  	req.ApplyOptions(opts...)
  2275  	return out, req.Send()
  2276  }
  2277  
  2278  const opGetIPSet = "GetIPSet"
  2279  
  2280  // GetIPSetRequest generates a "aws/request.Request" representing the
  2281  // client's request for the GetIPSet operation. The "output" return
  2282  // value will be populated with the request's response once the request completes
  2283  // successfully.
  2284  //
  2285  // Use "Send" method on the returned Request to send the API call to the service.
  2286  // the "output" return value is not valid until after Send returns without error.
  2287  //
  2288  // See GetIPSet for more information on using the GetIPSet
  2289  // API call, and error handling.
  2290  //
  2291  // This method is useful when you want to inject custom logic or configuration
  2292  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2293  //
  2294  //
  2295  //    // Example sending a request using the GetIPSetRequest method.
  2296  //    req, resp := client.GetIPSetRequest(params)
  2297  //
  2298  //    err := req.Send()
  2299  //    if err == nil { // resp is now filled
  2300  //        fmt.Println(resp)
  2301  //    }
  2302  //
  2303  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetIPSet
  2304  func (c *GuardDuty) GetIPSetRequest(input *GetIPSetInput) (req *request.Request, output *GetIPSetOutput) {
  2305  	op := &request.Operation{
  2306  		Name:       opGetIPSet,
  2307  		HTTPMethod: "GET",
  2308  		HTTPPath:   "/detector/{detectorId}/ipset/{ipSetId}",
  2309  	}
  2310  
  2311  	if input == nil {
  2312  		input = &GetIPSetInput{}
  2313  	}
  2314  
  2315  	output = &GetIPSetOutput{}
  2316  	req = c.newRequest(op, input, output)
  2317  	return
  2318  }
  2319  
  2320  // GetIPSet API operation for Amazon GuardDuty.
  2321  //
  2322  // Retrieves the IPSet specified by the ipSetId.
  2323  //
  2324  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2325  // with awserr.Error's Code and Message methods to get detailed information about
  2326  // the error.
  2327  //
  2328  // See the AWS API reference guide for Amazon GuardDuty's
  2329  // API operation GetIPSet for usage and error information.
  2330  //
  2331  // Returned Error Types:
  2332  //   * BadRequestException
  2333  //   A bad request exception object.
  2334  //
  2335  //   * InternalServerErrorException
  2336  //   An internal server error exception object.
  2337  //
  2338  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetIPSet
  2339  func (c *GuardDuty) GetIPSet(input *GetIPSetInput) (*GetIPSetOutput, error) {
  2340  	req, out := c.GetIPSetRequest(input)
  2341  	return out, req.Send()
  2342  }
  2343  
  2344  // GetIPSetWithContext is the same as GetIPSet with the addition of
  2345  // the ability to pass a context and additional request options.
  2346  //
  2347  // See GetIPSet for details on how to use this API operation.
  2348  //
  2349  // The context must be non-nil and will be used for request cancellation. If
  2350  // the context is nil a panic will occur. In the future the SDK may create
  2351  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2352  // for more information on using Contexts.
  2353  func (c *GuardDuty) GetIPSetWithContext(ctx aws.Context, input *GetIPSetInput, opts ...request.Option) (*GetIPSetOutput, error) {
  2354  	req, out := c.GetIPSetRequest(input)
  2355  	req.SetContext(ctx)
  2356  	req.ApplyOptions(opts...)
  2357  	return out, req.Send()
  2358  }
  2359  
  2360  const opGetInvitationsCount = "GetInvitationsCount"
  2361  
  2362  // GetInvitationsCountRequest generates a "aws/request.Request" representing the
  2363  // client's request for the GetInvitationsCount operation. The "output" return
  2364  // value will be populated with the request's response once the request completes
  2365  // successfully.
  2366  //
  2367  // Use "Send" method on the returned Request to send the API call to the service.
  2368  // the "output" return value is not valid until after Send returns without error.
  2369  //
  2370  // See GetInvitationsCount for more information on using the GetInvitationsCount
  2371  // API call, and error handling.
  2372  //
  2373  // This method is useful when you want to inject custom logic or configuration
  2374  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2375  //
  2376  //
  2377  //    // Example sending a request using the GetInvitationsCountRequest method.
  2378  //    req, resp := client.GetInvitationsCountRequest(params)
  2379  //
  2380  //    err := req.Send()
  2381  //    if err == nil { // resp is now filled
  2382  //        fmt.Println(resp)
  2383  //    }
  2384  //
  2385  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetInvitationsCount
  2386  func (c *GuardDuty) GetInvitationsCountRequest(input *GetInvitationsCountInput) (req *request.Request, output *GetInvitationsCountOutput) {
  2387  	op := &request.Operation{
  2388  		Name:       opGetInvitationsCount,
  2389  		HTTPMethod: "GET",
  2390  		HTTPPath:   "/invitation/count",
  2391  	}
  2392  
  2393  	if input == nil {
  2394  		input = &GetInvitationsCountInput{}
  2395  	}
  2396  
  2397  	output = &GetInvitationsCountOutput{}
  2398  	req = c.newRequest(op, input, output)
  2399  	return
  2400  }
  2401  
  2402  // GetInvitationsCount API operation for Amazon GuardDuty.
  2403  //
  2404  // Returns the count of all GuardDuty membership invitations that were sent
  2405  // to the current member account except the currently accepted invitation.
  2406  //
  2407  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2408  // with awserr.Error's Code and Message methods to get detailed information about
  2409  // the error.
  2410  //
  2411  // See the AWS API reference guide for Amazon GuardDuty's
  2412  // API operation GetInvitationsCount for usage and error information.
  2413  //
  2414  // Returned Error Types:
  2415  //   * BadRequestException
  2416  //   A bad request exception object.
  2417  //
  2418  //   * InternalServerErrorException
  2419  //   An internal server error exception object.
  2420  //
  2421  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetInvitationsCount
  2422  func (c *GuardDuty) GetInvitationsCount(input *GetInvitationsCountInput) (*GetInvitationsCountOutput, error) {
  2423  	req, out := c.GetInvitationsCountRequest(input)
  2424  	return out, req.Send()
  2425  }
  2426  
  2427  // GetInvitationsCountWithContext is the same as GetInvitationsCount with the addition of
  2428  // the ability to pass a context and additional request options.
  2429  //
  2430  // See GetInvitationsCount for details on how to use this API operation.
  2431  //
  2432  // The context must be non-nil and will be used for request cancellation. If
  2433  // the context is nil a panic will occur. In the future the SDK may create
  2434  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2435  // for more information on using Contexts.
  2436  func (c *GuardDuty) GetInvitationsCountWithContext(ctx aws.Context, input *GetInvitationsCountInput, opts ...request.Option) (*GetInvitationsCountOutput, error) {
  2437  	req, out := c.GetInvitationsCountRequest(input)
  2438  	req.SetContext(ctx)
  2439  	req.ApplyOptions(opts...)
  2440  	return out, req.Send()
  2441  }
  2442  
  2443  const opGetMasterAccount = "GetMasterAccount"
  2444  
  2445  // GetMasterAccountRequest generates a "aws/request.Request" representing the
  2446  // client's request for the GetMasterAccount operation. The "output" return
  2447  // value will be populated with the request's response once the request completes
  2448  // successfully.
  2449  //
  2450  // Use "Send" method on the returned Request to send the API call to the service.
  2451  // the "output" return value is not valid until after Send returns without error.
  2452  //
  2453  // See GetMasterAccount for more information on using the GetMasterAccount
  2454  // API call, and error handling.
  2455  //
  2456  // This method is useful when you want to inject custom logic or configuration
  2457  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2458  //
  2459  //
  2460  //    // Example sending a request using the GetMasterAccountRequest method.
  2461  //    req, resp := client.GetMasterAccountRequest(params)
  2462  //
  2463  //    err := req.Send()
  2464  //    if err == nil { // resp is now filled
  2465  //        fmt.Println(resp)
  2466  //    }
  2467  //
  2468  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMasterAccount
  2469  func (c *GuardDuty) GetMasterAccountRequest(input *GetMasterAccountInput) (req *request.Request, output *GetMasterAccountOutput) {
  2470  	op := &request.Operation{
  2471  		Name:       opGetMasterAccount,
  2472  		HTTPMethod: "GET",
  2473  		HTTPPath:   "/detector/{detectorId}/master",
  2474  	}
  2475  
  2476  	if input == nil {
  2477  		input = &GetMasterAccountInput{}
  2478  	}
  2479  
  2480  	output = &GetMasterAccountOutput{}
  2481  	req = c.newRequest(op, input, output)
  2482  	return
  2483  }
  2484  
  2485  // GetMasterAccount API operation for Amazon GuardDuty.
  2486  //
  2487  // Provides the details for the GuardDuty administrator account associated with
  2488  // the current GuardDuty member account.
  2489  //
  2490  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2491  // with awserr.Error's Code and Message methods to get detailed information about
  2492  // the error.
  2493  //
  2494  // See the AWS API reference guide for Amazon GuardDuty's
  2495  // API operation GetMasterAccount for usage and error information.
  2496  //
  2497  // Returned Error Types:
  2498  //   * BadRequestException
  2499  //   A bad request exception object.
  2500  //
  2501  //   * InternalServerErrorException
  2502  //   An internal server error exception object.
  2503  //
  2504  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMasterAccount
  2505  func (c *GuardDuty) GetMasterAccount(input *GetMasterAccountInput) (*GetMasterAccountOutput, error) {
  2506  	req, out := c.GetMasterAccountRequest(input)
  2507  	return out, req.Send()
  2508  }
  2509  
  2510  // GetMasterAccountWithContext is the same as GetMasterAccount with the addition of
  2511  // the ability to pass a context and additional request options.
  2512  //
  2513  // See GetMasterAccount for details on how to use this API operation.
  2514  //
  2515  // The context must be non-nil and will be used for request cancellation. If
  2516  // the context is nil a panic will occur. In the future the SDK may create
  2517  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2518  // for more information on using Contexts.
  2519  func (c *GuardDuty) GetMasterAccountWithContext(ctx aws.Context, input *GetMasterAccountInput, opts ...request.Option) (*GetMasterAccountOutput, error) {
  2520  	req, out := c.GetMasterAccountRequest(input)
  2521  	req.SetContext(ctx)
  2522  	req.ApplyOptions(opts...)
  2523  	return out, req.Send()
  2524  }
  2525  
  2526  const opGetMemberDetectors = "GetMemberDetectors"
  2527  
  2528  // GetMemberDetectorsRequest generates a "aws/request.Request" representing the
  2529  // client's request for the GetMemberDetectors operation. The "output" return
  2530  // value will be populated with the request's response once the request completes
  2531  // successfully.
  2532  //
  2533  // Use "Send" method on the returned Request to send the API call to the service.
  2534  // the "output" return value is not valid until after Send returns without error.
  2535  //
  2536  // See GetMemberDetectors for more information on using the GetMemberDetectors
  2537  // API call, and error handling.
  2538  //
  2539  // This method is useful when you want to inject custom logic or configuration
  2540  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2541  //
  2542  //
  2543  //    // Example sending a request using the GetMemberDetectorsRequest method.
  2544  //    req, resp := client.GetMemberDetectorsRequest(params)
  2545  //
  2546  //    err := req.Send()
  2547  //    if err == nil { // resp is now filled
  2548  //        fmt.Println(resp)
  2549  //    }
  2550  //
  2551  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMemberDetectors
  2552  func (c *GuardDuty) GetMemberDetectorsRequest(input *GetMemberDetectorsInput) (req *request.Request, output *GetMemberDetectorsOutput) {
  2553  	op := &request.Operation{
  2554  		Name:       opGetMemberDetectors,
  2555  		HTTPMethod: "POST",
  2556  		HTTPPath:   "/detector/{detectorId}/member/detector/get",
  2557  	}
  2558  
  2559  	if input == nil {
  2560  		input = &GetMemberDetectorsInput{}
  2561  	}
  2562  
  2563  	output = &GetMemberDetectorsOutput{}
  2564  	req = c.newRequest(op, input, output)
  2565  	return
  2566  }
  2567  
  2568  // GetMemberDetectors API operation for Amazon GuardDuty.
  2569  //
  2570  // Describes which data sources are enabled for the member account's detector.
  2571  //
  2572  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2573  // with awserr.Error's Code and Message methods to get detailed information about
  2574  // the error.
  2575  //
  2576  // See the AWS API reference guide for Amazon GuardDuty's
  2577  // API operation GetMemberDetectors for usage and error information.
  2578  //
  2579  // Returned Error Types:
  2580  //   * BadRequestException
  2581  //   A bad request exception object.
  2582  //
  2583  //   * InternalServerErrorException
  2584  //   An internal server error exception object.
  2585  //
  2586  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMemberDetectors
  2587  func (c *GuardDuty) GetMemberDetectors(input *GetMemberDetectorsInput) (*GetMemberDetectorsOutput, error) {
  2588  	req, out := c.GetMemberDetectorsRequest(input)
  2589  	return out, req.Send()
  2590  }
  2591  
  2592  // GetMemberDetectorsWithContext is the same as GetMemberDetectors with the addition of
  2593  // the ability to pass a context and additional request options.
  2594  //
  2595  // See GetMemberDetectors for details on how to use this API operation.
  2596  //
  2597  // The context must be non-nil and will be used for request cancellation. If
  2598  // the context is nil a panic will occur. In the future the SDK may create
  2599  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2600  // for more information on using Contexts.
  2601  func (c *GuardDuty) GetMemberDetectorsWithContext(ctx aws.Context, input *GetMemberDetectorsInput, opts ...request.Option) (*GetMemberDetectorsOutput, error) {
  2602  	req, out := c.GetMemberDetectorsRequest(input)
  2603  	req.SetContext(ctx)
  2604  	req.ApplyOptions(opts...)
  2605  	return out, req.Send()
  2606  }
  2607  
  2608  const opGetMembers = "GetMembers"
  2609  
  2610  // GetMembersRequest generates a "aws/request.Request" representing the
  2611  // client's request for the GetMembers operation. The "output" return
  2612  // value will be populated with the request's response once the request completes
  2613  // successfully.
  2614  //
  2615  // Use "Send" method on the returned Request to send the API call to the service.
  2616  // the "output" return value is not valid until after Send returns without error.
  2617  //
  2618  // See GetMembers for more information on using the GetMembers
  2619  // API call, and error handling.
  2620  //
  2621  // This method is useful when you want to inject custom logic or configuration
  2622  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2623  //
  2624  //
  2625  //    // Example sending a request using the GetMembersRequest method.
  2626  //    req, resp := client.GetMembersRequest(params)
  2627  //
  2628  //    err := req.Send()
  2629  //    if err == nil { // resp is now filled
  2630  //        fmt.Println(resp)
  2631  //    }
  2632  //
  2633  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMembers
  2634  func (c *GuardDuty) GetMembersRequest(input *GetMembersInput) (req *request.Request, output *GetMembersOutput) {
  2635  	op := &request.Operation{
  2636  		Name:       opGetMembers,
  2637  		HTTPMethod: "POST",
  2638  		HTTPPath:   "/detector/{detectorId}/member/get",
  2639  	}
  2640  
  2641  	if input == nil {
  2642  		input = &GetMembersInput{}
  2643  	}
  2644  
  2645  	output = &GetMembersOutput{}
  2646  	req = c.newRequest(op, input, output)
  2647  	return
  2648  }
  2649  
  2650  // GetMembers API operation for Amazon GuardDuty.
  2651  //
  2652  // Retrieves GuardDuty member accounts (of the current GuardDuty administrator
  2653  // account) specified by the account IDs.
  2654  //
  2655  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2656  // with awserr.Error's Code and Message methods to get detailed information about
  2657  // the error.
  2658  //
  2659  // See the AWS API reference guide for Amazon GuardDuty's
  2660  // API operation GetMembers for usage and error information.
  2661  //
  2662  // Returned Error Types:
  2663  //   * BadRequestException
  2664  //   A bad request exception object.
  2665  //
  2666  //   * InternalServerErrorException
  2667  //   An internal server error exception object.
  2668  //
  2669  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetMembers
  2670  func (c *GuardDuty) GetMembers(input *GetMembersInput) (*GetMembersOutput, error) {
  2671  	req, out := c.GetMembersRequest(input)
  2672  	return out, req.Send()
  2673  }
  2674  
  2675  // GetMembersWithContext is the same as GetMembers with the addition of
  2676  // the ability to pass a context and additional request options.
  2677  //
  2678  // See GetMembers for details on how to use this API operation.
  2679  //
  2680  // The context must be non-nil and will be used for request cancellation. If
  2681  // the context is nil a panic will occur. In the future the SDK may create
  2682  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2683  // for more information on using Contexts.
  2684  func (c *GuardDuty) GetMembersWithContext(ctx aws.Context, input *GetMembersInput, opts ...request.Option) (*GetMembersOutput, error) {
  2685  	req, out := c.GetMembersRequest(input)
  2686  	req.SetContext(ctx)
  2687  	req.ApplyOptions(opts...)
  2688  	return out, req.Send()
  2689  }
  2690  
  2691  const opGetThreatIntelSet = "GetThreatIntelSet"
  2692  
  2693  // GetThreatIntelSetRequest generates a "aws/request.Request" representing the
  2694  // client's request for the GetThreatIntelSet operation. The "output" return
  2695  // value will be populated with the request's response once the request completes
  2696  // successfully.
  2697  //
  2698  // Use "Send" method on the returned Request to send the API call to the service.
  2699  // the "output" return value is not valid until after Send returns without error.
  2700  //
  2701  // See GetThreatIntelSet for more information on using the GetThreatIntelSet
  2702  // API call, and error handling.
  2703  //
  2704  // This method is useful when you want to inject custom logic or configuration
  2705  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2706  //
  2707  //
  2708  //    // Example sending a request using the GetThreatIntelSetRequest method.
  2709  //    req, resp := client.GetThreatIntelSetRequest(params)
  2710  //
  2711  //    err := req.Send()
  2712  //    if err == nil { // resp is now filled
  2713  //        fmt.Println(resp)
  2714  //    }
  2715  //
  2716  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetThreatIntelSet
  2717  func (c *GuardDuty) GetThreatIntelSetRequest(input *GetThreatIntelSetInput) (req *request.Request, output *GetThreatIntelSetOutput) {
  2718  	op := &request.Operation{
  2719  		Name:       opGetThreatIntelSet,
  2720  		HTTPMethod: "GET",
  2721  		HTTPPath:   "/detector/{detectorId}/threatintelset/{threatIntelSetId}",
  2722  	}
  2723  
  2724  	if input == nil {
  2725  		input = &GetThreatIntelSetInput{}
  2726  	}
  2727  
  2728  	output = &GetThreatIntelSetOutput{}
  2729  	req = c.newRequest(op, input, output)
  2730  	return
  2731  }
  2732  
  2733  // GetThreatIntelSet API operation for Amazon GuardDuty.
  2734  //
  2735  // Retrieves the ThreatIntelSet that is specified by the ThreatIntelSet ID.
  2736  //
  2737  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2738  // with awserr.Error's Code and Message methods to get detailed information about
  2739  // the error.
  2740  //
  2741  // See the AWS API reference guide for Amazon GuardDuty's
  2742  // API operation GetThreatIntelSet for usage and error information.
  2743  //
  2744  // Returned Error Types:
  2745  //   * BadRequestException
  2746  //   A bad request exception object.
  2747  //
  2748  //   * InternalServerErrorException
  2749  //   An internal server error exception object.
  2750  //
  2751  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetThreatIntelSet
  2752  func (c *GuardDuty) GetThreatIntelSet(input *GetThreatIntelSetInput) (*GetThreatIntelSetOutput, error) {
  2753  	req, out := c.GetThreatIntelSetRequest(input)
  2754  	return out, req.Send()
  2755  }
  2756  
  2757  // GetThreatIntelSetWithContext is the same as GetThreatIntelSet with the addition of
  2758  // the ability to pass a context and additional request options.
  2759  //
  2760  // See GetThreatIntelSet for details on how to use this API operation.
  2761  //
  2762  // The context must be non-nil and will be used for request cancellation. If
  2763  // the context is nil a panic will occur. In the future the SDK may create
  2764  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2765  // for more information on using Contexts.
  2766  func (c *GuardDuty) GetThreatIntelSetWithContext(ctx aws.Context, input *GetThreatIntelSetInput, opts ...request.Option) (*GetThreatIntelSetOutput, error) {
  2767  	req, out := c.GetThreatIntelSetRequest(input)
  2768  	req.SetContext(ctx)
  2769  	req.ApplyOptions(opts...)
  2770  	return out, req.Send()
  2771  }
  2772  
  2773  const opGetUsageStatistics = "GetUsageStatistics"
  2774  
  2775  // GetUsageStatisticsRequest generates a "aws/request.Request" representing the
  2776  // client's request for the GetUsageStatistics operation. The "output" return
  2777  // value will be populated with the request's response once the request completes
  2778  // successfully.
  2779  //
  2780  // Use "Send" method on the returned Request to send the API call to the service.
  2781  // the "output" return value is not valid until after Send returns without error.
  2782  //
  2783  // See GetUsageStatistics for more information on using the GetUsageStatistics
  2784  // API call, and error handling.
  2785  //
  2786  // This method is useful when you want to inject custom logic or configuration
  2787  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2788  //
  2789  //
  2790  //    // Example sending a request using the GetUsageStatisticsRequest method.
  2791  //    req, resp := client.GetUsageStatisticsRequest(params)
  2792  //
  2793  //    err := req.Send()
  2794  //    if err == nil { // resp is now filled
  2795  //        fmt.Println(resp)
  2796  //    }
  2797  //
  2798  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetUsageStatistics
  2799  func (c *GuardDuty) GetUsageStatisticsRequest(input *GetUsageStatisticsInput) (req *request.Request, output *GetUsageStatisticsOutput) {
  2800  	op := &request.Operation{
  2801  		Name:       opGetUsageStatistics,
  2802  		HTTPMethod: "POST",
  2803  		HTTPPath:   "/detector/{detectorId}/usage/statistics",
  2804  		Paginator: &request.Paginator{
  2805  			InputTokens:     []string{"NextToken"},
  2806  			OutputTokens:    []string{"NextToken"},
  2807  			LimitToken:      "MaxResults",
  2808  			TruncationToken: "",
  2809  		},
  2810  	}
  2811  
  2812  	if input == nil {
  2813  		input = &GetUsageStatisticsInput{}
  2814  	}
  2815  
  2816  	output = &GetUsageStatisticsOutput{}
  2817  	req = c.newRequest(op, input, output)
  2818  	return
  2819  }
  2820  
  2821  // GetUsageStatistics API operation for Amazon GuardDuty.
  2822  //
  2823  // Lists Amazon GuardDuty usage statistics over the last 30 days for the specified
  2824  // detector ID. For newly enabled detectors or data sources the cost returned
  2825  // will include only the usage so far under 30 days, this may differ from the
  2826  // cost metrics in the console, which projects usage over 30 days to provide
  2827  // a monthly cost estimate. For more information see Understanding How Usage
  2828  // Costs are Calculated (https://docs.aws.amazon.com/guardduty/latest/ug/monitoring_costs.html#usage-calculations).
  2829  //
  2830  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2831  // with awserr.Error's Code and Message methods to get detailed information about
  2832  // the error.
  2833  //
  2834  // See the AWS API reference guide for Amazon GuardDuty's
  2835  // API operation GetUsageStatistics for usage and error information.
  2836  //
  2837  // Returned Error Types:
  2838  //   * BadRequestException
  2839  //   A bad request exception object.
  2840  //
  2841  //   * InternalServerErrorException
  2842  //   An internal server error exception object.
  2843  //
  2844  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/GetUsageStatistics
  2845  func (c *GuardDuty) GetUsageStatistics(input *GetUsageStatisticsInput) (*GetUsageStatisticsOutput, error) {
  2846  	req, out := c.GetUsageStatisticsRequest(input)
  2847  	return out, req.Send()
  2848  }
  2849  
  2850  // GetUsageStatisticsWithContext is the same as GetUsageStatistics with the addition of
  2851  // the ability to pass a context and additional request options.
  2852  //
  2853  // See GetUsageStatistics for details on how to use this API operation.
  2854  //
  2855  // The context must be non-nil and will be used for request cancellation. If
  2856  // the context is nil a panic will occur. In the future the SDK may create
  2857  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2858  // for more information on using Contexts.
  2859  func (c *GuardDuty) GetUsageStatisticsWithContext(ctx aws.Context, input *GetUsageStatisticsInput, opts ...request.Option) (*GetUsageStatisticsOutput, error) {
  2860  	req, out := c.GetUsageStatisticsRequest(input)
  2861  	req.SetContext(ctx)
  2862  	req.ApplyOptions(opts...)
  2863  	return out, req.Send()
  2864  }
  2865  
  2866  // GetUsageStatisticsPages iterates over the pages of a GetUsageStatistics operation,
  2867  // calling the "fn" function with the response data for each page. To stop
  2868  // iterating, return false from the fn function.
  2869  //
  2870  // See GetUsageStatistics method for more information on how to use this operation.
  2871  //
  2872  // Note: This operation can generate multiple requests to a service.
  2873  //
  2874  //    // Example iterating over at most 3 pages of a GetUsageStatistics operation.
  2875  //    pageNum := 0
  2876  //    err := client.GetUsageStatisticsPages(params,
  2877  //        func(page *guardduty.GetUsageStatisticsOutput, lastPage bool) bool {
  2878  //            pageNum++
  2879  //            fmt.Println(page)
  2880  //            return pageNum <= 3
  2881  //        })
  2882  //
  2883  func (c *GuardDuty) GetUsageStatisticsPages(input *GetUsageStatisticsInput, fn func(*GetUsageStatisticsOutput, bool) bool) error {
  2884  	return c.GetUsageStatisticsPagesWithContext(aws.BackgroundContext(), input, fn)
  2885  }
  2886  
  2887  // GetUsageStatisticsPagesWithContext same as GetUsageStatisticsPages except
  2888  // it takes a Context and allows setting request options on the pages.
  2889  //
  2890  // The context must be non-nil and will be used for request cancellation. If
  2891  // the context is nil a panic will occur. In the future the SDK may create
  2892  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2893  // for more information on using Contexts.
  2894  func (c *GuardDuty) GetUsageStatisticsPagesWithContext(ctx aws.Context, input *GetUsageStatisticsInput, fn func(*GetUsageStatisticsOutput, bool) bool, opts ...request.Option) error {
  2895  	p := request.Pagination{
  2896  		NewRequest: func() (*request.Request, error) {
  2897  			var inCpy *GetUsageStatisticsInput
  2898  			if input != nil {
  2899  				tmp := *input
  2900  				inCpy = &tmp
  2901  			}
  2902  			req, _ := c.GetUsageStatisticsRequest(inCpy)
  2903  			req.SetContext(ctx)
  2904  			req.ApplyOptions(opts...)
  2905  			return req, nil
  2906  		},
  2907  	}
  2908  
  2909  	for p.Next() {
  2910  		if !fn(p.Page().(*GetUsageStatisticsOutput), !p.HasNextPage()) {
  2911  			break
  2912  		}
  2913  	}
  2914  
  2915  	return p.Err()
  2916  }
  2917  
  2918  const opInviteMembers = "InviteMembers"
  2919  
  2920  // InviteMembersRequest generates a "aws/request.Request" representing the
  2921  // client's request for the InviteMembers operation. The "output" return
  2922  // value will be populated with the request's response once the request completes
  2923  // successfully.
  2924  //
  2925  // Use "Send" method on the returned Request to send the API call to the service.
  2926  // the "output" return value is not valid until after Send returns without error.
  2927  //
  2928  // See InviteMembers for more information on using the InviteMembers
  2929  // API call, and error handling.
  2930  //
  2931  // This method is useful when you want to inject custom logic or configuration
  2932  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  2933  //
  2934  //
  2935  //    // Example sending a request using the InviteMembersRequest method.
  2936  //    req, resp := client.InviteMembersRequest(params)
  2937  //
  2938  //    err := req.Send()
  2939  //    if err == nil { // resp is now filled
  2940  //        fmt.Println(resp)
  2941  //    }
  2942  //
  2943  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/InviteMembers
  2944  func (c *GuardDuty) InviteMembersRequest(input *InviteMembersInput) (req *request.Request, output *InviteMembersOutput) {
  2945  	op := &request.Operation{
  2946  		Name:       opInviteMembers,
  2947  		HTTPMethod: "POST",
  2948  		HTTPPath:   "/detector/{detectorId}/member/invite",
  2949  	}
  2950  
  2951  	if input == nil {
  2952  		input = &InviteMembersInput{}
  2953  	}
  2954  
  2955  	output = &InviteMembersOutput{}
  2956  	req = c.newRequest(op, input, output)
  2957  	return
  2958  }
  2959  
  2960  // InviteMembers API operation for Amazon GuardDuty.
  2961  //
  2962  // Invites other AWS accounts (created as members of the current AWS account
  2963  // by CreateMembers) to enable GuardDuty, and allow the current AWS account
  2964  // to view and manage these accounts' findings on their behalf as the GuardDuty
  2965  // administrator account.
  2966  //
  2967  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  2968  // with awserr.Error's Code and Message methods to get detailed information about
  2969  // the error.
  2970  //
  2971  // See the AWS API reference guide for Amazon GuardDuty's
  2972  // API operation InviteMembers for usage and error information.
  2973  //
  2974  // Returned Error Types:
  2975  //   * BadRequestException
  2976  //   A bad request exception object.
  2977  //
  2978  //   * InternalServerErrorException
  2979  //   An internal server error exception object.
  2980  //
  2981  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/InviteMembers
  2982  func (c *GuardDuty) InviteMembers(input *InviteMembersInput) (*InviteMembersOutput, error) {
  2983  	req, out := c.InviteMembersRequest(input)
  2984  	return out, req.Send()
  2985  }
  2986  
  2987  // InviteMembersWithContext is the same as InviteMembers with the addition of
  2988  // the ability to pass a context and additional request options.
  2989  //
  2990  // See InviteMembers for details on how to use this API operation.
  2991  //
  2992  // The context must be non-nil and will be used for request cancellation. If
  2993  // the context is nil a panic will occur. In the future the SDK may create
  2994  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  2995  // for more information on using Contexts.
  2996  func (c *GuardDuty) InviteMembersWithContext(ctx aws.Context, input *InviteMembersInput, opts ...request.Option) (*InviteMembersOutput, error) {
  2997  	req, out := c.InviteMembersRequest(input)
  2998  	req.SetContext(ctx)
  2999  	req.ApplyOptions(opts...)
  3000  	return out, req.Send()
  3001  }
  3002  
  3003  const opListDetectors = "ListDetectors"
  3004  
  3005  // ListDetectorsRequest generates a "aws/request.Request" representing the
  3006  // client's request for the ListDetectors operation. The "output" return
  3007  // value will be populated with the request's response once the request completes
  3008  // successfully.
  3009  //
  3010  // Use "Send" method on the returned Request to send the API call to the service.
  3011  // the "output" return value is not valid until after Send returns without error.
  3012  //
  3013  // See ListDetectors for more information on using the ListDetectors
  3014  // API call, and error handling.
  3015  //
  3016  // This method is useful when you want to inject custom logic or configuration
  3017  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3018  //
  3019  //
  3020  //    // Example sending a request using the ListDetectorsRequest method.
  3021  //    req, resp := client.ListDetectorsRequest(params)
  3022  //
  3023  //    err := req.Send()
  3024  //    if err == nil { // resp is now filled
  3025  //        fmt.Println(resp)
  3026  //    }
  3027  //
  3028  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListDetectors
  3029  func (c *GuardDuty) ListDetectorsRequest(input *ListDetectorsInput) (req *request.Request, output *ListDetectorsOutput) {
  3030  	op := &request.Operation{
  3031  		Name:       opListDetectors,
  3032  		HTTPMethod: "GET",
  3033  		HTTPPath:   "/detector",
  3034  		Paginator: &request.Paginator{
  3035  			InputTokens:     []string{"NextToken"},
  3036  			OutputTokens:    []string{"NextToken"},
  3037  			LimitToken:      "MaxResults",
  3038  			TruncationToken: "",
  3039  		},
  3040  	}
  3041  
  3042  	if input == nil {
  3043  		input = &ListDetectorsInput{}
  3044  	}
  3045  
  3046  	output = &ListDetectorsOutput{}
  3047  	req = c.newRequest(op, input, output)
  3048  	return
  3049  }
  3050  
  3051  // ListDetectors API operation for Amazon GuardDuty.
  3052  //
  3053  // Lists detectorIds of all the existing Amazon GuardDuty detector resources.
  3054  //
  3055  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3056  // with awserr.Error's Code and Message methods to get detailed information about
  3057  // the error.
  3058  //
  3059  // See the AWS API reference guide for Amazon GuardDuty's
  3060  // API operation ListDetectors for usage and error information.
  3061  //
  3062  // Returned Error Types:
  3063  //   * BadRequestException
  3064  //   A bad request exception object.
  3065  //
  3066  //   * InternalServerErrorException
  3067  //   An internal server error exception object.
  3068  //
  3069  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListDetectors
  3070  func (c *GuardDuty) ListDetectors(input *ListDetectorsInput) (*ListDetectorsOutput, error) {
  3071  	req, out := c.ListDetectorsRequest(input)
  3072  	return out, req.Send()
  3073  }
  3074  
  3075  // ListDetectorsWithContext is the same as ListDetectors with the addition of
  3076  // the ability to pass a context and additional request options.
  3077  //
  3078  // See ListDetectors for details on how to use this API operation.
  3079  //
  3080  // The context must be non-nil and will be used for request cancellation. If
  3081  // the context is nil a panic will occur. In the future the SDK may create
  3082  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3083  // for more information on using Contexts.
  3084  func (c *GuardDuty) ListDetectorsWithContext(ctx aws.Context, input *ListDetectorsInput, opts ...request.Option) (*ListDetectorsOutput, error) {
  3085  	req, out := c.ListDetectorsRequest(input)
  3086  	req.SetContext(ctx)
  3087  	req.ApplyOptions(opts...)
  3088  	return out, req.Send()
  3089  }
  3090  
  3091  // ListDetectorsPages iterates over the pages of a ListDetectors operation,
  3092  // calling the "fn" function with the response data for each page. To stop
  3093  // iterating, return false from the fn function.
  3094  //
  3095  // See ListDetectors method for more information on how to use this operation.
  3096  //
  3097  // Note: This operation can generate multiple requests to a service.
  3098  //
  3099  //    // Example iterating over at most 3 pages of a ListDetectors operation.
  3100  //    pageNum := 0
  3101  //    err := client.ListDetectorsPages(params,
  3102  //        func(page *guardduty.ListDetectorsOutput, lastPage bool) bool {
  3103  //            pageNum++
  3104  //            fmt.Println(page)
  3105  //            return pageNum <= 3
  3106  //        })
  3107  //
  3108  func (c *GuardDuty) ListDetectorsPages(input *ListDetectorsInput, fn func(*ListDetectorsOutput, bool) bool) error {
  3109  	return c.ListDetectorsPagesWithContext(aws.BackgroundContext(), input, fn)
  3110  }
  3111  
  3112  // ListDetectorsPagesWithContext same as ListDetectorsPages except
  3113  // it takes a Context and allows setting request options on the pages.
  3114  //
  3115  // The context must be non-nil and will be used for request cancellation. If
  3116  // the context is nil a panic will occur. In the future the SDK may create
  3117  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3118  // for more information on using Contexts.
  3119  func (c *GuardDuty) ListDetectorsPagesWithContext(ctx aws.Context, input *ListDetectorsInput, fn func(*ListDetectorsOutput, bool) bool, opts ...request.Option) error {
  3120  	p := request.Pagination{
  3121  		NewRequest: func() (*request.Request, error) {
  3122  			var inCpy *ListDetectorsInput
  3123  			if input != nil {
  3124  				tmp := *input
  3125  				inCpy = &tmp
  3126  			}
  3127  			req, _ := c.ListDetectorsRequest(inCpy)
  3128  			req.SetContext(ctx)
  3129  			req.ApplyOptions(opts...)
  3130  			return req, nil
  3131  		},
  3132  	}
  3133  
  3134  	for p.Next() {
  3135  		if !fn(p.Page().(*ListDetectorsOutput), !p.HasNextPage()) {
  3136  			break
  3137  		}
  3138  	}
  3139  
  3140  	return p.Err()
  3141  }
  3142  
  3143  const opListFilters = "ListFilters"
  3144  
  3145  // ListFiltersRequest generates a "aws/request.Request" representing the
  3146  // client's request for the ListFilters operation. The "output" return
  3147  // value will be populated with the request's response once the request completes
  3148  // successfully.
  3149  //
  3150  // Use "Send" method on the returned Request to send the API call to the service.
  3151  // the "output" return value is not valid until after Send returns without error.
  3152  //
  3153  // See ListFilters for more information on using the ListFilters
  3154  // API call, and error handling.
  3155  //
  3156  // This method is useful when you want to inject custom logic or configuration
  3157  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3158  //
  3159  //
  3160  //    // Example sending a request using the ListFiltersRequest method.
  3161  //    req, resp := client.ListFiltersRequest(params)
  3162  //
  3163  //    err := req.Send()
  3164  //    if err == nil { // resp is now filled
  3165  //        fmt.Println(resp)
  3166  //    }
  3167  //
  3168  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListFilters
  3169  func (c *GuardDuty) ListFiltersRequest(input *ListFiltersInput) (req *request.Request, output *ListFiltersOutput) {
  3170  	op := &request.Operation{
  3171  		Name:       opListFilters,
  3172  		HTTPMethod: "GET",
  3173  		HTTPPath:   "/detector/{detectorId}/filter",
  3174  		Paginator: &request.Paginator{
  3175  			InputTokens:     []string{"NextToken"},
  3176  			OutputTokens:    []string{"NextToken"},
  3177  			LimitToken:      "MaxResults",
  3178  			TruncationToken: "",
  3179  		},
  3180  	}
  3181  
  3182  	if input == nil {
  3183  		input = &ListFiltersInput{}
  3184  	}
  3185  
  3186  	output = &ListFiltersOutput{}
  3187  	req = c.newRequest(op, input, output)
  3188  	return
  3189  }
  3190  
  3191  // ListFilters API operation for Amazon GuardDuty.
  3192  //
  3193  // Returns a paginated list of the current filters.
  3194  //
  3195  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3196  // with awserr.Error's Code and Message methods to get detailed information about
  3197  // the error.
  3198  //
  3199  // See the AWS API reference guide for Amazon GuardDuty's
  3200  // API operation ListFilters for usage and error information.
  3201  //
  3202  // Returned Error Types:
  3203  //   * BadRequestException
  3204  //   A bad request exception object.
  3205  //
  3206  //   * InternalServerErrorException
  3207  //   An internal server error exception object.
  3208  //
  3209  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListFilters
  3210  func (c *GuardDuty) ListFilters(input *ListFiltersInput) (*ListFiltersOutput, error) {
  3211  	req, out := c.ListFiltersRequest(input)
  3212  	return out, req.Send()
  3213  }
  3214  
  3215  // ListFiltersWithContext is the same as ListFilters with the addition of
  3216  // the ability to pass a context and additional request options.
  3217  //
  3218  // See ListFilters for details on how to use this API operation.
  3219  //
  3220  // The context must be non-nil and will be used for request cancellation. If
  3221  // the context is nil a panic will occur. In the future the SDK may create
  3222  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3223  // for more information on using Contexts.
  3224  func (c *GuardDuty) ListFiltersWithContext(ctx aws.Context, input *ListFiltersInput, opts ...request.Option) (*ListFiltersOutput, error) {
  3225  	req, out := c.ListFiltersRequest(input)
  3226  	req.SetContext(ctx)
  3227  	req.ApplyOptions(opts...)
  3228  	return out, req.Send()
  3229  }
  3230  
  3231  // ListFiltersPages iterates over the pages of a ListFilters operation,
  3232  // calling the "fn" function with the response data for each page. To stop
  3233  // iterating, return false from the fn function.
  3234  //
  3235  // See ListFilters method for more information on how to use this operation.
  3236  //
  3237  // Note: This operation can generate multiple requests to a service.
  3238  //
  3239  //    // Example iterating over at most 3 pages of a ListFilters operation.
  3240  //    pageNum := 0
  3241  //    err := client.ListFiltersPages(params,
  3242  //        func(page *guardduty.ListFiltersOutput, lastPage bool) bool {
  3243  //            pageNum++
  3244  //            fmt.Println(page)
  3245  //            return pageNum <= 3
  3246  //        })
  3247  //
  3248  func (c *GuardDuty) ListFiltersPages(input *ListFiltersInput, fn func(*ListFiltersOutput, bool) bool) error {
  3249  	return c.ListFiltersPagesWithContext(aws.BackgroundContext(), input, fn)
  3250  }
  3251  
  3252  // ListFiltersPagesWithContext same as ListFiltersPages except
  3253  // it takes a Context and allows setting request options on the pages.
  3254  //
  3255  // The context must be non-nil and will be used for request cancellation. If
  3256  // the context is nil a panic will occur. In the future the SDK may create
  3257  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3258  // for more information on using Contexts.
  3259  func (c *GuardDuty) ListFiltersPagesWithContext(ctx aws.Context, input *ListFiltersInput, fn func(*ListFiltersOutput, bool) bool, opts ...request.Option) error {
  3260  	p := request.Pagination{
  3261  		NewRequest: func() (*request.Request, error) {
  3262  			var inCpy *ListFiltersInput
  3263  			if input != nil {
  3264  				tmp := *input
  3265  				inCpy = &tmp
  3266  			}
  3267  			req, _ := c.ListFiltersRequest(inCpy)
  3268  			req.SetContext(ctx)
  3269  			req.ApplyOptions(opts...)
  3270  			return req, nil
  3271  		},
  3272  	}
  3273  
  3274  	for p.Next() {
  3275  		if !fn(p.Page().(*ListFiltersOutput), !p.HasNextPage()) {
  3276  			break
  3277  		}
  3278  	}
  3279  
  3280  	return p.Err()
  3281  }
  3282  
  3283  const opListFindings = "ListFindings"
  3284  
  3285  // ListFindingsRequest generates a "aws/request.Request" representing the
  3286  // client's request for the ListFindings operation. The "output" return
  3287  // value will be populated with the request's response once the request completes
  3288  // successfully.
  3289  //
  3290  // Use "Send" method on the returned Request to send the API call to the service.
  3291  // the "output" return value is not valid until after Send returns without error.
  3292  //
  3293  // See ListFindings for more information on using the ListFindings
  3294  // API call, and error handling.
  3295  //
  3296  // This method is useful when you want to inject custom logic or configuration
  3297  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3298  //
  3299  //
  3300  //    // Example sending a request using the ListFindingsRequest method.
  3301  //    req, resp := client.ListFindingsRequest(params)
  3302  //
  3303  //    err := req.Send()
  3304  //    if err == nil { // resp is now filled
  3305  //        fmt.Println(resp)
  3306  //    }
  3307  //
  3308  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListFindings
  3309  func (c *GuardDuty) ListFindingsRequest(input *ListFindingsInput) (req *request.Request, output *ListFindingsOutput) {
  3310  	op := &request.Operation{
  3311  		Name:       opListFindings,
  3312  		HTTPMethod: "POST",
  3313  		HTTPPath:   "/detector/{detectorId}/findings",
  3314  		Paginator: &request.Paginator{
  3315  			InputTokens:     []string{"NextToken"},
  3316  			OutputTokens:    []string{"NextToken"},
  3317  			LimitToken:      "MaxResults",
  3318  			TruncationToken: "",
  3319  		},
  3320  	}
  3321  
  3322  	if input == nil {
  3323  		input = &ListFindingsInput{}
  3324  	}
  3325  
  3326  	output = &ListFindingsOutput{}
  3327  	req = c.newRequest(op, input, output)
  3328  	return
  3329  }
  3330  
  3331  // ListFindings API operation for Amazon GuardDuty.
  3332  //
  3333  // Lists Amazon GuardDuty findings for the specified detector ID.
  3334  //
  3335  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3336  // with awserr.Error's Code and Message methods to get detailed information about
  3337  // the error.
  3338  //
  3339  // See the AWS API reference guide for Amazon GuardDuty's
  3340  // API operation ListFindings for usage and error information.
  3341  //
  3342  // Returned Error Types:
  3343  //   * BadRequestException
  3344  //   A bad request exception object.
  3345  //
  3346  //   * InternalServerErrorException
  3347  //   An internal server error exception object.
  3348  //
  3349  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListFindings
  3350  func (c *GuardDuty) ListFindings(input *ListFindingsInput) (*ListFindingsOutput, error) {
  3351  	req, out := c.ListFindingsRequest(input)
  3352  	return out, req.Send()
  3353  }
  3354  
  3355  // ListFindingsWithContext is the same as ListFindings with the addition of
  3356  // the ability to pass a context and additional request options.
  3357  //
  3358  // See ListFindings for details on how to use this API operation.
  3359  //
  3360  // The context must be non-nil and will be used for request cancellation. If
  3361  // the context is nil a panic will occur. In the future the SDK may create
  3362  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3363  // for more information on using Contexts.
  3364  func (c *GuardDuty) ListFindingsWithContext(ctx aws.Context, input *ListFindingsInput, opts ...request.Option) (*ListFindingsOutput, error) {
  3365  	req, out := c.ListFindingsRequest(input)
  3366  	req.SetContext(ctx)
  3367  	req.ApplyOptions(opts...)
  3368  	return out, req.Send()
  3369  }
  3370  
  3371  // ListFindingsPages iterates over the pages of a ListFindings operation,
  3372  // calling the "fn" function with the response data for each page. To stop
  3373  // iterating, return false from the fn function.
  3374  //
  3375  // See ListFindings method for more information on how to use this operation.
  3376  //
  3377  // Note: This operation can generate multiple requests to a service.
  3378  //
  3379  //    // Example iterating over at most 3 pages of a ListFindings operation.
  3380  //    pageNum := 0
  3381  //    err := client.ListFindingsPages(params,
  3382  //        func(page *guardduty.ListFindingsOutput, lastPage bool) bool {
  3383  //            pageNum++
  3384  //            fmt.Println(page)
  3385  //            return pageNum <= 3
  3386  //        })
  3387  //
  3388  func (c *GuardDuty) ListFindingsPages(input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool) error {
  3389  	return c.ListFindingsPagesWithContext(aws.BackgroundContext(), input, fn)
  3390  }
  3391  
  3392  // ListFindingsPagesWithContext same as ListFindingsPages except
  3393  // it takes a Context and allows setting request options on the pages.
  3394  //
  3395  // The context must be non-nil and will be used for request cancellation. If
  3396  // the context is nil a panic will occur. In the future the SDK may create
  3397  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3398  // for more information on using Contexts.
  3399  func (c *GuardDuty) ListFindingsPagesWithContext(ctx aws.Context, input *ListFindingsInput, fn func(*ListFindingsOutput, bool) bool, opts ...request.Option) error {
  3400  	p := request.Pagination{
  3401  		NewRequest: func() (*request.Request, error) {
  3402  			var inCpy *ListFindingsInput
  3403  			if input != nil {
  3404  				tmp := *input
  3405  				inCpy = &tmp
  3406  			}
  3407  			req, _ := c.ListFindingsRequest(inCpy)
  3408  			req.SetContext(ctx)
  3409  			req.ApplyOptions(opts...)
  3410  			return req, nil
  3411  		},
  3412  	}
  3413  
  3414  	for p.Next() {
  3415  		if !fn(p.Page().(*ListFindingsOutput), !p.HasNextPage()) {
  3416  			break
  3417  		}
  3418  	}
  3419  
  3420  	return p.Err()
  3421  }
  3422  
  3423  const opListIPSets = "ListIPSets"
  3424  
  3425  // ListIPSetsRequest generates a "aws/request.Request" representing the
  3426  // client's request for the ListIPSets operation. The "output" return
  3427  // value will be populated with the request's response once the request completes
  3428  // successfully.
  3429  //
  3430  // Use "Send" method on the returned Request to send the API call to the service.
  3431  // the "output" return value is not valid until after Send returns without error.
  3432  //
  3433  // See ListIPSets for more information on using the ListIPSets
  3434  // API call, and error handling.
  3435  //
  3436  // This method is useful when you want to inject custom logic or configuration
  3437  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3438  //
  3439  //
  3440  //    // Example sending a request using the ListIPSetsRequest method.
  3441  //    req, resp := client.ListIPSetsRequest(params)
  3442  //
  3443  //    err := req.Send()
  3444  //    if err == nil { // resp is now filled
  3445  //        fmt.Println(resp)
  3446  //    }
  3447  //
  3448  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListIPSets
  3449  func (c *GuardDuty) ListIPSetsRequest(input *ListIPSetsInput) (req *request.Request, output *ListIPSetsOutput) {
  3450  	op := &request.Operation{
  3451  		Name:       opListIPSets,
  3452  		HTTPMethod: "GET",
  3453  		HTTPPath:   "/detector/{detectorId}/ipset",
  3454  		Paginator: &request.Paginator{
  3455  			InputTokens:     []string{"NextToken"},
  3456  			OutputTokens:    []string{"NextToken"},
  3457  			LimitToken:      "MaxResults",
  3458  			TruncationToken: "",
  3459  		},
  3460  	}
  3461  
  3462  	if input == nil {
  3463  		input = &ListIPSetsInput{}
  3464  	}
  3465  
  3466  	output = &ListIPSetsOutput{}
  3467  	req = c.newRequest(op, input, output)
  3468  	return
  3469  }
  3470  
  3471  // ListIPSets API operation for Amazon GuardDuty.
  3472  //
  3473  // Lists the IPSets of the GuardDuty service specified by the detector ID. If
  3474  // you use this operation from a member account, the IPSets returned are the
  3475  // IPSets from the associated administrator account.
  3476  //
  3477  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3478  // with awserr.Error's Code and Message methods to get detailed information about
  3479  // the error.
  3480  //
  3481  // See the AWS API reference guide for Amazon GuardDuty's
  3482  // API operation ListIPSets for usage and error information.
  3483  //
  3484  // Returned Error Types:
  3485  //   * BadRequestException
  3486  //   A bad request exception object.
  3487  //
  3488  //   * InternalServerErrorException
  3489  //   An internal server error exception object.
  3490  //
  3491  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListIPSets
  3492  func (c *GuardDuty) ListIPSets(input *ListIPSetsInput) (*ListIPSetsOutput, error) {
  3493  	req, out := c.ListIPSetsRequest(input)
  3494  	return out, req.Send()
  3495  }
  3496  
  3497  // ListIPSetsWithContext is the same as ListIPSets with the addition of
  3498  // the ability to pass a context and additional request options.
  3499  //
  3500  // See ListIPSets for details on how to use this API operation.
  3501  //
  3502  // The context must be non-nil and will be used for request cancellation. If
  3503  // the context is nil a panic will occur. In the future the SDK may create
  3504  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3505  // for more information on using Contexts.
  3506  func (c *GuardDuty) ListIPSetsWithContext(ctx aws.Context, input *ListIPSetsInput, opts ...request.Option) (*ListIPSetsOutput, error) {
  3507  	req, out := c.ListIPSetsRequest(input)
  3508  	req.SetContext(ctx)
  3509  	req.ApplyOptions(opts...)
  3510  	return out, req.Send()
  3511  }
  3512  
  3513  // ListIPSetsPages iterates over the pages of a ListIPSets operation,
  3514  // calling the "fn" function with the response data for each page. To stop
  3515  // iterating, return false from the fn function.
  3516  //
  3517  // See ListIPSets method for more information on how to use this operation.
  3518  //
  3519  // Note: This operation can generate multiple requests to a service.
  3520  //
  3521  //    // Example iterating over at most 3 pages of a ListIPSets operation.
  3522  //    pageNum := 0
  3523  //    err := client.ListIPSetsPages(params,
  3524  //        func(page *guardduty.ListIPSetsOutput, lastPage bool) bool {
  3525  //            pageNum++
  3526  //            fmt.Println(page)
  3527  //            return pageNum <= 3
  3528  //        })
  3529  //
  3530  func (c *GuardDuty) ListIPSetsPages(input *ListIPSetsInput, fn func(*ListIPSetsOutput, bool) bool) error {
  3531  	return c.ListIPSetsPagesWithContext(aws.BackgroundContext(), input, fn)
  3532  }
  3533  
  3534  // ListIPSetsPagesWithContext same as ListIPSetsPages except
  3535  // it takes a Context and allows setting request options on the pages.
  3536  //
  3537  // The context must be non-nil and will be used for request cancellation. If
  3538  // the context is nil a panic will occur. In the future the SDK may create
  3539  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3540  // for more information on using Contexts.
  3541  func (c *GuardDuty) ListIPSetsPagesWithContext(ctx aws.Context, input *ListIPSetsInput, fn func(*ListIPSetsOutput, bool) bool, opts ...request.Option) error {
  3542  	p := request.Pagination{
  3543  		NewRequest: func() (*request.Request, error) {
  3544  			var inCpy *ListIPSetsInput
  3545  			if input != nil {
  3546  				tmp := *input
  3547  				inCpy = &tmp
  3548  			}
  3549  			req, _ := c.ListIPSetsRequest(inCpy)
  3550  			req.SetContext(ctx)
  3551  			req.ApplyOptions(opts...)
  3552  			return req, nil
  3553  		},
  3554  	}
  3555  
  3556  	for p.Next() {
  3557  		if !fn(p.Page().(*ListIPSetsOutput), !p.HasNextPage()) {
  3558  			break
  3559  		}
  3560  	}
  3561  
  3562  	return p.Err()
  3563  }
  3564  
  3565  const opListInvitations = "ListInvitations"
  3566  
  3567  // ListInvitationsRequest generates a "aws/request.Request" representing the
  3568  // client's request for the ListInvitations operation. The "output" return
  3569  // value will be populated with the request's response once the request completes
  3570  // successfully.
  3571  //
  3572  // Use "Send" method on the returned Request to send the API call to the service.
  3573  // the "output" return value is not valid until after Send returns without error.
  3574  //
  3575  // See ListInvitations for more information on using the ListInvitations
  3576  // API call, and error handling.
  3577  //
  3578  // This method is useful when you want to inject custom logic or configuration
  3579  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3580  //
  3581  //
  3582  //    // Example sending a request using the ListInvitationsRequest method.
  3583  //    req, resp := client.ListInvitationsRequest(params)
  3584  //
  3585  //    err := req.Send()
  3586  //    if err == nil { // resp is now filled
  3587  //        fmt.Println(resp)
  3588  //    }
  3589  //
  3590  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListInvitations
  3591  func (c *GuardDuty) ListInvitationsRequest(input *ListInvitationsInput) (req *request.Request, output *ListInvitationsOutput) {
  3592  	op := &request.Operation{
  3593  		Name:       opListInvitations,
  3594  		HTTPMethod: "GET",
  3595  		HTTPPath:   "/invitation",
  3596  		Paginator: &request.Paginator{
  3597  			InputTokens:     []string{"NextToken"},
  3598  			OutputTokens:    []string{"NextToken"},
  3599  			LimitToken:      "MaxResults",
  3600  			TruncationToken: "",
  3601  		},
  3602  	}
  3603  
  3604  	if input == nil {
  3605  		input = &ListInvitationsInput{}
  3606  	}
  3607  
  3608  	output = &ListInvitationsOutput{}
  3609  	req = c.newRequest(op, input, output)
  3610  	return
  3611  }
  3612  
  3613  // ListInvitations API operation for Amazon GuardDuty.
  3614  //
  3615  // Lists all GuardDuty membership invitations that were sent to the current
  3616  // AWS account.
  3617  //
  3618  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3619  // with awserr.Error's Code and Message methods to get detailed information about
  3620  // the error.
  3621  //
  3622  // See the AWS API reference guide for Amazon GuardDuty's
  3623  // API operation ListInvitations for usage and error information.
  3624  //
  3625  // Returned Error Types:
  3626  //   * BadRequestException
  3627  //   A bad request exception object.
  3628  //
  3629  //   * InternalServerErrorException
  3630  //   An internal server error exception object.
  3631  //
  3632  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListInvitations
  3633  func (c *GuardDuty) ListInvitations(input *ListInvitationsInput) (*ListInvitationsOutput, error) {
  3634  	req, out := c.ListInvitationsRequest(input)
  3635  	return out, req.Send()
  3636  }
  3637  
  3638  // ListInvitationsWithContext is the same as ListInvitations with the addition of
  3639  // the ability to pass a context and additional request options.
  3640  //
  3641  // See ListInvitations for details on how to use this API operation.
  3642  //
  3643  // The context must be non-nil and will be used for request cancellation. If
  3644  // the context is nil a panic will occur. In the future the SDK may create
  3645  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3646  // for more information on using Contexts.
  3647  func (c *GuardDuty) ListInvitationsWithContext(ctx aws.Context, input *ListInvitationsInput, opts ...request.Option) (*ListInvitationsOutput, error) {
  3648  	req, out := c.ListInvitationsRequest(input)
  3649  	req.SetContext(ctx)
  3650  	req.ApplyOptions(opts...)
  3651  	return out, req.Send()
  3652  }
  3653  
  3654  // ListInvitationsPages iterates over the pages of a ListInvitations operation,
  3655  // calling the "fn" function with the response data for each page. To stop
  3656  // iterating, return false from the fn function.
  3657  //
  3658  // See ListInvitations method for more information on how to use this operation.
  3659  //
  3660  // Note: This operation can generate multiple requests to a service.
  3661  //
  3662  //    // Example iterating over at most 3 pages of a ListInvitations operation.
  3663  //    pageNum := 0
  3664  //    err := client.ListInvitationsPages(params,
  3665  //        func(page *guardduty.ListInvitationsOutput, lastPage bool) bool {
  3666  //            pageNum++
  3667  //            fmt.Println(page)
  3668  //            return pageNum <= 3
  3669  //        })
  3670  //
  3671  func (c *GuardDuty) ListInvitationsPages(input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool) error {
  3672  	return c.ListInvitationsPagesWithContext(aws.BackgroundContext(), input, fn)
  3673  }
  3674  
  3675  // ListInvitationsPagesWithContext same as ListInvitationsPages except
  3676  // it takes a Context and allows setting request options on the pages.
  3677  //
  3678  // The context must be non-nil and will be used for request cancellation. If
  3679  // the context is nil a panic will occur. In the future the SDK may create
  3680  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3681  // for more information on using Contexts.
  3682  func (c *GuardDuty) ListInvitationsPagesWithContext(ctx aws.Context, input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool, opts ...request.Option) error {
  3683  	p := request.Pagination{
  3684  		NewRequest: func() (*request.Request, error) {
  3685  			var inCpy *ListInvitationsInput
  3686  			if input != nil {
  3687  				tmp := *input
  3688  				inCpy = &tmp
  3689  			}
  3690  			req, _ := c.ListInvitationsRequest(inCpy)
  3691  			req.SetContext(ctx)
  3692  			req.ApplyOptions(opts...)
  3693  			return req, nil
  3694  		},
  3695  	}
  3696  
  3697  	for p.Next() {
  3698  		if !fn(p.Page().(*ListInvitationsOutput), !p.HasNextPage()) {
  3699  			break
  3700  		}
  3701  	}
  3702  
  3703  	return p.Err()
  3704  }
  3705  
  3706  const opListMembers = "ListMembers"
  3707  
  3708  // ListMembersRequest generates a "aws/request.Request" representing the
  3709  // client's request for the ListMembers operation. The "output" return
  3710  // value will be populated with the request's response once the request completes
  3711  // successfully.
  3712  //
  3713  // Use "Send" method on the returned Request to send the API call to the service.
  3714  // the "output" return value is not valid until after Send returns without error.
  3715  //
  3716  // See ListMembers for more information on using the ListMembers
  3717  // API call, and error handling.
  3718  //
  3719  // This method is useful when you want to inject custom logic or configuration
  3720  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3721  //
  3722  //
  3723  //    // Example sending a request using the ListMembersRequest method.
  3724  //    req, resp := client.ListMembersRequest(params)
  3725  //
  3726  //    err := req.Send()
  3727  //    if err == nil { // resp is now filled
  3728  //        fmt.Println(resp)
  3729  //    }
  3730  //
  3731  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListMembers
  3732  func (c *GuardDuty) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) {
  3733  	op := &request.Operation{
  3734  		Name:       opListMembers,
  3735  		HTTPMethod: "GET",
  3736  		HTTPPath:   "/detector/{detectorId}/member",
  3737  		Paginator: &request.Paginator{
  3738  			InputTokens:     []string{"NextToken"},
  3739  			OutputTokens:    []string{"NextToken"},
  3740  			LimitToken:      "MaxResults",
  3741  			TruncationToken: "",
  3742  		},
  3743  	}
  3744  
  3745  	if input == nil {
  3746  		input = &ListMembersInput{}
  3747  	}
  3748  
  3749  	output = &ListMembersOutput{}
  3750  	req = c.newRequest(op, input, output)
  3751  	return
  3752  }
  3753  
  3754  // ListMembers API operation for Amazon GuardDuty.
  3755  //
  3756  // Lists details about all member accounts for the current GuardDuty administrator
  3757  // account.
  3758  //
  3759  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3760  // with awserr.Error's Code and Message methods to get detailed information about
  3761  // the error.
  3762  //
  3763  // See the AWS API reference guide for Amazon GuardDuty's
  3764  // API operation ListMembers for usage and error information.
  3765  //
  3766  // Returned Error Types:
  3767  //   * BadRequestException
  3768  //   A bad request exception object.
  3769  //
  3770  //   * InternalServerErrorException
  3771  //   An internal server error exception object.
  3772  //
  3773  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListMembers
  3774  func (c *GuardDuty) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) {
  3775  	req, out := c.ListMembersRequest(input)
  3776  	return out, req.Send()
  3777  }
  3778  
  3779  // ListMembersWithContext is the same as ListMembers with the addition of
  3780  // the ability to pass a context and additional request options.
  3781  //
  3782  // See ListMembers for details on how to use this API operation.
  3783  //
  3784  // The context must be non-nil and will be used for request cancellation. If
  3785  // the context is nil a panic will occur. In the future the SDK may create
  3786  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3787  // for more information on using Contexts.
  3788  func (c *GuardDuty) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) {
  3789  	req, out := c.ListMembersRequest(input)
  3790  	req.SetContext(ctx)
  3791  	req.ApplyOptions(opts...)
  3792  	return out, req.Send()
  3793  }
  3794  
  3795  // ListMembersPages iterates over the pages of a ListMembers operation,
  3796  // calling the "fn" function with the response data for each page. To stop
  3797  // iterating, return false from the fn function.
  3798  //
  3799  // See ListMembers method for more information on how to use this operation.
  3800  //
  3801  // Note: This operation can generate multiple requests to a service.
  3802  //
  3803  //    // Example iterating over at most 3 pages of a ListMembers operation.
  3804  //    pageNum := 0
  3805  //    err := client.ListMembersPages(params,
  3806  //        func(page *guardduty.ListMembersOutput, lastPage bool) bool {
  3807  //            pageNum++
  3808  //            fmt.Println(page)
  3809  //            return pageNum <= 3
  3810  //        })
  3811  //
  3812  func (c *GuardDuty) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error {
  3813  	return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn)
  3814  }
  3815  
  3816  // ListMembersPagesWithContext same as ListMembersPages except
  3817  // it takes a Context and allows setting request options on the pages.
  3818  //
  3819  // The context must be non-nil and will be used for request cancellation. If
  3820  // the context is nil a panic will occur. In the future the SDK may create
  3821  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3822  // for more information on using Contexts.
  3823  func (c *GuardDuty) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error {
  3824  	p := request.Pagination{
  3825  		NewRequest: func() (*request.Request, error) {
  3826  			var inCpy *ListMembersInput
  3827  			if input != nil {
  3828  				tmp := *input
  3829  				inCpy = &tmp
  3830  			}
  3831  			req, _ := c.ListMembersRequest(inCpy)
  3832  			req.SetContext(ctx)
  3833  			req.ApplyOptions(opts...)
  3834  			return req, nil
  3835  		},
  3836  	}
  3837  
  3838  	for p.Next() {
  3839  		if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) {
  3840  			break
  3841  		}
  3842  	}
  3843  
  3844  	return p.Err()
  3845  }
  3846  
  3847  const opListOrganizationAdminAccounts = "ListOrganizationAdminAccounts"
  3848  
  3849  // ListOrganizationAdminAccountsRequest generates a "aws/request.Request" representing the
  3850  // client's request for the ListOrganizationAdminAccounts operation. The "output" return
  3851  // value will be populated with the request's response once the request completes
  3852  // successfully.
  3853  //
  3854  // Use "Send" method on the returned Request to send the API call to the service.
  3855  // the "output" return value is not valid until after Send returns without error.
  3856  //
  3857  // See ListOrganizationAdminAccounts for more information on using the ListOrganizationAdminAccounts
  3858  // API call, and error handling.
  3859  //
  3860  // This method is useful when you want to inject custom logic or configuration
  3861  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  3862  //
  3863  //
  3864  //    // Example sending a request using the ListOrganizationAdminAccountsRequest method.
  3865  //    req, resp := client.ListOrganizationAdminAccountsRequest(params)
  3866  //
  3867  //    err := req.Send()
  3868  //    if err == nil { // resp is now filled
  3869  //        fmt.Println(resp)
  3870  //    }
  3871  //
  3872  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListOrganizationAdminAccounts
  3873  func (c *GuardDuty) ListOrganizationAdminAccountsRequest(input *ListOrganizationAdminAccountsInput) (req *request.Request, output *ListOrganizationAdminAccountsOutput) {
  3874  	op := &request.Operation{
  3875  		Name:       opListOrganizationAdminAccounts,
  3876  		HTTPMethod: "GET",
  3877  		HTTPPath:   "/admin",
  3878  		Paginator: &request.Paginator{
  3879  			InputTokens:     []string{"NextToken"},
  3880  			OutputTokens:    []string{"NextToken"},
  3881  			LimitToken:      "MaxResults",
  3882  			TruncationToken: "",
  3883  		},
  3884  	}
  3885  
  3886  	if input == nil {
  3887  		input = &ListOrganizationAdminAccountsInput{}
  3888  	}
  3889  
  3890  	output = &ListOrganizationAdminAccountsOutput{}
  3891  	req = c.newRequest(op, input, output)
  3892  	return
  3893  }
  3894  
  3895  // ListOrganizationAdminAccounts API operation for Amazon GuardDuty.
  3896  //
  3897  // Lists the accounts configured as GuardDuty delegated administrators.
  3898  //
  3899  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  3900  // with awserr.Error's Code and Message methods to get detailed information about
  3901  // the error.
  3902  //
  3903  // See the AWS API reference guide for Amazon GuardDuty's
  3904  // API operation ListOrganizationAdminAccounts for usage and error information.
  3905  //
  3906  // Returned Error Types:
  3907  //   * BadRequestException
  3908  //   A bad request exception object.
  3909  //
  3910  //   * InternalServerErrorException
  3911  //   An internal server error exception object.
  3912  //
  3913  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListOrganizationAdminAccounts
  3914  func (c *GuardDuty) ListOrganizationAdminAccounts(input *ListOrganizationAdminAccountsInput) (*ListOrganizationAdminAccountsOutput, error) {
  3915  	req, out := c.ListOrganizationAdminAccountsRequest(input)
  3916  	return out, req.Send()
  3917  }
  3918  
  3919  // ListOrganizationAdminAccountsWithContext is the same as ListOrganizationAdminAccounts with the addition of
  3920  // the ability to pass a context and additional request options.
  3921  //
  3922  // See ListOrganizationAdminAccounts for details on how to use this API operation.
  3923  //
  3924  // The context must be non-nil and will be used for request cancellation. If
  3925  // the context is nil a panic will occur. In the future the SDK may create
  3926  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3927  // for more information on using Contexts.
  3928  func (c *GuardDuty) ListOrganizationAdminAccountsWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, opts ...request.Option) (*ListOrganizationAdminAccountsOutput, error) {
  3929  	req, out := c.ListOrganizationAdminAccountsRequest(input)
  3930  	req.SetContext(ctx)
  3931  	req.ApplyOptions(opts...)
  3932  	return out, req.Send()
  3933  }
  3934  
  3935  // ListOrganizationAdminAccountsPages iterates over the pages of a ListOrganizationAdminAccounts operation,
  3936  // calling the "fn" function with the response data for each page. To stop
  3937  // iterating, return false from the fn function.
  3938  //
  3939  // See ListOrganizationAdminAccounts method for more information on how to use this operation.
  3940  //
  3941  // Note: This operation can generate multiple requests to a service.
  3942  //
  3943  //    // Example iterating over at most 3 pages of a ListOrganizationAdminAccounts operation.
  3944  //    pageNum := 0
  3945  //    err := client.ListOrganizationAdminAccountsPages(params,
  3946  //        func(page *guardduty.ListOrganizationAdminAccountsOutput, lastPage bool) bool {
  3947  //            pageNum++
  3948  //            fmt.Println(page)
  3949  //            return pageNum <= 3
  3950  //        })
  3951  //
  3952  func (c *GuardDuty) ListOrganizationAdminAccountsPages(input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool) error {
  3953  	return c.ListOrganizationAdminAccountsPagesWithContext(aws.BackgroundContext(), input, fn)
  3954  }
  3955  
  3956  // ListOrganizationAdminAccountsPagesWithContext same as ListOrganizationAdminAccountsPages except
  3957  // it takes a Context and allows setting request options on the pages.
  3958  //
  3959  // The context must be non-nil and will be used for request cancellation. If
  3960  // the context is nil a panic will occur. In the future the SDK may create
  3961  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  3962  // for more information on using Contexts.
  3963  func (c *GuardDuty) ListOrganizationAdminAccountsPagesWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool, opts ...request.Option) error {
  3964  	p := request.Pagination{
  3965  		NewRequest: func() (*request.Request, error) {
  3966  			var inCpy *ListOrganizationAdminAccountsInput
  3967  			if input != nil {
  3968  				tmp := *input
  3969  				inCpy = &tmp
  3970  			}
  3971  			req, _ := c.ListOrganizationAdminAccountsRequest(inCpy)
  3972  			req.SetContext(ctx)
  3973  			req.ApplyOptions(opts...)
  3974  			return req, nil
  3975  		},
  3976  	}
  3977  
  3978  	for p.Next() {
  3979  		if !fn(p.Page().(*ListOrganizationAdminAccountsOutput), !p.HasNextPage()) {
  3980  			break
  3981  		}
  3982  	}
  3983  
  3984  	return p.Err()
  3985  }
  3986  
  3987  const opListPublishingDestinations = "ListPublishingDestinations"
  3988  
  3989  // ListPublishingDestinationsRequest generates a "aws/request.Request" representing the
  3990  // client's request for the ListPublishingDestinations operation. The "output" return
  3991  // value will be populated with the request's response once the request completes
  3992  // successfully.
  3993  //
  3994  // Use "Send" method on the returned Request to send the API call to the service.
  3995  // the "output" return value is not valid until after Send returns without error.
  3996  //
  3997  // See ListPublishingDestinations for more information on using the ListPublishingDestinations
  3998  // API call, and error handling.
  3999  //
  4000  // This method is useful when you want to inject custom logic or configuration
  4001  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4002  //
  4003  //
  4004  //    // Example sending a request using the ListPublishingDestinationsRequest method.
  4005  //    req, resp := client.ListPublishingDestinationsRequest(params)
  4006  //
  4007  //    err := req.Send()
  4008  //    if err == nil { // resp is now filled
  4009  //        fmt.Println(resp)
  4010  //    }
  4011  //
  4012  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListPublishingDestinations
  4013  func (c *GuardDuty) ListPublishingDestinationsRequest(input *ListPublishingDestinationsInput) (req *request.Request, output *ListPublishingDestinationsOutput) {
  4014  	op := &request.Operation{
  4015  		Name:       opListPublishingDestinations,
  4016  		HTTPMethod: "GET",
  4017  		HTTPPath:   "/detector/{detectorId}/publishingDestination",
  4018  		Paginator: &request.Paginator{
  4019  			InputTokens:     []string{"NextToken"},
  4020  			OutputTokens:    []string{"NextToken"},
  4021  			LimitToken:      "MaxResults",
  4022  			TruncationToken: "",
  4023  		},
  4024  	}
  4025  
  4026  	if input == nil {
  4027  		input = &ListPublishingDestinationsInput{}
  4028  	}
  4029  
  4030  	output = &ListPublishingDestinationsOutput{}
  4031  	req = c.newRequest(op, input, output)
  4032  	return
  4033  }
  4034  
  4035  // ListPublishingDestinations API operation for Amazon GuardDuty.
  4036  //
  4037  // Returns a list of publishing destinations associated with the specified dectectorId.
  4038  //
  4039  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4040  // with awserr.Error's Code and Message methods to get detailed information about
  4041  // the error.
  4042  //
  4043  // See the AWS API reference guide for Amazon GuardDuty's
  4044  // API operation ListPublishingDestinations for usage and error information.
  4045  //
  4046  // Returned Error Types:
  4047  //   * BadRequestException
  4048  //   A bad request exception object.
  4049  //
  4050  //   * InternalServerErrorException
  4051  //   An internal server error exception object.
  4052  //
  4053  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListPublishingDestinations
  4054  func (c *GuardDuty) ListPublishingDestinations(input *ListPublishingDestinationsInput) (*ListPublishingDestinationsOutput, error) {
  4055  	req, out := c.ListPublishingDestinationsRequest(input)
  4056  	return out, req.Send()
  4057  }
  4058  
  4059  // ListPublishingDestinationsWithContext is the same as ListPublishingDestinations with the addition of
  4060  // the ability to pass a context and additional request options.
  4061  //
  4062  // See ListPublishingDestinations for details on how to use this API operation.
  4063  //
  4064  // The context must be non-nil and will be used for request cancellation. If
  4065  // the context is nil a panic will occur. In the future the SDK may create
  4066  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4067  // for more information on using Contexts.
  4068  func (c *GuardDuty) ListPublishingDestinationsWithContext(ctx aws.Context, input *ListPublishingDestinationsInput, opts ...request.Option) (*ListPublishingDestinationsOutput, error) {
  4069  	req, out := c.ListPublishingDestinationsRequest(input)
  4070  	req.SetContext(ctx)
  4071  	req.ApplyOptions(opts...)
  4072  	return out, req.Send()
  4073  }
  4074  
  4075  // ListPublishingDestinationsPages iterates over the pages of a ListPublishingDestinations operation,
  4076  // calling the "fn" function with the response data for each page. To stop
  4077  // iterating, return false from the fn function.
  4078  //
  4079  // See ListPublishingDestinations method for more information on how to use this operation.
  4080  //
  4081  // Note: This operation can generate multiple requests to a service.
  4082  //
  4083  //    // Example iterating over at most 3 pages of a ListPublishingDestinations operation.
  4084  //    pageNum := 0
  4085  //    err := client.ListPublishingDestinationsPages(params,
  4086  //        func(page *guardduty.ListPublishingDestinationsOutput, lastPage bool) bool {
  4087  //            pageNum++
  4088  //            fmt.Println(page)
  4089  //            return pageNum <= 3
  4090  //        })
  4091  //
  4092  func (c *GuardDuty) ListPublishingDestinationsPages(input *ListPublishingDestinationsInput, fn func(*ListPublishingDestinationsOutput, bool) bool) error {
  4093  	return c.ListPublishingDestinationsPagesWithContext(aws.BackgroundContext(), input, fn)
  4094  }
  4095  
  4096  // ListPublishingDestinationsPagesWithContext same as ListPublishingDestinationsPages except
  4097  // it takes a Context and allows setting request options on the pages.
  4098  //
  4099  // The context must be non-nil and will be used for request cancellation. If
  4100  // the context is nil a panic will occur. In the future the SDK may create
  4101  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4102  // for more information on using Contexts.
  4103  func (c *GuardDuty) ListPublishingDestinationsPagesWithContext(ctx aws.Context, input *ListPublishingDestinationsInput, fn func(*ListPublishingDestinationsOutput, bool) bool, opts ...request.Option) error {
  4104  	p := request.Pagination{
  4105  		NewRequest: func() (*request.Request, error) {
  4106  			var inCpy *ListPublishingDestinationsInput
  4107  			if input != nil {
  4108  				tmp := *input
  4109  				inCpy = &tmp
  4110  			}
  4111  			req, _ := c.ListPublishingDestinationsRequest(inCpy)
  4112  			req.SetContext(ctx)
  4113  			req.ApplyOptions(opts...)
  4114  			return req, nil
  4115  		},
  4116  	}
  4117  
  4118  	for p.Next() {
  4119  		if !fn(p.Page().(*ListPublishingDestinationsOutput), !p.HasNextPage()) {
  4120  			break
  4121  		}
  4122  	}
  4123  
  4124  	return p.Err()
  4125  }
  4126  
  4127  const opListTagsForResource = "ListTagsForResource"
  4128  
  4129  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  4130  // client's request for the ListTagsForResource operation. The "output" return
  4131  // value will be populated with the request's response once the request completes
  4132  // successfully.
  4133  //
  4134  // Use "Send" method on the returned Request to send the API call to the service.
  4135  // the "output" return value is not valid until after Send returns without error.
  4136  //
  4137  // See ListTagsForResource for more information on using the ListTagsForResource
  4138  // API call, and error handling.
  4139  //
  4140  // This method is useful when you want to inject custom logic or configuration
  4141  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4142  //
  4143  //
  4144  //    // Example sending a request using the ListTagsForResourceRequest method.
  4145  //    req, resp := client.ListTagsForResourceRequest(params)
  4146  //
  4147  //    err := req.Send()
  4148  //    if err == nil { // resp is now filled
  4149  //        fmt.Println(resp)
  4150  //    }
  4151  //
  4152  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListTagsForResource
  4153  func (c *GuardDuty) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  4154  	op := &request.Operation{
  4155  		Name:       opListTagsForResource,
  4156  		HTTPMethod: "GET",
  4157  		HTTPPath:   "/tags/{resourceArn}",
  4158  	}
  4159  
  4160  	if input == nil {
  4161  		input = &ListTagsForResourceInput{}
  4162  	}
  4163  
  4164  	output = &ListTagsForResourceOutput{}
  4165  	req = c.newRequest(op, input, output)
  4166  	return
  4167  }
  4168  
  4169  // ListTagsForResource API operation for Amazon GuardDuty.
  4170  //
  4171  // Lists tags for a resource. Tagging is currently supported for detectors,
  4172  // finding filters, IP sets, and threat intel sets, with a limit of 50 tags
  4173  // per resource. When invoked, this operation returns all assigned tags for
  4174  // a given resource.
  4175  //
  4176  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4177  // with awserr.Error's Code and Message methods to get detailed information about
  4178  // the error.
  4179  //
  4180  // See the AWS API reference guide for Amazon GuardDuty's
  4181  // API operation ListTagsForResource for usage and error information.
  4182  //
  4183  // Returned Error Types:
  4184  //   * BadRequestException
  4185  //   A bad request exception object.
  4186  //
  4187  //   * InternalServerErrorException
  4188  //   An internal server error exception object.
  4189  //
  4190  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListTagsForResource
  4191  func (c *GuardDuty) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  4192  	req, out := c.ListTagsForResourceRequest(input)
  4193  	return out, req.Send()
  4194  }
  4195  
  4196  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  4197  // the ability to pass a context and additional request options.
  4198  //
  4199  // See ListTagsForResource for details on how to use this API operation.
  4200  //
  4201  // The context must be non-nil and will be used for request cancellation. If
  4202  // the context is nil a panic will occur. In the future the SDK may create
  4203  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4204  // for more information on using Contexts.
  4205  func (c *GuardDuty) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  4206  	req, out := c.ListTagsForResourceRequest(input)
  4207  	req.SetContext(ctx)
  4208  	req.ApplyOptions(opts...)
  4209  	return out, req.Send()
  4210  }
  4211  
  4212  const opListThreatIntelSets = "ListThreatIntelSets"
  4213  
  4214  // ListThreatIntelSetsRequest generates a "aws/request.Request" representing the
  4215  // client's request for the ListThreatIntelSets operation. The "output" return
  4216  // value will be populated with the request's response once the request completes
  4217  // successfully.
  4218  //
  4219  // Use "Send" method on the returned Request to send the API call to the service.
  4220  // the "output" return value is not valid until after Send returns without error.
  4221  //
  4222  // See ListThreatIntelSets for more information on using the ListThreatIntelSets
  4223  // API call, and error handling.
  4224  //
  4225  // This method is useful when you want to inject custom logic or configuration
  4226  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4227  //
  4228  //
  4229  //    // Example sending a request using the ListThreatIntelSetsRequest method.
  4230  //    req, resp := client.ListThreatIntelSetsRequest(params)
  4231  //
  4232  //    err := req.Send()
  4233  //    if err == nil { // resp is now filled
  4234  //        fmt.Println(resp)
  4235  //    }
  4236  //
  4237  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListThreatIntelSets
  4238  func (c *GuardDuty) ListThreatIntelSetsRequest(input *ListThreatIntelSetsInput) (req *request.Request, output *ListThreatIntelSetsOutput) {
  4239  	op := &request.Operation{
  4240  		Name:       opListThreatIntelSets,
  4241  		HTTPMethod: "GET",
  4242  		HTTPPath:   "/detector/{detectorId}/threatintelset",
  4243  		Paginator: &request.Paginator{
  4244  			InputTokens:     []string{"NextToken"},
  4245  			OutputTokens:    []string{"NextToken"},
  4246  			LimitToken:      "MaxResults",
  4247  			TruncationToken: "",
  4248  		},
  4249  	}
  4250  
  4251  	if input == nil {
  4252  		input = &ListThreatIntelSetsInput{}
  4253  	}
  4254  
  4255  	output = &ListThreatIntelSetsOutput{}
  4256  	req = c.newRequest(op, input, output)
  4257  	return
  4258  }
  4259  
  4260  // ListThreatIntelSets API operation for Amazon GuardDuty.
  4261  //
  4262  // Lists the ThreatIntelSets of the GuardDuty service specified by the detector
  4263  // ID. If you use this operation from a member account, the ThreatIntelSets
  4264  // associated with the administrator account are returned.
  4265  //
  4266  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4267  // with awserr.Error's Code and Message methods to get detailed information about
  4268  // the error.
  4269  //
  4270  // See the AWS API reference guide for Amazon GuardDuty's
  4271  // API operation ListThreatIntelSets for usage and error information.
  4272  //
  4273  // Returned Error Types:
  4274  //   * BadRequestException
  4275  //   A bad request exception object.
  4276  //
  4277  //   * InternalServerErrorException
  4278  //   An internal server error exception object.
  4279  //
  4280  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/ListThreatIntelSets
  4281  func (c *GuardDuty) ListThreatIntelSets(input *ListThreatIntelSetsInput) (*ListThreatIntelSetsOutput, error) {
  4282  	req, out := c.ListThreatIntelSetsRequest(input)
  4283  	return out, req.Send()
  4284  }
  4285  
  4286  // ListThreatIntelSetsWithContext is the same as ListThreatIntelSets with the addition of
  4287  // the ability to pass a context and additional request options.
  4288  //
  4289  // See ListThreatIntelSets for details on how to use this API operation.
  4290  //
  4291  // The context must be non-nil and will be used for request cancellation. If
  4292  // the context is nil a panic will occur. In the future the SDK may create
  4293  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4294  // for more information on using Contexts.
  4295  func (c *GuardDuty) ListThreatIntelSetsWithContext(ctx aws.Context, input *ListThreatIntelSetsInput, opts ...request.Option) (*ListThreatIntelSetsOutput, error) {
  4296  	req, out := c.ListThreatIntelSetsRequest(input)
  4297  	req.SetContext(ctx)
  4298  	req.ApplyOptions(opts...)
  4299  	return out, req.Send()
  4300  }
  4301  
  4302  // ListThreatIntelSetsPages iterates over the pages of a ListThreatIntelSets operation,
  4303  // calling the "fn" function with the response data for each page. To stop
  4304  // iterating, return false from the fn function.
  4305  //
  4306  // See ListThreatIntelSets method for more information on how to use this operation.
  4307  //
  4308  // Note: This operation can generate multiple requests to a service.
  4309  //
  4310  //    // Example iterating over at most 3 pages of a ListThreatIntelSets operation.
  4311  //    pageNum := 0
  4312  //    err := client.ListThreatIntelSetsPages(params,
  4313  //        func(page *guardduty.ListThreatIntelSetsOutput, lastPage bool) bool {
  4314  //            pageNum++
  4315  //            fmt.Println(page)
  4316  //            return pageNum <= 3
  4317  //        })
  4318  //
  4319  func (c *GuardDuty) ListThreatIntelSetsPages(input *ListThreatIntelSetsInput, fn func(*ListThreatIntelSetsOutput, bool) bool) error {
  4320  	return c.ListThreatIntelSetsPagesWithContext(aws.BackgroundContext(), input, fn)
  4321  }
  4322  
  4323  // ListThreatIntelSetsPagesWithContext same as ListThreatIntelSetsPages except
  4324  // it takes a Context and allows setting request options on the pages.
  4325  //
  4326  // The context must be non-nil and will be used for request cancellation. If
  4327  // the context is nil a panic will occur. In the future the SDK may create
  4328  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4329  // for more information on using Contexts.
  4330  func (c *GuardDuty) ListThreatIntelSetsPagesWithContext(ctx aws.Context, input *ListThreatIntelSetsInput, fn func(*ListThreatIntelSetsOutput, bool) bool, opts ...request.Option) error {
  4331  	p := request.Pagination{
  4332  		NewRequest: func() (*request.Request, error) {
  4333  			var inCpy *ListThreatIntelSetsInput
  4334  			if input != nil {
  4335  				tmp := *input
  4336  				inCpy = &tmp
  4337  			}
  4338  			req, _ := c.ListThreatIntelSetsRequest(inCpy)
  4339  			req.SetContext(ctx)
  4340  			req.ApplyOptions(opts...)
  4341  			return req, nil
  4342  		},
  4343  	}
  4344  
  4345  	for p.Next() {
  4346  		if !fn(p.Page().(*ListThreatIntelSetsOutput), !p.HasNextPage()) {
  4347  			break
  4348  		}
  4349  	}
  4350  
  4351  	return p.Err()
  4352  }
  4353  
  4354  const opStartMonitoringMembers = "StartMonitoringMembers"
  4355  
  4356  // StartMonitoringMembersRequest generates a "aws/request.Request" representing the
  4357  // client's request for the StartMonitoringMembers operation. The "output" return
  4358  // value will be populated with the request's response once the request completes
  4359  // successfully.
  4360  //
  4361  // Use "Send" method on the returned Request to send the API call to the service.
  4362  // the "output" return value is not valid until after Send returns without error.
  4363  //
  4364  // See StartMonitoringMembers for more information on using the StartMonitoringMembers
  4365  // API call, and error handling.
  4366  //
  4367  // This method is useful when you want to inject custom logic or configuration
  4368  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4369  //
  4370  //
  4371  //    // Example sending a request using the StartMonitoringMembersRequest method.
  4372  //    req, resp := client.StartMonitoringMembersRequest(params)
  4373  //
  4374  //    err := req.Send()
  4375  //    if err == nil { // resp is now filled
  4376  //        fmt.Println(resp)
  4377  //    }
  4378  //
  4379  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/StartMonitoringMembers
  4380  func (c *GuardDuty) StartMonitoringMembersRequest(input *StartMonitoringMembersInput) (req *request.Request, output *StartMonitoringMembersOutput) {
  4381  	op := &request.Operation{
  4382  		Name:       opStartMonitoringMembers,
  4383  		HTTPMethod: "POST",
  4384  		HTTPPath:   "/detector/{detectorId}/member/start",
  4385  	}
  4386  
  4387  	if input == nil {
  4388  		input = &StartMonitoringMembersInput{}
  4389  	}
  4390  
  4391  	output = &StartMonitoringMembersOutput{}
  4392  	req = c.newRequest(op, input, output)
  4393  	return
  4394  }
  4395  
  4396  // StartMonitoringMembers API operation for Amazon GuardDuty.
  4397  //
  4398  // Turns on GuardDuty monitoring of the specified member accounts. Use this
  4399  // operation to restart monitoring of accounts that you stopped monitoring with
  4400  // the StopMonitoringMembers operation.
  4401  //
  4402  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4403  // with awserr.Error's Code and Message methods to get detailed information about
  4404  // the error.
  4405  //
  4406  // See the AWS API reference guide for Amazon GuardDuty's
  4407  // API operation StartMonitoringMembers for usage and error information.
  4408  //
  4409  // Returned Error Types:
  4410  //   * BadRequestException
  4411  //   A bad request exception object.
  4412  //
  4413  //   * InternalServerErrorException
  4414  //   An internal server error exception object.
  4415  //
  4416  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/StartMonitoringMembers
  4417  func (c *GuardDuty) StartMonitoringMembers(input *StartMonitoringMembersInput) (*StartMonitoringMembersOutput, error) {
  4418  	req, out := c.StartMonitoringMembersRequest(input)
  4419  	return out, req.Send()
  4420  }
  4421  
  4422  // StartMonitoringMembersWithContext is the same as StartMonitoringMembers with the addition of
  4423  // the ability to pass a context and additional request options.
  4424  //
  4425  // See StartMonitoringMembers for details on how to use this API operation.
  4426  //
  4427  // The context must be non-nil and will be used for request cancellation. If
  4428  // the context is nil a panic will occur. In the future the SDK may create
  4429  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4430  // for more information on using Contexts.
  4431  func (c *GuardDuty) StartMonitoringMembersWithContext(ctx aws.Context, input *StartMonitoringMembersInput, opts ...request.Option) (*StartMonitoringMembersOutput, error) {
  4432  	req, out := c.StartMonitoringMembersRequest(input)
  4433  	req.SetContext(ctx)
  4434  	req.ApplyOptions(opts...)
  4435  	return out, req.Send()
  4436  }
  4437  
  4438  const opStopMonitoringMembers = "StopMonitoringMembers"
  4439  
  4440  // StopMonitoringMembersRequest generates a "aws/request.Request" representing the
  4441  // client's request for the StopMonitoringMembers operation. The "output" return
  4442  // value will be populated with the request's response once the request completes
  4443  // successfully.
  4444  //
  4445  // Use "Send" method on the returned Request to send the API call to the service.
  4446  // the "output" return value is not valid until after Send returns without error.
  4447  //
  4448  // See StopMonitoringMembers for more information on using the StopMonitoringMembers
  4449  // API call, and error handling.
  4450  //
  4451  // This method is useful when you want to inject custom logic or configuration
  4452  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4453  //
  4454  //
  4455  //    // Example sending a request using the StopMonitoringMembersRequest method.
  4456  //    req, resp := client.StopMonitoringMembersRequest(params)
  4457  //
  4458  //    err := req.Send()
  4459  //    if err == nil { // resp is now filled
  4460  //        fmt.Println(resp)
  4461  //    }
  4462  //
  4463  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/StopMonitoringMembers
  4464  func (c *GuardDuty) StopMonitoringMembersRequest(input *StopMonitoringMembersInput) (req *request.Request, output *StopMonitoringMembersOutput) {
  4465  	op := &request.Operation{
  4466  		Name:       opStopMonitoringMembers,
  4467  		HTTPMethod: "POST",
  4468  		HTTPPath:   "/detector/{detectorId}/member/stop",
  4469  	}
  4470  
  4471  	if input == nil {
  4472  		input = &StopMonitoringMembersInput{}
  4473  	}
  4474  
  4475  	output = &StopMonitoringMembersOutput{}
  4476  	req = c.newRequest(op, input, output)
  4477  	return
  4478  }
  4479  
  4480  // StopMonitoringMembers API operation for Amazon GuardDuty.
  4481  //
  4482  // Stops GuardDuty monitoring for the specified member accounts. Use the StartMonitoringMembers
  4483  // operation to restart monitoring for those accounts.
  4484  //
  4485  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4486  // with awserr.Error's Code and Message methods to get detailed information about
  4487  // the error.
  4488  //
  4489  // See the AWS API reference guide for Amazon GuardDuty's
  4490  // API operation StopMonitoringMembers for usage and error information.
  4491  //
  4492  // Returned Error Types:
  4493  //   * BadRequestException
  4494  //   A bad request exception object.
  4495  //
  4496  //   * InternalServerErrorException
  4497  //   An internal server error exception object.
  4498  //
  4499  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/StopMonitoringMembers
  4500  func (c *GuardDuty) StopMonitoringMembers(input *StopMonitoringMembersInput) (*StopMonitoringMembersOutput, error) {
  4501  	req, out := c.StopMonitoringMembersRequest(input)
  4502  	return out, req.Send()
  4503  }
  4504  
  4505  // StopMonitoringMembersWithContext is the same as StopMonitoringMembers with the addition of
  4506  // the ability to pass a context and additional request options.
  4507  //
  4508  // See StopMonitoringMembers for details on how to use this API operation.
  4509  //
  4510  // The context must be non-nil and will be used for request cancellation. If
  4511  // the context is nil a panic will occur. In the future the SDK may create
  4512  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4513  // for more information on using Contexts.
  4514  func (c *GuardDuty) StopMonitoringMembersWithContext(ctx aws.Context, input *StopMonitoringMembersInput, opts ...request.Option) (*StopMonitoringMembersOutput, error) {
  4515  	req, out := c.StopMonitoringMembersRequest(input)
  4516  	req.SetContext(ctx)
  4517  	req.ApplyOptions(opts...)
  4518  	return out, req.Send()
  4519  }
  4520  
  4521  const opTagResource = "TagResource"
  4522  
  4523  // TagResourceRequest generates a "aws/request.Request" representing the
  4524  // client's request for the TagResource operation. The "output" return
  4525  // value will be populated with the request's response once the request completes
  4526  // successfully.
  4527  //
  4528  // Use "Send" method on the returned Request to send the API call to the service.
  4529  // the "output" return value is not valid until after Send returns without error.
  4530  //
  4531  // See TagResource for more information on using the TagResource
  4532  // API call, and error handling.
  4533  //
  4534  // This method is useful when you want to inject custom logic or configuration
  4535  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4536  //
  4537  //
  4538  //    // Example sending a request using the TagResourceRequest method.
  4539  //    req, resp := client.TagResourceRequest(params)
  4540  //
  4541  //    err := req.Send()
  4542  //    if err == nil { // resp is now filled
  4543  //        fmt.Println(resp)
  4544  //    }
  4545  //
  4546  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/TagResource
  4547  func (c *GuardDuty) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  4548  	op := &request.Operation{
  4549  		Name:       opTagResource,
  4550  		HTTPMethod: "POST",
  4551  		HTTPPath:   "/tags/{resourceArn}",
  4552  	}
  4553  
  4554  	if input == nil {
  4555  		input = &TagResourceInput{}
  4556  	}
  4557  
  4558  	output = &TagResourceOutput{}
  4559  	req = c.newRequest(op, input, output)
  4560  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4561  	return
  4562  }
  4563  
  4564  // TagResource API operation for Amazon GuardDuty.
  4565  //
  4566  // Adds tags to a resource.
  4567  //
  4568  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4569  // with awserr.Error's Code and Message methods to get detailed information about
  4570  // the error.
  4571  //
  4572  // See the AWS API reference guide for Amazon GuardDuty's
  4573  // API operation TagResource for usage and error information.
  4574  //
  4575  // Returned Error Types:
  4576  //   * BadRequestException
  4577  //   A bad request exception object.
  4578  //
  4579  //   * InternalServerErrorException
  4580  //   An internal server error exception object.
  4581  //
  4582  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/TagResource
  4583  func (c *GuardDuty) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  4584  	req, out := c.TagResourceRequest(input)
  4585  	return out, req.Send()
  4586  }
  4587  
  4588  // TagResourceWithContext is the same as TagResource with the addition of
  4589  // the ability to pass a context and additional request options.
  4590  //
  4591  // See TagResource for details on how to use this API operation.
  4592  //
  4593  // The context must be non-nil and will be used for request cancellation. If
  4594  // the context is nil a panic will occur. In the future the SDK may create
  4595  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4596  // for more information on using Contexts.
  4597  func (c *GuardDuty) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  4598  	req, out := c.TagResourceRequest(input)
  4599  	req.SetContext(ctx)
  4600  	req.ApplyOptions(opts...)
  4601  	return out, req.Send()
  4602  }
  4603  
  4604  const opUnarchiveFindings = "UnarchiveFindings"
  4605  
  4606  // UnarchiveFindingsRequest generates a "aws/request.Request" representing the
  4607  // client's request for the UnarchiveFindings operation. The "output" return
  4608  // value will be populated with the request's response once the request completes
  4609  // successfully.
  4610  //
  4611  // Use "Send" method on the returned Request to send the API call to the service.
  4612  // the "output" return value is not valid until after Send returns without error.
  4613  //
  4614  // See UnarchiveFindings for more information on using the UnarchiveFindings
  4615  // API call, and error handling.
  4616  //
  4617  // This method is useful when you want to inject custom logic or configuration
  4618  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4619  //
  4620  //
  4621  //    // Example sending a request using the UnarchiveFindingsRequest method.
  4622  //    req, resp := client.UnarchiveFindingsRequest(params)
  4623  //
  4624  //    err := req.Send()
  4625  //    if err == nil { // resp is now filled
  4626  //        fmt.Println(resp)
  4627  //    }
  4628  //
  4629  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UnarchiveFindings
  4630  func (c *GuardDuty) UnarchiveFindingsRequest(input *UnarchiveFindingsInput) (req *request.Request, output *UnarchiveFindingsOutput) {
  4631  	op := &request.Operation{
  4632  		Name:       opUnarchiveFindings,
  4633  		HTTPMethod: "POST",
  4634  		HTTPPath:   "/detector/{detectorId}/findings/unarchive",
  4635  	}
  4636  
  4637  	if input == nil {
  4638  		input = &UnarchiveFindingsInput{}
  4639  	}
  4640  
  4641  	output = &UnarchiveFindingsOutput{}
  4642  	req = c.newRequest(op, input, output)
  4643  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4644  	return
  4645  }
  4646  
  4647  // UnarchiveFindings API operation for Amazon GuardDuty.
  4648  //
  4649  // Unarchives GuardDuty findings specified by the findingIds.
  4650  //
  4651  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4652  // with awserr.Error's Code and Message methods to get detailed information about
  4653  // the error.
  4654  //
  4655  // See the AWS API reference guide for Amazon GuardDuty's
  4656  // API operation UnarchiveFindings for usage and error information.
  4657  //
  4658  // Returned Error Types:
  4659  //   * BadRequestException
  4660  //   A bad request exception object.
  4661  //
  4662  //   * InternalServerErrorException
  4663  //   An internal server error exception object.
  4664  //
  4665  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UnarchiveFindings
  4666  func (c *GuardDuty) UnarchiveFindings(input *UnarchiveFindingsInput) (*UnarchiveFindingsOutput, error) {
  4667  	req, out := c.UnarchiveFindingsRequest(input)
  4668  	return out, req.Send()
  4669  }
  4670  
  4671  // UnarchiveFindingsWithContext is the same as UnarchiveFindings with the addition of
  4672  // the ability to pass a context and additional request options.
  4673  //
  4674  // See UnarchiveFindings for details on how to use this API operation.
  4675  //
  4676  // The context must be non-nil and will be used for request cancellation. If
  4677  // the context is nil a panic will occur. In the future the SDK may create
  4678  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4679  // for more information on using Contexts.
  4680  func (c *GuardDuty) UnarchiveFindingsWithContext(ctx aws.Context, input *UnarchiveFindingsInput, opts ...request.Option) (*UnarchiveFindingsOutput, error) {
  4681  	req, out := c.UnarchiveFindingsRequest(input)
  4682  	req.SetContext(ctx)
  4683  	req.ApplyOptions(opts...)
  4684  	return out, req.Send()
  4685  }
  4686  
  4687  const opUntagResource = "UntagResource"
  4688  
  4689  // UntagResourceRequest generates a "aws/request.Request" representing the
  4690  // client's request for the UntagResource operation. The "output" return
  4691  // value will be populated with the request's response once the request completes
  4692  // successfully.
  4693  //
  4694  // Use "Send" method on the returned Request to send the API call to the service.
  4695  // the "output" return value is not valid until after Send returns without error.
  4696  //
  4697  // See UntagResource for more information on using the UntagResource
  4698  // API call, and error handling.
  4699  //
  4700  // This method is useful when you want to inject custom logic or configuration
  4701  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4702  //
  4703  //
  4704  //    // Example sending a request using the UntagResourceRequest method.
  4705  //    req, resp := client.UntagResourceRequest(params)
  4706  //
  4707  //    err := req.Send()
  4708  //    if err == nil { // resp is now filled
  4709  //        fmt.Println(resp)
  4710  //    }
  4711  //
  4712  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UntagResource
  4713  func (c *GuardDuty) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  4714  	op := &request.Operation{
  4715  		Name:       opUntagResource,
  4716  		HTTPMethod: "DELETE",
  4717  		HTTPPath:   "/tags/{resourceArn}",
  4718  	}
  4719  
  4720  	if input == nil {
  4721  		input = &UntagResourceInput{}
  4722  	}
  4723  
  4724  	output = &UntagResourceOutput{}
  4725  	req = c.newRequest(op, input, output)
  4726  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4727  	return
  4728  }
  4729  
  4730  // UntagResource API operation for Amazon GuardDuty.
  4731  //
  4732  // Removes tags from a resource.
  4733  //
  4734  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4735  // with awserr.Error's Code and Message methods to get detailed information about
  4736  // the error.
  4737  //
  4738  // See the AWS API reference guide for Amazon GuardDuty's
  4739  // API operation UntagResource for usage and error information.
  4740  //
  4741  // Returned Error Types:
  4742  //   * BadRequestException
  4743  //   A bad request exception object.
  4744  //
  4745  //   * InternalServerErrorException
  4746  //   An internal server error exception object.
  4747  //
  4748  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UntagResource
  4749  func (c *GuardDuty) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  4750  	req, out := c.UntagResourceRequest(input)
  4751  	return out, req.Send()
  4752  }
  4753  
  4754  // UntagResourceWithContext is the same as UntagResource with the addition of
  4755  // the ability to pass a context and additional request options.
  4756  //
  4757  // See UntagResource for details on how to use this API operation.
  4758  //
  4759  // The context must be non-nil and will be used for request cancellation. If
  4760  // the context is nil a panic will occur. In the future the SDK may create
  4761  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4762  // for more information on using Contexts.
  4763  func (c *GuardDuty) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  4764  	req, out := c.UntagResourceRequest(input)
  4765  	req.SetContext(ctx)
  4766  	req.ApplyOptions(opts...)
  4767  	return out, req.Send()
  4768  }
  4769  
  4770  const opUpdateDetector = "UpdateDetector"
  4771  
  4772  // UpdateDetectorRequest generates a "aws/request.Request" representing the
  4773  // client's request for the UpdateDetector operation. The "output" return
  4774  // value will be populated with the request's response once the request completes
  4775  // successfully.
  4776  //
  4777  // Use "Send" method on the returned Request to send the API call to the service.
  4778  // the "output" return value is not valid until after Send returns without error.
  4779  //
  4780  // See UpdateDetector for more information on using the UpdateDetector
  4781  // API call, and error handling.
  4782  //
  4783  // This method is useful when you want to inject custom logic or configuration
  4784  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4785  //
  4786  //
  4787  //    // Example sending a request using the UpdateDetectorRequest method.
  4788  //    req, resp := client.UpdateDetectorRequest(params)
  4789  //
  4790  //    err := req.Send()
  4791  //    if err == nil { // resp is now filled
  4792  //        fmt.Println(resp)
  4793  //    }
  4794  //
  4795  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateDetector
  4796  func (c *GuardDuty) UpdateDetectorRequest(input *UpdateDetectorInput) (req *request.Request, output *UpdateDetectorOutput) {
  4797  	op := &request.Operation{
  4798  		Name:       opUpdateDetector,
  4799  		HTTPMethod: "POST",
  4800  		HTTPPath:   "/detector/{detectorId}",
  4801  	}
  4802  
  4803  	if input == nil {
  4804  		input = &UpdateDetectorInput{}
  4805  	}
  4806  
  4807  	output = &UpdateDetectorOutput{}
  4808  	req = c.newRequest(op, input, output)
  4809  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4810  	return
  4811  }
  4812  
  4813  // UpdateDetector API operation for Amazon GuardDuty.
  4814  //
  4815  // Updates the Amazon GuardDuty detector specified by the detectorId.
  4816  //
  4817  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4818  // with awserr.Error's Code and Message methods to get detailed information about
  4819  // the error.
  4820  //
  4821  // See the AWS API reference guide for Amazon GuardDuty's
  4822  // API operation UpdateDetector for usage and error information.
  4823  //
  4824  // Returned Error Types:
  4825  //   * BadRequestException
  4826  //   A bad request exception object.
  4827  //
  4828  //   * InternalServerErrorException
  4829  //   An internal server error exception object.
  4830  //
  4831  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateDetector
  4832  func (c *GuardDuty) UpdateDetector(input *UpdateDetectorInput) (*UpdateDetectorOutput, error) {
  4833  	req, out := c.UpdateDetectorRequest(input)
  4834  	return out, req.Send()
  4835  }
  4836  
  4837  // UpdateDetectorWithContext is the same as UpdateDetector with the addition of
  4838  // the ability to pass a context and additional request options.
  4839  //
  4840  // See UpdateDetector for details on how to use this API operation.
  4841  //
  4842  // The context must be non-nil and will be used for request cancellation. If
  4843  // the context is nil a panic will occur. In the future the SDK may create
  4844  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4845  // for more information on using Contexts.
  4846  func (c *GuardDuty) UpdateDetectorWithContext(ctx aws.Context, input *UpdateDetectorInput, opts ...request.Option) (*UpdateDetectorOutput, error) {
  4847  	req, out := c.UpdateDetectorRequest(input)
  4848  	req.SetContext(ctx)
  4849  	req.ApplyOptions(opts...)
  4850  	return out, req.Send()
  4851  }
  4852  
  4853  const opUpdateFilter = "UpdateFilter"
  4854  
  4855  // UpdateFilterRequest generates a "aws/request.Request" representing the
  4856  // client's request for the UpdateFilter operation. The "output" return
  4857  // value will be populated with the request's response once the request completes
  4858  // successfully.
  4859  //
  4860  // Use "Send" method on the returned Request to send the API call to the service.
  4861  // the "output" return value is not valid until after Send returns without error.
  4862  //
  4863  // See UpdateFilter for more information on using the UpdateFilter
  4864  // API call, and error handling.
  4865  //
  4866  // This method is useful when you want to inject custom logic or configuration
  4867  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4868  //
  4869  //
  4870  //    // Example sending a request using the UpdateFilterRequest method.
  4871  //    req, resp := client.UpdateFilterRequest(params)
  4872  //
  4873  //    err := req.Send()
  4874  //    if err == nil { // resp is now filled
  4875  //        fmt.Println(resp)
  4876  //    }
  4877  //
  4878  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateFilter
  4879  func (c *GuardDuty) UpdateFilterRequest(input *UpdateFilterInput) (req *request.Request, output *UpdateFilterOutput) {
  4880  	op := &request.Operation{
  4881  		Name:       opUpdateFilter,
  4882  		HTTPMethod: "POST",
  4883  		HTTPPath:   "/detector/{detectorId}/filter/{filterName}",
  4884  	}
  4885  
  4886  	if input == nil {
  4887  		input = &UpdateFilterInput{}
  4888  	}
  4889  
  4890  	output = &UpdateFilterOutput{}
  4891  	req = c.newRequest(op, input, output)
  4892  	return
  4893  }
  4894  
  4895  // UpdateFilter API operation for Amazon GuardDuty.
  4896  //
  4897  // Updates the filter specified by the filter name.
  4898  //
  4899  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4900  // with awserr.Error's Code and Message methods to get detailed information about
  4901  // the error.
  4902  //
  4903  // See the AWS API reference guide for Amazon GuardDuty's
  4904  // API operation UpdateFilter for usage and error information.
  4905  //
  4906  // Returned Error Types:
  4907  //   * BadRequestException
  4908  //   A bad request exception object.
  4909  //
  4910  //   * InternalServerErrorException
  4911  //   An internal server error exception object.
  4912  //
  4913  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateFilter
  4914  func (c *GuardDuty) UpdateFilter(input *UpdateFilterInput) (*UpdateFilterOutput, error) {
  4915  	req, out := c.UpdateFilterRequest(input)
  4916  	return out, req.Send()
  4917  }
  4918  
  4919  // UpdateFilterWithContext is the same as UpdateFilter with the addition of
  4920  // the ability to pass a context and additional request options.
  4921  //
  4922  // See UpdateFilter for details on how to use this API operation.
  4923  //
  4924  // The context must be non-nil and will be used for request cancellation. If
  4925  // the context is nil a panic will occur. In the future the SDK may create
  4926  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  4927  // for more information on using Contexts.
  4928  func (c *GuardDuty) UpdateFilterWithContext(ctx aws.Context, input *UpdateFilterInput, opts ...request.Option) (*UpdateFilterOutput, error) {
  4929  	req, out := c.UpdateFilterRequest(input)
  4930  	req.SetContext(ctx)
  4931  	req.ApplyOptions(opts...)
  4932  	return out, req.Send()
  4933  }
  4934  
  4935  const opUpdateFindingsFeedback = "UpdateFindingsFeedback"
  4936  
  4937  // UpdateFindingsFeedbackRequest generates a "aws/request.Request" representing the
  4938  // client's request for the UpdateFindingsFeedback operation. The "output" return
  4939  // value will be populated with the request's response once the request completes
  4940  // successfully.
  4941  //
  4942  // Use "Send" method on the returned Request to send the API call to the service.
  4943  // the "output" return value is not valid until after Send returns without error.
  4944  //
  4945  // See UpdateFindingsFeedback for more information on using the UpdateFindingsFeedback
  4946  // API call, and error handling.
  4947  //
  4948  // This method is useful when you want to inject custom logic or configuration
  4949  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  4950  //
  4951  //
  4952  //    // Example sending a request using the UpdateFindingsFeedbackRequest method.
  4953  //    req, resp := client.UpdateFindingsFeedbackRequest(params)
  4954  //
  4955  //    err := req.Send()
  4956  //    if err == nil { // resp is now filled
  4957  //        fmt.Println(resp)
  4958  //    }
  4959  //
  4960  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateFindingsFeedback
  4961  func (c *GuardDuty) UpdateFindingsFeedbackRequest(input *UpdateFindingsFeedbackInput) (req *request.Request, output *UpdateFindingsFeedbackOutput) {
  4962  	op := &request.Operation{
  4963  		Name:       opUpdateFindingsFeedback,
  4964  		HTTPMethod: "POST",
  4965  		HTTPPath:   "/detector/{detectorId}/findings/feedback",
  4966  	}
  4967  
  4968  	if input == nil {
  4969  		input = &UpdateFindingsFeedbackInput{}
  4970  	}
  4971  
  4972  	output = &UpdateFindingsFeedbackOutput{}
  4973  	req = c.newRequest(op, input, output)
  4974  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  4975  	return
  4976  }
  4977  
  4978  // UpdateFindingsFeedback API operation for Amazon GuardDuty.
  4979  //
  4980  // Marks the specified GuardDuty findings as useful or not useful.
  4981  //
  4982  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  4983  // with awserr.Error's Code and Message methods to get detailed information about
  4984  // the error.
  4985  //
  4986  // See the AWS API reference guide for Amazon GuardDuty's
  4987  // API operation UpdateFindingsFeedback for usage and error information.
  4988  //
  4989  // Returned Error Types:
  4990  //   * BadRequestException
  4991  //   A bad request exception object.
  4992  //
  4993  //   * InternalServerErrorException
  4994  //   An internal server error exception object.
  4995  //
  4996  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateFindingsFeedback
  4997  func (c *GuardDuty) UpdateFindingsFeedback(input *UpdateFindingsFeedbackInput) (*UpdateFindingsFeedbackOutput, error) {
  4998  	req, out := c.UpdateFindingsFeedbackRequest(input)
  4999  	return out, req.Send()
  5000  }
  5001  
  5002  // UpdateFindingsFeedbackWithContext is the same as UpdateFindingsFeedback with the addition of
  5003  // the ability to pass a context and additional request options.
  5004  //
  5005  // See UpdateFindingsFeedback for details on how to use this API operation.
  5006  //
  5007  // The context must be non-nil and will be used for request cancellation. If
  5008  // the context is nil a panic will occur. In the future the SDK may create
  5009  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5010  // for more information on using Contexts.
  5011  func (c *GuardDuty) UpdateFindingsFeedbackWithContext(ctx aws.Context, input *UpdateFindingsFeedbackInput, opts ...request.Option) (*UpdateFindingsFeedbackOutput, error) {
  5012  	req, out := c.UpdateFindingsFeedbackRequest(input)
  5013  	req.SetContext(ctx)
  5014  	req.ApplyOptions(opts...)
  5015  	return out, req.Send()
  5016  }
  5017  
  5018  const opUpdateIPSet = "UpdateIPSet"
  5019  
  5020  // UpdateIPSetRequest generates a "aws/request.Request" representing the
  5021  // client's request for the UpdateIPSet operation. The "output" return
  5022  // value will be populated with the request's response once the request completes
  5023  // successfully.
  5024  //
  5025  // Use "Send" method on the returned Request to send the API call to the service.
  5026  // the "output" return value is not valid until after Send returns without error.
  5027  //
  5028  // See UpdateIPSet for more information on using the UpdateIPSet
  5029  // API call, and error handling.
  5030  //
  5031  // This method is useful when you want to inject custom logic or configuration
  5032  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5033  //
  5034  //
  5035  //    // Example sending a request using the UpdateIPSetRequest method.
  5036  //    req, resp := client.UpdateIPSetRequest(params)
  5037  //
  5038  //    err := req.Send()
  5039  //    if err == nil { // resp is now filled
  5040  //        fmt.Println(resp)
  5041  //    }
  5042  //
  5043  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateIPSet
  5044  func (c *GuardDuty) UpdateIPSetRequest(input *UpdateIPSetInput) (req *request.Request, output *UpdateIPSetOutput) {
  5045  	op := &request.Operation{
  5046  		Name:       opUpdateIPSet,
  5047  		HTTPMethod: "POST",
  5048  		HTTPPath:   "/detector/{detectorId}/ipset/{ipSetId}",
  5049  	}
  5050  
  5051  	if input == nil {
  5052  		input = &UpdateIPSetInput{}
  5053  	}
  5054  
  5055  	output = &UpdateIPSetOutput{}
  5056  	req = c.newRequest(op, input, output)
  5057  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5058  	return
  5059  }
  5060  
  5061  // UpdateIPSet API operation for Amazon GuardDuty.
  5062  //
  5063  // Updates the IPSet specified by the IPSet ID.
  5064  //
  5065  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5066  // with awserr.Error's Code and Message methods to get detailed information about
  5067  // the error.
  5068  //
  5069  // See the AWS API reference guide for Amazon GuardDuty's
  5070  // API operation UpdateIPSet for usage and error information.
  5071  //
  5072  // Returned Error Types:
  5073  //   * BadRequestException
  5074  //   A bad request exception object.
  5075  //
  5076  //   * InternalServerErrorException
  5077  //   An internal server error exception object.
  5078  //
  5079  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateIPSet
  5080  func (c *GuardDuty) UpdateIPSet(input *UpdateIPSetInput) (*UpdateIPSetOutput, error) {
  5081  	req, out := c.UpdateIPSetRequest(input)
  5082  	return out, req.Send()
  5083  }
  5084  
  5085  // UpdateIPSetWithContext is the same as UpdateIPSet with the addition of
  5086  // the ability to pass a context and additional request options.
  5087  //
  5088  // See UpdateIPSet for details on how to use this API operation.
  5089  //
  5090  // The context must be non-nil and will be used for request cancellation. If
  5091  // the context is nil a panic will occur. In the future the SDK may create
  5092  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5093  // for more information on using Contexts.
  5094  func (c *GuardDuty) UpdateIPSetWithContext(ctx aws.Context, input *UpdateIPSetInput, opts ...request.Option) (*UpdateIPSetOutput, error) {
  5095  	req, out := c.UpdateIPSetRequest(input)
  5096  	req.SetContext(ctx)
  5097  	req.ApplyOptions(opts...)
  5098  	return out, req.Send()
  5099  }
  5100  
  5101  const opUpdateMemberDetectors = "UpdateMemberDetectors"
  5102  
  5103  // UpdateMemberDetectorsRequest generates a "aws/request.Request" representing the
  5104  // client's request for the UpdateMemberDetectors operation. The "output" return
  5105  // value will be populated with the request's response once the request completes
  5106  // successfully.
  5107  //
  5108  // Use "Send" method on the returned Request to send the API call to the service.
  5109  // the "output" return value is not valid until after Send returns without error.
  5110  //
  5111  // See UpdateMemberDetectors for more information on using the UpdateMemberDetectors
  5112  // API call, and error handling.
  5113  //
  5114  // This method is useful when you want to inject custom logic or configuration
  5115  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5116  //
  5117  //
  5118  //    // Example sending a request using the UpdateMemberDetectorsRequest method.
  5119  //    req, resp := client.UpdateMemberDetectorsRequest(params)
  5120  //
  5121  //    err := req.Send()
  5122  //    if err == nil { // resp is now filled
  5123  //        fmt.Println(resp)
  5124  //    }
  5125  //
  5126  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateMemberDetectors
  5127  func (c *GuardDuty) UpdateMemberDetectorsRequest(input *UpdateMemberDetectorsInput) (req *request.Request, output *UpdateMemberDetectorsOutput) {
  5128  	op := &request.Operation{
  5129  		Name:       opUpdateMemberDetectors,
  5130  		HTTPMethod: "POST",
  5131  		HTTPPath:   "/detector/{detectorId}/member/detector/update",
  5132  	}
  5133  
  5134  	if input == nil {
  5135  		input = &UpdateMemberDetectorsInput{}
  5136  	}
  5137  
  5138  	output = &UpdateMemberDetectorsOutput{}
  5139  	req = c.newRequest(op, input, output)
  5140  	return
  5141  }
  5142  
  5143  // UpdateMemberDetectors API operation for Amazon GuardDuty.
  5144  //
  5145  // Contains information on member accounts to be updated.
  5146  //
  5147  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5148  // with awserr.Error's Code and Message methods to get detailed information about
  5149  // the error.
  5150  //
  5151  // See the AWS API reference guide for Amazon GuardDuty's
  5152  // API operation UpdateMemberDetectors for usage and error information.
  5153  //
  5154  // Returned Error Types:
  5155  //   * BadRequestException
  5156  //   A bad request exception object.
  5157  //
  5158  //   * InternalServerErrorException
  5159  //   An internal server error exception object.
  5160  //
  5161  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateMemberDetectors
  5162  func (c *GuardDuty) UpdateMemberDetectors(input *UpdateMemberDetectorsInput) (*UpdateMemberDetectorsOutput, error) {
  5163  	req, out := c.UpdateMemberDetectorsRequest(input)
  5164  	return out, req.Send()
  5165  }
  5166  
  5167  // UpdateMemberDetectorsWithContext is the same as UpdateMemberDetectors with the addition of
  5168  // the ability to pass a context and additional request options.
  5169  //
  5170  // See UpdateMemberDetectors for details on how to use this API operation.
  5171  //
  5172  // The context must be non-nil and will be used for request cancellation. If
  5173  // the context is nil a panic will occur. In the future the SDK may create
  5174  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5175  // for more information on using Contexts.
  5176  func (c *GuardDuty) UpdateMemberDetectorsWithContext(ctx aws.Context, input *UpdateMemberDetectorsInput, opts ...request.Option) (*UpdateMemberDetectorsOutput, error) {
  5177  	req, out := c.UpdateMemberDetectorsRequest(input)
  5178  	req.SetContext(ctx)
  5179  	req.ApplyOptions(opts...)
  5180  	return out, req.Send()
  5181  }
  5182  
  5183  const opUpdateOrganizationConfiguration = "UpdateOrganizationConfiguration"
  5184  
  5185  // UpdateOrganizationConfigurationRequest generates a "aws/request.Request" representing the
  5186  // client's request for the UpdateOrganizationConfiguration operation. The "output" return
  5187  // value will be populated with the request's response once the request completes
  5188  // successfully.
  5189  //
  5190  // Use "Send" method on the returned Request to send the API call to the service.
  5191  // the "output" return value is not valid until after Send returns without error.
  5192  //
  5193  // See UpdateOrganizationConfiguration for more information on using the UpdateOrganizationConfiguration
  5194  // API call, and error handling.
  5195  //
  5196  // This method is useful when you want to inject custom logic or configuration
  5197  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5198  //
  5199  //
  5200  //    // Example sending a request using the UpdateOrganizationConfigurationRequest method.
  5201  //    req, resp := client.UpdateOrganizationConfigurationRequest(params)
  5202  //
  5203  //    err := req.Send()
  5204  //    if err == nil { // resp is now filled
  5205  //        fmt.Println(resp)
  5206  //    }
  5207  //
  5208  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateOrganizationConfiguration
  5209  func (c *GuardDuty) UpdateOrganizationConfigurationRequest(input *UpdateOrganizationConfigurationInput) (req *request.Request, output *UpdateOrganizationConfigurationOutput) {
  5210  	op := &request.Operation{
  5211  		Name:       opUpdateOrganizationConfiguration,
  5212  		HTTPMethod: "POST",
  5213  		HTTPPath:   "/detector/{detectorId}/admin",
  5214  	}
  5215  
  5216  	if input == nil {
  5217  		input = &UpdateOrganizationConfigurationInput{}
  5218  	}
  5219  
  5220  	output = &UpdateOrganizationConfigurationOutput{}
  5221  	req = c.newRequest(op, input, output)
  5222  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5223  	return
  5224  }
  5225  
  5226  // UpdateOrganizationConfiguration API operation for Amazon GuardDuty.
  5227  //
  5228  // Updates the delegated administrator account with the values provided.
  5229  //
  5230  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5231  // with awserr.Error's Code and Message methods to get detailed information about
  5232  // the error.
  5233  //
  5234  // See the AWS API reference guide for Amazon GuardDuty's
  5235  // API operation UpdateOrganizationConfiguration for usage and error information.
  5236  //
  5237  // Returned Error Types:
  5238  //   * BadRequestException
  5239  //   A bad request exception object.
  5240  //
  5241  //   * InternalServerErrorException
  5242  //   An internal server error exception object.
  5243  //
  5244  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateOrganizationConfiguration
  5245  func (c *GuardDuty) UpdateOrganizationConfiguration(input *UpdateOrganizationConfigurationInput) (*UpdateOrganizationConfigurationOutput, error) {
  5246  	req, out := c.UpdateOrganizationConfigurationRequest(input)
  5247  	return out, req.Send()
  5248  }
  5249  
  5250  // UpdateOrganizationConfigurationWithContext is the same as UpdateOrganizationConfiguration with the addition of
  5251  // the ability to pass a context and additional request options.
  5252  //
  5253  // See UpdateOrganizationConfiguration for details on how to use this API operation.
  5254  //
  5255  // The context must be non-nil and will be used for request cancellation. If
  5256  // the context is nil a panic will occur. In the future the SDK may create
  5257  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5258  // for more information on using Contexts.
  5259  func (c *GuardDuty) UpdateOrganizationConfigurationWithContext(ctx aws.Context, input *UpdateOrganizationConfigurationInput, opts ...request.Option) (*UpdateOrganizationConfigurationOutput, error) {
  5260  	req, out := c.UpdateOrganizationConfigurationRequest(input)
  5261  	req.SetContext(ctx)
  5262  	req.ApplyOptions(opts...)
  5263  	return out, req.Send()
  5264  }
  5265  
  5266  const opUpdatePublishingDestination = "UpdatePublishingDestination"
  5267  
  5268  // UpdatePublishingDestinationRequest generates a "aws/request.Request" representing the
  5269  // client's request for the UpdatePublishingDestination operation. The "output" return
  5270  // value will be populated with the request's response once the request completes
  5271  // successfully.
  5272  //
  5273  // Use "Send" method on the returned Request to send the API call to the service.
  5274  // the "output" return value is not valid until after Send returns without error.
  5275  //
  5276  // See UpdatePublishingDestination for more information on using the UpdatePublishingDestination
  5277  // API call, and error handling.
  5278  //
  5279  // This method is useful when you want to inject custom logic or configuration
  5280  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5281  //
  5282  //
  5283  //    // Example sending a request using the UpdatePublishingDestinationRequest method.
  5284  //    req, resp := client.UpdatePublishingDestinationRequest(params)
  5285  //
  5286  //    err := req.Send()
  5287  //    if err == nil { // resp is now filled
  5288  //        fmt.Println(resp)
  5289  //    }
  5290  //
  5291  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdatePublishingDestination
  5292  func (c *GuardDuty) UpdatePublishingDestinationRequest(input *UpdatePublishingDestinationInput) (req *request.Request, output *UpdatePublishingDestinationOutput) {
  5293  	op := &request.Operation{
  5294  		Name:       opUpdatePublishingDestination,
  5295  		HTTPMethod: "POST",
  5296  		HTTPPath:   "/detector/{detectorId}/publishingDestination/{destinationId}",
  5297  	}
  5298  
  5299  	if input == nil {
  5300  		input = &UpdatePublishingDestinationInput{}
  5301  	}
  5302  
  5303  	output = &UpdatePublishingDestinationOutput{}
  5304  	req = c.newRequest(op, input, output)
  5305  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5306  	return
  5307  }
  5308  
  5309  // UpdatePublishingDestination API operation for Amazon GuardDuty.
  5310  //
  5311  // Updates information about the publishing destination specified by the destinationId.
  5312  //
  5313  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5314  // with awserr.Error's Code and Message methods to get detailed information about
  5315  // the error.
  5316  //
  5317  // See the AWS API reference guide for Amazon GuardDuty's
  5318  // API operation UpdatePublishingDestination for usage and error information.
  5319  //
  5320  // Returned Error Types:
  5321  //   * BadRequestException
  5322  //   A bad request exception object.
  5323  //
  5324  //   * InternalServerErrorException
  5325  //   An internal server error exception object.
  5326  //
  5327  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdatePublishingDestination
  5328  func (c *GuardDuty) UpdatePublishingDestination(input *UpdatePublishingDestinationInput) (*UpdatePublishingDestinationOutput, error) {
  5329  	req, out := c.UpdatePublishingDestinationRequest(input)
  5330  	return out, req.Send()
  5331  }
  5332  
  5333  // UpdatePublishingDestinationWithContext is the same as UpdatePublishingDestination with the addition of
  5334  // the ability to pass a context and additional request options.
  5335  //
  5336  // See UpdatePublishingDestination for details on how to use this API operation.
  5337  //
  5338  // The context must be non-nil and will be used for request cancellation. If
  5339  // the context is nil a panic will occur. In the future the SDK may create
  5340  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5341  // for more information on using Contexts.
  5342  func (c *GuardDuty) UpdatePublishingDestinationWithContext(ctx aws.Context, input *UpdatePublishingDestinationInput, opts ...request.Option) (*UpdatePublishingDestinationOutput, error) {
  5343  	req, out := c.UpdatePublishingDestinationRequest(input)
  5344  	req.SetContext(ctx)
  5345  	req.ApplyOptions(opts...)
  5346  	return out, req.Send()
  5347  }
  5348  
  5349  const opUpdateThreatIntelSet = "UpdateThreatIntelSet"
  5350  
  5351  // UpdateThreatIntelSetRequest generates a "aws/request.Request" representing the
  5352  // client's request for the UpdateThreatIntelSet operation. The "output" return
  5353  // value will be populated with the request's response once the request completes
  5354  // successfully.
  5355  //
  5356  // Use "Send" method on the returned Request to send the API call to the service.
  5357  // the "output" return value is not valid until after Send returns without error.
  5358  //
  5359  // See UpdateThreatIntelSet for more information on using the UpdateThreatIntelSet
  5360  // API call, and error handling.
  5361  //
  5362  // This method is useful when you want to inject custom logic or configuration
  5363  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  5364  //
  5365  //
  5366  //    // Example sending a request using the UpdateThreatIntelSetRequest method.
  5367  //    req, resp := client.UpdateThreatIntelSetRequest(params)
  5368  //
  5369  //    err := req.Send()
  5370  //    if err == nil { // resp is now filled
  5371  //        fmt.Println(resp)
  5372  //    }
  5373  //
  5374  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateThreatIntelSet
  5375  func (c *GuardDuty) UpdateThreatIntelSetRequest(input *UpdateThreatIntelSetInput) (req *request.Request, output *UpdateThreatIntelSetOutput) {
  5376  	op := &request.Operation{
  5377  		Name:       opUpdateThreatIntelSet,
  5378  		HTTPMethod: "POST",
  5379  		HTTPPath:   "/detector/{detectorId}/threatintelset/{threatIntelSetId}",
  5380  	}
  5381  
  5382  	if input == nil {
  5383  		input = &UpdateThreatIntelSetInput{}
  5384  	}
  5385  
  5386  	output = &UpdateThreatIntelSetOutput{}
  5387  	req = c.newRequest(op, input, output)
  5388  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  5389  	return
  5390  }
  5391  
  5392  // UpdateThreatIntelSet API operation for Amazon GuardDuty.
  5393  //
  5394  // Updates the ThreatIntelSet specified by the ThreatIntelSet ID.
  5395  //
  5396  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  5397  // with awserr.Error's Code and Message methods to get detailed information about
  5398  // the error.
  5399  //
  5400  // See the AWS API reference guide for Amazon GuardDuty's
  5401  // API operation UpdateThreatIntelSet for usage and error information.
  5402  //
  5403  // Returned Error Types:
  5404  //   * BadRequestException
  5405  //   A bad request exception object.
  5406  //
  5407  //   * InternalServerErrorException
  5408  //   An internal server error exception object.
  5409  //
  5410  // See also, https://docs.aws.amazon.com/goto/WebAPI/guardduty-2017-11-28/UpdateThreatIntelSet
  5411  func (c *GuardDuty) UpdateThreatIntelSet(input *UpdateThreatIntelSetInput) (*UpdateThreatIntelSetOutput, error) {
  5412  	req, out := c.UpdateThreatIntelSetRequest(input)
  5413  	return out, req.Send()
  5414  }
  5415  
  5416  // UpdateThreatIntelSetWithContext is the same as UpdateThreatIntelSet with the addition of
  5417  // the ability to pass a context and additional request options.
  5418  //
  5419  // See UpdateThreatIntelSet for details on how to use this API operation.
  5420  //
  5421  // The context must be non-nil and will be used for request cancellation. If
  5422  // the context is nil a panic will occur. In the future the SDK may create
  5423  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  5424  // for more information on using Contexts.
  5425  func (c *GuardDuty) UpdateThreatIntelSetWithContext(ctx aws.Context, input *UpdateThreatIntelSetInput, opts ...request.Option) (*UpdateThreatIntelSetOutput, error) {
  5426  	req, out := c.UpdateThreatIntelSetRequest(input)
  5427  	req.SetContext(ctx)
  5428  	req.ApplyOptions(opts...)
  5429  	return out, req.Send()
  5430  }
  5431  
  5432  type AcceptInvitationInput struct {
  5433  	_ struct{} `type:"structure"`
  5434  
  5435  	// The unique ID of the detector of the GuardDuty member account.
  5436  	//
  5437  	// DetectorId is a required field
  5438  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  5439  
  5440  	// The value that is used to validate the administrator account to the member
  5441  	// account.
  5442  	//
  5443  	// InvitationId is a required field
  5444  	InvitationId *string `locationName:"invitationId" type:"string" required:"true"`
  5445  
  5446  	// The account ID of the GuardDuty administrator account whose invitation you're
  5447  	// accepting.
  5448  	//
  5449  	// MasterId is a required field
  5450  	MasterId *string `locationName:"masterId" type:"string" required:"true"`
  5451  }
  5452  
  5453  // String returns the string representation.
  5454  //
  5455  // API parameter values that are decorated as "sensitive" in the API will not
  5456  // be included in the string output. The member name will be present, but the
  5457  // value will be replaced with "sensitive".
  5458  func (s AcceptInvitationInput) String() string {
  5459  	return awsutil.Prettify(s)
  5460  }
  5461  
  5462  // GoString returns the string representation.
  5463  //
  5464  // API parameter values that are decorated as "sensitive" in the API will not
  5465  // be included in the string output. The member name will be present, but the
  5466  // value will be replaced with "sensitive".
  5467  func (s AcceptInvitationInput) GoString() string {
  5468  	return s.String()
  5469  }
  5470  
  5471  // Validate inspects the fields of the type to determine if they are valid.
  5472  func (s *AcceptInvitationInput) Validate() error {
  5473  	invalidParams := request.ErrInvalidParams{Context: "AcceptInvitationInput"}
  5474  	if s.DetectorId == nil {
  5475  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  5476  	}
  5477  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  5478  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  5479  	}
  5480  	if s.InvitationId == nil {
  5481  		invalidParams.Add(request.NewErrParamRequired("InvitationId"))
  5482  	}
  5483  	if s.MasterId == nil {
  5484  		invalidParams.Add(request.NewErrParamRequired("MasterId"))
  5485  	}
  5486  
  5487  	if invalidParams.Len() > 0 {
  5488  		return invalidParams
  5489  	}
  5490  	return nil
  5491  }
  5492  
  5493  // SetDetectorId sets the DetectorId field's value.
  5494  func (s *AcceptInvitationInput) SetDetectorId(v string) *AcceptInvitationInput {
  5495  	s.DetectorId = &v
  5496  	return s
  5497  }
  5498  
  5499  // SetInvitationId sets the InvitationId field's value.
  5500  func (s *AcceptInvitationInput) SetInvitationId(v string) *AcceptInvitationInput {
  5501  	s.InvitationId = &v
  5502  	return s
  5503  }
  5504  
  5505  // SetMasterId sets the MasterId field's value.
  5506  func (s *AcceptInvitationInput) SetMasterId(v string) *AcceptInvitationInput {
  5507  	s.MasterId = &v
  5508  	return s
  5509  }
  5510  
  5511  type AcceptInvitationOutput struct {
  5512  	_ struct{} `type:"structure" nopayload:"true"`
  5513  }
  5514  
  5515  // String returns the string representation.
  5516  //
  5517  // API parameter values that are decorated as "sensitive" in the API will not
  5518  // be included in the string output. The member name will be present, but the
  5519  // value will be replaced with "sensitive".
  5520  func (s AcceptInvitationOutput) String() string {
  5521  	return awsutil.Prettify(s)
  5522  }
  5523  
  5524  // GoString returns the string representation.
  5525  //
  5526  // API parameter values that are decorated as "sensitive" in the API will not
  5527  // be included in the string output. The member name will be present, but the
  5528  // value will be replaced with "sensitive".
  5529  func (s AcceptInvitationOutput) GoString() string {
  5530  	return s.String()
  5531  }
  5532  
  5533  // Contains information on the current access control policies for the bucket.
  5534  type AccessControlList struct {
  5535  	_ struct{} `type:"structure"`
  5536  
  5537  	// A value that indicates whether public read access for the bucket is enabled
  5538  	// through an Access Control List (ACL).
  5539  	AllowsPublicReadAccess *bool `locationName:"allowsPublicReadAccess" type:"boolean"`
  5540  
  5541  	// A value that indicates whether public write access for the bucket is enabled
  5542  	// through an Access Control List (ACL).
  5543  	AllowsPublicWriteAccess *bool `locationName:"allowsPublicWriteAccess" type:"boolean"`
  5544  }
  5545  
  5546  // String returns the string representation.
  5547  //
  5548  // API parameter values that are decorated as "sensitive" in the API will not
  5549  // be included in the string output. The member name will be present, but the
  5550  // value will be replaced with "sensitive".
  5551  func (s AccessControlList) String() string {
  5552  	return awsutil.Prettify(s)
  5553  }
  5554  
  5555  // GoString returns the string representation.
  5556  //
  5557  // API parameter values that are decorated as "sensitive" in the API will not
  5558  // be included in the string output. The member name will be present, but the
  5559  // value will be replaced with "sensitive".
  5560  func (s AccessControlList) GoString() string {
  5561  	return s.String()
  5562  }
  5563  
  5564  // SetAllowsPublicReadAccess sets the AllowsPublicReadAccess field's value.
  5565  func (s *AccessControlList) SetAllowsPublicReadAccess(v bool) *AccessControlList {
  5566  	s.AllowsPublicReadAccess = &v
  5567  	return s
  5568  }
  5569  
  5570  // SetAllowsPublicWriteAccess sets the AllowsPublicWriteAccess field's value.
  5571  func (s *AccessControlList) SetAllowsPublicWriteAccess(v bool) *AccessControlList {
  5572  	s.AllowsPublicWriteAccess = &v
  5573  	return s
  5574  }
  5575  
  5576  // Contains information about the access keys.
  5577  type AccessKeyDetails struct {
  5578  	_ struct{} `type:"structure"`
  5579  
  5580  	// The access key ID of the user.
  5581  	AccessKeyId *string `locationName:"accessKeyId" type:"string"`
  5582  
  5583  	// The principal ID of the user.
  5584  	PrincipalId *string `locationName:"principalId" type:"string"`
  5585  
  5586  	// The name of the user.
  5587  	UserName *string `locationName:"userName" type:"string"`
  5588  
  5589  	// The type of the user.
  5590  	UserType *string `locationName:"userType" type:"string"`
  5591  }
  5592  
  5593  // String returns the string representation.
  5594  //
  5595  // API parameter values that are decorated as "sensitive" in the API will not
  5596  // be included in the string output. The member name will be present, but the
  5597  // value will be replaced with "sensitive".
  5598  func (s AccessKeyDetails) String() string {
  5599  	return awsutil.Prettify(s)
  5600  }
  5601  
  5602  // GoString returns the string representation.
  5603  //
  5604  // API parameter values that are decorated as "sensitive" in the API will not
  5605  // be included in the string output. The member name will be present, but the
  5606  // value will be replaced with "sensitive".
  5607  func (s AccessKeyDetails) GoString() string {
  5608  	return s.String()
  5609  }
  5610  
  5611  // SetAccessKeyId sets the AccessKeyId field's value.
  5612  func (s *AccessKeyDetails) SetAccessKeyId(v string) *AccessKeyDetails {
  5613  	s.AccessKeyId = &v
  5614  	return s
  5615  }
  5616  
  5617  // SetPrincipalId sets the PrincipalId field's value.
  5618  func (s *AccessKeyDetails) SetPrincipalId(v string) *AccessKeyDetails {
  5619  	s.PrincipalId = &v
  5620  	return s
  5621  }
  5622  
  5623  // SetUserName sets the UserName field's value.
  5624  func (s *AccessKeyDetails) SetUserName(v string) *AccessKeyDetails {
  5625  	s.UserName = &v
  5626  	return s
  5627  }
  5628  
  5629  // SetUserType sets the UserType field's value.
  5630  func (s *AccessKeyDetails) SetUserType(v string) *AccessKeyDetails {
  5631  	s.UserType = &v
  5632  	return s
  5633  }
  5634  
  5635  // Contains information about the account.
  5636  type AccountDetail struct {
  5637  	_ struct{} `type:"structure"`
  5638  
  5639  	// The member account ID.
  5640  	//
  5641  	// AccountId is a required field
  5642  	AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"`
  5643  
  5644  	// The email address of the member account.
  5645  	//
  5646  	// Email is a required field
  5647  	Email *string `locationName:"email" min:"1" type:"string" required:"true"`
  5648  }
  5649  
  5650  // String returns the string representation.
  5651  //
  5652  // API parameter values that are decorated as "sensitive" in the API will not
  5653  // be included in the string output. The member name will be present, but the
  5654  // value will be replaced with "sensitive".
  5655  func (s AccountDetail) String() string {
  5656  	return awsutil.Prettify(s)
  5657  }
  5658  
  5659  // GoString returns the string representation.
  5660  //
  5661  // API parameter values that are decorated as "sensitive" in the API will not
  5662  // be included in the string output. The member name will be present, but the
  5663  // value will be replaced with "sensitive".
  5664  func (s AccountDetail) GoString() string {
  5665  	return s.String()
  5666  }
  5667  
  5668  // Validate inspects the fields of the type to determine if they are valid.
  5669  func (s *AccountDetail) Validate() error {
  5670  	invalidParams := request.ErrInvalidParams{Context: "AccountDetail"}
  5671  	if s.AccountId == nil {
  5672  		invalidParams.Add(request.NewErrParamRequired("AccountId"))
  5673  	}
  5674  	if s.AccountId != nil && len(*s.AccountId) < 12 {
  5675  		invalidParams.Add(request.NewErrParamMinLen("AccountId", 12))
  5676  	}
  5677  	if s.Email == nil {
  5678  		invalidParams.Add(request.NewErrParamRequired("Email"))
  5679  	}
  5680  	if s.Email != nil && len(*s.Email) < 1 {
  5681  		invalidParams.Add(request.NewErrParamMinLen("Email", 1))
  5682  	}
  5683  
  5684  	if invalidParams.Len() > 0 {
  5685  		return invalidParams
  5686  	}
  5687  	return nil
  5688  }
  5689  
  5690  // SetAccountId sets the AccountId field's value.
  5691  func (s *AccountDetail) SetAccountId(v string) *AccountDetail {
  5692  	s.AccountId = &v
  5693  	return s
  5694  }
  5695  
  5696  // SetEmail sets the Email field's value.
  5697  func (s *AccountDetail) SetEmail(v string) *AccountDetail {
  5698  	s.Email = &v
  5699  	return s
  5700  }
  5701  
  5702  // Contains information about the account level permissions on the S3 bucket.
  5703  type AccountLevelPermissions struct {
  5704  	_ struct{} `type:"structure"`
  5705  
  5706  	// Describes the S3 Block Public Access settings of the bucket's parent account.
  5707  	BlockPublicAccess *BlockPublicAccess `locationName:"blockPublicAccess" type:"structure"`
  5708  }
  5709  
  5710  // String returns the string representation.
  5711  //
  5712  // API parameter values that are decorated as "sensitive" in the API will not
  5713  // be included in the string output. The member name will be present, but the
  5714  // value will be replaced with "sensitive".
  5715  func (s AccountLevelPermissions) String() string {
  5716  	return awsutil.Prettify(s)
  5717  }
  5718  
  5719  // GoString returns the string representation.
  5720  //
  5721  // API parameter values that are decorated as "sensitive" in the API will not
  5722  // be included in the string output. The member name will be present, but the
  5723  // value will be replaced with "sensitive".
  5724  func (s AccountLevelPermissions) GoString() string {
  5725  	return s.String()
  5726  }
  5727  
  5728  // SetBlockPublicAccess sets the BlockPublicAccess field's value.
  5729  func (s *AccountLevelPermissions) SetBlockPublicAccess(v *BlockPublicAccess) *AccountLevelPermissions {
  5730  	s.BlockPublicAccess = v
  5731  	return s
  5732  }
  5733  
  5734  // Contains information about actions.
  5735  type Action struct {
  5736  	_ struct{} `type:"structure"`
  5737  
  5738  	// The GuardDuty finding activity type.
  5739  	ActionType *string `locationName:"actionType" type:"string"`
  5740  
  5741  	// Information about the AWS_API_CALL action described in this finding.
  5742  	AwsApiCallAction *AwsApiCallAction `locationName:"awsApiCallAction" type:"structure"`
  5743  
  5744  	// Information about the DNS_REQUEST action described in this finding.
  5745  	DnsRequestAction *DnsRequestAction `locationName:"dnsRequestAction" type:"structure"`
  5746  
  5747  	// Information about the NETWORK_CONNECTION action described in this finding.
  5748  	NetworkConnectionAction *NetworkConnectionAction `locationName:"networkConnectionAction" type:"structure"`
  5749  
  5750  	// Information about the PORT_PROBE action described in this finding.
  5751  	PortProbeAction *PortProbeAction `locationName:"portProbeAction" type:"structure"`
  5752  }
  5753  
  5754  // String returns the string representation.
  5755  //
  5756  // API parameter values that are decorated as "sensitive" in the API will not
  5757  // be included in the string output. The member name will be present, but the
  5758  // value will be replaced with "sensitive".
  5759  func (s Action) String() string {
  5760  	return awsutil.Prettify(s)
  5761  }
  5762  
  5763  // GoString returns the string representation.
  5764  //
  5765  // API parameter values that are decorated as "sensitive" in the API will not
  5766  // be included in the string output. The member name will be present, but the
  5767  // value will be replaced with "sensitive".
  5768  func (s Action) GoString() string {
  5769  	return s.String()
  5770  }
  5771  
  5772  // SetActionType sets the ActionType field's value.
  5773  func (s *Action) SetActionType(v string) *Action {
  5774  	s.ActionType = &v
  5775  	return s
  5776  }
  5777  
  5778  // SetAwsApiCallAction sets the AwsApiCallAction field's value.
  5779  func (s *Action) SetAwsApiCallAction(v *AwsApiCallAction) *Action {
  5780  	s.AwsApiCallAction = v
  5781  	return s
  5782  }
  5783  
  5784  // SetDnsRequestAction sets the DnsRequestAction field's value.
  5785  func (s *Action) SetDnsRequestAction(v *DnsRequestAction) *Action {
  5786  	s.DnsRequestAction = v
  5787  	return s
  5788  }
  5789  
  5790  // SetNetworkConnectionAction sets the NetworkConnectionAction field's value.
  5791  func (s *Action) SetNetworkConnectionAction(v *NetworkConnectionAction) *Action {
  5792  	s.NetworkConnectionAction = v
  5793  	return s
  5794  }
  5795  
  5796  // SetPortProbeAction sets the PortProbeAction field's value.
  5797  func (s *Action) SetPortProbeAction(v *PortProbeAction) *Action {
  5798  	s.PortProbeAction = v
  5799  	return s
  5800  }
  5801  
  5802  // The account within the organization specified as the GuardDuty delegated
  5803  // administrator.
  5804  type AdminAccount struct {
  5805  	_ struct{} `type:"structure"`
  5806  
  5807  	// The AWS account ID for the account.
  5808  	AdminAccountId *string `locationName:"adminAccountId" type:"string"`
  5809  
  5810  	// Indicates whether the account is enabled as the delegated administrator.
  5811  	AdminStatus *string `locationName:"adminStatus" min:"1" type:"string" enum:"AdminStatus"`
  5812  }
  5813  
  5814  // String returns the string representation.
  5815  //
  5816  // API parameter values that are decorated as "sensitive" in the API will not
  5817  // be included in the string output. The member name will be present, but the
  5818  // value will be replaced with "sensitive".
  5819  func (s AdminAccount) String() string {
  5820  	return awsutil.Prettify(s)
  5821  }
  5822  
  5823  // GoString returns the string representation.
  5824  //
  5825  // API parameter values that are decorated as "sensitive" in the API will not
  5826  // be included in the string output. The member name will be present, but the
  5827  // value will be replaced with "sensitive".
  5828  func (s AdminAccount) GoString() string {
  5829  	return s.String()
  5830  }
  5831  
  5832  // SetAdminAccountId sets the AdminAccountId field's value.
  5833  func (s *AdminAccount) SetAdminAccountId(v string) *AdminAccount {
  5834  	s.AdminAccountId = &v
  5835  	return s
  5836  }
  5837  
  5838  // SetAdminStatus sets the AdminStatus field's value.
  5839  func (s *AdminAccount) SetAdminStatus(v string) *AdminAccount {
  5840  	s.AdminStatus = &v
  5841  	return s
  5842  }
  5843  
  5844  type ArchiveFindingsInput struct {
  5845  	_ struct{} `type:"structure"`
  5846  
  5847  	// The ID of the detector that specifies the GuardDuty service whose findings
  5848  	// you want to archive.
  5849  	//
  5850  	// DetectorId is a required field
  5851  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  5852  
  5853  	// The IDs of the findings that you want to archive.
  5854  	//
  5855  	// FindingIds is a required field
  5856  	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
  5857  }
  5858  
  5859  // String returns the string representation.
  5860  //
  5861  // API parameter values that are decorated as "sensitive" in the API will not
  5862  // be included in the string output. The member name will be present, but the
  5863  // value will be replaced with "sensitive".
  5864  func (s ArchiveFindingsInput) String() string {
  5865  	return awsutil.Prettify(s)
  5866  }
  5867  
  5868  // GoString returns the string representation.
  5869  //
  5870  // API parameter values that are decorated as "sensitive" in the API will not
  5871  // be included in the string output. The member name will be present, but the
  5872  // value will be replaced with "sensitive".
  5873  func (s ArchiveFindingsInput) GoString() string {
  5874  	return s.String()
  5875  }
  5876  
  5877  // Validate inspects the fields of the type to determine if they are valid.
  5878  func (s *ArchiveFindingsInput) Validate() error {
  5879  	invalidParams := request.ErrInvalidParams{Context: "ArchiveFindingsInput"}
  5880  	if s.DetectorId == nil {
  5881  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  5882  	}
  5883  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  5884  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  5885  	}
  5886  	if s.FindingIds == nil {
  5887  		invalidParams.Add(request.NewErrParamRequired("FindingIds"))
  5888  	}
  5889  
  5890  	if invalidParams.Len() > 0 {
  5891  		return invalidParams
  5892  	}
  5893  	return nil
  5894  }
  5895  
  5896  // SetDetectorId sets the DetectorId field's value.
  5897  func (s *ArchiveFindingsInput) SetDetectorId(v string) *ArchiveFindingsInput {
  5898  	s.DetectorId = &v
  5899  	return s
  5900  }
  5901  
  5902  // SetFindingIds sets the FindingIds field's value.
  5903  func (s *ArchiveFindingsInput) SetFindingIds(v []*string) *ArchiveFindingsInput {
  5904  	s.FindingIds = v
  5905  	return s
  5906  }
  5907  
  5908  type ArchiveFindingsOutput struct {
  5909  	_ struct{} `type:"structure" nopayload:"true"`
  5910  }
  5911  
  5912  // String returns the string representation.
  5913  //
  5914  // API parameter values that are decorated as "sensitive" in the API will not
  5915  // be included in the string output. The member name will be present, but the
  5916  // value will be replaced with "sensitive".
  5917  func (s ArchiveFindingsOutput) String() string {
  5918  	return awsutil.Prettify(s)
  5919  }
  5920  
  5921  // GoString returns the string representation.
  5922  //
  5923  // API parameter values that are decorated as "sensitive" in the API will not
  5924  // be included in the string output. The member name will be present, but the
  5925  // value will be replaced with "sensitive".
  5926  func (s ArchiveFindingsOutput) GoString() string {
  5927  	return s.String()
  5928  }
  5929  
  5930  // Contains information about the API action.
  5931  type AwsApiCallAction struct {
  5932  	_ struct{} `type:"structure"`
  5933  
  5934  	// The AWS API name.
  5935  	Api *string `locationName:"api" type:"string"`
  5936  
  5937  	// The AWS API caller type.
  5938  	CallerType *string `locationName:"callerType" type:"string"`
  5939  
  5940  	// The domain information for the AWS API call.
  5941  	DomainDetails *DomainDetails `locationName:"domainDetails" type:"structure"`
  5942  
  5943  	// The error code of the failed AWS API action.
  5944  	ErrorCode *string `locationName:"errorCode" type:"string"`
  5945  
  5946  	// The remote IP information of the connection that initiated the AWS API call.
  5947  	RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"`
  5948  
  5949  	// The AWS service name whose API was invoked.
  5950  	ServiceName *string `locationName:"serviceName" type:"string"`
  5951  }
  5952  
  5953  // String returns the string representation.
  5954  //
  5955  // API parameter values that are decorated as "sensitive" in the API will not
  5956  // be included in the string output. The member name will be present, but the
  5957  // value will be replaced with "sensitive".
  5958  func (s AwsApiCallAction) String() string {
  5959  	return awsutil.Prettify(s)
  5960  }
  5961  
  5962  // GoString returns the string representation.
  5963  //
  5964  // API parameter values that are decorated as "sensitive" in the API will not
  5965  // be included in the string output. The member name will be present, but the
  5966  // value will be replaced with "sensitive".
  5967  func (s AwsApiCallAction) GoString() string {
  5968  	return s.String()
  5969  }
  5970  
  5971  // SetApi sets the Api field's value.
  5972  func (s *AwsApiCallAction) SetApi(v string) *AwsApiCallAction {
  5973  	s.Api = &v
  5974  	return s
  5975  }
  5976  
  5977  // SetCallerType sets the CallerType field's value.
  5978  func (s *AwsApiCallAction) SetCallerType(v string) *AwsApiCallAction {
  5979  	s.CallerType = &v
  5980  	return s
  5981  }
  5982  
  5983  // SetDomainDetails sets the DomainDetails field's value.
  5984  func (s *AwsApiCallAction) SetDomainDetails(v *DomainDetails) *AwsApiCallAction {
  5985  	s.DomainDetails = v
  5986  	return s
  5987  }
  5988  
  5989  // SetErrorCode sets the ErrorCode field's value.
  5990  func (s *AwsApiCallAction) SetErrorCode(v string) *AwsApiCallAction {
  5991  	s.ErrorCode = &v
  5992  	return s
  5993  }
  5994  
  5995  // SetRemoteIpDetails sets the RemoteIpDetails field's value.
  5996  func (s *AwsApiCallAction) SetRemoteIpDetails(v *RemoteIpDetails) *AwsApiCallAction {
  5997  	s.RemoteIpDetails = v
  5998  	return s
  5999  }
  6000  
  6001  // SetServiceName sets the ServiceName field's value.
  6002  func (s *AwsApiCallAction) SetServiceName(v string) *AwsApiCallAction {
  6003  	s.ServiceName = &v
  6004  	return s
  6005  }
  6006  
  6007  // A bad request exception object.
  6008  type BadRequestException struct {
  6009  	_            struct{}                  `type:"structure"`
  6010  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  6011  
  6012  	// The error message.
  6013  	Message_ *string `locationName:"message" type:"string"`
  6014  
  6015  	// The error type.
  6016  	Type *string `locationName:"__type" type:"string"`
  6017  }
  6018  
  6019  // String returns the string representation.
  6020  //
  6021  // API parameter values that are decorated as "sensitive" in the API will not
  6022  // be included in the string output. The member name will be present, but the
  6023  // value will be replaced with "sensitive".
  6024  func (s BadRequestException) String() string {
  6025  	return awsutil.Prettify(s)
  6026  }
  6027  
  6028  // GoString returns the string representation.
  6029  //
  6030  // API parameter values that are decorated as "sensitive" in the API will not
  6031  // be included in the string output. The member name will be present, but the
  6032  // value will be replaced with "sensitive".
  6033  func (s BadRequestException) GoString() string {
  6034  	return s.String()
  6035  }
  6036  
  6037  func newErrorBadRequestException(v protocol.ResponseMetadata) error {
  6038  	return &BadRequestException{
  6039  		RespMetadata: v,
  6040  	}
  6041  }
  6042  
  6043  // Code returns the exception type name.
  6044  func (s *BadRequestException) Code() string {
  6045  	return "BadRequestException"
  6046  }
  6047  
  6048  // Message returns the exception's message.
  6049  func (s *BadRequestException) Message() string {
  6050  	if s.Message_ != nil {
  6051  		return *s.Message_
  6052  	}
  6053  	return ""
  6054  }
  6055  
  6056  // OrigErr always returns nil, satisfies awserr.Error interface.
  6057  func (s *BadRequestException) OrigErr() error {
  6058  	return nil
  6059  }
  6060  
  6061  func (s *BadRequestException) Error() string {
  6062  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
  6063  }
  6064  
  6065  // Status code returns the HTTP status code for the request's response error.
  6066  func (s *BadRequestException) StatusCode() int {
  6067  	return s.RespMetadata.StatusCode
  6068  }
  6069  
  6070  // RequestID returns the service's response RequestID for request.
  6071  func (s *BadRequestException) RequestID() string {
  6072  	return s.RespMetadata.RequestID
  6073  }
  6074  
  6075  // Contains information on how the bucker owner's S3 Block Public Access settings
  6076  // 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)
  6077  // for more information.
  6078  type BlockPublicAccess struct {
  6079  	_ struct{} `type:"structure"`
  6080  
  6081  	// Indicates if S3 Block Public Access is set to BlockPublicAcls.
  6082  	BlockPublicAcls *bool `locationName:"blockPublicAcls" type:"boolean"`
  6083  
  6084  	// Indicates if S3 Block Public Access is set to BlockPublicPolicy.
  6085  	BlockPublicPolicy *bool `locationName:"blockPublicPolicy" type:"boolean"`
  6086  
  6087  	// Indicates if S3 Block Public Access is set to IgnorePublicAcls.
  6088  	IgnorePublicAcls *bool `locationName:"ignorePublicAcls" type:"boolean"`
  6089  
  6090  	// Indicates if S3 Block Public Access is set to RestrictPublicBuckets.
  6091  	RestrictPublicBuckets *bool `locationName:"restrictPublicBuckets" type:"boolean"`
  6092  }
  6093  
  6094  // String returns the string representation.
  6095  //
  6096  // API parameter values that are decorated as "sensitive" in the API will not
  6097  // be included in the string output. The member name will be present, but the
  6098  // value will be replaced with "sensitive".
  6099  func (s BlockPublicAccess) String() string {
  6100  	return awsutil.Prettify(s)
  6101  }
  6102  
  6103  // GoString returns the string representation.
  6104  //
  6105  // API parameter values that are decorated as "sensitive" in the API will not
  6106  // be included in the string output. The member name will be present, but the
  6107  // value will be replaced with "sensitive".
  6108  func (s BlockPublicAccess) GoString() string {
  6109  	return s.String()
  6110  }
  6111  
  6112  // SetBlockPublicAcls sets the BlockPublicAcls field's value.
  6113  func (s *BlockPublicAccess) SetBlockPublicAcls(v bool) *BlockPublicAccess {
  6114  	s.BlockPublicAcls = &v
  6115  	return s
  6116  }
  6117  
  6118  // SetBlockPublicPolicy sets the BlockPublicPolicy field's value.
  6119  func (s *BlockPublicAccess) SetBlockPublicPolicy(v bool) *BlockPublicAccess {
  6120  	s.BlockPublicPolicy = &v
  6121  	return s
  6122  }
  6123  
  6124  // SetIgnorePublicAcls sets the IgnorePublicAcls field's value.
  6125  func (s *BlockPublicAccess) SetIgnorePublicAcls(v bool) *BlockPublicAccess {
  6126  	s.IgnorePublicAcls = &v
  6127  	return s
  6128  }
  6129  
  6130  // SetRestrictPublicBuckets sets the RestrictPublicBuckets field's value.
  6131  func (s *BlockPublicAccess) SetRestrictPublicBuckets(v bool) *BlockPublicAccess {
  6132  	s.RestrictPublicBuckets = &v
  6133  	return s
  6134  }
  6135  
  6136  // Contains information about the bucket level permissions for the S3 bucket.
  6137  type BucketLevelPermissions struct {
  6138  	_ struct{} `type:"structure"`
  6139  
  6140  	// Contains information on how Access Control Policies are applied to the bucket.
  6141  	AccessControlList *AccessControlList `locationName:"accessControlList" type:"structure"`
  6142  
  6143  	// Contains information on which account level S3 Block Public Access settings
  6144  	// are applied to the S3 bucket.
  6145  	BlockPublicAccess *BlockPublicAccess `locationName:"blockPublicAccess" type:"structure"`
  6146  
  6147  	// Contains information on the bucket policies for the S3 bucket.
  6148  	BucketPolicy *BucketPolicy `locationName:"bucketPolicy" type:"structure"`
  6149  }
  6150  
  6151  // String returns the string representation.
  6152  //
  6153  // API parameter values that are decorated as "sensitive" in the API will not
  6154  // be included in the string output. The member name will be present, but the
  6155  // value will be replaced with "sensitive".
  6156  func (s BucketLevelPermissions) String() string {
  6157  	return awsutil.Prettify(s)
  6158  }
  6159  
  6160  // GoString returns the string representation.
  6161  //
  6162  // API parameter values that are decorated as "sensitive" in the API will not
  6163  // be included in the string output. The member name will be present, but the
  6164  // value will be replaced with "sensitive".
  6165  func (s BucketLevelPermissions) GoString() string {
  6166  	return s.String()
  6167  }
  6168  
  6169  // SetAccessControlList sets the AccessControlList field's value.
  6170  func (s *BucketLevelPermissions) SetAccessControlList(v *AccessControlList) *BucketLevelPermissions {
  6171  	s.AccessControlList = v
  6172  	return s
  6173  }
  6174  
  6175  // SetBlockPublicAccess sets the BlockPublicAccess field's value.
  6176  func (s *BucketLevelPermissions) SetBlockPublicAccess(v *BlockPublicAccess) *BucketLevelPermissions {
  6177  	s.BlockPublicAccess = v
  6178  	return s
  6179  }
  6180  
  6181  // SetBucketPolicy sets the BucketPolicy field's value.
  6182  func (s *BucketLevelPermissions) SetBucketPolicy(v *BucketPolicy) *BucketLevelPermissions {
  6183  	s.BucketPolicy = v
  6184  	return s
  6185  }
  6186  
  6187  // Contains information on the current bucket policies for the S3 bucket.
  6188  type BucketPolicy struct {
  6189  	_ struct{} `type:"structure"`
  6190  
  6191  	// A value that indicates whether public read access for the bucket is enabled
  6192  	// through a bucket policy.
  6193  	AllowsPublicReadAccess *bool `locationName:"allowsPublicReadAccess" type:"boolean"`
  6194  
  6195  	// A value that indicates whether public write access for the bucket is enabled
  6196  	// through a bucket policy.
  6197  	AllowsPublicWriteAccess *bool `locationName:"allowsPublicWriteAccess" type:"boolean"`
  6198  }
  6199  
  6200  // String returns the string representation.
  6201  //
  6202  // API parameter values that are decorated as "sensitive" in the API will not
  6203  // be included in the string output. The member name will be present, but the
  6204  // value will be replaced with "sensitive".
  6205  func (s BucketPolicy) String() string {
  6206  	return awsutil.Prettify(s)
  6207  }
  6208  
  6209  // GoString returns the string representation.
  6210  //
  6211  // API parameter values that are decorated as "sensitive" in the API will not
  6212  // be included in the string output. The member name will be present, but the
  6213  // value will be replaced with "sensitive".
  6214  func (s BucketPolicy) GoString() string {
  6215  	return s.String()
  6216  }
  6217  
  6218  // SetAllowsPublicReadAccess sets the AllowsPublicReadAccess field's value.
  6219  func (s *BucketPolicy) SetAllowsPublicReadAccess(v bool) *BucketPolicy {
  6220  	s.AllowsPublicReadAccess = &v
  6221  	return s
  6222  }
  6223  
  6224  // SetAllowsPublicWriteAccess sets the AllowsPublicWriteAccess field's value.
  6225  func (s *BucketPolicy) SetAllowsPublicWriteAccess(v bool) *BucketPolicy {
  6226  	s.AllowsPublicWriteAccess = &v
  6227  	return s
  6228  }
  6229  
  6230  // Contains information about the city associated with the IP address.
  6231  type City struct {
  6232  	_ struct{} `type:"structure"`
  6233  
  6234  	// The city name of the remote IP address.
  6235  	CityName *string `locationName:"cityName" type:"string"`
  6236  }
  6237  
  6238  // String returns the string representation.
  6239  //
  6240  // API parameter values that are decorated as "sensitive" in the API will not
  6241  // be included in the string output. The member name will be present, but the
  6242  // value will be replaced with "sensitive".
  6243  func (s City) String() string {
  6244  	return awsutil.Prettify(s)
  6245  }
  6246  
  6247  // GoString returns the string representation.
  6248  //
  6249  // API parameter values that are decorated as "sensitive" in the API will not
  6250  // be included in the string output. The member name will be present, but the
  6251  // value will be replaced with "sensitive".
  6252  func (s City) GoString() string {
  6253  	return s.String()
  6254  }
  6255  
  6256  // SetCityName sets the CityName field's value.
  6257  func (s *City) SetCityName(v string) *City {
  6258  	s.CityName = &v
  6259  	return s
  6260  }
  6261  
  6262  // Contains information on the status of CloudTrail as a data source for the
  6263  // detector.
  6264  type CloudTrailConfigurationResult struct {
  6265  	_ struct{} `type:"structure"`
  6266  
  6267  	// Describes whether CloudTrail is enabled as a data source for the detector.
  6268  	//
  6269  	// Status is a required field
  6270  	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"`
  6271  }
  6272  
  6273  // String returns the string representation.
  6274  //
  6275  // API parameter values that are decorated as "sensitive" in the API will not
  6276  // be included in the string output. The member name will be present, but the
  6277  // value will be replaced with "sensitive".
  6278  func (s CloudTrailConfigurationResult) String() string {
  6279  	return awsutil.Prettify(s)
  6280  }
  6281  
  6282  // GoString returns the string representation.
  6283  //
  6284  // API parameter values that are decorated as "sensitive" in the API will not
  6285  // be included in the string output. The member name will be present, but the
  6286  // value will be replaced with "sensitive".
  6287  func (s CloudTrailConfigurationResult) GoString() string {
  6288  	return s.String()
  6289  }
  6290  
  6291  // SetStatus sets the Status field's value.
  6292  func (s *CloudTrailConfigurationResult) SetStatus(v string) *CloudTrailConfigurationResult {
  6293  	s.Status = &v
  6294  	return s
  6295  }
  6296  
  6297  // Contains information about the condition.
  6298  type Condition struct {
  6299  	_ struct{} `type:"structure"`
  6300  
  6301  	// Represents the equal condition to be applied to a single field when querying
  6302  	// for findings.
  6303  	//
  6304  	// Deprecated: Eq has been deprecated
  6305  	Eq []*string `locationName:"eq" deprecated:"true" type:"list"`
  6306  
  6307  	// Represents an equal condition to be applied to a single field when querying
  6308  	// for findings.
  6309  	Equals []*string `locationName:"equals" type:"list"`
  6310  
  6311  	// Represents a greater than condition to be applied to a single field when
  6312  	// querying for findings.
  6313  	GreaterThan *int64 `locationName:"greaterThan" type:"long"`
  6314  
  6315  	// Represents a greater than or equal condition to be applied to a single field
  6316  	// when querying for findings.
  6317  	GreaterThanOrEqual *int64 `locationName:"greaterThanOrEqual" type:"long"`
  6318  
  6319  	// Represents a greater than condition to be applied to a single field when
  6320  	// querying for findings.
  6321  	//
  6322  	// Deprecated: Gt has been deprecated
  6323  	Gt *int64 `locationName:"gt" deprecated:"true" type:"integer"`
  6324  
  6325  	// Represents a greater than or equal condition to be applied to a single field
  6326  	// when querying for findings.
  6327  	//
  6328  	// Deprecated: Gte has been deprecated
  6329  	Gte *int64 `locationName:"gte" deprecated:"true" type:"integer"`
  6330  
  6331  	// Represents a less than condition to be applied to a single field when querying
  6332  	// for findings.
  6333  	LessThan *int64 `locationName:"lessThan" type:"long"`
  6334  
  6335  	// Represents a less than or equal condition to be applied to a single field
  6336  	// when querying for findings.
  6337  	LessThanOrEqual *int64 `locationName:"lessThanOrEqual" type:"long"`
  6338  
  6339  	// Represents a less than condition to be applied to a single field when querying
  6340  	// for findings.
  6341  	//
  6342  	// Deprecated: Lt has been deprecated
  6343  	Lt *int64 `locationName:"lt" deprecated:"true" type:"integer"`
  6344  
  6345  	// Represents a less than or equal condition to be applied to a single field
  6346  	// when querying for findings.
  6347  	//
  6348  	// Deprecated: Lte has been deprecated
  6349  	Lte *int64 `locationName:"lte" deprecated:"true" type:"integer"`
  6350  
  6351  	// Represents the not equal condition to be applied to a single field when querying
  6352  	// for findings.
  6353  	//
  6354  	// Deprecated: Neq has been deprecated
  6355  	Neq []*string `locationName:"neq" deprecated:"true" type:"list"`
  6356  
  6357  	// Represents a not equal condition to be applied to a single field when querying
  6358  	// for findings.
  6359  	NotEquals []*string `locationName:"notEquals" type:"list"`
  6360  }
  6361  
  6362  // String returns the string representation.
  6363  //
  6364  // API parameter values that are decorated as "sensitive" in the API will not
  6365  // be included in the string output. The member name will be present, but the
  6366  // value will be replaced with "sensitive".
  6367  func (s Condition) String() string {
  6368  	return awsutil.Prettify(s)
  6369  }
  6370  
  6371  // GoString returns the string representation.
  6372  //
  6373  // API parameter values that are decorated as "sensitive" in the API will not
  6374  // be included in the string output. The member name will be present, but the
  6375  // value will be replaced with "sensitive".
  6376  func (s Condition) GoString() string {
  6377  	return s.String()
  6378  }
  6379  
  6380  // SetEq sets the Eq field's value.
  6381  func (s *Condition) SetEq(v []*string) *Condition {
  6382  	s.Eq = v
  6383  	return s
  6384  }
  6385  
  6386  // SetEquals sets the Equals field's value.
  6387  func (s *Condition) SetEquals(v []*string) *Condition {
  6388  	s.Equals = v
  6389  	return s
  6390  }
  6391  
  6392  // SetGreaterThan sets the GreaterThan field's value.
  6393  func (s *Condition) SetGreaterThan(v int64) *Condition {
  6394  	s.GreaterThan = &v
  6395  	return s
  6396  }
  6397  
  6398  // SetGreaterThanOrEqual sets the GreaterThanOrEqual field's value.
  6399  func (s *Condition) SetGreaterThanOrEqual(v int64) *Condition {
  6400  	s.GreaterThanOrEqual = &v
  6401  	return s
  6402  }
  6403  
  6404  // SetGt sets the Gt field's value.
  6405  func (s *Condition) SetGt(v int64) *Condition {
  6406  	s.Gt = &v
  6407  	return s
  6408  }
  6409  
  6410  // SetGte sets the Gte field's value.
  6411  func (s *Condition) SetGte(v int64) *Condition {
  6412  	s.Gte = &v
  6413  	return s
  6414  }
  6415  
  6416  // SetLessThan sets the LessThan field's value.
  6417  func (s *Condition) SetLessThan(v int64) *Condition {
  6418  	s.LessThan = &v
  6419  	return s
  6420  }
  6421  
  6422  // SetLessThanOrEqual sets the LessThanOrEqual field's value.
  6423  func (s *Condition) SetLessThanOrEqual(v int64) *Condition {
  6424  	s.LessThanOrEqual = &v
  6425  	return s
  6426  }
  6427  
  6428  // SetLt sets the Lt field's value.
  6429  func (s *Condition) SetLt(v int64) *Condition {
  6430  	s.Lt = &v
  6431  	return s
  6432  }
  6433  
  6434  // SetLte sets the Lte field's value.
  6435  func (s *Condition) SetLte(v int64) *Condition {
  6436  	s.Lte = &v
  6437  	return s
  6438  }
  6439  
  6440  // SetNeq sets the Neq field's value.
  6441  func (s *Condition) SetNeq(v []*string) *Condition {
  6442  	s.Neq = v
  6443  	return s
  6444  }
  6445  
  6446  // SetNotEquals sets the NotEquals field's value.
  6447  func (s *Condition) SetNotEquals(v []*string) *Condition {
  6448  	s.NotEquals = v
  6449  	return s
  6450  }
  6451  
  6452  // Contains information about the country where the remote IP address is located.
  6453  type Country struct {
  6454  	_ struct{} `type:"structure"`
  6455  
  6456  	// The country code of the remote IP address.
  6457  	CountryCode *string `locationName:"countryCode" type:"string"`
  6458  
  6459  	// The country name of the remote IP address.
  6460  	CountryName *string `locationName:"countryName" type:"string"`
  6461  }
  6462  
  6463  // String returns the string representation.
  6464  //
  6465  // API parameter values that are decorated as "sensitive" in the API will not
  6466  // be included in the string output. The member name will be present, but the
  6467  // value will be replaced with "sensitive".
  6468  func (s Country) String() string {
  6469  	return awsutil.Prettify(s)
  6470  }
  6471  
  6472  // GoString returns the string representation.
  6473  //
  6474  // API parameter values that are decorated as "sensitive" in the API will not
  6475  // be included in the string output. The member name will be present, but the
  6476  // value will be replaced with "sensitive".
  6477  func (s Country) GoString() string {
  6478  	return s.String()
  6479  }
  6480  
  6481  // SetCountryCode sets the CountryCode field's value.
  6482  func (s *Country) SetCountryCode(v string) *Country {
  6483  	s.CountryCode = &v
  6484  	return s
  6485  }
  6486  
  6487  // SetCountryName sets the CountryName field's value.
  6488  func (s *Country) SetCountryName(v string) *Country {
  6489  	s.CountryName = &v
  6490  	return s
  6491  }
  6492  
  6493  type CreateDetectorInput struct {
  6494  	_ struct{} `type:"structure"`
  6495  
  6496  	// The idempotency token for the create request.
  6497  	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
  6498  
  6499  	// Describes which data sources will be enabled for the detector.
  6500  	DataSources *DataSourceConfigurations `locationName:"dataSources" type:"structure"`
  6501  
  6502  	// A Boolean value that specifies whether the detector is to be enabled.
  6503  	//
  6504  	// Enable is a required field
  6505  	Enable *bool `locationName:"enable" type:"boolean" required:"true"`
  6506  
  6507  	// A value that specifies how frequently updated findings are exported.
  6508  	FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"`
  6509  
  6510  	// The tags to be added to a new detector resource.
  6511  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  6512  }
  6513  
  6514  // String returns the string representation.
  6515  //
  6516  // API parameter values that are decorated as "sensitive" in the API will not
  6517  // be included in the string output. The member name will be present, but the
  6518  // value will be replaced with "sensitive".
  6519  func (s CreateDetectorInput) String() string {
  6520  	return awsutil.Prettify(s)
  6521  }
  6522  
  6523  // GoString returns the string representation.
  6524  //
  6525  // API parameter values that are decorated as "sensitive" in the API will not
  6526  // be included in the string output. The member name will be present, but the
  6527  // value will be replaced with "sensitive".
  6528  func (s CreateDetectorInput) GoString() string {
  6529  	return s.String()
  6530  }
  6531  
  6532  // Validate inspects the fields of the type to determine if they are valid.
  6533  func (s *CreateDetectorInput) Validate() error {
  6534  	invalidParams := request.ErrInvalidParams{Context: "CreateDetectorInput"}
  6535  	if s.Enable == nil {
  6536  		invalidParams.Add(request.NewErrParamRequired("Enable"))
  6537  	}
  6538  	if s.Tags != nil && len(s.Tags) < 1 {
  6539  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  6540  	}
  6541  	if s.DataSources != nil {
  6542  		if err := s.DataSources.Validate(); err != nil {
  6543  			invalidParams.AddNested("DataSources", err.(request.ErrInvalidParams))
  6544  		}
  6545  	}
  6546  
  6547  	if invalidParams.Len() > 0 {
  6548  		return invalidParams
  6549  	}
  6550  	return nil
  6551  }
  6552  
  6553  // SetClientToken sets the ClientToken field's value.
  6554  func (s *CreateDetectorInput) SetClientToken(v string) *CreateDetectorInput {
  6555  	s.ClientToken = &v
  6556  	return s
  6557  }
  6558  
  6559  // SetDataSources sets the DataSources field's value.
  6560  func (s *CreateDetectorInput) SetDataSources(v *DataSourceConfigurations) *CreateDetectorInput {
  6561  	s.DataSources = v
  6562  	return s
  6563  }
  6564  
  6565  // SetEnable sets the Enable field's value.
  6566  func (s *CreateDetectorInput) SetEnable(v bool) *CreateDetectorInput {
  6567  	s.Enable = &v
  6568  	return s
  6569  }
  6570  
  6571  // SetFindingPublishingFrequency sets the FindingPublishingFrequency field's value.
  6572  func (s *CreateDetectorInput) SetFindingPublishingFrequency(v string) *CreateDetectorInput {
  6573  	s.FindingPublishingFrequency = &v
  6574  	return s
  6575  }
  6576  
  6577  // SetTags sets the Tags field's value.
  6578  func (s *CreateDetectorInput) SetTags(v map[string]*string) *CreateDetectorInput {
  6579  	s.Tags = v
  6580  	return s
  6581  }
  6582  
  6583  type CreateDetectorOutput struct {
  6584  	_ struct{} `type:"structure"`
  6585  
  6586  	// The unique ID of the created detector.
  6587  	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
  6588  }
  6589  
  6590  // String returns the string representation.
  6591  //
  6592  // API parameter values that are decorated as "sensitive" in the API will not
  6593  // be included in the string output. The member name will be present, but the
  6594  // value will be replaced with "sensitive".
  6595  func (s CreateDetectorOutput) String() string {
  6596  	return awsutil.Prettify(s)
  6597  }
  6598  
  6599  // GoString returns the string representation.
  6600  //
  6601  // API parameter values that are decorated as "sensitive" in the API will not
  6602  // be included in the string output. The member name will be present, but the
  6603  // value will be replaced with "sensitive".
  6604  func (s CreateDetectorOutput) GoString() string {
  6605  	return s.String()
  6606  }
  6607  
  6608  // SetDetectorId sets the DetectorId field's value.
  6609  func (s *CreateDetectorOutput) SetDetectorId(v string) *CreateDetectorOutput {
  6610  	s.DetectorId = &v
  6611  	return s
  6612  }
  6613  
  6614  type CreateFilterInput struct {
  6615  	_ struct{} `type:"structure"`
  6616  
  6617  	// Specifies the action that is to be applied to the findings that match the
  6618  	// filter.
  6619  	Action *string `locationName:"action" min:"1" type:"string" enum:"FilterAction"`
  6620  
  6621  	// The idempotency token for the create request.
  6622  	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
  6623  
  6624  	// The description of the filter.
  6625  	Description *string `locationName:"description" type:"string"`
  6626  
  6627  	// The ID of the detector belonging to the GuardDuty account that you want to
  6628  	// create a filter for.
  6629  	//
  6630  	// DetectorId is a required field
  6631  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  6632  
  6633  	// Represents the criteria to be used in the filter for querying findings.
  6634  	//
  6635  	// You can only use the following attributes to query findings:
  6636  	//
  6637  	//    * accountId
  6638  	//
  6639  	//    * region
  6640  	//
  6641  	//    * confidence
  6642  	//
  6643  	//    * id
  6644  	//
  6645  	//    * resource.accessKeyDetails.accessKeyId
  6646  	//
  6647  	//    * resource.accessKeyDetails.principalId
  6648  	//
  6649  	//    * resource.accessKeyDetails.userName
  6650  	//
  6651  	//    * resource.accessKeyDetails.userType
  6652  	//
  6653  	//    * resource.instanceDetails.iamInstanceProfile.id
  6654  	//
  6655  	//    * resource.instanceDetails.imageId
  6656  	//
  6657  	//    * resource.instanceDetails.instanceId
  6658  	//
  6659  	//    * resource.instanceDetails.outpostArn
  6660  	//
  6661  	//    * resource.instanceDetails.networkInterfaces.ipv6Addresses
  6662  	//
  6663  	//    * resource.instanceDetails.networkInterfaces.privateIpAddresses.privateIpAddress
  6664  	//
  6665  	//    * resource.instanceDetails.networkInterfaces.publicDnsName
  6666  	//
  6667  	//    * resource.instanceDetails.networkInterfaces.publicIp
  6668  	//
  6669  	//    * resource.instanceDetails.networkInterfaces.securityGroups.groupId
  6670  	//
  6671  	//    * resource.instanceDetails.networkInterfaces.securityGroups.groupName
  6672  	//
  6673  	//    * resource.instanceDetails.networkInterfaces.subnetId
  6674  	//
  6675  	//    * resource.instanceDetails.networkInterfaces.vpcId
  6676  	//
  6677  	//    * resource.instanceDetails.tags.key
  6678  	//
  6679  	//    * resource.instanceDetails.tags.value
  6680  	//
  6681  	//    * resource.resourceType
  6682  	//
  6683  	//    * service.action.actionType
  6684  	//
  6685  	//    * service.action.awsApiCallAction.api
  6686  	//
  6687  	//    * service.action.awsApiCallAction.callerType
  6688  	//
  6689  	//    * service.action.awsApiCallAction.errorCode
  6690  	//
  6691  	//    * service.action.awsApiCallAction.remoteIpDetails.city.cityName
  6692  	//
  6693  	//    * service.action.awsApiCallAction.remoteIpDetails.country.countryName
  6694  	//
  6695  	//    * service.action.awsApiCallAction.remoteIpDetails.ipAddressV4
  6696  	//
  6697  	//    * service.action.awsApiCallAction.remoteIpDetails.organization.asn
  6698  	//
  6699  	//    * service.action.awsApiCallAction.remoteIpDetails.organization.asnOrg
  6700  	//
  6701  	//    * service.action.awsApiCallAction.serviceName
  6702  	//
  6703  	//    * service.action.dnsRequestAction.domain
  6704  	//
  6705  	//    * service.action.networkConnectionAction.blocked
  6706  	//
  6707  	//    * service.action.networkConnectionAction.connectionDirection
  6708  	//
  6709  	//    * service.action.networkConnectionAction.localPortDetails.port
  6710  	//
  6711  	//    * service.action.networkConnectionAction.protocol
  6712  	//
  6713  	//    * service.action.networkConnectionAction.localIpDetails.ipAddressV4
  6714  	//
  6715  	//    * service.action.networkConnectionAction.remoteIpDetails.city.cityName
  6716  	//
  6717  	//    * service.action.networkConnectionAction.remoteIpDetails.country.countryName
  6718  	//
  6719  	//    * service.action.networkConnectionAction.remoteIpDetails.ipAddressV4
  6720  	//
  6721  	//    * service.action.networkConnectionAction.remoteIpDetails.organization.asn
  6722  	//
  6723  	//    * service.action.networkConnectionAction.remoteIpDetails.organization.asnOrg
  6724  	//
  6725  	//    * service.action.networkConnectionAction.remotePortDetails.port
  6726  	//
  6727  	//    * service.additionalInfo.threatListName
  6728  	//
  6729  	//    * service.archived When this attribute is set to TRUE, only archived findings
  6730  	//    are listed. When it's set to FALSE, only unarchived findings are listed.
  6731  	//    When this attribute is not set, all existing findings are listed.
  6732  	//
  6733  	//    * service.resourceRole
  6734  	//
  6735  	//    * severity
  6736  	//
  6737  	//    * type
  6738  	//
  6739  	//    * updatedAt Type: ISO 8601 string format: YYYY-MM-DDTHH:MM:SS.SSSZ or
  6740  	//    YYYY-MM-DDTHH:MM:SSZ depending on whether the value contains milliseconds.
  6741  	//
  6742  	// FindingCriteria is a required field
  6743  	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure" required:"true"`
  6744  
  6745  	// The name of the filter. Minimum length of 3. Maximum length of 64. Valid
  6746  	// characters include alphanumeric characters, dot (.), underscore (_), and
  6747  	// dash (-). Spaces are not allowed.
  6748  	//
  6749  	// Name is a required field
  6750  	Name *string `locationName:"name" min:"3" type:"string" required:"true"`
  6751  
  6752  	// Specifies the position of the filter in the list of current filters. Also
  6753  	// specifies the order in which this filter is applied to the findings.
  6754  	Rank *int64 `locationName:"rank" min:"1" type:"integer"`
  6755  
  6756  	// The tags to be added to a new filter resource.
  6757  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  6758  }
  6759  
  6760  // String returns the string representation.
  6761  //
  6762  // API parameter values that are decorated as "sensitive" in the API will not
  6763  // be included in the string output. The member name will be present, but the
  6764  // value will be replaced with "sensitive".
  6765  func (s CreateFilterInput) String() string {
  6766  	return awsutil.Prettify(s)
  6767  }
  6768  
  6769  // GoString returns the string representation.
  6770  //
  6771  // API parameter values that are decorated as "sensitive" in the API will not
  6772  // be included in the string output. The member name will be present, but the
  6773  // value will be replaced with "sensitive".
  6774  func (s CreateFilterInput) GoString() string {
  6775  	return s.String()
  6776  }
  6777  
  6778  // Validate inspects the fields of the type to determine if they are valid.
  6779  func (s *CreateFilterInput) Validate() error {
  6780  	invalidParams := request.ErrInvalidParams{Context: "CreateFilterInput"}
  6781  	if s.Action != nil && len(*s.Action) < 1 {
  6782  		invalidParams.Add(request.NewErrParamMinLen("Action", 1))
  6783  	}
  6784  	if s.DetectorId == nil {
  6785  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  6786  	}
  6787  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  6788  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  6789  	}
  6790  	if s.FindingCriteria == nil {
  6791  		invalidParams.Add(request.NewErrParamRequired("FindingCriteria"))
  6792  	}
  6793  	if s.Name == nil {
  6794  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6795  	}
  6796  	if s.Name != nil && len(*s.Name) < 3 {
  6797  		invalidParams.Add(request.NewErrParamMinLen("Name", 3))
  6798  	}
  6799  	if s.Rank != nil && *s.Rank < 1 {
  6800  		invalidParams.Add(request.NewErrParamMinValue("Rank", 1))
  6801  	}
  6802  	if s.Tags != nil && len(s.Tags) < 1 {
  6803  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  6804  	}
  6805  
  6806  	if invalidParams.Len() > 0 {
  6807  		return invalidParams
  6808  	}
  6809  	return nil
  6810  }
  6811  
  6812  // SetAction sets the Action field's value.
  6813  func (s *CreateFilterInput) SetAction(v string) *CreateFilterInput {
  6814  	s.Action = &v
  6815  	return s
  6816  }
  6817  
  6818  // SetClientToken sets the ClientToken field's value.
  6819  func (s *CreateFilterInput) SetClientToken(v string) *CreateFilterInput {
  6820  	s.ClientToken = &v
  6821  	return s
  6822  }
  6823  
  6824  // SetDescription sets the Description field's value.
  6825  func (s *CreateFilterInput) SetDescription(v string) *CreateFilterInput {
  6826  	s.Description = &v
  6827  	return s
  6828  }
  6829  
  6830  // SetDetectorId sets the DetectorId field's value.
  6831  func (s *CreateFilterInput) SetDetectorId(v string) *CreateFilterInput {
  6832  	s.DetectorId = &v
  6833  	return s
  6834  }
  6835  
  6836  // SetFindingCriteria sets the FindingCriteria field's value.
  6837  func (s *CreateFilterInput) SetFindingCriteria(v *FindingCriteria) *CreateFilterInput {
  6838  	s.FindingCriteria = v
  6839  	return s
  6840  }
  6841  
  6842  // SetName sets the Name field's value.
  6843  func (s *CreateFilterInput) SetName(v string) *CreateFilterInput {
  6844  	s.Name = &v
  6845  	return s
  6846  }
  6847  
  6848  // SetRank sets the Rank field's value.
  6849  func (s *CreateFilterInput) SetRank(v int64) *CreateFilterInput {
  6850  	s.Rank = &v
  6851  	return s
  6852  }
  6853  
  6854  // SetTags sets the Tags field's value.
  6855  func (s *CreateFilterInput) SetTags(v map[string]*string) *CreateFilterInput {
  6856  	s.Tags = v
  6857  	return s
  6858  }
  6859  
  6860  type CreateFilterOutput struct {
  6861  	_ struct{} `type:"structure"`
  6862  
  6863  	// The name of the successfully created filter.
  6864  	//
  6865  	// Name is a required field
  6866  	Name *string `locationName:"name" min:"3" type:"string" required:"true"`
  6867  }
  6868  
  6869  // String returns the string representation.
  6870  //
  6871  // API parameter values that are decorated as "sensitive" in the API will not
  6872  // be included in the string output. The member name will be present, but the
  6873  // value will be replaced with "sensitive".
  6874  func (s CreateFilterOutput) String() string {
  6875  	return awsutil.Prettify(s)
  6876  }
  6877  
  6878  // GoString returns the string representation.
  6879  //
  6880  // API parameter values that are decorated as "sensitive" in the API will not
  6881  // be included in the string output. The member name will be present, but the
  6882  // value will be replaced with "sensitive".
  6883  func (s CreateFilterOutput) GoString() string {
  6884  	return s.String()
  6885  }
  6886  
  6887  // SetName sets the Name field's value.
  6888  func (s *CreateFilterOutput) SetName(v string) *CreateFilterOutput {
  6889  	s.Name = &v
  6890  	return s
  6891  }
  6892  
  6893  type CreateIPSetInput struct {
  6894  	_ struct{} `type:"structure"`
  6895  
  6896  	// A Boolean value that indicates whether GuardDuty is to start using the uploaded
  6897  	// IPSet.
  6898  	//
  6899  	// Activate is a required field
  6900  	Activate *bool `locationName:"activate" type:"boolean" required:"true"`
  6901  
  6902  	// The idempotency token for the create request.
  6903  	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
  6904  
  6905  	// The unique ID of the detector of the GuardDuty account that you want to create
  6906  	// an IPSet for.
  6907  	//
  6908  	// DetectorId is a required field
  6909  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  6910  
  6911  	// The format of the file that contains the IPSet.
  6912  	//
  6913  	// Format is a required field
  6914  	Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"IpSetFormat"`
  6915  
  6916  	// The URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
  6917  	//
  6918  	// Location is a required field
  6919  	Location *string `locationName:"location" min:"1" type:"string" required:"true"`
  6920  
  6921  	// The user-friendly name to identify the IPSet.
  6922  	//
  6923  	// Allowed characters are alphanumerics, spaces, hyphens (-), and underscores
  6924  	// (_).
  6925  	//
  6926  	// Name is a required field
  6927  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  6928  
  6929  	// The tags to be added to a new IP set resource.
  6930  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  6931  }
  6932  
  6933  // String returns the string representation.
  6934  //
  6935  // API parameter values that are decorated as "sensitive" in the API will not
  6936  // be included in the string output. The member name will be present, but the
  6937  // value will be replaced with "sensitive".
  6938  func (s CreateIPSetInput) String() string {
  6939  	return awsutil.Prettify(s)
  6940  }
  6941  
  6942  // GoString returns the string representation.
  6943  //
  6944  // API parameter values that are decorated as "sensitive" in the API will not
  6945  // be included in the string output. The member name will be present, but the
  6946  // value will be replaced with "sensitive".
  6947  func (s CreateIPSetInput) GoString() string {
  6948  	return s.String()
  6949  }
  6950  
  6951  // Validate inspects the fields of the type to determine if they are valid.
  6952  func (s *CreateIPSetInput) Validate() error {
  6953  	invalidParams := request.ErrInvalidParams{Context: "CreateIPSetInput"}
  6954  	if s.Activate == nil {
  6955  		invalidParams.Add(request.NewErrParamRequired("Activate"))
  6956  	}
  6957  	if s.DetectorId == nil {
  6958  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  6959  	}
  6960  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  6961  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  6962  	}
  6963  	if s.Format == nil {
  6964  		invalidParams.Add(request.NewErrParamRequired("Format"))
  6965  	}
  6966  	if s.Format != nil && len(*s.Format) < 1 {
  6967  		invalidParams.Add(request.NewErrParamMinLen("Format", 1))
  6968  	}
  6969  	if s.Location == nil {
  6970  		invalidParams.Add(request.NewErrParamRequired("Location"))
  6971  	}
  6972  	if s.Location != nil && len(*s.Location) < 1 {
  6973  		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
  6974  	}
  6975  	if s.Name == nil {
  6976  		invalidParams.Add(request.NewErrParamRequired("Name"))
  6977  	}
  6978  	if s.Name != nil && len(*s.Name) < 1 {
  6979  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  6980  	}
  6981  	if s.Tags != nil && len(s.Tags) < 1 {
  6982  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  6983  	}
  6984  
  6985  	if invalidParams.Len() > 0 {
  6986  		return invalidParams
  6987  	}
  6988  	return nil
  6989  }
  6990  
  6991  // SetActivate sets the Activate field's value.
  6992  func (s *CreateIPSetInput) SetActivate(v bool) *CreateIPSetInput {
  6993  	s.Activate = &v
  6994  	return s
  6995  }
  6996  
  6997  // SetClientToken sets the ClientToken field's value.
  6998  func (s *CreateIPSetInput) SetClientToken(v string) *CreateIPSetInput {
  6999  	s.ClientToken = &v
  7000  	return s
  7001  }
  7002  
  7003  // SetDetectorId sets the DetectorId field's value.
  7004  func (s *CreateIPSetInput) SetDetectorId(v string) *CreateIPSetInput {
  7005  	s.DetectorId = &v
  7006  	return s
  7007  }
  7008  
  7009  // SetFormat sets the Format field's value.
  7010  func (s *CreateIPSetInput) SetFormat(v string) *CreateIPSetInput {
  7011  	s.Format = &v
  7012  	return s
  7013  }
  7014  
  7015  // SetLocation sets the Location field's value.
  7016  func (s *CreateIPSetInput) SetLocation(v string) *CreateIPSetInput {
  7017  	s.Location = &v
  7018  	return s
  7019  }
  7020  
  7021  // SetName sets the Name field's value.
  7022  func (s *CreateIPSetInput) SetName(v string) *CreateIPSetInput {
  7023  	s.Name = &v
  7024  	return s
  7025  }
  7026  
  7027  // SetTags sets the Tags field's value.
  7028  func (s *CreateIPSetInput) SetTags(v map[string]*string) *CreateIPSetInput {
  7029  	s.Tags = v
  7030  	return s
  7031  }
  7032  
  7033  type CreateIPSetOutput struct {
  7034  	_ struct{} `type:"structure"`
  7035  
  7036  	// The ID of the IPSet resource.
  7037  	//
  7038  	// IpSetId is a required field
  7039  	IpSetId *string `locationName:"ipSetId" type:"string" required:"true"`
  7040  }
  7041  
  7042  // String returns the string representation.
  7043  //
  7044  // API parameter values that are decorated as "sensitive" in the API will not
  7045  // be included in the string output. The member name will be present, but the
  7046  // value will be replaced with "sensitive".
  7047  func (s CreateIPSetOutput) String() string {
  7048  	return awsutil.Prettify(s)
  7049  }
  7050  
  7051  // GoString returns the string representation.
  7052  //
  7053  // API parameter values that are decorated as "sensitive" in the API will not
  7054  // be included in the string output. The member name will be present, but the
  7055  // value will be replaced with "sensitive".
  7056  func (s CreateIPSetOutput) GoString() string {
  7057  	return s.String()
  7058  }
  7059  
  7060  // SetIpSetId sets the IpSetId field's value.
  7061  func (s *CreateIPSetOutput) SetIpSetId(v string) *CreateIPSetOutput {
  7062  	s.IpSetId = &v
  7063  	return s
  7064  }
  7065  
  7066  type CreateMembersInput struct {
  7067  	_ struct{} `type:"structure"`
  7068  
  7069  	// A list of account ID and email address pairs of the accounts that you want
  7070  	// to associate with the GuardDuty administrator account.
  7071  	//
  7072  	// AccountDetails is a required field
  7073  	AccountDetails []*AccountDetail `locationName:"accountDetails" min:"1" type:"list" required:"true"`
  7074  
  7075  	// The unique ID of the detector of the GuardDuty account that you want to associate
  7076  	// member accounts with.
  7077  	//
  7078  	// DetectorId is a required field
  7079  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  7080  }
  7081  
  7082  // String returns the string representation.
  7083  //
  7084  // API parameter values that are decorated as "sensitive" in the API will not
  7085  // be included in the string output. The member name will be present, but the
  7086  // value will be replaced with "sensitive".
  7087  func (s CreateMembersInput) String() string {
  7088  	return awsutil.Prettify(s)
  7089  }
  7090  
  7091  // GoString returns the string representation.
  7092  //
  7093  // API parameter values that are decorated as "sensitive" in the API will not
  7094  // be included in the string output. The member name will be present, but the
  7095  // value will be replaced with "sensitive".
  7096  func (s CreateMembersInput) GoString() string {
  7097  	return s.String()
  7098  }
  7099  
  7100  // Validate inspects the fields of the type to determine if they are valid.
  7101  func (s *CreateMembersInput) Validate() error {
  7102  	invalidParams := request.ErrInvalidParams{Context: "CreateMembersInput"}
  7103  	if s.AccountDetails == nil {
  7104  		invalidParams.Add(request.NewErrParamRequired("AccountDetails"))
  7105  	}
  7106  	if s.AccountDetails != nil && len(s.AccountDetails) < 1 {
  7107  		invalidParams.Add(request.NewErrParamMinLen("AccountDetails", 1))
  7108  	}
  7109  	if s.DetectorId == nil {
  7110  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  7111  	}
  7112  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  7113  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  7114  	}
  7115  	if s.AccountDetails != nil {
  7116  		for i, v := range s.AccountDetails {
  7117  			if v == nil {
  7118  				continue
  7119  			}
  7120  			if err := v.Validate(); err != nil {
  7121  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "AccountDetails", i), err.(request.ErrInvalidParams))
  7122  			}
  7123  		}
  7124  	}
  7125  
  7126  	if invalidParams.Len() > 0 {
  7127  		return invalidParams
  7128  	}
  7129  	return nil
  7130  }
  7131  
  7132  // SetAccountDetails sets the AccountDetails field's value.
  7133  func (s *CreateMembersInput) SetAccountDetails(v []*AccountDetail) *CreateMembersInput {
  7134  	s.AccountDetails = v
  7135  	return s
  7136  }
  7137  
  7138  // SetDetectorId sets the DetectorId field's value.
  7139  func (s *CreateMembersInput) SetDetectorId(v string) *CreateMembersInput {
  7140  	s.DetectorId = &v
  7141  	return s
  7142  }
  7143  
  7144  type CreateMembersOutput struct {
  7145  	_ struct{} `type:"structure"`
  7146  
  7147  	// A list of objects that include the accountIds of the unprocessed accounts
  7148  	// and a result string that explains why each was unprocessed.
  7149  	//
  7150  	// UnprocessedAccounts is a required field
  7151  	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
  7152  }
  7153  
  7154  // String returns the string representation.
  7155  //
  7156  // API parameter values that are decorated as "sensitive" in the API will not
  7157  // be included in the string output. The member name will be present, but the
  7158  // value will be replaced with "sensitive".
  7159  func (s CreateMembersOutput) String() string {
  7160  	return awsutil.Prettify(s)
  7161  }
  7162  
  7163  // GoString returns the string representation.
  7164  //
  7165  // API parameter values that are decorated as "sensitive" in the API will not
  7166  // be included in the string output. The member name will be present, but the
  7167  // value will be replaced with "sensitive".
  7168  func (s CreateMembersOutput) GoString() string {
  7169  	return s.String()
  7170  }
  7171  
  7172  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
  7173  func (s *CreateMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *CreateMembersOutput {
  7174  	s.UnprocessedAccounts = v
  7175  	return s
  7176  }
  7177  
  7178  type CreatePublishingDestinationInput struct {
  7179  	_ struct{} `type:"structure"`
  7180  
  7181  	// The idempotency token for the request.
  7182  	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
  7183  
  7184  	// The properties of the publishing destination, including the ARNs for the
  7185  	// destination and the KMS key used for encryption.
  7186  	//
  7187  	// DestinationProperties is a required field
  7188  	DestinationProperties *DestinationProperties `locationName:"destinationProperties" type:"structure" required:"true"`
  7189  
  7190  	// The type of resource for the publishing destination. Currently only Amazon
  7191  	// S3 buckets are supported.
  7192  	//
  7193  	// DestinationType is a required field
  7194  	DestinationType *string `locationName:"destinationType" min:"1" type:"string" required:"true" enum:"DestinationType"`
  7195  
  7196  	// The ID of the GuardDuty detector associated with the publishing destination.
  7197  	//
  7198  	// DetectorId is a required field
  7199  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  7200  }
  7201  
  7202  // String returns the string representation.
  7203  //
  7204  // API parameter values that are decorated as "sensitive" in the API will not
  7205  // be included in the string output. The member name will be present, but the
  7206  // value will be replaced with "sensitive".
  7207  func (s CreatePublishingDestinationInput) String() string {
  7208  	return awsutil.Prettify(s)
  7209  }
  7210  
  7211  // GoString returns the string representation.
  7212  //
  7213  // API parameter values that are decorated as "sensitive" in the API will not
  7214  // be included in the string output. The member name will be present, but the
  7215  // value will be replaced with "sensitive".
  7216  func (s CreatePublishingDestinationInput) GoString() string {
  7217  	return s.String()
  7218  }
  7219  
  7220  // Validate inspects the fields of the type to determine if they are valid.
  7221  func (s *CreatePublishingDestinationInput) Validate() error {
  7222  	invalidParams := request.ErrInvalidParams{Context: "CreatePublishingDestinationInput"}
  7223  	if s.DestinationProperties == nil {
  7224  		invalidParams.Add(request.NewErrParamRequired("DestinationProperties"))
  7225  	}
  7226  	if s.DestinationType == nil {
  7227  		invalidParams.Add(request.NewErrParamRequired("DestinationType"))
  7228  	}
  7229  	if s.DestinationType != nil && len(*s.DestinationType) < 1 {
  7230  		invalidParams.Add(request.NewErrParamMinLen("DestinationType", 1))
  7231  	}
  7232  	if s.DetectorId == nil {
  7233  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  7234  	}
  7235  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  7236  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  7237  	}
  7238  
  7239  	if invalidParams.Len() > 0 {
  7240  		return invalidParams
  7241  	}
  7242  	return nil
  7243  }
  7244  
  7245  // SetClientToken sets the ClientToken field's value.
  7246  func (s *CreatePublishingDestinationInput) SetClientToken(v string) *CreatePublishingDestinationInput {
  7247  	s.ClientToken = &v
  7248  	return s
  7249  }
  7250  
  7251  // SetDestinationProperties sets the DestinationProperties field's value.
  7252  func (s *CreatePublishingDestinationInput) SetDestinationProperties(v *DestinationProperties) *CreatePublishingDestinationInput {
  7253  	s.DestinationProperties = v
  7254  	return s
  7255  }
  7256  
  7257  // SetDestinationType sets the DestinationType field's value.
  7258  func (s *CreatePublishingDestinationInput) SetDestinationType(v string) *CreatePublishingDestinationInput {
  7259  	s.DestinationType = &v
  7260  	return s
  7261  }
  7262  
  7263  // SetDetectorId sets the DetectorId field's value.
  7264  func (s *CreatePublishingDestinationInput) SetDetectorId(v string) *CreatePublishingDestinationInput {
  7265  	s.DetectorId = &v
  7266  	return s
  7267  }
  7268  
  7269  type CreatePublishingDestinationOutput struct {
  7270  	_ struct{} `type:"structure"`
  7271  
  7272  	// The ID of the publishing destination that is created.
  7273  	//
  7274  	// DestinationId is a required field
  7275  	DestinationId *string `locationName:"destinationId" type:"string" required:"true"`
  7276  }
  7277  
  7278  // String returns the string representation.
  7279  //
  7280  // API parameter values that are decorated as "sensitive" in the API will not
  7281  // be included in the string output. The member name will be present, but the
  7282  // value will be replaced with "sensitive".
  7283  func (s CreatePublishingDestinationOutput) String() string {
  7284  	return awsutil.Prettify(s)
  7285  }
  7286  
  7287  // GoString returns the string representation.
  7288  //
  7289  // API parameter values that are decorated as "sensitive" in the API will not
  7290  // be included in the string output. The member name will be present, but the
  7291  // value will be replaced with "sensitive".
  7292  func (s CreatePublishingDestinationOutput) GoString() string {
  7293  	return s.String()
  7294  }
  7295  
  7296  // SetDestinationId sets the DestinationId field's value.
  7297  func (s *CreatePublishingDestinationOutput) SetDestinationId(v string) *CreatePublishingDestinationOutput {
  7298  	s.DestinationId = &v
  7299  	return s
  7300  }
  7301  
  7302  type CreateSampleFindingsInput struct {
  7303  	_ struct{} `type:"structure"`
  7304  
  7305  	// The ID of the detector to create sample findings for.
  7306  	//
  7307  	// DetectorId is a required field
  7308  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  7309  
  7310  	// The types of sample findings to generate.
  7311  	FindingTypes []*string `locationName:"findingTypes" type:"list"`
  7312  }
  7313  
  7314  // String returns the string representation.
  7315  //
  7316  // API parameter values that are decorated as "sensitive" in the API will not
  7317  // be included in the string output. The member name will be present, but the
  7318  // value will be replaced with "sensitive".
  7319  func (s CreateSampleFindingsInput) String() string {
  7320  	return awsutil.Prettify(s)
  7321  }
  7322  
  7323  // GoString returns the string representation.
  7324  //
  7325  // API parameter values that are decorated as "sensitive" in the API will not
  7326  // be included in the string output. The member name will be present, but the
  7327  // value will be replaced with "sensitive".
  7328  func (s CreateSampleFindingsInput) GoString() string {
  7329  	return s.String()
  7330  }
  7331  
  7332  // Validate inspects the fields of the type to determine if they are valid.
  7333  func (s *CreateSampleFindingsInput) Validate() error {
  7334  	invalidParams := request.ErrInvalidParams{Context: "CreateSampleFindingsInput"}
  7335  	if s.DetectorId == nil {
  7336  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  7337  	}
  7338  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  7339  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  7340  	}
  7341  
  7342  	if invalidParams.Len() > 0 {
  7343  		return invalidParams
  7344  	}
  7345  	return nil
  7346  }
  7347  
  7348  // SetDetectorId sets the DetectorId field's value.
  7349  func (s *CreateSampleFindingsInput) SetDetectorId(v string) *CreateSampleFindingsInput {
  7350  	s.DetectorId = &v
  7351  	return s
  7352  }
  7353  
  7354  // SetFindingTypes sets the FindingTypes field's value.
  7355  func (s *CreateSampleFindingsInput) SetFindingTypes(v []*string) *CreateSampleFindingsInput {
  7356  	s.FindingTypes = v
  7357  	return s
  7358  }
  7359  
  7360  type CreateSampleFindingsOutput struct {
  7361  	_ struct{} `type:"structure" nopayload:"true"`
  7362  }
  7363  
  7364  // String returns the string representation.
  7365  //
  7366  // API parameter values that are decorated as "sensitive" in the API will not
  7367  // be included in the string output. The member name will be present, but the
  7368  // value will be replaced with "sensitive".
  7369  func (s CreateSampleFindingsOutput) String() string {
  7370  	return awsutil.Prettify(s)
  7371  }
  7372  
  7373  // GoString returns the string representation.
  7374  //
  7375  // API parameter values that are decorated as "sensitive" in the API will not
  7376  // be included in the string output. The member name will be present, but the
  7377  // value will be replaced with "sensitive".
  7378  func (s CreateSampleFindingsOutput) GoString() string {
  7379  	return s.String()
  7380  }
  7381  
  7382  type CreateThreatIntelSetInput struct {
  7383  	_ struct{} `type:"structure"`
  7384  
  7385  	// A Boolean value that indicates whether GuardDuty is to start using the uploaded
  7386  	// ThreatIntelSet.
  7387  	//
  7388  	// Activate is a required field
  7389  	Activate *bool `locationName:"activate" type:"boolean" required:"true"`
  7390  
  7391  	// The idempotency token for the create request.
  7392  	ClientToken *string `locationName:"clientToken" type:"string" idempotencyToken:"true"`
  7393  
  7394  	// The unique ID of the detector of the GuardDuty account that you want to create
  7395  	// a threatIntelSet for.
  7396  	//
  7397  	// DetectorId is a required field
  7398  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  7399  
  7400  	// The format of the file that contains the ThreatIntelSet.
  7401  	//
  7402  	// Format is a required field
  7403  	Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"ThreatIntelSetFormat"`
  7404  
  7405  	// The URI of the file that contains the ThreatIntelSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
  7406  	//
  7407  	// Location is a required field
  7408  	Location *string `locationName:"location" min:"1" type:"string" required:"true"`
  7409  
  7410  	// A user-friendly ThreatIntelSet name displayed in all findings that are generated
  7411  	// by activity that involves IP addresses included in this ThreatIntelSet.
  7412  	//
  7413  	// Name is a required field
  7414  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
  7415  
  7416  	// The tags to be added to a new threat list resource.
  7417  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  7418  }
  7419  
  7420  // String returns the string representation.
  7421  //
  7422  // API parameter values that are decorated as "sensitive" in the API will not
  7423  // be included in the string output. The member name will be present, but the
  7424  // value will be replaced with "sensitive".
  7425  func (s CreateThreatIntelSetInput) String() string {
  7426  	return awsutil.Prettify(s)
  7427  }
  7428  
  7429  // GoString returns the string representation.
  7430  //
  7431  // API parameter values that are decorated as "sensitive" in the API will not
  7432  // be included in the string output. The member name will be present, but the
  7433  // value will be replaced with "sensitive".
  7434  func (s CreateThreatIntelSetInput) GoString() string {
  7435  	return s.String()
  7436  }
  7437  
  7438  // Validate inspects the fields of the type to determine if they are valid.
  7439  func (s *CreateThreatIntelSetInput) Validate() error {
  7440  	invalidParams := request.ErrInvalidParams{Context: "CreateThreatIntelSetInput"}
  7441  	if s.Activate == nil {
  7442  		invalidParams.Add(request.NewErrParamRequired("Activate"))
  7443  	}
  7444  	if s.DetectorId == nil {
  7445  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  7446  	}
  7447  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  7448  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  7449  	}
  7450  	if s.Format == nil {
  7451  		invalidParams.Add(request.NewErrParamRequired("Format"))
  7452  	}
  7453  	if s.Format != nil && len(*s.Format) < 1 {
  7454  		invalidParams.Add(request.NewErrParamMinLen("Format", 1))
  7455  	}
  7456  	if s.Location == nil {
  7457  		invalidParams.Add(request.NewErrParamRequired("Location"))
  7458  	}
  7459  	if s.Location != nil && len(*s.Location) < 1 {
  7460  		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
  7461  	}
  7462  	if s.Name == nil {
  7463  		invalidParams.Add(request.NewErrParamRequired("Name"))
  7464  	}
  7465  	if s.Name != nil && len(*s.Name) < 1 {
  7466  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
  7467  	}
  7468  	if s.Tags != nil && len(s.Tags) < 1 {
  7469  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  7470  	}
  7471  
  7472  	if invalidParams.Len() > 0 {
  7473  		return invalidParams
  7474  	}
  7475  	return nil
  7476  }
  7477  
  7478  // SetActivate sets the Activate field's value.
  7479  func (s *CreateThreatIntelSetInput) SetActivate(v bool) *CreateThreatIntelSetInput {
  7480  	s.Activate = &v
  7481  	return s
  7482  }
  7483  
  7484  // SetClientToken sets the ClientToken field's value.
  7485  func (s *CreateThreatIntelSetInput) SetClientToken(v string) *CreateThreatIntelSetInput {
  7486  	s.ClientToken = &v
  7487  	return s
  7488  }
  7489  
  7490  // SetDetectorId sets the DetectorId field's value.
  7491  func (s *CreateThreatIntelSetInput) SetDetectorId(v string) *CreateThreatIntelSetInput {
  7492  	s.DetectorId = &v
  7493  	return s
  7494  }
  7495  
  7496  // SetFormat sets the Format field's value.
  7497  func (s *CreateThreatIntelSetInput) SetFormat(v string) *CreateThreatIntelSetInput {
  7498  	s.Format = &v
  7499  	return s
  7500  }
  7501  
  7502  // SetLocation sets the Location field's value.
  7503  func (s *CreateThreatIntelSetInput) SetLocation(v string) *CreateThreatIntelSetInput {
  7504  	s.Location = &v
  7505  	return s
  7506  }
  7507  
  7508  // SetName sets the Name field's value.
  7509  func (s *CreateThreatIntelSetInput) SetName(v string) *CreateThreatIntelSetInput {
  7510  	s.Name = &v
  7511  	return s
  7512  }
  7513  
  7514  // SetTags sets the Tags field's value.
  7515  func (s *CreateThreatIntelSetInput) SetTags(v map[string]*string) *CreateThreatIntelSetInput {
  7516  	s.Tags = v
  7517  	return s
  7518  }
  7519  
  7520  type CreateThreatIntelSetOutput struct {
  7521  	_ struct{} `type:"structure"`
  7522  
  7523  	// The ID of the ThreatIntelSet resource.
  7524  	//
  7525  	// ThreatIntelSetId is a required field
  7526  	ThreatIntelSetId *string `locationName:"threatIntelSetId" type:"string" required:"true"`
  7527  }
  7528  
  7529  // String returns the string representation.
  7530  //
  7531  // API parameter values that are decorated as "sensitive" in the API will not
  7532  // be included in the string output. The member name will be present, but the
  7533  // value will be replaced with "sensitive".
  7534  func (s CreateThreatIntelSetOutput) String() string {
  7535  	return awsutil.Prettify(s)
  7536  }
  7537  
  7538  // GoString returns the string representation.
  7539  //
  7540  // API parameter values that are decorated as "sensitive" in the API will not
  7541  // be included in the string output. The member name will be present, but the
  7542  // value will be replaced with "sensitive".
  7543  func (s CreateThreatIntelSetOutput) GoString() string {
  7544  	return s.String()
  7545  }
  7546  
  7547  // SetThreatIntelSetId sets the ThreatIntelSetId field's value.
  7548  func (s *CreateThreatIntelSetOutput) SetThreatIntelSetId(v string) *CreateThreatIntelSetOutput {
  7549  	s.ThreatIntelSetId = &v
  7550  	return s
  7551  }
  7552  
  7553  // Contains information on the status of DNS logs as a data source.
  7554  type DNSLogsConfigurationResult struct {
  7555  	_ struct{} `type:"structure"`
  7556  
  7557  	// Denotes whether DNS logs is enabled as a data source.
  7558  	//
  7559  	// Status is a required field
  7560  	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"`
  7561  }
  7562  
  7563  // String returns the string representation.
  7564  //
  7565  // API parameter values that are decorated as "sensitive" in the API will not
  7566  // be included in the string output. The member name will be present, but the
  7567  // value will be replaced with "sensitive".
  7568  func (s DNSLogsConfigurationResult) String() string {
  7569  	return awsutil.Prettify(s)
  7570  }
  7571  
  7572  // GoString returns the string representation.
  7573  //
  7574  // API parameter values that are decorated as "sensitive" in the API will not
  7575  // be included in the string output. The member name will be present, but the
  7576  // value will be replaced with "sensitive".
  7577  func (s DNSLogsConfigurationResult) GoString() string {
  7578  	return s.String()
  7579  }
  7580  
  7581  // SetStatus sets the Status field's value.
  7582  func (s *DNSLogsConfigurationResult) SetStatus(v string) *DNSLogsConfigurationResult {
  7583  	s.Status = &v
  7584  	return s
  7585  }
  7586  
  7587  // Contains information about which data sources are enabled.
  7588  type DataSourceConfigurations struct {
  7589  	_ struct{} `type:"structure"`
  7590  
  7591  	// Describes whether S3 data event logs are enabled as a data source.
  7592  	S3Logs *S3LogsConfiguration `locationName:"s3Logs" type:"structure"`
  7593  }
  7594  
  7595  // String returns the string representation.
  7596  //
  7597  // API parameter values that are decorated as "sensitive" in the API will not
  7598  // be included in the string output. The member name will be present, but the
  7599  // value will be replaced with "sensitive".
  7600  func (s DataSourceConfigurations) String() string {
  7601  	return awsutil.Prettify(s)
  7602  }
  7603  
  7604  // GoString returns the string representation.
  7605  //
  7606  // API parameter values that are decorated as "sensitive" in the API will not
  7607  // be included in the string output. The member name will be present, but the
  7608  // value will be replaced with "sensitive".
  7609  func (s DataSourceConfigurations) GoString() string {
  7610  	return s.String()
  7611  }
  7612  
  7613  // Validate inspects the fields of the type to determine if they are valid.
  7614  func (s *DataSourceConfigurations) Validate() error {
  7615  	invalidParams := request.ErrInvalidParams{Context: "DataSourceConfigurations"}
  7616  	if s.S3Logs != nil {
  7617  		if err := s.S3Logs.Validate(); err != nil {
  7618  			invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams))
  7619  		}
  7620  	}
  7621  
  7622  	if invalidParams.Len() > 0 {
  7623  		return invalidParams
  7624  	}
  7625  	return nil
  7626  }
  7627  
  7628  // SetS3Logs sets the S3Logs field's value.
  7629  func (s *DataSourceConfigurations) SetS3Logs(v *S3LogsConfiguration) *DataSourceConfigurations {
  7630  	s.S3Logs = v
  7631  	return s
  7632  }
  7633  
  7634  // Contains information on the status of data sources for the detector.
  7635  type DataSourceConfigurationsResult struct {
  7636  	_ struct{} `type:"structure"`
  7637  
  7638  	// An object that contains information on the status of CloudTrail as a data
  7639  	// source.
  7640  	//
  7641  	// CloudTrail is a required field
  7642  	CloudTrail *CloudTrailConfigurationResult `locationName:"cloudTrail" type:"structure" required:"true"`
  7643  
  7644  	// An object that contains information on the status of DNS logs as a data source.
  7645  	//
  7646  	// DNSLogs is a required field
  7647  	DNSLogs *DNSLogsConfigurationResult `locationName:"dnsLogs" type:"structure" required:"true"`
  7648  
  7649  	// An object that contains information on the status of VPC flow logs as a data
  7650  	// source.
  7651  	//
  7652  	// FlowLogs is a required field
  7653  	FlowLogs *FlowLogsConfigurationResult `locationName:"flowLogs" type:"structure" required:"true"`
  7654  
  7655  	// An object that contains information on the status of S3 Data event logs as
  7656  	// a data source.
  7657  	//
  7658  	// S3Logs is a required field
  7659  	S3Logs *S3LogsConfigurationResult `locationName:"s3Logs" type:"structure" required:"true"`
  7660  }
  7661  
  7662  // String returns the string representation.
  7663  //
  7664  // API parameter values that are decorated as "sensitive" in the API will not
  7665  // be included in the string output. The member name will be present, but the
  7666  // value will be replaced with "sensitive".
  7667  func (s DataSourceConfigurationsResult) String() string {
  7668  	return awsutil.Prettify(s)
  7669  }
  7670  
  7671  // GoString returns the string representation.
  7672  //
  7673  // API parameter values that are decorated as "sensitive" in the API will not
  7674  // be included in the string output. The member name will be present, but the
  7675  // value will be replaced with "sensitive".
  7676  func (s DataSourceConfigurationsResult) GoString() string {
  7677  	return s.String()
  7678  }
  7679  
  7680  // SetCloudTrail sets the CloudTrail field's value.
  7681  func (s *DataSourceConfigurationsResult) SetCloudTrail(v *CloudTrailConfigurationResult) *DataSourceConfigurationsResult {
  7682  	s.CloudTrail = v
  7683  	return s
  7684  }
  7685  
  7686  // SetDNSLogs sets the DNSLogs field's value.
  7687  func (s *DataSourceConfigurationsResult) SetDNSLogs(v *DNSLogsConfigurationResult) *DataSourceConfigurationsResult {
  7688  	s.DNSLogs = v
  7689  	return s
  7690  }
  7691  
  7692  // SetFlowLogs sets the FlowLogs field's value.
  7693  func (s *DataSourceConfigurationsResult) SetFlowLogs(v *FlowLogsConfigurationResult) *DataSourceConfigurationsResult {
  7694  	s.FlowLogs = v
  7695  	return s
  7696  }
  7697  
  7698  // SetS3Logs sets the S3Logs field's value.
  7699  func (s *DataSourceConfigurationsResult) SetS3Logs(v *S3LogsConfigurationResult) *DataSourceConfigurationsResult {
  7700  	s.S3Logs = v
  7701  	return s
  7702  }
  7703  
  7704  type DeclineInvitationsInput struct {
  7705  	_ struct{} `type:"structure"`
  7706  
  7707  	// A list of account IDs of the AWS accounts that sent invitations to the current
  7708  	// member account that you want to decline invitations from.
  7709  	//
  7710  	// AccountIds is a required field
  7711  	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
  7712  }
  7713  
  7714  // String returns the string representation.
  7715  //
  7716  // API parameter values that are decorated as "sensitive" in the API will not
  7717  // be included in the string output. The member name will be present, but the
  7718  // value will be replaced with "sensitive".
  7719  func (s DeclineInvitationsInput) String() string {
  7720  	return awsutil.Prettify(s)
  7721  }
  7722  
  7723  // GoString returns the string representation.
  7724  //
  7725  // API parameter values that are decorated as "sensitive" in the API will not
  7726  // be included in the string output. The member name will be present, but the
  7727  // value will be replaced with "sensitive".
  7728  func (s DeclineInvitationsInput) GoString() string {
  7729  	return s.String()
  7730  }
  7731  
  7732  // Validate inspects the fields of the type to determine if they are valid.
  7733  func (s *DeclineInvitationsInput) Validate() error {
  7734  	invalidParams := request.ErrInvalidParams{Context: "DeclineInvitationsInput"}
  7735  	if s.AccountIds == nil {
  7736  		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
  7737  	}
  7738  	if s.AccountIds != nil && len(s.AccountIds) < 1 {
  7739  		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
  7740  	}
  7741  
  7742  	if invalidParams.Len() > 0 {
  7743  		return invalidParams
  7744  	}
  7745  	return nil
  7746  }
  7747  
  7748  // SetAccountIds sets the AccountIds field's value.
  7749  func (s *DeclineInvitationsInput) SetAccountIds(v []*string) *DeclineInvitationsInput {
  7750  	s.AccountIds = v
  7751  	return s
  7752  }
  7753  
  7754  type DeclineInvitationsOutput struct {
  7755  	_ struct{} `type:"structure"`
  7756  
  7757  	// A list of objects that contain the unprocessed account and a result string
  7758  	// that explains why it was unprocessed.
  7759  	//
  7760  	// UnprocessedAccounts is a required field
  7761  	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
  7762  }
  7763  
  7764  // String returns the string representation.
  7765  //
  7766  // API parameter values that are decorated as "sensitive" in the API will not
  7767  // be included in the string output. The member name will be present, but the
  7768  // value will be replaced with "sensitive".
  7769  func (s DeclineInvitationsOutput) String() string {
  7770  	return awsutil.Prettify(s)
  7771  }
  7772  
  7773  // GoString returns the string representation.
  7774  //
  7775  // API parameter values that are decorated as "sensitive" in the API will not
  7776  // be included in the string output. The member name will be present, but the
  7777  // value will be replaced with "sensitive".
  7778  func (s DeclineInvitationsOutput) GoString() string {
  7779  	return s.String()
  7780  }
  7781  
  7782  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
  7783  func (s *DeclineInvitationsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DeclineInvitationsOutput {
  7784  	s.UnprocessedAccounts = v
  7785  	return s
  7786  }
  7787  
  7788  // Contains information on the server side encryption method used in the S3
  7789  // bucket. See S3 Server-Side Encryption (https://docs.aws.amazon.com/AmazonS3/latest/dev/serv-side-encryption.html)
  7790  // for more information.
  7791  type DefaultServerSideEncryption struct {
  7792  	_ struct{} `type:"structure"`
  7793  
  7794  	// The type of encryption used for objects within the S3 bucket.
  7795  	EncryptionType *string `locationName:"encryptionType" type:"string"`
  7796  
  7797  	// The Amazon Resource Name (ARN) of the KMS encryption key. Only available
  7798  	// if the bucket EncryptionType is aws:kms.
  7799  	KmsMasterKeyArn *string `locationName:"kmsMasterKeyArn" type:"string"`
  7800  }
  7801  
  7802  // String returns the string representation.
  7803  //
  7804  // API parameter values that are decorated as "sensitive" in the API will not
  7805  // be included in the string output. The member name will be present, but the
  7806  // value will be replaced with "sensitive".
  7807  func (s DefaultServerSideEncryption) String() string {
  7808  	return awsutil.Prettify(s)
  7809  }
  7810  
  7811  // GoString returns the string representation.
  7812  //
  7813  // API parameter values that are decorated as "sensitive" in the API will not
  7814  // be included in the string output. The member name will be present, but the
  7815  // value will be replaced with "sensitive".
  7816  func (s DefaultServerSideEncryption) GoString() string {
  7817  	return s.String()
  7818  }
  7819  
  7820  // SetEncryptionType sets the EncryptionType field's value.
  7821  func (s *DefaultServerSideEncryption) SetEncryptionType(v string) *DefaultServerSideEncryption {
  7822  	s.EncryptionType = &v
  7823  	return s
  7824  }
  7825  
  7826  // SetKmsMasterKeyArn sets the KmsMasterKeyArn field's value.
  7827  func (s *DefaultServerSideEncryption) SetKmsMasterKeyArn(v string) *DefaultServerSideEncryption {
  7828  	s.KmsMasterKeyArn = &v
  7829  	return s
  7830  }
  7831  
  7832  type DeleteDetectorInput struct {
  7833  	_ struct{} `type:"structure" nopayload:"true"`
  7834  
  7835  	// The unique ID of the detector that you want to delete.
  7836  	//
  7837  	// DetectorId is a required field
  7838  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  7839  }
  7840  
  7841  // String returns the string representation.
  7842  //
  7843  // API parameter values that are decorated as "sensitive" in the API will not
  7844  // be included in the string output. The member name will be present, but the
  7845  // value will be replaced with "sensitive".
  7846  func (s DeleteDetectorInput) String() string {
  7847  	return awsutil.Prettify(s)
  7848  }
  7849  
  7850  // GoString returns the string representation.
  7851  //
  7852  // API parameter values that are decorated as "sensitive" in the API will not
  7853  // be included in the string output. The member name will be present, but the
  7854  // value will be replaced with "sensitive".
  7855  func (s DeleteDetectorInput) GoString() string {
  7856  	return s.String()
  7857  }
  7858  
  7859  // Validate inspects the fields of the type to determine if they are valid.
  7860  func (s *DeleteDetectorInput) Validate() error {
  7861  	invalidParams := request.ErrInvalidParams{Context: "DeleteDetectorInput"}
  7862  	if s.DetectorId == nil {
  7863  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  7864  	}
  7865  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  7866  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  7867  	}
  7868  
  7869  	if invalidParams.Len() > 0 {
  7870  		return invalidParams
  7871  	}
  7872  	return nil
  7873  }
  7874  
  7875  // SetDetectorId sets the DetectorId field's value.
  7876  func (s *DeleteDetectorInput) SetDetectorId(v string) *DeleteDetectorInput {
  7877  	s.DetectorId = &v
  7878  	return s
  7879  }
  7880  
  7881  type DeleteDetectorOutput struct {
  7882  	_ struct{} `type:"structure" nopayload:"true"`
  7883  }
  7884  
  7885  // String returns the string representation.
  7886  //
  7887  // API parameter values that are decorated as "sensitive" in the API will not
  7888  // be included in the string output. The member name will be present, but the
  7889  // value will be replaced with "sensitive".
  7890  func (s DeleteDetectorOutput) String() string {
  7891  	return awsutil.Prettify(s)
  7892  }
  7893  
  7894  // GoString returns the string representation.
  7895  //
  7896  // API parameter values that are decorated as "sensitive" in the API will not
  7897  // be included in the string output. The member name will be present, but the
  7898  // value will be replaced with "sensitive".
  7899  func (s DeleteDetectorOutput) GoString() string {
  7900  	return s.String()
  7901  }
  7902  
  7903  type DeleteFilterInput struct {
  7904  	_ struct{} `type:"structure" nopayload:"true"`
  7905  
  7906  	// The unique ID of the detector that the filter is associated with.
  7907  	//
  7908  	// DetectorId is a required field
  7909  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  7910  
  7911  	// The name of the filter that you want to delete.
  7912  	//
  7913  	// FilterName is a required field
  7914  	FilterName *string `location:"uri" locationName:"filterName" type:"string" required:"true"`
  7915  }
  7916  
  7917  // String returns the string representation.
  7918  //
  7919  // API parameter values that are decorated as "sensitive" in the API will not
  7920  // be included in the string output. The member name will be present, but the
  7921  // value will be replaced with "sensitive".
  7922  func (s DeleteFilterInput) String() string {
  7923  	return awsutil.Prettify(s)
  7924  }
  7925  
  7926  // GoString returns the string representation.
  7927  //
  7928  // API parameter values that are decorated as "sensitive" in the API will not
  7929  // be included in the string output. The member name will be present, but the
  7930  // value will be replaced with "sensitive".
  7931  func (s DeleteFilterInput) GoString() string {
  7932  	return s.String()
  7933  }
  7934  
  7935  // Validate inspects the fields of the type to determine if they are valid.
  7936  func (s *DeleteFilterInput) Validate() error {
  7937  	invalidParams := request.ErrInvalidParams{Context: "DeleteFilterInput"}
  7938  	if s.DetectorId == nil {
  7939  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  7940  	}
  7941  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  7942  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  7943  	}
  7944  	if s.FilterName == nil {
  7945  		invalidParams.Add(request.NewErrParamRequired("FilterName"))
  7946  	}
  7947  	if s.FilterName != nil && len(*s.FilterName) < 1 {
  7948  		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
  7949  	}
  7950  
  7951  	if invalidParams.Len() > 0 {
  7952  		return invalidParams
  7953  	}
  7954  	return nil
  7955  }
  7956  
  7957  // SetDetectorId sets the DetectorId field's value.
  7958  func (s *DeleteFilterInput) SetDetectorId(v string) *DeleteFilterInput {
  7959  	s.DetectorId = &v
  7960  	return s
  7961  }
  7962  
  7963  // SetFilterName sets the FilterName field's value.
  7964  func (s *DeleteFilterInput) SetFilterName(v string) *DeleteFilterInput {
  7965  	s.FilterName = &v
  7966  	return s
  7967  }
  7968  
  7969  type DeleteFilterOutput struct {
  7970  	_ struct{} `type:"structure" nopayload:"true"`
  7971  }
  7972  
  7973  // String returns the string representation.
  7974  //
  7975  // API parameter values that are decorated as "sensitive" in the API will not
  7976  // be included in the string output. The member name will be present, but the
  7977  // value will be replaced with "sensitive".
  7978  func (s DeleteFilterOutput) String() string {
  7979  	return awsutil.Prettify(s)
  7980  }
  7981  
  7982  // GoString returns the string representation.
  7983  //
  7984  // API parameter values that are decorated as "sensitive" in the API will not
  7985  // be included in the string output. The member name will be present, but the
  7986  // value will be replaced with "sensitive".
  7987  func (s DeleteFilterOutput) GoString() string {
  7988  	return s.String()
  7989  }
  7990  
  7991  type DeleteIPSetInput struct {
  7992  	_ struct{} `type:"structure" nopayload:"true"`
  7993  
  7994  	// The unique ID of the detector associated with the IPSet.
  7995  	//
  7996  	// DetectorId is a required field
  7997  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  7998  
  7999  	// The unique ID of the IPSet to delete.
  8000  	//
  8001  	// IpSetId is a required field
  8002  	IpSetId *string `location:"uri" locationName:"ipSetId" type:"string" required:"true"`
  8003  }
  8004  
  8005  // String returns the string representation.
  8006  //
  8007  // API parameter values that are decorated as "sensitive" in the API will not
  8008  // be included in the string output. The member name will be present, but the
  8009  // value will be replaced with "sensitive".
  8010  func (s DeleteIPSetInput) String() string {
  8011  	return awsutil.Prettify(s)
  8012  }
  8013  
  8014  // GoString returns the string representation.
  8015  //
  8016  // API parameter values that are decorated as "sensitive" in the API will not
  8017  // be included in the string output. The member name will be present, but the
  8018  // value will be replaced with "sensitive".
  8019  func (s DeleteIPSetInput) GoString() string {
  8020  	return s.String()
  8021  }
  8022  
  8023  // Validate inspects the fields of the type to determine if they are valid.
  8024  func (s *DeleteIPSetInput) Validate() error {
  8025  	invalidParams := request.ErrInvalidParams{Context: "DeleteIPSetInput"}
  8026  	if s.DetectorId == nil {
  8027  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  8028  	}
  8029  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  8030  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  8031  	}
  8032  	if s.IpSetId == nil {
  8033  		invalidParams.Add(request.NewErrParamRequired("IpSetId"))
  8034  	}
  8035  	if s.IpSetId != nil && len(*s.IpSetId) < 1 {
  8036  		invalidParams.Add(request.NewErrParamMinLen("IpSetId", 1))
  8037  	}
  8038  
  8039  	if invalidParams.Len() > 0 {
  8040  		return invalidParams
  8041  	}
  8042  	return nil
  8043  }
  8044  
  8045  // SetDetectorId sets the DetectorId field's value.
  8046  func (s *DeleteIPSetInput) SetDetectorId(v string) *DeleteIPSetInput {
  8047  	s.DetectorId = &v
  8048  	return s
  8049  }
  8050  
  8051  // SetIpSetId sets the IpSetId field's value.
  8052  func (s *DeleteIPSetInput) SetIpSetId(v string) *DeleteIPSetInput {
  8053  	s.IpSetId = &v
  8054  	return s
  8055  }
  8056  
  8057  type DeleteIPSetOutput struct {
  8058  	_ struct{} `type:"structure" nopayload:"true"`
  8059  }
  8060  
  8061  // String returns the string representation.
  8062  //
  8063  // API parameter values that are decorated as "sensitive" in the API will not
  8064  // be included in the string output. The member name will be present, but the
  8065  // value will be replaced with "sensitive".
  8066  func (s DeleteIPSetOutput) String() string {
  8067  	return awsutil.Prettify(s)
  8068  }
  8069  
  8070  // GoString returns the string representation.
  8071  //
  8072  // API parameter values that are decorated as "sensitive" in the API will not
  8073  // be included in the string output. The member name will be present, but the
  8074  // value will be replaced with "sensitive".
  8075  func (s DeleteIPSetOutput) GoString() string {
  8076  	return s.String()
  8077  }
  8078  
  8079  type DeleteInvitationsInput struct {
  8080  	_ struct{} `type:"structure"`
  8081  
  8082  	// A list of account IDs of the AWS accounts that sent invitations to the current
  8083  	// member account that you want to delete invitations from.
  8084  	//
  8085  	// AccountIds is a required field
  8086  	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
  8087  }
  8088  
  8089  // String returns the string representation.
  8090  //
  8091  // API parameter values that are decorated as "sensitive" in the API will not
  8092  // be included in the string output. The member name will be present, but the
  8093  // value will be replaced with "sensitive".
  8094  func (s DeleteInvitationsInput) String() string {
  8095  	return awsutil.Prettify(s)
  8096  }
  8097  
  8098  // GoString returns the string representation.
  8099  //
  8100  // API parameter values that are decorated as "sensitive" in the API will not
  8101  // be included in the string output. The member name will be present, but the
  8102  // value will be replaced with "sensitive".
  8103  func (s DeleteInvitationsInput) GoString() string {
  8104  	return s.String()
  8105  }
  8106  
  8107  // Validate inspects the fields of the type to determine if they are valid.
  8108  func (s *DeleteInvitationsInput) Validate() error {
  8109  	invalidParams := request.ErrInvalidParams{Context: "DeleteInvitationsInput"}
  8110  	if s.AccountIds == nil {
  8111  		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
  8112  	}
  8113  	if s.AccountIds != nil && len(s.AccountIds) < 1 {
  8114  		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
  8115  	}
  8116  
  8117  	if invalidParams.Len() > 0 {
  8118  		return invalidParams
  8119  	}
  8120  	return nil
  8121  }
  8122  
  8123  // SetAccountIds sets the AccountIds field's value.
  8124  func (s *DeleteInvitationsInput) SetAccountIds(v []*string) *DeleteInvitationsInput {
  8125  	s.AccountIds = v
  8126  	return s
  8127  }
  8128  
  8129  type DeleteInvitationsOutput struct {
  8130  	_ struct{} `type:"structure"`
  8131  
  8132  	// A list of objects that contain the unprocessed account and a result string
  8133  	// that explains why it was unprocessed.
  8134  	//
  8135  	// UnprocessedAccounts is a required field
  8136  	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
  8137  }
  8138  
  8139  // String returns the string representation.
  8140  //
  8141  // API parameter values that are decorated as "sensitive" in the API will not
  8142  // be included in the string output. The member name will be present, but the
  8143  // value will be replaced with "sensitive".
  8144  func (s DeleteInvitationsOutput) String() string {
  8145  	return awsutil.Prettify(s)
  8146  }
  8147  
  8148  // GoString returns the string representation.
  8149  //
  8150  // API parameter values that are decorated as "sensitive" in the API will not
  8151  // be included in the string output. The member name will be present, but the
  8152  // value will be replaced with "sensitive".
  8153  func (s DeleteInvitationsOutput) GoString() string {
  8154  	return s.String()
  8155  }
  8156  
  8157  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
  8158  func (s *DeleteInvitationsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DeleteInvitationsOutput {
  8159  	s.UnprocessedAccounts = v
  8160  	return s
  8161  }
  8162  
  8163  type DeleteMembersInput struct {
  8164  	_ struct{} `type:"structure"`
  8165  
  8166  	// A list of account IDs of the GuardDuty member accounts that you want to delete.
  8167  	//
  8168  	// AccountIds is a required field
  8169  	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
  8170  
  8171  	// The unique ID of the detector of the GuardDuty account whose members you
  8172  	// want to delete.
  8173  	//
  8174  	// DetectorId is a required field
  8175  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  8176  }
  8177  
  8178  // String returns the string representation.
  8179  //
  8180  // API parameter values that are decorated as "sensitive" in the API will not
  8181  // be included in the string output. The member name will be present, but the
  8182  // value will be replaced with "sensitive".
  8183  func (s DeleteMembersInput) String() string {
  8184  	return awsutil.Prettify(s)
  8185  }
  8186  
  8187  // GoString returns the string representation.
  8188  //
  8189  // API parameter values that are decorated as "sensitive" in the API will not
  8190  // be included in the string output. The member name will be present, but the
  8191  // value will be replaced with "sensitive".
  8192  func (s DeleteMembersInput) GoString() string {
  8193  	return s.String()
  8194  }
  8195  
  8196  // Validate inspects the fields of the type to determine if they are valid.
  8197  func (s *DeleteMembersInput) Validate() error {
  8198  	invalidParams := request.ErrInvalidParams{Context: "DeleteMembersInput"}
  8199  	if s.AccountIds == nil {
  8200  		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
  8201  	}
  8202  	if s.AccountIds != nil && len(s.AccountIds) < 1 {
  8203  		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
  8204  	}
  8205  	if s.DetectorId == nil {
  8206  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  8207  	}
  8208  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  8209  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  8210  	}
  8211  
  8212  	if invalidParams.Len() > 0 {
  8213  		return invalidParams
  8214  	}
  8215  	return nil
  8216  }
  8217  
  8218  // SetAccountIds sets the AccountIds field's value.
  8219  func (s *DeleteMembersInput) SetAccountIds(v []*string) *DeleteMembersInput {
  8220  	s.AccountIds = v
  8221  	return s
  8222  }
  8223  
  8224  // SetDetectorId sets the DetectorId field's value.
  8225  func (s *DeleteMembersInput) SetDetectorId(v string) *DeleteMembersInput {
  8226  	s.DetectorId = &v
  8227  	return s
  8228  }
  8229  
  8230  type DeleteMembersOutput struct {
  8231  	_ struct{} `type:"structure"`
  8232  
  8233  	// The accounts that could not be processed.
  8234  	//
  8235  	// UnprocessedAccounts is a required field
  8236  	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
  8237  }
  8238  
  8239  // String returns the string representation.
  8240  //
  8241  // API parameter values that are decorated as "sensitive" in the API will not
  8242  // be included in the string output. The member name will be present, but the
  8243  // value will be replaced with "sensitive".
  8244  func (s DeleteMembersOutput) String() string {
  8245  	return awsutil.Prettify(s)
  8246  }
  8247  
  8248  // GoString returns the string representation.
  8249  //
  8250  // API parameter values that are decorated as "sensitive" in the API will not
  8251  // be included in the string output. The member name will be present, but the
  8252  // value will be replaced with "sensitive".
  8253  func (s DeleteMembersOutput) GoString() string {
  8254  	return s.String()
  8255  }
  8256  
  8257  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
  8258  func (s *DeleteMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DeleteMembersOutput {
  8259  	s.UnprocessedAccounts = v
  8260  	return s
  8261  }
  8262  
  8263  type DeletePublishingDestinationInput struct {
  8264  	_ struct{} `type:"structure" nopayload:"true"`
  8265  
  8266  	// The ID of the publishing destination to delete.
  8267  	//
  8268  	// DestinationId is a required field
  8269  	DestinationId *string `location:"uri" locationName:"destinationId" type:"string" required:"true"`
  8270  
  8271  	// The unique ID of the detector associated with the publishing destination
  8272  	// to delete.
  8273  	//
  8274  	// DetectorId is a required field
  8275  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  8276  }
  8277  
  8278  // String returns the string representation.
  8279  //
  8280  // API parameter values that are decorated as "sensitive" in the API will not
  8281  // be included in the string output. The member name will be present, but the
  8282  // value will be replaced with "sensitive".
  8283  func (s DeletePublishingDestinationInput) String() string {
  8284  	return awsutil.Prettify(s)
  8285  }
  8286  
  8287  // GoString returns the string representation.
  8288  //
  8289  // API parameter values that are decorated as "sensitive" in the API will not
  8290  // be included in the string output. The member name will be present, but the
  8291  // value will be replaced with "sensitive".
  8292  func (s DeletePublishingDestinationInput) GoString() string {
  8293  	return s.String()
  8294  }
  8295  
  8296  // Validate inspects the fields of the type to determine if they are valid.
  8297  func (s *DeletePublishingDestinationInput) Validate() error {
  8298  	invalidParams := request.ErrInvalidParams{Context: "DeletePublishingDestinationInput"}
  8299  	if s.DestinationId == nil {
  8300  		invalidParams.Add(request.NewErrParamRequired("DestinationId"))
  8301  	}
  8302  	if s.DestinationId != nil && len(*s.DestinationId) < 1 {
  8303  		invalidParams.Add(request.NewErrParamMinLen("DestinationId", 1))
  8304  	}
  8305  	if s.DetectorId == nil {
  8306  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  8307  	}
  8308  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  8309  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  8310  	}
  8311  
  8312  	if invalidParams.Len() > 0 {
  8313  		return invalidParams
  8314  	}
  8315  	return nil
  8316  }
  8317  
  8318  // SetDestinationId sets the DestinationId field's value.
  8319  func (s *DeletePublishingDestinationInput) SetDestinationId(v string) *DeletePublishingDestinationInput {
  8320  	s.DestinationId = &v
  8321  	return s
  8322  }
  8323  
  8324  // SetDetectorId sets the DetectorId field's value.
  8325  func (s *DeletePublishingDestinationInput) SetDetectorId(v string) *DeletePublishingDestinationInput {
  8326  	s.DetectorId = &v
  8327  	return s
  8328  }
  8329  
  8330  type DeletePublishingDestinationOutput struct {
  8331  	_ struct{} `type:"structure" nopayload:"true"`
  8332  }
  8333  
  8334  // String returns the string representation.
  8335  //
  8336  // API parameter values that are decorated as "sensitive" in the API will not
  8337  // be included in the string output. The member name will be present, but the
  8338  // value will be replaced with "sensitive".
  8339  func (s DeletePublishingDestinationOutput) String() string {
  8340  	return awsutil.Prettify(s)
  8341  }
  8342  
  8343  // GoString returns the string representation.
  8344  //
  8345  // API parameter values that are decorated as "sensitive" in the API will not
  8346  // be included in the string output. The member name will be present, but the
  8347  // value will be replaced with "sensitive".
  8348  func (s DeletePublishingDestinationOutput) GoString() string {
  8349  	return s.String()
  8350  }
  8351  
  8352  type DeleteThreatIntelSetInput struct {
  8353  	_ struct{} `type:"structure" nopayload:"true"`
  8354  
  8355  	// The unique ID of the detector that the threatIntelSet is associated with.
  8356  	//
  8357  	// DetectorId is a required field
  8358  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  8359  
  8360  	// The unique ID of the threatIntelSet that you want to delete.
  8361  	//
  8362  	// ThreatIntelSetId is a required field
  8363  	ThreatIntelSetId *string `location:"uri" locationName:"threatIntelSetId" type:"string" required:"true"`
  8364  }
  8365  
  8366  // String returns the string representation.
  8367  //
  8368  // API parameter values that are decorated as "sensitive" in the API will not
  8369  // be included in the string output. The member name will be present, but the
  8370  // value will be replaced with "sensitive".
  8371  func (s DeleteThreatIntelSetInput) String() string {
  8372  	return awsutil.Prettify(s)
  8373  }
  8374  
  8375  // GoString returns the string representation.
  8376  //
  8377  // API parameter values that are decorated as "sensitive" in the API will not
  8378  // be included in the string output. The member name will be present, but the
  8379  // value will be replaced with "sensitive".
  8380  func (s DeleteThreatIntelSetInput) GoString() string {
  8381  	return s.String()
  8382  }
  8383  
  8384  // Validate inspects the fields of the type to determine if they are valid.
  8385  func (s *DeleteThreatIntelSetInput) Validate() error {
  8386  	invalidParams := request.ErrInvalidParams{Context: "DeleteThreatIntelSetInput"}
  8387  	if s.DetectorId == nil {
  8388  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  8389  	}
  8390  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  8391  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  8392  	}
  8393  	if s.ThreatIntelSetId == nil {
  8394  		invalidParams.Add(request.NewErrParamRequired("ThreatIntelSetId"))
  8395  	}
  8396  	if s.ThreatIntelSetId != nil && len(*s.ThreatIntelSetId) < 1 {
  8397  		invalidParams.Add(request.NewErrParamMinLen("ThreatIntelSetId", 1))
  8398  	}
  8399  
  8400  	if invalidParams.Len() > 0 {
  8401  		return invalidParams
  8402  	}
  8403  	return nil
  8404  }
  8405  
  8406  // SetDetectorId sets the DetectorId field's value.
  8407  func (s *DeleteThreatIntelSetInput) SetDetectorId(v string) *DeleteThreatIntelSetInput {
  8408  	s.DetectorId = &v
  8409  	return s
  8410  }
  8411  
  8412  // SetThreatIntelSetId sets the ThreatIntelSetId field's value.
  8413  func (s *DeleteThreatIntelSetInput) SetThreatIntelSetId(v string) *DeleteThreatIntelSetInput {
  8414  	s.ThreatIntelSetId = &v
  8415  	return s
  8416  }
  8417  
  8418  type DeleteThreatIntelSetOutput struct {
  8419  	_ struct{} `type:"structure" nopayload:"true"`
  8420  }
  8421  
  8422  // String returns the string representation.
  8423  //
  8424  // API parameter values that are decorated as "sensitive" in the API will not
  8425  // be included in the string output. The member name will be present, but the
  8426  // value will be replaced with "sensitive".
  8427  func (s DeleteThreatIntelSetOutput) String() string {
  8428  	return awsutil.Prettify(s)
  8429  }
  8430  
  8431  // GoString returns the string representation.
  8432  //
  8433  // API parameter values that are decorated as "sensitive" in the API will not
  8434  // be included in the string output. The member name will be present, but the
  8435  // value will be replaced with "sensitive".
  8436  func (s DeleteThreatIntelSetOutput) GoString() string {
  8437  	return s.String()
  8438  }
  8439  
  8440  type DescribeOrganizationConfigurationInput struct {
  8441  	_ struct{} `type:"structure" nopayload:"true"`
  8442  
  8443  	// The ID of the detector to retrieve information about the delegated administrator
  8444  	// from.
  8445  	//
  8446  	// DetectorId is a required field
  8447  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  8448  }
  8449  
  8450  // String returns the string representation.
  8451  //
  8452  // API parameter values that are decorated as "sensitive" in the API will not
  8453  // be included in the string output. The member name will be present, but the
  8454  // value will be replaced with "sensitive".
  8455  func (s DescribeOrganizationConfigurationInput) String() string {
  8456  	return awsutil.Prettify(s)
  8457  }
  8458  
  8459  // GoString returns the string representation.
  8460  //
  8461  // API parameter values that are decorated as "sensitive" in the API will not
  8462  // be included in the string output. The member name will be present, but the
  8463  // value will be replaced with "sensitive".
  8464  func (s DescribeOrganizationConfigurationInput) GoString() string {
  8465  	return s.String()
  8466  }
  8467  
  8468  // Validate inspects the fields of the type to determine if they are valid.
  8469  func (s *DescribeOrganizationConfigurationInput) Validate() error {
  8470  	invalidParams := request.ErrInvalidParams{Context: "DescribeOrganizationConfigurationInput"}
  8471  	if s.DetectorId == nil {
  8472  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  8473  	}
  8474  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  8475  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  8476  	}
  8477  
  8478  	if invalidParams.Len() > 0 {
  8479  		return invalidParams
  8480  	}
  8481  	return nil
  8482  }
  8483  
  8484  // SetDetectorId sets the DetectorId field's value.
  8485  func (s *DescribeOrganizationConfigurationInput) SetDetectorId(v string) *DescribeOrganizationConfigurationInput {
  8486  	s.DetectorId = &v
  8487  	return s
  8488  }
  8489  
  8490  type DescribeOrganizationConfigurationOutput struct {
  8491  	_ struct{} `type:"structure"`
  8492  
  8493  	// Indicates whether GuardDuty is automatically enabled for accounts added to
  8494  	// the organization.
  8495  	//
  8496  	// AutoEnable is a required field
  8497  	AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"`
  8498  
  8499  	// Describes which data sources are enabled automatically for member accounts.
  8500  	DataSources *OrganizationDataSourceConfigurationsResult `locationName:"dataSources" type:"structure"`
  8501  
  8502  	// Indicates whether the maximum number of allowed member accounts are already
  8503  	// associated with the delegated administrator account for your organization.
  8504  	//
  8505  	// MemberAccountLimitReached is a required field
  8506  	MemberAccountLimitReached *bool `locationName:"memberAccountLimitReached" type:"boolean" required:"true"`
  8507  }
  8508  
  8509  // String returns the string representation.
  8510  //
  8511  // API parameter values that are decorated as "sensitive" in the API will not
  8512  // be included in the string output. The member name will be present, but the
  8513  // value will be replaced with "sensitive".
  8514  func (s DescribeOrganizationConfigurationOutput) String() string {
  8515  	return awsutil.Prettify(s)
  8516  }
  8517  
  8518  // GoString returns the string representation.
  8519  //
  8520  // API parameter values that are decorated as "sensitive" in the API will not
  8521  // be included in the string output. The member name will be present, but the
  8522  // value will be replaced with "sensitive".
  8523  func (s DescribeOrganizationConfigurationOutput) GoString() string {
  8524  	return s.String()
  8525  }
  8526  
  8527  // SetAutoEnable sets the AutoEnable field's value.
  8528  func (s *DescribeOrganizationConfigurationOutput) SetAutoEnable(v bool) *DescribeOrganizationConfigurationOutput {
  8529  	s.AutoEnable = &v
  8530  	return s
  8531  }
  8532  
  8533  // SetDataSources sets the DataSources field's value.
  8534  func (s *DescribeOrganizationConfigurationOutput) SetDataSources(v *OrganizationDataSourceConfigurationsResult) *DescribeOrganizationConfigurationOutput {
  8535  	s.DataSources = v
  8536  	return s
  8537  }
  8538  
  8539  // SetMemberAccountLimitReached sets the MemberAccountLimitReached field's value.
  8540  func (s *DescribeOrganizationConfigurationOutput) SetMemberAccountLimitReached(v bool) *DescribeOrganizationConfigurationOutput {
  8541  	s.MemberAccountLimitReached = &v
  8542  	return s
  8543  }
  8544  
  8545  type DescribePublishingDestinationInput struct {
  8546  	_ struct{} `type:"structure" nopayload:"true"`
  8547  
  8548  	// The ID of the publishing destination to retrieve.
  8549  	//
  8550  	// DestinationId is a required field
  8551  	DestinationId *string `location:"uri" locationName:"destinationId" type:"string" required:"true"`
  8552  
  8553  	// The unique ID of the detector associated with the publishing destination
  8554  	// to retrieve.
  8555  	//
  8556  	// DetectorId is a required field
  8557  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  8558  }
  8559  
  8560  // String returns the string representation.
  8561  //
  8562  // API parameter values that are decorated as "sensitive" in the API will not
  8563  // be included in the string output. The member name will be present, but the
  8564  // value will be replaced with "sensitive".
  8565  func (s DescribePublishingDestinationInput) String() string {
  8566  	return awsutil.Prettify(s)
  8567  }
  8568  
  8569  // GoString returns the string representation.
  8570  //
  8571  // API parameter values that are decorated as "sensitive" in the API will not
  8572  // be included in the string output. The member name will be present, but the
  8573  // value will be replaced with "sensitive".
  8574  func (s DescribePublishingDestinationInput) GoString() string {
  8575  	return s.String()
  8576  }
  8577  
  8578  // Validate inspects the fields of the type to determine if they are valid.
  8579  func (s *DescribePublishingDestinationInput) Validate() error {
  8580  	invalidParams := request.ErrInvalidParams{Context: "DescribePublishingDestinationInput"}
  8581  	if s.DestinationId == nil {
  8582  		invalidParams.Add(request.NewErrParamRequired("DestinationId"))
  8583  	}
  8584  	if s.DestinationId != nil && len(*s.DestinationId) < 1 {
  8585  		invalidParams.Add(request.NewErrParamMinLen("DestinationId", 1))
  8586  	}
  8587  	if s.DetectorId == nil {
  8588  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  8589  	}
  8590  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  8591  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  8592  	}
  8593  
  8594  	if invalidParams.Len() > 0 {
  8595  		return invalidParams
  8596  	}
  8597  	return nil
  8598  }
  8599  
  8600  // SetDestinationId sets the DestinationId field's value.
  8601  func (s *DescribePublishingDestinationInput) SetDestinationId(v string) *DescribePublishingDestinationInput {
  8602  	s.DestinationId = &v
  8603  	return s
  8604  }
  8605  
  8606  // SetDetectorId sets the DetectorId field's value.
  8607  func (s *DescribePublishingDestinationInput) SetDetectorId(v string) *DescribePublishingDestinationInput {
  8608  	s.DetectorId = &v
  8609  	return s
  8610  }
  8611  
  8612  type DescribePublishingDestinationOutput struct {
  8613  	_ struct{} `type:"structure"`
  8614  
  8615  	// The ID of the publishing destination.
  8616  	//
  8617  	// DestinationId is a required field
  8618  	DestinationId *string `locationName:"destinationId" type:"string" required:"true"`
  8619  
  8620  	// A DestinationProperties object that includes the DestinationArn and KmsKeyArn
  8621  	// of the publishing destination.
  8622  	//
  8623  	// DestinationProperties is a required field
  8624  	DestinationProperties *DestinationProperties `locationName:"destinationProperties" type:"structure" required:"true"`
  8625  
  8626  	// The type of publishing destination. Currently, only Amazon S3 buckets are
  8627  	// supported.
  8628  	//
  8629  	// DestinationType is a required field
  8630  	DestinationType *string `locationName:"destinationType" min:"1" type:"string" required:"true" enum:"DestinationType"`
  8631  
  8632  	// The time, in epoch millisecond format, at which GuardDuty was first unable
  8633  	// to publish findings to the destination.
  8634  	//
  8635  	// PublishingFailureStartTimestamp is a required field
  8636  	PublishingFailureStartTimestamp *int64 `locationName:"publishingFailureStartTimestamp" type:"long" required:"true"`
  8637  
  8638  	// The status of the publishing destination.
  8639  	//
  8640  	// Status is a required field
  8641  	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"PublishingStatus"`
  8642  }
  8643  
  8644  // String returns the string representation.
  8645  //
  8646  // API parameter values that are decorated as "sensitive" in the API will not
  8647  // be included in the string output. The member name will be present, but the
  8648  // value will be replaced with "sensitive".
  8649  func (s DescribePublishingDestinationOutput) String() string {
  8650  	return awsutil.Prettify(s)
  8651  }
  8652  
  8653  // GoString returns the string representation.
  8654  //
  8655  // API parameter values that are decorated as "sensitive" in the API will not
  8656  // be included in the string output. The member name will be present, but the
  8657  // value will be replaced with "sensitive".
  8658  func (s DescribePublishingDestinationOutput) GoString() string {
  8659  	return s.String()
  8660  }
  8661  
  8662  // SetDestinationId sets the DestinationId field's value.
  8663  func (s *DescribePublishingDestinationOutput) SetDestinationId(v string) *DescribePublishingDestinationOutput {
  8664  	s.DestinationId = &v
  8665  	return s
  8666  }
  8667  
  8668  // SetDestinationProperties sets the DestinationProperties field's value.
  8669  func (s *DescribePublishingDestinationOutput) SetDestinationProperties(v *DestinationProperties) *DescribePublishingDestinationOutput {
  8670  	s.DestinationProperties = v
  8671  	return s
  8672  }
  8673  
  8674  // SetDestinationType sets the DestinationType field's value.
  8675  func (s *DescribePublishingDestinationOutput) SetDestinationType(v string) *DescribePublishingDestinationOutput {
  8676  	s.DestinationType = &v
  8677  	return s
  8678  }
  8679  
  8680  // SetPublishingFailureStartTimestamp sets the PublishingFailureStartTimestamp field's value.
  8681  func (s *DescribePublishingDestinationOutput) SetPublishingFailureStartTimestamp(v int64) *DescribePublishingDestinationOutput {
  8682  	s.PublishingFailureStartTimestamp = &v
  8683  	return s
  8684  }
  8685  
  8686  // SetStatus sets the Status field's value.
  8687  func (s *DescribePublishingDestinationOutput) SetStatus(v string) *DescribePublishingDestinationOutput {
  8688  	s.Status = &v
  8689  	return s
  8690  }
  8691  
  8692  // Contains information about the publishing destination, including the ID,
  8693  // type, and status.
  8694  type Destination struct {
  8695  	_ struct{} `type:"structure"`
  8696  
  8697  	// The unique ID of the publishing destination.
  8698  	//
  8699  	// DestinationId is a required field
  8700  	DestinationId *string `locationName:"destinationId" type:"string" required:"true"`
  8701  
  8702  	// The type of resource used for the publishing destination. Currently, only
  8703  	// Amazon S3 buckets are supported.
  8704  	//
  8705  	// DestinationType is a required field
  8706  	DestinationType *string `locationName:"destinationType" min:"1" type:"string" required:"true" enum:"DestinationType"`
  8707  
  8708  	// The status of the publishing destination.
  8709  	//
  8710  	// Status is a required field
  8711  	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"PublishingStatus"`
  8712  }
  8713  
  8714  // String returns the string representation.
  8715  //
  8716  // API parameter values that are decorated as "sensitive" in the API will not
  8717  // be included in the string output. The member name will be present, but the
  8718  // value will be replaced with "sensitive".
  8719  func (s Destination) String() string {
  8720  	return awsutil.Prettify(s)
  8721  }
  8722  
  8723  // GoString returns the string representation.
  8724  //
  8725  // API parameter values that are decorated as "sensitive" in the API will not
  8726  // be included in the string output. The member name will be present, but the
  8727  // value will be replaced with "sensitive".
  8728  func (s Destination) GoString() string {
  8729  	return s.String()
  8730  }
  8731  
  8732  // SetDestinationId sets the DestinationId field's value.
  8733  func (s *Destination) SetDestinationId(v string) *Destination {
  8734  	s.DestinationId = &v
  8735  	return s
  8736  }
  8737  
  8738  // SetDestinationType sets the DestinationType field's value.
  8739  func (s *Destination) SetDestinationType(v string) *Destination {
  8740  	s.DestinationType = &v
  8741  	return s
  8742  }
  8743  
  8744  // SetStatus sets the Status field's value.
  8745  func (s *Destination) SetStatus(v string) *Destination {
  8746  	s.Status = &v
  8747  	return s
  8748  }
  8749  
  8750  // Contains the Amazon Resource Name (ARN) of the resource to publish to, such
  8751  // as an S3 bucket, and the ARN of the KMS key to use to encrypt published findings.
  8752  type DestinationProperties struct {
  8753  	_ struct{} `type:"structure"`
  8754  
  8755  	// The ARN of the resource to publish to.
  8756  	DestinationArn *string `locationName:"destinationArn" type:"string"`
  8757  
  8758  	// The ARN of the KMS key to use for encryption.
  8759  	KmsKeyArn *string `locationName:"kmsKeyArn" type:"string"`
  8760  }
  8761  
  8762  // String returns the string representation.
  8763  //
  8764  // API parameter values that are decorated as "sensitive" in the API will not
  8765  // be included in the string output. The member name will be present, but the
  8766  // value will be replaced with "sensitive".
  8767  func (s DestinationProperties) String() string {
  8768  	return awsutil.Prettify(s)
  8769  }
  8770  
  8771  // GoString returns the string representation.
  8772  //
  8773  // API parameter values that are decorated as "sensitive" in the API will not
  8774  // be included in the string output. The member name will be present, but the
  8775  // value will be replaced with "sensitive".
  8776  func (s DestinationProperties) GoString() string {
  8777  	return s.String()
  8778  }
  8779  
  8780  // SetDestinationArn sets the DestinationArn field's value.
  8781  func (s *DestinationProperties) SetDestinationArn(v string) *DestinationProperties {
  8782  	s.DestinationArn = &v
  8783  	return s
  8784  }
  8785  
  8786  // SetKmsKeyArn sets the KmsKeyArn field's value.
  8787  func (s *DestinationProperties) SetKmsKeyArn(v string) *DestinationProperties {
  8788  	s.KmsKeyArn = &v
  8789  	return s
  8790  }
  8791  
  8792  type DisableOrganizationAdminAccountInput struct {
  8793  	_ struct{} `type:"structure"`
  8794  
  8795  	// The AWS Account ID for the organizations account to be disabled as a GuardDuty
  8796  	// delegated administrator.
  8797  	//
  8798  	// AdminAccountId is a required field
  8799  	AdminAccountId *string `locationName:"adminAccountId" type:"string" required:"true"`
  8800  }
  8801  
  8802  // String returns the string representation.
  8803  //
  8804  // API parameter values that are decorated as "sensitive" in the API will not
  8805  // be included in the string output. The member name will be present, but the
  8806  // value will be replaced with "sensitive".
  8807  func (s DisableOrganizationAdminAccountInput) String() string {
  8808  	return awsutil.Prettify(s)
  8809  }
  8810  
  8811  // GoString returns the string representation.
  8812  //
  8813  // API parameter values that are decorated as "sensitive" in the API will not
  8814  // be included in the string output. The member name will be present, but the
  8815  // value will be replaced with "sensitive".
  8816  func (s DisableOrganizationAdminAccountInput) GoString() string {
  8817  	return s.String()
  8818  }
  8819  
  8820  // Validate inspects the fields of the type to determine if they are valid.
  8821  func (s *DisableOrganizationAdminAccountInput) Validate() error {
  8822  	invalidParams := request.ErrInvalidParams{Context: "DisableOrganizationAdminAccountInput"}
  8823  	if s.AdminAccountId == nil {
  8824  		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
  8825  	}
  8826  
  8827  	if invalidParams.Len() > 0 {
  8828  		return invalidParams
  8829  	}
  8830  	return nil
  8831  }
  8832  
  8833  // SetAdminAccountId sets the AdminAccountId field's value.
  8834  func (s *DisableOrganizationAdminAccountInput) SetAdminAccountId(v string) *DisableOrganizationAdminAccountInput {
  8835  	s.AdminAccountId = &v
  8836  	return s
  8837  }
  8838  
  8839  type DisableOrganizationAdminAccountOutput struct {
  8840  	_ struct{} `type:"structure" nopayload:"true"`
  8841  }
  8842  
  8843  // String returns the string representation.
  8844  //
  8845  // API parameter values that are decorated as "sensitive" in the API will not
  8846  // be included in the string output. The member name will be present, but the
  8847  // value will be replaced with "sensitive".
  8848  func (s DisableOrganizationAdminAccountOutput) String() string {
  8849  	return awsutil.Prettify(s)
  8850  }
  8851  
  8852  // GoString returns the string representation.
  8853  //
  8854  // API parameter values that are decorated as "sensitive" in the API will not
  8855  // be included in the string output. The member name will be present, but the
  8856  // value will be replaced with "sensitive".
  8857  func (s DisableOrganizationAdminAccountOutput) GoString() string {
  8858  	return s.String()
  8859  }
  8860  
  8861  type DisassociateFromMasterAccountInput struct {
  8862  	_ struct{} `type:"structure" nopayload:"true"`
  8863  
  8864  	// The unique ID of the detector of the GuardDuty member account.
  8865  	//
  8866  	// DetectorId is a required field
  8867  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  8868  }
  8869  
  8870  // String returns the string representation.
  8871  //
  8872  // API parameter values that are decorated as "sensitive" in the API will not
  8873  // be included in the string output. The member name will be present, but the
  8874  // value will be replaced with "sensitive".
  8875  func (s DisassociateFromMasterAccountInput) String() string {
  8876  	return awsutil.Prettify(s)
  8877  }
  8878  
  8879  // GoString returns the string representation.
  8880  //
  8881  // API parameter values that are decorated as "sensitive" in the API will not
  8882  // be included in the string output. The member name will be present, but the
  8883  // value will be replaced with "sensitive".
  8884  func (s DisassociateFromMasterAccountInput) GoString() string {
  8885  	return s.String()
  8886  }
  8887  
  8888  // Validate inspects the fields of the type to determine if they are valid.
  8889  func (s *DisassociateFromMasterAccountInput) Validate() error {
  8890  	invalidParams := request.ErrInvalidParams{Context: "DisassociateFromMasterAccountInput"}
  8891  	if s.DetectorId == nil {
  8892  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  8893  	}
  8894  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  8895  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  8896  	}
  8897  
  8898  	if invalidParams.Len() > 0 {
  8899  		return invalidParams
  8900  	}
  8901  	return nil
  8902  }
  8903  
  8904  // SetDetectorId sets the DetectorId field's value.
  8905  func (s *DisassociateFromMasterAccountInput) SetDetectorId(v string) *DisassociateFromMasterAccountInput {
  8906  	s.DetectorId = &v
  8907  	return s
  8908  }
  8909  
  8910  type DisassociateFromMasterAccountOutput struct {
  8911  	_ struct{} `type:"structure" nopayload:"true"`
  8912  }
  8913  
  8914  // String returns the string representation.
  8915  //
  8916  // API parameter values that are decorated as "sensitive" in the API will not
  8917  // be included in the string output. The member name will be present, but the
  8918  // value will be replaced with "sensitive".
  8919  func (s DisassociateFromMasterAccountOutput) String() string {
  8920  	return awsutil.Prettify(s)
  8921  }
  8922  
  8923  // GoString returns the string representation.
  8924  //
  8925  // API parameter values that are decorated as "sensitive" in the API will not
  8926  // be included in the string output. The member name will be present, but the
  8927  // value will be replaced with "sensitive".
  8928  func (s DisassociateFromMasterAccountOutput) GoString() string {
  8929  	return s.String()
  8930  }
  8931  
  8932  type DisassociateMembersInput struct {
  8933  	_ struct{} `type:"structure"`
  8934  
  8935  	// A list of account IDs of the GuardDuty member accounts that you want to disassociate
  8936  	// from the administrator account.
  8937  	//
  8938  	// AccountIds is a required field
  8939  	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
  8940  
  8941  	// The unique ID of the detector of the GuardDuty account whose members you
  8942  	// want to disassociate from the administrator account.
  8943  	//
  8944  	// DetectorId is a required field
  8945  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  8946  }
  8947  
  8948  // String returns the string representation.
  8949  //
  8950  // API parameter values that are decorated as "sensitive" in the API will not
  8951  // be included in the string output. The member name will be present, but the
  8952  // value will be replaced with "sensitive".
  8953  func (s DisassociateMembersInput) String() string {
  8954  	return awsutil.Prettify(s)
  8955  }
  8956  
  8957  // GoString returns the string representation.
  8958  //
  8959  // API parameter values that are decorated as "sensitive" in the API will not
  8960  // be included in the string output. The member name will be present, but the
  8961  // value will be replaced with "sensitive".
  8962  func (s DisassociateMembersInput) GoString() string {
  8963  	return s.String()
  8964  }
  8965  
  8966  // Validate inspects the fields of the type to determine if they are valid.
  8967  func (s *DisassociateMembersInput) Validate() error {
  8968  	invalidParams := request.ErrInvalidParams{Context: "DisassociateMembersInput"}
  8969  	if s.AccountIds == nil {
  8970  		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
  8971  	}
  8972  	if s.AccountIds != nil && len(s.AccountIds) < 1 {
  8973  		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
  8974  	}
  8975  	if s.DetectorId == nil {
  8976  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  8977  	}
  8978  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  8979  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  8980  	}
  8981  
  8982  	if invalidParams.Len() > 0 {
  8983  		return invalidParams
  8984  	}
  8985  	return nil
  8986  }
  8987  
  8988  // SetAccountIds sets the AccountIds field's value.
  8989  func (s *DisassociateMembersInput) SetAccountIds(v []*string) *DisassociateMembersInput {
  8990  	s.AccountIds = v
  8991  	return s
  8992  }
  8993  
  8994  // SetDetectorId sets the DetectorId field's value.
  8995  func (s *DisassociateMembersInput) SetDetectorId(v string) *DisassociateMembersInput {
  8996  	s.DetectorId = &v
  8997  	return s
  8998  }
  8999  
  9000  type DisassociateMembersOutput struct {
  9001  	_ struct{} `type:"structure"`
  9002  
  9003  	// A list of objects that contain the unprocessed account and a result string
  9004  	// that explains why it was unprocessed.
  9005  	//
  9006  	// UnprocessedAccounts is a required field
  9007  	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
  9008  }
  9009  
  9010  // String returns the string representation.
  9011  //
  9012  // API parameter values that are decorated as "sensitive" in the API will not
  9013  // be included in the string output. The member name will be present, but the
  9014  // value will be replaced with "sensitive".
  9015  func (s DisassociateMembersOutput) String() string {
  9016  	return awsutil.Prettify(s)
  9017  }
  9018  
  9019  // GoString returns the string representation.
  9020  //
  9021  // API parameter values that are decorated as "sensitive" in the API will not
  9022  // be included in the string output. The member name will be present, but the
  9023  // value will be replaced with "sensitive".
  9024  func (s DisassociateMembersOutput) GoString() string {
  9025  	return s.String()
  9026  }
  9027  
  9028  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
  9029  func (s *DisassociateMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DisassociateMembersOutput {
  9030  	s.UnprocessedAccounts = v
  9031  	return s
  9032  }
  9033  
  9034  // Contains information about the DNS_REQUEST action described in this finding.
  9035  type DnsRequestAction struct {
  9036  	_ struct{} `type:"structure"`
  9037  
  9038  	// The domain information for the API request.
  9039  	Domain *string `locationName:"domain" type:"string"`
  9040  }
  9041  
  9042  // String returns the string representation.
  9043  //
  9044  // API parameter values that are decorated as "sensitive" in the API will not
  9045  // be included in the string output. The member name will be present, but the
  9046  // value will be replaced with "sensitive".
  9047  func (s DnsRequestAction) String() string {
  9048  	return awsutil.Prettify(s)
  9049  }
  9050  
  9051  // GoString returns the string representation.
  9052  //
  9053  // API parameter values that are decorated as "sensitive" in the API will not
  9054  // be included in the string output. The member name will be present, but the
  9055  // value will be replaced with "sensitive".
  9056  func (s DnsRequestAction) GoString() string {
  9057  	return s.String()
  9058  }
  9059  
  9060  // SetDomain sets the Domain field's value.
  9061  func (s *DnsRequestAction) SetDomain(v string) *DnsRequestAction {
  9062  	s.Domain = &v
  9063  	return s
  9064  }
  9065  
  9066  // Contains information about the domain.
  9067  type DomainDetails struct {
  9068  	_ struct{} `type:"structure"`
  9069  
  9070  	// The domain information for the AWS API call.
  9071  	Domain *string `locationName:"domain" type:"string"`
  9072  }
  9073  
  9074  // String returns the string representation.
  9075  //
  9076  // API parameter values that are decorated as "sensitive" in the API will not
  9077  // be included in the string output. The member name will be present, but the
  9078  // value will be replaced with "sensitive".
  9079  func (s DomainDetails) String() string {
  9080  	return awsutil.Prettify(s)
  9081  }
  9082  
  9083  // GoString returns the string representation.
  9084  //
  9085  // API parameter values that are decorated as "sensitive" in the API will not
  9086  // be included in the string output. The member name will be present, but the
  9087  // value will be replaced with "sensitive".
  9088  func (s DomainDetails) GoString() string {
  9089  	return s.String()
  9090  }
  9091  
  9092  // SetDomain sets the Domain field's value.
  9093  func (s *DomainDetails) SetDomain(v string) *DomainDetails {
  9094  	s.Domain = &v
  9095  	return s
  9096  }
  9097  
  9098  type EnableOrganizationAdminAccountInput struct {
  9099  	_ struct{} `type:"structure"`
  9100  
  9101  	// The AWS Account ID for the organization account to be enabled as a GuardDuty
  9102  	// delegated administrator.
  9103  	//
  9104  	// AdminAccountId is a required field
  9105  	AdminAccountId *string `locationName:"adminAccountId" type:"string" required:"true"`
  9106  }
  9107  
  9108  // String returns the string representation.
  9109  //
  9110  // API parameter values that are decorated as "sensitive" in the API will not
  9111  // be included in the string output. The member name will be present, but the
  9112  // value will be replaced with "sensitive".
  9113  func (s EnableOrganizationAdminAccountInput) String() string {
  9114  	return awsutil.Prettify(s)
  9115  }
  9116  
  9117  // GoString returns the string representation.
  9118  //
  9119  // API parameter values that are decorated as "sensitive" in the API will not
  9120  // be included in the string output. The member name will be present, but the
  9121  // value will be replaced with "sensitive".
  9122  func (s EnableOrganizationAdminAccountInput) GoString() string {
  9123  	return s.String()
  9124  }
  9125  
  9126  // Validate inspects the fields of the type to determine if they are valid.
  9127  func (s *EnableOrganizationAdminAccountInput) Validate() error {
  9128  	invalidParams := request.ErrInvalidParams{Context: "EnableOrganizationAdminAccountInput"}
  9129  	if s.AdminAccountId == nil {
  9130  		invalidParams.Add(request.NewErrParamRequired("AdminAccountId"))
  9131  	}
  9132  
  9133  	if invalidParams.Len() > 0 {
  9134  		return invalidParams
  9135  	}
  9136  	return nil
  9137  }
  9138  
  9139  // SetAdminAccountId sets the AdminAccountId field's value.
  9140  func (s *EnableOrganizationAdminAccountInput) SetAdminAccountId(v string) *EnableOrganizationAdminAccountInput {
  9141  	s.AdminAccountId = &v
  9142  	return s
  9143  }
  9144  
  9145  type EnableOrganizationAdminAccountOutput struct {
  9146  	_ struct{} `type:"structure" nopayload:"true"`
  9147  }
  9148  
  9149  // String returns the string representation.
  9150  //
  9151  // API parameter values that are decorated as "sensitive" in the API will not
  9152  // be included in the string output. The member name will be present, but the
  9153  // value will be replaced with "sensitive".
  9154  func (s EnableOrganizationAdminAccountOutput) String() string {
  9155  	return awsutil.Prettify(s)
  9156  }
  9157  
  9158  // GoString returns the string representation.
  9159  //
  9160  // API parameter values that are decorated as "sensitive" in the API will not
  9161  // be included in the string output. The member name will be present, but the
  9162  // value will be replaced with "sensitive".
  9163  func (s EnableOrganizationAdminAccountOutput) GoString() string {
  9164  	return s.String()
  9165  }
  9166  
  9167  // Contains information about the reason that the finding was generated.
  9168  type Evidence struct {
  9169  	_ struct{} `type:"structure"`
  9170  
  9171  	// A list of threat intelligence details related to the evidence.
  9172  	ThreatIntelligenceDetails []*ThreatIntelligenceDetail `locationName:"threatIntelligenceDetails" type:"list"`
  9173  }
  9174  
  9175  // String returns the string representation.
  9176  //
  9177  // API parameter values that are decorated as "sensitive" in the API will not
  9178  // be included in the string output. The member name will be present, but the
  9179  // value will be replaced with "sensitive".
  9180  func (s Evidence) String() string {
  9181  	return awsutil.Prettify(s)
  9182  }
  9183  
  9184  // GoString returns the string representation.
  9185  //
  9186  // API parameter values that are decorated as "sensitive" in the API will not
  9187  // be included in the string output. The member name will be present, but the
  9188  // value will be replaced with "sensitive".
  9189  func (s Evidence) GoString() string {
  9190  	return s.String()
  9191  }
  9192  
  9193  // SetThreatIntelligenceDetails sets the ThreatIntelligenceDetails field's value.
  9194  func (s *Evidence) SetThreatIntelligenceDetails(v []*ThreatIntelligenceDetail) *Evidence {
  9195  	s.ThreatIntelligenceDetails = v
  9196  	return s
  9197  }
  9198  
  9199  // Contains information about the finding, which is generated when abnormal
  9200  // or suspicious activity is detected.
  9201  type Finding struct {
  9202  	_ struct{} `type:"structure"`
  9203  
  9204  	// The ID of the account in which the finding was generated.
  9205  	//
  9206  	// AccountId is a required field
  9207  	AccountId *string `locationName:"accountId" type:"string" required:"true"`
  9208  
  9209  	// The ARN of the finding.
  9210  	//
  9211  	// Arn is a required field
  9212  	Arn *string `locationName:"arn" type:"string" required:"true"`
  9213  
  9214  	// The confidence score for the finding.
  9215  	Confidence *float64 `locationName:"confidence" type:"double"`
  9216  
  9217  	// The time and date when the finding was created.
  9218  	//
  9219  	// CreatedAt is a required field
  9220  	CreatedAt *string `locationName:"createdAt" type:"string" required:"true"`
  9221  
  9222  	// The description of the finding.
  9223  	Description *string `locationName:"description" type:"string"`
  9224  
  9225  	// The ID of the finding.
  9226  	//
  9227  	// Id is a required field
  9228  	Id *string `locationName:"id" type:"string" required:"true"`
  9229  
  9230  	// The partition associated with the finding.
  9231  	Partition *string `locationName:"partition" type:"string"`
  9232  
  9233  	// The Region where the finding was generated.
  9234  	//
  9235  	// Region is a required field
  9236  	Region *string `locationName:"region" type:"string" required:"true"`
  9237  
  9238  	// Contains information about the AWS resource associated with the activity
  9239  	// that prompted GuardDuty to generate a finding.
  9240  	//
  9241  	// Resource is a required field
  9242  	Resource *Resource `locationName:"resource" type:"structure" required:"true"`
  9243  
  9244  	// The version of the schema used for the finding.
  9245  	//
  9246  	// SchemaVersion is a required field
  9247  	SchemaVersion *string `locationName:"schemaVersion" type:"string" required:"true"`
  9248  
  9249  	// Contains additional information about the generated finding.
  9250  	Service *Service `locationName:"service" type:"structure"`
  9251  
  9252  	// The severity of the finding.
  9253  	//
  9254  	// Severity is a required field
  9255  	Severity *float64 `locationName:"severity" type:"double" required:"true"`
  9256  
  9257  	// The title of the finding.
  9258  	Title *string `locationName:"title" type:"string"`
  9259  
  9260  	// The type of finding.
  9261  	//
  9262  	// Type is a required field
  9263  	Type *string `locationName:"type" min:"1" type:"string" required:"true"`
  9264  
  9265  	// The time and date when the finding was last updated.
  9266  	//
  9267  	// UpdatedAt is a required field
  9268  	UpdatedAt *string `locationName:"updatedAt" type:"string" required:"true"`
  9269  }
  9270  
  9271  // String returns the string representation.
  9272  //
  9273  // API parameter values that are decorated as "sensitive" in the API will not
  9274  // be included in the string output. The member name will be present, but the
  9275  // value will be replaced with "sensitive".
  9276  func (s Finding) String() string {
  9277  	return awsutil.Prettify(s)
  9278  }
  9279  
  9280  // GoString returns the string representation.
  9281  //
  9282  // API parameter values that are decorated as "sensitive" in the API will not
  9283  // be included in the string output. The member name will be present, but the
  9284  // value will be replaced with "sensitive".
  9285  func (s Finding) GoString() string {
  9286  	return s.String()
  9287  }
  9288  
  9289  // SetAccountId sets the AccountId field's value.
  9290  func (s *Finding) SetAccountId(v string) *Finding {
  9291  	s.AccountId = &v
  9292  	return s
  9293  }
  9294  
  9295  // SetArn sets the Arn field's value.
  9296  func (s *Finding) SetArn(v string) *Finding {
  9297  	s.Arn = &v
  9298  	return s
  9299  }
  9300  
  9301  // SetConfidence sets the Confidence field's value.
  9302  func (s *Finding) SetConfidence(v float64) *Finding {
  9303  	s.Confidence = &v
  9304  	return s
  9305  }
  9306  
  9307  // SetCreatedAt sets the CreatedAt field's value.
  9308  func (s *Finding) SetCreatedAt(v string) *Finding {
  9309  	s.CreatedAt = &v
  9310  	return s
  9311  }
  9312  
  9313  // SetDescription sets the Description field's value.
  9314  func (s *Finding) SetDescription(v string) *Finding {
  9315  	s.Description = &v
  9316  	return s
  9317  }
  9318  
  9319  // SetId sets the Id field's value.
  9320  func (s *Finding) SetId(v string) *Finding {
  9321  	s.Id = &v
  9322  	return s
  9323  }
  9324  
  9325  // SetPartition sets the Partition field's value.
  9326  func (s *Finding) SetPartition(v string) *Finding {
  9327  	s.Partition = &v
  9328  	return s
  9329  }
  9330  
  9331  // SetRegion sets the Region field's value.
  9332  func (s *Finding) SetRegion(v string) *Finding {
  9333  	s.Region = &v
  9334  	return s
  9335  }
  9336  
  9337  // SetResource sets the Resource field's value.
  9338  func (s *Finding) SetResource(v *Resource) *Finding {
  9339  	s.Resource = v
  9340  	return s
  9341  }
  9342  
  9343  // SetSchemaVersion sets the SchemaVersion field's value.
  9344  func (s *Finding) SetSchemaVersion(v string) *Finding {
  9345  	s.SchemaVersion = &v
  9346  	return s
  9347  }
  9348  
  9349  // SetService sets the Service field's value.
  9350  func (s *Finding) SetService(v *Service) *Finding {
  9351  	s.Service = v
  9352  	return s
  9353  }
  9354  
  9355  // SetSeverity sets the Severity field's value.
  9356  func (s *Finding) SetSeverity(v float64) *Finding {
  9357  	s.Severity = &v
  9358  	return s
  9359  }
  9360  
  9361  // SetTitle sets the Title field's value.
  9362  func (s *Finding) SetTitle(v string) *Finding {
  9363  	s.Title = &v
  9364  	return s
  9365  }
  9366  
  9367  // SetType sets the Type field's value.
  9368  func (s *Finding) SetType(v string) *Finding {
  9369  	s.Type = &v
  9370  	return s
  9371  }
  9372  
  9373  // SetUpdatedAt sets the UpdatedAt field's value.
  9374  func (s *Finding) SetUpdatedAt(v string) *Finding {
  9375  	s.UpdatedAt = &v
  9376  	return s
  9377  }
  9378  
  9379  // Contains information about the criteria used for querying findings.
  9380  type FindingCriteria struct {
  9381  	_ struct{} `type:"structure"`
  9382  
  9383  	// Represents a map of finding properties that match specified conditions and
  9384  	// values when querying findings.
  9385  	Criterion map[string]*Condition `locationName:"criterion" type:"map"`
  9386  }
  9387  
  9388  // String returns the string representation.
  9389  //
  9390  // API parameter values that are decorated as "sensitive" in the API will not
  9391  // be included in the string output. The member name will be present, but the
  9392  // value will be replaced with "sensitive".
  9393  func (s FindingCriteria) String() string {
  9394  	return awsutil.Prettify(s)
  9395  }
  9396  
  9397  // GoString returns the string representation.
  9398  //
  9399  // API parameter values that are decorated as "sensitive" in the API will not
  9400  // be included in the string output. The member name will be present, but the
  9401  // value will be replaced with "sensitive".
  9402  func (s FindingCriteria) GoString() string {
  9403  	return s.String()
  9404  }
  9405  
  9406  // SetCriterion sets the Criterion field's value.
  9407  func (s *FindingCriteria) SetCriterion(v map[string]*Condition) *FindingCriteria {
  9408  	s.Criterion = v
  9409  	return s
  9410  }
  9411  
  9412  // Contains information about finding statistics.
  9413  type FindingStatistics struct {
  9414  	_ struct{} `type:"structure"`
  9415  
  9416  	// Represents a map of severity to count statistics for a set of findings.
  9417  	CountBySeverity map[string]*int64 `locationName:"countBySeverity" type:"map"`
  9418  }
  9419  
  9420  // String returns the string representation.
  9421  //
  9422  // API parameter values that are decorated as "sensitive" in the API will not
  9423  // be included in the string output. The member name will be present, but the
  9424  // value will be replaced with "sensitive".
  9425  func (s FindingStatistics) String() string {
  9426  	return awsutil.Prettify(s)
  9427  }
  9428  
  9429  // GoString returns the string representation.
  9430  //
  9431  // API parameter values that are decorated as "sensitive" in the API will not
  9432  // be included in the string output. The member name will be present, but the
  9433  // value will be replaced with "sensitive".
  9434  func (s FindingStatistics) GoString() string {
  9435  	return s.String()
  9436  }
  9437  
  9438  // SetCountBySeverity sets the CountBySeverity field's value.
  9439  func (s *FindingStatistics) SetCountBySeverity(v map[string]*int64) *FindingStatistics {
  9440  	s.CountBySeverity = v
  9441  	return s
  9442  }
  9443  
  9444  // Contains information on the status of VPC flow logs as a data source.
  9445  type FlowLogsConfigurationResult struct {
  9446  	_ struct{} `type:"structure"`
  9447  
  9448  	// Denotes whether VPC flow logs is enabled as a data source.
  9449  	//
  9450  	// Status is a required field
  9451  	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"`
  9452  }
  9453  
  9454  // String returns the string representation.
  9455  //
  9456  // API parameter values that are decorated as "sensitive" in the API will not
  9457  // be included in the string output. The member name will be present, but the
  9458  // value will be replaced with "sensitive".
  9459  func (s FlowLogsConfigurationResult) String() string {
  9460  	return awsutil.Prettify(s)
  9461  }
  9462  
  9463  // GoString returns the string representation.
  9464  //
  9465  // API parameter values that are decorated as "sensitive" in the API will not
  9466  // be included in the string output. The member name will be present, but the
  9467  // value will be replaced with "sensitive".
  9468  func (s FlowLogsConfigurationResult) GoString() string {
  9469  	return s.String()
  9470  }
  9471  
  9472  // SetStatus sets the Status field's value.
  9473  func (s *FlowLogsConfigurationResult) SetStatus(v string) *FlowLogsConfigurationResult {
  9474  	s.Status = &v
  9475  	return s
  9476  }
  9477  
  9478  // Contains information about the location of the remote IP address.
  9479  type GeoLocation struct {
  9480  	_ struct{} `type:"structure"`
  9481  
  9482  	// The latitude information of the remote IP address.
  9483  	Lat *float64 `locationName:"lat" type:"double"`
  9484  
  9485  	// The longitude information of the remote IP address.
  9486  	Lon *float64 `locationName:"lon" type:"double"`
  9487  }
  9488  
  9489  // String returns the string representation.
  9490  //
  9491  // API parameter values that are decorated as "sensitive" in the API will not
  9492  // be included in the string output. The member name will be present, but the
  9493  // value will be replaced with "sensitive".
  9494  func (s GeoLocation) String() string {
  9495  	return awsutil.Prettify(s)
  9496  }
  9497  
  9498  // GoString returns the string representation.
  9499  //
  9500  // API parameter values that are decorated as "sensitive" in the API will not
  9501  // be included in the string output. The member name will be present, but the
  9502  // value will be replaced with "sensitive".
  9503  func (s GeoLocation) GoString() string {
  9504  	return s.String()
  9505  }
  9506  
  9507  // SetLat sets the Lat field's value.
  9508  func (s *GeoLocation) SetLat(v float64) *GeoLocation {
  9509  	s.Lat = &v
  9510  	return s
  9511  }
  9512  
  9513  // SetLon sets the Lon field's value.
  9514  func (s *GeoLocation) SetLon(v float64) *GeoLocation {
  9515  	s.Lon = &v
  9516  	return s
  9517  }
  9518  
  9519  type GetDetectorInput struct {
  9520  	_ struct{} `type:"structure" nopayload:"true"`
  9521  
  9522  	// The unique ID of the detector that you want to get.
  9523  	//
  9524  	// DetectorId is a required field
  9525  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  9526  }
  9527  
  9528  // String returns the string representation.
  9529  //
  9530  // API parameter values that are decorated as "sensitive" in the API will not
  9531  // be included in the string output. The member name will be present, but the
  9532  // value will be replaced with "sensitive".
  9533  func (s GetDetectorInput) String() string {
  9534  	return awsutil.Prettify(s)
  9535  }
  9536  
  9537  // GoString returns the string representation.
  9538  //
  9539  // API parameter values that are decorated as "sensitive" in the API will not
  9540  // be included in the string output. The member name will be present, but the
  9541  // value will be replaced with "sensitive".
  9542  func (s GetDetectorInput) GoString() string {
  9543  	return s.String()
  9544  }
  9545  
  9546  // Validate inspects the fields of the type to determine if they are valid.
  9547  func (s *GetDetectorInput) Validate() error {
  9548  	invalidParams := request.ErrInvalidParams{Context: "GetDetectorInput"}
  9549  	if s.DetectorId == nil {
  9550  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  9551  	}
  9552  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  9553  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  9554  	}
  9555  
  9556  	if invalidParams.Len() > 0 {
  9557  		return invalidParams
  9558  	}
  9559  	return nil
  9560  }
  9561  
  9562  // SetDetectorId sets the DetectorId field's value.
  9563  func (s *GetDetectorInput) SetDetectorId(v string) *GetDetectorInput {
  9564  	s.DetectorId = &v
  9565  	return s
  9566  }
  9567  
  9568  type GetDetectorOutput struct {
  9569  	_ struct{} `type:"structure"`
  9570  
  9571  	// The timestamp of when the detector was created.
  9572  	CreatedAt *string `locationName:"createdAt" type:"string"`
  9573  
  9574  	// Describes which data sources are enabled for the detector.
  9575  	DataSources *DataSourceConfigurationsResult `locationName:"dataSources" type:"structure"`
  9576  
  9577  	// The publishing frequency of the finding.
  9578  	FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"`
  9579  
  9580  	// The GuardDuty service role.
  9581  	//
  9582  	// ServiceRole is a required field
  9583  	ServiceRole *string `locationName:"serviceRole" type:"string" required:"true"`
  9584  
  9585  	// The detector status.
  9586  	//
  9587  	// Status is a required field
  9588  	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DetectorStatus"`
  9589  
  9590  	// The tags of the detector resource.
  9591  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  9592  
  9593  	// The last-updated timestamp for the detector.
  9594  	UpdatedAt *string `locationName:"updatedAt" type:"string"`
  9595  }
  9596  
  9597  // String returns the string representation.
  9598  //
  9599  // API parameter values that are decorated as "sensitive" in the API will not
  9600  // be included in the string output. The member name will be present, but the
  9601  // value will be replaced with "sensitive".
  9602  func (s GetDetectorOutput) String() string {
  9603  	return awsutil.Prettify(s)
  9604  }
  9605  
  9606  // GoString returns the string representation.
  9607  //
  9608  // API parameter values that are decorated as "sensitive" in the API will not
  9609  // be included in the string output. The member name will be present, but the
  9610  // value will be replaced with "sensitive".
  9611  func (s GetDetectorOutput) GoString() string {
  9612  	return s.String()
  9613  }
  9614  
  9615  // SetCreatedAt sets the CreatedAt field's value.
  9616  func (s *GetDetectorOutput) SetCreatedAt(v string) *GetDetectorOutput {
  9617  	s.CreatedAt = &v
  9618  	return s
  9619  }
  9620  
  9621  // SetDataSources sets the DataSources field's value.
  9622  func (s *GetDetectorOutput) SetDataSources(v *DataSourceConfigurationsResult) *GetDetectorOutput {
  9623  	s.DataSources = v
  9624  	return s
  9625  }
  9626  
  9627  // SetFindingPublishingFrequency sets the FindingPublishingFrequency field's value.
  9628  func (s *GetDetectorOutput) SetFindingPublishingFrequency(v string) *GetDetectorOutput {
  9629  	s.FindingPublishingFrequency = &v
  9630  	return s
  9631  }
  9632  
  9633  // SetServiceRole sets the ServiceRole field's value.
  9634  func (s *GetDetectorOutput) SetServiceRole(v string) *GetDetectorOutput {
  9635  	s.ServiceRole = &v
  9636  	return s
  9637  }
  9638  
  9639  // SetStatus sets the Status field's value.
  9640  func (s *GetDetectorOutput) SetStatus(v string) *GetDetectorOutput {
  9641  	s.Status = &v
  9642  	return s
  9643  }
  9644  
  9645  // SetTags sets the Tags field's value.
  9646  func (s *GetDetectorOutput) SetTags(v map[string]*string) *GetDetectorOutput {
  9647  	s.Tags = v
  9648  	return s
  9649  }
  9650  
  9651  // SetUpdatedAt sets the UpdatedAt field's value.
  9652  func (s *GetDetectorOutput) SetUpdatedAt(v string) *GetDetectorOutput {
  9653  	s.UpdatedAt = &v
  9654  	return s
  9655  }
  9656  
  9657  type GetFilterInput struct {
  9658  	_ struct{} `type:"structure" nopayload:"true"`
  9659  
  9660  	// The unique ID of the detector that the filter is associated with.
  9661  	//
  9662  	// DetectorId is a required field
  9663  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  9664  
  9665  	// The name of the filter you want to get.
  9666  	//
  9667  	// FilterName is a required field
  9668  	FilterName *string `location:"uri" locationName:"filterName" type:"string" required:"true"`
  9669  }
  9670  
  9671  // String returns the string representation.
  9672  //
  9673  // API parameter values that are decorated as "sensitive" in the API will not
  9674  // be included in the string output. The member name will be present, but the
  9675  // value will be replaced with "sensitive".
  9676  func (s GetFilterInput) String() string {
  9677  	return awsutil.Prettify(s)
  9678  }
  9679  
  9680  // GoString returns the string representation.
  9681  //
  9682  // API parameter values that are decorated as "sensitive" in the API will not
  9683  // be included in the string output. The member name will be present, but the
  9684  // value will be replaced with "sensitive".
  9685  func (s GetFilterInput) GoString() string {
  9686  	return s.String()
  9687  }
  9688  
  9689  // Validate inspects the fields of the type to determine if they are valid.
  9690  func (s *GetFilterInput) Validate() error {
  9691  	invalidParams := request.ErrInvalidParams{Context: "GetFilterInput"}
  9692  	if s.DetectorId == nil {
  9693  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  9694  	}
  9695  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  9696  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  9697  	}
  9698  	if s.FilterName == nil {
  9699  		invalidParams.Add(request.NewErrParamRequired("FilterName"))
  9700  	}
  9701  	if s.FilterName != nil && len(*s.FilterName) < 1 {
  9702  		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
  9703  	}
  9704  
  9705  	if invalidParams.Len() > 0 {
  9706  		return invalidParams
  9707  	}
  9708  	return nil
  9709  }
  9710  
  9711  // SetDetectorId sets the DetectorId field's value.
  9712  func (s *GetFilterInput) SetDetectorId(v string) *GetFilterInput {
  9713  	s.DetectorId = &v
  9714  	return s
  9715  }
  9716  
  9717  // SetFilterName sets the FilterName field's value.
  9718  func (s *GetFilterInput) SetFilterName(v string) *GetFilterInput {
  9719  	s.FilterName = &v
  9720  	return s
  9721  }
  9722  
  9723  type GetFilterOutput struct {
  9724  	_ struct{} `type:"structure"`
  9725  
  9726  	// Specifies the action that is to be applied to the findings that match the
  9727  	// filter.
  9728  	//
  9729  	// Action is a required field
  9730  	Action *string `locationName:"action" min:"1" type:"string" required:"true" enum:"FilterAction"`
  9731  
  9732  	// The description of the filter.
  9733  	Description *string `locationName:"description" type:"string"`
  9734  
  9735  	// Represents the criteria to be used in the filter for querying findings.
  9736  	//
  9737  	// FindingCriteria is a required field
  9738  	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure" required:"true"`
  9739  
  9740  	// The name of the filter.
  9741  	//
  9742  	// Name is a required field
  9743  	Name *string `locationName:"name" min:"3" type:"string" required:"true"`
  9744  
  9745  	// Specifies the position of the filter in the list of current filters. Also
  9746  	// specifies the order in which this filter is applied to the findings.
  9747  	Rank *int64 `locationName:"rank" min:"1" type:"integer"`
  9748  
  9749  	// The tags of the filter resource.
  9750  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
  9751  }
  9752  
  9753  // String returns the string representation.
  9754  //
  9755  // API parameter values that are decorated as "sensitive" in the API will not
  9756  // be included in the string output. The member name will be present, but the
  9757  // value will be replaced with "sensitive".
  9758  func (s GetFilterOutput) String() string {
  9759  	return awsutil.Prettify(s)
  9760  }
  9761  
  9762  // GoString returns the string representation.
  9763  //
  9764  // API parameter values that are decorated as "sensitive" in the API will not
  9765  // be included in the string output. The member name will be present, but the
  9766  // value will be replaced with "sensitive".
  9767  func (s GetFilterOutput) GoString() string {
  9768  	return s.String()
  9769  }
  9770  
  9771  // SetAction sets the Action field's value.
  9772  func (s *GetFilterOutput) SetAction(v string) *GetFilterOutput {
  9773  	s.Action = &v
  9774  	return s
  9775  }
  9776  
  9777  // SetDescription sets the Description field's value.
  9778  func (s *GetFilterOutput) SetDescription(v string) *GetFilterOutput {
  9779  	s.Description = &v
  9780  	return s
  9781  }
  9782  
  9783  // SetFindingCriteria sets the FindingCriteria field's value.
  9784  func (s *GetFilterOutput) SetFindingCriteria(v *FindingCriteria) *GetFilterOutput {
  9785  	s.FindingCriteria = v
  9786  	return s
  9787  }
  9788  
  9789  // SetName sets the Name field's value.
  9790  func (s *GetFilterOutput) SetName(v string) *GetFilterOutput {
  9791  	s.Name = &v
  9792  	return s
  9793  }
  9794  
  9795  // SetRank sets the Rank field's value.
  9796  func (s *GetFilterOutput) SetRank(v int64) *GetFilterOutput {
  9797  	s.Rank = &v
  9798  	return s
  9799  }
  9800  
  9801  // SetTags sets the Tags field's value.
  9802  func (s *GetFilterOutput) SetTags(v map[string]*string) *GetFilterOutput {
  9803  	s.Tags = v
  9804  	return s
  9805  }
  9806  
  9807  type GetFindingsInput struct {
  9808  	_ struct{} `type:"structure"`
  9809  
  9810  	// The ID of the detector that specifies the GuardDuty service whose findings
  9811  	// you want to retrieve.
  9812  	//
  9813  	// DetectorId is a required field
  9814  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  9815  
  9816  	// The IDs of the findings that you want to retrieve.
  9817  	//
  9818  	// FindingIds is a required field
  9819  	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
  9820  
  9821  	// Represents the criteria used for sorting findings.
  9822  	SortCriteria *SortCriteria `locationName:"sortCriteria" type:"structure"`
  9823  }
  9824  
  9825  // String returns the string representation.
  9826  //
  9827  // API parameter values that are decorated as "sensitive" in the API will not
  9828  // be included in the string output. The member name will be present, but the
  9829  // value will be replaced with "sensitive".
  9830  func (s GetFindingsInput) String() string {
  9831  	return awsutil.Prettify(s)
  9832  }
  9833  
  9834  // GoString returns the string representation.
  9835  //
  9836  // API parameter values that are decorated as "sensitive" in the API will not
  9837  // be included in the string output. The member name will be present, but the
  9838  // value will be replaced with "sensitive".
  9839  func (s GetFindingsInput) GoString() string {
  9840  	return s.String()
  9841  }
  9842  
  9843  // Validate inspects the fields of the type to determine if they are valid.
  9844  func (s *GetFindingsInput) Validate() error {
  9845  	invalidParams := request.ErrInvalidParams{Context: "GetFindingsInput"}
  9846  	if s.DetectorId == nil {
  9847  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  9848  	}
  9849  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  9850  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  9851  	}
  9852  	if s.FindingIds == nil {
  9853  		invalidParams.Add(request.NewErrParamRequired("FindingIds"))
  9854  	}
  9855  
  9856  	if invalidParams.Len() > 0 {
  9857  		return invalidParams
  9858  	}
  9859  	return nil
  9860  }
  9861  
  9862  // SetDetectorId sets the DetectorId field's value.
  9863  func (s *GetFindingsInput) SetDetectorId(v string) *GetFindingsInput {
  9864  	s.DetectorId = &v
  9865  	return s
  9866  }
  9867  
  9868  // SetFindingIds sets the FindingIds field's value.
  9869  func (s *GetFindingsInput) SetFindingIds(v []*string) *GetFindingsInput {
  9870  	s.FindingIds = v
  9871  	return s
  9872  }
  9873  
  9874  // SetSortCriteria sets the SortCriteria field's value.
  9875  func (s *GetFindingsInput) SetSortCriteria(v *SortCriteria) *GetFindingsInput {
  9876  	s.SortCriteria = v
  9877  	return s
  9878  }
  9879  
  9880  type GetFindingsOutput struct {
  9881  	_ struct{} `type:"structure"`
  9882  
  9883  	// A list of findings.
  9884  	//
  9885  	// Findings is a required field
  9886  	Findings []*Finding `locationName:"findings" type:"list" required:"true"`
  9887  }
  9888  
  9889  // String returns the string representation.
  9890  //
  9891  // API parameter values that are decorated as "sensitive" in the API will not
  9892  // be included in the string output. The member name will be present, but the
  9893  // value will be replaced with "sensitive".
  9894  func (s GetFindingsOutput) String() string {
  9895  	return awsutil.Prettify(s)
  9896  }
  9897  
  9898  // GoString returns the string representation.
  9899  //
  9900  // API parameter values that are decorated as "sensitive" in the API will not
  9901  // be included in the string output. The member name will be present, but the
  9902  // value will be replaced with "sensitive".
  9903  func (s GetFindingsOutput) GoString() string {
  9904  	return s.String()
  9905  }
  9906  
  9907  // SetFindings sets the Findings field's value.
  9908  func (s *GetFindingsOutput) SetFindings(v []*Finding) *GetFindingsOutput {
  9909  	s.Findings = v
  9910  	return s
  9911  }
  9912  
  9913  type GetFindingsStatisticsInput struct {
  9914  	_ struct{} `type:"structure"`
  9915  
  9916  	// The ID of the detector that specifies the GuardDuty service whose findings'
  9917  	// statistics you want to retrieve.
  9918  	//
  9919  	// DetectorId is a required field
  9920  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
  9921  
  9922  	// Represents the criteria that is used for querying findings.
  9923  	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"`
  9924  
  9925  	// The types of finding statistics to retrieve.
  9926  	//
  9927  	// FindingStatisticTypes is a required field
  9928  	FindingStatisticTypes []*string `locationName:"findingStatisticTypes" type:"list" required:"true"`
  9929  }
  9930  
  9931  // String returns the string representation.
  9932  //
  9933  // API parameter values that are decorated as "sensitive" in the API will not
  9934  // be included in the string output. The member name will be present, but the
  9935  // value will be replaced with "sensitive".
  9936  func (s GetFindingsStatisticsInput) String() string {
  9937  	return awsutil.Prettify(s)
  9938  }
  9939  
  9940  // GoString returns the string representation.
  9941  //
  9942  // API parameter values that are decorated as "sensitive" in the API will not
  9943  // be included in the string output. The member name will be present, but the
  9944  // value will be replaced with "sensitive".
  9945  func (s GetFindingsStatisticsInput) GoString() string {
  9946  	return s.String()
  9947  }
  9948  
  9949  // Validate inspects the fields of the type to determine if they are valid.
  9950  func (s *GetFindingsStatisticsInput) Validate() error {
  9951  	invalidParams := request.ErrInvalidParams{Context: "GetFindingsStatisticsInput"}
  9952  	if s.DetectorId == nil {
  9953  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
  9954  	}
  9955  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
  9956  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
  9957  	}
  9958  	if s.FindingStatisticTypes == nil {
  9959  		invalidParams.Add(request.NewErrParamRequired("FindingStatisticTypes"))
  9960  	}
  9961  
  9962  	if invalidParams.Len() > 0 {
  9963  		return invalidParams
  9964  	}
  9965  	return nil
  9966  }
  9967  
  9968  // SetDetectorId sets the DetectorId field's value.
  9969  func (s *GetFindingsStatisticsInput) SetDetectorId(v string) *GetFindingsStatisticsInput {
  9970  	s.DetectorId = &v
  9971  	return s
  9972  }
  9973  
  9974  // SetFindingCriteria sets the FindingCriteria field's value.
  9975  func (s *GetFindingsStatisticsInput) SetFindingCriteria(v *FindingCriteria) *GetFindingsStatisticsInput {
  9976  	s.FindingCriteria = v
  9977  	return s
  9978  }
  9979  
  9980  // SetFindingStatisticTypes sets the FindingStatisticTypes field's value.
  9981  func (s *GetFindingsStatisticsInput) SetFindingStatisticTypes(v []*string) *GetFindingsStatisticsInput {
  9982  	s.FindingStatisticTypes = v
  9983  	return s
  9984  }
  9985  
  9986  type GetFindingsStatisticsOutput struct {
  9987  	_ struct{} `type:"structure"`
  9988  
  9989  	// The finding statistics object.
  9990  	//
  9991  	// FindingStatistics is a required field
  9992  	FindingStatistics *FindingStatistics `locationName:"findingStatistics" type:"structure" required:"true"`
  9993  }
  9994  
  9995  // String returns the string representation.
  9996  //
  9997  // API parameter values that are decorated as "sensitive" in the API will not
  9998  // be included in the string output. The member name will be present, but the
  9999  // value will be replaced with "sensitive".
 10000  func (s GetFindingsStatisticsOutput) String() string {
 10001  	return awsutil.Prettify(s)
 10002  }
 10003  
 10004  // GoString returns the string representation.
 10005  //
 10006  // API parameter values that are decorated as "sensitive" in the API will not
 10007  // be included in the string output. The member name will be present, but the
 10008  // value will be replaced with "sensitive".
 10009  func (s GetFindingsStatisticsOutput) GoString() string {
 10010  	return s.String()
 10011  }
 10012  
 10013  // SetFindingStatistics sets the FindingStatistics field's value.
 10014  func (s *GetFindingsStatisticsOutput) SetFindingStatistics(v *FindingStatistics) *GetFindingsStatisticsOutput {
 10015  	s.FindingStatistics = v
 10016  	return s
 10017  }
 10018  
 10019  type GetIPSetInput struct {
 10020  	_ struct{} `type:"structure" nopayload:"true"`
 10021  
 10022  	// The unique ID of the detector that the IPSet is associated with.
 10023  	//
 10024  	// DetectorId is a required field
 10025  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 10026  
 10027  	// The unique ID of the IPSet to retrieve.
 10028  	//
 10029  	// IpSetId is a required field
 10030  	IpSetId *string `location:"uri" locationName:"ipSetId" type:"string" required:"true"`
 10031  }
 10032  
 10033  // String returns the string representation.
 10034  //
 10035  // API parameter values that are decorated as "sensitive" in the API will not
 10036  // be included in the string output. The member name will be present, but the
 10037  // value will be replaced with "sensitive".
 10038  func (s GetIPSetInput) String() string {
 10039  	return awsutil.Prettify(s)
 10040  }
 10041  
 10042  // GoString returns the string representation.
 10043  //
 10044  // API parameter values that are decorated as "sensitive" in the API will not
 10045  // be included in the string output. The member name will be present, but the
 10046  // value will be replaced with "sensitive".
 10047  func (s GetIPSetInput) GoString() string {
 10048  	return s.String()
 10049  }
 10050  
 10051  // Validate inspects the fields of the type to determine if they are valid.
 10052  func (s *GetIPSetInput) Validate() error {
 10053  	invalidParams := request.ErrInvalidParams{Context: "GetIPSetInput"}
 10054  	if s.DetectorId == nil {
 10055  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 10056  	}
 10057  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 10058  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 10059  	}
 10060  	if s.IpSetId == nil {
 10061  		invalidParams.Add(request.NewErrParamRequired("IpSetId"))
 10062  	}
 10063  	if s.IpSetId != nil && len(*s.IpSetId) < 1 {
 10064  		invalidParams.Add(request.NewErrParamMinLen("IpSetId", 1))
 10065  	}
 10066  
 10067  	if invalidParams.Len() > 0 {
 10068  		return invalidParams
 10069  	}
 10070  	return nil
 10071  }
 10072  
 10073  // SetDetectorId sets the DetectorId field's value.
 10074  func (s *GetIPSetInput) SetDetectorId(v string) *GetIPSetInput {
 10075  	s.DetectorId = &v
 10076  	return s
 10077  }
 10078  
 10079  // SetIpSetId sets the IpSetId field's value.
 10080  func (s *GetIPSetInput) SetIpSetId(v string) *GetIPSetInput {
 10081  	s.IpSetId = &v
 10082  	return s
 10083  }
 10084  
 10085  type GetIPSetOutput struct {
 10086  	_ struct{} `type:"structure"`
 10087  
 10088  	// The format of the file that contains the IPSet.
 10089  	//
 10090  	// Format is a required field
 10091  	Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"IpSetFormat"`
 10092  
 10093  	// The URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
 10094  	//
 10095  	// Location is a required field
 10096  	Location *string `locationName:"location" min:"1" type:"string" required:"true"`
 10097  
 10098  	// The user-friendly name for the IPSet.
 10099  	//
 10100  	// Name is a required field
 10101  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 10102  
 10103  	// The status of IPSet file that was uploaded.
 10104  	//
 10105  	// Status is a required field
 10106  	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"IpSetStatus"`
 10107  
 10108  	// The tags of the IPSet resource.
 10109  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
 10110  }
 10111  
 10112  // String returns the string representation.
 10113  //
 10114  // API parameter values that are decorated as "sensitive" in the API will not
 10115  // be included in the string output. The member name will be present, but the
 10116  // value will be replaced with "sensitive".
 10117  func (s GetIPSetOutput) String() string {
 10118  	return awsutil.Prettify(s)
 10119  }
 10120  
 10121  // GoString returns the string representation.
 10122  //
 10123  // API parameter values that are decorated as "sensitive" in the API will not
 10124  // be included in the string output. The member name will be present, but the
 10125  // value will be replaced with "sensitive".
 10126  func (s GetIPSetOutput) GoString() string {
 10127  	return s.String()
 10128  }
 10129  
 10130  // SetFormat sets the Format field's value.
 10131  func (s *GetIPSetOutput) SetFormat(v string) *GetIPSetOutput {
 10132  	s.Format = &v
 10133  	return s
 10134  }
 10135  
 10136  // SetLocation sets the Location field's value.
 10137  func (s *GetIPSetOutput) SetLocation(v string) *GetIPSetOutput {
 10138  	s.Location = &v
 10139  	return s
 10140  }
 10141  
 10142  // SetName sets the Name field's value.
 10143  func (s *GetIPSetOutput) SetName(v string) *GetIPSetOutput {
 10144  	s.Name = &v
 10145  	return s
 10146  }
 10147  
 10148  // SetStatus sets the Status field's value.
 10149  func (s *GetIPSetOutput) SetStatus(v string) *GetIPSetOutput {
 10150  	s.Status = &v
 10151  	return s
 10152  }
 10153  
 10154  // SetTags sets the Tags field's value.
 10155  func (s *GetIPSetOutput) SetTags(v map[string]*string) *GetIPSetOutput {
 10156  	s.Tags = v
 10157  	return s
 10158  }
 10159  
 10160  type GetInvitationsCountInput struct {
 10161  	_ struct{} `type:"structure" nopayload:"true"`
 10162  }
 10163  
 10164  // String returns the string representation.
 10165  //
 10166  // API parameter values that are decorated as "sensitive" in the API will not
 10167  // be included in the string output. The member name will be present, but the
 10168  // value will be replaced with "sensitive".
 10169  func (s GetInvitationsCountInput) String() string {
 10170  	return awsutil.Prettify(s)
 10171  }
 10172  
 10173  // GoString returns the string representation.
 10174  //
 10175  // API parameter values that are decorated as "sensitive" in the API will not
 10176  // be included in the string output. The member name will be present, but the
 10177  // value will be replaced with "sensitive".
 10178  func (s GetInvitationsCountInput) GoString() string {
 10179  	return s.String()
 10180  }
 10181  
 10182  type GetInvitationsCountOutput struct {
 10183  	_ struct{} `type:"structure"`
 10184  
 10185  	// The number of received invitations.
 10186  	InvitationsCount *int64 `locationName:"invitationsCount" type:"integer"`
 10187  }
 10188  
 10189  // String returns the string representation.
 10190  //
 10191  // API parameter values that are decorated as "sensitive" in the API will not
 10192  // be included in the string output. The member name will be present, but the
 10193  // value will be replaced with "sensitive".
 10194  func (s GetInvitationsCountOutput) String() string {
 10195  	return awsutil.Prettify(s)
 10196  }
 10197  
 10198  // GoString returns the string representation.
 10199  //
 10200  // API parameter values that are decorated as "sensitive" in the API will not
 10201  // be included in the string output. The member name will be present, but the
 10202  // value will be replaced with "sensitive".
 10203  func (s GetInvitationsCountOutput) GoString() string {
 10204  	return s.String()
 10205  }
 10206  
 10207  // SetInvitationsCount sets the InvitationsCount field's value.
 10208  func (s *GetInvitationsCountOutput) SetInvitationsCount(v int64) *GetInvitationsCountOutput {
 10209  	s.InvitationsCount = &v
 10210  	return s
 10211  }
 10212  
 10213  type GetMasterAccountInput struct {
 10214  	_ struct{} `type:"structure" nopayload:"true"`
 10215  
 10216  	// The unique ID of the detector of the GuardDuty member account.
 10217  	//
 10218  	// DetectorId is a required field
 10219  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 10220  }
 10221  
 10222  // String returns the string representation.
 10223  //
 10224  // API parameter values that are decorated as "sensitive" in the API will not
 10225  // be included in the string output. The member name will be present, but the
 10226  // value will be replaced with "sensitive".
 10227  func (s GetMasterAccountInput) String() string {
 10228  	return awsutil.Prettify(s)
 10229  }
 10230  
 10231  // GoString returns the string representation.
 10232  //
 10233  // API parameter values that are decorated as "sensitive" in the API will not
 10234  // be included in the string output. The member name will be present, but the
 10235  // value will be replaced with "sensitive".
 10236  func (s GetMasterAccountInput) GoString() string {
 10237  	return s.String()
 10238  }
 10239  
 10240  // Validate inspects the fields of the type to determine if they are valid.
 10241  func (s *GetMasterAccountInput) Validate() error {
 10242  	invalidParams := request.ErrInvalidParams{Context: "GetMasterAccountInput"}
 10243  	if s.DetectorId == nil {
 10244  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 10245  	}
 10246  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 10247  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 10248  	}
 10249  
 10250  	if invalidParams.Len() > 0 {
 10251  		return invalidParams
 10252  	}
 10253  	return nil
 10254  }
 10255  
 10256  // SetDetectorId sets the DetectorId field's value.
 10257  func (s *GetMasterAccountInput) SetDetectorId(v string) *GetMasterAccountInput {
 10258  	s.DetectorId = &v
 10259  	return s
 10260  }
 10261  
 10262  type GetMasterAccountOutput struct {
 10263  	_ struct{} `type:"structure"`
 10264  
 10265  	// The administrator account details.
 10266  	//
 10267  	// Master is a required field
 10268  	Master *Master `locationName:"master" type:"structure" required:"true"`
 10269  }
 10270  
 10271  // String returns the string representation.
 10272  //
 10273  // API parameter values that are decorated as "sensitive" in the API will not
 10274  // be included in the string output. The member name will be present, but the
 10275  // value will be replaced with "sensitive".
 10276  func (s GetMasterAccountOutput) String() string {
 10277  	return awsutil.Prettify(s)
 10278  }
 10279  
 10280  // GoString returns the string representation.
 10281  //
 10282  // API parameter values that are decorated as "sensitive" in the API will not
 10283  // be included in the string output. The member name will be present, but the
 10284  // value will be replaced with "sensitive".
 10285  func (s GetMasterAccountOutput) GoString() string {
 10286  	return s.String()
 10287  }
 10288  
 10289  // SetMaster sets the Master field's value.
 10290  func (s *GetMasterAccountOutput) SetMaster(v *Master) *GetMasterAccountOutput {
 10291  	s.Master = v
 10292  	return s
 10293  }
 10294  
 10295  type GetMemberDetectorsInput struct {
 10296  	_ struct{} `type:"structure"`
 10297  
 10298  	// The account ID of the member account.
 10299  	//
 10300  	// AccountIds is a required field
 10301  	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
 10302  
 10303  	// The detector ID for the administrator account.
 10304  	//
 10305  	// DetectorId is a required field
 10306  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 10307  }
 10308  
 10309  // String returns the string representation.
 10310  //
 10311  // API parameter values that are decorated as "sensitive" in the API will not
 10312  // be included in the string output. The member name will be present, but the
 10313  // value will be replaced with "sensitive".
 10314  func (s GetMemberDetectorsInput) String() string {
 10315  	return awsutil.Prettify(s)
 10316  }
 10317  
 10318  // GoString returns the string representation.
 10319  //
 10320  // API parameter values that are decorated as "sensitive" in the API will not
 10321  // be included in the string output. The member name will be present, but the
 10322  // value will be replaced with "sensitive".
 10323  func (s GetMemberDetectorsInput) GoString() string {
 10324  	return s.String()
 10325  }
 10326  
 10327  // Validate inspects the fields of the type to determine if they are valid.
 10328  func (s *GetMemberDetectorsInput) Validate() error {
 10329  	invalidParams := request.ErrInvalidParams{Context: "GetMemberDetectorsInput"}
 10330  	if s.AccountIds == nil {
 10331  		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
 10332  	}
 10333  	if s.AccountIds != nil && len(s.AccountIds) < 1 {
 10334  		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
 10335  	}
 10336  	if s.DetectorId == nil {
 10337  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 10338  	}
 10339  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 10340  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 10341  	}
 10342  
 10343  	if invalidParams.Len() > 0 {
 10344  		return invalidParams
 10345  	}
 10346  	return nil
 10347  }
 10348  
 10349  // SetAccountIds sets the AccountIds field's value.
 10350  func (s *GetMemberDetectorsInput) SetAccountIds(v []*string) *GetMemberDetectorsInput {
 10351  	s.AccountIds = v
 10352  	return s
 10353  }
 10354  
 10355  // SetDetectorId sets the DetectorId field's value.
 10356  func (s *GetMemberDetectorsInput) SetDetectorId(v string) *GetMemberDetectorsInput {
 10357  	s.DetectorId = &v
 10358  	return s
 10359  }
 10360  
 10361  type GetMemberDetectorsOutput struct {
 10362  	_ struct{} `type:"structure"`
 10363  
 10364  	// An object that describes which data sources are enabled for a member account.
 10365  	//
 10366  	// MemberDataSourceConfigurations is a required field
 10367  	MemberDataSourceConfigurations []*MemberDataSourceConfiguration `locationName:"members" min:"1" type:"list" required:"true"`
 10368  
 10369  	// A list of member account IDs that were unable to be processed along with
 10370  	// an explanation for why they were not processed.
 10371  	//
 10372  	// UnprocessedAccounts is a required field
 10373  	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
 10374  }
 10375  
 10376  // String returns the string representation.
 10377  //
 10378  // API parameter values that are decorated as "sensitive" in the API will not
 10379  // be included in the string output. The member name will be present, but the
 10380  // value will be replaced with "sensitive".
 10381  func (s GetMemberDetectorsOutput) String() string {
 10382  	return awsutil.Prettify(s)
 10383  }
 10384  
 10385  // GoString returns the string representation.
 10386  //
 10387  // API parameter values that are decorated as "sensitive" in the API will not
 10388  // be included in the string output. The member name will be present, but the
 10389  // value will be replaced with "sensitive".
 10390  func (s GetMemberDetectorsOutput) GoString() string {
 10391  	return s.String()
 10392  }
 10393  
 10394  // SetMemberDataSourceConfigurations sets the MemberDataSourceConfigurations field's value.
 10395  func (s *GetMemberDetectorsOutput) SetMemberDataSourceConfigurations(v []*MemberDataSourceConfiguration) *GetMemberDetectorsOutput {
 10396  	s.MemberDataSourceConfigurations = v
 10397  	return s
 10398  }
 10399  
 10400  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
 10401  func (s *GetMemberDetectorsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *GetMemberDetectorsOutput {
 10402  	s.UnprocessedAccounts = v
 10403  	return s
 10404  }
 10405  
 10406  type GetMembersInput struct {
 10407  	_ struct{} `type:"structure"`
 10408  
 10409  	// A list of account IDs of the GuardDuty member accounts that you want to describe.
 10410  	//
 10411  	// AccountIds is a required field
 10412  	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
 10413  
 10414  	// The unique ID of the detector of the GuardDuty account whose members you
 10415  	// want to retrieve.
 10416  	//
 10417  	// DetectorId is a required field
 10418  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 10419  }
 10420  
 10421  // String returns the string representation.
 10422  //
 10423  // API parameter values that are decorated as "sensitive" in the API will not
 10424  // be included in the string output. The member name will be present, but the
 10425  // value will be replaced with "sensitive".
 10426  func (s GetMembersInput) String() string {
 10427  	return awsutil.Prettify(s)
 10428  }
 10429  
 10430  // GoString returns the string representation.
 10431  //
 10432  // API parameter values that are decorated as "sensitive" in the API will not
 10433  // be included in the string output. The member name will be present, but the
 10434  // value will be replaced with "sensitive".
 10435  func (s GetMembersInput) GoString() string {
 10436  	return s.String()
 10437  }
 10438  
 10439  // Validate inspects the fields of the type to determine if they are valid.
 10440  func (s *GetMembersInput) Validate() error {
 10441  	invalidParams := request.ErrInvalidParams{Context: "GetMembersInput"}
 10442  	if s.AccountIds == nil {
 10443  		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
 10444  	}
 10445  	if s.AccountIds != nil && len(s.AccountIds) < 1 {
 10446  		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
 10447  	}
 10448  	if s.DetectorId == nil {
 10449  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 10450  	}
 10451  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 10452  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 10453  	}
 10454  
 10455  	if invalidParams.Len() > 0 {
 10456  		return invalidParams
 10457  	}
 10458  	return nil
 10459  }
 10460  
 10461  // SetAccountIds sets the AccountIds field's value.
 10462  func (s *GetMembersInput) SetAccountIds(v []*string) *GetMembersInput {
 10463  	s.AccountIds = v
 10464  	return s
 10465  }
 10466  
 10467  // SetDetectorId sets the DetectorId field's value.
 10468  func (s *GetMembersInput) SetDetectorId(v string) *GetMembersInput {
 10469  	s.DetectorId = &v
 10470  	return s
 10471  }
 10472  
 10473  type GetMembersOutput struct {
 10474  	_ struct{} `type:"structure"`
 10475  
 10476  	// A list of members.
 10477  	//
 10478  	// Members is a required field
 10479  	Members []*Member `locationName:"members" type:"list" required:"true"`
 10480  
 10481  	// A list of objects that contain the unprocessed account and a result string
 10482  	// that explains why it was unprocessed.
 10483  	//
 10484  	// UnprocessedAccounts is a required field
 10485  	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
 10486  }
 10487  
 10488  // String returns the string representation.
 10489  //
 10490  // API parameter values that are decorated as "sensitive" in the API will not
 10491  // be included in the string output. The member name will be present, but the
 10492  // value will be replaced with "sensitive".
 10493  func (s GetMembersOutput) String() string {
 10494  	return awsutil.Prettify(s)
 10495  }
 10496  
 10497  // GoString returns the string representation.
 10498  //
 10499  // API parameter values that are decorated as "sensitive" in the API will not
 10500  // be included in the string output. The member name will be present, but the
 10501  // value will be replaced with "sensitive".
 10502  func (s GetMembersOutput) GoString() string {
 10503  	return s.String()
 10504  }
 10505  
 10506  // SetMembers sets the Members field's value.
 10507  func (s *GetMembersOutput) SetMembers(v []*Member) *GetMembersOutput {
 10508  	s.Members = v
 10509  	return s
 10510  }
 10511  
 10512  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
 10513  func (s *GetMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *GetMembersOutput {
 10514  	s.UnprocessedAccounts = v
 10515  	return s
 10516  }
 10517  
 10518  type GetThreatIntelSetInput struct {
 10519  	_ struct{} `type:"structure" nopayload:"true"`
 10520  
 10521  	// The unique ID of the detector that the threatIntelSet is associated with.
 10522  	//
 10523  	// DetectorId is a required field
 10524  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 10525  
 10526  	// The unique ID of the threatIntelSet that you want to get.
 10527  	//
 10528  	// ThreatIntelSetId is a required field
 10529  	ThreatIntelSetId *string `location:"uri" locationName:"threatIntelSetId" type:"string" required:"true"`
 10530  }
 10531  
 10532  // String returns the string representation.
 10533  //
 10534  // API parameter values that are decorated as "sensitive" in the API will not
 10535  // be included in the string output. The member name will be present, but the
 10536  // value will be replaced with "sensitive".
 10537  func (s GetThreatIntelSetInput) String() string {
 10538  	return awsutil.Prettify(s)
 10539  }
 10540  
 10541  // GoString returns the string representation.
 10542  //
 10543  // API parameter values that are decorated as "sensitive" in the API will not
 10544  // be included in the string output. The member name will be present, but the
 10545  // value will be replaced with "sensitive".
 10546  func (s GetThreatIntelSetInput) GoString() string {
 10547  	return s.String()
 10548  }
 10549  
 10550  // Validate inspects the fields of the type to determine if they are valid.
 10551  func (s *GetThreatIntelSetInput) Validate() error {
 10552  	invalidParams := request.ErrInvalidParams{Context: "GetThreatIntelSetInput"}
 10553  	if s.DetectorId == nil {
 10554  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 10555  	}
 10556  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 10557  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 10558  	}
 10559  	if s.ThreatIntelSetId == nil {
 10560  		invalidParams.Add(request.NewErrParamRequired("ThreatIntelSetId"))
 10561  	}
 10562  	if s.ThreatIntelSetId != nil && len(*s.ThreatIntelSetId) < 1 {
 10563  		invalidParams.Add(request.NewErrParamMinLen("ThreatIntelSetId", 1))
 10564  	}
 10565  
 10566  	if invalidParams.Len() > 0 {
 10567  		return invalidParams
 10568  	}
 10569  	return nil
 10570  }
 10571  
 10572  // SetDetectorId sets the DetectorId field's value.
 10573  func (s *GetThreatIntelSetInput) SetDetectorId(v string) *GetThreatIntelSetInput {
 10574  	s.DetectorId = &v
 10575  	return s
 10576  }
 10577  
 10578  // SetThreatIntelSetId sets the ThreatIntelSetId field's value.
 10579  func (s *GetThreatIntelSetInput) SetThreatIntelSetId(v string) *GetThreatIntelSetInput {
 10580  	s.ThreatIntelSetId = &v
 10581  	return s
 10582  }
 10583  
 10584  type GetThreatIntelSetOutput struct {
 10585  	_ struct{} `type:"structure"`
 10586  
 10587  	// The format of the threatIntelSet.
 10588  	//
 10589  	// Format is a required field
 10590  	Format *string `locationName:"format" min:"1" type:"string" required:"true" enum:"ThreatIntelSetFormat"`
 10591  
 10592  	// The URI of the file that contains the ThreatIntelSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
 10593  	//
 10594  	// Location is a required field
 10595  	Location *string `locationName:"location" min:"1" type:"string" required:"true"`
 10596  
 10597  	// A user-friendly ThreatIntelSet name displayed in all findings that are generated
 10598  	// by activity that involves IP addresses included in this ThreatIntelSet.
 10599  	//
 10600  	// Name is a required field
 10601  	Name *string `locationName:"name" min:"1" type:"string" required:"true"`
 10602  
 10603  	// The status of threatIntelSet file uploaded.
 10604  	//
 10605  	// Status is a required field
 10606  	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"ThreatIntelSetStatus"`
 10607  
 10608  	// The tags of the threat list resource.
 10609  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
 10610  }
 10611  
 10612  // String returns the string representation.
 10613  //
 10614  // API parameter values that are decorated as "sensitive" in the API will not
 10615  // be included in the string output. The member name will be present, but the
 10616  // value will be replaced with "sensitive".
 10617  func (s GetThreatIntelSetOutput) String() string {
 10618  	return awsutil.Prettify(s)
 10619  }
 10620  
 10621  // GoString returns the string representation.
 10622  //
 10623  // API parameter values that are decorated as "sensitive" in the API will not
 10624  // be included in the string output. The member name will be present, but the
 10625  // value will be replaced with "sensitive".
 10626  func (s GetThreatIntelSetOutput) GoString() string {
 10627  	return s.String()
 10628  }
 10629  
 10630  // SetFormat sets the Format field's value.
 10631  func (s *GetThreatIntelSetOutput) SetFormat(v string) *GetThreatIntelSetOutput {
 10632  	s.Format = &v
 10633  	return s
 10634  }
 10635  
 10636  // SetLocation sets the Location field's value.
 10637  func (s *GetThreatIntelSetOutput) SetLocation(v string) *GetThreatIntelSetOutput {
 10638  	s.Location = &v
 10639  	return s
 10640  }
 10641  
 10642  // SetName sets the Name field's value.
 10643  func (s *GetThreatIntelSetOutput) SetName(v string) *GetThreatIntelSetOutput {
 10644  	s.Name = &v
 10645  	return s
 10646  }
 10647  
 10648  // SetStatus sets the Status field's value.
 10649  func (s *GetThreatIntelSetOutput) SetStatus(v string) *GetThreatIntelSetOutput {
 10650  	s.Status = &v
 10651  	return s
 10652  }
 10653  
 10654  // SetTags sets the Tags field's value.
 10655  func (s *GetThreatIntelSetOutput) SetTags(v map[string]*string) *GetThreatIntelSetOutput {
 10656  	s.Tags = v
 10657  	return s
 10658  }
 10659  
 10660  type GetUsageStatisticsInput struct {
 10661  	_ struct{} `type:"structure"`
 10662  
 10663  	// The ID of the detector that specifies the GuardDuty service whose usage statistics
 10664  	// you want to retrieve.
 10665  	//
 10666  	// DetectorId is a required field
 10667  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 10668  
 10669  	// The maximum number of results to return in the response.
 10670  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 10671  
 10672  	// A token to use for paginating results that are returned in the response.
 10673  	// Set the value of this parameter to null for the first request to a list action.
 10674  	// For subsequent calls, use the NextToken value returned from the previous
 10675  	// request to continue listing results after the first page.
 10676  	NextToken *string `locationName:"nextToken" type:"string"`
 10677  
 10678  	// The currency unit you would like to view your usage statistics in. Current
 10679  	// valid values are USD.
 10680  	Unit *string `locationName:"unit" type:"string"`
 10681  
 10682  	// Represents the criteria used for querying usage.
 10683  	//
 10684  	// UsageCriteria is a required field
 10685  	UsageCriteria *UsageCriteria `locationName:"usageCriteria" type:"structure" required:"true"`
 10686  
 10687  	// The type of usage statistics to retrieve.
 10688  	//
 10689  	// UsageStatisticType is a required field
 10690  	UsageStatisticType *string `locationName:"usageStatisticsType" type:"string" required:"true" enum:"UsageStatisticType"`
 10691  }
 10692  
 10693  // String returns the string representation.
 10694  //
 10695  // API parameter values that are decorated as "sensitive" in the API will not
 10696  // be included in the string output. The member name will be present, but the
 10697  // value will be replaced with "sensitive".
 10698  func (s GetUsageStatisticsInput) String() string {
 10699  	return awsutil.Prettify(s)
 10700  }
 10701  
 10702  // GoString returns the string representation.
 10703  //
 10704  // API parameter values that are decorated as "sensitive" in the API will not
 10705  // be included in the string output. The member name will be present, but the
 10706  // value will be replaced with "sensitive".
 10707  func (s GetUsageStatisticsInput) GoString() string {
 10708  	return s.String()
 10709  }
 10710  
 10711  // Validate inspects the fields of the type to determine if they are valid.
 10712  func (s *GetUsageStatisticsInput) Validate() error {
 10713  	invalidParams := request.ErrInvalidParams{Context: "GetUsageStatisticsInput"}
 10714  	if s.DetectorId == nil {
 10715  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 10716  	}
 10717  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 10718  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 10719  	}
 10720  	if s.MaxResults != nil && *s.MaxResults < 1 {
 10721  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 10722  	}
 10723  	if s.UsageCriteria == nil {
 10724  		invalidParams.Add(request.NewErrParamRequired("UsageCriteria"))
 10725  	}
 10726  	if s.UsageStatisticType == nil {
 10727  		invalidParams.Add(request.NewErrParamRequired("UsageStatisticType"))
 10728  	}
 10729  	if s.UsageCriteria != nil {
 10730  		if err := s.UsageCriteria.Validate(); err != nil {
 10731  			invalidParams.AddNested("UsageCriteria", err.(request.ErrInvalidParams))
 10732  		}
 10733  	}
 10734  
 10735  	if invalidParams.Len() > 0 {
 10736  		return invalidParams
 10737  	}
 10738  	return nil
 10739  }
 10740  
 10741  // SetDetectorId sets the DetectorId field's value.
 10742  func (s *GetUsageStatisticsInput) SetDetectorId(v string) *GetUsageStatisticsInput {
 10743  	s.DetectorId = &v
 10744  	return s
 10745  }
 10746  
 10747  // SetMaxResults sets the MaxResults field's value.
 10748  func (s *GetUsageStatisticsInput) SetMaxResults(v int64) *GetUsageStatisticsInput {
 10749  	s.MaxResults = &v
 10750  	return s
 10751  }
 10752  
 10753  // SetNextToken sets the NextToken field's value.
 10754  func (s *GetUsageStatisticsInput) SetNextToken(v string) *GetUsageStatisticsInput {
 10755  	s.NextToken = &v
 10756  	return s
 10757  }
 10758  
 10759  // SetUnit sets the Unit field's value.
 10760  func (s *GetUsageStatisticsInput) SetUnit(v string) *GetUsageStatisticsInput {
 10761  	s.Unit = &v
 10762  	return s
 10763  }
 10764  
 10765  // SetUsageCriteria sets the UsageCriteria field's value.
 10766  func (s *GetUsageStatisticsInput) SetUsageCriteria(v *UsageCriteria) *GetUsageStatisticsInput {
 10767  	s.UsageCriteria = v
 10768  	return s
 10769  }
 10770  
 10771  // SetUsageStatisticType sets the UsageStatisticType field's value.
 10772  func (s *GetUsageStatisticsInput) SetUsageStatisticType(v string) *GetUsageStatisticsInput {
 10773  	s.UsageStatisticType = &v
 10774  	return s
 10775  }
 10776  
 10777  type GetUsageStatisticsOutput struct {
 10778  	_ struct{} `type:"structure"`
 10779  
 10780  	// The pagination parameter to be used on the next list operation to retrieve
 10781  	// more items.
 10782  	NextToken *string `locationName:"nextToken" type:"string"`
 10783  
 10784  	// The usage statistics object. If a UsageStatisticType was provided, the objects
 10785  	// representing other types will be null.
 10786  	UsageStatistics *UsageStatistics `locationName:"usageStatistics" type:"structure"`
 10787  }
 10788  
 10789  // String returns the string representation.
 10790  //
 10791  // API parameter values that are decorated as "sensitive" in the API will not
 10792  // be included in the string output. The member name will be present, but the
 10793  // value will be replaced with "sensitive".
 10794  func (s GetUsageStatisticsOutput) String() string {
 10795  	return awsutil.Prettify(s)
 10796  }
 10797  
 10798  // GoString returns the string representation.
 10799  //
 10800  // API parameter values that are decorated as "sensitive" in the API will not
 10801  // be included in the string output. The member name will be present, but the
 10802  // value will be replaced with "sensitive".
 10803  func (s GetUsageStatisticsOutput) GoString() string {
 10804  	return s.String()
 10805  }
 10806  
 10807  // SetNextToken sets the NextToken field's value.
 10808  func (s *GetUsageStatisticsOutput) SetNextToken(v string) *GetUsageStatisticsOutput {
 10809  	s.NextToken = &v
 10810  	return s
 10811  }
 10812  
 10813  // SetUsageStatistics sets the UsageStatistics field's value.
 10814  func (s *GetUsageStatisticsOutput) SetUsageStatistics(v *UsageStatistics) *GetUsageStatisticsOutput {
 10815  	s.UsageStatistics = v
 10816  	return s
 10817  }
 10818  
 10819  // Contains information about the EC2 instance profile.
 10820  type IamInstanceProfile struct {
 10821  	_ struct{} `type:"structure"`
 10822  
 10823  	// The profile ARN of the EC2 instance.
 10824  	Arn *string `locationName:"arn" type:"string"`
 10825  
 10826  	// The profile ID of the EC2 instance.
 10827  	Id *string `locationName:"id" type:"string"`
 10828  }
 10829  
 10830  // String returns the string representation.
 10831  //
 10832  // API parameter values that are decorated as "sensitive" in the API will not
 10833  // be included in the string output. The member name will be present, but the
 10834  // value will be replaced with "sensitive".
 10835  func (s IamInstanceProfile) String() string {
 10836  	return awsutil.Prettify(s)
 10837  }
 10838  
 10839  // GoString returns the string representation.
 10840  //
 10841  // API parameter values that are decorated as "sensitive" in the API will not
 10842  // be included in the string output. The member name will be present, but the
 10843  // value will be replaced with "sensitive".
 10844  func (s IamInstanceProfile) GoString() string {
 10845  	return s.String()
 10846  }
 10847  
 10848  // SetArn sets the Arn field's value.
 10849  func (s *IamInstanceProfile) SetArn(v string) *IamInstanceProfile {
 10850  	s.Arn = &v
 10851  	return s
 10852  }
 10853  
 10854  // SetId sets the Id field's value.
 10855  func (s *IamInstanceProfile) SetId(v string) *IamInstanceProfile {
 10856  	s.Id = &v
 10857  	return s
 10858  }
 10859  
 10860  // Contains information about the details of an instance.
 10861  type InstanceDetails struct {
 10862  	_ struct{} `type:"structure"`
 10863  
 10864  	// The Availability Zone of the EC2 instance.
 10865  	AvailabilityZone *string `locationName:"availabilityZone" type:"string"`
 10866  
 10867  	// The profile information of the EC2 instance.
 10868  	IamInstanceProfile *IamInstanceProfile `locationName:"iamInstanceProfile" type:"structure"`
 10869  
 10870  	// The image description of the EC2 instance.
 10871  	ImageDescription *string `locationName:"imageDescription" type:"string"`
 10872  
 10873  	// The image ID of the EC2 instance.
 10874  	ImageId *string `locationName:"imageId" type:"string"`
 10875  
 10876  	// The ID of the EC2 instance.
 10877  	InstanceId *string `locationName:"instanceId" type:"string"`
 10878  
 10879  	// The state of the EC2 instance.
 10880  	InstanceState *string `locationName:"instanceState" type:"string"`
 10881  
 10882  	// The type of the EC2 instance.
 10883  	InstanceType *string `locationName:"instanceType" type:"string"`
 10884  
 10885  	// The launch time of the EC2 instance.
 10886  	LaunchTime *string `locationName:"launchTime" type:"string"`
 10887  
 10888  	// The elastic network interface information of the EC2 instance.
 10889  	NetworkInterfaces []*NetworkInterface `locationName:"networkInterfaces" type:"list"`
 10890  
 10891  	// The Amazon Resource Name (ARN) of the AWS Outpost. Only applicable to AWS
 10892  	// Outposts instances.
 10893  	OutpostArn *string `locationName:"outpostArn" type:"string"`
 10894  
 10895  	// The platform of the EC2 instance.
 10896  	Platform *string `locationName:"platform" type:"string"`
 10897  
 10898  	// The product code of the EC2 instance.
 10899  	ProductCodes []*ProductCode `locationName:"productCodes" type:"list"`
 10900  
 10901  	// The tags of the EC2 instance.
 10902  	Tags []*Tag `locationName:"tags" type:"list"`
 10903  }
 10904  
 10905  // String returns the string representation.
 10906  //
 10907  // API parameter values that are decorated as "sensitive" in the API will not
 10908  // be included in the string output. The member name will be present, but the
 10909  // value will be replaced with "sensitive".
 10910  func (s InstanceDetails) String() string {
 10911  	return awsutil.Prettify(s)
 10912  }
 10913  
 10914  // GoString returns the string representation.
 10915  //
 10916  // API parameter values that are decorated as "sensitive" in the API will not
 10917  // be included in the string output. The member name will be present, but the
 10918  // value will be replaced with "sensitive".
 10919  func (s InstanceDetails) GoString() string {
 10920  	return s.String()
 10921  }
 10922  
 10923  // SetAvailabilityZone sets the AvailabilityZone field's value.
 10924  func (s *InstanceDetails) SetAvailabilityZone(v string) *InstanceDetails {
 10925  	s.AvailabilityZone = &v
 10926  	return s
 10927  }
 10928  
 10929  // SetIamInstanceProfile sets the IamInstanceProfile field's value.
 10930  func (s *InstanceDetails) SetIamInstanceProfile(v *IamInstanceProfile) *InstanceDetails {
 10931  	s.IamInstanceProfile = v
 10932  	return s
 10933  }
 10934  
 10935  // SetImageDescription sets the ImageDescription field's value.
 10936  func (s *InstanceDetails) SetImageDescription(v string) *InstanceDetails {
 10937  	s.ImageDescription = &v
 10938  	return s
 10939  }
 10940  
 10941  // SetImageId sets the ImageId field's value.
 10942  func (s *InstanceDetails) SetImageId(v string) *InstanceDetails {
 10943  	s.ImageId = &v
 10944  	return s
 10945  }
 10946  
 10947  // SetInstanceId sets the InstanceId field's value.
 10948  func (s *InstanceDetails) SetInstanceId(v string) *InstanceDetails {
 10949  	s.InstanceId = &v
 10950  	return s
 10951  }
 10952  
 10953  // SetInstanceState sets the InstanceState field's value.
 10954  func (s *InstanceDetails) SetInstanceState(v string) *InstanceDetails {
 10955  	s.InstanceState = &v
 10956  	return s
 10957  }
 10958  
 10959  // SetInstanceType sets the InstanceType field's value.
 10960  func (s *InstanceDetails) SetInstanceType(v string) *InstanceDetails {
 10961  	s.InstanceType = &v
 10962  	return s
 10963  }
 10964  
 10965  // SetLaunchTime sets the LaunchTime field's value.
 10966  func (s *InstanceDetails) SetLaunchTime(v string) *InstanceDetails {
 10967  	s.LaunchTime = &v
 10968  	return s
 10969  }
 10970  
 10971  // SetNetworkInterfaces sets the NetworkInterfaces field's value.
 10972  func (s *InstanceDetails) SetNetworkInterfaces(v []*NetworkInterface) *InstanceDetails {
 10973  	s.NetworkInterfaces = v
 10974  	return s
 10975  }
 10976  
 10977  // SetOutpostArn sets the OutpostArn field's value.
 10978  func (s *InstanceDetails) SetOutpostArn(v string) *InstanceDetails {
 10979  	s.OutpostArn = &v
 10980  	return s
 10981  }
 10982  
 10983  // SetPlatform sets the Platform field's value.
 10984  func (s *InstanceDetails) SetPlatform(v string) *InstanceDetails {
 10985  	s.Platform = &v
 10986  	return s
 10987  }
 10988  
 10989  // SetProductCodes sets the ProductCodes field's value.
 10990  func (s *InstanceDetails) SetProductCodes(v []*ProductCode) *InstanceDetails {
 10991  	s.ProductCodes = v
 10992  	return s
 10993  }
 10994  
 10995  // SetTags sets the Tags field's value.
 10996  func (s *InstanceDetails) SetTags(v []*Tag) *InstanceDetails {
 10997  	s.Tags = v
 10998  	return s
 10999  }
 11000  
 11001  // An internal server error exception object.
 11002  type InternalServerErrorException struct {
 11003  	_            struct{}                  `type:"structure"`
 11004  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
 11005  
 11006  	// The error message.
 11007  	Message_ *string `locationName:"message" type:"string"`
 11008  
 11009  	// The error type.
 11010  	Type *string `locationName:"__type" type:"string"`
 11011  }
 11012  
 11013  // String returns the string representation.
 11014  //
 11015  // API parameter values that are decorated as "sensitive" in the API will not
 11016  // be included in the string output. The member name will be present, but the
 11017  // value will be replaced with "sensitive".
 11018  func (s InternalServerErrorException) String() string {
 11019  	return awsutil.Prettify(s)
 11020  }
 11021  
 11022  // GoString returns the string representation.
 11023  //
 11024  // API parameter values that are decorated as "sensitive" in the API will not
 11025  // be included in the string output. The member name will be present, but the
 11026  // value will be replaced with "sensitive".
 11027  func (s InternalServerErrorException) GoString() string {
 11028  	return s.String()
 11029  }
 11030  
 11031  func newErrorInternalServerErrorException(v protocol.ResponseMetadata) error {
 11032  	return &InternalServerErrorException{
 11033  		RespMetadata: v,
 11034  	}
 11035  }
 11036  
 11037  // Code returns the exception type name.
 11038  func (s *InternalServerErrorException) Code() string {
 11039  	return "InternalServerErrorException"
 11040  }
 11041  
 11042  // Message returns the exception's message.
 11043  func (s *InternalServerErrorException) Message() string {
 11044  	if s.Message_ != nil {
 11045  		return *s.Message_
 11046  	}
 11047  	return ""
 11048  }
 11049  
 11050  // OrigErr always returns nil, satisfies awserr.Error interface.
 11051  func (s *InternalServerErrorException) OrigErr() error {
 11052  	return nil
 11053  }
 11054  
 11055  func (s *InternalServerErrorException) Error() string {
 11056  	return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
 11057  }
 11058  
 11059  // Status code returns the HTTP status code for the request's response error.
 11060  func (s *InternalServerErrorException) StatusCode() int {
 11061  	return s.RespMetadata.StatusCode
 11062  }
 11063  
 11064  // RequestID returns the service's response RequestID for request.
 11065  func (s *InternalServerErrorException) RequestID() string {
 11066  	return s.RespMetadata.RequestID
 11067  }
 11068  
 11069  // Contains information about the invitation to become a member account.
 11070  type Invitation struct {
 11071  	_ struct{} `type:"structure"`
 11072  
 11073  	// The ID of the account that the invitation was sent from.
 11074  	AccountId *string `locationName:"accountId" min:"12" type:"string"`
 11075  
 11076  	// The ID of the invitation. This value is used to validate the inviter account
 11077  	// to the member account.
 11078  	InvitationId *string `locationName:"invitationId" type:"string"`
 11079  
 11080  	// The timestamp when the invitation was sent.
 11081  	InvitedAt *string `locationName:"invitedAt" type:"string"`
 11082  
 11083  	// The status of the relationship between the inviter and invitee accounts.
 11084  	RelationshipStatus *string `locationName:"relationshipStatus" type:"string"`
 11085  }
 11086  
 11087  // String returns the string representation.
 11088  //
 11089  // API parameter values that are decorated as "sensitive" in the API will not
 11090  // be included in the string output. The member name will be present, but the
 11091  // value will be replaced with "sensitive".
 11092  func (s Invitation) String() string {
 11093  	return awsutil.Prettify(s)
 11094  }
 11095  
 11096  // GoString returns the string representation.
 11097  //
 11098  // API parameter values that are decorated as "sensitive" in the API will not
 11099  // be included in the string output. The member name will be present, but the
 11100  // value will be replaced with "sensitive".
 11101  func (s Invitation) GoString() string {
 11102  	return s.String()
 11103  }
 11104  
 11105  // SetAccountId sets the AccountId field's value.
 11106  func (s *Invitation) SetAccountId(v string) *Invitation {
 11107  	s.AccountId = &v
 11108  	return s
 11109  }
 11110  
 11111  // SetInvitationId sets the InvitationId field's value.
 11112  func (s *Invitation) SetInvitationId(v string) *Invitation {
 11113  	s.InvitationId = &v
 11114  	return s
 11115  }
 11116  
 11117  // SetInvitedAt sets the InvitedAt field's value.
 11118  func (s *Invitation) SetInvitedAt(v string) *Invitation {
 11119  	s.InvitedAt = &v
 11120  	return s
 11121  }
 11122  
 11123  // SetRelationshipStatus sets the RelationshipStatus field's value.
 11124  func (s *Invitation) SetRelationshipStatus(v string) *Invitation {
 11125  	s.RelationshipStatus = &v
 11126  	return s
 11127  }
 11128  
 11129  type InviteMembersInput struct {
 11130  	_ struct{} `type:"structure"`
 11131  
 11132  	// A list of account IDs of the accounts that you want to invite to GuardDuty
 11133  	// as members.
 11134  	//
 11135  	// AccountIds is a required field
 11136  	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
 11137  
 11138  	// The unique ID of the detector of the GuardDuty account that you want to invite
 11139  	// members with.
 11140  	//
 11141  	// DetectorId is a required field
 11142  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 11143  
 11144  	// A Boolean value that specifies whether you want to disable email notification
 11145  	// to the accounts that you are inviting to GuardDuty as members.
 11146  	DisableEmailNotification *bool `locationName:"disableEmailNotification" type:"boolean"`
 11147  
 11148  	// The invitation message that you want to send to the accounts that you're
 11149  	// inviting to GuardDuty as members.
 11150  	Message *string `locationName:"message" type:"string"`
 11151  }
 11152  
 11153  // String returns the string representation.
 11154  //
 11155  // API parameter values that are decorated as "sensitive" in the API will not
 11156  // be included in the string output. The member name will be present, but the
 11157  // value will be replaced with "sensitive".
 11158  func (s InviteMembersInput) String() string {
 11159  	return awsutil.Prettify(s)
 11160  }
 11161  
 11162  // GoString returns the string representation.
 11163  //
 11164  // API parameter values that are decorated as "sensitive" in the API will not
 11165  // be included in the string output. The member name will be present, but the
 11166  // value will be replaced with "sensitive".
 11167  func (s InviteMembersInput) GoString() string {
 11168  	return s.String()
 11169  }
 11170  
 11171  // Validate inspects the fields of the type to determine if they are valid.
 11172  func (s *InviteMembersInput) Validate() error {
 11173  	invalidParams := request.ErrInvalidParams{Context: "InviteMembersInput"}
 11174  	if s.AccountIds == nil {
 11175  		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
 11176  	}
 11177  	if s.AccountIds != nil && len(s.AccountIds) < 1 {
 11178  		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
 11179  	}
 11180  	if s.DetectorId == nil {
 11181  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 11182  	}
 11183  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 11184  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 11185  	}
 11186  
 11187  	if invalidParams.Len() > 0 {
 11188  		return invalidParams
 11189  	}
 11190  	return nil
 11191  }
 11192  
 11193  // SetAccountIds sets the AccountIds field's value.
 11194  func (s *InviteMembersInput) SetAccountIds(v []*string) *InviteMembersInput {
 11195  	s.AccountIds = v
 11196  	return s
 11197  }
 11198  
 11199  // SetDetectorId sets the DetectorId field's value.
 11200  func (s *InviteMembersInput) SetDetectorId(v string) *InviteMembersInput {
 11201  	s.DetectorId = &v
 11202  	return s
 11203  }
 11204  
 11205  // SetDisableEmailNotification sets the DisableEmailNotification field's value.
 11206  func (s *InviteMembersInput) SetDisableEmailNotification(v bool) *InviteMembersInput {
 11207  	s.DisableEmailNotification = &v
 11208  	return s
 11209  }
 11210  
 11211  // SetMessage sets the Message field's value.
 11212  func (s *InviteMembersInput) SetMessage(v string) *InviteMembersInput {
 11213  	s.Message = &v
 11214  	return s
 11215  }
 11216  
 11217  type InviteMembersOutput struct {
 11218  	_ struct{} `type:"structure"`
 11219  
 11220  	// A list of objects that contain the unprocessed account and a result string
 11221  	// that explains why it was unprocessed.
 11222  	//
 11223  	// UnprocessedAccounts is a required field
 11224  	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
 11225  }
 11226  
 11227  // String returns the string representation.
 11228  //
 11229  // API parameter values that are decorated as "sensitive" in the API will not
 11230  // be included in the string output. The member name will be present, but the
 11231  // value will be replaced with "sensitive".
 11232  func (s InviteMembersOutput) String() string {
 11233  	return awsutil.Prettify(s)
 11234  }
 11235  
 11236  // GoString returns the string representation.
 11237  //
 11238  // API parameter values that are decorated as "sensitive" in the API will not
 11239  // be included in the string output. The member name will be present, but the
 11240  // value will be replaced with "sensitive".
 11241  func (s InviteMembersOutput) GoString() string {
 11242  	return s.String()
 11243  }
 11244  
 11245  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
 11246  func (s *InviteMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *InviteMembersOutput {
 11247  	s.UnprocessedAccounts = v
 11248  	return s
 11249  }
 11250  
 11251  type ListDetectorsInput struct {
 11252  	_ struct{} `type:"structure" nopayload:"true"`
 11253  
 11254  	// You can use this parameter to indicate the maximum number of items that you
 11255  	// want in the response. The default value is 50. The maximum value is 50.
 11256  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 11257  
 11258  	// You can use this parameter when paginating results. Set the value of this
 11259  	// parameter to null on your first call to the list action. For subsequent calls
 11260  	// to the action, fill nextToken in the request with the value of NextToken
 11261  	// from the previous response to continue listing data.
 11262  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 11263  }
 11264  
 11265  // String returns the string representation.
 11266  //
 11267  // API parameter values that are decorated as "sensitive" in the API will not
 11268  // be included in the string output. The member name will be present, but the
 11269  // value will be replaced with "sensitive".
 11270  func (s ListDetectorsInput) String() string {
 11271  	return awsutil.Prettify(s)
 11272  }
 11273  
 11274  // GoString returns the string representation.
 11275  //
 11276  // API parameter values that are decorated as "sensitive" in the API will not
 11277  // be included in the string output. The member name will be present, but the
 11278  // value will be replaced with "sensitive".
 11279  func (s ListDetectorsInput) GoString() string {
 11280  	return s.String()
 11281  }
 11282  
 11283  // Validate inspects the fields of the type to determine if they are valid.
 11284  func (s *ListDetectorsInput) Validate() error {
 11285  	invalidParams := request.ErrInvalidParams{Context: "ListDetectorsInput"}
 11286  	if s.MaxResults != nil && *s.MaxResults < 1 {
 11287  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 11288  	}
 11289  
 11290  	if invalidParams.Len() > 0 {
 11291  		return invalidParams
 11292  	}
 11293  	return nil
 11294  }
 11295  
 11296  // SetMaxResults sets the MaxResults field's value.
 11297  func (s *ListDetectorsInput) SetMaxResults(v int64) *ListDetectorsInput {
 11298  	s.MaxResults = &v
 11299  	return s
 11300  }
 11301  
 11302  // SetNextToken sets the NextToken field's value.
 11303  func (s *ListDetectorsInput) SetNextToken(v string) *ListDetectorsInput {
 11304  	s.NextToken = &v
 11305  	return s
 11306  }
 11307  
 11308  type ListDetectorsOutput struct {
 11309  	_ struct{} `type:"structure"`
 11310  
 11311  	// A list of detector IDs.
 11312  	//
 11313  	// DetectorIds is a required field
 11314  	DetectorIds []*string `locationName:"detectorIds" type:"list" required:"true"`
 11315  
 11316  	// The pagination parameter to be used on the next list operation to retrieve
 11317  	// more items.
 11318  	NextToken *string `locationName:"nextToken" type:"string"`
 11319  }
 11320  
 11321  // String returns the string representation.
 11322  //
 11323  // API parameter values that are decorated as "sensitive" in the API will not
 11324  // be included in the string output. The member name will be present, but the
 11325  // value will be replaced with "sensitive".
 11326  func (s ListDetectorsOutput) String() string {
 11327  	return awsutil.Prettify(s)
 11328  }
 11329  
 11330  // GoString returns the string representation.
 11331  //
 11332  // API parameter values that are decorated as "sensitive" in the API will not
 11333  // be included in the string output. The member name will be present, but the
 11334  // value will be replaced with "sensitive".
 11335  func (s ListDetectorsOutput) GoString() string {
 11336  	return s.String()
 11337  }
 11338  
 11339  // SetDetectorIds sets the DetectorIds field's value.
 11340  func (s *ListDetectorsOutput) SetDetectorIds(v []*string) *ListDetectorsOutput {
 11341  	s.DetectorIds = v
 11342  	return s
 11343  }
 11344  
 11345  // SetNextToken sets the NextToken field's value.
 11346  func (s *ListDetectorsOutput) SetNextToken(v string) *ListDetectorsOutput {
 11347  	s.NextToken = &v
 11348  	return s
 11349  }
 11350  
 11351  type ListFiltersInput struct {
 11352  	_ struct{} `type:"structure" nopayload:"true"`
 11353  
 11354  	// The unique ID of the detector that the filter is associated with.
 11355  	//
 11356  	// DetectorId is a required field
 11357  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 11358  
 11359  	// You can use this parameter to indicate the maximum number of items that you
 11360  	// want in the response. The default value is 50. The maximum value is 50.
 11361  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 11362  
 11363  	// You can use this parameter when paginating results. Set the value of this
 11364  	// parameter to null on your first call to the list action. For subsequent calls
 11365  	// to the action, fill nextToken in the request with the value of NextToken
 11366  	// from the previous response to continue listing data.
 11367  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 11368  }
 11369  
 11370  // String returns the string representation.
 11371  //
 11372  // API parameter values that are decorated as "sensitive" in the API will not
 11373  // be included in the string output. The member name will be present, but the
 11374  // value will be replaced with "sensitive".
 11375  func (s ListFiltersInput) String() string {
 11376  	return awsutil.Prettify(s)
 11377  }
 11378  
 11379  // GoString returns the string representation.
 11380  //
 11381  // API parameter values that are decorated as "sensitive" in the API will not
 11382  // be included in the string output. The member name will be present, but the
 11383  // value will be replaced with "sensitive".
 11384  func (s ListFiltersInput) GoString() string {
 11385  	return s.String()
 11386  }
 11387  
 11388  // Validate inspects the fields of the type to determine if they are valid.
 11389  func (s *ListFiltersInput) Validate() error {
 11390  	invalidParams := request.ErrInvalidParams{Context: "ListFiltersInput"}
 11391  	if s.DetectorId == nil {
 11392  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 11393  	}
 11394  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 11395  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 11396  	}
 11397  	if s.MaxResults != nil && *s.MaxResults < 1 {
 11398  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 11399  	}
 11400  
 11401  	if invalidParams.Len() > 0 {
 11402  		return invalidParams
 11403  	}
 11404  	return nil
 11405  }
 11406  
 11407  // SetDetectorId sets the DetectorId field's value.
 11408  func (s *ListFiltersInput) SetDetectorId(v string) *ListFiltersInput {
 11409  	s.DetectorId = &v
 11410  	return s
 11411  }
 11412  
 11413  // SetMaxResults sets the MaxResults field's value.
 11414  func (s *ListFiltersInput) SetMaxResults(v int64) *ListFiltersInput {
 11415  	s.MaxResults = &v
 11416  	return s
 11417  }
 11418  
 11419  // SetNextToken sets the NextToken field's value.
 11420  func (s *ListFiltersInput) SetNextToken(v string) *ListFiltersInput {
 11421  	s.NextToken = &v
 11422  	return s
 11423  }
 11424  
 11425  type ListFiltersOutput struct {
 11426  	_ struct{} `type:"structure"`
 11427  
 11428  	// A list of filter names.
 11429  	//
 11430  	// FilterNames is a required field
 11431  	FilterNames []*string `locationName:"filterNames" type:"list" required:"true"`
 11432  
 11433  	// The pagination parameter to be used on the next list operation to retrieve
 11434  	// more items.
 11435  	NextToken *string `locationName:"nextToken" type:"string"`
 11436  }
 11437  
 11438  // String returns the string representation.
 11439  //
 11440  // API parameter values that are decorated as "sensitive" in the API will not
 11441  // be included in the string output. The member name will be present, but the
 11442  // value will be replaced with "sensitive".
 11443  func (s ListFiltersOutput) String() string {
 11444  	return awsutil.Prettify(s)
 11445  }
 11446  
 11447  // GoString returns the string representation.
 11448  //
 11449  // API parameter values that are decorated as "sensitive" in the API will not
 11450  // be included in the string output. The member name will be present, but the
 11451  // value will be replaced with "sensitive".
 11452  func (s ListFiltersOutput) GoString() string {
 11453  	return s.String()
 11454  }
 11455  
 11456  // SetFilterNames sets the FilterNames field's value.
 11457  func (s *ListFiltersOutput) SetFilterNames(v []*string) *ListFiltersOutput {
 11458  	s.FilterNames = v
 11459  	return s
 11460  }
 11461  
 11462  // SetNextToken sets the NextToken field's value.
 11463  func (s *ListFiltersOutput) SetNextToken(v string) *ListFiltersOutput {
 11464  	s.NextToken = &v
 11465  	return s
 11466  }
 11467  
 11468  type ListFindingsInput struct {
 11469  	_ struct{} `type:"structure"`
 11470  
 11471  	// The ID of the detector that specifies the GuardDuty service whose findings
 11472  	// you want to list.
 11473  	//
 11474  	// DetectorId is a required field
 11475  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 11476  
 11477  	// Represents the criteria used for querying findings. Valid values include:
 11478  	//
 11479  	//    * JSON field name
 11480  	//
 11481  	//    * accountId
 11482  	//
 11483  	//    * region
 11484  	//
 11485  	//    * confidence
 11486  	//
 11487  	//    * id
 11488  	//
 11489  	//    * resource.accessKeyDetails.accessKeyId
 11490  	//
 11491  	//    * resource.accessKeyDetails.principalId
 11492  	//
 11493  	//    * resource.accessKeyDetails.userName
 11494  	//
 11495  	//    * resource.accessKeyDetails.userType
 11496  	//
 11497  	//    * resource.instanceDetails.iamInstanceProfile.id
 11498  	//
 11499  	//    * resource.instanceDetails.imageId
 11500  	//
 11501  	//    * resource.instanceDetails.instanceId
 11502  	//
 11503  	//    * resource.instanceDetails.networkInterfaces.ipv6Addresses
 11504  	//
 11505  	//    * resource.instanceDetails.networkInterfaces.privateIpAddresses.privateIpAddress
 11506  	//
 11507  	//    * resource.instanceDetails.networkInterfaces.publicDnsName
 11508  	//
 11509  	//    * resource.instanceDetails.networkInterfaces.publicIp
 11510  	//
 11511  	//    * resource.instanceDetails.networkInterfaces.securityGroups.groupId
 11512  	//
 11513  	//    * resource.instanceDetails.networkInterfaces.securityGroups.groupName
 11514  	//
 11515  	//    * resource.instanceDetails.networkInterfaces.subnetId
 11516  	//
 11517  	//    * resource.instanceDetails.networkInterfaces.vpcId
 11518  	//
 11519  	//    * resource.instanceDetails.tags.key
 11520  	//
 11521  	//    * resource.instanceDetails.tags.value
 11522  	//
 11523  	//    * resource.resourceType
 11524  	//
 11525  	//    * service.action.actionType
 11526  	//
 11527  	//    * service.action.awsApiCallAction.api
 11528  	//
 11529  	//    * service.action.awsApiCallAction.callerType
 11530  	//
 11531  	//    * service.action.awsApiCallAction.remoteIpDetails.city.cityName
 11532  	//
 11533  	//    * service.action.awsApiCallAction.remoteIpDetails.country.countryName
 11534  	//
 11535  	//    * service.action.awsApiCallAction.remoteIpDetails.ipAddressV4
 11536  	//
 11537  	//    * service.action.awsApiCallAction.remoteIpDetails.organization.asn
 11538  	//
 11539  	//    * service.action.awsApiCallAction.remoteIpDetails.organization.asnOrg
 11540  	//
 11541  	//    * service.action.awsApiCallAction.serviceName
 11542  	//
 11543  	//    * service.action.dnsRequestAction.domain
 11544  	//
 11545  	//    * service.action.networkConnectionAction.blocked
 11546  	//
 11547  	//    * service.action.networkConnectionAction.connectionDirection
 11548  	//
 11549  	//    * service.action.networkConnectionAction.localPortDetails.port
 11550  	//
 11551  	//    * service.action.networkConnectionAction.protocol
 11552  	//
 11553  	//    * service.action.networkConnectionAction.remoteIpDetails.city.cityName
 11554  	//
 11555  	//    * service.action.networkConnectionAction.remoteIpDetails.country.countryName
 11556  	//
 11557  	//    * service.action.networkConnectionAction.remoteIpDetails.ipAddressV4
 11558  	//
 11559  	//    * service.action.networkConnectionAction.remoteIpDetails.organization.asn
 11560  	//
 11561  	//    * service.action.networkConnectionAction.remoteIpDetails.organization.asnOrg
 11562  	//
 11563  	//    * service.action.networkConnectionAction.remotePortDetails.port
 11564  	//
 11565  	//    * service.additionalInfo.threatListName
 11566  	//
 11567  	//    * service.archived When this attribute is set to 'true', only archived
 11568  	//    findings are listed. When it's set to 'false', only unarchived findings
 11569  	//    are listed. When this attribute is not set, all existing findings are
 11570  	//    listed.
 11571  	//
 11572  	//    * service.resourceRole
 11573  	//
 11574  	//    * severity
 11575  	//
 11576  	//    * type
 11577  	//
 11578  	//    * updatedAt Type: Timestamp in Unix Epoch millisecond format: 1486685375000
 11579  	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"`
 11580  
 11581  	// You can use this parameter to indicate the maximum number of items you want
 11582  	// in the response. The default value is 50. The maximum value is 50.
 11583  	MaxResults *int64 `locationName:"maxResults" min:"1" type:"integer"`
 11584  
 11585  	// You can use this parameter when paginating results. Set the value of this
 11586  	// parameter to null on your first call to the list action. For subsequent calls
 11587  	// to the action, fill nextToken in the request with the value of NextToken
 11588  	// from the previous response to continue listing data.
 11589  	NextToken *string `locationName:"nextToken" type:"string"`
 11590  
 11591  	// Represents the criteria used for sorting findings.
 11592  	SortCriteria *SortCriteria `locationName:"sortCriteria" type:"structure"`
 11593  }
 11594  
 11595  // String returns the string representation.
 11596  //
 11597  // API parameter values that are decorated as "sensitive" in the API will not
 11598  // be included in the string output. The member name will be present, but the
 11599  // value will be replaced with "sensitive".
 11600  func (s ListFindingsInput) String() string {
 11601  	return awsutil.Prettify(s)
 11602  }
 11603  
 11604  // GoString returns the string representation.
 11605  //
 11606  // API parameter values that are decorated as "sensitive" in the API will not
 11607  // be included in the string output. The member name will be present, but the
 11608  // value will be replaced with "sensitive".
 11609  func (s ListFindingsInput) GoString() string {
 11610  	return s.String()
 11611  }
 11612  
 11613  // Validate inspects the fields of the type to determine if they are valid.
 11614  func (s *ListFindingsInput) Validate() error {
 11615  	invalidParams := request.ErrInvalidParams{Context: "ListFindingsInput"}
 11616  	if s.DetectorId == nil {
 11617  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 11618  	}
 11619  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 11620  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 11621  	}
 11622  	if s.MaxResults != nil && *s.MaxResults < 1 {
 11623  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 11624  	}
 11625  
 11626  	if invalidParams.Len() > 0 {
 11627  		return invalidParams
 11628  	}
 11629  	return nil
 11630  }
 11631  
 11632  // SetDetectorId sets the DetectorId field's value.
 11633  func (s *ListFindingsInput) SetDetectorId(v string) *ListFindingsInput {
 11634  	s.DetectorId = &v
 11635  	return s
 11636  }
 11637  
 11638  // SetFindingCriteria sets the FindingCriteria field's value.
 11639  func (s *ListFindingsInput) SetFindingCriteria(v *FindingCriteria) *ListFindingsInput {
 11640  	s.FindingCriteria = v
 11641  	return s
 11642  }
 11643  
 11644  // SetMaxResults sets the MaxResults field's value.
 11645  func (s *ListFindingsInput) SetMaxResults(v int64) *ListFindingsInput {
 11646  	s.MaxResults = &v
 11647  	return s
 11648  }
 11649  
 11650  // SetNextToken sets the NextToken field's value.
 11651  func (s *ListFindingsInput) SetNextToken(v string) *ListFindingsInput {
 11652  	s.NextToken = &v
 11653  	return s
 11654  }
 11655  
 11656  // SetSortCriteria sets the SortCriteria field's value.
 11657  func (s *ListFindingsInput) SetSortCriteria(v *SortCriteria) *ListFindingsInput {
 11658  	s.SortCriteria = v
 11659  	return s
 11660  }
 11661  
 11662  type ListFindingsOutput struct {
 11663  	_ struct{} `type:"structure"`
 11664  
 11665  	// The IDs of the findings that you're listing.
 11666  	//
 11667  	// FindingIds is a required field
 11668  	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
 11669  
 11670  	// The pagination parameter to be used on the next list operation to retrieve
 11671  	// more items.
 11672  	NextToken *string `locationName:"nextToken" type:"string"`
 11673  }
 11674  
 11675  // String returns the string representation.
 11676  //
 11677  // API parameter values that are decorated as "sensitive" in the API will not
 11678  // be included in the string output. The member name will be present, but the
 11679  // value will be replaced with "sensitive".
 11680  func (s ListFindingsOutput) String() string {
 11681  	return awsutil.Prettify(s)
 11682  }
 11683  
 11684  // GoString returns the string representation.
 11685  //
 11686  // API parameter values that are decorated as "sensitive" in the API will not
 11687  // be included in the string output. The member name will be present, but the
 11688  // value will be replaced with "sensitive".
 11689  func (s ListFindingsOutput) GoString() string {
 11690  	return s.String()
 11691  }
 11692  
 11693  // SetFindingIds sets the FindingIds field's value.
 11694  func (s *ListFindingsOutput) SetFindingIds(v []*string) *ListFindingsOutput {
 11695  	s.FindingIds = v
 11696  	return s
 11697  }
 11698  
 11699  // SetNextToken sets the NextToken field's value.
 11700  func (s *ListFindingsOutput) SetNextToken(v string) *ListFindingsOutput {
 11701  	s.NextToken = &v
 11702  	return s
 11703  }
 11704  
 11705  type ListIPSetsInput struct {
 11706  	_ struct{} `type:"structure" nopayload:"true"`
 11707  
 11708  	// The unique ID of the detector that the IPSet is associated with.
 11709  	//
 11710  	// DetectorId is a required field
 11711  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 11712  
 11713  	// You can use this parameter to indicate the maximum number of items you want
 11714  	// in the response. The default value is 50. The maximum value is 50.
 11715  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 11716  
 11717  	// You can use this parameter when paginating results. Set the value of this
 11718  	// parameter to null on your first call to the list action. For subsequent calls
 11719  	// to the action, fill nextToken in the request with the value of NextToken
 11720  	// from the previous response to continue listing data.
 11721  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 11722  }
 11723  
 11724  // String returns the string representation.
 11725  //
 11726  // API parameter values that are decorated as "sensitive" in the API will not
 11727  // be included in the string output. The member name will be present, but the
 11728  // value will be replaced with "sensitive".
 11729  func (s ListIPSetsInput) String() string {
 11730  	return awsutil.Prettify(s)
 11731  }
 11732  
 11733  // GoString returns the string representation.
 11734  //
 11735  // API parameter values that are decorated as "sensitive" in the API will not
 11736  // be included in the string output. The member name will be present, but the
 11737  // value will be replaced with "sensitive".
 11738  func (s ListIPSetsInput) GoString() string {
 11739  	return s.String()
 11740  }
 11741  
 11742  // Validate inspects the fields of the type to determine if they are valid.
 11743  func (s *ListIPSetsInput) Validate() error {
 11744  	invalidParams := request.ErrInvalidParams{Context: "ListIPSetsInput"}
 11745  	if s.DetectorId == nil {
 11746  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 11747  	}
 11748  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 11749  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 11750  	}
 11751  	if s.MaxResults != nil && *s.MaxResults < 1 {
 11752  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 11753  	}
 11754  
 11755  	if invalidParams.Len() > 0 {
 11756  		return invalidParams
 11757  	}
 11758  	return nil
 11759  }
 11760  
 11761  // SetDetectorId sets the DetectorId field's value.
 11762  func (s *ListIPSetsInput) SetDetectorId(v string) *ListIPSetsInput {
 11763  	s.DetectorId = &v
 11764  	return s
 11765  }
 11766  
 11767  // SetMaxResults sets the MaxResults field's value.
 11768  func (s *ListIPSetsInput) SetMaxResults(v int64) *ListIPSetsInput {
 11769  	s.MaxResults = &v
 11770  	return s
 11771  }
 11772  
 11773  // SetNextToken sets the NextToken field's value.
 11774  func (s *ListIPSetsInput) SetNextToken(v string) *ListIPSetsInput {
 11775  	s.NextToken = &v
 11776  	return s
 11777  }
 11778  
 11779  type ListIPSetsOutput struct {
 11780  	_ struct{} `type:"structure"`
 11781  
 11782  	// The IDs of the IPSet resources.
 11783  	//
 11784  	// IpSetIds is a required field
 11785  	IpSetIds []*string `locationName:"ipSetIds" type:"list" required:"true"`
 11786  
 11787  	// The pagination parameter to be used on the next list operation to retrieve
 11788  	// more items.
 11789  	NextToken *string `locationName:"nextToken" type:"string"`
 11790  }
 11791  
 11792  // String returns the string representation.
 11793  //
 11794  // API parameter values that are decorated as "sensitive" in the API will not
 11795  // be included in the string output. The member name will be present, but the
 11796  // value will be replaced with "sensitive".
 11797  func (s ListIPSetsOutput) String() string {
 11798  	return awsutil.Prettify(s)
 11799  }
 11800  
 11801  // GoString returns the string representation.
 11802  //
 11803  // API parameter values that are decorated as "sensitive" in the API will not
 11804  // be included in the string output. The member name will be present, but the
 11805  // value will be replaced with "sensitive".
 11806  func (s ListIPSetsOutput) GoString() string {
 11807  	return s.String()
 11808  }
 11809  
 11810  // SetIpSetIds sets the IpSetIds field's value.
 11811  func (s *ListIPSetsOutput) SetIpSetIds(v []*string) *ListIPSetsOutput {
 11812  	s.IpSetIds = v
 11813  	return s
 11814  }
 11815  
 11816  // SetNextToken sets the NextToken field's value.
 11817  func (s *ListIPSetsOutput) SetNextToken(v string) *ListIPSetsOutput {
 11818  	s.NextToken = &v
 11819  	return s
 11820  }
 11821  
 11822  type ListInvitationsInput struct {
 11823  	_ struct{} `type:"structure" nopayload:"true"`
 11824  
 11825  	// You can use this parameter to indicate the maximum number of items that you
 11826  	// want in the response. The default value is 50. The maximum value is 50.
 11827  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 11828  
 11829  	// You can use this parameter when paginating results. Set the value of this
 11830  	// parameter to null on your first call to the list action. For subsequent calls
 11831  	// to the action, fill nextToken in the request with the value of NextToken
 11832  	// from the previous response to continue listing data.
 11833  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 11834  }
 11835  
 11836  // String returns the string representation.
 11837  //
 11838  // API parameter values that are decorated as "sensitive" in the API will not
 11839  // be included in the string output. The member name will be present, but the
 11840  // value will be replaced with "sensitive".
 11841  func (s ListInvitationsInput) String() string {
 11842  	return awsutil.Prettify(s)
 11843  }
 11844  
 11845  // GoString returns the string representation.
 11846  //
 11847  // API parameter values that are decorated as "sensitive" in the API will not
 11848  // be included in the string output. The member name will be present, but the
 11849  // value will be replaced with "sensitive".
 11850  func (s ListInvitationsInput) GoString() string {
 11851  	return s.String()
 11852  }
 11853  
 11854  // Validate inspects the fields of the type to determine if they are valid.
 11855  func (s *ListInvitationsInput) Validate() error {
 11856  	invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"}
 11857  	if s.MaxResults != nil && *s.MaxResults < 1 {
 11858  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 11859  	}
 11860  
 11861  	if invalidParams.Len() > 0 {
 11862  		return invalidParams
 11863  	}
 11864  	return nil
 11865  }
 11866  
 11867  // SetMaxResults sets the MaxResults field's value.
 11868  func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput {
 11869  	s.MaxResults = &v
 11870  	return s
 11871  }
 11872  
 11873  // SetNextToken sets the NextToken field's value.
 11874  func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput {
 11875  	s.NextToken = &v
 11876  	return s
 11877  }
 11878  
 11879  type ListInvitationsOutput struct {
 11880  	_ struct{} `type:"structure"`
 11881  
 11882  	// A list of invitation descriptions.
 11883  	Invitations []*Invitation `locationName:"invitations" type:"list"`
 11884  
 11885  	// The pagination parameter to be used on the next list operation to retrieve
 11886  	// more items.
 11887  	NextToken *string `locationName:"nextToken" type:"string"`
 11888  }
 11889  
 11890  // String returns the string representation.
 11891  //
 11892  // API parameter values that are decorated as "sensitive" in the API will not
 11893  // be included in the string output. The member name will be present, but the
 11894  // value will be replaced with "sensitive".
 11895  func (s ListInvitationsOutput) String() string {
 11896  	return awsutil.Prettify(s)
 11897  }
 11898  
 11899  // GoString returns the string representation.
 11900  //
 11901  // API parameter values that are decorated as "sensitive" in the API will not
 11902  // be included in the string output. The member name will be present, but the
 11903  // value will be replaced with "sensitive".
 11904  func (s ListInvitationsOutput) GoString() string {
 11905  	return s.String()
 11906  }
 11907  
 11908  // SetInvitations sets the Invitations field's value.
 11909  func (s *ListInvitationsOutput) SetInvitations(v []*Invitation) *ListInvitationsOutput {
 11910  	s.Invitations = v
 11911  	return s
 11912  }
 11913  
 11914  // SetNextToken sets the NextToken field's value.
 11915  func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput {
 11916  	s.NextToken = &v
 11917  	return s
 11918  }
 11919  
 11920  type ListMembersInput struct {
 11921  	_ struct{} `type:"structure" nopayload:"true"`
 11922  
 11923  	// The unique ID of the detector the member is associated with.
 11924  	//
 11925  	// DetectorId is a required field
 11926  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 11927  
 11928  	// You can use this parameter to indicate the maximum number of items you want
 11929  	// in the response. The default value is 50. The maximum value is 50.
 11930  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 11931  
 11932  	// You can use this parameter when paginating results. Set the value of this
 11933  	// parameter to null on your first call to the list action. For subsequent calls
 11934  	// to the action, fill nextToken in the request with the value of NextToken
 11935  	// from the previous response to continue listing data.
 11936  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 11937  
 11938  	// Specifies whether to only return associated members or to return all members
 11939  	// (including members who haven't been invited yet or have been disassociated).
 11940  	OnlyAssociated *string `location:"querystring" locationName:"onlyAssociated" type:"string"`
 11941  }
 11942  
 11943  // String returns the string representation.
 11944  //
 11945  // API parameter values that are decorated as "sensitive" in the API will not
 11946  // be included in the string output. The member name will be present, but the
 11947  // value will be replaced with "sensitive".
 11948  func (s ListMembersInput) String() string {
 11949  	return awsutil.Prettify(s)
 11950  }
 11951  
 11952  // GoString returns the string representation.
 11953  //
 11954  // API parameter values that are decorated as "sensitive" in the API will not
 11955  // be included in the string output. The member name will be present, but the
 11956  // value will be replaced with "sensitive".
 11957  func (s ListMembersInput) GoString() string {
 11958  	return s.String()
 11959  }
 11960  
 11961  // Validate inspects the fields of the type to determine if they are valid.
 11962  func (s *ListMembersInput) Validate() error {
 11963  	invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"}
 11964  	if s.DetectorId == nil {
 11965  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 11966  	}
 11967  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 11968  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 11969  	}
 11970  	if s.MaxResults != nil && *s.MaxResults < 1 {
 11971  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 11972  	}
 11973  
 11974  	if invalidParams.Len() > 0 {
 11975  		return invalidParams
 11976  	}
 11977  	return nil
 11978  }
 11979  
 11980  // SetDetectorId sets the DetectorId field's value.
 11981  func (s *ListMembersInput) SetDetectorId(v string) *ListMembersInput {
 11982  	s.DetectorId = &v
 11983  	return s
 11984  }
 11985  
 11986  // SetMaxResults sets the MaxResults field's value.
 11987  func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput {
 11988  	s.MaxResults = &v
 11989  	return s
 11990  }
 11991  
 11992  // SetNextToken sets the NextToken field's value.
 11993  func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput {
 11994  	s.NextToken = &v
 11995  	return s
 11996  }
 11997  
 11998  // SetOnlyAssociated sets the OnlyAssociated field's value.
 11999  func (s *ListMembersInput) SetOnlyAssociated(v string) *ListMembersInput {
 12000  	s.OnlyAssociated = &v
 12001  	return s
 12002  }
 12003  
 12004  type ListMembersOutput struct {
 12005  	_ struct{} `type:"structure"`
 12006  
 12007  	// A list of members.
 12008  	Members []*Member `locationName:"members" type:"list"`
 12009  
 12010  	// The pagination parameter to be used on the next list operation to retrieve
 12011  	// more items.
 12012  	NextToken *string `locationName:"nextToken" type:"string"`
 12013  }
 12014  
 12015  // String returns the string representation.
 12016  //
 12017  // API parameter values that are decorated as "sensitive" in the API will not
 12018  // be included in the string output. The member name will be present, but the
 12019  // value will be replaced with "sensitive".
 12020  func (s ListMembersOutput) String() string {
 12021  	return awsutil.Prettify(s)
 12022  }
 12023  
 12024  // GoString returns the string representation.
 12025  //
 12026  // API parameter values that are decorated as "sensitive" in the API will not
 12027  // be included in the string output. The member name will be present, but the
 12028  // value will be replaced with "sensitive".
 12029  func (s ListMembersOutput) GoString() string {
 12030  	return s.String()
 12031  }
 12032  
 12033  // SetMembers sets the Members field's value.
 12034  func (s *ListMembersOutput) SetMembers(v []*Member) *ListMembersOutput {
 12035  	s.Members = v
 12036  	return s
 12037  }
 12038  
 12039  // SetNextToken sets the NextToken field's value.
 12040  func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput {
 12041  	s.NextToken = &v
 12042  	return s
 12043  }
 12044  
 12045  type ListOrganizationAdminAccountsInput struct {
 12046  	_ struct{} `type:"structure" nopayload:"true"`
 12047  
 12048  	// The maximum number of results to return in the response.
 12049  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 12050  
 12051  	// A token to use for paginating results that are returned in the response.
 12052  	// Set the value of this parameter to null for the first request to a list action.
 12053  	// For subsequent calls, use the NextToken value returned from the previous
 12054  	// request to continue listing results after the first page.
 12055  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 12056  }
 12057  
 12058  // String returns the string representation.
 12059  //
 12060  // API parameter values that are decorated as "sensitive" in the API will not
 12061  // be included in the string output. The member name will be present, but the
 12062  // value will be replaced with "sensitive".
 12063  func (s ListOrganizationAdminAccountsInput) String() string {
 12064  	return awsutil.Prettify(s)
 12065  }
 12066  
 12067  // GoString returns the string representation.
 12068  //
 12069  // API parameter values that are decorated as "sensitive" in the API will not
 12070  // be included in the string output. The member name will be present, but the
 12071  // value will be replaced with "sensitive".
 12072  func (s ListOrganizationAdminAccountsInput) GoString() string {
 12073  	return s.String()
 12074  }
 12075  
 12076  // Validate inspects the fields of the type to determine if they are valid.
 12077  func (s *ListOrganizationAdminAccountsInput) Validate() error {
 12078  	invalidParams := request.ErrInvalidParams{Context: "ListOrganizationAdminAccountsInput"}
 12079  	if s.MaxResults != nil && *s.MaxResults < 1 {
 12080  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 12081  	}
 12082  
 12083  	if invalidParams.Len() > 0 {
 12084  		return invalidParams
 12085  	}
 12086  	return nil
 12087  }
 12088  
 12089  // SetMaxResults sets the MaxResults field's value.
 12090  func (s *ListOrganizationAdminAccountsInput) SetMaxResults(v int64) *ListOrganizationAdminAccountsInput {
 12091  	s.MaxResults = &v
 12092  	return s
 12093  }
 12094  
 12095  // SetNextToken sets the NextToken field's value.
 12096  func (s *ListOrganizationAdminAccountsInput) SetNextToken(v string) *ListOrganizationAdminAccountsInput {
 12097  	s.NextToken = &v
 12098  	return s
 12099  }
 12100  
 12101  type ListOrganizationAdminAccountsOutput struct {
 12102  	_ struct{} `type:"structure"`
 12103  
 12104  	// A list of accounts configured as GuardDuty delegated administrators.
 12105  	AdminAccounts []*AdminAccount `locationName:"adminAccounts" type:"list"`
 12106  
 12107  	// The pagination parameter to be used on the next list operation to retrieve
 12108  	// more items.
 12109  	NextToken *string `locationName:"nextToken" type:"string"`
 12110  }
 12111  
 12112  // String returns the string representation.
 12113  //
 12114  // API parameter values that are decorated as "sensitive" in the API will not
 12115  // be included in the string output. The member name will be present, but the
 12116  // value will be replaced with "sensitive".
 12117  func (s ListOrganizationAdminAccountsOutput) String() string {
 12118  	return awsutil.Prettify(s)
 12119  }
 12120  
 12121  // GoString returns the string representation.
 12122  //
 12123  // API parameter values that are decorated as "sensitive" in the API will not
 12124  // be included in the string output. The member name will be present, but the
 12125  // value will be replaced with "sensitive".
 12126  func (s ListOrganizationAdminAccountsOutput) GoString() string {
 12127  	return s.String()
 12128  }
 12129  
 12130  // SetAdminAccounts sets the AdminAccounts field's value.
 12131  func (s *ListOrganizationAdminAccountsOutput) SetAdminAccounts(v []*AdminAccount) *ListOrganizationAdminAccountsOutput {
 12132  	s.AdminAccounts = v
 12133  	return s
 12134  }
 12135  
 12136  // SetNextToken sets the NextToken field's value.
 12137  func (s *ListOrganizationAdminAccountsOutput) SetNextToken(v string) *ListOrganizationAdminAccountsOutput {
 12138  	s.NextToken = &v
 12139  	return s
 12140  }
 12141  
 12142  type ListPublishingDestinationsInput struct {
 12143  	_ struct{} `type:"structure" nopayload:"true"`
 12144  
 12145  	// The ID of the detector to retrieve publishing destinations for.
 12146  	//
 12147  	// DetectorId is a required field
 12148  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 12149  
 12150  	// The maximum number of results to return in the response.
 12151  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 12152  
 12153  	// A token to use for paginating results that are returned in the response.
 12154  	// Set the value of this parameter to null for the first request to a list action.
 12155  	// For subsequent calls, use the NextToken value returned from the previous
 12156  	// request to continue listing results after the first page.
 12157  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 12158  }
 12159  
 12160  // String returns the string representation.
 12161  //
 12162  // API parameter values that are decorated as "sensitive" in the API will not
 12163  // be included in the string output. The member name will be present, but the
 12164  // value will be replaced with "sensitive".
 12165  func (s ListPublishingDestinationsInput) String() string {
 12166  	return awsutil.Prettify(s)
 12167  }
 12168  
 12169  // GoString returns the string representation.
 12170  //
 12171  // API parameter values that are decorated as "sensitive" in the API will not
 12172  // be included in the string output. The member name will be present, but the
 12173  // value will be replaced with "sensitive".
 12174  func (s ListPublishingDestinationsInput) GoString() string {
 12175  	return s.String()
 12176  }
 12177  
 12178  // Validate inspects the fields of the type to determine if they are valid.
 12179  func (s *ListPublishingDestinationsInput) Validate() error {
 12180  	invalidParams := request.ErrInvalidParams{Context: "ListPublishingDestinationsInput"}
 12181  	if s.DetectorId == nil {
 12182  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 12183  	}
 12184  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 12185  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 12186  	}
 12187  	if s.MaxResults != nil && *s.MaxResults < 1 {
 12188  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 12189  	}
 12190  
 12191  	if invalidParams.Len() > 0 {
 12192  		return invalidParams
 12193  	}
 12194  	return nil
 12195  }
 12196  
 12197  // SetDetectorId sets the DetectorId field's value.
 12198  func (s *ListPublishingDestinationsInput) SetDetectorId(v string) *ListPublishingDestinationsInput {
 12199  	s.DetectorId = &v
 12200  	return s
 12201  }
 12202  
 12203  // SetMaxResults sets the MaxResults field's value.
 12204  func (s *ListPublishingDestinationsInput) SetMaxResults(v int64) *ListPublishingDestinationsInput {
 12205  	s.MaxResults = &v
 12206  	return s
 12207  }
 12208  
 12209  // SetNextToken sets the NextToken field's value.
 12210  func (s *ListPublishingDestinationsInput) SetNextToken(v string) *ListPublishingDestinationsInput {
 12211  	s.NextToken = &v
 12212  	return s
 12213  }
 12214  
 12215  type ListPublishingDestinationsOutput struct {
 12216  	_ struct{} `type:"structure"`
 12217  
 12218  	// A Destinations object that includes information about each publishing destination
 12219  	// returned.
 12220  	//
 12221  	// Destinations is a required field
 12222  	Destinations []*Destination `locationName:"destinations" type:"list" required:"true"`
 12223  
 12224  	// A token to use for paginating results that are returned in the response.
 12225  	// Set the value of this parameter to null for the first request to a list action.
 12226  	// For subsequent calls, use the NextToken value returned from the previous
 12227  	// request to continue listing results after the first page.
 12228  	NextToken *string `locationName:"nextToken" type:"string"`
 12229  }
 12230  
 12231  // String returns the string representation.
 12232  //
 12233  // API parameter values that are decorated as "sensitive" in the API will not
 12234  // be included in the string output. The member name will be present, but the
 12235  // value will be replaced with "sensitive".
 12236  func (s ListPublishingDestinationsOutput) String() string {
 12237  	return awsutil.Prettify(s)
 12238  }
 12239  
 12240  // GoString returns the string representation.
 12241  //
 12242  // API parameter values that are decorated as "sensitive" in the API will not
 12243  // be included in the string output. The member name will be present, but the
 12244  // value will be replaced with "sensitive".
 12245  func (s ListPublishingDestinationsOutput) GoString() string {
 12246  	return s.String()
 12247  }
 12248  
 12249  // SetDestinations sets the Destinations field's value.
 12250  func (s *ListPublishingDestinationsOutput) SetDestinations(v []*Destination) *ListPublishingDestinationsOutput {
 12251  	s.Destinations = v
 12252  	return s
 12253  }
 12254  
 12255  // SetNextToken sets the NextToken field's value.
 12256  func (s *ListPublishingDestinationsOutput) SetNextToken(v string) *ListPublishingDestinationsOutput {
 12257  	s.NextToken = &v
 12258  	return s
 12259  }
 12260  
 12261  type ListTagsForResourceInput struct {
 12262  	_ struct{} `type:"structure" nopayload:"true"`
 12263  
 12264  	// The Amazon Resource Name (ARN) for the given GuardDuty resource.
 12265  	//
 12266  	// ResourceArn is a required field
 12267  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
 12268  }
 12269  
 12270  // String returns the string representation.
 12271  //
 12272  // API parameter values that are decorated as "sensitive" in the API will not
 12273  // be included in the string output. The member name will be present, but the
 12274  // value will be replaced with "sensitive".
 12275  func (s ListTagsForResourceInput) String() string {
 12276  	return awsutil.Prettify(s)
 12277  }
 12278  
 12279  // GoString returns the string representation.
 12280  //
 12281  // API parameter values that are decorated as "sensitive" in the API will not
 12282  // be included in the string output. The member name will be present, but the
 12283  // value will be replaced with "sensitive".
 12284  func (s ListTagsForResourceInput) GoString() string {
 12285  	return s.String()
 12286  }
 12287  
 12288  // Validate inspects the fields of the type to determine if they are valid.
 12289  func (s *ListTagsForResourceInput) Validate() error {
 12290  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
 12291  	if s.ResourceArn == nil {
 12292  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 12293  	}
 12294  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 12295  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 12296  	}
 12297  
 12298  	if invalidParams.Len() > 0 {
 12299  		return invalidParams
 12300  	}
 12301  	return nil
 12302  }
 12303  
 12304  // SetResourceArn sets the ResourceArn field's value.
 12305  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
 12306  	s.ResourceArn = &v
 12307  	return s
 12308  }
 12309  
 12310  type ListTagsForResourceOutput struct {
 12311  	_ struct{} `type:"structure"`
 12312  
 12313  	// The tags associated with the resource.
 12314  	Tags map[string]*string `locationName:"tags" min:"1" type:"map"`
 12315  }
 12316  
 12317  // String returns the string representation.
 12318  //
 12319  // API parameter values that are decorated as "sensitive" in the API will not
 12320  // be included in the string output. The member name will be present, but the
 12321  // value will be replaced with "sensitive".
 12322  func (s ListTagsForResourceOutput) String() string {
 12323  	return awsutil.Prettify(s)
 12324  }
 12325  
 12326  // GoString returns the string representation.
 12327  //
 12328  // API parameter values that are decorated as "sensitive" in the API will not
 12329  // be included in the string output. The member name will be present, but the
 12330  // value will be replaced with "sensitive".
 12331  func (s ListTagsForResourceOutput) GoString() string {
 12332  	return s.String()
 12333  }
 12334  
 12335  // SetTags sets the Tags field's value.
 12336  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
 12337  	s.Tags = v
 12338  	return s
 12339  }
 12340  
 12341  type ListThreatIntelSetsInput struct {
 12342  	_ struct{} `type:"structure" nopayload:"true"`
 12343  
 12344  	// The unique ID of the detector that the threatIntelSet is associated with.
 12345  	//
 12346  	// DetectorId is a required field
 12347  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 12348  
 12349  	// You can use this parameter to indicate the maximum number of items that you
 12350  	// want in the response. The default value is 50. The maximum value is 50.
 12351  	MaxResults *int64 `location:"querystring" locationName:"maxResults" min:"1" type:"integer"`
 12352  
 12353  	// You can use this parameter to paginate results in the response. Set the value
 12354  	// of this parameter to null on your first call to the list action. For subsequent
 12355  	// calls to the action, fill nextToken in the request with the value of NextToken
 12356  	// from the previous response to continue listing data.
 12357  	NextToken *string `location:"querystring" locationName:"nextToken" type:"string"`
 12358  }
 12359  
 12360  // String returns the string representation.
 12361  //
 12362  // API parameter values that are decorated as "sensitive" in the API will not
 12363  // be included in the string output. The member name will be present, but the
 12364  // value will be replaced with "sensitive".
 12365  func (s ListThreatIntelSetsInput) String() string {
 12366  	return awsutil.Prettify(s)
 12367  }
 12368  
 12369  // GoString returns the string representation.
 12370  //
 12371  // API parameter values that are decorated as "sensitive" in the API will not
 12372  // be included in the string output. The member name will be present, but the
 12373  // value will be replaced with "sensitive".
 12374  func (s ListThreatIntelSetsInput) GoString() string {
 12375  	return s.String()
 12376  }
 12377  
 12378  // Validate inspects the fields of the type to determine if they are valid.
 12379  func (s *ListThreatIntelSetsInput) Validate() error {
 12380  	invalidParams := request.ErrInvalidParams{Context: "ListThreatIntelSetsInput"}
 12381  	if s.DetectorId == nil {
 12382  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 12383  	}
 12384  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 12385  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 12386  	}
 12387  	if s.MaxResults != nil && *s.MaxResults < 1 {
 12388  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
 12389  	}
 12390  
 12391  	if invalidParams.Len() > 0 {
 12392  		return invalidParams
 12393  	}
 12394  	return nil
 12395  }
 12396  
 12397  // SetDetectorId sets the DetectorId field's value.
 12398  func (s *ListThreatIntelSetsInput) SetDetectorId(v string) *ListThreatIntelSetsInput {
 12399  	s.DetectorId = &v
 12400  	return s
 12401  }
 12402  
 12403  // SetMaxResults sets the MaxResults field's value.
 12404  func (s *ListThreatIntelSetsInput) SetMaxResults(v int64) *ListThreatIntelSetsInput {
 12405  	s.MaxResults = &v
 12406  	return s
 12407  }
 12408  
 12409  // SetNextToken sets the NextToken field's value.
 12410  func (s *ListThreatIntelSetsInput) SetNextToken(v string) *ListThreatIntelSetsInput {
 12411  	s.NextToken = &v
 12412  	return s
 12413  }
 12414  
 12415  type ListThreatIntelSetsOutput struct {
 12416  	_ struct{} `type:"structure"`
 12417  
 12418  	// The pagination parameter to be used on the next list operation to retrieve
 12419  	// more items.
 12420  	NextToken *string `locationName:"nextToken" type:"string"`
 12421  
 12422  	// The IDs of the ThreatIntelSet resources.
 12423  	//
 12424  	// ThreatIntelSetIds is a required field
 12425  	ThreatIntelSetIds []*string `locationName:"threatIntelSetIds" type:"list" required:"true"`
 12426  }
 12427  
 12428  // String returns the string representation.
 12429  //
 12430  // API parameter values that are decorated as "sensitive" in the API will not
 12431  // be included in the string output. The member name will be present, but the
 12432  // value will be replaced with "sensitive".
 12433  func (s ListThreatIntelSetsOutput) String() string {
 12434  	return awsutil.Prettify(s)
 12435  }
 12436  
 12437  // GoString returns the string representation.
 12438  //
 12439  // API parameter values that are decorated as "sensitive" in the API will not
 12440  // be included in the string output. The member name will be present, but the
 12441  // value will be replaced with "sensitive".
 12442  func (s ListThreatIntelSetsOutput) GoString() string {
 12443  	return s.String()
 12444  }
 12445  
 12446  // SetNextToken sets the NextToken field's value.
 12447  func (s *ListThreatIntelSetsOutput) SetNextToken(v string) *ListThreatIntelSetsOutput {
 12448  	s.NextToken = &v
 12449  	return s
 12450  }
 12451  
 12452  // SetThreatIntelSetIds sets the ThreatIntelSetIds field's value.
 12453  func (s *ListThreatIntelSetsOutput) SetThreatIntelSetIds(v []*string) *ListThreatIntelSetsOutput {
 12454  	s.ThreatIntelSetIds = v
 12455  	return s
 12456  }
 12457  
 12458  // Contains information about the local IP address of the connection.
 12459  type LocalIpDetails struct {
 12460  	_ struct{} `type:"structure"`
 12461  
 12462  	// The IPv4 local address of the connection.
 12463  	IpAddressV4 *string `locationName:"ipAddressV4" type:"string"`
 12464  }
 12465  
 12466  // String returns the string representation.
 12467  //
 12468  // API parameter values that are decorated as "sensitive" in the API will not
 12469  // be included in the string output. The member name will be present, but the
 12470  // value will be replaced with "sensitive".
 12471  func (s LocalIpDetails) String() string {
 12472  	return awsutil.Prettify(s)
 12473  }
 12474  
 12475  // GoString returns the string representation.
 12476  //
 12477  // API parameter values that are decorated as "sensitive" in the API will not
 12478  // be included in the string output. The member name will be present, but the
 12479  // value will be replaced with "sensitive".
 12480  func (s LocalIpDetails) GoString() string {
 12481  	return s.String()
 12482  }
 12483  
 12484  // SetIpAddressV4 sets the IpAddressV4 field's value.
 12485  func (s *LocalIpDetails) SetIpAddressV4(v string) *LocalIpDetails {
 12486  	s.IpAddressV4 = &v
 12487  	return s
 12488  }
 12489  
 12490  // Contains information about the port for the local connection.
 12491  type LocalPortDetails struct {
 12492  	_ struct{} `type:"structure"`
 12493  
 12494  	// The port number of the local connection.
 12495  	Port *int64 `locationName:"port" type:"integer"`
 12496  
 12497  	// The port name of the local connection.
 12498  	PortName *string `locationName:"portName" type:"string"`
 12499  }
 12500  
 12501  // String returns the string representation.
 12502  //
 12503  // API parameter values that are decorated as "sensitive" in the API will not
 12504  // be included in the string output. The member name will be present, but the
 12505  // value will be replaced with "sensitive".
 12506  func (s LocalPortDetails) String() string {
 12507  	return awsutil.Prettify(s)
 12508  }
 12509  
 12510  // GoString returns the string representation.
 12511  //
 12512  // API parameter values that are decorated as "sensitive" in the API will not
 12513  // be included in the string output. The member name will be present, but the
 12514  // value will be replaced with "sensitive".
 12515  func (s LocalPortDetails) GoString() string {
 12516  	return s.String()
 12517  }
 12518  
 12519  // SetPort sets the Port field's value.
 12520  func (s *LocalPortDetails) SetPort(v int64) *LocalPortDetails {
 12521  	s.Port = &v
 12522  	return s
 12523  }
 12524  
 12525  // SetPortName sets the PortName field's value.
 12526  func (s *LocalPortDetails) SetPortName(v string) *LocalPortDetails {
 12527  	s.PortName = &v
 12528  	return s
 12529  }
 12530  
 12531  // Contains information about the administrator account and invitation.
 12532  type Master struct {
 12533  	_ struct{} `type:"structure"`
 12534  
 12535  	// The ID of the account used as the administrator account.
 12536  	AccountId *string `locationName:"accountId" min:"12" type:"string"`
 12537  
 12538  	// The value used to validate the administrator account to the member account.
 12539  	InvitationId *string `locationName:"invitationId" type:"string"`
 12540  
 12541  	// The timestamp when the invitation was sent.
 12542  	InvitedAt *string `locationName:"invitedAt" type:"string"`
 12543  
 12544  	// The status of the relationship between the administrator and member accounts.
 12545  	RelationshipStatus *string `locationName:"relationshipStatus" type:"string"`
 12546  }
 12547  
 12548  // String returns the string representation.
 12549  //
 12550  // API parameter values that are decorated as "sensitive" in the API will not
 12551  // be included in the string output. The member name will be present, but the
 12552  // value will be replaced with "sensitive".
 12553  func (s Master) String() string {
 12554  	return awsutil.Prettify(s)
 12555  }
 12556  
 12557  // GoString returns the string representation.
 12558  //
 12559  // API parameter values that are decorated as "sensitive" in the API will not
 12560  // be included in the string output. The member name will be present, but the
 12561  // value will be replaced with "sensitive".
 12562  func (s Master) GoString() string {
 12563  	return s.String()
 12564  }
 12565  
 12566  // SetAccountId sets the AccountId field's value.
 12567  func (s *Master) SetAccountId(v string) *Master {
 12568  	s.AccountId = &v
 12569  	return s
 12570  }
 12571  
 12572  // SetInvitationId sets the InvitationId field's value.
 12573  func (s *Master) SetInvitationId(v string) *Master {
 12574  	s.InvitationId = &v
 12575  	return s
 12576  }
 12577  
 12578  // SetInvitedAt sets the InvitedAt field's value.
 12579  func (s *Master) SetInvitedAt(v string) *Master {
 12580  	s.InvitedAt = &v
 12581  	return s
 12582  }
 12583  
 12584  // SetRelationshipStatus sets the RelationshipStatus field's value.
 12585  func (s *Master) SetRelationshipStatus(v string) *Master {
 12586  	s.RelationshipStatus = &v
 12587  	return s
 12588  }
 12589  
 12590  // Contains information about the member account.
 12591  type Member struct {
 12592  	_ struct{} `type:"structure"`
 12593  
 12594  	// The ID of the member account.
 12595  	//
 12596  	// AccountId is a required field
 12597  	AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"`
 12598  
 12599  	// The detector ID of the member account.
 12600  	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
 12601  
 12602  	// The email address of the member account.
 12603  	//
 12604  	// Email is a required field
 12605  	Email *string `locationName:"email" min:"1" type:"string" required:"true"`
 12606  
 12607  	// The timestamp when the invitation was sent.
 12608  	InvitedAt *string `locationName:"invitedAt" type:"string"`
 12609  
 12610  	// The administrator account ID.
 12611  	//
 12612  	// MasterId is a required field
 12613  	MasterId *string `locationName:"masterId" type:"string" required:"true"`
 12614  
 12615  	// The status of the relationship between the member and the administrator.
 12616  	//
 12617  	// RelationshipStatus is a required field
 12618  	RelationshipStatus *string `locationName:"relationshipStatus" type:"string" required:"true"`
 12619  
 12620  	// The last-updated timestamp of the member.
 12621  	//
 12622  	// UpdatedAt is a required field
 12623  	UpdatedAt *string `locationName:"updatedAt" type:"string" required:"true"`
 12624  }
 12625  
 12626  // String returns the string representation.
 12627  //
 12628  // API parameter values that are decorated as "sensitive" in the API will not
 12629  // be included in the string output. The member name will be present, but the
 12630  // value will be replaced with "sensitive".
 12631  func (s Member) String() string {
 12632  	return awsutil.Prettify(s)
 12633  }
 12634  
 12635  // GoString returns the string representation.
 12636  //
 12637  // API parameter values that are decorated as "sensitive" in the API will not
 12638  // be included in the string output. The member name will be present, but the
 12639  // value will be replaced with "sensitive".
 12640  func (s Member) GoString() string {
 12641  	return s.String()
 12642  }
 12643  
 12644  // SetAccountId sets the AccountId field's value.
 12645  func (s *Member) SetAccountId(v string) *Member {
 12646  	s.AccountId = &v
 12647  	return s
 12648  }
 12649  
 12650  // SetDetectorId sets the DetectorId field's value.
 12651  func (s *Member) SetDetectorId(v string) *Member {
 12652  	s.DetectorId = &v
 12653  	return s
 12654  }
 12655  
 12656  // SetEmail sets the Email field's value.
 12657  func (s *Member) SetEmail(v string) *Member {
 12658  	s.Email = &v
 12659  	return s
 12660  }
 12661  
 12662  // SetInvitedAt sets the InvitedAt field's value.
 12663  func (s *Member) SetInvitedAt(v string) *Member {
 12664  	s.InvitedAt = &v
 12665  	return s
 12666  }
 12667  
 12668  // SetMasterId sets the MasterId field's value.
 12669  func (s *Member) SetMasterId(v string) *Member {
 12670  	s.MasterId = &v
 12671  	return s
 12672  }
 12673  
 12674  // SetRelationshipStatus sets the RelationshipStatus field's value.
 12675  func (s *Member) SetRelationshipStatus(v string) *Member {
 12676  	s.RelationshipStatus = &v
 12677  	return s
 12678  }
 12679  
 12680  // SetUpdatedAt sets the UpdatedAt field's value.
 12681  func (s *Member) SetUpdatedAt(v string) *Member {
 12682  	s.UpdatedAt = &v
 12683  	return s
 12684  }
 12685  
 12686  // Contains information on which data sources are enabled for a member account.
 12687  type MemberDataSourceConfiguration struct {
 12688  	_ struct{} `type:"structure"`
 12689  
 12690  	// The account ID for the member account.
 12691  	//
 12692  	// AccountId is a required field
 12693  	AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"`
 12694  
 12695  	// Contains information on the status of data sources for the account.
 12696  	//
 12697  	// DataSources is a required field
 12698  	DataSources *DataSourceConfigurationsResult `locationName:"dataSources" type:"structure" required:"true"`
 12699  }
 12700  
 12701  // String returns the string representation.
 12702  //
 12703  // API parameter values that are decorated as "sensitive" in the API will not
 12704  // be included in the string output. The member name will be present, but the
 12705  // value will be replaced with "sensitive".
 12706  func (s MemberDataSourceConfiguration) String() string {
 12707  	return awsutil.Prettify(s)
 12708  }
 12709  
 12710  // GoString returns the string representation.
 12711  //
 12712  // API parameter values that are decorated as "sensitive" in the API will not
 12713  // be included in the string output. The member name will be present, but the
 12714  // value will be replaced with "sensitive".
 12715  func (s MemberDataSourceConfiguration) GoString() string {
 12716  	return s.String()
 12717  }
 12718  
 12719  // SetAccountId sets the AccountId field's value.
 12720  func (s *MemberDataSourceConfiguration) SetAccountId(v string) *MemberDataSourceConfiguration {
 12721  	s.AccountId = &v
 12722  	return s
 12723  }
 12724  
 12725  // SetDataSources sets the DataSources field's value.
 12726  func (s *MemberDataSourceConfiguration) SetDataSources(v *DataSourceConfigurationsResult) *MemberDataSourceConfiguration {
 12727  	s.DataSources = v
 12728  	return s
 12729  }
 12730  
 12731  // Contains information about the NETWORK_CONNECTION action described in the
 12732  // finding.
 12733  type NetworkConnectionAction struct {
 12734  	_ struct{} `type:"structure"`
 12735  
 12736  	// Indicates whether EC2 blocked the network connection to your instance.
 12737  	Blocked *bool `locationName:"blocked" type:"boolean"`
 12738  
 12739  	// The network connection direction.
 12740  	ConnectionDirection *string `locationName:"connectionDirection" type:"string"`
 12741  
 12742  	// The local IP information of the connection.
 12743  	LocalIpDetails *LocalIpDetails `locationName:"localIpDetails" type:"structure"`
 12744  
 12745  	// The local port information of the connection.
 12746  	LocalPortDetails *LocalPortDetails `locationName:"localPortDetails" type:"structure"`
 12747  
 12748  	// The network connection protocol.
 12749  	Protocol *string `locationName:"protocol" type:"string"`
 12750  
 12751  	// The remote IP information of the connection.
 12752  	RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"`
 12753  
 12754  	// The remote port information of the connection.
 12755  	RemotePortDetails *RemotePortDetails `locationName:"remotePortDetails" type:"structure"`
 12756  }
 12757  
 12758  // String returns the string representation.
 12759  //
 12760  // API parameter values that are decorated as "sensitive" in the API will not
 12761  // be included in the string output. The member name will be present, but the
 12762  // value will be replaced with "sensitive".
 12763  func (s NetworkConnectionAction) String() string {
 12764  	return awsutil.Prettify(s)
 12765  }
 12766  
 12767  // GoString returns the string representation.
 12768  //
 12769  // API parameter values that are decorated as "sensitive" in the API will not
 12770  // be included in the string output. The member name will be present, but the
 12771  // value will be replaced with "sensitive".
 12772  func (s NetworkConnectionAction) GoString() string {
 12773  	return s.String()
 12774  }
 12775  
 12776  // SetBlocked sets the Blocked field's value.
 12777  func (s *NetworkConnectionAction) SetBlocked(v bool) *NetworkConnectionAction {
 12778  	s.Blocked = &v
 12779  	return s
 12780  }
 12781  
 12782  // SetConnectionDirection sets the ConnectionDirection field's value.
 12783  func (s *NetworkConnectionAction) SetConnectionDirection(v string) *NetworkConnectionAction {
 12784  	s.ConnectionDirection = &v
 12785  	return s
 12786  }
 12787  
 12788  // SetLocalIpDetails sets the LocalIpDetails field's value.
 12789  func (s *NetworkConnectionAction) SetLocalIpDetails(v *LocalIpDetails) *NetworkConnectionAction {
 12790  	s.LocalIpDetails = v
 12791  	return s
 12792  }
 12793  
 12794  // SetLocalPortDetails sets the LocalPortDetails field's value.
 12795  func (s *NetworkConnectionAction) SetLocalPortDetails(v *LocalPortDetails) *NetworkConnectionAction {
 12796  	s.LocalPortDetails = v
 12797  	return s
 12798  }
 12799  
 12800  // SetProtocol sets the Protocol field's value.
 12801  func (s *NetworkConnectionAction) SetProtocol(v string) *NetworkConnectionAction {
 12802  	s.Protocol = &v
 12803  	return s
 12804  }
 12805  
 12806  // SetRemoteIpDetails sets the RemoteIpDetails field's value.
 12807  func (s *NetworkConnectionAction) SetRemoteIpDetails(v *RemoteIpDetails) *NetworkConnectionAction {
 12808  	s.RemoteIpDetails = v
 12809  	return s
 12810  }
 12811  
 12812  // SetRemotePortDetails sets the RemotePortDetails field's value.
 12813  func (s *NetworkConnectionAction) SetRemotePortDetails(v *RemotePortDetails) *NetworkConnectionAction {
 12814  	s.RemotePortDetails = v
 12815  	return s
 12816  }
 12817  
 12818  // Contains information about the elastic network interface of the EC2 instance.
 12819  type NetworkInterface struct {
 12820  	_ struct{} `type:"structure"`
 12821  
 12822  	// A list of IPv6 addresses for the EC2 instance.
 12823  	Ipv6Addresses []*string `locationName:"ipv6Addresses" type:"list"`
 12824  
 12825  	// The ID of the network interface.
 12826  	NetworkInterfaceId *string `locationName:"networkInterfaceId" type:"string"`
 12827  
 12828  	// The private DNS name of the EC2 instance.
 12829  	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
 12830  
 12831  	// The private IP address of the EC2 instance.
 12832  	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
 12833  
 12834  	// Other private IP address information of the EC2 instance.
 12835  	PrivateIpAddresses []*PrivateIpAddressDetails `locationName:"privateIpAddresses" type:"list"`
 12836  
 12837  	// The public DNS name of the EC2 instance.
 12838  	PublicDnsName *string `locationName:"publicDnsName" type:"string"`
 12839  
 12840  	// The public IP address of the EC2 instance.
 12841  	PublicIp *string `locationName:"publicIp" type:"string"`
 12842  
 12843  	// The security groups associated with the EC2 instance.
 12844  	SecurityGroups []*SecurityGroup `locationName:"securityGroups" type:"list"`
 12845  
 12846  	// The subnet ID of the EC2 instance.
 12847  	SubnetId *string `locationName:"subnetId" type:"string"`
 12848  
 12849  	// The VPC ID of the EC2 instance.
 12850  	VpcId *string `locationName:"vpcId" type:"string"`
 12851  }
 12852  
 12853  // String returns the string representation.
 12854  //
 12855  // API parameter values that are decorated as "sensitive" in the API will not
 12856  // be included in the string output. The member name will be present, but the
 12857  // value will be replaced with "sensitive".
 12858  func (s NetworkInterface) String() string {
 12859  	return awsutil.Prettify(s)
 12860  }
 12861  
 12862  // GoString returns the string representation.
 12863  //
 12864  // API parameter values that are decorated as "sensitive" in the API will not
 12865  // be included in the string output. The member name will be present, but the
 12866  // value will be replaced with "sensitive".
 12867  func (s NetworkInterface) GoString() string {
 12868  	return s.String()
 12869  }
 12870  
 12871  // SetIpv6Addresses sets the Ipv6Addresses field's value.
 12872  func (s *NetworkInterface) SetIpv6Addresses(v []*string) *NetworkInterface {
 12873  	s.Ipv6Addresses = v
 12874  	return s
 12875  }
 12876  
 12877  // SetNetworkInterfaceId sets the NetworkInterfaceId field's value.
 12878  func (s *NetworkInterface) SetNetworkInterfaceId(v string) *NetworkInterface {
 12879  	s.NetworkInterfaceId = &v
 12880  	return s
 12881  }
 12882  
 12883  // SetPrivateDnsName sets the PrivateDnsName field's value.
 12884  func (s *NetworkInterface) SetPrivateDnsName(v string) *NetworkInterface {
 12885  	s.PrivateDnsName = &v
 12886  	return s
 12887  }
 12888  
 12889  // SetPrivateIpAddress sets the PrivateIpAddress field's value.
 12890  func (s *NetworkInterface) SetPrivateIpAddress(v string) *NetworkInterface {
 12891  	s.PrivateIpAddress = &v
 12892  	return s
 12893  }
 12894  
 12895  // SetPrivateIpAddresses sets the PrivateIpAddresses field's value.
 12896  func (s *NetworkInterface) SetPrivateIpAddresses(v []*PrivateIpAddressDetails) *NetworkInterface {
 12897  	s.PrivateIpAddresses = v
 12898  	return s
 12899  }
 12900  
 12901  // SetPublicDnsName sets the PublicDnsName field's value.
 12902  func (s *NetworkInterface) SetPublicDnsName(v string) *NetworkInterface {
 12903  	s.PublicDnsName = &v
 12904  	return s
 12905  }
 12906  
 12907  // SetPublicIp sets the PublicIp field's value.
 12908  func (s *NetworkInterface) SetPublicIp(v string) *NetworkInterface {
 12909  	s.PublicIp = &v
 12910  	return s
 12911  }
 12912  
 12913  // SetSecurityGroups sets the SecurityGroups field's value.
 12914  func (s *NetworkInterface) SetSecurityGroups(v []*SecurityGroup) *NetworkInterface {
 12915  	s.SecurityGroups = v
 12916  	return s
 12917  }
 12918  
 12919  // SetSubnetId sets the SubnetId field's value.
 12920  func (s *NetworkInterface) SetSubnetId(v string) *NetworkInterface {
 12921  	s.SubnetId = &v
 12922  	return s
 12923  }
 12924  
 12925  // SetVpcId sets the VpcId field's value.
 12926  func (s *NetworkInterface) SetVpcId(v string) *NetworkInterface {
 12927  	s.VpcId = &v
 12928  	return s
 12929  }
 12930  
 12931  // Contains information about the ISP organization of the remote IP address.
 12932  type Organization struct {
 12933  	_ struct{} `type:"structure"`
 12934  
 12935  	// The Autonomous System Number (ASN) of the internet provider of the remote
 12936  	// IP address.
 12937  	Asn *string `locationName:"asn" type:"string"`
 12938  
 12939  	// The organization that registered this ASN.
 12940  	AsnOrg *string `locationName:"asnOrg" type:"string"`
 12941  
 12942  	// The ISP information for the internet provider.
 12943  	Isp *string `locationName:"isp" type:"string"`
 12944  
 12945  	// The name of the internet provider.
 12946  	Org *string `locationName:"org" type:"string"`
 12947  }
 12948  
 12949  // String returns the string representation.
 12950  //
 12951  // API parameter values that are decorated as "sensitive" in the API will not
 12952  // be included in the string output. The member name will be present, but the
 12953  // value will be replaced with "sensitive".
 12954  func (s Organization) String() string {
 12955  	return awsutil.Prettify(s)
 12956  }
 12957  
 12958  // GoString returns the string representation.
 12959  //
 12960  // API parameter values that are decorated as "sensitive" in the API will not
 12961  // be included in the string output. The member name will be present, but the
 12962  // value will be replaced with "sensitive".
 12963  func (s Organization) GoString() string {
 12964  	return s.String()
 12965  }
 12966  
 12967  // SetAsn sets the Asn field's value.
 12968  func (s *Organization) SetAsn(v string) *Organization {
 12969  	s.Asn = &v
 12970  	return s
 12971  }
 12972  
 12973  // SetAsnOrg sets the AsnOrg field's value.
 12974  func (s *Organization) SetAsnOrg(v string) *Organization {
 12975  	s.AsnOrg = &v
 12976  	return s
 12977  }
 12978  
 12979  // SetIsp sets the Isp field's value.
 12980  func (s *Organization) SetIsp(v string) *Organization {
 12981  	s.Isp = &v
 12982  	return s
 12983  }
 12984  
 12985  // SetOrg sets the Org field's value.
 12986  func (s *Organization) SetOrg(v string) *Organization {
 12987  	s.Org = &v
 12988  	return s
 12989  }
 12990  
 12991  // An object that contains information on which data sources will be configured
 12992  // to be automatically enabled for new members within the organization.
 12993  type OrganizationDataSourceConfigurations struct {
 12994  	_ struct{} `type:"structure"`
 12995  
 12996  	// Describes whether S3 data event logs are enabled for new members of the organization.
 12997  	S3Logs *OrganizationS3LogsConfiguration `locationName:"s3Logs" type:"structure"`
 12998  }
 12999  
 13000  // String returns the string representation.
 13001  //
 13002  // API parameter values that are decorated as "sensitive" in the API will not
 13003  // be included in the string output. The member name will be present, but the
 13004  // value will be replaced with "sensitive".
 13005  func (s OrganizationDataSourceConfigurations) String() string {
 13006  	return awsutil.Prettify(s)
 13007  }
 13008  
 13009  // GoString returns the string representation.
 13010  //
 13011  // API parameter values that are decorated as "sensitive" in the API will not
 13012  // be included in the string output. The member name will be present, but the
 13013  // value will be replaced with "sensitive".
 13014  func (s OrganizationDataSourceConfigurations) GoString() string {
 13015  	return s.String()
 13016  }
 13017  
 13018  // Validate inspects the fields of the type to determine if they are valid.
 13019  func (s *OrganizationDataSourceConfigurations) Validate() error {
 13020  	invalidParams := request.ErrInvalidParams{Context: "OrganizationDataSourceConfigurations"}
 13021  	if s.S3Logs != nil {
 13022  		if err := s.S3Logs.Validate(); err != nil {
 13023  			invalidParams.AddNested("S3Logs", err.(request.ErrInvalidParams))
 13024  		}
 13025  	}
 13026  
 13027  	if invalidParams.Len() > 0 {
 13028  		return invalidParams
 13029  	}
 13030  	return nil
 13031  }
 13032  
 13033  // SetS3Logs sets the S3Logs field's value.
 13034  func (s *OrganizationDataSourceConfigurations) SetS3Logs(v *OrganizationS3LogsConfiguration) *OrganizationDataSourceConfigurations {
 13035  	s.S3Logs = v
 13036  	return s
 13037  }
 13038  
 13039  // An object that contains information on which data sources are automatically
 13040  // enabled for new members within the organization.
 13041  type OrganizationDataSourceConfigurationsResult struct {
 13042  	_ struct{} `type:"structure"`
 13043  
 13044  	// Describes whether S3 data event logs are enabled as a data source.
 13045  	//
 13046  	// S3Logs is a required field
 13047  	S3Logs *OrganizationS3LogsConfigurationResult `locationName:"s3Logs" type:"structure" required:"true"`
 13048  }
 13049  
 13050  // String returns the string representation.
 13051  //
 13052  // API parameter values that are decorated as "sensitive" in the API will not
 13053  // be included in the string output. The member name will be present, but the
 13054  // value will be replaced with "sensitive".
 13055  func (s OrganizationDataSourceConfigurationsResult) String() string {
 13056  	return awsutil.Prettify(s)
 13057  }
 13058  
 13059  // GoString returns the string representation.
 13060  //
 13061  // API parameter values that are decorated as "sensitive" in the API will not
 13062  // be included in the string output. The member name will be present, but the
 13063  // value will be replaced with "sensitive".
 13064  func (s OrganizationDataSourceConfigurationsResult) GoString() string {
 13065  	return s.String()
 13066  }
 13067  
 13068  // SetS3Logs sets the S3Logs field's value.
 13069  func (s *OrganizationDataSourceConfigurationsResult) SetS3Logs(v *OrganizationS3LogsConfigurationResult) *OrganizationDataSourceConfigurationsResult {
 13070  	s.S3Logs = v
 13071  	return s
 13072  }
 13073  
 13074  // Describes whether S3 data event logs will be automatically enabled for new
 13075  // members of the organization.
 13076  type OrganizationS3LogsConfiguration struct {
 13077  	_ struct{} `type:"structure"`
 13078  
 13079  	// A value that contains information on whether S3 data event logs will be enabled
 13080  	// automatically as a data source for the organization.
 13081  	//
 13082  	// AutoEnable is a required field
 13083  	AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"`
 13084  }
 13085  
 13086  // String returns the string representation.
 13087  //
 13088  // API parameter values that are decorated as "sensitive" in the API will not
 13089  // be included in the string output. The member name will be present, but the
 13090  // value will be replaced with "sensitive".
 13091  func (s OrganizationS3LogsConfiguration) String() string {
 13092  	return awsutil.Prettify(s)
 13093  }
 13094  
 13095  // GoString returns the string representation.
 13096  //
 13097  // API parameter values that are decorated as "sensitive" in the API will not
 13098  // be included in the string output. The member name will be present, but the
 13099  // value will be replaced with "sensitive".
 13100  func (s OrganizationS3LogsConfiguration) GoString() string {
 13101  	return s.String()
 13102  }
 13103  
 13104  // Validate inspects the fields of the type to determine if they are valid.
 13105  func (s *OrganizationS3LogsConfiguration) Validate() error {
 13106  	invalidParams := request.ErrInvalidParams{Context: "OrganizationS3LogsConfiguration"}
 13107  	if s.AutoEnable == nil {
 13108  		invalidParams.Add(request.NewErrParamRequired("AutoEnable"))
 13109  	}
 13110  
 13111  	if invalidParams.Len() > 0 {
 13112  		return invalidParams
 13113  	}
 13114  	return nil
 13115  }
 13116  
 13117  // SetAutoEnable sets the AutoEnable field's value.
 13118  func (s *OrganizationS3LogsConfiguration) SetAutoEnable(v bool) *OrganizationS3LogsConfiguration {
 13119  	s.AutoEnable = &v
 13120  	return s
 13121  }
 13122  
 13123  // The current configuration of S3 data event logs as a data source for the
 13124  // organization.
 13125  type OrganizationS3LogsConfigurationResult struct {
 13126  	_ struct{} `type:"structure"`
 13127  
 13128  	// A value that describes whether S3 data event logs are automatically enabled
 13129  	// for new members of the organization.
 13130  	//
 13131  	// AutoEnable is a required field
 13132  	AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"`
 13133  }
 13134  
 13135  // String returns the string representation.
 13136  //
 13137  // API parameter values that are decorated as "sensitive" in the API will not
 13138  // be included in the string output. The member name will be present, but the
 13139  // value will be replaced with "sensitive".
 13140  func (s OrganizationS3LogsConfigurationResult) String() string {
 13141  	return awsutil.Prettify(s)
 13142  }
 13143  
 13144  // GoString returns the string representation.
 13145  //
 13146  // API parameter values that are decorated as "sensitive" in the API will not
 13147  // be included in the string output. The member name will be present, but the
 13148  // value will be replaced with "sensitive".
 13149  func (s OrganizationS3LogsConfigurationResult) GoString() string {
 13150  	return s.String()
 13151  }
 13152  
 13153  // SetAutoEnable sets the AutoEnable field's value.
 13154  func (s *OrganizationS3LogsConfigurationResult) SetAutoEnable(v bool) *OrganizationS3LogsConfigurationResult {
 13155  	s.AutoEnable = &v
 13156  	return s
 13157  }
 13158  
 13159  // Contains information on the owner of the bucket.
 13160  type Owner struct {
 13161  	_ struct{} `type:"structure"`
 13162  
 13163  	// The canonical user ID of the bucket owner. For information about locating
 13164  	// your canonical user ID see Finding Your Account Canonical User ID. (https://docs.aws.amazon.com/general/latest/gr/acct-identifiers.html#FindingCanonicalId)
 13165  	Id *string `locationName:"id" type:"string"`
 13166  }
 13167  
 13168  // String returns the string representation.
 13169  //
 13170  // API parameter values that are decorated as "sensitive" in the API will not
 13171  // be included in the string output. The member name will be present, but the
 13172  // value will be replaced with "sensitive".
 13173  func (s Owner) String() string {
 13174  	return awsutil.Prettify(s)
 13175  }
 13176  
 13177  // GoString returns the string representation.
 13178  //
 13179  // API parameter values that are decorated as "sensitive" in the API will not
 13180  // be included in the string output. The member name will be present, but the
 13181  // value will be replaced with "sensitive".
 13182  func (s Owner) GoString() string {
 13183  	return s.String()
 13184  }
 13185  
 13186  // SetId sets the Id field's value.
 13187  func (s *Owner) SetId(v string) *Owner {
 13188  	s.Id = &v
 13189  	return s
 13190  }
 13191  
 13192  // Contains information about how permissions are configured for the S3 bucket.
 13193  type PermissionConfiguration struct {
 13194  	_ struct{} `type:"structure"`
 13195  
 13196  	// Contains information about the account level permissions on the S3 bucket.
 13197  	AccountLevelPermissions *AccountLevelPermissions `locationName:"accountLevelPermissions" type:"structure"`
 13198  
 13199  	// Contains information about the bucket level permissions for the S3 bucket.
 13200  	BucketLevelPermissions *BucketLevelPermissions `locationName:"bucketLevelPermissions" type:"structure"`
 13201  }
 13202  
 13203  // String returns the string representation.
 13204  //
 13205  // API parameter values that are decorated as "sensitive" in the API will not
 13206  // be included in the string output. The member name will be present, but the
 13207  // value will be replaced with "sensitive".
 13208  func (s PermissionConfiguration) String() string {
 13209  	return awsutil.Prettify(s)
 13210  }
 13211  
 13212  // GoString returns the string representation.
 13213  //
 13214  // API parameter values that are decorated as "sensitive" in the API will not
 13215  // be included in the string output. The member name will be present, but the
 13216  // value will be replaced with "sensitive".
 13217  func (s PermissionConfiguration) GoString() string {
 13218  	return s.String()
 13219  }
 13220  
 13221  // SetAccountLevelPermissions sets the AccountLevelPermissions field's value.
 13222  func (s *PermissionConfiguration) SetAccountLevelPermissions(v *AccountLevelPermissions) *PermissionConfiguration {
 13223  	s.AccountLevelPermissions = v
 13224  	return s
 13225  }
 13226  
 13227  // SetBucketLevelPermissions sets the BucketLevelPermissions field's value.
 13228  func (s *PermissionConfiguration) SetBucketLevelPermissions(v *BucketLevelPermissions) *PermissionConfiguration {
 13229  	s.BucketLevelPermissions = v
 13230  	return s
 13231  }
 13232  
 13233  // Contains information about the PORT_PROBE action described in the finding.
 13234  type PortProbeAction struct {
 13235  	_ struct{} `type:"structure"`
 13236  
 13237  	// Indicates whether EC2 blocked the port probe to the instance, such as with
 13238  	// an ACL.
 13239  	Blocked *bool `locationName:"blocked" type:"boolean"`
 13240  
 13241  	// A list of objects related to port probe details.
 13242  	PortProbeDetails []*PortProbeDetail `locationName:"portProbeDetails" type:"list"`
 13243  }
 13244  
 13245  // String returns the string representation.
 13246  //
 13247  // API parameter values that are decorated as "sensitive" in the API will not
 13248  // be included in the string output. The member name will be present, but the
 13249  // value will be replaced with "sensitive".
 13250  func (s PortProbeAction) String() string {
 13251  	return awsutil.Prettify(s)
 13252  }
 13253  
 13254  // GoString returns the string representation.
 13255  //
 13256  // API parameter values that are decorated as "sensitive" in the API will not
 13257  // be included in the string output. The member name will be present, but the
 13258  // value will be replaced with "sensitive".
 13259  func (s PortProbeAction) GoString() string {
 13260  	return s.String()
 13261  }
 13262  
 13263  // SetBlocked sets the Blocked field's value.
 13264  func (s *PortProbeAction) SetBlocked(v bool) *PortProbeAction {
 13265  	s.Blocked = &v
 13266  	return s
 13267  }
 13268  
 13269  // SetPortProbeDetails sets the PortProbeDetails field's value.
 13270  func (s *PortProbeAction) SetPortProbeDetails(v []*PortProbeDetail) *PortProbeAction {
 13271  	s.PortProbeDetails = v
 13272  	return s
 13273  }
 13274  
 13275  // Contains information about the port probe details.
 13276  type PortProbeDetail struct {
 13277  	_ struct{} `type:"structure"`
 13278  
 13279  	// The local IP information of the connection.
 13280  	LocalIpDetails *LocalIpDetails `locationName:"localIpDetails" type:"structure"`
 13281  
 13282  	// The local port information of the connection.
 13283  	LocalPortDetails *LocalPortDetails `locationName:"localPortDetails" type:"structure"`
 13284  
 13285  	// The remote IP information of the connection.
 13286  	RemoteIpDetails *RemoteIpDetails `locationName:"remoteIpDetails" type:"structure"`
 13287  }
 13288  
 13289  // String returns the string representation.
 13290  //
 13291  // API parameter values that are decorated as "sensitive" in the API will not
 13292  // be included in the string output. The member name will be present, but the
 13293  // value will be replaced with "sensitive".
 13294  func (s PortProbeDetail) String() string {
 13295  	return awsutil.Prettify(s)
 13296  }
 13297  
 13298  // GoString returns the string representation.
 13299  //
 13300  // API parameter values that are decorated as "sensitive" in the API will not
 13301  // be included in the string output. The member name will be present, but the
 13302  // value will be replaced with "sensitive".
 13303  func (s PortProbeDetail) GoString() string {
 13304  	return s.String()
 13305  }
 13306  
 13307  // SetLocalIpDetails sets the LocalIpDetails field's value.
 13308  func (s *PortProbeDetail) SetLocalIpDetails(v *LocalIpDetails) *PortProbeDetail {
 13309  	s.LocalIpDetails = v
 13310  	return s
 13311  }
 13312  
 13313  // SetLocalPortDetails sets the LocalPortDetails field's value.
 13314  func (s *PortProbeDetail) SetLocalPortDetails(v *LocalPortDetails) *PortProbeDetail {
 13315  	s.LocalPortDetails = v
 13316  	return s
 13317  }
 13318  
 13319  // SetRemoteIpDetails sets the RemoteIpDetails field's value.
 13320  func (s *PortProbeDetail) SetRemoteIpDetails(v *RemoteIpDetails) *PortProbeDetail {
 13321  	s.RemoteIpDetails = v
 13322  	return s
 13323  }
 13324  
 13325  // Contains other private IP address information of the EC2 instance.
 13326  type PrivateIpAddressDetails struct {
 13327  	_ struct{} `type:"structure"`
 13328  
 13329  	// The private DNS name of the EC2 instance.
 13330  	PrivateDnsName *string `locationName:"privateDnsName" type:"string"`
 13331  
 13332  	// The private IP address of the EC2 instance.
 13333  	PrivateIpAddress *string `locationName:"privateIpAddress" type:"string"`
 13334  }
 13335  
 13336  // String returns the string representation.
 13337  //
 13338  // API parameter values that are decorated as "sensitive" in the API will not
 13339  // be included in the string output. The member name will be present, but the
 13340  // value will be replaced with "sensitive".
 13341  func (s PrivateIpAddressDetails) String() string {
 13342  	return awsutil.Prettify(s)
 13343  }
 13344  
 13345  // GoString returns the string representation.
 13346  //
 13347  // API parameter values that are decorated as "sensitive" in the API will not
 13348  // be included in the string output. The member name will be present, but the
 13349  // value will be replaced with "sensitive".
 13350  func (s PrivateIpAddressDetails) GoString() string {
 13351  	return s.String()
 13352  }
 13353  
 13354  // SetPrivateDnsName sets the PrivateDnsName field's value.
 13355  func (s *PrivateIpAddressDetails) SetPrivateDnsName(v string) *PrivateIpAddressDetails {
 13356  	s.PrivateDnsName = &v
 13357  	return s
 13358  }
 13359  
 13360  // SetPrivateIpAddress sets the PrivateIpAddress field's value.
 13361  func (s *PrivateIpAddressDetails) SetPrivateIpAddress(v string) *PrivateIpAddressDetails {
 13362  	s.PrivateIpAddress = &v
 13363  	return s
 13364  }
 13365  
 13366  // Contains information about the product code for the EC2 instance.
 13367  type ProductCode struct {
 13368  	_ struct{} `type:"structure"`
 13369  
 13370  	// The product code information.
 13371  	Code *string `locationName:"code" type:"string"`
 13372  
 13373  	// The product code type.
 13374  	ProductType *string `locationName:"productType" type:"string"`
 13375  }
 13376  
 13377  // String returns the string representation.
 13378  //
 13379  // API parameter values that are decorated as "sensitive" in the API will not
 13380  // be included in the string output. The member name will be present, but the
 13381  // value will be replaced with "sensitive".
 13382  func (s ProductCode) String() string {
 13383  	return awsutil.Prettify(s)
 13384  }
 13385  
 13386  // GoString returns the string representation.
 13387  //
 13388  // API parameter values that are decorated as "sensitive" in the API will not
 13389  // be included in the string output. The member name will be present, but the
 13390  // value will be replaced with "sensitive".
 13391  func (s ProductCode) GoString() string {
 13392  	return s.String()
 13393  }
 13394  
 13395  // SetCode sets the Code field's value.
 13396  func (s *ProductCode) SetCode(v string) *ProductCode {
 13397  	s.Code = &v
 13398  	return s
 13399  }
 13400  
 13401  // SetProductType sets the ProductType field's value.
 13402  func (s *ProductCode) SetProductType(v string) *ProductCode {
 13403  	s.ProductType = &v
 13404  	return s
 13405  }
 13406  
 13407  // Describes the public access policies that apply to the S3 bucket.
 13408  type PublicAccess struct {
 13409  	_ struct{} `type:"structure"`
 13410  
 13411  	// Describes the effective permission on this bucket after factoring all attached
 13412  	// policies.
 13413  	EffectivePermission *string `locationName:"effectivePermission" type:"string"`
 13414  
 13415  	// Contains information about how permissions are configured for the S3 bucket.
 13416  	PermissionConfiguration *PermissionConfiguration `locationName:"permissionConfiguration" type:"structure"`
 13417  }
 13418  
 13419  // String returns the string representation.
 13420  //
 13421  // API parameter values that are decorated as "sensitive" in the API will not
 13422  // be included in the string output. The member name will be present, but the
 13423  // value will be replaced with "sensitive".
 13424  func (s PublicAccess) String() string {
 13425  	return awsutil.Prettify(s)
 13426  }
 13427  
 13428  // GoString returns the string representation.
 13429  //
 13430  // API parameter values that are decorated as "sensitive" in the API will not
 13431  // be included in the string output. The member name will be present, but the
 13432  // value will be replaced with "sensitive".
 13433  func (s PublicAccess) GoString() string {
 13434  	return s.String()
 13435  }
 13436  
 13437  // SetEffectivePermission sets the EffectivePermission field's value.
 13438  func (s *PublicAccess) SetEffectivePermission(v string) *PublicAccess {
 13439  	s.EffectivePermission = &v
 13440  	return s
 13441  }
 13442  
 13443  // SetPermissionConfiguration sets the PermissionConfiguration field's value.
 13444  func (s *PublicAccess) SetPermissionConfiguration(v *PermissionConfiguration) *PublicAccess {
 13445  	s.PermissionConfiguration = v
 13446  	return s
 13447  }
 13448  
 13449  // Contains information about the remote IP address of the connection.
 13450  type RemoteIpDetails struct {
 13451  	_ struct{} `type:"structure"`
 13452  
 13453  	// The city information of the remote IP address.
 13454  	City *City `locationName:"city" type:"structure"`
 13455  
 13456  	// The country code of the remote IP address.
 13457  	Country *Country `locationName:"country" type:"structure"`
 13458  
 13459  	// The location information of the remote IP address.
 13460  	GeoLocation *GeoLocation `locationName:"geoLocation" type:"structure"`
 13461  
 13462  	// The IPv4 remote address of the connection.
 13463  	IpAddressV4 *string `locationName:"ipAddressV4" type:"string"`
 13464  
 13465  	// The ISP organization information of the remote IP address.
 13466  	Organization *Organization `locationName:"organization" type:"structure"`
 13467  }
 13468  
 13469  // String returns the string representation.
 13470  //
 13471  // API parameter values that are decorated as "sensitive" in the API will not
 13472  // be included in the string output. The member name will be present, but the
 13473  // value will be replaced with "sensitive".
 13474  func (s RemoteIpDetails) String() string {
 13475  	return awsutil.Prettify(s)
 13476  }
 13477  
 13478  // GoString returns the string representation.
 13479  //
 13480  // API parameter values that are decorated as "sensitive" in the API will not
 13481  // be included in the string output. The member name will be present, but the
 13482  // value will be replaced with "sensitive".
 13483  func (s RemoteIpDetails) GoString() string {
 13484  	return s.String()
 13485  }
 13486  
 13487  // SetCity sets the City field's value.
 13488  func (s *RemoteIpDetails) SetCity(v *City) *RemoteIpDetails {
 13489  	s.City = v
 13490  	return s
 13491  }
 13492  
 13493  // SetCountry sets the Country field's value.
 13494  func (s *RemoteIpDetails) SetCountry(v *Country) *RemoteIpDetails {
 13495  	s.Country = v
 13496  	return s
 13497  }
 13498  
 13499  // SetGeoLocation sets the GeoLocation field's value.
 13500  func (s *RemoteIpDetails) SetGeoLocation(v *GeoLocation) *RemoteIpDetails {
 13501  	s.GeoLocation = v
 13502  	return s
 13503  }
 13504  
 13505  // SetIpAddressV4 sets the IpAddressV4 field's value.
 13506  func (s *RemoteIpDetails) SetIpAddressV4(v string) *RemoteIpDetails {
 13507  	s.IpAddressV4 = &v
 13508  	return s
 13509  }
 13510  
 13511  // SetOrganization sets the Organization field's value.
 13512  func (s *RemoteIpDetails) SetOrganization(v *Organization) *RemoteIpDetails {
 13513  	s.Organization = v
 13514  	return s
 13515  }
 13516  
 13517  // Contains information about the remote port.
 13518  type RemotePortDetails struct {
 13519  	_ struct{} `type:"structure"`
 13520  
 13521  	// The port number of the remote connection.
 13522  	Port *int64 `locationName:"port" type:"integer"`
 13523  
 13524  	// The port name of the remote connection.
 13525  	PortName *string `locationName:"portName" type:"string"`
 13526  }
 13527  
 13528  // String returns the string representation.
 13529  //
 13530  // API parameter values that are decorated as "sensitive" in the API will not
 13531  // be included in the string output. The member name will be present, but the
 13532  // value will be replaced with "sensitive".
 13533  func (s RemotePortDetails) String() string {
 13534  	return awsutil.Prettify(s)
 13535  }
 13536  
 13537  // GoString returns the string representation.
 13538  //
 13539  // API parameter values that are decorated as "sensitive" in the API will not
 13540  // be included in the string output. The member name will be present, but the
 13541  // value will be replaced with "sensitive".
 13542  func (s RemotePortDetails) GoString() string {
 13543  	return s.String()
 13544  }
 13545  
 13546  // SetPort sets the Port field's value.
 13547  func (s *RemotePortDetails) SetPort(v int64) *RemotePortDetails {
 13548  	s.Port = &v
 13549  	return s
 13550  }
 13551  
 13552  // SetPortName sets the PortName field's value.
 13553  func (s *RemotePortDetails) SetPortName(v string) *RemotePortDetails {
 13554  	s.PortName = &v
 13555  	return s
 13556  }
 13557  
 13558  // Contains information about the AWS resource associated with the activity
 13559  // that prompted GuardDuty to generate a finding.
 13560  type Resource struct {
 13561  	_ struct{} `type:"structure"`
 13562  
 13563  	// The IAM access key details (IAM user information) of a user that engaged
 13564  	// in the activity that prompted GuardDuty to generate a finding.
 13565  	AccessKeyDetails *AccessKeyDetails `locationName:"accessKeyDetails" type:"structure"`
 13566  
 13567  	// The information about the EC2 instance associated with the activity that
 13568  	// prompted GuardDuty to generate a finding.
 13569  	InstanceDetails *InstanceDetails `locationName:"instanceDetails" type:"structure"`
 13570  
 13571  	// The type of AWS resource.
 13572  	ResourceType *string `locationName:"resourceType" type:"string"`
 13573  
 13574  	// Contains information on the S3 bucket.
 13575  	S3BucketDetails []*S3BucketDetail `locationName:"s3BucketDetails" type:"list"`
 13576  }
 13577  
 13578  // String returns the string representation.
 13579  //
 13580  // API parameter values that are decorated as "sensitive" in the API will not
 13581  // be included in the string output. The member name will be present, but the
 13582  // value will be replaced with "sensitive".
 13583  func (s Resource) String() string {
 13584  	return awsutil.Prettify(s)
 13585  }
 13586  
 13587  // GoString returns the string representation.
 13588  //
 13589  // API parameter values that are decorated as "sensitive" in the API will not
 13590  // be included in the string output. The member name will be present, but the
 13591  // value will be replaced with "sensitive".
 13592  func (s Resource) GoString() string {
 13593  	return s.String()
 13594  }
 13595  
 13596  // SetAccessKeyDetails sets the AccessKeyDetails field's value.
 13597  func (s *Resource) SetAccessKeyDetails(v *AccessKeyDetails) *Resource {
 13598  	s.AccessKeyDetails = v
 13599  	return s
 13600  }
 13601  
 13602  // SetInstanceDetails sets the InstanceDetails field's value.
 13603  func (s *Resource) SetInstanceDetails(v *InstanceDetails) *Resource {
 13604  	s.InstanceDetails = v
 13605  	return s
 13606  }
 13607  
 13608  // SetResourceType sets the ResourceType field's value.
 13609  func (s *Resource) SetResourceType(v string) *Resource {
 13610  	s.ResourceType = &v
 13611  	return s
 13612  }
 13613  
 13614  // SetS3BucketDetails sets the S3BucketDetails field's value.
 13615  func (s *Resource) SetS3BucketDetails(v []*S3BucketDetail) *Resource {
 13616  	s.S3BucketDetails = v
 13617  	return s
 13618  }
 13619  
 13620  // Contains information on the S3 bucket.
 13621  type S3BucketDetail struct {
 13622  	_ struct{} `type:"structure"`
 13623  
 13624  	// The Amazon Resource Name (ARN) of the S3 bucket.
 13625  	Arn *string `locationName:"arn" type:"string"`
 13626  
 13627  	// The date and time the bucket was created at.
 13628  	CreatedAt *time.Time `locationName:"createdAt" type:"timestamp"`
 13629  
 13630  	// Describes the server side encryption method used in the S3 bucket.
 13631  	DefaultServerSideEncryption *DefaultServerSideEncryption `locationName:"defaultServerSideEncryption" type:"structure"`
 13632  
 13633  	// The name of the S3 bucket.
 13634  	Name *string `locationName:"name" type:"string"`
 13635  
 13636  	// The owner of the S3 bucket.
 13637  	Owner *Owner `locationName:"owner" type:"structure"`
 13638  
 13639  	// Describes the public access policies that apply to the S3 bucket.
 13640  	PublicAccess *PublicAccess `locationName:"publicAccess" type:"structure"`
 13641  
 13642  	// All tags attached to the S3 bucket
 13643  	Tags []*Tag `locationName:"tags" type:"list"`
 13644  
 13645  	// Describes whether the bucket is a source or destination bucket.
 13646  	Type *string `locationName:"type" type:"string"`
 13647  }
 13648  
 13649  // String returns the string representation.
 13650  //
 13651  // API parameter values that are decorated as "sensitive" in the API will not
 13652  // be included in the string output. The member name will be present, but the
 13653  // value will be replaced with "sensitive".
 13654  func (s S3BucketDetail) String() string {
 13655  	return awsutil.Prettify(s)
 13656  }
 13657  
 13658  // GoString returns the string representation.
 13659  //
 13660  // API parameter values that are decorated as "sensitive" in the API will not
 13661  // be included in the string output. The member name will be present, but the
 13662  // value will be replaced with "sensitive".
 13663  func (s S3BucketDetail) GoString() string {
 13664  	return s.String()
 13665  }
 13666  
 13667  // SetArn sets the Arn field's value.
 13668  func (s *S3BucketDetail) SetArn(v string) *S3BucketDetail {
 13669  	s.Arn = &v
 13670  	return s
 13671  }
 13672  
 13673  // SetCreatedAt sets the CreatedAt field's value.
 13674  func (s *S3BucketDetail) SetCreatedAt(v time.Time) *S3BucketDetail {
 13675  	s.CreatedAt = &v
 13676  	return s
 13677  }
 13678  
 13679  // SetDefaultServerSideEncryption sets the DefaultServerSideEncryption field's value.
 13680  func (s *S3BucketDetail) SetDefaultServerSideEncryption(v *DefaultServerSideEncryption) *S3BucketDetail {
 13681  	s.DefaultServerSideEncryption = v
 13682  	return s
 13683  }
 13684  
 13685  // SetName sets the Name field's value.
 13686  func (s *S3BucketDetail) SetName(v string) *S3BucketDetail {
 13687  	s.Name = &v
 13688  	return s
 13689  }
 13690  
 13691  // SetOwner sets the Owner field's value.
 13692  func (s *S3BucketDetail) SetOwner(v *Owner) *S3BucketDetail {
 13693  	s.Owner = v
 13694  	return s
 13695  }
 13696  
 13697  // SetPublicAccess sets the PublicAccess field's value.
 13698  func (s *S3BucketDetail) SetPublicAccess(v *PublicAccess) *S3BucketDetail {
 13699  	s.PublicAccess = v
 13700  	return s
 13701  }
 13702  
 13703  // SetTags sets the Tags field's value.
 13704  func (s *S3BucketDetail) SetTags(v []*Tag) *S3BucketDetail {
 13705  	s.Tags = v
 13706  	return s
 13707  }
 13708  
 13709  // SetType sets the Type field's value.
 13710  func (s *S3BucketDetail) SetType(v string) *S3BucketDetail {
 13711  	s.Type = &v
 13712  	return s
 13713  }
 13714  
 13715  // Describes whether S3 data event logs will be enabled as a data source.
 13716  type S3LogsConfiguration struct {
 13717  	_ struct{} `type:"structure"`
 13718  
 13719  	// The status of S3 data event logs as a data source.
 13720  	//
 13721  	// Enable is a required field
 13722  	Enable *bool `locationName:"enable" type:"boolean" required:"true"`
 13723  }
 13724  
 13725  // String returns the string representation.
 13726  //
 13727  // API parameter values that are decorated as "sensitive" in the API will not
 13728  // be included in the string output. The member name will be present, but the
 13729  // value will be replaced with "sensitive".
 13730  func (s S3LogsConfiguration) String() string {
 13731  	return awsutil.Prettify(s)
 13732  }
 13733  
 13734  // GoString returns the string representation.
 13735  //
 13736  // API parameter values that are decorated as "sensitive" in the API will not
 13737  // be included in the string output. The member name will be present, but the
 13738  // value will be replaced with "sensitive".
 13739  func (s S3LogsConfiguration) GoString() string {
 13740  	return s.String()
 13741  }
 13742  
 13743  // Validate inspects the fields of the type to determine if they are valid.
 13744  func (s *S3LogsConfiguration) Validate() error {
 13745  	invalidParams := request.ErrInvalidParams{Context: "S3LogsConfiguration"}
 13746  	if s.Enable == nil {
 13747  		invalidParams.Add(request.NewErrParamRequired("Enable"))
 13748  	}
 13749  
 13750  	if invalidParams.Len() > 0 {
 13751  		return invalidParams
 13752  	}
 13753  	return nil
 13754  }
 13755  
 13756  // SetEnable sets the Enable field's value.
 13757  func (s *S3LogsConfiguration) SetEnable(v bool) *S3LogsConfiguration {
 13758  	s.Enable = &v
 13759  	return s
 13760  }
 13761  
 13762  // Describes whether S3 data event logs will be enabled as a data source.
 13763  type S3LogsConfigurationResult struct {
 13764  	_ struct{} `type:"structure"`
 13765  
 13766  	// A value that describes whether S3 data event logs are automatically enabled
 13767  	// for new members of the organization.
 13768  	//
 13769  	// Status is a required field
 13770  	Status *string `locationName:"status" min:"1" type:"string" required:"true" enum:"DataSourceStatus"`
 13771  }
 13772  
 13773  // String returns the string representation.
 13774  //
 13775  // API parameter values that are decorated as "sensitive" in the API will not
 13776  // be included in the string output. The member name will be present, but the
 13777  // value will be replaced with "sensitive".
 13778  func (s S3LogsConfigurationResult) String() string {
 13779  	return awsutil.Prettify(s)
 13780  }
 13781  
 13782  // GoString returns the string representation.
 13783  //
 13784  // API parameter values that are decorated as "sensitive" in the API will not
 13785  // be included in the string output. The member name will be present, but the
 13786  // value will be replaced with "sensitive".
 13787  func (s S3LogsConfigurationResult) GoString() string {
 13788  	return s.String()
 13789  }
 13790  
 13791  // SetStatus sets the Status field's value.
 13792  func (s *S3LogsConfigurationResult) SetStatus(v string) *S3LogsConfigurationResult {
 13793  	s.Status = &v
 13794  	return s
 13795  }
 13796  
 13797  // Contains information about the security groups associated with the EC2 instance.
 13798  type SecurityGroup struct {
 13799  	_ struct{} `type:"structure"`
 13800  
 13801  	// The security group ID of the EC2 instance.
 13802  	GroupId *string `locationName:"groupId" type:"string"`
 13803  
 13804  	// The security group name of the EC2 instance.
 13805  	GroupName *string `locationName:"groupName" type:"string"`
 13806  }
 13807  
 13808  // String returns the string representation.
 13809  //
 13810  // API parameter values that are decorated as "sensitive" in the API will not
 13811  // be included in the string output. The member name will be present, but the
 13812  // value will be replaced with "sensitive".
 13813  func (s SecurityGroup) String() string {
 13814  	return awsutil.Prettify(s)
 13815  }
 13816  
 13817  // GoString returns the string representation.
 13818  //
 13819  // API parameter values that are decorated as "sensitive" in the API will not
 13820  // be included in the string output. The member name will be present, but the
 13821  // value will be replaced with "sensitive".
 13822  func (s SecurityGroup) GoString() string {
 13823  	return s.String()
 13824  }
 13825  
 13826  // SetGroupId sets the GroupId field's value.
 13827  func (s *SecurityGroup) SetGroupId(v string) *SecurityGroup {
 13828  	s.GroupId = &v
 13829  	return s
 13830  }
 13831  
 13832  // SetGroupName sets the GroupName field's value.
 13833  func (s *SecurityGroup) SetGroupName(v string) *SecurityGroup {
 13834  	s.GroupName = &v
 13835  	return s
 13836  }
 13837  
 13838  // Contains additional information about the generated finding.
 13839  type Service struct {
 13840  	_ struct{} `type:"structure"`
 13841  
 13842  	// Information about the activity that is described in a finding.
 13843  	Action *Action `locationName:"action" type:"structure"`
 13844  
 13845  	// Indicates whether this finding is archived.
 13846  	Archived *bool `locationName:"archived" type:"boolean"`
 13847  
 13848  	// The total count of the occurrences of this finding type.
 13849  	Count *int64 `locationName:"count" type:"integer"`
 13850  
 13851  	// The detector ID for the GuardDuty service.
 13852  	DetectorId *string `locationName:"detectorId" min:"1" type:"string"`
 13853  
 13854  	// The first-seen timestamp of the activity that prompted GuardDuty to generate
 13855  	// this finding.
 13856  	EventFirstSeen *string `locationName:"eventFirstSeen" type:"string"`
 13857  
 13858  	// The last-seen timestamp of the activity that prompted GuardDuty to generate
 13859  	// this finding.
 13860  	EventLastSeen *string `locationName:"eventLastSeen" type:"string"`
 13861  
 13862  	// An evidence object associated with the service.
 13863  	Evidence *Evidence `locationName:"evidence" type:"structure"`
 13864  
 13865  	// The resource role information for this finding.
 13866  	ResourceRole *string `locationName:"resourceRole" type:"string"`
 13867  
 13868  	// The name of the AWS service (GuardDuty) that generated a finding.
 13869  	ServiceName *string `locationName:"serviceName" type:"string"`
 13870  
 13871  	// Feedback that was submitted about the finding.
 13872  	UserFeedback *string `locationName:"userFeedback" type:"string"`
 13873  }
 13874  
 13875  // String returns the string representation.
 13876  //
 13877  // API parameter values that are decorated as "sensitive" in the API will not
 13878  // be included in the string output. The member name will be present, but the
 13879  // value will be replaced with "sensitive".
 13880  func (s Service) String() string {
 13881  	return awsutil.Prettify(s)
 13882  }
 13883  
 13884  // GoString returns the string representation.
 13885  //
 13886  // API parameter values that are decorated as "sensitive" in the API will not
 13887  // be included in the string output. The member name will be present, but the
 13888  // value will be replaced with "sensitive".
 13889  func (s Service) GoString() string {
 13890  	return s.String()
 13891  }
 13892  
 13893  // SetAction sets the Action field's value.
 13894  func (s *Service) SetAction(v *Action) *Service {
 13895  	s.Action = v
 13896  	return s
 13897  }
 13898  
 13899  // SetArchived sets the Archived field's value.
 13900  func (s *Service) SetArchived(v bool) *Service {
 13901  	s.Archived = &v
 13902  	return s
 13903  }
 13904  
 13905  // SetCount sets the Count field's value.
 13906  func (s *Service) SetCount(v int64) *Service {
 13907  	s.Count = &v
 13908  	return s
 13909  }
 13910  
 13911  // SetDetectorId sets the DetectorId field's value.
 13912  func (s *Service) SetDetectorId(v string) *Service {
 13913  	s.DetectorId = &v
 13914  	return s
 13915  }
 13916  
 13917  // SetEventFirstSeen sets the EventFirstSeen field's value.
 13918  func (s *Service) SetEventFirstSeen(v string) *Service {
 13919  	s.EventFirstSeen = &v
 13920  	return s
 13921  }
 13922  
 13923  // SetEventLastSeen sets the EventLastSeen field's value.
 13924  func (s *Service) SetEventLastSeen(v string) *Service {
 13925  	s.EventLastSeen = &v
 13926  	return s
 13927  }
 13928  
 13929  // SetEvidence sets the Evidence field's value.
 13930  func (s *Service) SetEvidence(v *Evidence) *Service {
 13931  	s.Evidence = v
 13932  	return s
 13933  }
 13934  
 13935  // SetResourceRole sets the ResourceRole field's value.
 13936  func (s *Service) SetResourceRole(v string) *Service {
 13937  	s.ResourceRole = &v
 13938  	return s
 13939  }
 13940  
 13941  // SetServiceName sets the ServiceName field's value.
 13942  func (s *Service) SetServiceName(v string) *Service {
 13943  	s.ServiceName = &v
 13944  	return s
 13945  }
 13946  
 13947  // SetUserFeedback sets the UserFeedback field's value.
 13948  func (s *Service) SetUserFeedback(v string) *Service {
 13949  	s.UserFeedback = &v
 13950  	return s
 13951  }
 13952  
 13953  // Contains information about the criteria used for sorting findings.
 13954  type SortCriteria struct {
 13955  	_ struct{} `type:"structure"`
 13956  
 13957  	// Represents the finding attribute (for example, accountId) to sort findings
 13958  	// by.
 13959  	AttributeName *string `locationName:"attributeName" type:"string"`
 13960  
 13961  	// The order by which the sorted findings are to be displayed.
 13962  	OrderBy *string `locationName:"orderBy" type:"string" enum:"OrderBy"`
 13963  }
 13964  
 13965  // String returns the string representation.
 13966  //
 13967  // API parameter values that are decorated as "sensitive" in the API will not
 13968  // be included in the string output. The member name will be present, but the
 13969  // value will be replaced with "sensitive".
 13970  func (s SortCriteria) String() string {
 13971  	return awsutil.Prettify(s)
 13972  }
 13973  
 13974  // GoString returns the string representation.
 13975  //
 13976  // API parameter values that are decorated as "sensitive" in the API will not
 13977  // be included in the string output. The member name will be present, but the
 13978  // value will be replaced with "sensitive".
 13979  func (s SortCriteria) GoString() string {
 13980  	return s.String()
 13981  }
 13982  
 13983  // SetAttributeName sets the AttributeName field's value.
 13984  func (s *SortCriteria) SetAttributeName(v string) *SortCriteria {
 13985  	s.AttributeName = &v
 13986  	return s
 13987  }
 13988  
 13989  // SetOrderBy sets the OrderBy field's value.
 13990  func (s *SortCriteria) SetOrderBy(v string) *SortCriteria {
 13991  	s.OrderBy = &v
 13992  	return s
 13993  }
 13994  
 13995  type StartMonitoringMembersInput struct {
 13996  	_ struct{} `type:"structure"`
 13997  
 13998  	// A list of account IDs of the GuardDuty member accounts to start monitoring.
 13999  	//
 14000  	// AccountIds is a required field
 14001  	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
 14002  
 14003  	// The unique ID of the detector of the GuardDuty administrator account associated
 14004  	// with the member accounts to monitor.
 14005  	//
 14006  	// DetectorId is a required field
 14007  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 14008  }
 14009  
 14010  // String returns the string representation.
 14011  //
 14012  // API parameter values that are decorated as "sensitive" in the API will not
 14013  // be included in the string output. The member name will be present, but the
 14014  // value will be replaced with "sensitive".
 14015  func (s StartMonitoringMembersInput) String() string {
 14016  	return awsutil.Prettify(s)
 14017  }
 14018  
 14019  // GoString returns the string representation.
 14020  //
 14021  // API parameter values that are decorated as "sensitive" in the API will not
 14022  // be included in the string output. The member name will be present, but the
 14023  // value will be replaced with "sensitive".
 14024  func (s StartMonitoringMembersInput) GoString() string {
 14025  	return s.String()
 14026  }
 14027  
 14028  // Validate inspects the fields of the type to determine if they are valid.
 14029  func (s *StartMonitoringMembersInput) Validate() error {
 14030  	invalidParams := request.ErrInvalidParams{Context: "StartMonitoringMembersInput"}
 14031  	if s.AccountIds == nil {
 14032  		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
 14033  	}
 14034  	if s.AccountIds != nil && len(s.AccountIds) < 1 {
 14035  		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
 14036  	}
 14037  	if s.DetectorId == nil {
 14038  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 14039  	}
 14040  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 14041  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 14042  	}
 14043  
 14044  	if invalidParams.Len() > 0 {
 14045  		return invalidParams
 14046  	}
 14047  	return nil
 14048  }
 14049  
 14050  // SetAccountIds sets the AccountIds field's value.
 14051  func (s *StartMonitoringMembersInput) SetAccountIds(v []*string) *StartMonitoringMembersInput {
 14052  	s.AccountIds = v
 14053  	return s
 14054  }
 14055  
 14056  // SetDetectorId sets the DetectorId field's value.
 14057  func (s *StartMonitoringMembersInput) SetDetectorId(v string) *StartMonitoringMembersInput {
 14058  	s.DetectorId = &v
 14059  	return s
 14060  }
 14061  
 14062  type StartMonitoringMembersOutput struct {
 14063  	_ struct{} `type:"structure"`
 14064  
 14065  	// A list of objects that contain the unprocessed account and a result string
 14066  	// that explains why it was unprocessed.
 14067  	//
 14068  	// UnprocessedAccounts is a required field
 14069  	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
 14070  }
 14071  
 14072  // String returns the string representation.
 14073  //
 14074  // API parameter values that are decorated as "sensitive" in the API will not
 14075  // be included in the string output. The member name will be present, but the
 14076  // value will be replaced with "sensitive".
 14077  func (s StartMonitoringMembersOutput) String() string {
 14078  	return awsutil.Prettify(s)
 14079  }
 14080  
 14081  // GoString returns the string representation.
 14082  //
 14083  // API parameter values that are decorated as "sensitive" in the API will not
 14084  // be included in the string output. The member name will be present, but the
 14085  // value will be replaced with "sensitive".
 14086  func (s StartMonitoringMembersOutput) GoString() string {
 14087  	return s.String()
 14088  }
 14089  
 14090  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
 14091  func (s *StartMonitoringMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *StartMonitoringMembersOutput {
 14092  	s.UnprocessedAccounts = v
 14093  	return s
 14094  }
 14095  
 14096  type StopMonitoringMembersInput struct {
 14097  	_ struct{} `type:"structure"`
 14098  
 14099  	// A list of account IDs for the member accounts to stop monitoring.
 14100  	//
 14101  	// AccountIds is a required field
 14102  	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
 14103  
 14104  	// The unique ID of the detector associated with the GuardDuty administrator
 14105  	// account that is monitoring member accounts.
 14106  	//
 14107  	// DetectorId is a required field
 14108  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 14109  }
 14110  
 14111  // String returns the string representation.
 14112  //
 14113  // API parameter values that are decorated as "sensitive" in the API will not
 14114  // be included in the string output. The member name will be present, but the
 14115  // value will be replaced with "sensitive".
 14116  func (s StopMonitoringMembersInput) String() string {
 14117  	return awsutil.Prettify(s)
 14118  }
 14119  
 14120  // GoString returns the string representation.
 14121  //
 14122  // API parameter values that are decorated as "sensitive" in the API will not
 14123  // be included in the string output. The member name will be present, but the
 14124  // value will be replaced with "sensitive".
 14125  func (s StopMonitoringMembersInput) GoString() string {
 14126  	return s.String()
 14127  }
 14128  
 14129  // Validate inspects the fields of the type to determine if they are valid.
 14130  func (s *StopMonitoringMembersInput) Validate() error {
 14131  	invalidParams := request.ErrInvalidParams{Context: "StopMonitoringMembersInput"}
 14132  	if s.AccountIds == nil {
 14133  		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
 14134  	}
 14135  	if s.AccountIds != nil && len(s.AccountIds) < 1 {
 14136  		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
 14137  	}
 14138  	if s.DetectorId == nil {
 14139  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 14140  	}
 14141  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 14142  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 14143  	}
 14144  
 14145  	if invalidParams.Len() > 0 {
 14146  		return invalidParams
 14147  	}
 14148  	return nil
 14149  }
 14150  
 14151  // SetAccountIds sets the AccountIds field's value.
 14152  func (s *StopMonitoringMembersInput) SetAccountIds(v []*string) *StopMonitoringMembersInput {
 14153  	s.AccountIds = v
 14154  	return s
 14155  }
 14156  
 14157  // SetDetectorId sets the DetectorId field's value.
 14158  func (s *StopMonitoringMembersInput) SetDetectorId(v string) *StopMonitoringMembersInput {
 14159  	s.DetectorId = &v
 14160  	return s
 14161  }
 14162  
 14163  type StopMonitoringMembersOutput struct {
 14164  	_ struct{} `type:"structure"`
 14165  
 14166  	// A list of objects that contain an accountId for each account that could not
 14167  	// be processed, and a result string that indicates why the account was not
 14168  	// processed.
 14169  	//
 14170  	// UnprocessedAccounts is a required field
 14171  	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
 14172  }
 14173  
 14174  // String returns the string representation.
 14175  //
 14176  // API parameter values that are decorated as "sensitive" in the API will not
 14177  // be included in the string output. The member name will be present, but the
 14178  // value will be replaced with "sensitive".
 14179  func (s StopMonitoringMembersOutput) String() string {
 14180  	return awsutil.Prettify(s)
 14181  }
 14182  
 14183  // GoString returns the string representation.
 14184  //
 14185  // API parameter values that are decorated as "sensitive" in the API will not
 14186  // be included in the string output. The member name will be present, but the
 14187  // value will be replaced with "sensitive".
 14188  func (s StopMonitoringMembersOutput) GoString() string {
 14189  	return s.String()
 14190  }
 14191  
 14192  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
 14193  func (s *StopMonitoringMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *StopMonitoringMembersOutput {
 14194  	s.UnprocessedAccounts = v
 14195  	return s
 14196  }
 14197  
 14198  // Contains information about a tag associated with the EC2 instance.
 14199  type Tag struct {
 14200  	_ struct{} `type:"structure"`
 14201  
 14202  	// The EC2 instance tag key.
 14203  	Key *string `locationName:"key" type:"string"`
 14204  
 14205  	// The EC2 instance tag value.
 14206  	Value *string `locationName:"value" type:"string"`
 14207  }
 14208  
 14209  // String returns the string representation.
 14210  //
 14211  // API parameter values that are decorated as "sensitive" in the API will not
 14212  // be included in the string output. The member name will be present, but the
 14213  // value will be replaced with "sensitive".
 14214  func (s Tag) String() string {
 14215  	return awsutil.Prettify(s)
 14216  }
 14217  
 14218  // GoString returns the string representation.
 14219  //
 14220  // API parameter values that are decorated as "sensitive" in the API will not
 14221  // be included in the string output. The member name will be present, but the
 14222  // value will be replaced with "sensitive".
 14223  func (s Tag) GoString() string {
 14224  	return s.String()
 14225  }
 14226  
 14227  // SetKey sets the Key field's value.
 14228  func (s *Tag) SetKey(v string) *Tag {
 14229  	s.Key = &v
 14230  	return s
 14231  }
 14232  
 14233  // SetValue sets the Value field's value.
 14234  func (s *Tag) SetValue(v string) *Tag {
 14235  	s.Value = &v
 14236  	return s
 14237  }
 14238  
 14239  type TagResourceInput struct {
 14240  	_ struct{} `type:"structure"`
 14241  
 14242  	// The Amazon Resource Name (ARN) for the GuardDuty resource to apply a tag
 14243  	// to.
 14244  	//
 14245  	// ResourceArn is a required field
 14246  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
 14247  
 14248  	// The tags to be added to a resource.
 14249  	//
 14250  	// Tags is a required field
 14251  	Tags map[string]*string `locationName:"tags" min:"1" type:"map" required:"true"`
 14252  }
 14253  
 14254  // String returns the string representation.
 14255  //
 14256  // API parameter values that are decorated as "sensitive" in the API will not
 14257  // be included in the string output. The member name will be present, but the
 14258  // value will be replaced with "sensitive".
 14259  func (s TagResourceInput) String() string {
 14260  	return awsutil.Prettify(s)
 14261  }
 14262  
 14263  // GoString returns the string representation.
 14264  //
 14265  // API parameter values that are decorated as "sensitive" in the API will not
 14266  // be included in the string output. The member name will be present, but the
 14267  // value will be replaced with "sensitive".
 14268  func (s TagResourceInput) GoString() string {
 14269  	return s.String()
 14270  }
 14271  
 14272  // Validate inspects the fields of the type to determine if they are valid.
 14273  func (s *TagResourceInput) Validate() error {
 14274  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
 14275  	if s.ResourceArn == nil {
 14276  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 14277  	}
 14278  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 14279  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 14280  	}
 14281  	if s.Tags == nil {
 14282  		invalidParams.Add(request.NewErrParamRequired("Tags"))
 14283  	}
 14284  	if s.Tags != nil && len(s.Tags) < 1 {
 14285  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
 14286  	}
 14287  
 14288  	if invalidParams.Len() > 0 {
 14289  		return invalidParams
 14290  	}
 14291  	return nil
 14292  }
 14293  
 14294  // SetResourceArn sets the ResourceArn field's value.
 14295  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
 14296  	s.ResourceArn = &v
 14297  	return s
 14298  }
 14299  
 14300  // SetTags sets the Tags field's value.
 14301  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
 14302  	s.Tags = v
 14303  	return s
 14304  }
 14305  
 14306  type TagResourceOutput struct {
 14307  	_ struct{} `type:"structure" nopayload:"true"`
 14308  }
 14309  
 14310  // String returns the string representation.
 14311  //
 14312  // API parameter values that are decorated as "sensitive" in the API will not
 14313  // be included in the string output. The member name will be present, but the
 14314  // value will be replaced with "sensitive".
 14315  func (s TagResourceOutput) String() string {
 14316  	return awsutil.Prettify(s)
 14317  }
 14318  
 14319  // GoString returns the string representation.
 14320  //
 14321  // API parameter values that are decorated as "sensitive" in the API will not
 14322  // be included in the string output. The member name will be present, but the
 14323  // value will be replaced with "sensitive".
 14324  func (s TagResourceOutput) GoString() string {
 14325  	return s.String()
 14326  }
 14327  
 14328  // An instance of a threat intelligence detail that constitutes evidence for
 14329  // the finding.
 14330  type ThreatIntelligenceDetail struct {
 14331  	_ struct{} `type:"structure"`
 14332  
 14333  	// The name of the threat intelligence list that triggered the finding.
 14334  	ThreatListName *string `locationName:"threatListName" type:"string"`
 14335  
 14336  	// A list of names of the threats in the threat intelligence list that triggered
 14337  	// the finding.
 14338  	ThreatNames []*string `locationName:"threatNames" type:"list"`
 14339  }
 14340  
 14341  // String returns the string representation.
 14342  //
 14343  // API parameter values that are decorated as "sensitive" in the API will not
 14344  // be included in the string output. The member name will be present, but the
 14345  // value will be replaced with "sensitive".
 14346  func (s ThreatIntelligenceDetail) String() string {
 14347  	return awsutil.Prettify(s)
 14348  }
 14349  
 14350  // GoString returns the string representation.
 14351  //
 14352  // API parameter values that are decorated as "sensitive" in the API will not
 14353  // be included in the string output. The member name will be present, but the
 14354  // value will be replaced with "sensitive".
 14355  func (s ThreatIntelligenceDetail) GoString() string {
 14356  	return s.String()
 14357  }
 14358  
 14359  // SetThreatListName sets the ThreatListName field's value.
 14360  func (s *ThreatIntelligenceDetail) SetThreatListName(v string) *ThreatIntelligenceDetail {
 14361  	s.ThreatListName = &v
 14362  	return s
 14363  }
 14364  
 14365  // SetThreatNames sets the ThreatNames field's value.
 14366  func (s *ThreatIntelligenceDetail) SetThreatNames(v []*string) *ThreatIntelligenceDetail {
 14367  	s.ThreatNames = v
 14368  	return s
 14369  }
 14370  
 14371  // Contains the total usage with the corresponding currency unit for that value.
 14372  type Total struct {
 14373  	_ struct{} `type:"structure"`
 14374  
 14375  	// The total usage.
 14376  	Amount *string `locationName:"amount" type:"string"`
 14377  
 14378  	// The currency unit that the amount is given in.
 14379  	Unit *string `locationName:"unit" type:"string"`
 14380  }
 14381  
 14382  // String returns the string representation.
 14383  //
 14384  // API parameter values that are decorated as "sensitive" in the API will not
 14385  // be included in the string output. The member name will be present, but the
 14386  // value will be replaced with "sensitive".
 14387  func (s Total) String() string {
 14388  	return awsutil.Prettify(s)
 14389  }
 14390  
 14391  // GoString returns the string representation.
 14392  //
 14393  // API parameter values that are decorated as "sensitive" in the API will not
 14394  // be included in the string output. The member name will be present, but the
 14395  // value will be replaced with "sensitive".
 14396  func (s Total) GoString() string {
 14397  	return s.String()
 14398  }
 14399  
 14400  // SetAmount sets the Amount field's value.
 14401  func (s *Total) SetAmount(v string) *Total {
 14402  	s.Amount = &v
 14403  	return s
 14404  }
 14405  
 14406  // SetUnit sets the Unit field's value.
 14407  func (s *Total) SetUnit(v string) *Total {
 14408  	s.Unit = &v
 14409  	return s
 14410  }
 14411  
 14412  type UnarchiveFindingsInput struct {
 14413  	_ struct{} `type:"structure"`
 14414  
 14415  	// The ID of the detector associated with the findings to unarchive.
 14416  	//
 14417  	// DetectorId is a required field
 14418  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 14419  
 14420  	// The IDs of the findings to unarchive.
 14421  	//
 14422  	// FindingIds is a required field
 14423  	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
 14424  }
 14425  
 14426  // String returns the string representation.
 14427  //
 14428  // API parameter values that are decorated as "sensitive" in the API will not
 14429  // be included in the string output. The member name will be present, but the
 14430  // value will be replaced with "sensitive".
 14431  func (s UnarchiveFindingsInput) String() string {
 14432  	return awsutil.Prettify(s)
 14433  }
 14434  
 14435  // GoString returns the string representation.
 14436  //
 14437  // API parameter values that are decorated as "sensitive" in the API will not
 14438  // be included in the string output. The member name will be present, but the
 14439  // value will be replaced with "sensitive".
 14440  func (s UnarchiveFindingsInput) GoString() string {
 14441  	return s.String()
 14442  }
 14443  
 14444  // Validate inspects the fields of the type to determine if they are valid.
 14445  func (s *UnarchiveFindingsInput) Validate() error {
 14446  	invalidParams := request.ErrInvalidParams{Context: "UnarchiveFindingsInput"}
 14447  	if s.DetectorId == nil {
 14448  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 14449  	}
 14450  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 14451  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 14452  	}
 14453  	if s.FindingIds == nil {
 14454  		invalidParams.Add(request.NewErrParamRequired("FindingIds"))
 14455  	}
 14456  
 14457  	if invalidParams.Len() > 0 {
 14458  		return invalidParams
 14459  	}
 14460  	return nil
 14461  }
 14462  
 14463  // SetDetectorId sets the DetectorId field's value.
 14464  func (s *UnarchiveFindingsInput) SetDetectorId(v string) *UnarchiveFindingsInput {
 14465  	s.DetectorId = &v
 14466  	return s
 14467  }
 14468  
 14469  // SetFindingIds sets the FindingIds field's value.
 14470  func (s *UnarchiveFindingsInput) SetFindingIds(v []*string) *UnarchiveFindingsInput {
 14471  	s.FindingIds = v
 14472  	return s
 14473  }
 14474  
 14475  type UnarchiveFindingsOutput struct {
 14476  	_ struct{} `type:"structure" nopayload:"true"`
 14477  }
 14478  
 14479  // String returns the string representation.
 14480  //
 14481  // API parameter values that are decorated as "sensitive" in the API will not
 14482  // be included in the string output. The member name will be present, but the
 14483  // value will be replaced with "sensitive".
 14484  func (s UnarchiveFindingsOutput) String() string {
 14485  	return awsutil.Prettify(s)
 14486  }
 14487  
 14488  // GoString returns the string representation.
 14489  //
 14490  // API parameter values that are decorated as "sensitive" in the API will not
 14491  // be included in the string output. The member name will be present, but the
 14492  // value will be replaced with "sensitive".
 14493  func (s UnarchiveFindingsOutput) GoString() string {
 14494  	return s.String()
 14495  }
 14496  
 14497  // Contains information about the accounts that weren't processed.
 14498  type UnprocessedAccount struct {
 14499  	_ struct{} `type:"structure"`
 14500  
 14501  	// The AWS account ID.
 14502  	//
 14503  	// AccountId is a required field
 14504  	AccountId *string `locationName:"accountId" min:"12" type:"string" required:"true"`
 14505  
 14506  	// A reason why the account hasn't been processed.
 14507  	//
 14508  	// Result is a required field
 14509  	Result *string `locationName:"result" type:"string" required:"true"`
 14510  }
 14511  
 14512  // String returns the string representation.
 14513  //
 14514  // API parameter values that are decorated as "sensitive" in the API will not
 14515  // be included in the string output. The member name will be present, but the
 14516  // value will be replaced with "sensitive".
 14517  func (s UnprocessedAccount) String() string {
 14518  	return awsutil.Prettify(s)
 14519  }
 14520  
 14521  // GoString returns the string representation.
 14522  //
 14523  // API parameter values that are decorated as "sensitive" in the API will not
 14524  // be included in the string output. The member name will be present, but the
 14525  // value will be replaced with "sensitive".
 14526  func (s UnprocessedAccount) GoString() string {
 14527  	return s.String()
 14528  }
 14529  
 14530  // SetAccountId sets the AccountId field's value.
 14531  func (s *UnprocessedAccount) SetAccountId(v string) *UnprocessedAccount {
 14532  	s.AccountId = &v
 14533  	return s
 14534  }
 14535  
 14536  // SetResult sets the Result field's value.
 14537  func (s *UnprocessedAccount) SetResult(v string) *UnprocessedAccount {
 14538  	s.Result = &v
 14539  	return s
 14540  }
 14541  
 14542  type UntagResourceInput struct {
 14543  	_ struct{} `type:"structure" nopayload:"true"`
 14544  
 14545  	// The Amazon Resource Name (ARN) for the resource to remove tags from.
 14546  	//
 14547  	// ResourceArn is a required field
 14548  	ResourceArn *string `location:"uri" locationName:"resourceArn" type:"string" required:"true"`
 14549  
 14550  	// The tag keys to remove from the resource.
 14551  	//
 14552  	// TagKeys is a required field
 14553  	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
 14554  }
 14555  
 14556  // String returns the string representation.
 14557  //
 14558  // API parameter values that are decorated as "sensitive" in the API will not
 14559  // be included in the string output. The member name will be present, but the
 14560  // value will be replaced with "sensitive".
 14561  func (s UntagResourceInput) String() string {
 14562  	return awsutil.Prettify(s)
 14563  }
 14564  
 14565  // GoString returns the string representation.
 14566  //
 14567  // API parameter values that are decorated as "sensitive" in the API will not
 14568  // be included in the string output. The member name will be present, but the
 14569  // value will be replaced with "sensitive".
 14570  func (s UntagResourceInput) GoString() string {
 14571  	return s.String()
 14572  }
 14573  
 14574  // Validate inspects the fields of the type to determine if they are valid.
 14575  func (s *UntagResourceInput) Validate() error {
 14576  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
 14577  	if s.ResourceArn == nil {
 14578  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
 14579  	}
 14580  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
 14581  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
 14582  	}
 14583  	if s.TagKeys == nil {
 14584  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
 14585  	}
 14586  	if s.TagKeys != nil && len(s.TagKeys) < 1 {
 14587  		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
 14588  	}
 14589  
 14590  	if invalidParams.Len() > 0 {
 14591  		return invalidParams
 14592  	}
 14593  	return nil
 14594  }
 14595  
 14596  // SetResourceArn sets the ResourceArn field's value.
 14597  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
 14598  	s.ResourceArn = &v
 14599  	return s
 14600  }
 14601  
 14602  // SetTagKeys sets the TagKeys field's value.
 14603  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
 14604  	s.TagKeys = v
 14605  	return s
 14606  }
 14607  
 14608  type UntagResourceOutput struct {
 14609  	_ struct{} `type:"structure" nopayload:"true"`
 14610  }
 14611  
 14612  // String returns the string representation.
 14613  //
 14614  // API parameter values that are decorated as "sensitive" in the API will not
 14615  // be included in the string output. The member name will be present, but the
 14616  // value will be replaced with "sensitive".
 14617  func (s UntagResourceOutput) String() string {
 14618  	return awsutil.Prettify(s)
 14619  }
 14620  
 14621  // GoString returns the string representation.
 14622  //
 14623  // API parameter values that are decorated as "sensitive" in the API will not
 14624  // be included in the string output. The member name will be present, but the
 14625  // value will be replaced with "sensitive".
 14626  func (s UntagResourceOutput) GoString() string {
 14627  	return s.String()
 14628  }
 14629  
 14630  type UpdateDetectorInput struct {
 14631  	_ struct{} `type:"structure"`
 14632  
 14633  	// Describes which data sources will be updated.
 14634  	DataSources *DataSourceConfigurations `locationName:"dataSources" type:"structure"`
 14635  
 14636  	// The unique ID of the detector to update.
 14637  	//
 14638  	// DetectorId is a required field
 14639  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 14640  
 14641  	// Specifies whether the detector is enabled or not enabled.
 14642  	Enable *bool `locationName:"enable" type:"boolean"`
 14643  
 14644  	// An enum value that specifies how frequently findings are exported, such as
 14645  	// to CloudWatch Events.
 14646  	FindingPublishingFrequency *string `locationName:"findingPublishingFrequency" type:"string" enum:"FindingPublishingFrequency"`
 14647  }
 14648  
 14649  // String returns the string representation.
 14650  //
 14651  // API parameter values that are decorated as "sensitive" in the API will not
 14652  // be included in the string output. The member name will be present, but the
 14653  // value will be replaced with "sensitive".
 14654  func (s UpdateDetectorInput) String() string {
 14655  	return awsutil.Prettify(s)
 14656  }
 14657  
 14658  // GoString returns the string representation.
 14659  //
 14660  // API parameter values that are decorated as "sensitive" in the API will not
 14661  // be included in the string output. The member name will be present, but the
 14662  // value will be replaced with "sensitive".
 14663  func (s UpdateDetectorInput) GoString() string {
 14664  	return s.String()
 14665  }
 14666  
 14667  // Validate inspects the fields of the type to determine if they are valid.
 14668  func (s *UpdateDetectorInput) Validate() error {
 14669  	invalidParams := request.ErrInvalidParams{Context: "UpdateDetectorInput"}
 14670  	if s.DetectorId == nil {
 14671  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 14672  	}
 14673  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 14674  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 14675  	}
 14676  	if s.DataSources != nil {
 14677  		if err := s.DataSources.Validate(); err != nil {
 14678  			invalidParams.AddNested("DataSources", err.(request.ErrInvalidParams))
 14679  		}
 14680  	}
 14681  
 14682  	if invalidParams.Len() > 0 {
 14683  		return invalidParams
 14684  	}
 14685  	return nil
 14686  }
 14687  
 14688  // SetDataSources sets the DataSources field's value.
 14689  func (s *UpdateDetectorInput) SetDataSources(v *DataSourceConfigurations) *UpdateDetectorInput {
 14690  	s.DataSources = v
 14691  	return s
 14692  }
 14693  
 14694  // SetDetectorId sets the DetectorId field's value.
 14695  func (s *UpdateDetectorInput) SetDetectorId(v string) *UpdateDetectorInput {
 14696  	s.DetectorId = &v
 14697  	return s
 14698  }
 14699  
 14700  // SetEnable sets the Enable field's value.
 14701  func (s *UpdateDetectorInput) SetEnable(v bool) *UpdateDetectorInput {
 14702  	s.Enable = &v
 14703  	return s
 14704  }
 14705  
 14706  // SetFindingPublishingFrequency sets the FindingPublishingFrequency field's value.
 14707  func (s *UpdateDetectorInput) SetFindingPublishingFrequency(v string) *UpdateDetectorInput {
 14708  	s.FindingPublishingFrequency = &v
 14709  	return s
 14710  }
 14711  
 14712  type UpdateDetectorOutput struct {
 14713  	_ struct{} `type:"structure" nopayload:"true"`
 14714  }
 14715  
 14716  // String returns the string representation.
 14717  //
 14718  // API parameter values that are decorated as "sensitive" in the API will not
 14719  // be included in the string output. The member name will be present, but the
 14720  // value will be replaced with "sensitive".
 14721  func (s UpdateDetectorOutput) String() string {
 14722  	return awsutil.Prettify(s)
 14723  }
 14724  
 14725  // GoString returns the string representation.
 14726  //
 14727  // API parameter values that are decorated as "sensitive" in the API will not
 14728  // be included in the string output. The member name will be present, but the
 14729  // value will be replaced with "sensitive".
 14730  func (s UpdateDetectorOutput) GoString() string {
 14731  	return s.String()
 14732  }
 14733  
 14734  type UpdateFilterInput struct {
 14735  	_ struct{} `type:"structure"`
 14736  
 14737  	// Specifies the action that is to be applied to the findings that match the
 14738  	// filter.
 14739  	Action *string `locationName:"action" min:"1" type:"string" enum:"FilterAction"`
 14740  
 14741  	// The description of the filter.
 14742  	Description *string `locationName:"description" type:"string"`
 14743  
 14744  	// The unique ID of the detector that specifies the GuardDuty service where
 14745  	// you want to update a filter.
 14746  	//
 14747  	// DetectorId is a required field
 14748  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 14749  
 14750  	// The name of the filter.
 14751  	//
 14752  	// FilterName is a required field
 14753  	FilterName *string `location:"uri" locationName:"filterName" type:"string" required:"true"`
 14754  
 14755  	// Represents the criteria to be used in the filter for querying findings.
 14756  	FindingCriteria *FindingCriteria `locationName:"findingCriteria" type:"structure"`
 14757  
 14758  	// Specifies the position of the filter in the list of current filters. Also
 14759  	// specifies the order in which this filter is applied to the findings.
 14760  	Rank *int64 `locationName:"rank" min:"1" type:"integer"`
 14761  }
 14762  
 14763  // String returns the string representation.
 14764  //
 14765  // API parameter values that are decorated as "sensitive" in the API will not
 14766  // be included in the string output. The member name will be present, but the
 14767  // value will be replaced with "sensitive".
 14768  func (s UpdateFilterInput) String() string {
 14769  	return awsutil.Prettify(s)
 14770  }
 14771  
 14772  // GoString returns the string representation.
 14773  //
 14774  // API parameter values that are decorated as "sensitive" in the API will not
 14775  // be included in the string output. The member name will be present, but the
 14776  // value will be replaced with "sensitive".
 14777  func (s UpdateFilterInput) GoString() string {
 14778  	return s.String()
 14779  }
 14780  
 14781  // Validate inspects the fields of the type to determine if they are valid.
 14782  func (s *UpdateFilterInput) Validate() error {
 14783  	invalidParams := request.ErrInvalidParams{Context: "UpdateFilterInput"}
 14784  	if s.Action != nil && len(*s.Action) < 1 {
 14785  		invalidParams.Add(request.NewErrParamMinLen("Action", 1))
 14786  	}
 14787  	if s.DetectorId == nil {
 14788  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 14789  	}
 14790  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 14791  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 14792  	}
 14793  	if s.FilterName == nil {
 14794  		invalidParams.Add(request.NewErrParamRequired("FilterName"))
 14795  	}
 14796  	if s.FilterName != nil && len(*s.FilterName) < 1 {
 14797  		invalidParams.Add(request.NewErrParamMinLen("FilterName", 1))
 14798  	}
 14799  	if s.Rank != nil && *s.Rank < 1 {
 14800  		invalidParams.Add(request.NewErrParamMinValue("Rank", 1))
 14801  	}
 14802  
 14803  	if invalidParams.Len() > 0 {
 14804  		return invalidParams
 14805  	}
 14806  	return nil
 14807  }
 14808  
 14809  // SetAction sets the Action field's value.
 14810  func (s *UpdateFilterInput) SetAction(v string) *UpdateFilterInput {
 14811  	s.Action = &v
 14812  	return s
 14813  }
 14814  
 14815  // SetDescription sets the Description field's value.
 14816  func (s *UpdateFilterInput) SetDescription(v string) *UpdateFilterInput {
 14817  	s.Description = &v
 14818  	return s
 14819  }
 14820  
 14821  // SetDetectorId sets the DetectorId field's value.
 14822  func (s *UpdateFilterInput) SetDetectorId(v string) *UpdateFilterInput {
 14823  	s.DetectorId = &v
 14824  	return s
 14825  }
 14826  
 14827  // SetFilterName sets the FilterName field's value.
 14828  func (s *UpdateFilterInput) SetFilterName(v string) *UpdateFilterInput {
 14829  	s.FilterName = &v
 14830  	return s
 14831  }
 14832  
 14833  // SetFindingCriteria sets the FindingCriteria field's value.
 14834  func (s *UpdateFilterInput) SetFindingCriteria(v *FindingCriteria) *UpdateFilterInput {
 14835  	s.FindingCriteria = v
 14836  	return s
 14837  }
 14838  
 14839  // SetRank sets the Rank field's value.
 14840  func (s *UpdateFilterInput) SetRank(v int64) *UpdateFilterInput {
 14841  	s.Rank = &v
 14842  	return s
 14843  }
 14844  
 14845  type UpdateFilterOutput struct {
 14846  	_ struct{} `type:"structure"`
 14847  
 14848  	// The name of the filter.
 14849  	//
 14850  	// Name is a required field
 14851  	Name *string `locationName:"name" min:"3" type:"string" required:"true"`
 14852  }
 14853  
 14854  // String returns the string representation.
 14855  //
 14856  // API parameter values that are decorated as "sensitive" in the API will not
 14857  // be included in the string output. The member name will be present, but the
 14858  // value will be replaced with "sensitive".
 14859  func (s UpdateFilterOutput) String() string {
 14860  	return awsutil.Prettify(s)
 14861  }
 14862  
 14863  // GoString returns the string representation.
 14864  //
 14865  // API parameter values that are decorated as "sensitive" in the API will not
 14866  // be included in the string output. The member name will be present, but the
 14867  // value will be replaced with "sensitive".
 14868  func (s UpdateFilterOutput) GoString() string {
 14869  	return s.String()
 14870  }
 14871  
 14872  // SetName sets the Name field's value.
 14873  func (s *UpdateFilterOutput) SetName(v string) *UpdateFilterOutput {
 14874  	s.Name = &v
 14875  	return s
 14876  }
 14877  
 14878  type UpdateFindingsFeedbackInput struct {
 14879  	_ struct{} `type:"structure"`
 14880  
 14881  	// Additional feedback about the GuardDuty findings.
 14882  	Comments *string `locationName:"comments" type:"string"`
 14883  
 14884  	// The ID of the detector associated with the findings to update feedback for.
 14885  	//
 14886  	// DetectorId is a required field
 14887  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 14888  
 14889  	// The feedback for the finding.
 14890  	//
 14891  	// Feedback is a required field
 14892  	Feedback *string `locationName:"feedback" type:"string" required:"true" enum:"Feedback"`
 14893  
 14894  	// The IDs of the findings that you want to mark as useful or not useful.
 14895  	//
 14896  	// FindingIds is a required field
 14897  	FindingIds []*string `locationName:"findingIds" type:"list" required:"true"`
 14898  }
 14899  
 14900  // String returns the string representation.
 14901  //
 14902  // API parameter values that are decorated as "sensitive" in the API will not
 14903  // be included in the string output. The member name will be present, but the
 14904  // value will be replaced with "sensitive".
 14905  func (s UpdateFindingsFeedbackInput) String() string {
 14906  	return awsutil.Prettify(s)
 14907  }
 14908  
 14909  // GoString returns the string representation.
 14910  //
 14911  // API parameter values that are decorated as "sensitive" in the API will not
 14912  // be included in the string output. The member name will be present, but the
 14913  // value will be replaced with "sensitive".
 14914  func (s UpdateFindingsFeedbackInput) GoString() string {
 14915  	return s.String()
 14916  }
 14917  
 14918  // Validate inspects the fields of the type to determine if they are valid.
 14919  func (s *UpdateFindingsFeedbackInput) Validate() error {
 14920  	invalidParams := request.ErrInvalidParams{Context: "UpdateFindingsFeedbackInput"}
 14921  	if s.DetectorId == nil {
 14922  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 14923  	}
 14924  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 14925  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 14926  	}
 14927  	if s.Feedback == nil {
 14928  		invalidParams.Add(request.NewErrParamRequired("Feedback"))
 14929  	}
 14930  	if s.FindingIds == nil {
 14931  		invalidParams.Add(request.NewErrParamRequired("FindingIds"))
 14932  	}
 14933  
 14934  	if invalidParams.Len() > 0 {
 14935  		return invalidParams
 14936  	}
 14937  	return nil
 14938  }
 14939  
 14940  // SetComments sets the Comments field's value.
 14941  func (s *UpdateFindingsFeedbackInput) SetComments(v string) *UpdateFindingsFeedbackInput {
 14942  	s.Comments = &v
 14943  	return s
 14944  }
 14945  
 14946  // SetDetectorId sets the DetectorId field's value.
 14947  func (s *UpdateFindingsFeedbackInput) SetDetectorId(v string) *UpdateFindingsFeedbackInput {
 14948  	s.DetectorId = &v
 14949  	return s
 14950  }
 14951  
 14952  // SetFeedback sets the Feedback field's value.
 14953  func (s *UpdateFindingsFeedbackInput) SetFeedback(v string) *UpdateFindingsFeedbackInput {
 14954  	s.Feedback = &v
 14955  	return s
 14956  }
 14957  
 14958  // SetFindingIds sets the FindingIds field's value.
 14959  func (s *UpdateFindingsFeedbackInput) SetFindingIds(v []*string) *UpdateFindingsFeedbackInput {
 14960  	s.FindingIds = v
 14961  	return s
 14962  }
 14963  
 14964  type UpdateFindingsFeedbackOutput struct {
 14965  	_ struct{} `type:"structure" nopayload:"true"`
 14966  }
 14967  
 14968  // String returns the string representation.
 14969  //
 14970  // API parameter values that are decorated as "sensitive" in the API will not
 14971  // be included in the string output. The member name will be present, but the
 14972  // value will be replaced with "sensitive".
 14973  func (s UpdateFindingsFeedbackOutput) String() string {
 14974  	return awsutil.Prettify(s)
 14975  }
 14976  
 14977  // GoString returns the string representation.
 14978  //
 14979  // API parameter values that are decorated as "sensitive" in the API will not
 14980  // be included in the string output. The member name will be present, but the
 14981  // value will be replaced with "sensitive".
 14982  func (s UpdateFindingsFeedbackOutput) GoString() string {
 14983  	return s.String()
 14984  }
 14985  
 14986  type UpdateIPSetInput struct {
 14987  	_ struct{} `type:"structure"`
 14988  
 14989  	// The updated Boolean value that specifies whether the IPSet is active or not.
 14990  	Activate *bool `locationName:"activate" type:"boolean"`
 14991  
 14992  	// The detectorID that specifies the GuardDuty service whose IPSet you want
 14993  	// to update.
 14994  	//
 14995  	// DetectorId is a required field
 14996  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 14997  
 14998  	// The unique ID that specifies the IPSet that you want to update.
 14999  	//
 15000  	// IpSetId is a required field
 15001  	IpSetId *string `location:"uri" locationName:"ipSetId" type:"string" required:"true"`
 15002  
 15003  	// The updated URI of the file that contains the IPSet. For example: https://s3.us-west-2.amazonaws.com/my-bucket/my-object-key.
 15004  	Location *string `locationName:"location" min:"1" type:"string"`
 15005  
 15006  	// The unique ID that specifies the IPSet that you want to update.
 15007  	Name *string `locationName:"name" min:"1" type:"string"`
 15008  }
 15009  
 15010  // String returns the string representation.
 15011  //
 15012  // API parameter values that are decorated as "sensitive" in the API will not
 15013  // be included in the string output. The member name will be present, but the
 15014  // value will be replaced with "sensitive".
 15015  func (s UpdateIPSetInput) String() string {
 15016  	return awsutil.Prettify(s)
 15017  }
 15018  
 15019  // GoString returns the string representation.
 15020  //
 15021  // API parameter values that are decorated as "sensitive" in the API will not
 15022  // be included in the string output. The member name will be present, but the
 15023  // value will be replaced with "sensitive".
 15024  func (s UpdateIPSetInput) GoString() string {
 15025  	return s.String()
 15026  }
 15027  
 15028  // Validate inspects the fields of the type to determine if they are valid.
 15029  func (s *UpdateIPSetInput) Validate() error {
 15030  	invalidParams := request.ErrInvalidParams{Context: "UpdateIPSetInput"}
 15031  	if s.DetectorId == nil {
 15032  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 15033  	}
 15034  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 15035  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 15036  	}
 15037  	if s.IpSetId == nil {
 15038  		invalidParams.Add(request.NewErrParamRequired("IpSetId"))
 15039  	}
 15040  	if s.IpSetId != nil && len(*s.IpSetId) < 1 {
 15041  		invalidParams.Add(request.NewErrParamMinLen("IpSetId", 1))
 15042  	}
 15043  	if s.Location != nil && len(*s.Location) < 1 {
 15044  		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
 15045  	}
 15046  	if s.Name != nil && len(*s.Name) < 1 {
 15047  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 15048  	}
 15049  
 15050  	if invalidParams.Len() > 0 {
 15051  		return invalidParams
 15052  	}
 15053  	return nil
 15054  }
 15055  
 15056  // SetActivate sets the Activate field's value.
 15057  func (s *UpdateIPSetInput) SetActivate(v bool) *UpdateIPSetInput {
 15058  	s.Activate = &v
 15059  	return s
 15060  }
 15061  
 15062  // SetDetectorId sets the DetectorId field's value.
 15063  func (s *UpdateIPSetInput) SetDetectorId(v string) *UpdateIPSetInput {
 15064  	s.DetectorId = &v
 15065  	return s
 15066  }
 15067  
 15068  // SetIpSetId sets the IpSetId field's value.
 15069  func (s *UpdateIPSetInput) SetIpSetId(v string) *UpdateIPSetInput {
 15070  	s.IpSetId = &v
 15071  	return s
 15072  }
 15073  
 15074  // SetLocation sets the Location field's value.
 15075  func (s *UpdateIPSetInput) SetLocation(v string) *UpdateIPSetInput {
 15076  	s.Location = &v
 15077  	return s
 15078  }
 15079  
 15080  // SetName sets the Name field's value.
 15081  func (s *UpdateIPSetInput) SetName(v string) *UpdateIPSetInput {
 15082  	s.Name = &v
 15083  	return s
 15084  }
 15085  
 15086  type UpdateIPSetOutput struct {
 15087  	_ struct{} `type:"structure" nopayload:"true"`
 15088  }
 15089  
 15090  // String returns the string representation.
 15091  //
 15092  // API parameter values that are decorated as "sensitive" in the API will not
 15093  // be included in the string output. The member name will be present, but the
 15094  // value will be replaced with "sensitive".
 15095  func (s UpdateIPSetOutput) String() string {
 15096  	return awsutil.Prettify(s)
 15097  }
 15098  
 15099  // GoString returns the string representation.
 15100  //
 15101  // API parameter values that are decorated as "sensitive" in the API will not
 15102  // be included in the string output. The member name will be present, but the
 15103  // value will be replaced with "sensitive".
 15104  func (s UpdateIPSetOutput) GoString() string {
 15105  	return s.String()
 15106  }
 15107  
 15108  type UpdateMemberDetectorsInput struct {
 15109  	_ struct{} `type:"structure"`
 15110  
 15111  	// A list of member account IDs to be updated.
 15112  	//
 15113  	// AccountIds is a required field
 15114  	AccountIds []*string `locationName:"accountIds" min:"1" type:"list" required:"true"`
 15115  
 15116  	// Describes which data sources will be updated.
 15117  	DataSources *DataSourceConfigurations `locationName:"dataSources" type:"structure"`
 15118  
 15119  	// The detector ID of the administrator account.
 15120  	//
 15121  	// DetectorId is a required field
 15122  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 15123  }
 15124  
 15125  // String returns the string representation.
 15126  //
 15127  // API parameter values that are decorated as "sensitive" in the API will not
 15128  // be included in the string output. The member name will be present, but the
 15129  // value will be replaced with "sensitive".
 15130  func (s UpdateMemberDetectorsInput) String() string {
 15131  	return awsutil.Prettify(s)
 15132  }
 15133  
 15134  // GoString returns the string representation.
 15135  //
 15136  // API parameter values that are decorated as "sensitive" in the API will not
 15137  // be included in the string output. The member name will be present, but the
 15138  // value will be replaced with "sensitive".
 15139  func (s UpdateMemberDetectorsInput) GoString() string {
 15140  	return s.String()
 15141  }
 15142  
 15143  // Validate inspects the fields of the type to determine if they are valid.
 15144  func (s *UpdateMemberDetectorsInput) Validate() error {
 15145  	invalidParams := request.ErrInvalidParams{Context: "UpdateMemberDetectorsInput"}
 15146  	if s.AccountIds == nil {
 15147  		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
 15148  	}
 15149  	if s.AccountIds != nil && len(s.AccountIds) < 1 {
 15150  		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
 15151  	}
 15152  	if s.DetectorId == nil {
 15153  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 15154  	}
 15155  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 15156  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 15157  	}
 15158  	if s.DataSources != nil {
 15159  		if err := s.DataSources.Validate(); err != nil {
 15160  			invalidParams.AddNested("DataSources", err.(request.ErrInvalidParams))
 15161  		}
 15162  	}
 15163  
 15164  	if invalidParams.Len() > 0 {
 15165  		return invalidParams
 15166  	}
 15167  	return nil
 15168  }
 15169  
 15170  // SetAccountIds sets the AccountIds field's value.
 15171  func (s *UpdateMemberDetectorsInput) SetAccountIds(v []*string) *UpdateMemberDetectorsInput {
 15172  	s.AccountIds = v
 15173  	return s
 15174  }
 15175  
 15176  // SetDataSources sets the DataSources field's value.
 15177  func (s *UpdateMemberDetectorsInput) SetDataSources(v *DataSourceConfigurations) *UpdateMemberDetectorsInput {
 15178  	s.DataSources = v
 15179  	return s
 15180  }
 15181  
 15182  // SetDetectorId sets the DetectorId field's value.
 15183  func (s *UpdateMemberDetectorsInput) SetDetectorId(v string) *UpdateMemberDetectorsInput {
 15184  	s.DetectorId = &v
 15185  	return s
 15186  }
 15187  
 15188  type UpdateMemberDetectorsOutput struct {
 15189  	_ struct{} `type:"structure"`
 15190  
 15191  	// A list of member account IDs that were unable to be processed along with
 15192  	// an explanation for why they were not processed.
 15193  	//
 15194  	// UnprocessedAccounts is a required field
 15195  	UnprocessedAccounts []*UnprocessedAccount `locationName:"unprocessedAccounts" type:"list" required:"true"`
 15196  }
 15197  
 15198  // String returns the string representation.
 15199  //
 15200  // API parameter values that are decorated as "sensitive" in the API will not
 15201  // be included in the string output. The member name will be present, but the
 15202  // value will be replaced with "sensitive".
 15203  func (s UpdateMemberDetectorsOutput) String() string {
 15204  	return awsutil.Prettify(s)
 15205  }
 15206  
 15207  // GoString returns the string representation.
 15208  //
 15209  // API parameter values that are decorated as "sensitive" in the API will not
 15210  // be included in the string output. The member name will be present, but the
 15211  // value will be replaced with "sensitive".
 15212  func (s UpdateMemberDetectorsOutput) GoString() string {
 15213  	return s.String()
 15214  }
 15215  
 15216  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
 15217  func (s *UpdateMemberDetectorsOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *UpdateMemberDetectorsOutput {
 15218  	s.UnprocessedAccounts = v
 15219  	return s
 15220  }
 15221  
 15222  type UpdateOrganizationConfigurationInput struct {
 15223  	_ struct{} `type:"structure"`
 15224  
 15225  	// Indicates whether to automatically enable member accounts in the organization.
 15226  	//
 15227  	// AutoEnable is a required field
 15228  	AutoEnable *bool `locationName:"autoEnable" type:"boolean" required:"true"`
 15229  
 15230  	// Describes which data sources will be updated.
 15231  	DataSources *OrganizationDataSourceConfigurations `locationName:"dataSources" type:"structure"`
 15232  
 15233  	// The ID of the detector to update the delegated administrator for.
 15234  	//
 15235  	// DetectorId is a required field
 15236  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 15237  }
 15238  
 15239  // String returns the string representation.
 15240  //
 15241  // API parameter values that are decorated as "sensitive" in the API will not
 15242  // be included in the string output. The member name will be present, but the
 15243  // value will be replaced with "sensitive".
 15244  func (s UpdateOrganizationConfigurationInput) String() string {
 15245  	return awsutil.Prettify(s)
 15246  }
 15247  
 15248  // GoString returns the string representation.
 15249  //
 15250  // API parameter values that are decorated as "sensitive" in the API will not
 15251  // be included in the string output. The member name will be present, but the
 15252  // value will be replaced with "sensitive".
 15253  func (s UpdateOrganizationConfigurationInput) GoString() string {
 15254  	return s.String()
 15255  }
 15256  
 15257  // Validate inspects the fields of the type to determine if they are valid.
 15258  func (s *UpdateOrganizationConfigurationInput) Validate() error {
 15259  	invalidParams := request.ErrInvalidParams{Context: "UpdateOrganizationConfigurationInput"}
 15260  	if s.AutoEnable == nil {
 15261  		invalidParams.Add(request.NewErrParamRequired("AutoEnable"))
 15262  	}
 15263  	if s.DetectorId == nil {
 15264  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 15265  	}
 15266  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 15267  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 15268  	}
 15269  	if s.DataSources != nil {
 15270  		if err := s.DataSources.Validate(); err != nil {
 15271  			invalidParams.AddNested("DataSources", err.(request.ErrInvalidParams))
 15272  		}
 15273  	}
 15274  
 15275  	if invalidParams.Len() > 0 {
 15276  		return invalidParams
 15277  	}
 15278  	return nil
 15279  }
 15280  
 15281  // SetAutoEnable sets the AutoEnable field's value.
 15282  func (s *UpdateOrganizationConfigurationInput) SetAutoEnable(v bool) *UpdateOrganizationConfigurationInput {
 15283  	s.AutoEnable = &v
 15284  	return s
 15285  }
 15286  
 15287  // SetDataSources sets the DataSources field's value.
 15288  func (s *UpdateOrganizationConfigurationInput) SetDataSources(v *OrganizationDataSourceConfigurations) *UpdateOrganizationConfigurationInput {
 15289  	s.DataSources = v
 15290  	return s
 15291  }
 15292  
 15293  // SetDetectorId sets the DetectorId field's value.
 15294  func (s *UpdateOrganizationConfigurationInput) SetDetectorId(v string) *UpdateOrganizationConfigurationInput {
 15295  	s.DetectorId = &v
 15296  	return s
 15297  }
 15298  
 15299  type UpdateOrganizationConfigurationOutput struct {
 15300  	_ struct{} `type:"structure" nopayload:"true"`
 15301  }
 15302  
 15303  // String returns the string representation.
 15304  //
 15305  // API parameter values that are decorated as "sensitive" in the API will not
 15306  // be included in the string output. The member name will be present, but the
 15307  // value will be replaced with "sensitive".
 15308  func (s UpdateOrganizationConfigurationOutput) String() string {
 15309  	return awsutil.Prettify(s)
 15310  }
 15311  
 15312  // GoString returns the string representation.
 15313  //
 15314  // API parameter values that are decorated as "sensitive" in the API will not
 15315  // be included in the string output. The member name will be present, but the
 15316  // value will be replaced with "sensitive".
 15317  func (s UpdateOrganizationConfigurationOutput) GoString() string {
 15318  	return s.String()
 15319  }
 15320  
 15321  type UpdatePublishingDestinationInput struct {
 15322  	_ struct{} `type:"structure"`
 15323  
 15324  	// The ID of the publishing destination to update.
 15325  	//
 15326  	// DestinationId is a required field
 15327  	DestinationId *string `location:"uri" locationName:"destinationId" type:"string" required:"true"`
 15328  
 15329  	// A DestinationProperties object that includes the DestinationArn and KmsKeyArn
 15330  	// of the publishing destination.
 15331  	DestinationProperties *DestinationProperties `locationName:"destinationProperties" type:"structure"`
 15332  
 15333  	// The ID of the detector associated with the publishing destinations to update.
 15334  	//
 15335  	// DetectorId is a required field
 15336  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 15337  }
 15338  
 15339  // String returns the string representation.
 15340  //
 15341  // API parameter values that are decorated as "sensitive" in the API will not
 15342  // be included in the string output. The member name will be present, but the
 15343  // value will be replaced with "sensitive".
 15344  func (s UpdatePublishingDestinationInput) String() string {
 15345  	return awsutil.Prettify(s)
 15346  }
 15347  
 15348  // GoString returns the string representation.
 15349  //
 15350  // API parameter values that are decorated as "sensitive" in the API will not
 15351  // be included in the string output. The member name will be present, but the
 15352  // value will be replaced with "sensitive".
 15353  func (s UpdatePublishingDestinationInput) GoString() string {
 15354  	return s.String()
 15355  }
 15356  
 15357  // Validate inspects the fields of the type to determine if they are valid.
 15358  func (s *UpdatePublishingDestinationInput) Validate() error {
 15359  	invalidParams := request.ErrInvalidParams{Context: "UpdatePublishingDestinationInput"}
 15360  	if s.DestinationId == nil {
 15361  		invalidParams.Add(request.NewErrParamRequired("DestinationId"))
 15362  	}
 15363  	if s.DestinationId != nil && len(*s.DestinationId) < 1 {
 15364  		invalidParams.Add(request.NewErrParamMinLen("DestinationId", 1))
 15365  	}
 15366  	if s.DetectorId == nil {
 15367  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 15368  	}
 15369  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 15370  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 15371  	}
 15372  
 15373  	if invalidParams.Len() > 0 {
 15374  		return invalidParams
 15375  	}
 15376  	return nil
 15377  }
 15378  
 15379  // SetDestinationId sets the DestinationId field's value.
 15380  func (s *UpdatePublishingDestinationInput) SetDestinationId(v string) *UpdatePublishingDestinationInput {
 15381  	s.DestinationId = &v
 15382  	return s
 15383  }
 15384  
 15385  // SetDestinationProperties sets the DestinationProperties field's value.
 15386  func (s *UpdatePublishingDestinationInput) SetDestinationProperties(v *DestinationProperties) *UpdatePublishingDestinationInput {
 15387  	s.DestinationProperties = v
 15388  	return s
 15389  }
 15390  
 15391  // SetDetectorId sets the DetectorId field's value.
 15392  func (s *UpdatePublishingDestinationInput) SetDetectorId(v string) *UpdatePublishingDestinationInput {
 15393  	s.DetectorId = &v
 15394  	return s
 15395  }
 15396  
 15397  type UpdatePublishingDestinationOutput struct {
 15398  	_ struct{} `type:"structure" nopayload:"true"`
 15399  }
 15400  
 15401  // String returns the string representation.
 15402  //
 15403  // API parameter values that are decorated as "sensitive" in the API will not
 15404  // be included in the string output. The member name will be present, but the
 15405  // value will be replaced with "sensitive".
 15406  func (s UpdatePublishingDestinationOutput) String() string {
 15407  	return awsutil.Prettify(s)
 15408  }
 15409  
 15410  // GoString returns the string representation.
 15411  //
 15412  // API parameter values that are decorated as "sensitive" in the API will not
 15413  // be included in the string output. The member name will be present, but the
 15414  // value will be replaced with "sensitive".
 15415  func (s UpdatePublishingDestinationOutput) GoString() string {
 15416  	return s.String()
 15417  }
 15418  
 15419  type UpdateThreatIntelSetInput struct {
 15420  	_ struct{} `type:"structure"`
 15421  
 15422  	// The updated Boolean value that specifies whether the ThreateIntelSet is active
 15423  	// or not.
 15424  	Activate *bool `locationName:"activate" type:"boolean"`
 15425  
 15426  	// The detectorID that specifies the GuardDuty service whose ThreatIntelSet
 15427  	// you want to update.
 15428  	//
 15429  	// DetectorId is a required field
 15430  	DetectorId *string `location:"uri" locationName:"detectorId" min:"1" type:"string" required:"true"`
 15431  
 15432  	// The updated URI of the file that contains the ThreateIntelSet.
 15433  	Location *string `locationName:"location" min:"1" type:"string"`
 15434  
 15435  	// The unique ID that specifies the ThreatIntelSet that you want to update.
 15436  	Name *string `locationName:"name" min:"1" type:"string"`
 15437  
 15438  	// The unique ID that specifies the ThreatIntelSet that you want to update.
 15439  	//
 15440  	// ThreatIntelSetId is a required field
 15441  	ThreatIntelSetId *string `location:"uri" locationName:"threatIntelSetId" type:"string" required:"true"`
 15442  }
 15443  
 15444  // String returns the string representation.
 15445  //
 15446  // API parameter values that are decorated as "sensitive" in the API will not
 15447  // be included in the string output. The member name will be present, but the
 15448  // value will be replaced with "sensitive".
 15449  func (s UpdateThreatIntelSetInput) String() string {
 15450  	return awsutil.Prettify(s)
 15451  }
 15452  
 15453  // GoString returns the string representation.
 15454  //
 15455  // API parameter values that are decorated as "sensitive" in the API will not
 15456  // be included in the string output. The member name will be present, but the
 15457  // value will be replaced with "sensitive".
 15458  func (s UpdateThreatIntelSetInput) GoString() string {
 15459  	return s.String()
 15460  }
 15461  
 15462  // Validate inspects the fields of the type to determine if they are valid.
 15463  func (s *UpdateThreatIntelSetInput) Validate() error {
 15464  	invalidParams := request.ErrInvalidParams{Context: "UpdateThreatIntelSetInput"}
 15465  	if s.DetectorId == nil {
 15466  		invalidParams.Add(request.NewErrParamRequired("DetectorId"))
 15467  	}
 15468  	if s.DetectorId != nil && len(*s.DetectorId) < 1 {
 15469  		invalidParams.Add(request.NewErrParamMinLen("DetectorId", 1))
 15470  	}
 15471  	if s.Location != nil && len(*s.Location) < 1 {
 15472  		invalidParams.Add(request.NewErrParamMinLen("Location", 1))
 15473  	}
 15474  	if s.Name != nil && len(*s.Name) < 1 {
 15475  		invalidParams.Add(request.NewErrParamMinLen("Name", 1))
 15476  	}
 15477  	if s.ThreatIntelSetId == nil {
 15478  		invalidParams.Add(request.NewErrParamRequired("ThreatIntelSetId"))
 15479  	}
 15480  	if s.ThreatIntelSetId != nil && len(*s.ThreatIntelSetId) < 1 {
 15481  		invalidParams.Add(request.NewErrParamMinLen("ThreatIntelSetId", 1))
 15482  	}
 15483  
 15484  	if invalidParams.Len() > 0 {
 15485  		return invalidParams
 15486  	}
 15487  	return nil
 15488  }
 15489  
 15490  // SetActivate sets the Activate field's value.
 15491  func (s *UpdateThreatIntelSetInput) SetActivate(v bool) *UpdateThreatIntelSetInput {
 15492  	s.Activate = &v
 15493  	return s
 15494  }
 15495  
 15496  // SetDetectorId sets the DetectorId field's value.
 15497  func (s *UpdateThreatIntelSetInput) SetDetectorId(v string) *UpdateThreatIntelSetInput {
 15498  	s.DetectorId = &v
 15499  	return s
 15500  }
 15501  
 15502  // SetLocation sets the Location field's value.
 15503  func (s *UpdateThreatIntelSetInput) SetLocation(v string) *UpdateThreatIntelSetInput {
 15504  	s.Location = &v
 15505  	return s
 15506  }
 15507  
 15508  // SetName sets the Name field's value.
 15509  func (s *UpdateThreatIntelSetInput) SetName(v string) *UpdateThreatIntelSetInput {
 15510  	s.Name = &v
 15511  	return s
 15512  }
 15513  
 15514  // SetThreatIntelSetId sets the ThreatIntelSetId field's value.
 15515  func (s *UpdateThreatIntelSetInput) SetThreatIntelSetId(v string) *UpdateThreatIntelSetInput {
 15516  	s.ThreatIntelSetId = &v
 15517  	return s
 15518  }
 15519  
 15520  type UpdateThreatIntelSetOutput struct {
 15521  	_ struct{} `type:"structure" nopayload:"true"`
 15522  }
 15523  
 15524  // String returns the string representation.
 15525  //
 15526  // API parameter values that are decorated as "sensitive" in the API will not
 15527  // be included in the string output. The member name will be present, but the
 15528  // value will be replaced with "sensitive".
 15529  func (s UpdateThreatIntelSetOutput) String() string {
 15530  	return awsutil.Prettify(s)
 15531  }
 15532  
 15533  // GoString returns the string representation.
 15534  //
 15535  // API parameter values that are decorated as "sensitive" in the API will not
 15536  // be included in the string output. The member name will be present, but the
 15537  // value will be replaced with "sensitive".
 15538  func (s UpdateThreatIntelSetOutput) GoString() string {
 15539  	return s.String()
 15540  }
 15541  
 15542  // Contains information on the total of usage based on account IDs.
 15543  type UsageAccountResult struct {
 15544  	_ struct{} `type:"structure"`
 15545  
 15546  	// The Account ID that generated usage.
 15547  	AccountId *string `locationName:"accountId" min:"12" type:"string"`
 15548  
 15549  	// Represents the total of usage for the Account ID.
 15550  	Total *Total `locationName:"total" type:"structure"`
 15551  }
 15552  
 15553  // String returns the string representation.
 15554  //
 15555  // API parameter values that are decorated as "sensitive" in the API will not
 15556  // be included in the string output. The member name will be present, but the
 15557  // value will be replaced with "sensitive".
 15558  func (s UsageAccountResult) String() string {
 15559  	return awsutil.Prettify(s)
 15560  }
 15561  
 15562  // GoString returns the string representation.
 15563  //
 15564  // API parameter values that are decorated as "sensitive" in the API will not
 15565  // be included in the string output. The member name will be present, but the
 15566  // value will be replaced with "sensitive".
 15567  func (s UsageAccountResult) GoString() string {
 15568  	return s.String()
 15569  }
 15570  
 15571  // SetAccountId sets the AccountId field's value.
 15572  func (s *UsageAccountResult) SetAccountId(v string) *UsageAccountResult {
 15573  	s.AccountId = &v
 15574  	return s
 15575  }
 15576  
 15577  // SetTotal sets the Total field's value.
 15578  func (s *UsageAccountResult) SetTotal(v *Total) *UsageAccountResult {
 15579  	s.Total = v
 15580  	return s
 15581  }
 15582  
 15583  // Contains information about the criteria used to query usage statistics.
 15584  type UsageCriteria struct {
 15585  	_ struct{} `type:"structure"`
 15586  
 15587  	// The account IDs to aggregate usage statistics from.
 15588  	AccountIds []*string `locationName:"accountIds" min:"1" type:"list"`
 15589  
 15590  	// The data sources to aggregate usage statistics from.
 15591  	//
 15592  	// DataSources is a required field
 15593  	DataSources []*string `locationName:"dataSources" type:"list" required:"true"`
 15594  
 15595  	// The resources to aggregate usage statistics from. Only accepts exact resource
 15596  	// names.
 15597  	Resources []*string `locationName:"resources" type:"list"`
 15598  }
 15599  
 15600  // String returns the string representation.
 15601  //
 15602  // API parameter values that are decorated as "sensitive" in the API will not
 15603  // be included in the string output. The member name will be present, but the
 15604  // value will be replaced with "sensitive".
 15605  func (s UsageCriteria) String() string {
 15606  	return awsutil.Prettify(s)
 15607  }
 15608  
 15609  // GoString returns the string representation.
 15610  //
 15611  // API parameter values that are decorated as "sensitive" in the API will not
 15612  // be included in the string output. The member name will be present, but the
 15613  // value will be replaced with "sensitive".
 15614  func (s UsageCriteria) GoString() string {
 15615  	return s.String()
 15616  }
 15617  
 15618  // Validate inspects the fields of the type to determine if they are valid.
 15619  func (s *UsageCriteria) Validate() error {
 15620  	invalidParams := request.ErrInvalidParams{Context: "UsageCriteria"}
 15621  	if s.AccountIds != nil && len(s.AccountIds) < 1 {
 15622  		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
 15623  	}
 15624  	if s.DataSources == nil {
 15625  		invalidParams.Add(request.NewErrParamRequired("DataSources"))
 15626  	}
 15627  
 15628  	if invalidParams.Len() > 0 {
 15629  		return invalidParams
 15630  	}
 15631  	return nil
 15632  }
 15633  
 15634  // SetAccountIds sets the AccountIds field's value.
 15635  func (s *UsageCriteria) SetAccountIds(v []*string) *UsageCriteria {
 15636  	s.AccountIds = v
 15637  	return s
 15638  }
 15639  
 15640  // SetDataSources sets the DataSources field's value.
 15641  func (s *UsageCriteria) SetDataSources(v []*string) *UsageCriteria {
 15642  	s.DataSources = v
 15643  	return s
 15644  }
 15645  
 15646  // SetResources sets the Resources field's value.
 15647  func (s *UsageCriteria) SetResources(v []*string) *UsageCriteria {
 15648  	s.Resources = v
 15649  	return s
 15650  }
 15651  
 15652  // Contains information on the result of usage based on data source type.
 15653  type UsageDataSourceResult struct {
 15654  	_ struct{} `type:"structure"`
 15655  
 15656  	// The data source type that generated usage.
 15657  	DataSource *string `locationName:"dataSource" type:"string" enum:"DataSource"`
 15658  
 15659  	// Represents the total of usage for the specified data source.
 15660  	Total *Total `locationName:"total" type:"structure"`
 15661  }
 15662  
 15663  // String returns the string representation.
 15664  //
 15665  // API parameter values that are decorated as "sensitive" in the API will not
 15666  // be included in the string output. The member name will be present, but the
 15667  // value will be replaced with "sensitive".
 15668  func (s UsageDataSourceResult) String() string {
 15669  	return awsutil.Prettify(s)
 15670  }
 15671  
 15672  // GoString returns the string representation.
 15673  //
 15674  // API parameter values that are decorated as "sensitive" in the API will not
 15675  // be included in the string output. The member name will be present, but the
 15676  // value will be replaced with "sensitive".
 15677  func (s UsageDataSourceResult) GoString() string {
 15678  	return s.String()
 15679  }
 15680  
 15681  // SetDataSource sets the DataSource field's value.
 15682  func (s *UsageDataSourceResult) SetDataSource(v string) *UsageDataSourceResult {
 15683  	s.DataSource = &v
 15684  	return s
 15685  }
 15686  
 15687  // SetTotal sets the Total field's value.
 15688  func (s *UsageDataSourceResult) SetTotal(v *Total) *UsageDataSourceResult {
 15689  	s.Total = v
 15690  	return s
 15691  }
 15692  
 15693  // Contains information on the sum of usage based on an AWS resource.
 15694  type UsageResourceResult struct {
 15695  	_ struct{} `type:"structure"`
 15696  
 15697  	// The AWS resource that generated usage.
 15698  	Resource *string `locationName:"resource" type:"string"`
 15699  
 15700  	// Represents the sum total of usage for the specified resource type.
 15701  	Total *Total `locationName:"total" type:"structure"`
 15702  }
 15703  
 15704  // String returns the string representation.
 15705  //
 15706  // API parameter values that are decorated as "sensitive" in the API will not
 15707  // be included in the string output. The member name will be present, but the
 15708  // value will be replaced with "sensitive".
 15709  func (s UsageResourceResult) String() string {
 15710  	return awsutil.Prettify(s)
 15711  }
 15712  
 15713  // GoString returns the string representation.
 15714  //
 15715  // API parameter values that are decorated as "sensitive" in the API will not
 15716  // be included in the string output. The member name will be present, but the
 15717  // value will be replaced with "sensitive".
 15718  func (s UsageResourceResult) GoString() string {
 15719  	return s.String()
 15720  }
 15721  
 15722  // SetResource sets the Resource field's value.
 15723  func (s *UsageResourceResult) SetResource(v string) *UsageResourceResult {
 15724  	s.Resource = &v
 15725  	return s
 15726  }
 15727  
 15728  // SetTotal sets the Total field's value.
 15729  func (s *UsageResourceResult) SetTotal(v *Total) *UsageResourceResult {
 15730  	s.Total = v
 15731  	return s
 15732  }
 15733  
 15734  // Contains the result of GuardDuty usage. If a UsageStatisticType is provided
 15735  // the result for other types will be null.
 15736  type UsageStatistics struct {
 15737  	_ struct{} `type:"structure"`
 15738  
 15739  	// The usage statistic sum organized by account ID.
 15740  	SumByAccount []*UsageAccountResult `locationName:"sumByAccount" type:"list"`
 15741  
 15742  	// The usage statistic sum organized by on data source.
 15743  	SumByDataSource []*UsageDataSourceResult `locationName:"sumByDataSource" type:"list"`
 15744  
 15745  	// The usage statistic sum organized by resource.
 15746  	SumByResource []*UsageResourceResult `locationName:"sumByResource" type:"list"`
 15747  
 15748  	// Lists the top 50 resources that have generated the most GuardDuty usage,
 15749  	// in order from most to least expensive.
 15750  	TopResources []*UsageResourceResult `locationName:"topResources" type:"list"`
 15751  }
 15752  
 15753  // String returns the string representation.
 15754  //
 15755  // API parameter values that are decorated as "sensitive" in the API will not
 15756  // be included in the string output. The member name will be present, but the
 15757  // value will be replaced with "sensitive".
 15758  func (s UsageStatistics) String() string {
 15759  	return awsutil.Prettify(s)
 15760  }
 15761  
 15762  // GoString returns the string representation.
 15763  //
 15764  // API parameter values that are decorated as "sensitive" in the API will not
 15765  // be included in the string output. The member name will be present, but the
 15766  // value will be replaced with "sensitive".
 15767  func (s UsageStatistics) GoString() string {
 15768  	return s.String()
 15769  }
 15770  
 15771  // SetSumByAccount sets the SumByAccount field's value.
 15772  func (s *UsageStatistics) SetSumByAccount(v []*UsageAccountResult) *UsageStatistics {
 15773  	s.SumByAccount = v
 15774  	return s
 15775  }
 15776  
 15777  // SetSumByDataSource sets the SumByDataSource field's value.
 15778  func (s *UsageStatistics) SetSumByDataSource(v []*UsageDataSourceResult) *UsageStatistics {
 15779  	s.SumByDataSource = v
 15780  	return s
 15781  }
 15782  
 15783  // SetSumByResource sets the SumByResource field's value.
 15784  func (s *UsageStatistics) SetSumByResource(v []*UsageResourceResult) *UsageStatistics {
 15785  	s.SumByResource = v
 15786  	return s
 15787  }
 15788  
 15789  // SetTopResources sets the TopResources field's value.
 15790  func (s *UsageStatistics) SetTopResources(v []*UsageResourceResult) *UsageStatistics {
 15791  	s.TopResources = v
 15792  	return s
 15793  }
 15794  
 15795  const (
 15796  	// AdminStatusEnabled is a AdminStatus enum value
 15797  	AdminStatusEnabled = "ENABLED"
 15798  
 15799  	// AdminStatusDisableInProgress is a AdminStatus enum value
 15800  	AdminStatusDisableInProgress = "DISABLE_IN_PROGRESS"
 15801  )
 15802  
 15803  // AdminStatus_Values returns all elements of the AdminStatus enum
 15804  func AdminStatus_Values() []string {
 15805  	return []string{
 15806  		AdminStatusEnabled,
 15807  		AdminStatusDisableInProgress,
 15808  	}
 15809  }
 15810  
 15811  const (
 15812  	// DataSourceFlowLogs is a DataSource enum value
 15813  	DataSourceFlowLogs = "FLOW_LOGS"
 15814  
 15815  	// DataSourceCloudTrail is a DataSource enum value
 15816  	DataSourceCloudTrail = "CLOUD_TRAIL"
 15817  
 15818  	// DataSourceDnsLogs is a DataSource enum value
 15819  	DataSourceDnsLogs = "DNS_LOGS"
 15820  
 15821  	// DataSourceS3Logs is a DataSource enum value
 15822  	DataSourceS3Logs = "S3_LOGS"
 15823  )
 15824  
 15825  // DataSource_Values returns all elements of the DataSource enum
 15826  func DataSource_Values() []string {
 15827  	return []string{
 15828  		DataSourceFlowLogs,
 15829  		DataSourceCloudTrail,
 15830  		DataSourceDnsLogs,
 15831  		DataSourceS3Logs,
 15832  	}
 15833  }
 15834  
 15835  const (
 15836  	// DataSourceStatusEnabled is a DataSourceStatus enum value
 15837  	DataSourceStatusEnabled = "ENABLED"
 15838  
 15839  	// DataSourceStatusDisabled is a DataSourceStatus enum value
 15840  	DataSourceStatusDisabled = "DISABLED"
 15841  )
 15842  
 15843  // DataSourceStatus_Values returns all elements of the DataSourceStatus enum
 15844  func DataSourceStatus_Values() []string {
 15845  	return []string{
 15846  		DataSourceStatusEnabled,
 15847  		DataSourceStatusDisabled,
 15848  	}
 15849  }
 15850  
 15851  const (
 15852  	// DestinationTypeS3 is a DestinationType enum value
 15853  	DestinationTypeS3 = "S3"
 15854  )
 15855  
 15856  // DestinationType_Values returns all elements of the DestinationType enum
 15857  func DestinationType_Values() []string {
 15858  	return []string{
 15859  		DestinationTypeS3,
 15860  	}
 15861  }
 15862  
 15863  const (
 15864  	// DetectorStatusEnabled is a DetectorStatus enum value
 15865  	DetectorStatusEnabled = "ENABLED"
 15866  
 15867  	// DetectorStatusDisabled is a DetectorStatus enum value
 15868  	DetectorStatusDisabled = "DISABLED"
 15869  )
 15870  
 15871  // DetectorStatus_Values returns all elements of the DetectorStatus enum
 15872  func DetectorStatus_Values() []string {
 15873  	return []string{
 15874  		DetectorStatusEnabled,
 15875  		DetectorStatusDisabled,
 15876  	}
 15877  }
 15878  
 15879  const (
 15880  	// FeedbackUseful is a Feedback enum value
 15881  	FeedbackUseful = "USEFUL"
 15882  
 15883  	// FeedbackNotUseful is a Feedback enum value
 15884  	FeedbackNotUseful = "NOT_USEFUL"
 15885  )
 15886  
 15887  // Feedback_Values returns all elements of the Feedback enum
 15888  func Feedback_Values() []string {
 15889  	return []string{
 15890  		FeedbackUseful,
 15891  		FeedbackNotUseful,
 15892  	}
 15893  }
 15894  
 15895  const (
 15896  	// FilterActionNoop is a FilterAction enum value
 15897  	FilterActionNoop = "NOOP"
 15898  
 15899  	// FilterActionArchive is a FilterAction enum value
 15900  	FilterActionArchive = "ARCHIVE"
 15901  )
 15902  
 15903  // FilterAction_Values returns all elements of the FilterAction enum
 15904  func FilterAction_Values() []string {
 15905  	return []string{
 15906  		FilterActionNoop,
 15907  		FilterActionArchive,
 15908  	}
 15909  }
 15910  
 15911  const (
 15912  	// FindingPublishingFrequencyFifteenMinutes is a FindingPublishingFrequency enum value
 15913  	FindingPublishingFrequencyFifteenMinutes = "FIFTEEN_MINUTES"
 15914  
 15915  	// FindingPublishingFrequencyOneHour is a FindingPublishingFrequency enum value
 15916  	FindingPublishingFrequencyOneHour = "ONE_HOUR"
 15917  
 15918  	// FindingPublishingFrequencySixHours is a FindingPublishingFrequency enum value
 15919  	FindingPublishingFrequencySixHours = "SIX_HOURS"
 15920  )
 15921  
 15922  // FindingPublishingFrequency_Values returns all elements of the FindingPublishingFrequency enum
 15923  func FindingPublishingFrequency_Values() []string {
 15924  	return []string{
 15925  		FindingPublishingFrequencyFifteenMinutes,
 15926  		FindingPublishingFrequencyOneHour,
 15927  		FindingPublishingFrequencySixHours,
 15928  	}
 15929  }
 15930  
 15931  const (
 15932  	// FindingStatisticTypeCountBySeverity is a FindingStatisticType enum value
 15933  	FindingStatisticTypeCountBySeverity = "COUNT_BY_SEVERITY"
 15934  )
 15935  
 15936  // FindingStatisticType_Values returns all elements of the FindingStatisticType enum
 15937  func FindingStatisticType_Values() []string {
 15938  	return []string{
 15939  		FindingStatisticTypeCountBySeverity,
 15940  	}
 15941  }
 15942  
 15943  const (
 15944  	// IpSetFormatTxt is a IpSetFormat enum value
 15945  	IpSetFormatTxt = "TXT"
 15946  
 15947  	// IpSetFormatStix is a IpSetFormat enum value
 15948  	IpSetFormatStix = "STIX"
 15949  
 15950  	// IpSetFormatOtxCsv is a IpSetFormat enum value
 15951  	IpSetFormatOtxCsv = "OTX_CSV"
 15952  
 15953  	// IpSetFormatAlienVault is a IpSetFormat enum value
 15954  	IpSetFormatAlienVault = "ALIEN_VAULT"
 15955  
 15956  	// IpSetFormatProofPoint is a IpSetFormat enum value
 15957  	IpSetFormatProofPoint = "PROOF_POINT"
 15958  
 15959  	// IpSetFormatFireEye is a IpSetFormat enum value
 15960  	IpSetFormatFireEye = "FIRE_EYE"
 15961  )
 15962  
 15963  // IpSetFormat_Values returns all elements of the IpSetFormat enum
 15964  func IpSetFormat_Values() []string {
 15965  	return []string{
 15966  		IpSetFormatTxt,
 15967  		IpSetFormatStix,
 15968  		IpSetFormatOtxCsv,
 15969  		IpSetFormatAlienVault,
 15970  		IpSetFormatProofPoint,
 15971  		IpSetFormatFireEye,
 15972  	}
 15973  }
 15974  
 15975  const (
 15976  	// IpSetStatusInactive is a IpSetStatus enum value
 15977  	IpSetStatusInactive = "INACTIVE"
 15978  
 15979  	// IpSetStatusActivating is a IpSetStatus enum value
 15980  	IpSetStatusActivating = "ACTIVATING"
 15981  
 15982  	// IpSetStatusActive is a IpSetStatus enum value
 15983  	IpSetStatusActive = "ACTIVE"
 15984  
 15985  	// IpSetStatusDeactivating is a IpSetStatus enum value
 15986  	IpSetStatusDeactivating = "DEACTIVATING"
 15987  
 15988  	// IpSetStatusError is a IpSetStatus enum value
 15989  	IpSetStatusError = "ERROR"
 15990  
 15991  	// IpSetStatusDeletePending is a IpSetStatus enum value
 15992  	IpSetStatusDeletePending = "DELETE_PENDING"
 15993  
 15994  	// IpSetStatusDeleted is a IpSetStatus enum value
 15995  	IpSetStatusDeleted = "DELETED"
 15996  )
 15997  
 15998  // IpSetStatus_Values returns all elements of the IpSetStatus enum
 15999  func IpSetStatus_Values() []string {
 16000  	return []string{
 16001  		IpSetStatusInactive,
 16002  		IpSetStatusActivating,
 16003  		IpSetStatusActive,
 16004  		IpSetStatusDeactivating,
 16005  		IpSetStatusError,
 16006  		IpSetStatusDeletePending,
 16007  		IpSetStatusDeleted,
 16008  	}
 16009  }
 16010  
 16011  const (
 16012  	// OrderByAsc is a OrderBy enum value
 16013  	OrderByAsc = "ASC"
 16014  
 16015  	// OrderByDesc is a OrderBy enum value
 16016  	OrderByDesc = "DESC"
 16017  )
 16018  
 16019  // OrderBy_Values returns all elements of the OrderBy enum
 16020  func OrderBy_Values() []string {
 16021  	return []string{
 16022  		OrderByAsc,
 16023  		OrderByDesc,
 16024  	}
 16025  }
 16026  
 16027  const (
 16028  	// PublishingStatusPendingVerification is a PublishingStatus enum value
 16029  	PublishingStatusPendingVerification = "PENDING_VERIFICATION"
 16030  
 16031  	// PublishingStatusPublishing is a PublishingStatus enum value
 16032  	PublishingStatusPublishing = "PUBLISHING"
 16033  
 16034  	// PublishingStatusUnableToPublishFixDestinationProperty is a PublishingStatus enum value
 16035  	PublishingStatusUnableToPublishFixDestinationProperty = "UNABLE_TO_PUBLISH_FIX_DESTINATION_PROPERTY"
 16036  
 16037  	// PublishingStatusStopped is a PublishingStatus enum value
 16038  	PublishingStatusStopped = "STOPPED"
 16039  )
 16040  
 16041  // PublishingStatus_Values returns all elements of the PublishingStatus enum
 16042  func PublishingStatus_Values() []string {
 16043  	return []string{
 16044  		PublishingStatusPendingVerification,
 16045  		PublishingStatusPublishing,
 16046  		PublishingStatusUnableToPublishFixDestinationProperty,
 16047  		PublishingStatusStopped,
 16048  	}
 16049  }
 16050  
 16051  const (
 16052  	// ThreatIntelSetFormatTxt is a ThreatIntelSetFormat enum value
 16053  	ThreatIntelSetFormatTxt = "TXT"
 16054  
 16055  	// ThreatIntelSetFormatStix is a ThreatIntelSetFormat enum value
 16056  	ThreatIntelSetFormatStix = "STIX"
 16057  
 16058  	// ThreatIntelSetFormatOtxCsv is a ThreatIntelSetFormat enum value
 16059  	ThreatIntelSetFormatOtxCsv = "OTX_CSV"
 16060  
 16061  	// ThreatIntelSetFormatAlienVault is a ThreatIntelSetFormat enum value
 16062  	ThreatIntelSetFormatAlienVault = "ALIEN_VAULT"
 16063  
 16064  	// ThreatIntelSetFormatProofPoint is a ThreatIntelSetFormat enum value
 16065  	ThreatIntelSetFormatProofPoint = "PROOF_POINT"
 16066  
 16067  	// ThreatIntelSetFormatFireEye is a ThreatIntelSetFormat enum value
 16068  	ThreatIntelSetFormatFireEye = "FIRE_EYE"
 16069  )
 16070  
 16071  // ThreatIntelSetFormat_Values returns all elements of the ThreatIntelSetFormat enum
 16072  func ThreatIntelSetFormat_Values() []string {
 16073  	return []string{
 16074  		ThreatIntelSetFormatTxt,
 16075  		ThreatIntelSetFormatStix,
 16076  		ThreatIntelSetFormatOtxCsv,
 16077  		ThreatIntelSetFormatAlienVault,
 16078  		ThreatIntelSetFormatProofPoint,
 16079  		ThreatIntelSetFormatFireEye,
 16080  	}
 16081  }
 16082  
 16083  const (
 16084  	// ThreatIntelSetStatusInactive is a ThreatIntelSetStatus enum value
 16085  	ThreatIntelSetStatusInactive = "INACTIVE"
 16086  
 16087  	// ThreatIntelSetStatusActivating is a ThreatIntelSetStatus enum value
 16088  	ThreatIntelSetStatusActivating = "ACTIVATING"
 16089  
 16090  	// ThreatIntelSetStatusActive is a ThreatIntelSetStatus enum value
 16091  	ThreatIntelSetStatusActive = "ACTIVE"
 16092  
 16093  	// ThreatIntelSetStatusDeactivating is a ThreatIntelSetStatus enum value
 16094  	ThreatIntelSetStatusDeactivating = "DEACTIVATING"
 16095  
 16096  	// ThreatIntelSetStatusError is a ThreatIntelSetStatus enum value
 16097  	ThreatIntelSetStatusError = "ERROR"
 16098  
 16099  	// ThreatIntelSetStatusDeletePending is a ThreatIntelSetStatus enum value
 16100  	ThreatIntelSetStatusDeletePending = "DELETE_PENDING"
 16101  
 16102  	// ThreatIntelSetStatusDeleted is a ThreatIntelSetStatus enum value
 16103  	ThreatIntelSetStatusDeleted = "DELETED"
 16104  )
 16105  
 16106  // ThreatIntelSetStatus_Values returns all elements of the ThreatIntelSetStatus enum
 16107  func ThreatIntelSetStatus_Values() []string {
 16108  	return []string{
 16109  		ThreatIntelSetStatusInactive,
 16110  		ThreatIntelSetStatusActivating,
 16111  		ThreatIntelSetStatusActive,
 16112  		ThreatIntelSetStatusDeactivating,
 16113  		ThreatIntelSetStatusError,
 16114  		ThreatIntelSetStatusDeletePending,
 16115  		ThreatIntelSetStatusDeleted,
 16116  	}
 16117  }
 16118  
 16119  const (
 16120  	// UsageStatisticTypeSumByAccount is a UsageStatisticType enum value
 16121  	UsageStatisticTypeSumByAccount = "SUM_BY_ACCOUNT"
 16122  
 16123  	// UsageStatisticTypeSumByDataSource is a UsageStatisticType enum value
 16124  	UsageStatisticTypeSumByDataSource = "SUM_BY_DATA_SOURCE"
 16125  
 16126  	// UsageStatisticTypeSumByResource is a UsageStatisticType enum value
 16127  	UsageStatisticTypeSumByResource = "SUM_BY_RESOURCE"
 16128  
 16129  	// UsageStatisticTypeTopResources is a UsageStatisticType enum value
 16130  	UsageStatisticTypeTopResources = "TOP_RESOURCES"
 16131  )
 16132  
 16133  // UsageStatisticType_Values returns all elements of the UsageStatisticType enum
 16134  func UsageStatisticType_Values() []string {
 16135  	return []string{
 16136  		UsageStatisticTypeSumByAccount,
 16137  		UsageStatisticTypeSumByDataSource,
 16138  		UsageStatisticTypeSumByResource,
 16139  		UsageStatisticTypeTopResources,
 16140  	}
 16141  }