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

     1  // Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
     2  
     3  package detective
     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/detective-2018-10-26/AcceptInvitation
    42  func (c *Detective) AcceptInvitationRequest(input *AcceptInvitationInput) (req *request.Request, output *AcceptInvitationOutput) {
    43  	op := &request.Operation{
    44  		Name:       opAcceptInvitation,
    45  		HTTPMethod: "PUT",
    46  		HTTPPath:   "/invitation",
    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 Detective.
    60  //
    61  // Accepts an invitation for the member account to contribute data to a behavior
    62  // graph. This operation can only be called by an invited member account.
    63  //
    64  // The request provides the ARN of behavior graph.
    65  //
    66  // The member account status in the graph must be INVITED.
    67  //
    68  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
    69  // with awserr.Error's Code and Message methods to get detailed information about
    70  // the error.
    71  //
    72  // See the AWS API reference guide for Amazon Detective's
    73  // API operation AcceptInvitation for usage and error information.
    74  //
    75  // Returned Error Types:
    76  //   * ConflictException
    77  //   The request attempted an invalid action.
    78  //
    79  //   * InternalServerException
    80  //   The request was valid but failed because of a problem with the service.
    81  //
    82  //   * ResourceNotFoundException
    83  //   The request refers to a nonexistent resource.
    84  //
    85  //   * ValidationException
    86  //   The request parameters are invalid.
    87  //
    88  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/AcceptInvitation
    89  func (c *Detective) AcceptInvitation(input *AcceptInvitationInput) (*AcceptInvitationOutput, error) {
    90  	req, out := c.AcceptInvitationRequest(input)
    91  	return out, req.Send()
    92  }
    93  
    94  // AcceptInvitationWithContext is the same as AcceptInvitation with the addition of
    95  // the ability to pass a context and additional request options.
    96  //
    97  // See AcceptInvitation for details on how to use this API operation.
    98  //
    99  // The context must be non-nil and will be used for request cancellation. If
   100  // the context is nil a panic will occur. In the future the SDK may create
   101  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   102  // for more information on using Contexts.
   103  func (c *Detective) AcceptInvitationWithContext(ctx aws.Context, input *AcceptInvitationInput, opts ...request.Option) (*AcceptInvitationOutput, error) {
   104  	req, out := c.AcceptInvitationRequest(input)
   105  	req.SetContext(ctx)
   106  	req.ApplyOptions(opts...)
   107  	return out, req.Send()
   108  }
   109  
   110  const opCreateGraph = "CreateGraph"
   111  
   112  // CreateGraphRequest generates a "aws/request.Request" representing the
   113  // client's request for the CreateGraph operation. The "output" return
   114  // value will be populated with the request's response once the request completes
   115  // successfully.
   116  //
   117  // Use "Send" method on the returned Request to send the API call to the service.
   118  // the "output" return value is not valid until after Send returns without error.
   119  //
   120  // See CreateGraph for more information on using the CreateGraph
   121  // API call, and error handling.
   122  //
   123  // This method is useful when you want to inject custom logic or configuration
   124  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   125  //
   126  //
   127  //    // Example sending a request using the CreateGraphRequest method.
   128  //    req, resp := client.CreateGraphRequest(params)
   129  //
   130  //    err := req.Send()
   131  //    if err == nil { // resp is now filled
   132  //        fmt.Println(resp)
   133  //    }
   134  //
   135  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/CreateGraph
   136  func (c *Detective) CreateGraphRequest(input *CreateGraphInput) (req *request.Request, output *CreateGraphOutput) {
   137  	op := &request.Operation{
   138  		Name:       opCreateGraph,
   139  		HTTPMethod: "POST",
   140  		HTTPPath:   "/graph",
   141  	}
   142  
   143  	if input == nil {
   144  		input = &CreateGraphInput{}
   145  	}
   146  
   147  	output = &CreateGraphOutput{}
   148  	req = c.newRequest(op, input, output)
   149  	return
   150  }
   151  
   152  // CreateGraph API operation for Amazon Detective.
   153  //
   154  // Creates a new behavior graph for the calling account, and sets that account
   155  // as the administrator account. This operation is called by the account that
   156  // is enabling Detective.
   157  //
   158  // Before you try to enable Detective, make sure that your account has been
   159  // enrolled in Amazon GuardDuty for at least 48 hours. If you do not meet this
   160  // requirement, you cannot enable Detective. If you do meet the GuardDuty prerequisite,
   161  // then when you make the request to enable Detective, it checks whether your
   162  // data volume is within the Detective quota. If it exceeds the quota, then
   163  // you cannot enable Detective.
   164  //
   165  // The operation also enables Detective for the calling account in the currently
   166  // selected Region. It returns the ARN of the new behavior graph.
   167  //
   168  // CreateGraph triggers a process to create the corresponding data tables for
   169  // the new behavior graph.
   170  //
   171  // An account can only be the administrator account for one behavior graph within
   172  // a Region. If the same account calls CreateGraph with the same administrator
   173  // account, it always returns the same behavior graph ARN. It does not create
   174  // a new behavior graph.
   175  //
   176  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   177  // with awserr.Error's Code and Message methods to get detailed information about
   178  // the error.
   179  //
   180  // See the AWS API reference guide for Amazon Detective's
   181  // API operation CreateGraph for usage and error information.
   182  //
   183  // Returned Error Types:
   184  //   * ConflictException
   185  //   The request attempted an invalid action.
   186  //
   187  //   * InternalServerException
   188  //   The request was valid but failed because of a problem with the service.
   189  //
   190  //   * ServiceQuotaExceededException
   191  //   This request cannot be completed for one of the following reasons.
   192  //
   193  //      * The request would cause the number of member accounts in the behavior
   194  //      graph to exceed the maximum allowed. A behavior graph cannot have more
   195  //      than 1000 member accounts.
   196  //
   197  //      * The request would cause the data rate for the behavior graph to exceed
   198  //      the maximum allowed.
   199  //
   200  //      * Detective is unable to verify the data rate for the member account.
   201  //      This is usually because the member account is not enrolled in Amazon GuardDuty.
   202  //
   203  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/CreateGraph
   204  func (c *Detective) CreateGraph(input *CreateGraphInput) (*CreateGraphOutput, error) {
   205  	req, out := c.CreateGraphRequest(input)
   206  	return out, req.Send()
   207  }
   208  
   209  // CreateGraphWithContext is the same as CreateGraph with the addition of
   210  // the ability to pass a context and additional request options.
   211  //
   212  // See CreateGraph for details on how to use this API operation.
   213  //
   214  // The context must be non-nil and will be used for request cancellation. If
   215  // the context is nil a panic will occur. In the future the SDK may create
   216  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   217  // for more information on using Contexts.
   218  func (c *Detective) CreateGraphWithContext(ctx aws.Context, input *CreateGraphInput, opts ...request.Option) (*CreateGraphOutput, error) {
   219  	req, out := c.CreateGraphRequest(input)
   220  	req.SetContext(ctx)
   221  	req.ApplyOptions(opts...)
   222  	return out, req.Send()
   223  }
   224  
   225  const opCreateMembers = "CreateMembers"
   226  
   227  // CreateMembersRequest generates a "aws/request.Request" representing the
   228  // client's request for the CreateMembers operation. The "output" return
   229  // value will be populated with the request's response once the request completes
   230  // successfully.
   231  //
   232  // Use "Send" method on the returned Request to send the API call to the service.
   233  // the "output" return value is not valid until after Send returns without error.
   234  //
   235  // See CreateMembers for more information on using the CreateMembers
   236  // API call, and error handling.
   237  //
   238  // This method is useful when you want to inject custom logic or configuration
   239  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   240  //
   241  //
   242  //    // Example sending a request using the CreateMembersRequest method.
   243  //    req, resp := client.CreateMembersRequest(params)
   244  //
   245  //    err := req.Send()
   246  //    if err == nil { // resp is now filled
   247  //        fmt.Println(resp)
   248  //    }
   249  //
   250  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/CreateMembers
   251  func (c *Detective) CreateMembersRequest(input *CreateMembersInput) (req *request.Request, output *CreateMembersOutput) {
   252  	op := &request.Operation{
   253  		Name:       opCreateMembers,
   254  		HTTPMethod: "POST",
   255  		HTTPPath:   "/graph/members",
   256  	}
   257  
   258  	if input == nil {
   259  		input = &CreateMembersInput{}
   260  	}
   261  
   262  	output = &CreateMembersOutput{}
   263  	req = c.newRequest(op, input, output)
   264  	return
   265  }
   266  
   267  // CreateMembers API operation for Amazon Detective.
   268  //
   269  // Sends a request to invite the specified AWS accounts to be member accounts
   270  // in the behavior graph. This operation can only be called by the administrator
   271  // account for a behavior graph.
   272  //
   273  // CreateMembers verifies the accounts and then invites the verified accounts.
   274  // The administrator can optionally specify to not send invitation emails to
   275  // the member accounts. This would be used when the administrator manages their
   276  // member accounts centrally.
   277  //
   278  // The request provides the behavior graph ARN and the list of accounts to invite.
   279  //
   280  // The response separates the requested accounts into two lists:
   281  //
   282  //    * The accounts that CreateMembers was able to start the verification for.
   283  //    This list includes member accounts that are being verified, that have
   284  //    passed verification and are to be invited, and that have failed verification.
   285  //
   286  //    * The accounts that CreateMembers was unable to process. This list includes
   287  //    accounts that were already invited to be member accounts in the behavior
   288  //    graph.
   289  //
   290  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   291  // with awserr.Error's Code and Message methods to get detailed information about
   292  // the error.
   293  //
   294  // See the AWS API reference guide for Amazon Detective's
   295  // API operation CreateMembers for usage and error information.
   296  //
   297  // Returned Error Types:
   298  //   * InternalServerException
   299  //   The request was valid but failed because of a problem with the service.
   300  //
   301  //   * ResourceNotFoundException
   302  //   The request refers to a nonexistent resource.
   303  //
   304  //   * ValidationException
   305  //   The request parameters are invalid.
   306  //
   307  //   * ServiceQuotaExceededException
   308  //   This request cannot be completed for one of the following reasons.
   309  //
   310  //      * The request would cause the number of member accounts in the behavior
   311  //      graph to exceed the maximum allowed. A behavior graph cannot have more
   312  //      than 1000 member accounts.
   313  //
   314  //      * The request would cause the data rate for the behavior graph to exceed
   315  //      the maximum allowed.
   316  //
   317  //      * Detective is unable to verify the data rate for the member account.
   318  //      This is usually because the member account is not enrolled in Amazon GuardDuty.
   319  //
   320  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/CreateMembers
   321  func (c *Detective) CreateMembers(input *CreateMembersInput) (*CreateMembersOutput, error) {
   322  	req, out := c.CreateMembersRequest(input)
   323  	return out, req.Send()
   324  }
   325  
   326  // CreateMembersWithContext is the same as CreateMembers with the addition of
   327  // the ability to pass a context and additional request options.
   328  //
   329  // See CreateMembers for details on how to use this API operation.
   330  //
   331  // The context must be non-nil and will be used for request cancellation. If
   332  // the context is nil a panic will occur. In the future the SDK may create
   333  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   334  // for more information on using Contexts.
   335  func (c *Detective) CreateMembersWithContext(ctx aws.Context, input *CreateMembersInput, opts ...request.Option) (*CreateMembersOutput, error) {
   336  	req, out := c.CreateMembersRequest(input)
   337  	req.SetContext(ctx)
   338  	req.ApplyOptions(opts...)
   339  	return out, req.Send()
   340  }
   341  
   342  const opDeleteGraph = "DeleteGraph"
   343  
   344  // DeleteGraphRequest generates a "aws/request.Request" representing the
   345  // client's request for the DeleteGraph operation. The "output" return
   346  // value will be populated with the request's response once the request completes
   347  // successfully.
   348  //
   349  // Use "Send" method on the returned Request to send the API call to the service.
   350  // the "output" return value is not valid until after Send returns without error.
   351  //
   352  // See DeleteGraph for more information on using the DeleteGraph
   353  // API call, and error handling.
   354  //
   355  // This method is useful when you want to inject custom logic or configuration
   356  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   357  //
   358  //
   359  //    // Example sending a request using the DeleteGraphRequest method.
   360  //    req, resp := client.DeleteGraphRequest(params)
   361  //
   362  //    err := req.Send()
   363  //    if err == nil { // resp is now filled
   364  //        fmt.Println(resp)
   365  //    }
   366  //
   367  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DeleteGraph
   368  func (c *Detective) DeleteGraphRequest(input *DeleteGraphInput) (req *request.Request, output *DeleteGraphOutput) {
   369  	op := &request.Operation{
   370  		Name:       opDeleteGraph,
   371  		HTTPMethod: "POST",
   372  		HTTPPath:   "/graph/removal",
   373  	}
   374  
   375  	if input == nil {
   376  		input = &DeleteGraphInput{}
   377  	}
   378  
   379  	output = &DeleteGraphOutput{}
   380  	req = c.newRequest(op, input, output)
   381  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   382  	return
   383  }
   384  
   385  // DeleteGraph API operation for Amazon Detective.
   386  //
   387  // Disables the specified behavior graph and queues it to be deleted. This operation
   388  // removes the graph from each member account's list of behavior graphs.
   389  //
   390  // DeleteGraph can only be called by the administrator account for a behavior
   391  // graph.
   392  //
   393  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   394  // with awserr.Error's Code and Message methods to get detailed information about
   395  // the error.
   396  //
   397  // See the AWS API reference guide for Amazon Detective's
   398  // API operation DeleteGraph for usage and error information.
   399  //
   400  // Returned Error Types:
   401  //   * InternalServerException
   402  //   The request was valid but failed because of a problem with the service.
   403  //
   404  //   * ResourceNotFoundException
   405  //   The request refers to a nonexistent resource.
   406  //
   407  //   * ValidationException
   408  //   The request parameters are invalid.
   409  //
   410  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DeleteGraph
   411  func (c *Detective) DeleteGraph(input *DeleteGraphInput) (*DeleteGraphOutput, error) {
   412  	req, out := c.DeleteGraphRequest(input)
   413  	return out, req.Send()
   414  }
   415  
   416  // DeleteGraphWithContext is the same as DeleteGraph with the addition of
   417  // the ability to pass a context and additional request options.
   418  //
   419  // See DeleteGraph for details on how to use this API operation.
   420  //
   421  // The context must be non-nil and will be used for request cancellation. If
   422  // the context is nil a panic will occur. In the future the SDK may create
   423  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   424  // for more information on using Contexts.
   425  func (c *Detective) DeleteGraphWithContext(ctx aws.Context, input *DeleteGraphInput, opts ...request.Option) (*DeleteGraphOutput, error) {
   426  	req, out := c.DeleteGraphRequest(input)
   427  	req.SetContext(ctx)
   428  	req.ApplyOptions(opts...)
   429  	return out, req.Send()
   430  }
   431  
   432  const opDeleteMembers = "DeleteMembers"
   433  
   434  // DeleteMembersRequest generates a "aws/request.Request" representing the
   435  // client's request for the DeleteMembers operation. The "output" return
   436  // value will be populated with the request's response once the request completes
   437  // successfully.
   438  //
   439  // Use "Send" method on the returned Request to send the API call to the service.
   440  // the "output" return value is not valid until after Send returns without error.
   441  //
   442  // See DeleteMembers for more information on using the DeleteMembers
   443  // API call, and error handling.
   444  //
   445  // This method is useful when you want to inject custom logic or configuration
   446  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   447  //
   448  //
   449  //    // Example sending a request using the DeleteMembersRequest method.
   450  //    req, resp := client.DeleteMembersRequest(params)
   451  //
   452  //    err := req.Send()
   453  //    if err == nil { // resp is now filled
   454  //        fmt.Println(resp)
   455  //    }
   456  //
   457  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DeleteMembers
   458  func (c *Detective) DeleteMembersRequest(input *DeleteMembersInput) (req *request.Request, output *DeleteMembersOutput) {
   459  	op := &request.Operation{
   460  		Name:       opDeleteMembers,
   461  		HTTPMethod: "POST",
   462  		HTTPPath:   "/graph/members/removal",
   463  	}
   464  
   465  	if input == nil {
   466  		input = &DeleteMembersInput{}
   467  	}
   468  
   469  	output = &DeleteMembersOutput{}
   470  	req = c.newRequest(op, input, output)
   471  	return
   472  }
   473  
   474  // DeleteMembers API operation for Amazon Detective.
   475  //
   476  // Deletes one or more member accounts from the administrator account's behavior
   477  // graph. This operation can only be called by a Detective administrator account.
   478  // That account cannot use DeleteMembers to delete their own account from the
   479  // behavior graph. To disable a behavior graph, the administrator account uses
   480  // the DeleteGraph API method.
   481  //
   482  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   483  // with awserr.Error's Code and Message methods to get detailed information about
   484  // the error.
   485  //
   486  // See the AWS API reference guide for Amazon Detective's
   487  // API operation DeleteMembers for usage and error information.
   488  //
   489  // Returned Error Types:
   490  //   * ConflictException
   491  //   The request attempted an invalid action.
   492  //
   493  //   * InternalServerException
   494  //   The request was valid but failed because of a problem with the service.
   495  //
   496  //   * ResourceNotFoundException
   497  //   The request refers to a nonexistent resource.
   498  //
   499  //   * ValidationException
   500  //   The request parameters are invalid.
   501  //
   502  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DeleteMembers
   503  func (c *Detective) DeleteMembers(input *DeleteMembersInput) (*DeleteMembersOutput, error) {
   504  	req, out := c.DeleteMembersRequest(input)
   505  	return out, req.Send()
   506  }
   507  
   508  // DeleteMembersWithContext is the same as DeleteMembers with the addition of
   509  // the ability to pass a context and additional request options.
   510  //
   511  // See DeleteMembers for details on how to use this API operation.
   512  //
   513  // The context must be non-nil and will be used for request cancellation. If
   514  // the context is nil a panic will occur. In the future the SDK may create
   515  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   516  // for more information on using Contexts.
   517  func (c *Detective) DeleteMembersWithContext(ctx aws.Context, input *DeleteMembersInput, opts ...request.Option) (*DeleteMembersOutput, error) {
   518  	req, out := c.DeleteMembersRequest(input)
   519  	req.SetContext(ctx)
   520  	req.ApplyOptions(opts...)
   521  	return out, req.Send()
   522  }
   523  
   524  const opDisassociateMembership = "DisassociateMembership"
   525  
   526  // DisassociateMembershipRequest generates a "aws/request.Request" representing the
   527  // client's request for the DisassociateMembership operation. The "output" return
   528  // value will be populated with the request's response once the request completes
   529  // successfully.
   530  //
   531  // Use "Send" method on the returned Request to send the API call to the service.
   532  // the "output" return value is not valid until after Send returns without error.
   533  //
   534  // See DisassociateMembership for more information on using the DisassociateMembership
   535  // API call, and error handling.
   536  //
   537  // This method is useful when you want to inject custom logic or configuration
   538  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   539  //
   540  //
   541  //    // Example sending a request using the DisassociateMembershipRequest method.
   542  //    req, resp := client.DisassociateMembershipRequest(params)
   543  //
   544  //    err := req.Send()
   545  //    if err == nil { // resp is now filled
   546  //        fmt.Println(resp)
   547  //    }
   548  //
   549  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DisassociateMembership
   550  func (c *Detective) DisassociateMembershipRequest(input *DisassociateMembershipInput) (req *request.Request, output *DisassociateMembershipOutput) {
   551  	op := &request.Operation{
   552  		Name:       opDisassociateMembership,
   553  		HTTPMethod: "POST",
   554  		HTTPPath:   "/membership/removal",
   555  	}
   556  
   557  	if input == nil {
   558  		input = &DisassociateMembershipInput{}
   559  	}
   560  
   561  	output = &DisassociateMembershipOutput{}
   562  	req = c.newRequest(op, input, output)
   563  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
   564  	return
   565  }
   566  
   567  // DisassociateMembership API operation for Amazon Detective.
   568  //
   569  // Removes the member account from the specified behavior graph. This operation
   570  // can only be called by a member account that has the ENABLED status.
   571  //
   572  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   573  // with awserr.Error's Code and Message methods to get detailed information about
   574  // the error.
   575  //
   576  // See the AWS API reference guide for Amazon Detective's
   577  // API operation DisassociateMembership for usage and error information.
   578  //
   579  // Returned Error Types:
   580  //   * ConflictException
   581  //   The request attempted an invalid action.
   582  //
   583  //   * InternalServerException
   584  //   The request was valid but failed because of a problem with the service.
   585  //
   586  //   * ResourceNotFoundException
   587  //   The request refers to a nonexistent resource.
   588  //
   589  //   * ValidationException
   590  //   The request parameters are invalid.
   591  //
   592  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DisassociateMembership
   593  func (c *Detective) DisassociateMembership(input *DisassociateMembershipInput) (*DisassociateMembershipOutput, error) {
   594  	req, out := c.DisassociateMembershipRequest(input)
   595  	return out, req.Send()
   596  }
   597  
   598  // DisassociateMembershipWithContext is the same as DisassociateMembership with the addition of
   599  // the ability to pass a context and additional request options.
   600  //
   601  // See DisassociateMembership for details on how to use this API operation.
   602  //
   603  // The context must be non-nil and will be used for request cancellation. If
   604  // the context is nil a panic will occur. In the future the SDK may create
   605  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   606  // for more information on using Contexts.
   607  func (c *Detective) DisassociateMembershipWithContext(ctx aws.Context, input *DisassociateMembershipInput, opts ...request.Option) (*DisassociateMembershipOutput, error) {
   608  	req, out := c.DisassociateMembershipRequest(input)
   609  	req.SetContext(ctx)
   610  	req.ApplyOptions(opts...)
   611  	return out, req.Send()
   612  }
   613  
   614  const opGetMembers = "GetMembers"
   615  
   616  // GetMembersRequest generates a "aws/request.Request" representing the
   617  // client's request for the GetMembers operation. The "output" return
   618  // value will be populated with the request's response once the request completes
   619  // successfully.
   620  //
   621  // Use "Send" method on the returned Request to send the API call to the service.
   622  // the "output" return value is not valid until after Send returns without error.
   623  //
   624  // See GetMembers for more information on using the GetMembers
   625  // API call, and error handling.
   626  //
   627  // This method is useful when you want to inject custom logic or configuration
   628  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   629  //
   630  //
   631  //    // Example sending a request using the GetMembersRequest method.
   632  //    req, resp := client.GetMembersRequest(params)
   633  //
   634  //    err := req.Send()
   635  //    if err == nil { // resp is now filled
   636  //        fmt.Println(resp)
   637  //    }
   638  //
   639  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/GetMembers
   640  func (c *Detective) GetMembersRequest(input *GetMembersInput) (req *request.Request, output *GetMembersOutput) {
   641  	op := &request.Operation{
   642  		Name:       opGetMembers,
   643  		HTTPMethod: "POST",
   644  		HTTPPath:   "/graph/members/get",
   645  	}
   646  
   647  	if input == nil {
   648  		input = &GetMembersInput{}
   649  	}
   650  
   651  	output = &GetMembersOutput{}
   652  	req = c.newRequest(op, input, output)
   653  	return
   654  }
   655  
   656  // GetMembers API operation for Amazon Detective.
   657  //
   658  // Returns the membership details for specified member accounts for a behavior
   659  // graph.
   660  //
   661  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   662  // with awserr.Error's Code and Message methods to get detailed information about
   663  // the error.
   664  //
   665  // See the AWS API reference guide for Amazon Detective's
   666  // API operation GetMembers for usage and error information.
   667  //
   668  // Returned Error Types:
   669  //   * InternalServerException
   670  //   The request was valid but failed because of a problem with the service.
   671  //
   672  //   * ResourceNotFoundException
   673  //   The request refers to a nonexistent resource.
   674  //
   675  //   * ValidationException
   676  //   The request parameters are invalid.
   677  //
   678  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/GetMembers
   679  func (c *Detective) GetMembers(input *GetMembersInput) (*GetMembersOutput, error) {
   680  	req, out := c.GetMembersRequest(input)
   681  	return out, req.Send()
   682  }
   683  
   684  // GetMembersWithContext is the same as GetMembers with the addition of
   685  // the ability to pass a context and additional request options.
   686  //
   687  // See GetMembers 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 *Detective) GetMembersWithContext(ctx aws.Context, input *GetMembersInput, opts ...request.Option) (*GetMembersOutput, error) {
   694  	req, out := c.GetMembersRequest(input)
   695  	req.SetContext(ctx)
   696  	req.ApplyOptions(opts...)
   697  	return out, req.Send()
   698  }
   699  
   700  const opListGraphs = "ListGraphs"
   701  
   702  // ListGraphsRequest generates a "aws/request.Request" representing the
   703  // client's request for the ListGraphs 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 ListGraphs for more information on using the ListGraphs
   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 ListGraphsRequest method.
   718  //    req, resp := client.ListGraphsRequest(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/detective-2018-10-26/ListGraphs
   726  func (c *Detective) ListGraphsRequest(input *ListGraphsInput) (req *request.Request, output *ListGraphsOutput) {
   727  	op := &request.Operation{
   728  		Name:       opListGraphs,
   729  		HTTPMethod: "POST",
   730  		HTTPPath:   "/graphs/list",
   731  		Paginator: &request.Paginator{
   732  			InputTokens:     []string{"NextToken"},
   733  			OutputTokens:    []string{"NextToken"},
   734  			LimitToken:      "MaxResults",
   735  			TruncationToken: "",
   736  		},
   737  	}
   738  
   739  	if input == nil {
   740  		input = &ListGraphsInput{}
   741  	}
   742  
   743  	output = &ListGraphsOutput{}
   744  	req = c.newRequest(op, input, output)
   745  	return
   746  }
   747  
   748  // ListGraphs API operation for Amazon Detective.
   749  //
   750  // Returns the list of behavior graphs that the calling account is an administrator
   751  // account of. This operation can only be called by an administrator account.
   752  //
   753  // Because an account can currently only be the administrator of one behavior
   754  // graph within a Region, the results always contain a single behavior graph.
   755  //
   756  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   757  // with awserr.Error's Code and Message methods to get detailed information about
   758  // the error.
   759  //
   760  // See the AWS API reference guide for Amazon Detective's
   761  // API operation ListGraphs for usage and error information.
   762  //
   763  // Returned Error Types:
   764  //   * InternalServerException
   765  //   The request was valid but failed because of a problem with the service.
   766  //
   767  //   * ValidationException
   768  //   The request parameters are invalid.
   769  //
   770  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListGraphs
   771  func (c *Detective) ListGraphs(input *ListGraphsInput) (*ListGraphsOutput, error) {
   772  	req, out := c.ListGraphsRequest(input)
   773  	return out, req.Send()
   774  }
   775  
   776  // ListGraphsWithContext is the same as ListGraphs with the addition of
   777  // the ability to pass a context and additional request options.
   778  //
   779  // See ListGraphs for details on how to use this API operation.
   780  //
   781  // The context must be non-nil and will be used for request cancellation. If
   782  // the context is nil a panic will occur. In the future the SDK may create
   783  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   784  // for more information on using Contexts.
   785  func (c *Detective) ListGraphsWithContext(ctx aws.Context, input *ListGraphsInput, opts ...request.Option) (*ListGraphsOutput, error) {
   786  	req, out := c.ListGraphsRequest(input)
   787  	req.SetContext(ctx)
   788  	req.ApplyOptions(opts...)
   789  	return out, req.Send()
   790  }
   791  
   792  // ListGraphsPages iterates over the pages of a ListGraphs operation,
   793  // calling the "fn" function with the response data for each page. To stop
   794  // iterating, return false from the fn function.
   795  //
   796  // See ListGraphs method for more information on how to use this operation.
   797  //
   798  // Note: This operation can generate multiple requests to a service.
   799  //
   800  //    // Example iterating over at most 3 pages of a ListGraphs operation.
   801  //    pageNum := 0
   802  //    err := client.ListGraphsPages(params,
   803  //        func(page *detective.ListGraphsOutput, lastPage bool) bool {
   804  //            pageNum++
   805  //            fmt.Println(page)
   806  //            return pageNum <= 3
   807  //        })
   808  //
   809  func (c *Detective) ListGraphsPages(input *ListGraphsInput, fn func(*ListGraphsOutput, bool) bool) error {
   810  	return c.ListGraphsPagesWithContext(aws.BackgroundContext(), input, fn)
   811  }
   812  
   813  // ListGraphsPagesWithContext same as ListGraphsPages except
   814  // it takes a Context and allows setting request options on the pages.
   815  //
   816  // The context must be non-nil and will be used for request cancellation. If
   817  // the context is nil a panic will occur. In the future the SDK may create
   818  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   819  // for more information on using Contexts.
   820  func (c *Detective) ListGraphsPagesWithContext(ctx aws.Context, input *ListGraphsInput, fn func(*ListGraphsOutput, bool) bool, opts ...request.Option) error {
   821  	p := request.Pagination{
   822  		NewRequest: func() (*request.Request, error) {
   823  			var inCpy *ListGraphsInput
   824  			if input != nil {
   825  				tmp := *input
   826  				inCpy = &tmp
   827  			}
   828  			req, _ := c.ListGraphsRequest(inCpy)
   829  			req.SetContext(ctx)
   830  			req.ApplyOptions(opts...)
   831  			return req, nil
   832  		},
   833  	}
   834  
   835  	for p.Next() {
   836  		if !fn(p.Page().(*ListGraphsOutput), !p.HasNextPage()) {
   837  			break
   838  		}
   839  	}
   840  
   841  	return p.Err()
   842  }
   843  
   844  const opListInvitations = "ListInvitations"
   845  
   846  // ListInvitationsRequest generates a "aws/request.Request" representing the
   847  // client's request for the ListInvitations operation. The "output" return
   848  // value will be populated with the request's response once the request completes
   849  // successfully.
   850  //
   851  // Use "Send" method on the returned Request to send the API call to the service.
   852  // the "output" return value is not valid until after Send returns without error.
   853  //
   854  // See ListInvitations for more information on using the ListInvitations
   855  // API call, and error handling.
   856  //
   857  // This method is useful when you want to inject custom logic or configuration
   858  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
   859  //
   860  //
   861  //    // Example sending a request using the ListInvitationsRequest method.
   862  //    req, resp := client.ListInvitationsRequest(params)
   863  //
   864  //    err := req.Send()
   865  //    if err == nil { // resp is now filled
   866  //        fmt.Println(resp)
   867  //    }
   868  //
   869  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListInvitations
   870  func (c *Detective) ListInvitationsRequest(input *ListInvitationsInput) (req *request.Request, output *ListInvitationsOutput) {
   871  	op := &request.Operation{
   872  		Name:       opListInvitations,
   873  		HTTPMethod: "POST",
   874  		HTTPPath:   "/invitations/list",
   875  		Paginator: &request.Paginator{
   876  			InputTokens:     []string{"NextToken"},
   877  			OutputTokens:    []string{"NextToken"},
   878  			LimitToken:      "MaxResults",
   879  			TruncationToken: "",
   880  		},
   881  	}
   882  
   883  	if input == nil {
   884  		input = &ListInvitationsInput{}
   885  	}
   886  
   887  	output = &ListInvitationsOutput{}
   888  	req = c.newRequest(op, input, output)
   889  	return
   890  }
   891  
   892  // ListInvitations API operation for Amazon Detective.
   893  //
   894  // Retrieves the list of open and accepted behavior graph invitations for the
   895  // member account. This operation can only be called by a member account.
   896  //
   897  // Open invitations are invitations that the member account has not responded
   898  // to.
   899  //
   900  // The results do not include behavior graphs for which the member account declined
   901  // the invitation. The results also do not include behavior graphs that the
   902  // member account resigned from or was removed from.
   903  //
   904  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
   905  // with awserr.Error's Code and Message methods to get detailed information about
   906  // the error.
   907  //
   908  // See the AWS API reference guide for Amazon Detective's
   909  // API operation ListInvitations for usage and error information.
   910  //
   911  // Returned Error Types:
   912  //   * InternalServerException
   913  //   The request was valid but failed because of a problem with the service.
   914  //
   915  //   * ValidationException
   916  //   The request parameters are invalid.
   917  //
   918  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListInvitations
   919  func (c *Detective) ListInvitations(input *ListInvitationsInput) (*ListInvitationsOutput, error) {
   920  	req, out := c.ListInvitationsRequest(input)
   921  	return out, req.Send()
   922  }
   923  
   924  // ListInvitationsWithContext is the same as ListInvitations with the addition of
   925  // the ability to pass a context and additional request options.
   926  //
   927  // See ListInvitations for details on how to use this API operation.
   928  //
   929  // The context must be non-nil and will be used for request cancellation. If
   930  // the context is nil a panic will occur. In the future the SDK may create
   931  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   932  // for more information on using Contexts.
   933  func (c *Detective) ListInvitationsWithContext(ctx aws.Context, input *ListInvitationsInput, opts ...request.Option) (*ListInvitationsOutput, error) {
   934  	req, out := c.ListInvitationsRequest(input)
   935  	req.SetContext(ctx)
   936  	req.ApplyOptions(opts...)
   937  	return out, req.Send()
   938  }
   939  
   940  // ListInvitationsPages iterates over the pages of a ListInvitations operation,
   941  // calling the "fn" function with the response data for each page. To stop
   942  // iterating, return false from the fn function.
   943  //
   944  // See ListInvitations method for more information on how to use this operation.
   945  //
   946  // Note: This operation can generate multiple requests to a service.
   947  //
   948  //    // Example iterating over at most 3 pages of a ListInvitations operation.
   949  //    pageNum := 0
   950  //    err := client.ListInvitationsPages(params,
   951  //        func(page *detective.ListInvitationsOutput, lastPage bool) bool {
   952  //            pageNum++
   953  //            fmt.Println(page)
   954  //            return pageNum <= 3
   955  //        })
   956  //
   957  func (c *Detective) ListInvitationsPages(input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool) error {
   958  	return c.ListInvitationsPagesWithContext(aws.BackgroundContext(), input, fn)
   959  }
   960  
   961  // ListInvitationsPagesWithContext same as ListInvitationsPages except
   962  // it takes a Context and allows setting request options on the pages.
   963  //
   964  // The context must be non-nil and will be used for request cancellation. If
   965  // the context is nil a panic will occur. In the future the SDK may create
   966  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
   967  // for more information on using Contexts.
   968  func (c *Detective) ListInvitationsPagesWithContext(ctx aws.Context, input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool, opts ...request.Option) error {
   969  	p := request.Pagination{
   970  		NewRequest: func() (*request.Request, error) {
   971  			var inCpy *ListInvitationsInput
   972  			if input != nil {
   973  				tmp := *input
   974  				inCpy = &tmp
   975  			}
   976  			req, _ := c.ListInvitationsRequest(inCpy)
   977  			req.SetContext(ctx)
   978  			req.ApplyOptions(opts...)
   979  			return req, nil
   980  		},
   981  	}
   982  
   983  	for p.Next() {
   984  		if !fn(p.Page().(*ListInvitationsOutput), !p.HasNextPage()) {
   985  			break
   986  		}
   987  	}
   988  
   989  	return p.Err()
   990  }
   991  
   992  const opListMembers = "ListMembers"
   993  
   994  // ListMembersRequest generates a "aws/request.Request" representing the
   995  // client's request for the ListMembers operation. The "output" return
   996  // value will be populated with the request's response once the request completes
   997  // successfully.
   998  //
   999  // Use "Send" method on the returned Request to send the API call to the service.
  1000  // the "output" return value is not valid until after Send returns without error.
  1001  //
  1002  // See ListMembers for more information on using the ListMembers
  1003  // API call, and error handling.
  1004  //
  1005  // This method is useful when you want to inject custom logic or configuration
  1006  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1007  //
  1008  //
  1009  //    // Example sending a request using the ListMembersRequest method.
  1010  //    req, resp := client.ListMembersRequest(params)
  1011  //
  1012  //    err := req.Send()
  1013  //    if err == nil { // resp is now filled
  1014  //        fmt.Println(resp)
  1015  //    }
  1016  //
  1017  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListMembers
  1018  func (c *Detective) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) {
  1019  	op := &request.Operation{
  1020  		Name:       opListMembers,
  1021  		HTTPMethod: "POST",
  1022  		HTTPPath:   "/graph/members/list",
  1023  		Paginator: &request.Paginator{
  1024  			InputTokens:     []string{"NextToken"},
  1025  			OutputTokens:    []string{"NextToken"},
  1026  			LimitToken:      "MaxResults",
  1027  			TruncationToken: "",
  1028  		},
  1029  	}
  1030  
  1031  	if input == nil {
  1032  		input = &ListMembersInput{}
  1033  	}
  1034  
  1035  	output = &ListMembersOutput{}
  1036  	req = c.newRequest(op, input, output)
  1037  	return
  1038  }
  1039  
  1040  // ListMembers API operation for Amazon Detective.
  1041  //
  1042  // Retrieves the list of member accounts for a behavior graph. Does not return
  1043  // member accounts that were removed from the behavior graph.
  1044  //
  1045  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1046  // with awserr.Error's Code and Message methods to get detailed information about
  1047  // the error.
  1048  //
  1049  // See the AWS API reference guide for Amazon Detective's
  1050  // API operation ListMembers for usage and error information.
  1051  //
  1052  // Returned Error Types:
  1053  //   * InternalServerException
  1054  //   The request was valid but failed because of a problem with the service.
  1055  //
  1056  //   * ResourceNotFoundException
  1057  //   The request refers to a nonexistent resource.
  1058  //
  1059  //   * ValidationException
  1060  //   The request parameters are invalid.
  1061  //
  1062  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListMembers
  1063  func (c *Detective) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) {
  1064  	req, out := c.ListMembersRequest(input)
  1065  	return out, req.Send()
  1066  }
  1067  
  1068  // ListMembersWithContext is the same as ListMembers with the addition of
  1069  // the ability to pass a context and additional request options.
  1070  //
  1071  // See ListMembers for details on how to use this API operation.
  1072  //
  1073  // The context must be non-nil and will be used for request cancellation. If
  1074  // the context is nil a panic will occur. In the future the SDK may create
  1075  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1076  // for more information on using Contexts.
  1077  func (c *Detective) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) {
  1078  	req, out := c.ListMembersRequest(input)
  1079  	req.SetContext(ctx)
  1080  	req.ApplyOptions(opts...)
  1081  	return out, req.Send()
  1082  }
  1083  
  1084  // ListMembersPages iterates over the pages of a ListMembers operation,
  1085  // calling the "fn" function with the response data for each page. To stop
  1086  // iterating, return false from the fn function.
  1087  //
  1088  // See ListMembers method for more information on how to use this operation.
  1089  //
  1090  // Note: This operation can generate multiple requests to a service.
  1091  //
  1092  //    // Example iterating over at most 3 pages of a ListMembers operation.
  1093  //    pageNum := 0
  1094  //    err := client.ListMembersPages(params,
  1095  //        func(page *detective.ListMembersOutput, lastPage bool) bool {
  1096  //            pageNum++
  1097  //            fmt.Println(page)
  1098  //            return pageNum <= 3
  1099  //        })
  1100  //
  1101  func (c *Detective) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error {
  1102  	return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn)
  1103  }
  1104  
  1105  // ListMembersPagesWithContext same as ListMembersPages except
  1106  // it takes a Context and allows setting request options on the pages.
  1107  //
  1108  // The context must be non-nil and will be used for request cancellation. If
  1109  // the context is nil a panic will occur. In the future the SDK may create
  1110  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1111  // for more information on using Contexts.
  1112  func (c *Detective) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error {
  1113  	p := request.Pagination{
  1114  		NewRequest: func() (*request.Request, error) {
  1115  			var inCpy *ListMembersInput
  1116  			if input != nil {
  1117  				tmp := *input
  1118  				inCpy = &tmp
  1119  			}
  1120  			req, _ := c.ListMembersRequest(inCpy)
  1121  			req.SetContext(ctx)
  1122  			req.ApplyOptions(opts...)
  1123  			return req, nil
  1124  		},
  1125  	}
  1126  
  1127  	for p.Next() {
  1128  		if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) {
  1129  			break
  1130  		}
  1131  	}
  1132  
  1133  	return p.Err()
  1134  }
  1135  
  1136  const opListTagsForResource = "ListTagsForResource"
  1137  
  1138  // ListTagsForResourceRequest generates a "aws/request.Request" representing the
  1139  // client's request for the ListTagsForResource operation. The "output" return
  1140  // value will be populated with the request's response once the request completes
  1141  // successfully.
  1142  //
  1143  // Use "Send" method on the returned Request to send the API call to the service.
  1144  // the "output" return value is not valid until after Send returns without error.
  1145  //
  1146  // See ListTagsForResource for more information on using the ListTagsForResource
  1147  // API call, and error handling.
  1148  //
  1149  // This method is useful when you want to inject custom logic or configuration
  1150  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1151  //
  1152  //
  1153  //    // Example sending a request using the ListTagsForResourceRequest method.
  1154  //    req, resp := client.ListTagsForResourceRequest(params)
  1155  //
  1156  //    err := req.Send()
  1157  //    if err == nil { // resp is now filled
  1158  //        fmt.Println(resp)
  1159  //    }
  1160  //
  1161  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListTagsForResource
  1162  func (c *Detective) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
  1163  	op := &request.Operation{
  1164  		Name:       opListTagsForResource,
  1165  		HTTPMethod: "GET",
  1166  		HTTPPath:   "/tags/{ResourceArn}",
  1167  	}
  1168  
  1169  	if input == nil {
  1170  		input = &ListTagsForResourceInput{}
  1171  	}
  1172  
  1173  	output = &ListTagsForResourceOutput{}
  1174  	req = c.newRequest(op, input, output)
  1175  	return
  1176  }
  1177  
  1178  // ListTagsForResource API operation for Amazon Detective.
  1179  //
  1180  // Returns the tag values that are assigned to a behavior graph.
  1181  //
  1182  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1183  // with awserr.Error's Code and Message methods to get detailed information about
  1184  // the error.
  1185  //
  1186  // See the AWS API reference guide for Amazon Detective's
  1187  // API operation ListTagsForResource for usage and error information.
  1188  //
  1189  // Returned Error Types:
  1190  //   * InternalServerException
  1191  //   The request was valid but failed because of a problem with the service.
  1192  //
  1193  //   * ValidationException
  1194  //   The request parameters are invalid.
  1195  //
  1196  //   * ResourceNotFoundException
  1197  //   The request refers to a nonexistent resource.
  1198  //
  1199  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListTagsForResource
  1200  func (c *Detective) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
  1201  	req, out := c.ListTagsForResourceRequest(input)
  1202  	return out, req.Send()
  1203  }
  1204  
  1205  // ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
  1206  // the ability to pass a context and additional request options.
  1207  //
  1208  // See ListTagsForResource for details on how to use this API operation.
  1209  //
  1210  // The context must be non-nil and will be used for request cancellation. If
  1211  // the context is nil a panic will occur. In the future the SDK may create
  1212  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1213  // for more information on using Contexts.
  1214  func (c *Detective) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
  1215  	req, out := c.ListTagsForResourceRequest(input)
  1216  	req.SetContext(ctx)
  1217  	req.ApplyOptions(opts...)
  1218  	return out, req.Send()
  1219  }
  1220  
  1221  const opRejectInvitation = "RejectInvitation"
  1222  
  1223  // RejectInvitationRequest generates a "aws/request.Request" representing the
  1224  // client's request for the RejectInvitation operation. The "output" return
  1225  // value will be populated with the request's response once the request completes
  1226  // successfully.
  1227  //
  1228  // Use "Send" method on the returned Request to send the API call to the service.
  1229  // the "output" return value is not valid until after Send returns without error.
  1230  //
  1231  // See RejectInvitation for more information on using the RejectInvitation
  1232  // API call, and error handling.
  1233  //
  1234  // This method is useful when you want to inject custom logic or configuration
  1235  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1236  //
  1237  //
  1238  //    // Example sending a request using the RejectInvitationRequest method.
  1239  //    req, resp := client.RejectInvitationRequest(params)
  1240  //
  1241  //    err := req.Send()
  1242  //    if err == nil { // resp is now filled
  1243  //        fmt.Println(resp)
  1244  //    }
  1245  //
  1246  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/RejectInvitation
  1247  func (c *Detective) RejectInvitationRequest(input *RejectInvitationInput) (req *request.Request, output *RejectInvitationOutput) {
  1248  	op := &request.Operation{
  1249  		Name:       opRejectInvitation,
  1250  		HTTPMethod: "POST",
  1251  		HTTPPath:   "/invitation/removal",
  1252  	}
  1253  
  1254  	if input == nil {
  1255  		input = &RejectInvitationInput{}
  1256  	}
  1257  
  1258  	output = &RejectInvitationOutput{}
  1259  	req = c.newRequest(op, input, output)
  1260  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1261  	return
  1262  }
  1263  
  1264  // RejectInvitation API operation for Amazon Detective.
  1265  //
  1266  // Rejects an invitation to contribute the account data to a behavior graph.
  1267  // This operation must be called by a member account that has the INVITED status.
  1268  //
  1269  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1270  // with awserr.Error's Code and Message methods to get detailed information about
  1271  // the error.
  1272  //
  1273  // See the AWS API reference guide for Amazon Detective's
  1274  // API operation RejectInvitation for usage and error information.
  1275  //
  1276  // Returned Error Types:
  1277  //   * ConflictException
  1278  //   The request attempted an invalid action.
  1279  //
  1280  //   * InternalServerException
  1281  //   The request was valid but failed because of a problem with the service.
  1282  //
  1283  //   * ResourceNotFoundException
  1284  //   The request refers to a nonexistent resource.
  1285  //
  1286  //   * ValidationException
  1287  //   The request parameters are invalid.
  1288  //
  1289  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/RejectInvitation
  1290  func (c *Detective) RejectInvitation(input *RejectInvitationInput) (*RejectInvitationOutput, error) {
  1291  	req, out := c.RejectInvitationRequest(input)
  1292  	return out, req.Send()
  1293  }
  1294  
  1295  // RejectInvitationWithContext is the same as RejectInvitation with the addition of
  1296  // the ability to pass a context and additional request options.
  1297  //
  1298  // See RejectInvitation for details on how to use this API operation.
  1299  //
  1300  // The context must be non-nil and will be used for request cancellation. If
  1301  // the context is nil a panic will occur. In the future the SDK may create
  1302  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1303  // for more information on using Contexts.
  1304  func (c *Detective) RejectInvitationWithContext(ctx aws.Context, input *RejectInvitationInput, opts ...request.Option) (*RejectInvitationOutput, error) {
  1305  	req, out := c.RejectInvitationRequest(input)
  1306  	req.SetContext(ctx)
  1307  	req.ApplyOptions(opts...)
  1308  	return out, req.Send()
  1309  }
  1310  
  1311  const opStartMonitoringMember = "StartMonitoringMember"
  1312  
  1313  // StartMonitoringMemberRequest generates a "aws/request.Request" representing the
  1314  // client's request for the StartMonitoringMember operation. The "output" return
  1315  // value will be populated with the request's response once the request completes
  1316  // successfully.
  1317  //
  1318  // Use "Send" method on the returned Request to send the API call to the service.
  1319  // the "output" return value is not valid until after Send returns without error.
  1320  //
  1321  // See StartMonitoringMember for more information on using the StartMonitoringMember
  1322  // API call, and error handling.
  1323  //
  1324  // This method is useful when you want to inject custom logic or configuration
  1325  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1326  //
  1327  //
  1328  //    // Example sending a request using the StartMonitoringMemberRequest method.
  1329  //    req, resp := client.StartMonitoringMemberRequest(params)
  1330  //
  1331  //    err := req.Send()
  1332  //    if err == nil { // resp is now filled
  1333  //        fmt.Println(resp)
  1334  //    }
  1335  //
  1336  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/StartMonitoringMember
  1337  func (c *Detective) StartMonitoringMemberRequest(input *StartMonitoringMemberInput) (req *request.Request, output *StartMonitoringMemberOutput) {
  1338  	op := &request.Operation{
  1339  		Name:       opStartMonitoringMember,
  1340  		HTTPMethod: "POST",
  1341  		HTTPPath:   "/graph/member/monitoringstate",
  1342  	}
  1343  
  1344  	if input == nil {
  1345  		input = &StartMonitoringMemberInput{}
  1346  	}
  1347  
  1348  	output = &StartMonitoringMemberOutput{}
  1349  	req = c.newRequest(op, input, output)
  1350  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1351  	return
  1352  }
  1353  
  1354  // StartMonitoringMember API operation for Amazon Detective.
  1355  //
  1356  // Sends a request to enable data ingest for a member account that has a status
  1357  // of ACCEPTED_BUT_DISABLED.
  1358  //
  1359  // For valid member accounts, the status is updated as follows.
  1360  //
  1361  //    * If Detective enabled the member account, then the new status is ENABLED.
  1362  //
  1363  //    * If Detective cannot enable the member account, the status remains ACCEPTED_BUT_DISABLED.
  1364  //
  1365  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1366  // with awserr.Error's Code and Message methods to get detailed information about
  1367  // the error.
  1368  //
  1369  // See the AWS API reference guide for Amazon Detective's
  1370  // API operation StartMonitoringMember for usage and error information.
  1371  //
  1372  // Returned Error Types:
  1373  //   * ConflictException
  1374  //   The request attempted an invalid action.
  1375  //
  1376  //   * InternalServerException
  1377  //   The request was valid but failed because of a problem with the service.
  1378  //
  1379  //   * ResourceNotFoundException
  1380  //   The request refers to a nonexistent resource.
  1381  //
  1382  //   * ServiceQuotaExceededException
  1383  //   This request cannot be completed for one of the following reasons.
  1384  //
  1385  //      * The request would cause the number of member accounts in the behavior
  1386  //      graph to exceed the maximum allowed. A behavior graph cannot have more
  1387  //      than 1000 member accounts.
  1388  //
  1389  //      * The request would cause the data rate for the behavior graph to exceed
  1390  //      the maximum allowed.
  1391  //
  1392  //      * Detective is unable to verify the data rate for the member account.
  1393  //      This is usually because the member account is not enrolled in Amazon GuardDuty.
  1394  //
  1395  //   * ValidationException
  1396  //   The request parameters are invalid.
  1397  //
  1398  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/StartMonitoringMember
  1399  func (c *Detective) StartMonitoringMember(input *StartMonitoringMemberInput) (*StartMonitoringMemberOutput, error) {
  1400  	req, out := c.StartMonitoringMemberRequest(input)
  1401  	return out, req.Send()
  1402  }
  1403  
  1404  // StartMonitoringMemberWithContext is the same as StartMonitoringMember with the addition of
  1405  // the ability to pass a context and additional request options.
  1406  //
  1407  // See StartMonitoringMember for details on how to use this API operation.
  1408  //
  1409  // The context must be non-nil and will be used for request cancellation. If
  1410  // the context is nil a panic will occur. In the future the SDK may create
  1411  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1412  // for more information on using Contexts.
  1413  func (c *Detective) StartMonitoringMemberWithContext(ctx aws.Context, input *StartMonitoringMemberInput, opts ...request.Option) (*StartMonitoringMemberOutput, error) {
  1414  	req, out := c.StartMonitoringMemberRequest(input)
  1415  	req.SetContext(ctx)
  1416  	req.ApplyOptions(opts...)
  1417  	return out, req.Send()
  1418  }
  1419  
  1420  const opTagResource = "TagResource"
  1421  
  1422  // TagResourceRequest generates a "aws/request.Request" representing the
  1423  // client's request for the TagResource operation. The "output" return
  1424  // value will be populated with the request's response once the request completes
  1425  // successfully.
  1426  //
  1427  // Use "Send" method on the returned Request to send the API call to the service.
  1428  // the "output" return value is not valid until after Send returns without error.
  1429  //
  1430  // See TagResource for more information on using the TagResource
  1431  // API call, and error handling.
  1432  //
  1433  // This method is useful when you want to inject custom logic or configuration
  1434  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1435  //
  1436  //
  1437  //    // Example sending a request using the TagResourceRequest method.
  1438  //    req, resp := client.TagResourceRequest(params)
  1439  //
  1440  //    err := req.Send()
  1441  //    if err == nil { // resp is now filled
  1442  //        fmt.Println(resp)
  1443  //    }
  1444  //
  1445  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/TagResource
  1446  func (c *Detective) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
  1447  	op := &request.Operation{
  1448  		Name:       opTagResource,
  1449  		HTTPMethod: "POST",
  1450  		HTTPPath:   "/tags/{ResourceArn}",
  1451  	}
  1452  
  1453  	if input == nil {
  1454  		input = &TagResourceInput{}
  1455  	}
  1456  
  1457  	output = &TagResourceOutput{}
  1458  	req = c.newRequest(op, input, output)
  1459  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1460  	return
  1461  }
  1462  
  1463  // TagResource API operation for Amazon Detective.
  1464  //
  1465  // Applies tag values to a behavior graph.
  1466  //
  1467  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1468  // with awserr.Error's Code and Message methods to get detailed information about
  1469  // the error.
  1470  //
  1471  // See the AWS API reference guide for Amazon Detective's
  1472  // API operation TagResource for usage and error information.
  1473  //
  1474  // Returned Error Types:
  1475  //   * InternalServerException
  1476  //   The request was valid but failed because of a problem with the service.
  1477  //
  1478  //   * ValidationException
  1479  //   The request parameters are invalid.
  1480  //
  1481  //   * ResourceNotFoundException
  1482  //   The request refers to a nonexistent resource.
  1483  //
  1484  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/TagResource
  1485  func (c *Detective) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
  1486  	req, out := c.TagResourceRequest(input)
  1487  	return out, req.Send()
  1488  }
  1489  
  1490  // TagResourceWithContext is the same as TagResource with the addition of
  1491  // the ability to pass a context and additional request options.
  1492  //
  1493  // See TagResource for details on how to use this API operation.
  1494  //
  1495  // The context must be non-nil and will be used for request cancellation. If
  1496  // the context is nil a panic will occur. In the future the SDK may create
  1497  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1498  // for more information on using Contexts.
  1499  func (c *Detective) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
  1500  	req, out := c.TagResourceRequest(input)
  1501  	req.SetContext(ctx)
  1502  	req.ApplyOptions(opts...)
  1503  	return out, req.Send()
  1504  }
  1505  
  1506  const opUntagResource = "UntagResource"
  1507  
  1508  // UntagResourceRequest generates a "aws/request.Request" representing the
  1509  // client's request for the UntagResource operation. The "output" return
  1510  // value will be populated with the request's response once the request completes
  1511  // successfully.
  1512  //
  1513  // Use "Send" method on the returned Request to send the API call to the service.
  1514  // the "output" return value is not valid until after Send returns without error.
  1515  //
  1516  // See UntagResource for more information on using the UntagResource
  1517  // API call, and error handling.
  1518  //
  1519  // This method is useful when you want to inject custom logic or configuration
  1520  // into the SDK's request lifecycle. Such as custom headers, or retry logic.
  1521  //
  1522  //
  1523  //    // Example sending a request using the UntagResourceRequest method.
  1524  //    req, resp := client.UntagResourceRequest(params)
  1525  //
  1526  //    err := req.Send()
  1527  //    if err == nil { // resp is now filled
  1528  //        fmt.Println(resp)
  1529  //    }
  1530  //
  1531  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/UntagResource
  1532  func (c *Detective) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
  1533  	op := &request.Operation{
  1534  		Name:       opUntagResource,
  1535  		HTTPMethod: "DELETE",
  1536  		HTTPPath:   "/tags/{ResourceArn}",
  1537  	}
  1538  
  1539  	if input == nil {
  1540  		input = &UntagResourceInput{}
  1541  	}
  1542  
  1543  	output = &UntagResourceOutput{}
  1544  	req = c.newRequest(op, input, output)
  1545  	req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
  1546  	return
  1547  }
  1548  
  1549  // UntagResource API operation for Amazon Detective.
  1550  //
  1551  // Removes tags from a behavior graph.
  1552  //
  1553  // Returns awserr.Error for service API and SDK errors. Use runtime type assertions
  1554  // with awserr.Error's Code and Message methods to get detailed information about
  1555  // the error.
  1556  //
  1557  // See the AWS API reference guide for Amazon Detective's
  1558  // API operation UntagResource for usage and error information.
  1559  //
  1560  // Returned Error Types:
  1561  //   * InternalServerException
  1562  //   The request was valid but failed because of a problem with the service.
  1563  //
  1564  //   * ValidationException
  1565  //   The request parameters are invalid.
  1566  //
  1567  //   * ResourceNotFoundException
  1568  //   The request refers to a nonexistent resource.
  1569  //
  1570  // See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/UntagResource
  1571  func (c *Detective) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
  1572  	req, out := c.UntagResourceRequest(input)
  1573  	return out, req.Send()
  1574  }
  1575  
  1576  // UntagResourceWithContext is the same as UntagResource with the addition of
  1577  // the ability to pass a context and additional request options.
  1578  //
  1579  // See UntagResource for details on how to use this API operation.
  1580  //
  1581  // The context must be non-nil and will be used for request cancellation. If
  1582  // the context is nil a panic will occur. In the future the SDK may create
  1583  // sub-contexts for http.Requests. See https://golang.org/pkg/context/
  1584  // for more information on using Contexts.
  1585  func (c *Detective) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
  1586  	req, out := c.UntagResourceRequest(input)
  1587  	req.SetContext(ctx)
  1588  	req.ApplyOptions(opts...)
  1589  	return out, req.Send()
  1590  }
  1591  
  1592  type AcceptInvitationInput struct {
  1593  	_ struct{} `type:"structure"`
  1594  
  1595  	// The ARN of the behavior graph that the member account is accepting the invitation
  1596  	// for.
  1597  	//
  1598  	// The member account status in the behavior graph must be INVITED.
  1599  	//
  1600  	// GraphArn is a required field
  1601  	GraphArn *string `type:"string" required:"true"`
  1602  }
  1603  
  1604  // String returns the string representation.
  1605  //
  1606  // API parameter values that are decorated as "sensitive" in the API will not
  1607  // be included in the string output. The member name will be present, but the
  1608  // value will be replaced with "sensitive".
  1609  func (s AcceptInvitationInput) String() string {
  1610  	return awsutil.Prettify(s)
  1611  }
  1612  
  1613  // GoString returns the string representation.
  1614  //
  1615  // API parameter values that are decorated as "sensitive" in the API will not
  1616  // be included in the string output. The member name will be present, but the
  1617  // value will be replaced with "sensitive".
  1618  func (s AcceptInvitationInput) GoString() string {
  1619  	return s.String()
  1620  }
  1621  
  1622  // Validate inspects the fields of the type to determine if they are valid.
  1623  func (s *AcceptInvitationInput) Validate() error {
  1624  	invalidParams := request.ErrInvalidParams{Context: "AcceptInvitationInput"}
  1625  	if s.GraphArn == nil {
  1626  		invalidParams.Add(request.NewErrParamRequired("GraphArn"))
  1627  	}
  1628  
  1629  	if invalidParams.Len() > 0 {
  1630  		return invalidParams
  1631  	}
  1632  	return nil
  1633  }
  1634  
  1635  // SetGraphArn sets the GraphArn field's value.
  1636  func (s *AcceptInvitationInput) SetGraphArn(v string) *AcceptInvitationInput {
  1637  	s.GraphArn = &v
  1638  	return s
  1639  }
  1640  
  1641  type AcceptInvitationOutput struct {
  1642  	_ struct{} `type:"structure" nopayload:"true"`
  1643  }
  1644  
  1645  // String returns the string representation.
  1646  //
  1647  // API parameter values that are decorated as "sensitive" in the API will not
  1648  // be included in the string output. The member name will be present, but the
  1649  // value will be replaced with "sensitive".
  1650  func (s AcceptInvitationOutput) String() string {
  1651  	return awsutil.Prettify(s)
  1652  }
  1653  
  1654  // GoString returns the string representation.
  1655  //
  1656  // API parameter values that are decorated as "sensitive" in the API will not
  1657  // be included in the string output. The member name will be present, but the
  1658  // value will be replaced with "sensitive".
  1659  func (s AcceptInvitationOutput) GoString() string {
  1660  	return s.String()
  1661  }
  1662  
  1663  // An AWS account that is the administrator account of or a member of a behavior
  1664  // graph.
  1665  type Account struct {
  1666  	_ struct{} `type:"structure"`
  1667  
  1668  	// The account identifier of the AWS account.
  1669  	//
  1670  	// AccountId is a required field
  1671  	AccountId *string `min:"12" type:"string" required:"true"`
  1672  
  1673  	// The AWS account root user email address for the AWS account.
  1674  	//
  1675  	// EmailAddress is a required field
  1676  	EmailAddress *string `min:"1" type:"string" required:"true"`
  1677  }
  1678  
  1679  // String returns the string representation.
  1680  //
  1681  // API parameter values that are decorated as "sensitive" in the API will not
  1682  // be included in the string output. The member name will be present, but the
  1683  // value will be replaced with "sensitive".
  1684  func (s Account) String() string {
  1685  	return awsutil.Prettify(s)
  1686  }
  1687  
  1688  // GoString returns the string representation.
  1689  //
  1690  // API parameter values that are decorated as "sensitive" in the API will not
  1691  // be included in the string output. The member name will be present, but the
  1692  // value will be replaced with "sensitive".
  1693  func (s Account) GoString() string {
  1694  	return s.String()
  1695  }
  1696  
  1697  // Validate inspects the fields of the type to determine if they are valid.
  1698  func (s *Account) Validate() error {
  1699  	invalidParams := request.ErrInvalidParams{Context: "Account"}
  1700  	if s.AccountId == nil {
  1701  		invalidParams.Add(request.NewErrParamRequired("AccountId"))
  1702  	}
  1703  	if s.AccountId != nil && len(*s.AccountId) < 12 {
  1704  		invalidParams.Add(request.NewErrParamMinLen("AccountId", 12))
  1705  	}
  1706  	if s.EmailAddress == nil {
  1707  		invalidParams.Add(request.NewErrParamRequired("EmailAddress"))
  1708  	}
  1709  	if s.EmailAddress != nil && len(*s.EmailAddress) < 1 {
  1710  		invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1))
  1711  	}
  1712  
  1713  	if invalidParams.Len() > 0 {
  1714  		return invalidParams
  1715  	}
  1716  	return nil
  1717  }
  1718  
  1719  // SetAccountId sets the AccountId field's value.
  1720  func (s *Account) SetAccountId(v string) *Account {
  1721  	s.AccountId = &v
  1722  	return s
  1723  }
  1724  
  1725  // SetEmailAddress sets the EmailAddress field's value.
  1726  func (s *Account) SetEmailAddress(v string) *Account {
  1727  	s.EmailAddress = &v
  1728  	return s
  1729  }
  1730  
  1731  // The request attempted an invalid action.
  1732  type ConflictException struct {
  1733  	_            struct{}                  `type:"structure"`
  1734  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  1735  
  1736  	Message_ *string `locationName:"Message" type:"string"`
  1737  }
  1738  
  1739  // String returns the string representation.
  1740  //
  1741  // API parameter values that are decorated as "sensitive" in the API will not
  1742  // be included in the string output. The member name will be present, but the
  1743  // value will be replaced with "sensitive".
  1744  func (s ConflictException) String() string {
  1745  	return awsutil.Prettify(s)
  1746  }
  1747  
  1748  // GoString returns the string representation.
  1749  //
  1750  // API parameter values that are decorated as "sensitive" in the API will not
  1751  // be included in the string output. The member name will be present, but the
  1752  // value will be replaced with "sensitive".
  1753  func (s ConflictException) GoString() string {
  1754  	return s.String()
  1755  }
  1756  
  1757  func newErrorConflictException(v protocol.ResponseMetadata) error {
  1758  	return &ConflictException{
  1759  		RespMetadata: v,
  1760  	}
  1761  }
  1762  
  1763  // Code returns the exception type name.
  1764  func (s *ConflictException) Code() string {
  1765  	return "ConflictException"
  1766  }
  1767  
  1768  // Message returns the exception's message.
  1769  func (s *ConflictException) Message() string {
  1770  	if s.Message_ != nil {
  1771  		return *s.Message_
  1772  	}
  1773  	return ""
  1774  }
  1775  
  1776  // OrigErr always returns nil, satisfies awserr.Error interface.
  1777  func (s *ConflictException) OrigErr() error {
  1778  	return nil
  1779  }
  1780  
  1781  func (s *ConflictException) Error() string {
  1782  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  1783  }
  1784  
  1785  // Status code returns the HTTP status code for the request's response error.
  1786  func (s *ConflictException) StatusCode() int {
  1787  	return s.RespMetadata.StatusCode
  1788  }
  1789  
  1790  // RequestID returns the service's response RequestID for request.
  1791  func (s *ConflictException) RequestID() string {
  1792  	return s.RespMetadata.RequestID
  1793  }
  1794  
  1795  type CreateGraphInput struct {
  1796  	_ struct{} `type:"structure"`
  1797  
  1798  	// The tags to assign to the new behavior graph. You can add up to 50 tags.
  1799  	// For each tag, you provide the tag key and the tag value. Each tag key can
  1800  	// contain up to 128 characters. Each tag value can contain up to 256 characters.
  1801  	Tags map[string]*string `min:"1" type:"map"`
  1802  }
  1803  
  1804  // String returns the string representation.
  1805  //
  1806  // API parameter values that are decorated as "sensitive" in the API will not
  1807  // be included in the string output. The member name will be present, but the
  1808  // value will be replaced with "sensitive".
  1809  func (s CreateGraphInput) String() string {
  1810  	return awsutil.Prettify(s)
  1811  }
  1812  
  1813  // GoString returns the string representation.
  1814  //
  1815  // API parameter values that are decorated as "sensitive" in the API will not
  1816  // be included in the string output. The member name will be present, but the
  1817  // value will be replaced with "sensitive".
  1818  func (s CreateGraphInput) GoString() string {
  1819  	return s.String()
  1820  }
  1821  
  1822  // Validate inspects the fields of the type to determine if they are valid.
  1823  func (s *CreateGraphInput) Validate() error {
  1824  	invalidParams := request.ErrInvalidParams{Context: "CreateGraphInput"}
  1825  	if s.Tags != nil && len(s.Tags) < 1 {
  1826  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  1827  	}
  1828  
  1829  	if invalidParams.Len() > 0 {
  1830  		return invalidParams
  1831  	}
  1832  	return nil
  1833  }
  1834  
  1835  // SetTags sets the Tags field's value.
  1836  func (s *CreateGraphInput) SetTags(v map[string]*string) *CreateGraphInput {
  1837  	s.Tags = v
  1838  	return s
  1839  }
  1840  
  1841  type CreateGraphOutput struct {
  1842  	_ struct{} `type:"structure"`
  1843  
  1844  	// The ARN of the new behavior graph.
  1845  	GraphArn *string `type:"string"`
  1846  }
  1847  
  1848  // String returns the string representation.
  1849  //
  1850  // API parameter values that are decorated as "sensitive" in the API will not
  1851  // be included in the string output. The member name will be present, but the
  1852  // value will be replaced with "sensitive".
  1853  func (s CreateGraphOutput) String() string {
  1854  	return awsutil.Prettify(s)
  1855  }
  1856  
  1857  // GoString returns the string representation.
  1858  //
  1859  // API parameter values that are decorated as "sensitive" in the API will not
  1860  // be included in the string output. The member name will be present, but the
  1861  // value will be replaced with "sensitive".
  1862  func (s CreateGraphOutput) GoString() string {
  1863  	return s.String()
  1864  }
  1865  
  1866  // SetGraphArn sets the GraphArn field's value.
  1867  func (s *CreateGraphOutput) SetGraphArn(v string) *CreateGraphOutput {
  1868  	s.GraphArn = &v
  1869  	return s
  1870  }
  1871  
  1872  type CreateMembersInput struct {
  1873  	_ struct{} `type:"structure"`
  1874  
  1875  	// The list of AWS accounts to invite to become member accounts in the behavior
  1876  	// graph. You can invite up to 50 accounts at a time. For each invited account,
  1877  	// the account list contains the account identifier and the AWS account root
  1878  	// user email address.
  1879  	//
  1880  	// Accounts is a required field
  1881  	Accounts []*Account `min:"1" type:"list" required:"true"`
  1882  
  1883  	// if set to true, then the member accounts do not receive email notifications.
  1884  	// By default, this is set to false, and the member accounts receive email notifications.
  1885  	DisableEmailNotification *bool `type:"boolean"`
  1886  
  1887  	// The ARN of the behavior graph to invite the member accounts to contribute
  1888  	// their data to.
  1889  	//
  1890  	// GraphArn is a required field
  1891  	GraphArn *string `type:"string" required:"true"`
  1892  
  1893  	// Customized message text to include in the invitation email message to the
  1894  	// invited member accounts.
  1895  	Message *string `min:"1" type:"string"`
  1896  }
  1897  
  1898  // String returns the string representation.
  1899  //
  1900  // API parameter values that are decorated as "sensitive" in the API will not
  1901  // be included in the string output. The member name will be present, but the
  1902  // value will be replaced with "sensitive".
  1903  func (s CreateMembersInput) String() string {
  1904  	return awsutil.Prettify(s)
  1905  }
  1906  
  1907  // GoString returns the string representation.
  1908  //
  1909  // API parameter values that are decorated as "sensitive" in the API will not
  1910  // be included in the string output. The member name will be present, but the
  1911  // value will be replaced with "sensitive".
  1912  func (s CreateMembersInput) GoString() string {
  1913  	return s.String()
  1914  }
  1915  
  1916  // Validate inspects the fields of the type to determine if they are valid.
  1917  func (s *CreateMembersInput) Validate() error {
  1918  	invalidParams := request.ErrInvalidParams{Context: "CreateMembersInput"}
  1919  	if s.Accounts == nil {
  1920  		invalidParams.Add(request.NewErrParamRequired("Accounts"))
  1921  	}
  1922  	if s.Accounts != nil && len(s.Accounts) < 1 {
  1923  		invalidParams.Add(request.NewErrParamMinLen("Accounts", 1))
  1924  	}
  1925  	if s.GraphArn == nil {
  1926  		invalidParams.Add(request.NewErrParamRequired("GraphArn"))
  1927  	}
  1928  	if s.Message != nil && len(*s.Message) < 1 {
  1929  		invalidParams.Add(request.NewErrParamMinLen("Message", 1))
  1930  	}
  1931  	if s.Accounts != nil {
  1932  		for i, v := range s.Accounts {
  1933  			if v == nil {
  1934  				continue
  1935  			}
  1936  			if err := v.Validate(); err != nil {
  1937  				invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Accounts", i), err.(request.ErrInvalidParams))
  1938  			}
  1939  		}
  1940  	}
  1941  
  1942  	if invalidParams.Len() > 0 {
  1943  		return invalidParams
  1944  	}
  1945  	return nil
  1946  }
  1947  
  1948  // SetAccounts sets the Accounts field's value.
  1949  func (s *CreateMembersInput) SetAccounts(v []*Account) *CreateMembersInput {
  1950  	s.Accounts = v
  1951  	return s
  1952  }
  1953  
  1954  // SetDisableEmailNotification sets the DisableEmailNotification field's value.
  1955  func (s *CreateMembersInput) SetDisableEmailNotification(v bool) *CreateMembersInput {
  1956  	s.DisableEmailNotification = &v
  1957  	return s
  1958  }
  1959  
  1960  // SetGraphArn sets the GraphArn field's value.
  1961  func (s *CreateMembersInput) SetGraphArn(v string) *CreateMembersInput {
  1962  	s.GraphArn = &v
  1963  	return s
  1964  }
  1965  
  1966  // SetMessage sets the Message field's value.
  1967  func (s *CreateMembersInput) SetMessage(v string) *CreateMembersInput {
  1968  	s.Message = &v
  1969  	return s
  1970  }
  1971  
  1972  type CreateMembersOutput struct {
  1973  	_ struct{} `type:"structure"`
  1974  
  1975  	// The set of member account invitation requests that Detective was able to
  1976  	// process. This includes accounts that are being verified, that failed verification,
  1977  	// and that passed verification and are being sent an invitation.
  1978  	Members []*MemberDetail `type:"list"`
  1979  
  1980  	// The list of accounts for which Detective was unable to process the invitation
  1981  	// request. For each account, the list provides the reason why the request could
  1982  	// not be processed. The list includes accounts that are already member accounts
  1983  	// in the behavior graph.
  1984  	UnprocessedAccounts []*UnprocessedAccount `type:"list"`
  1985  }
  1986  
  1987  // String returns the string representation.
  1988  //
  1989  // API parameter values that are decorated as "sensitive" in the API will not
  1990  // be included in the string output. The member name will be present, but the
  1991  // value will be replaced with "sensitive".
  1992  func (s CreateMembersOutput) String() string {
  1993  	return awsutil.Prettify(s)
  1994  }
  1995  
  1996  // GoString returns the string representation.
  1997  //
  1998  // API parameter values that are decorated as "sensitive" in the API will not
  1999  // be included in the string output. The member name will be present, but the
  2000  // value will be replaced with "sensitive".
  2001  func (s CreateMembersOutput) GoString() string {
  2002  	return s.String()
  2003  }
  2004  
  2005  // SetMembers sets the Members field's value.
  2006  func (s *CreateMembersOutput) SetMembers(v []*MemberDetail) *CreateMembersOutput {
  2007  	s.Members = v
  2008  	return s
  2009  }
  2010  
  2011  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
  2012  func (s *CreateMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *CreateMembersOutput {
  2013  	s.UnprocessedAccounts = v
  2014  	return s
  2015  }
  2016  
  2017  type DeleteGraphInput struct {
  2018  	_ struct{} `type:"structure"`
  2019  
  2020  	// The ARN of the behavior graph to disable.
  2021  	//
  2022  	// GraphArn is a required field
  2023  	GraphArn *string `type:"string" required:"true"`
  2024  }
  2025  
  2026  // String returns the string representation.
  2027  //
  2028  // API parameter values that are decorated as "sensitive" in the API will not
  2029  // be included in the string output. The member name will be present, but the
  2030  // value will be replaced with "sensitive".
  2031  func (s DeleteGraphInput) String() string {
  2032  	return awsutil.Prettify(s)
  2033  }
  2034  
  2035  // GoString returns the string representation.
  2036  //
  2037  // API parameter values that are decorated as "sensitive" in the API will not
  2038  // be included in the string output. The member name will be present, but the
  2039  // value will be replaced with "sensitive".
  2040  func (s DeleteGraphInput) GoString() string {
  2041  	return s.String()
  2042  }
  2043  
  2044  // Validate inspects the fields of the type to determine if they are valid.
  2045  func (s *DeleteGraphInput) Validate() error {
  2046  	invalidParams := request.ErrInvalidParams{Context: "DeleteGraphInput"}
  2047  	if s.GraphArn == nil {
  2048  		invalidParams.Add(request.NewErrParamRequired("GraphArn"))
  2049  	}
  2050  
  2051  	if invalidParams.Len() > 0 {
  2052  		return invalidParams
  2053  	}
  2054  	return nil
  2055  }
  2056  
  2057  // SetGraphArn sets the GraphArn field's value.
  2058  func (s *DeleteGraphInput) SetGraphArn(v string) *DeleteGraphInput {
  2059  	s.GraphArn = &v
  2060  	return s
  2061  }
  2062  
  2063  type DeleteGraphOutput struct {
  2064  	_ struct{} `type:"structure" nopayload:"true"`
  2065  }
  2066  
  2067  // String returns the string representation.
  2068  //
  2069  // API parameter values that are decorated as "sensitive" in the API will not
  2070  // be included in the string output. The member name will be present, but the
  2071  // value will be replaced with "sensitive".
  2072  func (s DeleteGraphOutput) String() string {
  2073  	return awsutil.Prettify(s)
  2074  }
  2075  
  2076  // GoString returns the string representation.
  2077  //
  2078  // API parameter values that are decorated as "sensitive" in the API will not
  2079  // be included in the string output. The member name will be present, but the
  2080  // value will be replaced with "sensitive".
  2081  func (s DeleteGraphOutput) GoString() string {
  2082  	return s.String()
  2083  }
  2084  
  2085  type DeleteMembersInput struct {
  2086  	_ struct{} `type:"structure"`
  2087  
  2088  	// The list of AWS account identifiers for the member accounts to delete from
  2089  	// the behavior graph. You can delete up to 50 member accounts at a time.
  2090  	//
  2091  	// AccountIds is a required field
  2092  	AccountIds []*string `min:"1" type:"list" required:"true"`
  2093  
  2094  	// The ARN of the behavior graph to delete members from.
  2095  	//
  2096  	// GraphArn is a required field
  2097  	GraphArn *string `type:"string" required:"true"`
  2098  }
  2099  
  2100  // String returns the string representation.
  2101  //
  2102  // API parameter values that are decorated as "sensitive" in the API will not
  2103  // be included in the string output. The member name will be present, but the
  2104  // value will be replaced with "sensitive".
  2105  func (s DeleteMembersInput) String() string {
  2106  	return awsutil.Prettify(s)
  2107  }
  2108  
  2109  // GoString returns the string representation.
  2110  //
  2111  // API parameter values that are decorated as "sensitive" in the API will not
  2112  // be included in the string output. The member name will be present, but the
  2113  // value will be replaced with "sensitive".
  2114  func (s DeleteMembersInput) GoString() string {
  2115  	return s.String()
  2116  }
  2117  
  2118  // Validate inspects the fields of the type to determine if they are valid.
  2119  func (s *DeleteMembersInput) Validate() error {
  2120  	invalidParams := request.ErrInvalidParams{Context: "DeleteMembersInput"}
  2121  	if s.AccountIds == nil {
  2122  		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
  2123  	}
  2124  	if s.AccountIds != nil && len(s.AccountIds) < 1 {
  2125  		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
  2126  	}
  2127  	if s.GraphArn == nil {
  2128  		invalidParams.Add(request.NewErrParamRequired("GraphArn"))
  2129  	}
  2130  
  2131  	if invalidParams.Len() > 0 {
  2132  		return invalidParams
  2133  	}
  2134  	return nil
  2135  }
  2136  
  2137  // SetAccountIds sets the AccountIds field's value.
  2138  func (s *DeleteMembersInput) SetAccountIds(v []*string) *DeleteMembersInput {
  2139  	s.AccountIds = v
  2140  	return s
  2141  }
  2142  
  2143  // SetGraphArn sets the GraphArn field's value.
  2144  func (s *DeleteMembersInput) SetGraphArn(v string) *DeleteMembersInput {
  2145  	s.GraphArn = &v
  2146  	return s
  2147  }
  2148  
  2149  type DeleteMembersOutput struct {
  2150  	_ struct{} `type:"structure"`
  2151  
  2152  	// The list of AWS account identifiers for the member accounts that Detective
  2153  	// successfully deleted from the behavior graph.
  2154  	AccountIds []*string `min:"1" type:"list"`
  2155  
  2156  	// The list of member accounts that Detective was not able to delete from the
  2157  	// behavior graph. For each member account, provides the reason that the deletion
  2158  	// could not be processed.
  2159  	UnprocessedAccounts []*UnprocessedAccount `type:"list"`
  2160  }
  2161  
  2162  // String returns the string representation.
  2163  //
  2164  // API parameter values that are decorated as "sensitive" in the API will not
  2165  // be included in the string output. The member name will be present, but the
  2166  // value will be replaced with "sensitive".
  2167  func (s DeleteMembersOutput) String() string {
  2168  	return awsutil.Prettify(s)
  2169  }
  2170  
  2171  // GoString returns the string representation.
  2172  //
  2173  // API parameter values that are decorated as "sensitive" in the API will not
  2174  // be included in the string output. The member name will be present, but the
  2175  // value will be replaced with "sensitive".
  2176  func (s DeleteMembersOutput) GoString() string {
  2177  	return s.String()
  2178  }
  2179  
  2180  // SetAccountIds sets the AccountIds field's value.
  2181  func (s *DeleteMembersOutput) SetAccountIds(v []*string) *DeleteMembersOutput {
  2182  	s.AccountIds = v
  2183  	return s
  2184  }
  2185  
  2186  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
  2187  func (s *DeleteMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DeleteMembersOutput {
  2188  	s.UnprocessedAccounts = v
  2189  	return s
  2190  }
  2191  
  2192  type DisassociateMembershipInput struct {
  2193  	_ struct{} `type:"structure"`
  2194  
  2195  	// The ARN of the behavior graph to remove the member account from.
  2196  	//
  2197  	// The member account's member status in the behavior graph must be ENABLED.
  2198  	//
  2199  	// GraphArn is a required field
  2200  	GraphArn *string `type:"string" required:"true"`
  2201  }
  2202  
  2203  // String returns the string representation.
  2204  //
  2205  // API parameter values that are decorated as "sensitive" in the API will not
  2206  // be included in the string output. The member name will be present, but the
  2207  // value will be replaced with "sensitive".
  2208  func (s DisassociateMembershipInput) String() string {
  2209  	return awsutil.Prettify(s)
  2210  }
  2211  
  2212  // GoString returns the string representation.
  2213  //
  2214  // API parameter values that are decorated as "sensitive" in the API will not
  2215  // be included in the string output. The member name will be present, but the
  2216  // value will be replaced with "sensitive".
  2217  func (s DisassociateMembershipInput) GoString() string {
  2218  	return s.String()
  2219  }
  2220  
  2221  // Validate inspects the fields of the type to determine if they are valid.
  2222  func (s *DisassociateMembershipInput) Validate() error {
  2223  	invalidParams := request.ErrInvalidParams{Context: "DisassociateMembershipInput"}
  2224  	if s.GraphArn == nil {
  2225  		invalidParams.Add(request.NewErrParamRequired("GraphArn"))
  2226  	}
  2227  
  2228  	if invalidParams.Len() > 0 {
  2229  		return invalidParams
  2230  	}
  2231  	return nil
  2232  }
  2233  
  2234  // SetGraphArn sets the GraphArn field's value.
  2235  func (s *DisassociateMembershipInput) SetGraphArn(v string) *DisassociateMembershipInput {
  2236  	s.GraphArn = &v
  2237  	return s
  2238  }
  2239  
  2240  type DisassociateMembershipOutput struct {
  2241  	_ struct{} `type:"structure" nopayload:"true"`
  2242  }
  2243  
  2244  // String returns the string representation.
  2245  //
  2246  // API parameter values that are decorated as "sensitive" in the API will not
  2247  // be included in the string output. The member name will be present, but the
  2248  // value will be replaced with "sensitive".
  2249  func (s DisassociateMembershipOutput) String() string {
  2250  	return awsutil.Prettify(s)
  2251  }
  2252  
  2253  // GoString returns the string representation.
  2254  //
  2255  // API parameter values that are decorated as "sensitive" in the API will not
  2256  // be included in the string output. The member name will be present, but the
  2257  // value will be replaced with "sensitive".
  2258  func (s DisassociateMembershipOutput) GoString() string {
  2259  	return s.String()
  2260  }
  2261  
  2262  type GetMembersInput struct {
  2263  	_ struct{} `type:"structure"`
  2264  
  2265  	// The list of AWS account identifiers for the member account for which to return
  2266  	// member details. You can request details for up to 50 member accounts at a
  2267  	// time.
  2268  	//
  2269  	// You cannot use GetMembers to retrieve information about member accounts that
  2270  	// were removed from the behavior graph.
  2271  	//
  2272  	// AccountIds is a required field
  2273  	AccountIds []*string `min:"1" type:"list" required:"true"`
  2274  
  2275  	// The ARN of the behavior graph for which to request the member details.
  2276  	//
  2277  	// GraphArn is a required field
  2278  	GraphArn *string `type:"string" required:"true"`
  2279  }
  2280  
  2281  // String returns the string representation.
  2282  //
  2283  // API parameter values that are decorated as "sensitive" in the API will not
  2284  // be included in the string output. The member name will be present, but the
  2285  // value will be replaced with "sensitive".
  2286  func (s GetMembersInput) String() string {
  2287  	return awsutil.Prettify(s)
  2288  }
  2289  
  2290  // GoString returns the string representation.
  2291  //
  2292  // API parameter values that are decorated as "sensitive" in the API will not
  2293  // be included in the string output. The member name will be present, but the
  2294  // value will be replaced with "sensitive".
  2295  func (s GetMembersInput) GoString() string {
  2296  	return s.String()
  2297  }
  2298  
  2299  // Validate inspects the fields of the type to determine if they are valid.
  2300  func (s *GetMembersInput) Validate() error {
  2301  	invalidParams := request.ErrInvalidParams{Context: "GetMembersInput"}
  2302  	if s.AccountIds == nil {
  2303  		invalidParams.Add(request.NewErrParamRequired("AccountIds"))
  2304  	}
  2305  	if s.AccountIds != nil && len(s.AccountIds) < 1 {
  2306  		invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
  2307  	}
  2308  	if s.GraphArn == nil {
  2309  		invalidParams.Add(request.NewErrParamRequired("GraphArn"))
  2310  	}
  2311  
  2312  	if invalidParams.Len() > 0 {
  2313  		return invalidParams
  2314  	}
  2315  	return nil
  2316  }
  2317  
  2318  // SetAccountIds sets the AccountIds field's value.
  2319  func (s *GetMembersInput) SetAccountIds(v []*string) *GetMembersInput {
  2320  	s.AccountIds = v
  2321  	return s
  2322  }
  2323  
  2324  // SetGraphArn sets the GraphArn field's value.
  2325  func (s *GetMembersInput) SetGraphArn(v string) *GetMembersInput {
  2326  	s.GraphArn = &v
  2327  	return s
  2328  }
  2329  
  2330  type GetMembersOutput struct {
  2331  	_ struct{} `type:"structure"`
  2332  
  2333  	// The member account details that Detective is returning in response to the
  2334  	// request.
  2335  	MemberDetails []*MemberDetail `type:"list"`
  2336  
  2337  	// The requested member accounts for which Detective was unable to return member
  2338  	// details.
  2339  	//
  2340  	// For each account, provides the reason why the request could not be processed.
  2341  	UnprocessedAccounts []*UnprocessedAccount `type:"list"`
  2342  }
  2343  
  2344  // String returns the string representation.
  2345  //
  2346  // API parameter values that are decorated as "sensitive" in the API will not
  2347  // be included in the string output. The member name will be present, but the
  2348  // value will be replaced with "sensitive".
  2349  func (s GetMembersOutput) String() string {
  2350  	return awsutil.Prettify(s)
  2351  }
  2352  
  2353  // GoString returns the string representation.
  2354  //
  2355  // API parameter values that are decorated as "sensitive" in the API will not
  2356  // be included in the string output. The member name will be present, but the
  2357  // value will be replaced with "sensitive".
  2358  func (s GetMembersOutput) GoString() string {
  2359  	return s.String()
  2360  }
  2361  
  2362  // SetMemberDetails sets the MemberDetails field's value.
  2363  func (s *GetMembersOutput) SetMemberDetails(v []*MemberDetail) *GetMembersOutput {
  2364  	s.MemberDetails = v
  2365  	return s
  2366  }
  2367  
  2368  // SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
  2369  func (s *GetMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *GetMembersOutput {
  2370  	s.UnprocessedAccounts = v
  2371  	return s
  2372  }
  2373  
  2374  // A behavior graph in Detective.
  2375  type Graph struct {
  2376  	_ struct{} `type:"structure"`
  2377  
  2378  	// The ARN of the behavior graph.
  2379  	Arn *string `type:"string"`
  2380  
  2381  	// The date and time that the behavior graph was created. The value is in milliseconds
  2382  	// since the epoch.
  2383  	CreatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  2384  }
  2385  
  2386  // String returns the string representation.
  2387  //
  2388  // API parameter values that are decorated as "sensitive" in the API will not
  2389  // be included in the string output. The member name will be present, but the
  2390  // value will be replaced with "sensitive".
  2391  func (s Graph) String() string {
  2392  	return awsutil.Prettify(s)
  2393  }
  2394  
  2395  // GoString returns the string representation.
  2396  //
  2397  // API parameter values that are decorated as "sensitive" in the API will not
  2398  // be included in the string output. The member name will be present, but the
  2399  // value will be replaced with "sensitive".
  2400  func (s Graph) GoString() string {
  2401  	return s.String()
  2402  }
  2403  
  2404  // SetArn sets the Arn field's value.
  2405  func (s *Graph) SetArn(v string) *Graph {
  2406  	s.Arn = &v
  2407  	return s
  2408  }
  2409  
  2410  // SetCreatedTime sets the CreatedTime field's value.
  2411  func (s *Graph) SetCreatedTime(v time.Time) *Graph {
  2412  	s.CreatedTime = &v
  2413  	return s
  2414  }
  2415  
  2416  // The request was valid but failed because of a problem with the service.
  2417  type InternalServerException struct {
  2418  	_            struct{}                  `type:"structure"`
  2419  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  2420  
  2421  	Message_ *string `locationName:"Message" type:"string"`
  2422  }
  2423  
  2424  // String returns the string representation.
  2425  //
  2426  // API parameter values that are decorated as "sensitive" in the API will not
  2427  // be included in the string output. The member name will be present, but the
  2428  // value will be replaced with "sensitive".
  2429  func (s InternalServerException) String() string {
  2430  	return awsutil.Prettify(s)
  2431  }
  2432  
  2433  // GoString returns the string representation.
  2434  //
  2435  // API parameter values that are decorated as "sensitive" in the API will not
  2436  // be included in the string output. The member name will be present, but the
  2437  // value will be replaced with "sensitive".
  2438  func (s InternalServerException) GoString() string {
  2439  	return s.String()
  2440  }
  2441  
  2442  func newErrorInternalServerException(v protocol.ResponseMetadata) error {
  2443  	return &InternalServerException{
  2444  		RespMetadata: v,
  2445  	}
  2446  }
  2447  
  2448  // Code returns the exception type name.
  2449  func (s *InternalServerException) Code() string {
  2450  	return "InternalServerException"
  2451  }
  2452  
  2453  // Message returns the exception's message.
  2454  func (s *InternalServerException) Message() string {
  2455  	if s.Message_ != nil {
  2456  		return *s.Message_
  2457  	}
  2458  	return ""
  2459  }
  2460  
  2461  // OrigErr always returns nil, satisfies awserr.Error interface.
  2462  func (s *InternalServerException) OrigErr() error {
  2463  	return nil
  2464  }
  2465  
  2466  func (s *InternalServerException) Error() string {
  2467  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  2468  }
  2469  
  2470  // Status code returns the HTTP status code for the request's response error.
  2471  func (s *InternalServerException) StatusCode() int {
  2472  	return s.RespMetadata.StatusCode
  2473  }
  2474  
  2475  // RequestID returns the service's response RequestID for request.
  2476  func (s *InternalServerException) RequestID() string {
  2477  	return s.RespMetadata.RequestID
  2478  }
  2479  
  2480  type ListGraphsInput struct {
  2481  	_ struct{} `type:"structure"`
  2482  
  2483  	// The maximum number of graphs to return at a time. The total must be less
  2484  	// than the overall limit on the number of results to return, which is currently
  2485  	// 200.
  2486  	MaxResults *int64 `min:"1" type:"integer"`
  2487  
  2488  	// For requests to get the next page of results, the pagination token that was
  2489  	// returned with the previous set of results. The initial request does not include
  2490  	// a pagination token.
  2491  	NextToken *string `min:"1" type:"string"`
  2492  }
  2493  
  2494  // String returns the string representation.
  2495  //
  2496  // API parameter values that are decorated as "sensitive" in the API will not
  2497  // be included in the string output. The member name will be present, but the
  2498  // value will be replaced with "sensitive".
  2499  func (s ListGraphsInput) String() string {
  2500  	return awsutil.Prettify(s)
  2501  }
  2502  
  2503  // GoString returns the string representation.
  2504  //
  2505  // API parameter values that are decorated as "sensitive" in the API will not
  2506  // be included in the string output. The member name will be present, but the
  2507  // value will be replaced with "sensitive".
  2508  func (s ListGraphsInput) GoString() string {
  2509  	return s.String()
  2510  }
  2511  
  2512  // Validate inspects the fields of the type to determine if they are valid.
  2513  func (s *ListGraphsInput) Validate() error {
  2514  	invalidParams := request.ErrInvalidParams{Context: "ListGraphsInput"}
  2515  	if s.MaxResults != nil && *s.MaxResults < 1 {
  2516  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  2517  	}
  2518  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  2519  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  2520  	}
  2521  
  2522  	if invalidParams.Len() > 0 {
  2523  		return invalidParams
  2524  	}
  2525  	return nil
  2526  }
  2527  
  2528  // SetMaxResults sets the MaxResults field's value.
  2529  func (s *ListGraphsInput) SetMaxResults(v int64) *ListGraphsInput {
  2530  	s.MaxResults = &v
  2531  	return s
  2532  }
  2533  
  2534  // SetNextToken sets the NextToken field's value.
  2535  func (s *ListGraphsInput) SetNextToken(v string) *ListGraphsInput {
  2536  	s.NextToken = &v
  2537  	return s
  2538  }
  2539  
  2540  type ListGraphsOutput struct {
  2541  	_ struct{} `type:"structure"`
  2542  
  2543  	// A list of behavior graphs that the account is an administrator account for.
  2544  	GraphList []*Graph `type:"list"`
  2545  
  2546  	// If there are more behavior graphs remaining in the results, then this is
  2547  	// the pagination token to use to request the next page of behavior graphs.
  2548  	NextToken *string `min:"1" type:"string"`
  2549  }
  2550  
  2551  // String returns the string representation.
  2552  //
  2553  // API parameter values that are decorated as "sensitive" in the API will not
  2554  // be included in the string output. The member name will be present, but the
  2555  // value will be replaced with "sensitive".
  2556  func (s ListGraphsOutput) String() string {
  2557  	return awsutil.Prettify(s)
  2558  }
  2559  
  2560  // GoString returns the string representation.
  2561  //
  2562  // API parameter values that are decorated as "sensitive" in the API will not
  2563  // be included in the string output. The member name will be present, but the
  2564  // value will be replaced with "sensitive".
  2565  func (s ListGraphsOutput) GoString() string {
  2566  	return s.String()
  2567  }
  2568  
  2569  // SetGraphList sets the GraphList field's value.
  2570  func (s *ListGraphsOutput) SetGraphList(v []*Graph) *ListGraphsOutput {
  2571  	s.GraphList = v
  2572  	return s
  2573  }
  2574  
  2575  // SetNextToken sets the NextToken field's value.
  2576  func (s *ListGraphsOutput) SetNextToken(v string) *ListGraphsOutput {
  2577  	s.NextToken = &v
  2578  	return s
  2579  }
  2580  
  2581  type ListInvitationsInput struct {
  2582  	_ struct{} `type:"structure"`
  2583  
  2584  	// The maximum number of behavior graph invitations to return in the response.
  2585  	// The total must be less than the overall limit on the number of results to
  2586  	// return, which is currently 200.
  2587  	MaxResults *int64 `min:"1" type:"integer"`
  2588  
  2589  	// For requests to retrieve the next page of results, the pagination token that
  2590  	// was returned with the previous page of results. The initial request does
  2591  	// not include a pagination token.
  2592  	NextToken *string `min:"1" type:"string"`
  2593  }
  2594  
  2595  // String returns the string representation.
  2596  //
  2597  // API parameter values that are decorated as "sensitive" in the API will not
  2598  // be included in the string output. The member name will be present, but the
  2599  // value will be replaced with "sensitive".
  2600  func (s ListInvitationsInput) String() string {
  2601  	return awsutil.Prettify(s)
  2602  }
  2603  
  2604  // GoString returns the string representation.
  2605  //
  2606  // API parameter values that are decorated as "sensitive" in the API will not
  2607  // be included in the string output. The member name will be present, but the
  2608  // value will be replaced with "sensitive".
  2609  func (s ListInvitationsInput) GoString() string {
  2610  	return s.String()
  2611  }
  2612  
  2613  // Validate inspects the fields of the type to determine if they are valid.
  2614  func (s *ListInvitationsInput) Validate() error {
  2615  	invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"}
  2616  	if s.MaxResults != nil && *s.MaxResults < 1 {
  2617  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  2618  	}
  2619  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  2620  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  2621  	}
  2622  
  2623  	if invalidParams.Len() > 0 {
  2624  		return invalidParams
  2625  	}
  2626  	return nil
  2627  }
  2628  
  2629  // SetMaxResults sets the MaxResults field's value.
  2630  func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput {
  2631  	s.MaxResults = &v
  2632  	return s
  2633  }
  2634  
  2635  // SetNextToken sets the NextToken field's value.
  2636  func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput {
  2637  	s.NextToken = &v
  2638  	return s
  2639  }
  2640  
  2641  type ListInvitationsOutput struct {
  2642  	_ struct{} `type:"structure"`
  2643  
  2644  	// The list of behavior graphs for which the member account has open or accepted
  2645  	// invitations.
  2646  	Invitations []*MemberDetail `type:"list"`
  2647  
  2648  	// If there are more behavior graphs remaining in the results, then this is
  2649  	// the pagination token to use to request the next page of behavior graphs.
  2650  	NextToken *string `min:"1" type:"string"`
  2651  }
  2652  
  2653  // String returns the string representation.
  2654  //
  2655  // API parameter values that are decorated as "sensitive" in the API will not
  2656  // be included in the string output. The member name will be present, but the
  2657  // value will be replaced with "sensitive".
  2658  func (s ListInvitationsOutput) String() string {
  2659  	return awsutil.Prettify(s)
  2660  }
  2661  
  2662  // GoString returns the string representation.
  2663  //
  2664  // API parameter values that are decorated as "sensitive" in the API will not
  2665  // be included in the string output. The member name will be present, but the
  2666  // value will be replaced with "sensitive".
  2667  func (s ListInvitationsOutput) GoString() string {
  2668  	return s.String()
  2669  }
  2670  
  2671  // SetInvitations sets the Invitations field's value.
  2672  func (s *ListInvitationsOutput) SetInvitations(v []*MemberDetail) *ListInvitationsOutput {
  2673  	s.Invitations = v
  2674  	return s
  2675  }
  2676  
  2677  // SetNextToken sets the NextToken field's value.
  2678  func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput {
  2679  	s.NextToken = &v
  2680  	return s
  2681  }
  2682  
  2683  type ListMembersInput struct {
  2684  	_ struct{} `type:"structure"`
  2685  
  2686  	// The ARN of the behavior graph for which to retrieve the list of member accounts.
  2687  	//
  2688  	// GraphArn is a required field
  2689  	GraphArn *string `type:"string" required:"true"`
  2690  
  2691  	// The maximum number of member accounts to include in the response. The total
  2692  	// must be less than the overall limit on the number of results to return, which
  2693  	// is currently 200.
  2694  	MaxResults *int64 `min:"1" type:"integer"`
  2695  
  2696  	// For requests to retrieve the next page of member account results, the pagination
  2697  	// token that was returned with the previous page of results. The initial request
  2698  	// does not include a pagination token.
  2699  	NextToken *string `min:"1" type:"string"`
  2700  }
  2701  
  2702  // String returns the string representation.
  2703  //
  2704  // API parameter values that are decorated as "sensitive" in the API will not
  2705  // be included in the string output. The member name will be present, but the
  2706  // value will be replaced with "sensitive".
  2707  func (s ListMembersInput) String() string {
  2708  	return awsutil.Prettify(s)
  2709  }
  2710  
  2711  // GoString returns the string representation.
  2712  //
  2713  // API parameter values that are decorated as "sensitive" in the API will not
  2714  // be included in the string output. The member name will be present, but the
  2715  // value will be replaced with "sensitive".
  2716  func (s ListMembersInput) GoString() string {
  2717  	return s.String()
  2718  }
  2719  
  2720  // Validate inspects the fields of the type to determine if they are valid.
  2721  func (s *ListMembersInput) Validate() error {
  2722  	invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"}
  2723  	if s.GraphArn == nil {
  2724  		invalidParams.Add(request.NewErrParamRequired("GraphArn"))
  2725  	}
  2726  	if s.MaxResults != nil && *s.MaxResults < 1 {
  2727  		invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
  2728  	}
  2729  	if s.NextToken != nil && len(*s.NextToken) < 1 {
  2730  		invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
  2731  	}
  2732  
  2733  	if invalidParams.Len() > 0 {
  2734  		return invalidParams
  2735  	}
  2736  	return nil
  2737  }
  2738  
  2739  // SetGraphArn sets the GraphArn field's value.
  2740  func (s *ListMembersInput) SetGraphArn(v string) *ListMembersInput {
  2741  	s.GraphArn = &v
  2742  	return s
  2743  }
  2744  
  2745  // SetMaxResults sets the MaxResults field's value.
  2746  func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput {
  2747  	s.MaxResults = &v
  2748  	return s
  2749  }
  2750  
  2751  // SetNextToken sets the NextToken field's value.
  2752  func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput {
  2753  	s.NextToken = &v
  2754  	return s
  2755  }
  2756  
  2757  type ListMembersOutput struct {
  2758  	_ struct{} `type:"structure"`
  2759  
  2760  	// The list of member accounts in the behavior graph.
  2761  	//
  2762  	// The results include member accounts that did not pass verification and member
  2763  	// accounts that have not yet accepted the invitation to the behavior graph.
  2764  	// The results do not include member accounts that were removed from the behavior
  2765  	// graph.
  2766  	MemberDetails []*MemberDetail `type:"list"`
  2767  
  2768  	// If there are more member accounts remaining in the results, then this is
  2769  	// the pagination token to use to request the next page of member accounts.
  2770  	NextToken *string `min:"1" type:"string"`
  2771  }
  2772  
  2773  // String returns the string representation.
  2774  //
  2775  // API parameter values that are decorated as "sensitive" in the API will not
  2776  // be included in the string output. The member name will be present, but the
  2777  // value will be replaced with "sensitive".
  2778  func (s ListMembersOutput) String() string {
  2779  	return awsutil.Prettify(s)
  2780  }
  2781  
  2782  // GoString returns the string representation.
  2783  //
  2784  // API parameter values that are decorated as "sensitive" in the API will not
  2785  // be included in the string output. The member name will be present, but the
  2786  // value will be replaced with "sensitive".
  2787  func (s ListMembersOutput) GoString() string {
  2788  	return s.String()
  2789  }
  2790  
  2791  // SetMemberDetails sets the MemberDetails field's value.
  2792  func (s *ListMembersOutput) SetMemberDetails(v []*MemberDetail) *ListMembersOutput {
  2793  	s.MemberDetails = v
  2794  	return s
  2795  }
  2796  
  2797  // SetNextToken sets the NextToken field's value.
  2798  func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput {
  2799  	s.NextToken = &v
  2800  	return s
  2801  }
  2802  
  2803  type ListTagsForResourceInput struct {
  2804  	_ struct{} `type:"structure" nopayload:"true"`
  2805  
  2806  	// The ARN of the behavior graph for which to retrieve the tag values.
  2807  	//
  2808  	// ResourceArn is a required field
  2809  	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
  2810  }
  2811  
  2812  // String returns the string representation.
  2813  //
  2814  // API parameter values that are decorated as "sensitive" in the API will not
  2815  // be included in the string output. The member name will be present, but the
  2816  // value will be replaced with "sensitive".
  2817  func (s ListTagsForResourceInput) String() string {
  2818  	return awsutil.Prettify(s)
  2819  }
  2820  
  2821  // GoString returns the string representation.
  2822  //
  2823  // API parameter values that are decorated as "sensitive" in the API will not
  2824  // be included in the string output. The member name will be present, but the
  2825  // value will be replaced with "sensitive".
  2826  func (s ListTagsForResourceInput) GoString() string {
  2827  	return s.String()
  2828  }
  2829  
  2830  // Validate inspects the fields of the type to determine if they are valid.
  2831  func (s *ListTagsForResourceInput) Validate() error {
  2832  	invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
  2833  	if s.ResourceArn == nil {
  2834  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  2835  	}
  2836  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  2837  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  2838  	}
  2839  
  2840  	if invalidParams.Len() > 0 {
  2841  		return invalidParams
  2842  	}
  2843  	return nil
  2844  }
  2845  
  2846  // SetResourceArn sets the ResourceArn field's value.
  2847  func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
  2848  	s.ResourceArn = &v
  2849  	return s
  2850  }
  2851  
  2852  type ListTagsForResourceOutput struct {
  2853  	_ struct{} `type:"structure"`
  2854  
  2855  	// The tag values that are assigned to the behavior graph. The request returns
  2856  	// up to 50 tag values.
  2857  	Tags map[string]*string `min:"1" type:"map"`
  2858  }
  2859  
  2860  // String returns the string representation.
  2861  //
  2862  // API parameter values that are decorated as "sensitive" in the API will not
  2863  // be included in the string output. The member name will be present, but the
  2864  // value will be replaced with "sensitive".
  2865  func (s ListTagsForResourceOutput) String() string {
  2866  	return awsutil.Prettify(s)
  2867  }
  2868  
  2869  // GoString returns the string representation.
  2870  //
  2871  // API parameter values that are decorated as "sensitive" in the API will not
  2872  // be included in the string output. The member name will be present, but the
  2873  // value will be replaced with "sensitive".
  2874  func (s ListTagsForResourceOutput) GoString() string {
  2875  	return s.String()
  2876  }
  2877  
  2878  // SetTags sets the Tags field's value.
  2879  func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
  2880  	s.Tags = v
  2881  	return s
  2882  }
  2883  
  2884  // Details about a member account that was invited to contribute to a behavior
  2885  // graph.
  2886  type MemberDetail struct {
  2887  	_ struct{} `type:"structure"`
  2888  
  2889  	// The AWS account identifier for the member account.
  2890  	AccountId *string `min:"12" type:"string"`
  2891  
  2892  	// The AWS account identifier of the administrator account for the behavior
  2893  	// graph.
  2894  	AdministratorId *string `min:"12" type:"string"`
  2895  
  2896  	// For member accounts with a status of ACCEPTED_BUT_DISABLED, the reason that
  2897  	// the member account is not enabled.
  2898  	//
  2899  	// The reason can have one of the following values:
  2900  	//
  2901  	//    * VOLUME_TOO_HIGH - Indicates that adding the member account would cause
  2902  	//    the data volume for the behavior graph to be too high.
  2903  	//
  2904  	//    * VOLUME_UNKNOWN - Indicates that Detective is unable to verify the data
  2905  	//    volume for the member account. This is usually because the member account
  2906  	//    is not enrolled in Amazon GuardDuty.
  2907  	DisabledReason *string `type:"string" enum:"MemberDisabledReason"`
  2908  
  2909  	// The AWS account root user email address for the member account.
  2910  	EmailAddress *string `min:"1" type:"string"`
  2911  
  2912  	// The ARN of the behavior graph that the member account was invited to.
  2913  	GraphArn *string `type:"string"`
  2914  
  2915  	// The date and time that Detective sent the invitation to the member account.
  2916  	// The value is in milliseconds since the epoch.
  2917  	InvitedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  2918  
  2919  	// The AWS account identifier of the administrator account for the behavior
  2920  	// graph.
  2921  	//
  2922  	// Deprecated: This property is deprecated. Use AdministratorId instead.
  2923  	MasterId *string `min:"12" deprecated:"true" type:"string"`
  2924  
  2925  	// The member account data volume as a percentage of the maximum allowed data
  2926  	// volume. 0 indicates 0 percent, and 100 indicates 100 percent.
  2927  	//
  2928  	// Note that this is not the percentage of the behavior graph data volume.
  2929  	//
  2930  	// For example, the data volume for the behavior graph is 80 GB per day. The
  2931  	// maximum data volume is 160 GB per day. If the data volume for the member
  2932  	// account is 40 GB per day, then PercentOfGraphUtilization is 25. It represents
  2933  	// 25% of the maximum allowed data volume.
  2934  	//
  2935  	// Deprecated: This property is deprecated. Use VolumeUsageInBytes instead.
  2936  	PercentOfGraphUtilization *float64 `deprecated:"true" type:"double"`
  2937  
  2938  	// The date and time when the graph utilization percentage was last updated.
  2939  	//
  2940  	// Deprecated: This property is deprecated. Use VolumeUsageUpdatedTime instead.
  2941  	PercentOfGraphUtilizationUpdatedTime *time.Time `deprecated:"true" type:"timestamp" timestampFormat:"iso8601"`
  2942  
  2943  	// The current membership status of the member account. The status can have
  2944  	// one of the following values:
  2945  	//
  2946  	//    * INVITED - Indicates that the member was sent an invitation but has not
  2947  	//    yet responded.
  2948  	//
  2949  	//    * VERIFICATION_IN_PROGRESS - Indicates that Detective is verifying that
  2950  	//    the account identifier and email address provided for the member account
  2951  	//    match. If they do match, then Detective sends the invitation. If the email
  2952  	//    address and account identifier don't match, then the member cannot be
  2953  	//    added to the behavior graph.
  2954  	//
  2955  	//    * VERIFICATION_FAILED - Indicates that the account and email address provided
  2956  	//    for the member account do not match, and Detective did not send an invitation
  2957  	//    to the account.
  2958  	//
  2959  	//    * ENABLED - Indicates that the member account accepted the invitation
  2960  	//    to contribute to the behavior graph.
  2961  	//
  2962  	//    * ACCEPTED_BUT_DISABLED - Indicates that the member account accepted the
  2963  	//    invitation but is prevented from contributing data to the behavior graph.
  2964  	//    DisabledReason provides the reason why the member account is not enabled.
  2965  	//
  2966  	// Member accounts that declined an invitation or that were removed from the
  2967  	// behavior graph are not included.
  2968  	Status *string `type:"string" enum:"MemberStatus"`
  2969  
  2970  	// The date and time that the member account was last updated. The value is
  2971  	// in milliseconds since the epoch.
  2972  	UpdatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  2973  
  2974  	// The data volume in bytes per day for the member account.
  2975  	VolumeUsageInBytes *int64 `type:"long"`
  2976  
  2977  	// The data and time when the member account data volume was last updated.
  2978  	VolumeUsageUpdatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
  2979  }
  2980  
  2981  // String returns the string representation.
  2982  //
  2983  // API parameter values that are decorated as "sensitive" in the API will not
  2984  // be included in the string output. The member name will be present, but the
  2985  // value will be replaced with "sensitive".
  2986  func (s MemberDetail) String() string {
  2987  	return awsutil.Prettify(s)
  2988  }
  2989  
  2990  // GoString returns the string representation.
  2991  //
  2992  // API parameter values that are decorated as "sensitive" in the API will not
  2993  // be included in the string output. The member name will be present, but the
  2994  // value will be replaced with "sensitive".
  2995  func (s MemberDetail) GoString() string {
  2996  	return s.String()
  2997  }
  2998  
  2999  // SetAccountId sets the AccountId field's value.
  3000  func (s *MemberDetail) SetAccountId(v string) *MemberDetail {
  3001  	s.AccountId = &v
  3002  	return s
  3003  }
  3004  
  3005  // SetAdministratorId sets the AdministratorId field's value.
  3006  func (s *MemberDetail) SetAdministratorId(v string) *MemberDetail {
  3007  	s.AdministratorId = &v
  3008  	return s
  3009  }
  3010  
  3011  // SetDisabledReason sets the DisabledReason field's value.
  3012  func (s *MemberDetail) SetDisabledReason(v string) *MemberDetail {
  3013  	s.DisabledReason = &v
  3014  	return s
  3015  }
  3016  
  3017  // SetEmailAddress sets the EmailAddress field's value.
  3018  func (s *MemberDetail) SetEmailAddress(v string) *MemberDetail {
  3019  	s.EmailAddress = &v
  3020  	return s
  3021  }
  3022  
  3023  // SetGraphArn sets the GraphArn field's value.
  3024  func (s *MemberDetail) SetGraphArn(v string) *MemberDetail {
  3025  	s.GraphArn = &v
  3026  	return s
  3027  }
  3028  
  3029  // SetInvitedTime sets the InvitedTime field's value.
  3030  func (s *MemberDetail) SetInvitedTime(v time.Time) *MemberDetail {
  3031  	s.InvitedTime = &v
  3032  	return s
  3033  }
  3034  
  3035  // SetMasterId sets the MasterId field's value.
  3036  func (s *MemberDetail) SetMasterId(v string) *MemberDetail {
  3037  	s.MasterId = &v
  3038  	return s
  3039  }
  3040  
  3041  // SetPercentOfGraphUtilization sets the PercentOfGraphUtilization field's value.
  3042  func (s *MemberDetail) SetPercentOfGraphUtilization(v float64) *MemberDetail {
  3043  	s.PercentOfGraphUtilization = &v
  3044  	return s
  3045  }
  3046  
  3047  // SetPercentOfGraphUtilizationUpdatedTime sets the PercentOfGraphUtilizationUpdatedTime field's value.
  3048  func (s *MemberDetail) SetPercentOfGraphUtilizationUpdatedTime(v time.Time) *MemberDetail {
  3049  	s.PercentOfGraphUtilizationUpdatedTime = &v
  3050  	return s
  3051  }
  3052  
  3053  // SetStatus sets the Status field's value.
  3054  func (s *MemberDetail) SetStatus(v string) *MemberDetail {
  3055  	s.Status = &v
  3056  	return s
  3057  }
  3058  
  3059  // SetUpdatedTime sets the UpdatedTime field's value.
  3060  func (s *MemberDetail) SetUpdatedTime(v time.Time) *MemberDetail {
  3061  	s.UpdatedTime = &v
  3062  	return s
  3063  }
  3064  
  3065  // SetVolumeUsageInBytes sets the VolumeUsageInBytes field's value.
  3066  func (s *MemberDetail) SetVolumeUsageInBytes(v int64) *MemberDetail {
  3067  	s.VolumeUsageInBytes = &v
  3068  	return s
  3069  }
  3070  
  3071  // SetVolumeUsageUpdatedTime sets the VolumeUsageUpdatedTime field's value.
  3072  func (s *MemberDetail) SetVolumeUsageUpdatedTime(v time.Time) *MemberDetail {
  3073  	s.VolumeUsageUpdatedTime = &v
  3074  	return s
  3075  }
  3076  
  3077  type RejectInvitationInput struct {
  3078  	_ struct{} `type:"structure"`
  3079  
  3080  	// The ARN of the behavior graph to reject the invitation to.
  3081  	//
  3082  	// The member account's current member status in the behavior graph must be
  3083  	// INVITED.
  3084  	//
  3085  	// GraphArn is a required field
  3086  	GraphArn *string `type:"string" required:"true"`
  3087  }
  3088  
  3089  // String returns the string representation.
  3090  //
  3091  // API parameter values that are decorated as "sensitive" in the API will not
  3092  // be included in the string output. The member name will be present, but the
  3093  // value will be replaced with "sensitive".
  3094  func (s RejectInvitationInput) String() string {
  3095  	return awsutil.Prettify(s)
  3096  }
  3097  
  3098  // GoString returns the string representation.
  3099  //
  3100  // API parameter values that are decorated as "sensitive" in the API will not
  3101  // be included in the string output. The member name will be present, but the
  3102  // value will be replaced with "sensitive".
  3103  func (s RejectInvitationInput) GoString() string {
  3104  	return s.String()
  3105  }
  3106  
  3107  // Validate inspects the fields of the type to determine if they are valid.
  3108  func (s *RejectInvitationInput) Validate() error {
  3109  	invalidParams := request.ErrInvalidParams{Context: "RejectInvitationInput"}
  3110  	if s.GraphArn == nil {
  3111  		invalidParams.Add(request.NewErrParamRequired("GraphArn"))
  3112  	}
  3113  
  3114  	if invalidParams.Len() > 0 {
  3115  		return invalidParams
  3116  	}
  3117  	return nil
  3118  }
  3119  
  3120  // SetGraphArn sets the GraphArn field's value.
  3121  func (s *RejectInvitationInput) SetGraphArn(v string) *RejectInvitationInput {
  3122  	s.GraphArn = &v
  3123  	return s
  3124  }
  3125  
  3126  type RejectInvitationOutput struct {
  3127  	_ struct{} `type:"structure" nopayload:"true"`
  3128  }
  3129  
  3130  // String returns the string representation.
  3131  //
  3132  // API parameter values that are decorated as "sensitive" in the API will not
  3133  // be included in the string output. The member name will be present, but the
  3134  // value will be replaced with "sensitive".
  3135  func (s RejectInvitationOutput) String() string {
  3136  	return awsutil.Prettify(s)
  3137  }
  3138  
  3139  // GoString returns the string representation.
  3140  //
  3141  // API parameter values that are decorated as "sensitive" in the API will not
  3142  // be included in the string output. The member name will be present, but the
  3143  // value will be replaced with "sensitive".
  3144  func (s RejectInvitationOutput) GoString() string {
  3145  	return s.String()
  3146  }
  3147  
  3148  // The request refers to a nonexistent resource.
  3149  type ResourceNotFoundException struct {
  3150  	_            struct{}                  `type:"structure"`
  3151  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3152  
  3153  	Message_ *string `locationName:"Message" type:"string"`
  3154  }
  3155  
  3156  // String returns the string representation.
  3157  //
  3158  // API parameter values that are decorated as "sensitive" in the API will not
  3159  // be included in the string output. The member name will be present, but the
  3160  // value will be replaced with "sensitive".
  3161  func (s ResourceNotFoundException) String() string {
  3162  	return awsutil.Prettify(s)
  3163  }
  3164  
  3165  // GoString returns the string representation.
  3166  //
  3167  // API parameter values that are decorated as "sensitive" in the API will not
  3168  // be included in the string output. The member name will be present, but the
  3169  // value will be replaced with "sensitive".
  3170  func (s ResourceNotFoundException) GoString() string {
  3171  	return s.String()
  3172  }
  3173  
  3174  func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
  3175  	return &ResourceNotFoundException{
  3176  		RespMetadata: v,
  3177  	}
  3178  }
  3179  
  3180  // Code returns the exception type name.
  3181  func (s *ResourceNotFoundException) Code() string {
  3182  	return "ResourceNotFoundException"
  3183  }
  3184  
  3185  // Message returns the exception's message.
  3186  func (s *ResourceNotFoundException) Message() string {
  3187  	if s.Message_ != nil {
  3188  		return *s.Message_
  3189  	}
  3190  	return ""
  3191  }
  3192  
  3193  // OrigErr always returns nil, satisfies awserr.Error interface.
  3194  func (s *ResourceNotFoundException) OrigErr() error {
  3195  	return nil
  3196  }
  3197  
  3198  func (s *ResourceNotFoundException) Error() string {
  3199  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3200  }
  3201  
  3202  // Status code returns the HTTP status code for the request's response error.
  3203  func (s *ResourceNotFoundException) StatusCode() int {
  3204  	return s.RespMetadata.StatusCode
  3205  }
  3206  
  3207  // RequestID returns the service's response RequestID for request.
  3208  func (s *ResourceNotFoundException) RequestID() string {
  3209  	return s.RespMetadata.RequestID
  3210  }
  3211  
  3212  // This request cannot be completed for one of the following reasons.
  3213  //
  3214  //    * The request would cause the number of member accounts in the behavior
  3215  //    graph to exceed the maximum allowed. A behavior graph cannot have more
  3216  //    than 1000 member accounts.
  3217  //
  3218  //    * The request would cause the data rate for the behavior graph to exceed
  3219  //    the maximum allowed.
  3220  //
  3221  //    * Detective is unable to verify the data rate for the member account.
  3222  //    This is usually because the member account is not enrolled in Amazon GuardDuty.
  3223  type ServiceQuotaExceededException struct {
  3224  	_            struct{}                  `type:"structure"`
  3225  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3226  
  3227  	Message_ *string `locationName:"Message" type:"string"`
  3228  }
  3229  
  3230  // String returns the string representation.
  3231  //
  3232  // API parameter values that are decorated as "sensitive" in the API will not
  3233  // be included in the string output. The member name will be present, but the
  3234  // value will be replaced with "sensitive".
  3235  func (s ServiceQuotaExceededException) String() string {
  3236  	return awsutil.Prettify(s)
  3237  }
  3238  
  3239  // GoString returns the string representation.
  3240  //
  3241  // API parameter values that are decorated as "sensitive" in the API will not
  3242  // be included in the string output. The member name will be present, but the
  3243  // value will be replaced with "sensitive".
  3244  func (s ServiceQuotaExceededException) GoString() string {
  3245  	return s.String()
  3246  }
  3247  
  3248  func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
  3249  	return &ServiceQuotaExceededException{
  3250  		RespMetadata: v,
  3251  	}
  3252  }
  3253  
  3254  // Code returns the exception type name.
  3255  func (s *ServiceQuotaExceededException) Code() string {
  3256  	return "ServiceQuotaExceededException"
  3257  }
  3258  
  3259  // Message returns the exception's message.
  3260  func (s *ServiceQuotaExceededException) Message() string {
  3261  	if s.Message_ != nil {
  3262  		return *s.Message_
  3263  	}
  3264  	return ""
  3265  }
  3266  
  3267  // OrigErr always returns nil, satisfies awserr.Error interface.
  3268  func (s *ServiceQuotaExceededException) OrigErr() error {
  3269  	return nil
  3270  }
  3271  
  3272  func (s *ServiceQuotaExceededException) Error() string {
  3273  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3274  }
  3275  
  3276  // Status code returns the HTTP status code for the request's response error.
  3277  func (s *ServiceQuotaExceededException) StatusCode() int {
  3278  	return s.RespMetadata.StatusCode
  3279  }
  3280  
  3281  // RequestID returns the service's response RequestID for request.
  3282  func (s *ServiceQuotaExceededException) RequestID() string {
  3283  	return s.RespMetadata.RequestID
  3284  }
  3285  
  3286  type StartMonitoringMemberInput struct {
  3287  	_ struct{} `type:"structure"`
  3288  
  3289  	// The account ID of the member account to try to enable.
  3290  	//
  3291  	// The account must be an invited member account with a status of ACCEPTED_BUT_DISABLED.
  3292  	//
  3293  	// AccountId is a required field
  3294  	AccountId *string `min:"12" type:"string" required:"true"`
  3295  
  3296  	// The ARN of the behavior graph.
  3297  	//
  3298  	// GraphArn is a required field
  3299  	GraphArn *string `type:"string" required:"true"`
  3300  }
  3301  
  3302  // String returns the string representation.
  3303  //
  3304  // API parameter values that are decorated as "sensitive" in the API will not
  3305  // be included in the string output. The member name will be present, but the
  3306  // value will be replaced with "sensitive".
  3307  func (s StartMonitoringMemberInput) String() string {
  3308  	return awsutil.Prettify(s)
  3309  }
  3310  
  3311  // GoString returns the string representation.
  3312  //
  3313  // API parameter values that are decorated as "sensitive" in the API will not
  3314  // be included in the string output. The member name will be present, but the
  3315  // value will be replaced with "sensitive".
  3316  func (s StartMonitoringMemberInput) GoString() string {
  3317  	return s.String()
  3318  }
  3319  
  3320  // Validate inspects the fields of the type to determine if they are valid.
  3321  func (s *StartMonitoringMemberInput) Validate() error {
  3322  	invalidParams := request.ErrInvalidParams{Context: "StartMonitoringMemberInput"}
  3323  	if s.AccountId == nil {
  3324  		invalidParams.Add(request.NewErrParamRequired("AccountId"))
  3325  	}
  3326  	if s.AccountId != nil && len(*s.AccountId) < 12 {
  3327  		invalidParams.Add(request.NewErrParamMinLen("AccountId", 12))
  3328  	}
  3329  	if s.GraphArn == nil {
  3330  		invalidParams.Add(request.NewErrParamRequired("GraphArn"))
  3331  	}
  3332  
  3333  	if invalidParams.Len() > 0 {
  3334  		return invalidParams
  3335  	}
  3336  	return nil
  3337  }
  3338  
  3339  // SetAccountId sets the AccountId field's value.
  3340  func (s *StartMonitoringMemberInput) SetAccountId(v string) *StartMonitoringMemberInput {
  3341  	s.AccountId = &v
  3342  	return s
  3343  }
  3344  
  3345  // SetGraphArn sets the GraphArn field's value.
  3346  func (s *StartMonitoringMemberInput) SetGraphArn(v string) *StartMonitoringMemberInput {
  3347  	s.GraphArn = &v
  3348  	return s
  3349  }
  3350  
  3351  type StartMonitoringMemberOutput struct {
  3352  	_ struct{} `type:"structure" nopayload:"true"`
  3353  }
  3354  
  3355  // String returns the string representation.
  3356  //
  3357  // API parameter values that are decorated as "sensitive" in the API will not
  3358  // be included in the string output. The member name will be present, but the
  3359  // value will be replaced with "sensitive".
  3360  func (s StartMonitoringMemberOutput) String() string {
  3361  	return awsutil.Prettify(s)
  3362  }
  3363  
  3364  // GoString returns the string representation.
  3365  //
  3366  // API parameter values that are decorated as "sensitive" in the API will not
  3367  // be included in the string output. The member name will be present, but the
  3368  // value will be replaced with "sensitive".
  3369  func (s StartMonitoringMemberOutput) GoString() string {
  3370  	return s.String()
  3371  }
  3372  
  3373  type TagResourceInput struct {
  3374  	_ struct{} `type:"structure"`
  3375  
  3376  	// The ARN of the behavior graph to assign the tags to.
  3377  	//
  3378  	// ResourceArn is a required field
  3379  	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
  3380  
  3381  	// The tags to assign to the behavior graph. You can add up to 50 tags. For
  3382  	// each tag, you provide the tag key and the tag value. Each tag key can contain
  3383  	// up to 128 characters. Each tag value can contain up to 256 characters.
  3384  	//
  3385  	// Tags is a required field
  3386  	Tags map[string]*string `min:"1" type:"map" required:"true"`
  3387  }
  3388  
  3389  // String returns the string representation.
  3390  //
  3391  // API parameter values that are decorated as "sensitive" in the API will not
  3392  // be included in the string output. The member name will be present, but the
  3393  // value will be replaced with "sensitive".
  3394  func (s TagResourceInput) String() string {
  3395  	return awsutil.Prettify(s)
  3396  }
  3397  
  3398  // GoString returns the string representation.
  3399  //
  3400  // API parameter values that are decorated as "sensitive" in the API will not
  3401  // be included in the string output. The member name will be present, but the
  3402  // value will be replaced with "sensitive".
  3403  func (s TagResourceInput) GoString() string {
  3404  	return s.String()
  3405  }
  3406  
  3407  // Validate inspects the fields of the type to determine if they are valid.
  3408  func (s *TagResourceInput) Validate() error {
  3409  	invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
  3410  	if s.ResourceArn == nil {
  3411  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  3412  	}
  3413  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  3414  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  3415  	}
  3416  	if s.Tags == nil {
  3417  		invalidParams.Add(request.NewErrParamRequired("Tags"))
  3418  	}
  3419  	if s.Tags != nil && len(s.Tags) < 1 {
  3420  		invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
  3421  	}
  3422  
  3423  	if invalidParams.Len() > 0 {
  3424  		return invalidParams
  3425  	}
  3426  	return nil
  3427  }
  3428  
  3429  // SetResourceArn sets the ResourceArn field's value.
  3430  func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
  3431  	s.ResourceArn = &v
  3432  	return s
  3433  }
  3434  
  3435  // SetTags sets the Tags field's value.
  3436  func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
  3437  	s.Tags = v
  3438  	return s
  3439  }
  3440  
  3441  type TagResourceOutput struct {
  3442  	_ struct{} `type:"structure" nopayload:"true"`
  3443  }
  3444  
  3445  // String returns the string representation.
  3446  //
  3447  // API parameter values that are decorated as "sensitive" in the API will not
  3448  // be included in the string output. The member name will be present, but the
  3449  // value will be replaced with "sensitive".
  3450  func (s TagResourceOutput) String() string {
  3451  	return awsutil.Prettify(s)
  3452  }
  3453  
  3454  // GoString returns the string representation.
  3455  //
  3456  // API parameter values that are decorated as "sensitive" in the API will not
  3457  // be included in the string output. The member name will be present, but the
  3458  // value will be replaced with "sensitive".
  3459  func (s TagResourceOutput) GoString() string {
  3460  	return s.String()
  3461  }
  3462  
  3463  // A member account that was included in a request but for which the request
  3464  // could not be processed.
  3465  type UnprocessedAccount struct {
  3466  	_ struct{} `type:"structure"`
  3467  
  3468  	// The AWS account identifier of the member account that was not processed.
  3469  	AccountId *string `min:"12" type:"string"`
  3470  
  3471  	// The reason that the member account request could not be processed.
  3472  	Reason *string `type:"string"`
  3473  }
  3474  
  3475  // String returns the string representation.
  3476  //
  3477  // API parameter values that are decorated as "sensitive" in the API will not
  3478  // be included in the string output. The member name will be present, but the
  3479  // value will be replaced with "sensitive".
  3480  func (s UnprocessedAccount) String() string {
  3481  	return awsutil.Prettify(s)
  3482  }
  3483  
  3484  // GoString returns the string representation.
  3485  //
  3486  // API parameter values that are decorated as "sensitive" in the API will not
  3487  // be included in the string output. The member name will be present, but the
  3488  // value will be replaced with "sensitive".
  3489  func (s UnprocessedAccount) GoString() string {
  3490  	return s.String()
  3491  }
  3492  
  3493  // SetAccountId sets the AccountId field's value.
  3494  func (s *UnprocessedAccount) SetAccountId(v string) *UnprocessedAccount {
  3495  	s.AccountId = &v
  3496  	return s
  3497  }
  3498  
  3499  // SetReason sets the Reason field's value.
  3500  func (s *UnprocessedAccount) SetReason(v string) *UnprocessedAccount {
  3501  	s.Reason = &v
  3502  	return s
  3503  }
  3504  
  3505  type UntagResourceInput struct {
  3506  	_ struct{} `type:"structure" nopayload:"true"`
  3507  
  3508  	// The ARN of the behavior graph to remove the tags from.
  3509  	//
  3510  	// ResourceArn is a required field
  3511  	ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
  3512  
  3513  	// The tag keys of the tags to remove from the behavior graph. You can remove
  3514  	// up to 50 tags at a time.
  3515  	//
  3516  	// TagKeys is a required field
  3517  	TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
  3518  }
  3519  
  3520  // String returns the string representation.
  3521  //
  3522  // API parameter values that are decorated as "sensitive" in the API will not
  3523  // be included in the string output. The member name will be present, but the
  3524  // value will be replaced with "sensitive".
  3525  func (s UntagResourceInput) String() string {
  3526  	return awsutil.Prettify(s)
  3527  }
  3528  
  3529  // GoString returns the string representation.
  3530  //
  3531  // API parameter values that are decorated as "sensitive" in the API will not
  3532  // be included in the string output. The member name will be present, but the
  3533  // value will be replaced with "sensitive".
  3534  func (s UntagResourceInput) GoString() string {
  3535  	return s.String()
  3536  }
  3537  
  3538  // Validate inspects the fields of the type to determine if they are valid.
  3539  func (s *UntagResourceInput) Validate() error {
  3540  	invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
  3541  	if s.ResourceArn == nil {
  3542  		invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
  3543  	}
  3544  	if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
  3545  		invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
  3546  	}
  3547  	if s.TagKeys == nil {
  3548  		invalidParams.Add(request.NewErrParamRequired("TagKeys"))
  3549  	}
  3550  	if s.TagKeys != nil && len(s.TagKeys) < 1 {
  3551  		invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
  3552  	}
  3553  
  3554  	if invalidParams.Len() > 0 {
  3555  		return invalidParams
  3556  	}
  3557  	return nil
  3558  }
  3559  
  3560  // SetResourceArn sets the ResourceArn field's value.
  3561  func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
  3562  	s.ResourceArn = &v
  3563  	return s
  3564  }
  3565  
  3566  // SetTagKeys sets the TagKeys field's value.
  3567  func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
  3568  	s.TagKeys = v
  3569  	return s
  3570  }
  3571  
  3572  type UntagResourceOutput struct {
  3573  	_ struct{} `type:"structure" nopayload:"true"`
  3574  }
  3575  
  3576  // String returns the string representation.
  3577  //
  3578  // API parameter values that are decorated as "sensitive" in the API will not
  3579  // be included in the string output. The member name will be present, but the
  3580  // value will be replaced with "sensitive".
  3581  func (s UntagResourceOutput) String() string {
  3582  	return awsutil.Prettify(s)
  3583  }
  3584  
  3585  // GoString returns the string representation.
  3586  //
  3587  // API parameter values that are decorated as "sensitive" in the API will not
  3588  // be included in the string output. The member name will be present, but the
  3589  // value will be replaced with "sensitive".
  3590  func (s UntagResourceOutput) GoString() string {
  3591  	return s.String()
  3592  }
  3593  
  3594  // The request parameters are invalid.
  3595  type ValidationException struct {
  3596  	_            struct{}                  `type:"structure"`
  3597  	RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
  3598  
  3599  	Message_ *string `locationName:"Message" type:"string"`
  3600  }
  3601  
  3602  // String returns the string representation.
  3603  //
  3604  // API parameter values that are decorated as "sensitive" in the API will not
  3605  // be included in the string output. The member name will be present, but the
  3606  // value will be replaced with "sensitive".
  3607  func (s ValidationException) String() string {
  3608  	return awsutil.Prettify(s)
  3609  }
  3610  
  3611  // GoString returns the string representation.
  3612  //
  3613  // API parameter values that are decorated as "sensitive" in the API will not
  3614  // be included in the string output. The member name will be present, but the
  3615  // value will be replaced with "sensitive".
  3616  func (s ValidationException) GoString() string {
  3617  	return s.String()
  3618  }
  3619  
  3620  func newErrorValidationException(v protocol.ResponseMetadata) error {
  3621  	return &ValidationException{
  3622  		RespMetadata: v,
  3623  	}
  3624  }
  3625  
  3626  // Code returns the exception type name.
  3627  func (s *ValidationException) Code() string {
  3628  	return "ValidationException"
  3629  }
  3630  
  3631  // Message returns the exception's message.
  3632  func (s *ValidationException) Message() string {
  3633  	if s.Message_ != nil {
  3634  		return *s.Message_
  3635  	}
  3636  	return ""
  3637  }
  3638  
  3639  // OrigErr always returns nil, satisfies awserr.Error interface.
  3640  func (s *ValidationException) OrigErr() error {
  3641  	return nil
  3642  }
  3643  
  3644  func (s *ValidationException) Error() string {
  3645  	return fmt.Sprintf("%s: %s", s.Code(), s.Message())
  3646  }
  3647  
  3648  // Status code returns the HTTP status code for the request's response error.
  3649  func (s *ValidationException) StatusCode() int {
  3650  	return s.RespMetadata.StatusCode
  3651  }
  3652  
  3653  // RequestID returns the service's response RequestID for request.
  3654  func (s *ValidationException) RequestID() string {
  3655  	return s.RespMetadata.RequestID
  3656  }
  3657  
  3658  const (
  3659  	// MemberDisabledReasonVolumeTooHigh is a MemberDisabledReason enum value
  3660  	MemberDisabledReasonVolumeTooHigh = "VOLUME_TOO_HIGH"
  3661  
  3662  	// MemberDisabledReasonVolumeUnknown is a MemberDisabledReason enum value
  3663  	MemberDisabledReasonVolumeUnknown = "VOLUME_UNKNOWN"
  3664  )
  3665  
  3666  // MemberDisabledReason_Values returns all elements of the MemberDisabledReason enum
  3667  func MemberDisabledReason_Values() []string {
  3668  	return []string{
  3669  		MemberDisabledReasonVolumeTooHigh,
  3670  		MemberDisabledReasonVolumeUnknown,
  3671  	}
  3672  }
  3673  
  3674  const (
  3675  	// MemberStatusInvited is a MemberStatus enum value
  3676  	MemberStatusInvited = "INVITED"
  3677  
  3678  	// MemberStatusVerificationInProgress is a MemberStatus enum value
  3679  	MemberStatusVerificationInProgress = "VERIFICATION_IN_PROGRESS"
  3680  
  3681  	// MemberStatusVerificationFailed is a MemberStatus enum value
  3682  	MemberStatusVerificationFailed = "VERIFICATION_FAILED"
  3683  
  3684  	// MemberStatusEnabled is a MemberStatus enum value
  3685  	MemberStatusEnabled = "ENABLED"
  3686  
  3687  	// MemberStatusAcceptedButDisabled is a MemberStatus enum value
  3688  	MemberStatusAcceptedButDisabled = "ACCEPTED_BUT_DISABLED"
  3689  )
  3690  
  3691  // MemberStatus_Values returns all elements of the MemberStatus enum
  3692  func MemberStatus_Values() []string {
  3693  	return []string{
  3694  		MemberStatusInvited,
  3695  		MemberStatusVerificationInProgress,
  3696  		MemberStatusVerificationFailed,
  3697  		MemberStatusEnabled,
  3698  		MemberStatusAcceptedButDisabled,
  3699  	}
  3700  }