extra/aws-sdk-go/service/detective/api.go (3,489 lines of code) (raw):
// Code generated by private/model/cli/gen-api/main.go. DO NOT EDIT.
package detective
import (
"fmt"
"time"
"github.com/aws/aws-sdk-go/aws"
"github.com/aws/aws-sdk-go/aws/awsutil"
"github.com/aws/aws-sdk-go/aws/request"
"github.com/aws/aws-sdk-go/private/protocol"
"github.com/aws/aws-sdk-go/private/protocol/restjson"
)
const opAcceptInvitation = "AcceptInvitation"
// AcceptInvitationRequest generates a "aws/request.Request" representing the
// client's request for the AcceptInvitation operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See AcceptInvitation for more information on using the AcceptInvitation
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the AcceptInvitationRequest method.
// req, resp := client.AcceptInvitationRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/AcceptInvitation
func (c *Detective) AcceptInvitationRequest(input *AcceptInvitationInput) (req *request.Request, output *AcceptInvitationOutput) {
op := &request.Operation{
Name: opAcceptInvitation,
HTTPMethod: "PUT",
HTTPPath: "/invitation",
}
if input == nil {
input = &AcceptInvitationInput{}
}
output = &AcceptInvitationOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// AcceptInvitation API operation for Amazon Detective.
//
// Accepts an invitation for the member account to contribute data to a behavior
// graph. This operation can only be called by an invited member account.
//
// The request provides the ARN of behavior graph.
//
// The member account status in the graph must be INVITED.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation AcceptInvitation for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - ConflictException
// The request attempted an invalid action.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// - ValidationException
// The request parameters are invalid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/AcceptInvitation
func (c *Detective) AcceptInvitation(input *AcceptInvitationInput) (*AcceptInvitationOutput, error) {
req, out := c.AcceptInvitationRequest(input)
return out, req.Send()
}
// AcceptInvitationWithContext is the same as AcceptInvitation with the addition of
// the ability to pass a context and additional request options.
//
// See AcceptInvitation for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) AcceptInvitationWithContext(ctx aws.Context, input *AcceptInvitationInput, opts ...request.Option) (*AcceptInvitationOutput, error) {
req, out := c.AcceptInvitationRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opBatchGetGraphMemberDatasources = "BatchGetGraphMemberDatasources"
// BatchGetGraphMemberDatasourcesRequest generates a "aws/request.Request" representing the
// client's request for the BatchGetGraphMemberDatasources operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See BatchGetGraphMemberDatasources for more information on using the BatchGetGraphMemberDatasources
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the BatchGetGraphMemberDatasourcesRequest method.
// req, resp := client.BatchGetGraphMemberDatasourcesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/BatchGetGraphMemberDatasources
func (c *Detective) BatchGetGraphMemberDatasourcesRequest(input *BatchGetGraphMemberDatasourcesInput) (req *request.Request, output *BatchGetGraphMemberDatasourcesOutput) {
op := &request.Operation{
Name: opBatchGetGraphMemberDatasources,
HTTPMethod: "POST",
HTTPPath: "/graph/datasources/get",
}
if input == nil {
input = &BatchGetGraphMemberDatasourcesInput{}
}
output = &BatchGetGraphMemberDatasourcesOutput{}
req = c.newRequest(op, input, output)
return
}
// BatchGetGraphMemberDatasources API operation for Amazon Detective.
//
// Gets data source package information for the behavior graph.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation BatchGetGraphMemberDatasources for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// - ValidationException
// The request parameters are invalid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/BatchGetGraphMemberDatasources
func (c *Detective) BatchGetGraphMemberDatasources(input *BatchGetGraphMemberDatasourcesInput) (*BatchGetGraphMemberDatasourcesOutput, error) {
req, out := c.BatchGetGraphMemberDatasourcesRequest(input)
return out, req.Send()
}
// BatchGetGraphMemberDatasourcesWithContext is the same as BatchGetGraphMemberDatasources with the addition of
// the ability to pass a context and additional request options.
//
// See BatchGetGraphMemberDatasources for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) BatchGetGraphMemberDatasourcesWithContext(ctx aws.Context, input *BatchGetGraphMemberDatasourcesInput, opts ...request.Option) (*BatchGetGraphMemberDatasourcesOutput, error) {
req, out := c.BatchGetGraphMemberDatasourcesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opBatchGetMembershipDatasources = "BatchGetMembershipDatasources"
// BatchGetMembershipDatasourcesRequest generates a "aws/request.Request" representing the
// client's request for the BatchGetMembershipDatasources operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See BatchGetMembershipDatasources for more information on using the BatchGetMembershipDatasources
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the BatchGetMembershipDatasourcesRequest method.
// req, resp := client.BatchGetMembershipDatasourcesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/BatchGetMembershipDatasources
func (c *Detective) BatchGetMembershipDatasourcesRequest(input *BatchGetMembershipDatasourcesInput) (req *request.Request, output *BatchGetMembershipDatasourcesOutput) {
op := &request.Operation{
Name: opBatchGetMembershipDatasources,
HTTPMethod: "POST",
HTTPPath: "/membership/datasources/get",
}
if input == nil {
input = &BatchGetMembershipDatasourcesInput{}
}
output = &BatchGetMembershipDatasourcesOutput{}
req = c.newRequest(op, input, output)
return
}
// BatchGetMembershipDatasources API operation for Amazon Detective.
//
// Gets information on the data source package history for an account.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation BatchGetMembershipDatasources for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// - ValidationException
// The request parameters are invalid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/BatchGetMembershipDatasources
func (c *Detective) BatchGetMembershipDatasources(input *BatchGetMembershipDatasourcesInput) (*BatchGetMembershipDatasourcesOutput, error) {
req, out := c.BatchGetMembershipDatasourcesRequest(input)
return out, req.Send()
}
// BatchGetMembershipDatasourcesWithContext is the same as BatchGetMembershipDatasources with the addition of
// the ability to pass a context and additional request options.
//
// See BatchGetMembershipDatasources for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) BatchGetMembershipDatasourcesWithContext(ctx aws.Context, input *BatchGetMembershipDatasourcesInput, opts ...request.Option) (*BatchGetMembershipDatasourcesOutput, error) {
req, out := c.BatchGetMembershipDatasourcesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opCreateGraph = "CreateGraph"
// CreateGraphRequest generates a "aws/request.Request" representing the
// client's request for the CreateGraph operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See CreateGraph for more information on using the CreateGraph
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the CreateGraphRequest method.
// req, resp := client.CreateGraphRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/CreateGraph
func (c *Detective) CreateGraphRequest(input *CreateGraphInput) (req *request.Request, output *CreateGraphOutput) {
op := &request.Operation{
Name: opCreateGraph,
HTTPMethod: "POST",
HTTPPath: "/graph",
}
if input == nil {
input = &CreateGraphInput{}
}
output = &CreateGraphOutput{}
req = c.newRequest(op, input, output)
return
}
// CreateGraph API operation for Amazon Detective.
//
// Creates a new behavior graph for the calling account, and sets that account
// as the administrator account. This operation is called by the account that
// is enabling Detective.
//
// The operation also enables Detective for the calling account in the currently
// selected Region. It returns the ARN of the new behavior graph.
//
// CreateGraph triggers a process to create the corresponding data tables for
// the new behavior graph.
//
// An account can only be the administrator account for one behavior graph within
// a Region. If the same account calls CreateGraph with the same administrator
// account, it always returns the same behavior graph ARN. It does not create
// a new behavior graph.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation CreateGraph for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - ConflictException
// The request attempted an invalid action.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ServiceQuotaExceededException
// This request cannot be completed for one of the following reasons.
//
// - This request cannot be completed if it would cause the number of member
// accounts in the behavior graph to exceed the maximum allowed. A behavior
// graph cannot have more than 1,200 member accounts.
//
// - This request cannot be completed if the current volume ingested is above
// the limit of 10 TB per day. Detective will not allow you to add additional
// member accounts.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/CreateGraph
func (c *Detective) CreateGraph(input *CreateGraphInput) (*CreateGraphOutput, error) {
req, out := c.CreateGraphRequest(input)
return out, req.Send()
}
// CreateGraphWithContext is the same as CreateGraph with the addition of
// the ability to pass a context and additional request options.
//
// See CreateGraph for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) CreateGraphWithContext(ctx aws.Context, input *CreateGraphInput, opts ...request.Option) (*CreateGraphOutput, error) {
req, out := c.CreateGraphRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opCreateMembers = "CreateMembers"
// CreateMembersRequest generates a "aws/request.Request" representing the
// client's request for the CreateMembers operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See CreateMembers for more information on using the CreateMembers
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the CreateMembersRequest method.
// req, resp := client.CreateMembersRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/CreateMembers
func (c *Detective) CreateMembersRequest(input *CreateMembersInput) (req *request.Request, output *CreateMembersOutput) {
op := &request.Operation{
Name: opCreateMembers,
HTTPMethod: "POST",
HTTPPath: "/graph/members",
}
if input == nil {
input = &CreateMembersInput{}
}
output = &CreateMembersOutput{}
req = c.newRequest(op, input, output)
return
}
// CreateMembers API operation for Amazon Detective.
//
// CreateMembers is used to send invitations to accounts. For the organization
// behavior graph, the Detective administrator account uses CreateMembers to
// enable organization accounts as member accounts.
//
// For invited accounts, CreateMembers sends a request to invite the specified
// Amazon Web Services accounts to be member accounts in the behavior graph.
// This operation can only be called by the administrator account for a behavior
// graph.
//
// CreateMembers verifies the accounts and then invites the verified accounts.
// The administrator can optionally specify to not send invitation emails to
// the member accounts. This would be used when the administrator manages their
// member accounts centrally.
//
// For organization accounts in the organization behavior graph, CreateMembers
// attempts to enable the accounts. The organization accounts do not receive
// invitations.
//
// The request provides the behavior graph ARN and the list of accounts to invite
// or to enable.
//
// The response separates the requested accounts into two lists:
//
// - The accounts that CreateMembers was able to process. For invited accounts,
// includes member accounts that are being verified, that have passed verification
// and are to be invited, and that have failed verification. For organization
// accounts in the organization behavior graph, includes accounts that can
// be enabled and that cannot be enabled.
//
// - The accounts that CreateMembers was unable to process. This list includes
// accounts that were already invited to be member accounts in the behavior
// graph.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation CreateMembers for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// - ValidationException
// The request parameters are invalid.
//
// - ServiceQuotaExceededException
// This request cannot be completed for one of the following reasons.
//
// - This request cannot be completed if it would cause the number of member
// accounts in the behavior graph to exceed the maximum allowed. A behavior
// graph cannot have more than 1,200 member accounts.
//
// - This request cannot be completed if the current volume ingested is above
// the limit of 10 TB per day. Detective will not allow you to add additional
// member accounts.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/CreateMembers
func (c *Detective) CreateMembers(input *CreateMembersInput) (*CreateMembersOutput, error) {
req, out := c.CreateMembersRequest(input)
return out, req.Send()
}
// CreateMembersWithContext is the same as CreateMembers with the addition of
// the ability to pass a context and additional request options.
//
// See CreateMembers for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) CreateMembersWithContext(ctx aws.Context, input *CreateMembersInput, opts ...request.Option) (*CreateMembersOutput, error) {
req, out := c.CreateMembersRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDeleteGraph = "DeleteGraph"
// DeleteGraphRequest generates a "aws/request.Request" representing the
// client's request for the DeleteGraph operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteGraph for more information on using the DeleteGraph
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the DeleteGraphRequest method.
// req, resp := client.DeleteGraphRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DeleteGraph
func (c *Detective) DeleteGraphRequest(input *DeleteGraphInput) (req *request.Request, output *DeleteGraphOutput) {
op := &request.Operation{
Name: opDeleteGraph,
HTTPMethod: "POST",
HTTPPath: "/graph/removal",
}
if input == nil {
input = &DeleteGraphInput{}
}
output = &DeleteGraphOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// DeleteGraph API operation for Amazon Detective.
//
// Disables the specified behavior graph and queues it to be deleted. This operation
// removes the behavior graph from each member account's list of behavior graphs.
//
// DeleteGraph can only be called by the administrator account for a behavior
// graph.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation DeleteGraph for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// - ValidationException
// The request parameters are invalid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DeleteGraph
func (c *Detective) DeleteGraph(input *DeleteGraphInput) (*DeleteGraphOutput, error) {
req, out := c.DeleteGraphRequest(input)
return out, req.Send()
}
// DeleteGraphWithContext is the same as DeleteGraph with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteGraph for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) DeleteGraphWithContext(ctx aws.Context, input *DeleteGraphInput, opts ...request.Option) (*DeleteGraphOutput, error) {
req, out := c.DeleteGraphRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDeleteMembers = "DeleteMembers"
// DeleteMembersRequest generates a "aws/request.Request" representing the
// client's request for the DeleteMembers operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DeleteMembers for more information on using the DeleteMembers
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the DeleteMembersRequest method.
// req, resp := client.DeleteMembersRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DeleteMembers
func (c *Detective) DeleteMembersRequest(input *DeleteMembersInput) (req *request.Request, output *DeleteMembersOutput) {
op := &request.Operation{
Name: opDeleteMembers,
HTTPMethod: "POST",
HTTPPath: "/graph/members/removal",
}
if input == nil {
input = &DeleteMembersInput{}
}
output = &DeleteMembersOutput{}
req = c.newRequest(op, input, output)
return
}
// DeleteMembers API operation for Amazon Detective.
//
// Removes the specified member accounts from the behavior graph. The removed
// accounts no longer contribute data to the behavior graph. This operation
// can only be called by the administrator account for the behavior graph.
//
// For invited accounts, the removed accounts are deleted from the list of accounts
// in the behavior graph. To restore the account, the administrator account
// must send another invitation.
//
// For organization accounts in the organization behavior graph, the Detective
// administrator account can always enable the organization account again. Organization
// accounts that are not enabled as member accounts are not included in the
// ListMembers results for the organization behavior graph.
//
// An administrator account cannot use DeleteMembers to remove their own account
// from the behavior graph. To disable a behavior graph, the administrator account
// uses the DeleteGraph API method.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation DeleteMembers for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - ConflictException
// The request attempted an invalid action.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// - ValidationException
// The request parameters are invalid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DeleteMembers
func (c *Detective) DeleteMembers(input *DeleteMembersInput) (*DeleteMembersOutput, error) {
req, out := c.DeleteMembersRequest(input)
return out, req.Send()
}
// DeleteMembersWithContext is the same as DeleteMembers with the addition of
// the ability to pass a context and additional request options.
//
// See DeleteMembers for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) DeleteMembersWithContext(ctx aws.Context, input *DeleteMembersInput, opts ...request.Option) (*DeleteMembersOutput, error) {
req, out := c.DeleteMembersRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDescribeOrganizationConfiguration = "DescribeOrganizationConfiguration"
// DescribeOrganizationConfigurationRequest generates a "aws/request.Request" representing the
// client's request for the DescribeOrganizationConfiguration operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DescribeOrganizationConfiguration for more information on using the DescribeOrganizationConfiguration
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the DescribeOrganizationConfigurationRequest method.
// req, resp := client.DescribeOrganizationConfigurationRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DescribeOrganizationConfiguration
func (c *Detective) DescribeOrganizationConfigurationRequest(input *DescribeOrganizationConfigurationInput) (req *request.Request, output *DescribeOrganizationConfigurationOutput) {
op := &request.Operation{
Name: opDescribeOrganizationConfiguration,
HTTPMethod: "POST",
HTTPPath: "/orgs/describeOrganizationConfiguration",
}
if input == nil {
input = &DescribeOrganizationConfigurationInput{}
}
output = &DescribeOrganizationConfigurationOutput{}
req = c.newRequest(op, input, output)
return
}
// DescribeOrganizationConfiguration API operation for Amazon Detective.
//
// Returns information about the configuration for the organization behavior
// graph. Currently indicates whether to automatically enable new organization
// accounts as member accounts.
//
// Can only be called by the Detective administrator account for the organization.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation DescribeOrganizationConfiguration for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ValidationException
// The request parameters are invalid.
//
// - TooManyRequestsException
// The request cannot be completed because too many other requests are occurring
// at the same time.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DescribeOrganizationConfiguration
func (c *Detective) DescribeOrganizationConfiguration(input *DescribeOrganizationConfigurationInput) (*DescribeOrganizationConfigurationOutput, error) {
req, out := c.DescribeOrganizationConfigurationRequest(input)
return out, req.Send()
}
// DescribeOrganizationConfigurationWithContext is the same as DescribeOrganizationConfiguration with the addition of
// the ability to pass a context and additional request options.
//
// See DescribeOrganizationConfiguration for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) DescribeOrganizationConfigurationWithContext(ctx aws.Context, input *DescribeOrganizationConfigurationInput, opts ...request.Option) (*DescribeOrganizationConfigurationOutput, error) {
req, out := c.DescribeOrganizationConfigurationRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDisableOrganizationAdminAccount = "DisableOrganizationAdminAccount"
// DisableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
// client's request for the DisableOrganizationAdminAccount operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DisableOrganizationAdminAccount for more information on using the DisableOrganizationAdminAccount
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the DisableOrganizationAdminAccountRequest method.
// req, resp := client.DisableOrganizationAdminAccountRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DisableOrganizationAdminAccount
func (c *Detective) DisableOrganizationAdminAccountRequest(input *DisableOrganizationAdminAccountInput) (req *request.Request, output *DisableOrganizationAdminAccountOutput) {
op := &request.Operation{
Name: opDisableOrganizationAdminAccount,
HTTPMethod: "POST",
HTTPPath: "/orgs/disableAdminAccount",
}
if input == nil {
input = &DisableOrganizationAdminAccountInput{}
}
output = &DisableOrganizationAdminAccountOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// DisableOrganizationAdminAccount API operation for Amazon Detective.
//
// Removes the Detective administrator account in the current Region. Deletes
// the organization behavior graph.
//
// Can only be called by the organization management account.
//
// Removing the Detective administrator account does not affect the delegated
// administrator account for Detective in Organizations.
//
// To remove the delegated administrator account in Organizations, use the Organizations
// API. Removing the delegated administrator account also removes the Detective
// administrator account in all Regions, except for Regions where the Detective
// administrator account is the organization management account.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation DisableOrganizationAdminAccount for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ValidationException
// The request parameters are invalid.
//
// - TooManyRequestsException
// The request cannot be completed because too many other requests are occurring
// at the same time.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DisableOrganizationAdminAccount
func (c *Detective) DisableOrganizationAdminAccount(input *DisableOrganizationAdminAccountInput) (*DisableOrganizationAdminAccountOutput, error) {
req, out := c.DisableOrganizationAdminAccountRequest(input)
return out, req.Send()
}
// DisableOrganizationAdminAccountWithContext is the same as DisableOrganizationAdminAccount with the addition of
// the ability to pass a context and additional request options.
//
// See DisableOrganizationAdminAccount for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) DisableOrganizationAdminAccountWithContext(ctx aws.Context, input *DisableOrganizationAdminAccountInput, opts ...request.Option) (*DisableOrganizationAdminAccountOutput, error) {
req, out := c.DisableOrganizationAdminAccountRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opDisassociateMembership = "DisassociateMembership"
// DisassociateMembershipRequest generates a "aws/request.Request" representing the
// client's request for the DisassociateMembership operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See DisassociateMembership for more information on using the DisassociateMembership
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the DisassociateMembershipRequest method.
// req, resp := client.DisassociateMembershipRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DisassociateMembership
func (c *Detective) DisassociateMembershipRequest(input *DisassociateMembershipInput) (req *request.Request, output *DisassociateMembershipOutput) {
op := &request.Operation{
Name: opDisassociateMembership,
HTTPMethod: "POST",
HTTPPath: "/membership/removal",
}
if input == nil {
input = &DisassociateMembershipInput{}
}
output = &DisassociateMembershipOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// DisassociateMembership API operation for Amazon Detective.
//
// Removes the member account from the specified behavior graph. This operation
// can only be called by an invited member account that has the ENABLED status.
//
// DisassociateMembership cannot be called by an organization account in the
// organization behavior graph. For the organization behavior graph, the Detective
// administrator account determines which organization accounts to enable or
// disable as member accounts.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation DisassociateMembership for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - ConflictException
// The request attempted an invalid action.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// - ValidationException
// The request parameters are invalid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/DisassociateMembership
func (c *Detective) DisassociateMembership(input *DisassociateMembershipInput) (*DisassociateMembershipOutput, error) {
req, out := c.DisassociateMembershipRequest(input)
return out, req.Send()
}
// DisassociateMembershipWithContext is the same as DisassociateMembership with the addition of
// the ability to pass a context and additional request options.
//
// See DisassociateMembership for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) DisassociateMembershipWithContext(ctx aws.Context, input *DisassociateMembershipInput, opts ...request.Option) (*DisassociateMembershipOutput, error) {
req, out := c.DisassociateMembershipRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opEnableOrganizationAdminAccount = "EnableOrganizationAdminAccount"
// EnableOrganizationAdminAccountRequest generates a "aws/request.Request" representing the
// client's request for the EnableOrganizationAdminAccount operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See EnableOrganizationAdminAccount for more information on using the EnableOrganizationAdminAccount
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the EnableOrganizationAdminAccountRequest method.
// req, resp := client.EnableOrganizationAdminAccountRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/EnableOrganizationAdminAccount
func (c *Detective) EnableOrganizationAdminAccountRequest(input *EnableOrganizationAdminAccountInput) (req *request.Request, output *EnableOrganizationAdminAccountOutput) {
op := &request.Operation{
Name: opEnableOrganizationAdminAccount,
HTTPMethod: "POST",
HTTPPath: "/orgs/enableAdminAccount",
}
if input == nil {
input = &EnableOrganizationAdminAccountInput{}
}
output = &EnableOrganizationAdminAccountOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// EnableOrganizationAdminAccount API operation for Amazon Detective.
//
// Designates the Detective administrator account for the organization in the
// current Region.
//
// If the account does not have Detective enabled, then enables Detective for
// that account and creates a new behavior graph.
//
// Can only be called by the organization management account.
//
// If the organization has a delegated administrator account in Organizations,
// then the Detective administrator account must be either the delegated administrator
// account or the organization management account.
//
// If the organization does not have a delegated administrator account in Organizations,
// then you can choose any account in the organization. If you choose an account
// other than the organization management account, Detective calls Organizations
// to make that account the delegated administrator account for Detective. The
// organization management account cannot be the delegated administrator account.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation EnableOrganizationAdminAccount for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ValidationException
// The request parameters are invalid.
//
// - TooManyRequestsException
// The request cannot be completed because too many other requests are occurring
// at the same time.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/EnableOrganizationAdminAccount
func (c *Detective) EnableOrganizationAdminAccount(input *EnableOrganizationAdminAccountInput) (*EnableOrganizationAdminAccountOutput, error) {
req, out := c.EnableOrganizationAdminAccountRequest(input)
return out, req.Send()
}
// EnableOrganizationAdminAccountWithContext is the same as EnableOrganizationAdminAccount with the addition of
// the ability to pass a context and additional request options.
//
// See EnableOrganizationAdminAccount for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) EnableOrganizationAdminAccountWithContext(ctx aws.Context, input *EnableOrganizationAdminAccountInput, opts ...request.Option) (*EnableOrganizationAdminAccountOutput, error) {
req, out := c.EnableOrganizationAdminAccountRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetInvestigation = "GetInvestigation"
// GetInvestigationRequest generates a "aws/request.Request" representing the
// client's request for the GetInvestigation operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See GetInvestigation for more information on using the GetInvestigation
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the GetInvestigationRequest method.
// req, resp := client.GetInvestigationRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/GetInvestigation
func (c *Detective) GetInvestigationRequest(input *GetInvestigationInput) (req *request.Request, output *GetInvestigationOutput) {
op := &request.Operation{
Name: opGetInvestigation,
HTTPMethod: "POST",
HTTPPath: "/investigations/getInvestigation",
}
if input == nil {
input = &GetInvestigationInput{}
}
output = &GetInvestigationOutput{}
req = c.newRequest(op, input, output)
return
}
// GetInvestigation API operation for Amazon Detective.
//
// Detective investigations lets you investigate IAM users and IAM roles using
// indicators of compromise. An indicator of compromise (IOC) is an artifact
// observed in or on a network, system, or environment that can (with a high
// level of confidence) identify malicious activity or a security incident.
// GetInvestigation returns the investigation results of an investigation for
// a behavior graph.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation GetInvestigation for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ValidationException
// The request parameters are invalid.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// - TooManyRequestsException
// The request cannot be completed because too many other requests are occurring
// at the same time.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/GetInvestigation
func (c *Detective) GetInvestigation(input *GetInvestigationInput) (*GetInvestigationOutput, error) {
req, out := c.GetInvestigationRequest(input)
return out, req.Send()
}
// GetInvestigationWithContext is the same as GetInvestigation with the addition of
// the ability to pass a context and additional request options.
//
// See GetInvestigation for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) GetInvestigationWithContext(ctx aws.Context, input *GetInvestigationInput, opts ...request.Option) (*GetInvestigationOutput, error) {
req, out := c.GetInvestigationRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opGetMembers = "GetMembers"
// GetMembersRequest generates a "aws/request.Request" representing the
// client's request for the GetMembers operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See GetMembers for more information on using the GetMembers
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the GetMembersRequest method.
// req, resp := client.GetMembersRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/GetMembers
func (c *Detective) GetMembersRequest(input *GetMembersInput) (req *request.Request, output *GetMembersOutput) {
op := &request.Operation{
Name: opGetMembers,
HTTPMethod: "POST",
HTTPPath: "/graph/members/get",
}
if input == nil {
input = &GetMembersInput{}
}
output = &GetMembersOutput{}
req = c.newRequest(op, input, output)
return
}
// GetMembers API operation for Amazon Detective.
//
// Returns the membership details for specified member accounts for a behavior
// graph.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation GetMembers for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// - ValidationException
// The request parameters are invalid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/GetMembers
func (c *Detective) GetMembers(input *GetMembersInput) (*GetMembersOutput, error) {
req, out := c.GetMembersRequest(input)
return out, req.Send()
}
// GetMembersWithContext is the same as GetMembers with the addition of
// the ability to pass a context and additional request options.
//
// See GetMembers for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) GetMembersWithContext(ctx aws.Context, input *GetMembersInput, opts ...request.Option) (*GetMembersOutput, error) {
req, out := c.GetMembersRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opListDatasourcePackages = "ListDatasourcePackages"
// ListDatasourcePackagesRequest generates a "aws/request.Request" representing the
// client's request for the ListDatasourcePackages operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListDatasourcePackages for more information on using the ListDatasourcePackages
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the ListDatasourcePackagesRequest method.
// req, resp := client.ListDatasourcePackagesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListDatasourcePackages
func (c *Detective) ListDatasourcePackagesRequest(input *ListDatasourcePackagesInput) (req *request.Request, output *ListDatasourcePackagesOutput) {
op := &request.Operation{
Name: opListDatasourcePackages,
HTTPMethod: "POST",
HTTPPath: "/graph/datasources/list",
Paginator: &request.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "MaxResults",
TruncationToken: "",
},
}
if input == nil {
input = &ListDatasourcePackagesInput{}
}
output = &ListDatasourcePackagesOutput{}
req = c.newRequest(op, input, output)
return
}
// ListDatasourcePackages API operation for Amazon Detective.
//
// Lists data source packages in the behavior graph.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation ListDatasourcePackages for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// - ValidationException
// The request parameters are invalid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListDatasourcePackages
func (c *Detective) ListDatasourcePackages(input *ListDatasourcePackagesInput) (*ListDatasourcePackagesOutput, error) {
req, out := c.ListDatasourcePackagesRequest(input)
return out, req.Send()
}
// ListDatasourcePackagesWithContext is the same as ListDatasourcePackages with the addition of
// the ability to pass a context and additional request options.
//
// See ListDatasourcePackages for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) ListDatasourcePackagesWithContext(ctx aws.Context, input *ListDatasourcePackagesInput, opts ...request.Option) (*ListDatasourcePackagesOutput, error) {
req, out := c.ListDatasourcePackagesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// ListDatasourcePackagesPages iterates over the pages of a ListDatasourcePackages operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListDatasourcePackages method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a ListDatasourcePackages operation.
// pageNum := 0
// err := client.ListDatasourcePackagesPages(params,
// func(page *detective.ListDatasourcePackagesOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *Detective) ListDatasourcePackagesPages(input *ListDatasourcePackagesInput, fn func(*ListDatasourcePackagesOutput, bool) bool) error {
return c.ListDatasourcePackagesPagesWithContext(aws.BackgroundContext(), input, fn)
}
// ListDatasourcePackagesPagesWithContext same as ListDatasourcePackagesPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) ListDatasourcePackagesPagesWithContext(ctx aws.Context, input *ListDatasourcePackagesInput, fn func(*ListDatasourcePackagesOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *ListDatasourcePackagesInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.ListDatasourcePackagesRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*ListDatasourcePackagesOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opListGraphs = "ListGraphs"
// ListGraphsRequest generates a "aws/request.Request" representing the
// client's request for the ListGraphs operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListGraphs for more information on using the ListGraphs
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the ListGraphsRequest method.
// req, resp := client.ListGraphsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListGraphs
func (c *Detective) ListGraphsRequest(input *ListGraphsInput) (req *request.Request, output *ListGraphsOutput) {
op := &request.Operation{
Name: opListGraphs,
HTTPMethod: "POST",
HTTPPath: "/graphs/list",
Paginator: &request.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "MaxResults",
TruncationToken: "",
},
}
if input == nil {
input = &ListGraphsInput{}
}
output = &ListGraphsOutput{}
req = c.newRequest(op, input, output)
return
}
// ListGraphs API operation for Amazon Detective.
//
// Returns the list of behavior graphs that the calling account is an administrator
// account of. This operation can only be called by an administrator account.
//
// Because an account can currently only be the administrator of one behavior
// graph within a Region, the results always contain a single behavior graph.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation ListGraphs for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ValidationException
// The request parameters are invalid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListGraphs
func (c *Detective) ListGraphs(input *ListGraphsInput) (*ListGraphsOutput, error) {
req, out := c.ListGraphsRequest(input)
return out, req.Send()
}
// ListGraphsWithContext is the same as ListGraphs with the addition of
// the ability to pass a context and additional request options.
//
// See ListGraphs for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) ListGraphsWithContext(ctx aws.Context, input *ListGraphsInput, opts ...request.Option) (*ListGraphsOutput, error) {
req, out := c.ListGraphsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// ListGraphsPages iterates over the pages of a ListGraphs operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListGraphs method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a ListGraphs operation.
// pageNum := 0
// err := client.ListGraphsPages(params,
// func(page *detective.ListGraphsOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *Detective) ListGraphsPages(input *ListGraphsInput, fn func(*ListGraphsOutput, bool) bool) error {
return c.ListGraphsPagesWithContext(aws.BackgroundContext(), input, fn)
}
// ListGraphsPagesWithContext same as ListGraphsPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) ListGraphsPagesWithContext(ctx aws.Context, input *ListGraphsInput, fn func(*ListGraphsOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *ListGraphsInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.ListGraphsRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*ListGraphsOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opListIndicators = "ListIndicators"
// ListIndicatorsRequest generates a "aws/request.Request" representing the
// client's request for the ListIndicators operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListIndicators for more information on using the ListIndicators
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the ListIndicatorsRequest method.
// req, resp := client.ListIndicatorsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListIndicators
func (c *Detective) ListIndicatorsRequest(input *ListIndicatorsInput) (req *request.Request, output *ListIndicatorsOutput) {
op := &request.Operation{
Name: opListIndicators,
HTTPMethod: "POST",
HTTPPath: "/investigations/listIndicators",
}
if input == nil {
input = &ListIndicatorsInput{}
}
output = &ListIndicatorsOutput{}
req = c.newRequest(op, input, output)
return
}
// ListIndicators API operation for Amazon Detective.
//
// Gets the indicators from an investigation. You can use the information from
// the indicators to determine if an IAM user and/or IAM role is involved in
// an unusual activity that could indicate malicious behavior and its impact.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation ListIndicators for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ValidationException
// The request parameters are invalid.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// - TooManyRequestsException
// The request cannot be completed because too many other requests are occurring
// at the same time.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListIndicators
func (c *Detective) ListIndicators(input *ListIndicatorsInput) (*ListIndicatorsOutput, error) {
req, out := c.ListIndicatorsRequest(input)
return out, req.Send()
}
// ListIndicatorsWithContext is the same as ListIndicators with the addition of
// the ability to pass a context and additional request options.
//
// See ListIndicators for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) ListIndicatorsWithContext(ctx aws.Context, input *ListIndicatorsInput, opts ...request.Option) (*ListIndicatorsOutput, error) {
req, out := c.ListIndicatorsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opListInvestigations = "ListInvestigations"
// ListInvestigationsRequest generates a "aws/request.Request" representing the
// client's request for the ListInvestigations operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListInvestigations for more information on using the ListInvestigations
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the ListInvestigationsRequest method.
// req, resp := client.ListInvestigationsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListInvestigations
func (c *Detective) ListInvestigationsRequest(input *ListInvestigationsInput) (req *request.Request, output *ListInvestigationsOutput) {
op := &request.Operation{
Name: opListInvestigations,
HTTPMethod: "POST",
HTTPPath: "/investigations/listInvestigations",
}
if input == nil {
input = &ListInvestigationsInput{}
}
output = &ListInvestigationsOutput{}
req = c.newRequest(op, input, output)
return
}
// ListInvestigations API operation for Amazon Detective.
//
// Detective investigations lets you investigate IAM users and IAM roles using
// indicators of compromise. An indicator of compromise (IOC) is an artifact
// observed in or on a network, system, or environment that can (with a high
// level of confidence) identify malicious activity or a security incident.
// ListInvestigations lists all active Detective investigations.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation ListInvestigations for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ValidationException
// The request parameters are invalid.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// - TooManyRequestsException
// The request cannot be completed because too many other requests are occurring
// at the same time.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListInvestigations
func (c *Detective) ListInvestigations(input *ListInvestigationsInput) (*ListInvestigationsOutput, error) {
req, out := c.ListInvestigationsRequest(input)
return out, req.Send()
}
// ListInvestigationsWithContext is the same as ListInvestigations with the addition of
// the ability to pass a context and additional request options.
//
// See ListInvestigations for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) ListInvestigationsWithContext(ctx aws.Context, input *ListInvestigationsInput, opts ...request.Option) (*ListInvestigationsOutput, error) {
req, out := c.ListInvestigationsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opListInvitations = "ListInvitations"
// ListInvitationsRequest generates a "aws/request.Request" representing the
// client's request for the ListInvitations operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListInvitations for more information on using the ListInvitations
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the ListInvitationsRequest method.
// req, resp := client.ListInvitationsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListInvitations
func (c *Detective) ListInvitationsRequest(input *ListInvitationsInput) (req *request.Request, output *ListInvitationsOutput) {
op := &request.Operation{
Name: opListInvitations,
HTTPMethod: "POST",
HTTPPath: "/invitations/list",
Paginator: &request.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "MaxResults",
TruncationToken: "",
},
}
if input == nil {
input = &ListInvitationsInput{}
}
output = &ListInvitationsOutput{}
req = c.newRequest(op, input, output)
return
}
// ListInvitations API operation for Amazon Detective.
//
// Retrieves the list of open and accepted behavior graph invitations for the
// member account. This operation can only be called by an invited member account.
//
// Open invitations are invitations that the member account has not responded
// to.
//
// The results do not include behavior graphs for which the member account declined
// the invitation. The results also do not include behavior graphs that the
// member account resigned from or was removed from.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation ListInvitations for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ValidationException
// The request parameters are invalid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListInvitations
func (c *Detective) ListInvitations(input *ListInvitationsInput) (*ListInvitationsOutput, error) {
req, out := c.ListInvitationsRequest(input)
return out, req.Send()
}
// ListInvitationsWithContext is the same as ListInvitations with the addition of
// the ability to pass a context and additional request options.
//
// See ListInvitations for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) ListInvitationsWithContext(ctx aws.Context, input *ListInvitationsInput, opts ...request.Option) (*ListInvitationsOutput, error) {
req, out := c.ListInvitationsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// ListInvitationsPages iterates over the pages of a ListInvitations operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListInvitations method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a ListInvitations operation.
// pageNum := 0
// err := client.ListInvitationsPages(params,
// func(page *detective.ListInvitationsOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *Detective) ListInvitationsPages(input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool) error {
return c.ListInvitationsPagesWithContext(aws.BackgroundContext(), input, fn)
}
// ListInvitationsPagesWithContext same as ListInvitationsPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) ListInvitationsPagesWithContext(ctx aws.Context, input *ListInvitationsInput, fn func(*ListInvitationsOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *ListInvitationsInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.ListInvitationsRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*ListInvitationsOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opListMembers = "ListMembers"
// ListMembersRequest generates a "aws/request.Request" representing the
// client's request for the ListMembers operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListMembers for more information on using the ListMembers
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the ListMembersRequest method.
// req, resp := client.ListMembersRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListMembers
func (c *Detective) ListMembersRequest(input *ListMembersInput) (req *request.Request, output *ListMembersOutput) {
op := &request.Operation{
Name: opListMembers,
HTTPMethod: "POST",
HTTPPath: "/graph/members/list",
Paginator: &request.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "MaxResults",
TruncationToken: "",
},
}
if input == nil {
input = &ListMembersInput{}
}
output = &ListMembersOutput{}
req = c.newRequest(op, input, output)
return
}
// ListMembers API operation for Amazon Detective.
//
// Retrieves the list of member accounts for a behavior graph.
//
// For invited accounts, the results do not include member accounts that were
// removed from the behavior graph.
//
// For the organization behavior graph, the results do not include organization
// accounts that the Detective administrator account has not enabled as member
// accounts.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation ListMembers for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// - ValidationException
// The request parameters are invalid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListMembers
func (c *Detective) ListMembers(input *ListMembersInput) (*ListMembersOutput, error) {
req, out := c.ListMembersRequest(input)
return out, req.Send()
}
// ListMembersWithContext is the same as ListMembers with the addition of
// the ability to pass a context and additional request options.
//
// See ListMembers for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) ListMembersWithContext(ctx aws.Context, input *ListMembersInput, opts ...request.Option) (*ListMembersOutput, error) {
req, out := c.ListMembersRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// ListMembersPages iterates over the pages of a ListMembers operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListMembers method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a ListMembers operation.
// pageNum := 0
// err := client.ListMembersPages(params,
// func(page *detective.ListMembersOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *Detective) ListMembersPages(input *ListMembersInput, fn func(*ListMembersOutput, bool) bool) error {
return c.ListMembersPagesWithContext(aws.BackgroundContext(), input, fn)
}
// ListMembersPagesWithContext same as ListMembersPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) ListMembersPagesWithContext(ctx aws.Context, input *ListMembersInput, fn func(*ListMembersOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *ListMembersInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.ListMembersRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*ListMembersOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opListOrganizationAdminAccounts = "ListOrganizationAdminAccounts"
// ListOrganizationAdminAccountsRequest generates a "aws/request.Request" representing the
// client's request for the ListOrganizationAdminAccounts operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListOrganizationAdminAccounts for more information on using the ListOrganizationAdminAccounts
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the ListOrganizationAdminAccountsRequest method.
// req, resp := client.ListOrganizationAdminAccountsRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListOrganizationAdminAccounts
func (c *Detective) ListOrganizationAdminAccountsRequest(input *ListOrganizationAdminAccountsInput) (req *request.Request, output *ListOrganizationAdminAccountsOutput) {
op := &request.Operation{
Name: opListOrganizationAdminAccounts,
HTTPMethod: "POST",
HTTPPath: "/orgs/adminAccountslist",
Paginator: &request.Paginator{
InputTokens: []string{"NextToken"},
OutputTokens: []string{"NextToken"},
LimitToken: "MaxResults",
TruncationToken: "",
},
}
if input == nil {
input = &ListOrganizationAdminAccountsInput{}
}
output = &ListOrganizationAdminAccountsOutput{}
req = c.newRequest(op, input, output)
return
}
// ListOrganizationAdminAccounts API operation for Amazon Detective.
//
// Returns information about the Detective administrator account for an organization.
// Can only be called by the organization management account.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation ListOrganizationAdminAccounts for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ValidationException
// The request parameters are invalid.
//
// - TooManyRequestsException
// The request cannot be completed because too many other requests are occurring
// at the same time.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListOrganizationAdminAccounts
func (c *Detective) ListOrganizationAdminAccounts(input *ListOrganizationAdminAccountsInput) (*ListOrganizationAdminAccountsOutput, error) {
req, out := c.ListOrganizationAdminAccountsRequest(input)
return out, req.Send()
}
// ListOrganizationAdminAccountsWithContext is the same as ListOrganizationAdminAccounts with the addition of
// the ability to pass a context and additional request options.
//
// See ListOrganizationAdminAccounts for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) ListOrganizationAdminAccountsWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, opts ...request.Option) (*ListOrganizationAdminAccountsOutput, error) {
req, out := c.ListOrganizationAdminAccountsRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
// ListOrganizationAdminAccountsPages iterates over the pages of a ListOrganizationAdminAccounts operation,
// calling the "fn" function with the response data for each page. To stop
// iterating, return false from the fn function.
//
// See ListOrganizationAdminAccounts method for more information on how to use this operation.
//
// Note: This operation can generate multiple requests to a service.
//
// // Example iterating over at most 3 pages of a ListOrganizationAdminAccounts operation.
// pageNum := 0
// err := client.ListOrganizationAdminAccountsPages(params,
// func(page *detective.ListOrganizationAdminAccountsOutput, lastPage bool) bool {
// pageNum++
// fmt.Println(page)
// return pageNum <= 3
// })
func (c *Detective) ListOrganizationAdminAccountsPages(input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool) error {
return c.ListOrganizationAdminAccountsPagesWithContext(aws.BackgroundContext(), input, fn)
}
// ListOrganizationAdminAccountsPagesWithContext same as ListOrganizationAdminAccountsPages except
// it takes a Context and allows setting request options on the pages.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) ListOrganizationAdminAccountsPagesWithContext(ctx aws.Context, input *ListOrganizationAdminAccountsInput, fn func(*ListOrganizationAdminAccountsOutput, bool) bool, opts ...request.Option) error {
p := request.Pagination{
NewRequest: func() (*request.Request, error) {
var inCpy *ListOrganizationAdminAccountsInput
if input != nil {
tmp := *input
inCpy = &tmp
}
req, _ := c.ListOrganizationAdminAccountsRequest(inCpy)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return req, nil
},
}
for p.Next() {
if !fn(p.Page().(*ListOrganizationAdminAccountsOutput), !p.HasNextPage()) {
break
}
}
return p.Err()
}
const opListTagsForResource = "ListTagsForResource"
// ListTagsForResourceRequest generates a "aws/request.Request" representing the
// client's request for the ListTagsForResource operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See ListTagsForResource for more information on using the ListTagsForResource
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the ListTagsForResourceRequest method.
// req, resp := client.ListTagsForResourceRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListTagsForResource
func (c *Detective) ListTagsForResourceRequest(input *ListTagsForResourceInput) (req *request.Request, output *ListTagsForResourceOutput) {
op := &request.Operation{
Name: opListTagsForResource,
HTTPMethod: "GET",
HTTPPath: "/tags/{ResourceArn}",
}
if input == nil {
input = &ListTagsForResourceInput{}
}
output = &ListTagsForResourceOutput{}
req = c.newRequest(op, input, output)
return
}
// ListTagsForResource API operation for Amazon Detective.
//
// Returns the tag values that are assigned to a behavior graph.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation ListTagsForResource for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ValidationException
// The request parameters are invalid.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/ListTagsForResource
func (c *Detective) ListTagsForResource(input *ListTagsForResourceInput) (*ListTagsForResourceOutput, error) {
req, out := c.ListTagsForResourceRequest(input)
return out, req.Send()
}
// ListTagsForResourceWithContext is the same as ListTagsForResource with the addition of
// the ability to pass a context and additional request options.
//
// See ListTagsForResource for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) ListTagsForResourceWithContext(ctx aws.Context, input *ListTagsForResourceInput, opts ...request.Option) (*ListTagsForResourceOutput, error) {
req, out := c.ListTagsForResourceRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opRejectInvitation = "RejectInvitation"
// RejectInvitationRequest generates a "aws/request.Request" representing the
// client's request for the RejectInvitation operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See RejectInvitation for more information on using the RejectInvitation
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the RejectInvitationRequest method.
// req, resp := client.RejectInvitationRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/RejectInvitation
func (c *Detective) RejectInvitationRequest(input *RejectInvitationInput) (req *request.Request, output *RejectInvitationOutput) {
op := &request.Operation{
Name: opRejectInvitation,
HTTPMethod: "POST",
HTTPPath: "/invitation/removal",
}
if input == nil {
input = &RejectInvitationInput{}
}
output = &RejectInvitationOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// RejectInvitation API operation for Amazon Detective.
//
// Rejects an invitation to contribute the account data to a behavior graph.
// This operation must be called by an invited member account that has the INVITED
// status.
//
// RejectInvitation cannot be called by an organization account in the organization
// behavior graph. In the organization behavior graph, organization accounts
// do not receive an invitation.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation RejectInvitation for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - ConflictException
// The request attempted an invalid action.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// - ValidationException
// The request parameters are invalid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/RejectInvitation
func (c *Detective) RejectInvitation(input *RejectInvitationInput) (*RejectInvitationOutput, error) {
req, out := c.RejectInvitationRequest(input)
return out, req.Send()
}
// RejectInvitationWithContext is the same as RejectInvitation with the addition of
// the ability to pass a context and additional request options.
//
// See RejectInvitation for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) RejectInvitationWithContext(ctx aws.Context, input *RejectInvitationInput, opts ...request.Option) (*RejectInvitationOutput, error) {
req, out := c.RejectInvitationRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opStartInvestigation = "StartInvestigation"
// StartInvestigationRequest generates a "aws/request.Request" representing the
// client's request for the StartInvestigation operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See StartInvestigation for more information on using the StartInvestigation
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the StartInvestigationRequest method.
// req, resp := client.StartInvestigationRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/StartInvestigation
func (c *Detective) StartInvestigationRequest(input *StartInvestigationInput) (req *request.Request, output *StartInvestigationOutput) {
op := &request.Operation{
Name: opStartInvestigation,
HTTPMethod: "POST",
HTTPPath: "/investigations/startInvestigation",
}
if input == nil {
input = &StartInvestigationInput{}
}
output = &StartInvestigationOutput{}
req = c.newRequest(op, input, output)
return
}
// StartInvestigation API operation for Amazon Detective.
//
// Detective investigations lets you investigate IAM users and IAM roles using
// indicators of compromise. An indicator of compromise (IOC) is an artifact
// observed in or on a network, system, or environment that can (with a high
// level of confidence) identify malicious activity or a security incident.
// StartInvestigation initiates an investigation on an entity in a behavior
// graph.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation StartInvestigation for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ValidationException
// The request parameters are invalid.
//
// - TooManyRequestsException
// The request cannot be completed because too many other requests are occurring
// at the same time.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/StartInvestigation
func (c *Detective) StartInvestigation(input *StartInvestigationInput) (*StartInvestigationOutput, error) {
req, out := c.StartInvestigationRequest(input)
return out, req.Send()
}
// StartInvestigationWithContext is the same as StartInvestigation with the addition of
// the ability to pass a context and additional request options.
//
// See StartInvestigation for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) StartInvestigationWithContext(ctx aws.Context, input *StartInvestigationInput, opts ...request.Option) (*StartInvestigationOutput, error) {
req, out := c.StartInvestigationRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opStartMonitoringMember = "StartMonitoringMember"
// StartMonitoringMemberRequest generates a "aws/request.Request" representing the
// client's request for the StartMonitoringMember operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See StartMonitoringMember for more information on using the StartMonitoringMember
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the StartMonitoringMemberRequest method.
// req, resp := client.StartMonitoringMemberRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/StartMonitoringMember
func (c *Detective) StartMonitoringMemberRequest(input *StartMonitoringMemberInput) (req *request.Request, output *StartMonitoringMemberOutput) {
op := &request.Operation{
Name: opStartMonitoringMember,
HTTPMethod: "POST",
HTTPPath: "/graph/member/monitoringstate",
}
if input == nil {
input = &StartMonitoringMemberInput{}
}
output = &StartMonitoringMemberOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// StartMonitoringMember API operation for Amazon Detective.
//
// Sends a request to enable data ingest for a member account that has a status
// of ACCEPTED_BUT_DISABLED.
//
// For valid member accounts, the status is updated as follows.
//
// - If Detective enabled the member account, then the new status is ENABLED.
//
// - If Detective cannot enable the member account, the status remains ACCEPTED_BUT_DISABLED.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation StartMonitoringMember for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - ConflictException
// The request attempted an invalid action.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// - ServiceQuotaExceededException
// This request cannot be completed for one of the following reasons.
//
// - This request cannot be completed if it would cause the number of member
// accounts in the behavior graph to exceed the maximum allowed. A behavior
// graph cannot have more than 1,200 member accounts.
//
// - This request cannot be completed if the current volume ingested is above
// the limit of 10 TB per day. Detective will not allow you to add additional
// member accounts.
//
// - ValidationException
// The request parameters are invalid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/StartMonitoringMember
func (c *Detective) StartMonitoringMember(input *StartMonitoringMemberInput) (*StartMonitoringMemberOutput, error) {
req, out := c.StartMonitoringMemberRequest(input)
return out, req.Send()
}
// StartMonitoringMemberWithContext is the same as StartMonitoringMember with the addition of
// the ability to pass a context and additional request options.
//
// See StartMonitoringMember for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) StartMonitoringMemberWithContext(ctx aws.Context, input *StartMonitoringMemberInput, opts ...request.Option) (*StartMonitoringMemberOutput, error) {
req, out := c.StartMonitoringMemberRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opTagResource = "TagResource"
// TagResourceRequest generates a "aws/request.Request" representing the
// client's request for the TagResource operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See TagResource for more information on using the TagResource
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the TagResourceRequest method.
// req, resp := client.TagResourceRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/TagResource
func (c *Detective) TagResourceRequest(input *TagResourceInput) (req *request.Request, output *TagResourceOutput) {
op := &request.Operation{
Name: opTagResource,
HTTPMethod: "POST",
HTTPPath: "/tags/{ResourceArn}",
}
if input == nil {
input = &TagResourceInput{}
}
output = &TagResourceOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// TagResource API operation for Amazon Detective.
//
// Applies tag values to a behavior graph.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation TagResource for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ValidationException
// The request parameters are invalid.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/TagResource
func (c *Detective) TagResource(input *TagResourceInput) (*TagResourceOutput, error) {
req, out := c.TagResourceRequest(input)
return out, req.Send()
}
// TagResourceWithContext is the same as TagResource with the addition of
// the ability to pass a context and additional request options.
//
// See TagResource for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) TagResourceWithContext(ctx aws.Context, input *TagResourceInput, opts ...request.Option) (*TagResourceOutput, error) {
req, out := c.TagResourceRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opUntagResource = "UntagResource"
// UntagResourceRequest generates a "aws/request.Request" representing the
// client's request for the UntagResource operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See UntagResource for more information on using the UntagResource
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the UntagResourceRequest method.
// req, resp := client.UntagResourceRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/UntagResource
func (c *Detective) UntagResourceRequest(input *UntagResourceInput) (req *request.Request, output *UntagResourceOutput) {
op := &request.Operation{
Name: opUntagResource,
HTTPMethod: "DELETE",
HTTPPath: "/tags/{ResourceArn}",
}
if input == nil {
input = &UntagResourceInput{}
}
output = &UntagResourceOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// UntagResource API operation for Amazon Detective.
//
// Removes tags from a behavior graph.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation UntagResource for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ValidationException
// The request parameters are invalid.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/UntagResource
func (c *Detective) UntagResource(input *UntagResourceInput) (*UntagResourceOutput, error) {
req, out := c.UntagResourceRequest(input)
return out, req.Send()
}
// UntagResourceWithContext is the same as UntagResource with the addition of
// the ability to pass a context and additional request options.
//
// See UntagResource for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) UntagResourceWithContext(ctx aws.Context, input *UntagResourceInput, opts ...request.Option) (*UntagResourceOutput, error) {
req, out := c.UntagResourceRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opUpdateDatasourcePackages = "UpdateDatasourcePackages"
// UpdateDatasourcePackagesRequest generates a "aws/request.Request" representing the
// client's request for the UpdateDatasourcePackages operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See UpdateDatasourcePackages for more information on using the UpdateDatasourcePackages
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the UpdateDatasourcePackagesRequest method.
// req, resp := client.UpdateDatasourcePackagesRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/UpdateDatasourcePackages
func (c *Detective) UpdateDatasourcePackagesRequest(input *UpdateDatasourcePackagesInput) (req *request.Request, output *UpdateDatasourcePackagesOutput) {
op := &request.Operation{
Name: opUpdateDatasourcePackages,
HTTPMethod: "POST",
HTTPPath: "/graph/datasources/update",
}
if input == nil {
input = &UpdateDatasourcePackagesInput{}
}
output = &UpdateDatasourcePackagesOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// UpdateDatasourcePackages API operation for Amazon Detective.
//
// Starts a data source packages for the behavior graph.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation UpdateDatasourcePackages for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// - ServiceQuotaExceededException
// This request cannot be completed for one of the following reasons.
//
// - This request cannot be completed if it would cause the number of member
// accounts in the behavior graph to exceed the maximum allowed. A behavior
// graph cannot have more than 1,200 member accounts.
//
// - This request cannot be completed if the current volume ingested is above
// the limit of 10 TB per day. Detective will not allow you to add additional
// member accounts.
//
// - ValidationException
// The request parameters are invalid.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/UpdateDatasourcePackages
func (c *Detective) UpdateDatasourcePackages(input *UpdateDatasourcePackagesInput) (*UpdateDatasourcePackagesOutput, error) {
req, out := c.UpdateDatasourcePackagesRequest(input)
return out, req.Send()
}
// UpdateDatasourcePackagesWithContext is the same as UpdateDatasourcePackages with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateDatasourcePackages for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) UpdateDatasourcePackagesWithContext(ctx aws.Context, input *UpdateDatasourcePackagesInput, opts ...request.Option) (*UpdateDatasourcePackagesOutput, error) {
req, out := c.UpdateDatasourcePackagesRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opUpdateInvestigationState = "UpdateInvestigationState"
// UpdateInvestigationStateRequest generates a "aws/request.Request" representing the
// client's request for the UpdateInvestigationState operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See UpdateInvestigationState for more information on using the UpdateInvestigationState
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the UpdateInvestigationStateRequest method.
// req, resp := client.UpdateInvestigationStateRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/UpdateInvestigationState
func (c *Detective) UpdateInvestigationStateRequest(input *UpdateInvestigationStateInput) (req *request.Request, output *UpdateInvestigationStateOutput) {
op := &request.Operation{
Name: opUpdateInvestigationState,
HTTPMethod: "POST",
HTTPPath: "/investigations/updateInvestigationState",
}
if input == nil {
input = &UpdateInvestigationStateInput{}
}
output = &UpdateInvestigationStateOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// UpdateInvestigationState API operation for Amazon Detective.
//
// Updates the state of an investigation.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation UpdateInvestigationState for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ValidationException
// The request parameters are invalid.
//
// - ResourceNotFoundException
// The request refers to a nonexistent resource.
//
// - TooManyRequestsException
// The request cannot be completed because too many other requests are occurring
// at the same time.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/UpdateInvestigationState
func (c *Detective) UpdateInvestigationState(input *UpdateInvestigationStateInput) (*UpdateInvestigationStateOutput, error) {
req, out := c.UpdateInvestigationStateRequest(input)
return out, req.Send()
}
// UpdateInvestigationStateWithContext is the same as UpdateInvestigationState with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateInvestigationState for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) UpdateInvestigationStateWithContext(ctx aws.Context, input *UpdateInvestigationStateInput, opts ...request.Option) (*UpdateInvestigationStateOutput, error) {
req, out := c.UpdateInvestigationStateRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
const opUpdateOrganizationConfiguration = "UpdateOrganizationConfiguration"
// UpdateOrganizationConfigurationRequest generates a "aws/request.Request" representing the
// client's request for the UpdateOrganizationConfiguration operation. The "output" return
// value will be populated with the request's response once the request completes
// successfully.
//
// Use "Send" method on the returned Request to send the API call to the service.
// the "output" return value is not valid until after Send returns without error.
//
// See UpdateOrganizationConfiguration for more information on using the UpdateOrganizationConfiguration
// API call, and error handling.
//
// This method is useful when you want to inject custom logic or configuration
// into the SDK's request lifecycle. Such as custom headers, or retry logic.
//
// // Example sending a request using the UpdateOrganizationConfigurationRequest method.
// req, resp := client.UpdateOrganizationConfigurationRequest(params)
//
// err := req.Send()
// if err == nil { // resp is now filled
// fmt.Println(resp)
// }
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/UpdateOrganizationConfiguration
func (c *Detective) UpdateOrganizationConfigurationRequest(input *UpdateOrganizationConfigurationInput) (req *request.Request, output *UpdateOrganizationConfigurationOutput) {
op := &request.Operation{
Name: opUpdateOrganizationConfiguration,
HTTPMethod: "POST",
HTTPPath: "/orgs/updateOrganizationConfiguration",
}
if input == nil {
input = &UpdateOrganizationConfigurationInput{}
}
output = &UpdateOrganizationConfigurationOutput{}
req = c.newRequest(op, input, output)
req.Handlers.Unmarshal.Swap(restjson.UnmarshalHandler.Name, protocol.UnmarshalDiscardBodyHandler)
return
}
// UpdateOrganizationConfiguration API operation for Amazon Detective.
//
// Updates the configuration for the Organizations integration in the current
// Region. Can only be called by the Detective administrator account for the
// organization.
//
// Returns awserr.Error for service API and SDK errors. Use runtime type assertions
// with awserr.Error's Code and Message methods to get detailed information about
// the error.
//
// See the AWS API reference guide for Amazon Detective's
// API operation UpdateOrganizationConfiguration for usage and error information.
//
// Returned Error Types:
//
// - AccessDeniedException
// The request issuer does not have permission to access this resource or perform
// this operation.
//
// - InternalServerException
// The request was valid but failed because of a problem with the service.
//
// - ValidationException
// The request parameters are invalid.
//
// - TooManyRequestsException
// The request cannot be completed because too many other requests are occurring
// at the same time.
//
// See also, https://docs.aws.amazon.com/goto/WebAPI/detective-2018-10-26/UpdateOrganizationConfiguration
func (c *Detective) UpdateOrganizationConfiguration(input *UpdateOrganizationConfigurationInput) (*UpdateOrganizationConfigurationOutput, error) {
req, out := c.UpdateOrganizationConfigurationRequest(input)
return out, req.Send()
}
// UpdateOrganizationConfigurationWithContext is the same as UpdateOrganizationConfiguration with the addition of
// the ability to pass a context and additional request options.
//
// See UpdateOrganizationConfiguration for details on how to use this API operation.
//
// The context must be non-nil and will be used for request cancellation. If
// the context is nil a panic will occur. In the future the SDK may create
// sub-contexts for http.Requests. See https://golang.org/pkg/context/
// for more information on using Contexts.
func (c *Detective) UpdateOrganizationConfigurationWithContext(ctx aws.Context, input *UpdateOrganizationConfigurationInput, opts ...request.Option) (*UpdateOrganizationConfigurationOutput, error) {
req, out := c.UpdateOrganizationConfigurationRequest(input)
req.SetContext(ctx)
req.ApplyOptions(opts...)
return out, req.Send()
}
type AcceptInvitationInput struct {
_ struct{} `type:"structure"`
// The ARN of the behavior graph that the member account is accepting the invitation
// for.
//
// The member account status in the behavior graph must be INVITED.
//
// GraphArn is a required field
GraphArn *string `type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AcceptInvitationInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AcceptInvitationInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *AcceptInvitationInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "AcceptInvitationInput"}
if s.GraphArn == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetGraphArn sets the GraphArn field's value.
func (s *AcceptInvitationInput) SetGraphArn(v string) *AcceptInvitationInput {
s.GraphArn = &v
return s
}
type AcceptInvitationOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AcceptInvitationOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AcceptInvitationOutput) GoString() string {
return s.String()
}
// The request issuer does not have permission to access this resource or perform
// this operation.
type AccessDeniedException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
// The SDK default error code associated with the access denied exception.
ErrorCode *string `type:"string" enum:"ErrorCode"`
// The SDK default explanation of why access was denied.
ErrorCodeReason *string `type:"string"`
Message_ *string `locationName:"Message" type:"string"`
// The error code associated with the access denied exception.
SubErrorCode *string `type:"string" enum:"ErrorCode"`
// An explanation of why access was denied.
SubErrorCodeReason *string `type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AccessDeniedException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s AccessDeniedException) GoString() string {
return s.String()
}
func newErrorAccessDeniedException(v protocol.ResponseMetadata) error {
return &AccessDeniedException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *AccessDeniedException) Code() string {
return "AccessDeniedException"
}
// Message returns the exception's message.
func (s *AccessDeniedException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *AccessDeniedException) OrigErr() error {
return nil
}
func (s *AccessDeniedException) Error() string {
return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}
// Status code returns the HTTP status code for the request's response error.
func (s *AccessDeniedException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *AccessDeniedException) RequestID() string {
return s.RespMetadata.RequestID
}
// An Amazon Web Services account that is the administrator account of or a
// member of a behavior graph.
type Account struct {
_ struct{} `type:"structure"`
// The account identifier of the Amazon Web Services account.
//
// AccountId is a required field
AccountId *string `min:"12" type:"string" required:"true"`
// The Amazon Web Services account root user email address for the Amazon Web
// Services account.
//
// EmailAddress is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by Account's
// String and GoString methods.
//
// EmailAddress is a required field
EmailAddress *string `min:"1" type:"string" required:"true" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Account) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Account) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *Account) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "Account"}
if s.AccountId == nil {
invalidParams.Add(request.NewErrParamRequired("AccountId"))
}
if s.AccountId != nil && len(*s.AccountId) < 12 {
invalidParams.Add(request.NewErrParamMinLen("AccountId", 12))
}
if s.EmailAddress == nil {
invalidParams.Add(request.NewErrParamRequired("EmailAddress"))
}
if s.EmailAddress != nil && len(*s.EmailAddress) < 1 {
invalidParams.Add(request.NewErrParamMinLen("EmailAddress", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAccountId sets the AccountId field's value.
func (s *Account) SetAccountId(v string) *Account {
s.AccountId = &v
return s
}
// SetEmailAddress sets the EmailAddress field's value.
func (s *Account) SetEmailAddress(v string) *Account {
s.EmailAddress = &v
return s
}
// Information about the Detective administrator account for an organization.
type Administrator struct {
_ struct{} `type:"structure"`
// The Amazon Web Services account identifier of the Detective administrator
// account for the organization.
AccountId *string `min:"12" type:"string"`
// The date and time when the Detective administrator account was enabled. The
// value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.
DelegationTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
// The ARN of the organization behavior graph.
GraphArn *string `type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Administrator) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Administrator) GoString() string {
return s.String()
}
// SetAccountId sets the AccountId field's value.
func (s *Administrator) SetAccountId(v string) *Administrator {
s.AccountId = &v
return s
}
// SetDelegationTime sets the DelegationTime field's value.
func (s *Administrator) SetDelegationTime(v time.Time) *Administrator {
s.DelegationTime = &v
return s
}
// SetGraphArn sets the GraphArn field's value.
func (s *Administrator) SetGraphArn(v string) *Administrator {
s.GraphArn = &v
return s
}
type BatchGetGraphMemberDatasourcesInput struct {
_ struct{} `type:"structure"`
// The list of Amazon Web Services accounts to get data source package information
// on.
//
// AccountIds is a required field
AccountIds []*string `min:"1" type:"list" required:"true"`
// The ARN of the behavior graph.
//
// GraphArn is a required field
GraphArn *string `type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s BatchGetGraphMemberDatasourcesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s BatchGetGraphMemberDatasourcesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *BatchGetGraphMemberDatasourcesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "BatchGetGraphMemberDatasourcesInput"}
if s.AccountIds == nil {
invalidParams.Add(request.NewErrParamRequired("AccountIds"))
}
if s.AccountIds != nil && len(s.AccountIds) < 1 {
invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
}
if s.GraphArn == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAccountIds sets the AccountIds field's value.
func (s *BatchGetGraphMemberDatasourcesInput) SetAccountIds(v []*string) *BatchGetGraphMemberDatasourcesInput {
s.AccountIds = v
return s
}
// SetGraphArn sets the GraphArn field's value.
func (s *BatchGetGraphMemberDatasourcesInput) SetGraphArn(v string) *BatchGetGraphMemberDatasourcesInput {
s.GraphArn = &v
return s
}
type BatchGetGraphMemberDatasourcesOutput struct {
_ struct{} `type:"structure"`
// Details on the status of data source packages for members of the behavior
// graph.
MemberDatasources []*MembershipDatasources `type:"list"`
// Accounts that data source package information could not be retrieved for.
UnprocessedAccounts []*UnprocessedAccount `type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s BatchGetGraphMemberDatasourcesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s BatchGetGraphMemberDatasourcesOutput) GoString() string {
return s.String()
}
// SetMemberDatasources sets the MemberDatasources field's value.
func (s *BatchGetGraphMemberDatasourcesOutput) SetMemberDatasources(v []*MembershipDatasources) *BatchGetGraphMemberDatasourcesOutput {
s.MemberDatasources = v
return s
}
// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
func (s *BatchGetGraphMemberDatasourcesOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *BatchGetGraphMemberDatasourcesOutput {
s.UnprocessedAccounts = v
return s
}
type BatchGetMembershipDatasourcesInput struct {
_ struct{} `type:"structure"`
// The ARN of the behavior graph.
//
// GraphArns is a required field
GraphArns []*string `min:"1" type:"list" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s BatchGetMembershipDatasourcesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s BatchGetMembershipDatasourcesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *BatchGetMembershipDatasourcesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "BatchGetMembershipDatasourcesInput"}
if s.GraphArns == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArns"))
}
if s.GraphArns != nil && len(s.GraphArns) < 1 {
invalidParams.Add(request.NewErrParamMinLen("GraphArns", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetGraphArns sets the GraphArns field's value.
func (s *BatchGetMembershipDatasourcesInput) SetGraphArns(v []*string) *BatchGetMembershipDatasourcesInput {
s.GraphArns = v
return s
}
type BatchGetMembershipDatasourcesOutput struct {
_ struct{} `type:"structure"`
// Details on the data source package history for an member of the behavior
// graph.
MembershipDatasources []*MembershipDatasources `type:"list"`
// Graphs that data source package information could not be retrieved for.
UnprocessedGraphs []*UnprocessedGraph `type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s BatchGetMembershipDatasourcesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s BatchGetMembershipDatasourcesOutput) GoString() string {
return s.String()
}
// SetMembershipDatasources sets the MembershipDatasources field's value.
func (s *BatchGetMembershipDatasourcesOutput) SetMembershipDatasources(v []*MembershipDatasources) *BatchGetMembershipDatasourcesOutput {
s.MembershipDatasources = v
return s
}
// SetUnprocessedGraphs sets the UnprocessedGraphs field's value.
func (s *BatchGetMembershipDatasourcesOutput) SetUnprocessedGraphs(v []*UnprocessedGraph) *BatchGetMembershipDatasourcesOutput {
s.UnprocessedGraphs = v
return s
}
// The request attempted an invalid action.
type ConflictException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"Message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ConflictException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ConflictException) GoString() string {
return s.String()
}
func newErrorConflictException(v protocol.ResponseMetadata) error {
return &ConflictException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ConflictException) Code() string {
return "ConflictException"
}
// Message returns the exception's message.
func (s *ConflictException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ConflictException) OrigErr() error {
return nil
}
func (s *ConflictException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ConflictException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ConflictException) RequestID() string {
return s.RespMetadata.RequestID
}
type CreateGraphInput struct {
_ struct{} `type:"structure"`
// The tags to assign to the new behavior graph. You can add up to 50 tags.
// For each tag, you provide the tag key and the tag value. Each tag key can
// contain up to 128 characters. Each tag value can contain up to 256 characters.
Tags map[string]*string `min:"1" type:"map"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateGraphInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateGraphInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateGraphInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "CreateGraphInput"}
if s.Tags != nil && len(s.Tags) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetTags sets the Tags field's value.
func (s *CreateGraphInput) SetTags(v map[string]*string) *CreateGraphInput {
s.Tags = v
return s
}
type CreateGraphOutput struct {
_ struct{} `type:"structure"`
// The ARN of the new behavior graph.
GraphArn *string `type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateGraphOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateGraphOutput) GoString() string {
return s.String()
}
// SetGraphArn sets the GraphArn field's value.
func (s *CreateGraphOutput) SetGraphArn(v string) *CreateGraphOutput {
s.GraphArn = &v
return s
}
type CreateMembersInput struct {
_ struct{} `type:"structure"`
// The list of Amazon Web Services accounts to invite or to enable. You can
// invite or enable up to 50 accounts at a time. For each invited account, the
// account list contains the account identifier and the Amazon Web Services
// account root user email address. For organization accounts in the organization
// behavior graph, the email address is not required.
//
// Accounts is a required field
Accounts []*Account `min:"1" type:"list" required:"true"`
// if set to true, then the invited accounts do not receive email notifications.
// By default, this is set to false, and the invited accounts receive email
// notifications.
//
// Organization accounts in the organization behavior graph do not receive email
// notifications.
DisableEmailNotification *bool `type:"boolean"`
// The ARN of the behavior graph.
//
// GraphArn is a required field
GraphArn *string `type:"string" required:"true"`
// Customized message text to include in the invitation email message to the
// invited member accounts.
//
// Message is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by CreateMembersInput's
// String and GoString methods.
Message *string `min:"1" type:"string" sensitive:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateMembersInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateMembersInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *CreateMembersInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "CreateMembersInput"}
if s.Accounts == nil {
invalidParams.Add(request.NewErrParamRequired("Accounts"))
}
if s.Accounts != nil && len(s.Accounts) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Accounts", 1))
}
if s.GraphArn == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArn"))
}
if s.Message != nil && len(*s.Message) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Message", 1))
}
if s.Accounts != nil {
for i, v := range s.Accounts {
if v == nil {
continue
}
if err := v.Validate(); err != nil {
invalidParams.AddNested(fmt.Sprintf("%s[%v]", "Accounts", i), err.(request.ErrInvalidParams))
}
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAccounts sets the Accounts field's value.
func (s *CreateMembersInput) SetAccounts(v []*Account) *CreateMembersInput {
s.Accounts = v
return s
}
// SetDisableEmailNotification sets the DisableEmailNotification field's value.
func (s *CreateMembersInput) SetDisableEmailNotification(v bool) *CreateMembersInput {
s.DisableEmailNotification = &v
return s
}
// SetGraphArn sets the GraphArn field's value.
func (s *CreateMembersInput) SetGraphArn(v string) *CreateMembersInput {
s.GraphArn = &v
return s
}
// SetMessage sets the Message field's value.
func (s *CreateMembersInput) SetMessage(v string) *CreateMembersInput {
s.Message = &v
return s
}
type CreateMembersOutput struct {
_ struct{} `type:"structure"`
// The set of member account invitation or enablement requests that Detective
// was able to process. This includes accounts that are being verified, that
// failed verification, and that passed verification and are being sent an invitation
// or are being enabled.
Members []*MemberDetail `type:"list"`
// The list of accounts for which Detective was unable to process the invitation
// or enablement request. For each account, the list provides the reason why
// the request could not be processed. The list includes accounts that are already
// member accounts in the behavior graph.
UnprocessedAccounts []*UnprocessedAccount `type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateMembersOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s CreateMembersOutput) GoString() string {
return s.String()
}
// SetMembers sets the Members field's value.
func (s *CreateMembersOutput) SetMembers(v []*MemberDetail) *CreateMembersOutput {
s.Members = v
return s
}
// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
func (s *CreateMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *CreateMembersOutput {
s.UnprocessedAccounts = v
return s
}
// Details about the data source packages ingested by your behavior graph.
type DatasourcePackageIngestDetail struct {
_ struct{} `type:"structure"`
// Details on which data source packages are ingested for a member account.
DatasourcePackageIngestState *string `type:"string" enum:"DatasourcePackageIngestState"`
// The date a data source package was enabled for this account
LastIngestStateChange map[string]*TimestampForCollection `type:"map"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DatasourcePackageIngestDetail) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DatasourcePackageIngestDetail) GoString() string {
return s.String()
}
// SetDatasourcePackageIngestState sets the DatasourcePackageIngestState field's value.
func (s *DatasourcePackageIngestDetail) SetDatasourcePackageIngestState(v string) *DatasourcePackageIngestDetail {
s.DatasourcePackageIngestState = &v
return s
}
// SetLastIngestStateChange sets the LastIngestStateChange field's value.
func (s *DatasourcePackageIngestDetail) SetLastIngestStateChange(v map[string]*TimestampForCollection) *DatasourcePackageIngestDetail {
s.LastIngestStateChange = v
return s
}
// Information on the usage of a data source package in the behavior graph.
type DatasourcePackageUsageInfo struct {
_ struct{} `type:"structure"`
// Total volume of data in bytes per day ingested for a given data source package.
VolumeUsageInBytes *int64 `type:"long"`
// The data and time when the member account data volume was last updated. The
// value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.
VolumeUsageUpdateTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DatasourcePackageUsageInfo) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DatasourcePackageUsageInfo) GoString() string {
return s.String()
}
// SetVolumeUsageInBytes sets the VolumeUsageInBytes field's value.
func (s *DatasourcePackageUsageInfo) SetVolumeUsageInBytes(v int64) *DatasourcePackageUsageInfo {
s.VolumeUsageInBytes = &v
return s
}
// SetVolumeUsageUpdateTime sets the VolumeUsageUpdateTime field's value.
func (s *DatasourcePackageUsageInfo) SetVolumeUsageUpdateTime(v time.Time) *DatasourcePackageUsageInfo {
s.VolumeUsageUpdateTime = &v
return s
}
// Contains details on the time range used to filter data.
type DateFilter struct {
_ struct{} `type:"structure"`
// A timestamp representing the end date of the time period until when data
// is filtered, including the end date.
//
// EndInclusive is a required field
EndInclusive *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
// A timestamp representing the start of the time period from when data is filtered,
// including the start date.
//
// StartInclusive is a required field
StartInclusive *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DateFilter) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DateFilter) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DateFilter) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DateFilter"}
if s.EndInclusive == nil {
invalidParams.Add(request.NewErrParamRequired("EndInclusive"))
}
if s.StartInclusive == nil {
invalidParams.Add(request.NewErrParamRequired("StartInclusive"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetEndInclusive sets the EndInclusive field's value.
func (s *DateFilter) SetEndInclusive(v time.Time) *DateFilter {
s.EndInclusive = &v
return s
}
// SetStartInclusive sets the StartInclusive field's value.
func (s *DateFilter) SetStartInclusive(v time.Time) *DateFilter {
s.StartInclusive = &v
return s
}
type DeleteGraphInput struct {
_ struct{} `type:"structure"`
// The ARN of the behavior graph to disable.
//
// GraphArn is a required field
GraphArn *string `type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteGraphInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteGraphInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteGraphInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DeleteGraphInput"}
if s.GraphArn == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetGraphArn sets the GraphArn field's value.
func (s *DeleteGraphInput) SetGraphArn(v string) *DeleteGraphInput {
s.GraphArn = &v
return s
}
type DeleteGraphOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteGraphOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteGraphOutput) GoString() string {
return s.String()
}
type DeleteMembersInput struct {
_ struct{} `type:"structure"`
// The list of Amazon Web Services account identifiers for the member accounts
// to remove from the behavior graph. You can remove up to 50 member accounts
// at a time.
//
// AccountIds is a required field
AccountIds []*string `min:"1" type:"list" required:"true"`
// The ARN of the behavior graph to remove members from.
//
// GraphArn is a required field
GraphArn *string `type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteMembersInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteMembersInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DeleteMembersInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DeleteMembersInput"}
if s.AccountIds == nil {
invalidParams.Add(request.NewErrParamRequired("AccountIds"))
}
if s.AccountIds != nil && len(s.AccountIds) < 1 {
invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
}
if s.GraphArn == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAccountIds sets the AccountIds field's value.
func (s *DeleteMembersInput) SetAccountIds(v []*string) *DeleteMembersInput {
s.AccountIds = v
return s
}
// SetGraphArn sets the GraphArn field's value.
func (s *DeleteMembersInput) SetGraphArn(v string) *DeleteMembersInput {
s.GraphArn = &v
return s
}
type DeleteMembersOutput struct {
_ struct{} `type:"structure"`
// The list of Amazon Web Services account identifiers for the member accounts
// that Detective successfully removed from the behavior graph.
AccountIds []*string `min:"1" type:"list"`
// The list of member accounts that Detective was not able to remove from the
// behavior graph. For each member account, provides the reason that the deletion
// could not be processed.
UnprocessedAccounts []*UnprocessedAccount `type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteMembersOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DeleteMembersOutput) GoString() string {
return s.String()
}
// SetAccountIds sets the AccountIds field's value.
func (s *DeleteMembersOutput) SetAccountIds(v []*string) *DeleteMembersOutput {
s.AccountIds = v
return s
}
// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
func (s *DeleteMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *DeleteMembersOutput {
s.UnprocessedAccounts = v
return s
}
type DescribeOrganizationConfigurationInput struct {
_ struct{} `type:"structure"`
// The ARN of the organization behavior graph.
//
// GraphArn is a required field
GraphArn *string `type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeOrganizationConfigurationInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeOrganizationConfigurationInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DescribeOrganizationConfigurationInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DescribeOrganizationConfigurationInput"}
if s.GraphArn == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetGraphArn sets the GraphArn field's value.
func (s *DescribeOrganizationConfigurationInput) SetGraphArn(v string) *DescribeOrganizationConfigurationInput {
s.GraphArn = &v
return s
}
type DescribeOrganizationConfigurationOutput struct {
_ struct{} `type:"structure"`
// Indicates whether to automatically enable new organization accounts as member
// accounts in the organization behavior graph.
AutoEnable *bool `type:"boolean"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeOrganizationConfigurationOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DescribeOrganizationConfigurationOutput) GoString() string {
return s.String()
}
// SetAutoEnable sets the AutoEnable field's value.
func (s *DescribeOrganizationConfigurationOutput) SetAutoEnable(v bool) *DescribeOrganizationConfigurationOutput {
s.AutoEnable = &v
return s
}
type DisableOrganizationAdminAccountInput struct {
_ struct{} `type:"structure" nopayload:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DisableOrganizationAdminAccountInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DisableOrganizationAdminAccountInput) GoString() string {
return s.String()
}
type DisableOrganizationAdminAccountOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DisableOrganizationAdminAccountOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DisableOrganizationAdminAccountOutput) GoString() string {
return s.String()
}
type DisassociateMembershipInput struct {
_ struct{} `type:"structure"`
// The ARN of the behavior graph to remove the member account from.
//
// The member account's member status in the behavior graph must be ENABLED.
//
// GraphArn is a required field
GraphArn *string `type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DisassociateMembershipInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DisassociateMembershipInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *DisassociateMembershipInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "DisassociateMembershipInput"}
if s.GraphArn == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetGraphArn sets the GraphArn field's value.
func (s *DisassociateMembershipInput) SetGraphArn(v string) *DisassociateMembershipInput {
s.GraphArn = &v
return s
}
type DisassociateMembershipOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DisassociateMembershipOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s DisassociateMembershipOutput) GoString() string {
return s.String()
}
type EnableOrganizationAdminAccountInput struct {
_ struct{} `type:"structure"`
// The Amazon Web Services account identifier of the account to designate as
// the Detective administrator account for the organization.
//
// AccountId is a required field
AccountId *string `min:"12" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EnableOrganizationAdminAccountInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EnableOrganizationAdminAccountInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *EnableOrganizationAdminAccountInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "EnableOrganizationAdminAccountInput"}
if s.AccountId == nil {
invalidParams.Add(request.NewErrParamRequired("AccountId"))
}
if s.AccountId != nil && len(*s.AccountId) < 12 {
invalidParams.Add(request.NewErrParamMinLen("AccountId", 12))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAccountId sets the AccountId field's value.
func (s *EnableOrganizationAdminAccountInput) SetAccountId(v string) *EnableOrganizationAdminAccountInput {
s.AccountId = &v
return s
}
type EnableOrganizationAdminAccountOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EnableOrganizationAdminAccountOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s EnableOrganizationAdminAccountOutput) GoString() string {
return s.String()
}
// Details on the criteria used to define the filter for investigation results.
type FilterCriteria struct {
_ struct{} `type:"structure"`
// Filter the investigation results based on when the investigation was created.
CreatedTime *DateFilter `type:"structure"`
// Filter the investigation results based on the Amazon Resource Name (ARN)
// of the entity.
EntityArn *StringFilter `type:"structure"`
// Filter the investigation results based on the severity.
Severity *StringFilter `type:"structure"`
// Filter the investigation results based on the state.
State *StringFilter `type:"structure"`
// Filter the investigation results based on the status.
Status *StringFilter `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FilterCriteria) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FilterCriteria) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *FilterCriteria) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "FilterCriteria"}
if s.CreatedTime != nil {
if err := s.CreatedTime.Validate(); err != nil {
invalidParams.AddNested("CreatedTime", err.(request.ErrInvalidParams))
}
}
if s.EntityArn != nil {
if err := s.EntityArn.Validate(); err != nil {
invalidParams.AddNested("EntityArn", err.(request.ErrInvalidParams))
}
}
if s.Severity != nil {
if err := s.Severity.Validate(); err != nil {
invalidParams.AddNested("Severity", err.(request.ErrInvalidParams))
}
}
if s.State != nil {
if err := s.State.Validate(); err != nil {
invalidParams.AddNested("State", err.(request.ErrInvalidParams))
}
}
if s.Status != nil {
if err := s.Status.Validate(); err != nil {
invalidParams.AddNested("Status", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetCreatedTime sets the CreatedTime field's value.
func (s *FilterCriteria) SetCreatedTime(v *DateFilter) *FilterCriteria {
s.CreatedTime = v
return s
}
// SetEntityArn sets the EntityArn field's value.
func (s *FilterCriteria) SetEntityArn(v *StringFilter) *FilterCriteria {
s.EntityArn = v
return s
}
// SetSeverity sets the Severity field's value.
func (s *FilterCriteria) SetSeverity(v *StringFilter) *FilterCriteria {
s.Severity = v
return s
}
// SetState sets the State field's value.
func (s *FilterCriteria) SetState(v *StringFilter) *FilterCriteria {
s.State = v
return s
}
// SetStatus sets the Status field's value.
func (s *FilterCriteria) SetStatus(v *StringFilter) *FilterCriteria {
s.Status = v
return s
}
// Contains information on suspicious IP addresses identified as indicators
// of compromise. This indicator is derived from Amazon Web Services threat
// intelligence.
type FlaggedIpAddressDetail struct {
_ struct{} `type:"structure"`
// IP address of the suspicious entity.
IpAddress *string `type:"string"`
// Details the reason the IP address was flagged as suspicious.
Reason *string `type:"string" enum:"Reason"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FlaggedIpAddressDetail) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s FlaggedIpAddressDetail) GoString() string {
return s.String()
}
// SetIpAddress sets the IpAddress field's value.
func (s *FlaggedIpAddressDetail) SetIpAddress(v string) *FlaggedIpAddressDetail {
s.IpAddress = &v
return s
}
// SetReason sets the Reason field's value.
func (s *FlaggedIpAddressDetail) SetReason(v string) *FlaggedIpAddressDetail {
s.Reason = &v
return s
}
type GetInvestigationInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the behavior graph.
//
// GraphArn is a required field
GraphArn *string `type:"string" required:"true"`
// The investigation ID of the investigation report.
//
// InvestigationId is a required field
InvestigationId *string `min:"21" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetInvestigationInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetInvestigationInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetInvestigationInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetInvestigationInput"}
if s.GraphArn == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArn"))
}
if s.InvestigationId == nil {
invalidParams.Add(request.NewErrParamRequired("InvestigationId"))
}
if s.InvestigationId != nil && len(*s.InvestigationId) < 21 {
invalidParams.Add(request.NewErrParamMinLen("InvestigationId", 21))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetGraphArn sets the GraphArn field's value.
func (s *GetInvestigationInput) SetGraphArn(v string) *GetInvestigationInput {
s.GraphArn = &v
return s
}
// SetInvestigationId sets the InvestigationId field's value.
func (s *GetInvestigationInput) SetInvestigationId(v string) *GetInvestigationInput {
s.InvestigationId = &v
return s
}
type GetInvestigationOutput struct {
_ struct{} `type:"structure"`
// The creation time of the investigation report in UTC time stamp format.
CreatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
// The unique Amazon Resource Name (ARN). Detective supports IAM user ARNs and
// IAM role ARNs.
EntityArn *string `type:"string"`
// Type of entity. For example, Amazon Web Services accounts, such as an IAM
// user and/or IAM role.
EntityType *string `type:"string" enum:"EntityType"`
// The Amazon Resource Name (ARN) of the behavior graph.
GraphArn *string `type:"string"`
// The investigation ID of the investigation report.
InvestigationId *string `min:"21" type:"string"`
// The data and time when the investigation began. The value is an UTC ISO8601
// formatted string. For example, 2021-08-18T16:35:56.284Z.
ScopeEndTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
// The start date and time used to set the scope time within which you want
// to generate the investigation report. The value is an UTC ISO8601 formatted
// string. For example, 2021-08-18T16:35:56.284Z.
ScopeStartTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
// The severity assigned is based on the likelihood and impact of the indicators
// of compromise discovered in the investigation.
Severity *string `type:"string" enum:"Severity"`
// The current state of the investigation. An archived investigation indicates
// that you have completed reviewing the investigation.
State *string `type:"string" enum:"State"`
// The status based on the completion status of the investigation.
Status *string `type:"string" enum:"Status"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetInvestigationOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetInvestigationOutput) GoString() string {
return s.String()
}
// SetCreatedTime sets the CreatedTime field's value.
func (s *GetInvestigationOutput) SetCreatedTime(v time.Time) *GetInvestigationOutput {
s.CreatedTime = &v
return s
}
// SetEntityArn sets the EntityArn field's value.
func (s *GetInvestigationOutput) SetEntityArn(v string) *GetInvestigationOutput {
s.EntityArn = &v
return s
}
// SetEntityType sets the EntityType field's value.
func (s *GetInvestigationOutput) SetEntityType(v string) *GetInvestigationOutput {
s.EntityType = &v
return s
}
// SetGraphArn sets the GraphArn field's value.
func (s *GetInvestigationOutput) SetGraphArn(v string) *GetInvestigationOutput {
s.GraphArn = &v
return s
}
// SetInvestigationId sets the InvestigationId field's value.
func (s *GetInvestigationOutput) SetInvestigationId(v string) *GetInvestigationOutput {
s.InvestigationId = &v
return s
}
// SetScopeEndTime sets the ScopeEndTime field's value.
func (s *GetInvestigationOutput) SetScopeEndTime(v time.Time) *GetInvestigationOutput {
s.ScopeEndTime = &v
return s
}
// SetScopeStartTime sets the ScopeStartTime field's value.
func (s *GetInvestigationOutput) SetScopeStartTime(v time.Time) *GetInvestigationOutput {
s.ScopeStartTime = &v
return s
}
// SetSeverity sets the Severity field's value.
func (s *GetInvestigationOutput) SetSeverity(v string) *GetInvestigationOutput {
s.Severity = &v
return s
}
// SetState sets the State field's value.
func (s *GetInvestigationOutput) SetState(v string) *GetInvestigationOutput {
s.State = &v
return s
}
// SetStatus sets the Status field's value.
func (s *GetInvestigationOutput) SetStatus(v string) *GetInvestigationOutput {
s.Status = &v
return s
}
type GetMembersInput struct {
_ struct{} `type:"structure"`
// The list of Amazon Web Services account identifiers for the member account
// for which to return member details. You can request details for up to 50
// member accounts at a time.
//
// You cannot use GetMembers to retrieve information about member accounts that
// were removed from the behavior graph.
//
// AccountIds is a required field
AccountIds []*string `min:"1" type:"list" required:"true"`
// The ARN of the behavior graph for which to request the member details.
//
// GraphArn is a required field
GraphArn *string `type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMembersInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMembersInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *GetMembersInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "GetMembersInput"}
if s.AccountIds == nil {
invalidParams.Add(request.NewErrParamRequired("AccountIds"))
}
if s.AccountIds != nil && len(s.AccountIds) < 1 {
invalidParams.Add(request.NewErrParamMinLen("AccountIds", 1))
}
if s.GraphArn == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAccountIds sets the AccountIds field's value.
func (s *GetMembersInput) SetAccountIds(v []*string) *GetMembersInput {
s.AccountIds = v
return s
}
// SetGraphArn sets the GraphArn field's value.
func (s *GetMembersInput) SetGraphArn(v string) *GetMembersInput {
s.GraphArn = &v
return s
}
type GetMembersOutput struct {
_ struct{} `type:"structure"`
// The member account details that Detective is returning in response to the
// request.
MemberDetails []*MemberDetail `type:"list"`
// The requested member accounts for which Detective was unable to return member
// details.
//
// For each account, provides the reason why the request could not be processed.
UnprocessedAccounts []*UnprocessedAccount `type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMembersOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s GetMembersOutput) GoString() string {
return s.String()
}
// SetMemberDetails sets the MemberDetails field's value.
func (s *GetMembersOutput) SetMemberDetails(v []*MemberDetail) *GetMembersOutput {
s.MemberDetails = v
return s
}
// SetUnprocessedAccounts sets the UnprocessedAccounts field's value.
func (s *GetMembersOutput) SetUnprocessedAccounts(v []*UnprocessedAccount) *GetMembersOutput {
s.UnprocessedAccounts = v
return s
}
// A behavior graph in Detective.
type Graph struct {
_ struct{} `type:"structure"`
// The ARN of the behavior graph.
Arn *string `type:"string"`
// The date and time that the behavior graph was created. The value is an ISO8601
// formatted string. For example, 2021-08-18T16:35:56.284Z.
CreatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Graph) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Graph) GoString() string {
return s.String()
}
// SetArn sets the Arn field's value.
func (s *Graph) SetArn(v string) *Graph {
s.Arn = &v
return s
}
// SetCreatedTime sets the CreatedTime field's value.
func (s *Graph) SetCreatedTime(v time.Time) *Graph {
s.CreatedTime = &v
return s
}
// Contains information on unusual and impossible travel in an account.
type ImpossibleTravelDetail struct {
_ struct{} `type:"structure"`
// IP address where the resource was last used in the impossible travel.
EndingIpAddress *string `type:"string"`
// Location where the resource was last used in the impossible travel.
EndingLocation *string `type:"string"`
// Returns the time difference between the first and last timestamp the resource
// was used.
HourlyTimeDelta *int64 `type:"integer"`
// IP address where the resource was first used in the impossible travel.
StartingIpAddress *string `type:"string"`
// Location where the resource was first used in the impossible travel.
StartingLocation *string `type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ImpossibleTravelDetail) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ImpossibleTravelDetail) GoString() string {
return s.String()
}
// SetEndingIpAddress sets the EndingIpAddress field's value.
func (s *ImpossibleTravelDetail) SetEndingIpAddress(v string) *ImpossibleTravelDetail {
s.EndingIpAddress = &v
return s
}
// SetEndingLocation sets the EndingLocation field's value.
func (s *ImpossibleTravelDetail) SetEndingLocation(v string) *ImpossibleTravelDetail {
s.EndingLocation = &v
return s
}
// SetHourlyTimeDelta sets the HourlyTimeDelta field's value.
func (s *ImpossibleTravelDetail) SetHourlyTimeDelta(v int64) *ImpossibleTravelDetail {
s.HourlyTimeDelta = &v
return s
}
// SetStartingIpAddress sets the StartingIpAddress field's value.
func (s *ImpossibleTravelDetail) SetStartingIpAddress(v string) *ImpossibleTravelDetail {
s.StartingIpAddress = &v
return s
}
// SetStartingLocation sets the StartingLocation field's value.
func (s *ImpossibleTravelDetail) SetStartingLocation(v string) *ImpossibleTravelDetail {
s.StartingLocation = &v
return s
}
// Detective investigations triages indicators of compromises such as a finding
// and surfaces only the most critical and suspicious issues, so you can focus
// on high-level investigations. An Indicator lets you determine if an Amazon
// Web Services resource is involved in unusual activity that could indicate
// malicious behavior and its impact.
type Indicator struct {
_ struct{} `type:"structure"`
// Details about the indicators of compromise that are used to determine if
// a resource is involved in a security incident. An indicator of compromise
// (IOC) is an artifact observed in or on a network, system, or environment
// that can (with a high level of confidence) identify malicious activity or
// a security incident.
IndicatorDetail *IndicatorDetail `type:"structure"`
// The type of indicator.
IndicatorType *string `type:"string" enum:"IndicatorType"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Indicator) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s Indicator) GoString() string {
return s.String()
}
// SetIndicatorDetail sets the IndicatorDetail field's value.
func (s *Indicator) SetIndicatorDetail(v *IndicatorDetail) *Indicator {
s.IndicatorDetail = v
return s
}
// SetIndicatorType sets the IndicatorType field's value.
func (s *Indicator) SetIndicatorType(v string) *Indicator {
s.IndicatorType = &v
return s
}
// Details about the indicators of compromise which are used to determine if
// a resource is involved in a security incident. An indicator of compromise
// (IOC) is an artifact observed in or on a network, system, or environment
// that can (with a high level of confidence) identify malicious activity or
// a security incident. For the list of indicators of compromise that are generated
// by Detective investigations, see Detective investigations (https://docs.aws.amazon.com/detective/latest/userguide/detective-investigations.html).
type IndicatorDetail struct {
_ struct{} `type:"structure"`
// Suspicious IP addresses that are flagged, which indicates critical or severe
// threats based on threat intelligence by Detective. This indicator is derived
// from Amazon Web Services threat intelligence.
FlaggedIpAddressDetail *FlaggedIpAddressDetail `type:"structure"`
// Identifies unusual and impossible user activity for an account.
ImpossibleTravelDetail *ImpossibleTravelDetail `type:"structure"`
// Contains details about the new Autonomous System Organization (ASO).
NewAsoDetail *NewAsoDetail `type:"structure"`
// Contains details about the new geographic location.
NewGeolocationDetail *NewGeolocationDetail `type:"structure"`
// Contains details about the new user agent.
NewUserAgentDetail *NewUserAgentDetail `type:"structure"`
// Contains details about related findings.
RelatedFindingDetail *RelatedFindingDetail `type:"structure"`
// Contains details about related finding groups.
RelatedFindingGroupDetail *RelatedFindingGroupDetail `type:"structure"`
// Details about the indicator of compromise.
TTPsObservedDetail *TTPsObservedDetail `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s IndicatorDetail) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s IndicatorDetail) GoString() string {
return s.String()
}
// SetFlaggedIpAddressDetail sets the FlaggedIpAddressDetail field's value.
func (s *IndicatorDetail) SetFlaggedIpAddressDetail(v *FlaggedIpAddressDetail) *IndicatorDetail {
s.FlaggedIpAddressDetail = v
return s
}
// SetImpossibleTravelDetail sets the ImpossibleTravelDetail field's value.
func (s *IndicatorDetail) SetImpossibleTravelDetail(v *ImpossibleTravelDetail) *IndicatorDetail {
s.ImpossibleTravelDetail = v
return s
}
// SetNewAsoDetail sets the NewAsoDetail field's value.
func (s *IndicatorDetail) SetNewAsoDetail(v *NewAsoDetail) *IndicatorDetail {
s.NewAsoDetail = v
return s
}
// SetNewGeolocationDetail sets the NewGeolocationDetail field's value.
func (s *IndicatorDetail) SetNewGeolocationDetail(v *NewGeolocationDetail) *IndicatorDetail {
s.NewGeolocationDetail = v
return s
}
// SetNewUserAgentDetail sets the NewUserAgentDetail field's value.
func (s *IndicatorDetail) SetNewUserAgentDetail(v *NewUserAgentDetail) *IndicatorDetail {
s.NewUserAgentDetail = v
return s
}
// SetRelatedFindingDetail sets the RelatedFindingDetail field's value.
func (s *IndicatorDetail) SetRelatedFindingDetail(v *RelatedFindingDetail) *IndicatorDetail {
s.RelatedFindingDetail = v
return s
}
// SetRelatedFindingGroupDetail sets the RelatedFindingGroupDetail field's value.
func (s *IndicatorDetail) SetRelatedFindingGroupDetail(v *RelatedFindingGroupDetail) *IndicatorDetail {
s.RelatedFindingGroupDetail = v
return s
}
// SetTTPsObservedDetail sets the TTPsObservedDetail field's value.
func (s *IndicatorDetail) SetTTPsObservedDetail(v *TTPsObservedDetail) *IndicatorDetail {
s.TTPsObservedDetail = v
return s
}
// The request was valid but failed because of a problem with the service.
type InternalServerException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"Message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InternalServerException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InternalServerException) GoString() string {
return s.String()
}
func newErrorInternalServerException(v protocol.ResponseMetadata) error {
return &InternalServerException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *InternalServerException) Code() string {
return "InternalServerException"
}
// Message returns the exception's message.
func (s *InternalServerException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *InternalServerException) OrigErr() error {
return nil
}
func (s *InternalServerException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *InternalServerException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *InternalServerException) RequestID() string {
return s.RespMetadata.RequestID
}
// Details about the investigation related to a potential security event identified
// by Detective.
type InvestigationDetail struct {
_ struct{} `type:"structure"`
// The time stamp of the creation time of the investigation report. The value
// is an UTC ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.
CreatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
// The unique Amazon Resource Name (ARN) of the IAM user and IAM role.
EntityArn *string `type:"string"`
// Type of entity. For example, Amazon Web Services accounts, such as IAM user
// and role.
EntityType *string `type:"string" enum:"EntityType"`
// The investigation ID of the investigation report.
InvestigationId *string `min:"21" type:"string"`
// Severity based on the likelihood and impact of the indicators of compromise
// discovered in the investigation.
Severity *string `type:"string" enum:"Severity"`
// The current state of the investigation. An archived investigation indicates
// you have completed reviewing the investigation.
State *string `type:"string" enum:"State"`
// Status based on the completion status of the investigation.
Status *string `type:"string" enum:"Status"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvestigationDetail) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s InvestigationDetail) GoString() string {
return s.String()
}
// SetCreatedTime sets the CreatedTime field's value.
func (s *InvestigationDetail) SetCreatedTime(v time.Time) *InvestigationDetail {
s.CreatedTime = &v
return s
}
// SetEntityArn sets the EntityArn field's value.
func (s *InvestigationDetail) SetEntityArn(v string) *InvestigationDetail {
s.EntityArn = &v
return s
}
// SetEntityType sets the EntityType field's value.
func (s *InvestigationDetail) SetEntityType(v string) *InvestigationDetail {
s.EntityType = &v
return s
}
// SetInvestigationId sets the InvestigationId field's value.
func (s *InvestigationDetail) SetInvestigationId(v string) *InvestigationDetail {
s.InvestigationId = &v
return s
}
// SetSeverity sets the Severity field's value.
func (s *InvestigationDetail) SetSeverity(v string) *InvestigationDetail {
s.Severity = &v
return s
}
// SetState sets the State field's value.
func (s *InvestigationDetail) SetState(v string) *InvestigationDetail {
s.State = &v
return s
}
// SetStatus sets the Status field's value.
func (s *InvestigationDetail) SetStatus(v string) *InvestigationDetail {
s.Status = &v
return s
}
type ListDatasourcePackagesInput struct {
_ struct{} `type:"structure"`
// The ARN of the behavior graph.
//
// GraphArn is a required field
GraphArn *string `type:"string" required:"true"`
// The maximum number of results to return.
MaxResults *int64 `min:"1" type:"integer"`
// For requests to get the next page of results, the pagination token that was
// returned with the previous set of results. The initial request does not include
// a pagination token.
NextToken *string `min:"1" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListDatasourcePackagesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListDatasourcePackagesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListDatasourcePackagesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListDatasourcePackagesInput"}
if s.GraphArn == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArn"))
}
if s.MaxResults != nil && *s.MaxResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
}
if s.NextToken != nil && len(*s.NextToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetGraphArn sets the GraphArn field's value.
func (s *ListDatasourcePackagesInput) SetGraphArn(v string) *ListDatasourcePackagesInput {
s.GraphArn = &v
return s
}
// SetMaxResults sets the MaxResults field's value.
func (s *ListDatasourcePackagesInput) SetMaxResults(v int64) *ListDatasourcePackagesInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListDatasourcePackagesInput) SetNextToken(v string) *ListDatasourcePackagesInput {
s.NextToken = &v
return s
}
type ListDatasourcePackagesOutput struct {
_ struct{} `type:"structure"`
// Details on the data source packages active in the behavior graph.
DatasourcePackages map[string]*DatasourcePackageIngestDetail `type:"map"`
// For requests to get the next page of results, the pagination token that was
// returned with the previous set of results. The initial request does not include
// a pagination token.
NextToken *string `min:"1" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListDatasourcePackagesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListDatasourcePackagesOutput) GoString() string {
return s.String()
}
// SetDatasourcePackages sets the DatasourcePackages field's value.
func (s *ListDatasourcePackagesOutput) SetDatasourcePackages(v map[string]*DatasourcePackageIngestDetail) *ListDatasourcePackagesOutput {
s.DatasourcePackages = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListDatasourcePackagesOutput) SetNextToken(v string) *ListDatasourcePackagesOutput {
s.NextToken = &v
return s
}
type ListGraphsInput struct {
_ struct{} `type:"structure"`
// The maximum number of graphs to return at a time. The total must be less
// than the overall limit on the number of results to return, which is currently
// 200.
MaxResults *int64 `min:"1" type:"integer"`
// For requests to get the next page of results, the pagination token that was
// returned with the previous set of results. The initial request does not include
// a pagination token.
NextToken *string `min:"1" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListGraphsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListGraphsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListGraphsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListGraphsInput"}
if s.MaxResults != nil && *s.MaxResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
}
if s.NextToken != nil && len(*s.NextToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetMaxResults sets the MaxResults field's value.
func (s *ListGraphsInput) SetMaxResults(v int64) *ListGraphsInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListGraphsInput) SetNextToken(v string) *ListGraphsInput {
s.NextToken = &v
return s
}
type ListGraphsOutput struct {
_ struct{} `type:"structure"`
// A list of behavior graphs that the account is an administrator account for.
GraphList []*Graph `type:"list"`
// If there are more behavior graphs remaining in the results, then this is
// the pagination token to use to request the next page of behavior graphs.
NextToken *string `min:"1" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListGraphsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListGraphsOutput) GoString() string {
return s.String()
}
// SetGraphList sets the GraphList field's value.
func (s *ListGraphsOutput) SetGraphList(v []*Graph) *ListGraphsOutput {
s.GraphList = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListGraphsOutput) SetNextToken(v string) *ListGraphsOutput {
s.NextToken = &v
return s
}
type ListIndicatorsInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the behavior graph.
//
// GraphArn is a required field
GraphArn *string `type:"string" required:"true"`
// For the list of indicators of compromise that are generated by Detective
// investigations, see Detective investigations (https://docs.aws.amazon.com/detective/latest/userguide/detective-investigations.html).
IndicatorType *string `type:"string" enum:"IndicatorType"`
// The investigation ID of the investigation report.
//
// InvestigationId is a required field
InvestigationId *string `min:"21" type:"string" required:"true"`
// Lists the maximum number of indicators in a page.
MaxResults *int64 `min:"1" type:"integer"`
// Lists if there are more results available. The value of nextToken is a unique
// pagination token for each page. Repeat the call using the returned token
// to retrieve the next page. Keep all other arguments unchanged.
//
// Each pagination token expires after 24 hours. Using an expired pagination
// token will return a Validation Exception error.
NextToken *string `min:"1" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListIndicatorsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListIndicatorsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListIndicatorsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListIndicatorsInput"}
if s.GraphArn == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArn"))
}
if s.InvestigationId == nil {
invalidParams.Add(request.NewErrParamRequired("InvestigationId"))
}
if s.InvestigationId != nil && len(*s.InvestigationId) < 21 {
invalidParams.Add(request.NewErrParamMinLen("InvestigationId", 21))
}
if s.MaxResults != nil && *s.MaxResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
}
if s.NextToken != nil && len(*s.NextToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetGraphArn sets the GraphArn field's value.
func (s *ListIndicatorsInput) SetGraphArn(v string) *ListIndicatorsInput {
s.GraphArn = &v
return s
}
// SetIndicatorType sets the IndicatorType field's value.
func (s *ListIndicatorsInput) SetIndicatorType(v string) *ListIndicatorsInput {
s.IndicatorType = &v
return s
}
// SetInvestigationId sets the InvestigationId field's value.
func (s *ListIndicatorsInput) SetInvestigationId(v string) *ListIndicatorsInput {
s.InvestigationId = &v
return s
}
// SetMaxResults sets the MaxResults field's value.
func (s *ListIndicatorsInput) SetMaxResults(v int64) *ListIndicatorsInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListIndicatorsInput) SetNextToken(v string) *ListIndicatorsInput {
s.NextToken = &v
return s
}
type ListIndicatorsOutput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the behavior graph.
GraphArn *string `type:"string"`
// Lists the indicators of compromise.
Indicators []*Indicator `type:"list"`
// The investigation ID of the investigation report.
InvestigationId *string `min:"21" type:"string"`
// Lists if there are more results available. The value of nextToken is a unique
// pagination token for each page. Repeat the call using the returned token
// to retrieve the next page. Keep all other arguments unchanged.
//
// Each pagination token expires after 24 hours. Using an expired pagination
// token will return a Validation Exception error.
NextToken *string `min:"1" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListIndicatorsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListIndicatorsOutput) GoString() string {
return s.String()
}
// SetGraphArn sets the GraphArn field's value.
func (s *ListIndicatorsOutput) SetGraphArn(v string) *ListIndicatorsOutput {
s.GraphArn = &v
return s
}
// SetIndicators sets the Indicators field's value.
func (s *ListIndicatorsOutput) SetIndicators(v []*Indicator) *ListIndicatorsOutput {
s.Indicators = v
return s
}
// SetInvestigationId sets the InvestigationId field's value.
func (s *ListIndicatorsOutput) SetInvestigationId(v string) *ListIndicatorsOutput {
s.InvestigationId = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListIndicatorsOutput) SetNextToken(v string) *ListIndicatorsOutput {
s.NextToken = &v
return s
}
type ListInvestigationsInput struct {
_ struct{} `type:"structure"`
// Filters the investigation results based on a criteria.
FilterCriteria *FilterCriteria `type:"structure"`
// The Amazon Resource Name (ARN) of the behavior graph.
//
// GraphArn is a required field
GraphArn *string `type:"string" required:"true"`
// Lists the maximum number of investigations in a page.
MaxResults *int64 `min:"1" type:"integer"`
// Lists if there are more results available. The value of nextToken is a unique
// pagination token for each page. Repeat the call using the returned token
// to retrieve the next page. Keep all other arguments unchanged.
//
// Each pagination token expires after 24 hours. Using an expired pagination
// token will return a Validation Exception error.
NextToken *string `min:"1" type:"string"`
// Sorts the investigation results based on a criteria.
SortCriteria *SortCriteria `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInvestigationsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInvestigationsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListInvestigationsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListInvestigationsInput"}
if s.GraphArn == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArn"))
}
if s.MaxResults != nil && *s.MaxResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
}
if s.NextToken != nil && len(*s.NextToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
}
if s.FilterCriteria != nil {
if err := s.FilterCriteria.Validate(); err != nil {
invalidParams.AddNested("FilterCriteria", err.(request.ErrInvalidParams))
}
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetFilterCriteria sets the FilterCriteria field's value.
func (s *ListInvestigationsInput) SetFilterCriteria(v *FilterCriteria) *ListInvestigationsInput {
s.FilterCriteria = v
return s
}
// SetGraphArn sets the GraphArn field's value.
func (s *ListInvestigationsInput) SetGraphArn(v string) *ListInvestigationsInput {
s.GraphArn = &v
return s
}
// SetMaxResults sets the MaxResults field's value.
func (s *ListInvestigationsInput) SetMaxResults(v int64) *ListInvestigationsInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListInvestigationsInput) SetNextToken(v string) *ListInvestigationsInput {
s.NextToken = &v
return s
}
// SetSortCriteria sets the SortCriteria field's value.
func (s *ListInvestigationsInput) SetSortCriteria(v *SortCriteria) *ListInvestigationsInput {
s.SortCriteria = v
return s
}
type ListInvestigationsOutput struct {
_ struct{} `type:"structure"`
// Lists the summary of uncommon behavior or malicious activity which indicates
// a compromise.
InvestigationDetails []*InvestigationDetail `type:"list"`
// Lists if there are more results available. The value of nextToken is a unique
// pagination token for each page. Repeat the call using the returned token
// to retrieve the next page. Keep all other arguments unchanged.
//
// Each pagination token expires after 24 hours.
NextToken *string `min:"1" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInvestigationsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInvestigationsOutput) GoString() string {
return s.String()
}
// SetInvestigationDetails sets the InvestigationDetails field's value.
func (s *ListInvestigationsOutput) SetInvestigationDetails(v []*InvestigationDetail) *ListInvestigationsOutput {
s.InvestigationDetails = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListInvestigationsOutput) SetNextToken(v string) *ListInvestigationsOutput {
s.NextToken = &v
return s
}
type ListInvitationsInput struct {
_ struct{} `type:"structure"`
// The maximum number of behavior graph invitations to return in the response.
// The total must be less than the overall limit on the number of results to
// return, which is currently 200.
MaxResults *int64 `min:"1" type:"integer"`
// For requests to retrieve the next page of results, the pagination token that
// was returned with the previous page of results. The initial request does
// not include a pagination token.
NextToken *string `min:"1" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInvitationsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInvitationsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListInvitationsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListInvitationsInput"}
if s.MaxResults != nil && *s.MaxResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
}
if s.NextToken != nil && len(*s.NextToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetMaxResults sets the MaxResults field's value.
func (s *ListInvitationsInput) SetMaxResults(v int64) *ListInvitationsInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListInvitationsInput) SetNextToken(v string) *ListInvitationsInput {
s.NextToken = &v
return s
}
type ListInvitationsOutput struct {
_ struct{} `type:"structure"`
// The list of behavior graphs for which the member account has open or accepted
// invitations.
Invitations []*MemberDetail `type:"list"`
// If there are more behavior graphs remaining in the results, then this is
// the pagination token to use to request the next page of behavior graphs.
NextToken *string `min:"1" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInvitationsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListInvitationsOutput) GoString() string {
return s.String()
}
// SetInvitations sets the Invitations field's value.
func (s *ListInvitationsOutput) SetInvitations(v []*MemberDetail) *ListInvitationsOutput {
s.Invitations = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListInvitationsOutput) SetNextToken(v string) *ListInvitationsOutput {
s.NextToken = &v
return s
}
type ListMembersInput struct {
_ struct{} `type:"structure"`
// The ARN of the behavior graph for which to retrieve the list of member accounts.
//
// GraphArn is a required field
GraphArn *string `type:"string" required:"true"`
// The maximum number of member accounts to include in the response. The total
// must be less than the overall limit on the number of results to return, which
// is currently 200.
MaxResults *int64 `min:"1" type:"integer"`
// For requests to retrieve the next page of member account results, the pagination
// token that was returned with the previous page of results. The initial request
// does not include a pagination token.
NextToken *string `min:"1" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMembersInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMembersInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListMembersInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListMembersInput"}
if s.GraphArn == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArn"))
}
if s.MaxResults != nil && *s.MaxResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
}
if s.NextToken != nil && len(*s.NextToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetGraphArn sets the GraphArn field's value.
func (s *ListMembersInput) SetGraphArn(v string) *ListMembersInput {
s.GraphArn = &v
return s
}
// SetMaxResults sets the MaxResults field's value.
func (s *ListMembersInput) SetMaxResults(v int64) *ListMembersInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListMembersInput) SetNextToken(v string) *ListMembersInput {
s.NextToken = &v
return s
}
type ListMembersOutput struct {
_ struct{} `type:"structure"`
// The list of member accounts in the behavior graph.
//
// For invited accounts, the results include member accounts that did not pass
// verification and member accounts that have not yet accepted the invitation
// to the behavior graph. The results do not include member accounts that were
// removed from the behavior graph.
//
// For the organization behavior graph, the results do not include organization
// accounts that the Detective administrator account has not enabled as member
// accounts.
MemberDetails []*MemberDetail `type:"list"`
// If there are more member accounts remaining in the results, then use this
// pagination token to request the next page of member accounts.
NextToken *string `min:"1" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMembersOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListMembersOutput) GoString() string {
return s.String()
}
// SetMemberDetails sets the MemberDetails field's value.
func (s *ListMembersOutput) SetMemberDetails(v []*MemberDetail) *ListMembersOutput {
s.MemberDetails = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListMembersOutput) SetNextToken(v string) *ListMembersOutput {
s.NextToken = &v
return s
}
type ListOrganizationAdminAccountsInput struct {
_ struct{} `type:"structure"`
// The maximum number of results to return.
MaxResults *int64 `min:"1" type:"integer"`
// For requests to get the next page of results, the pagination token that was
// returned with the previous set of results. The initial request does not include
// a pagination token.
NextToken *string `min:"1" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListOrganizationAdminAccountsInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListOrganizationAdminAccountsInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListOrganizationAdminAccountsInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListOrganizationAdminAccountsInput"}
if s.MaxResults != nil && *s.MaxResults < 1 {
invalidParams.Add(request.NewErrParamMinValue("MaxResults", 1))
}
if s.NextToken != nil && len(*s.NextToken) < 1 {
invalidParams.Add(request.NewErrParamMinLen("NextToken", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetMaxResults sets the MaxResults field's value.
func (s *ListOrganizationAdminAccountsInput) SetMaxResults(v int64) *ListOrganizationAdminAccountsInput {
s.MaxResults = &v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListOrganizationAdminAccountsInput) SetNextToken(v string) *ListOrganizationAdminAccountsInput {
s.NextToken = &v
return s
}
type ListOrganizationAdminAccountsOutput struct {
_ struct{} `type:"structure"`
// The list of Detective administrator accounts.
Administrators []*Administrator `type:"list"`
// If there are more accounts remaining in the results, then this is the pagination
// token to use to request the next page of accounts.
NextToken *string `min:"1" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListOrganizationAdminAccountsOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListOrganizationAdminAccountsOutput) GoString() string {
return s.String()
}
// SetAdministrators sets the Administrators field's value.
func (s *ListOrganizationAdminAccountsOutput) SetAdministrators(v []*Administrator) *ListOrganizationAdminAccountsOutput {
s.Administrators = v
return s
}
// SetNextToken sets the NextToken field's value.
func (s *ListOrganizationAdminAccountsOutput) SetNextToken(v string) *ListOrganizationAdminAccountsOutput {
s.NextToken = &v
return s
}
type ListTagsForResourceInput struct {
_ struct{} `type:"structure" nopayload:"true"`
// The ARN of the behavior graph for which to retrieve the tag values.
//
// ResourceArn is a required field
ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListTagsForResourceInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListTagsForResourceInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *ListTagsForResourceInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "ListTagsForResourceInput"}
if s.ResourceArn == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
}
if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetResourceArn sets the ResourceArn field's value.
func (s *ListTagsForResourceInput) SetResourceArn(v string) *ListTagsForResourceInput {
s.ResourceArn = &v
return s
}
type ListTagsForResourceOutput struct {
_ struct{} `type:"structure"`
// The tag values that are assigned to the behavior graph. The request returns
// up to 50 tag values.
Tags map[string]*string `min:"1" type:"map"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListTagsForResourceOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ListTagsForResourceOutput) GoString() string {
return s.String()
}
// SetTags sets the Tags field's value.
func (s *ListTagsForResourceOutput) SetTags(v map[string]*string) *ListTagsForResourceOutput {
s.Tags = v
return s
}
// Details about a member account in a behavior graph.
type MemberDetail struct {
_ struct{} `type:"structure"`
// The Amazon Web Services account identifier for the member account.
AccountId *string `min:"12" type:"string"`
// The Amazon Web Services account identifier of the administrator account for
// the behavior graph.
AdministratorId *string `min:"12" type:"string"`
// The state of a data source package for the behavior graph.
DatasourcePackageIngestStates map[string]*string `type:"map"`
// For member accounts with a status of ACCEPTED_BUT_DISABLED, the reason that
// the member account is not enabled.
//
// The reason can have one of the following values:
//
// * VOLUME_TOO_HIGH - Indicates that adding the member account would cause
// the data volume for the behavior graph to be too high.
//
// * VOLUME_UNKNOWN - Indicates that Detective is unable to verify the data
// volume for the member account. This is usually because the member account
// is not enrolled in Amazon GuardDuty.
DisabledReason *string `type:"string" enum:"MemberDisabledReason"`
// The Amazon Web Services account root user email address for the member account.
//
// EmailAddress is a sensitive parameter and its value will be
// replaced with "sensitive" in string returned by MemberDetail's
// String and GoString methods.
EmailAddress *string `min:"1" type:"string" sensitive:"true"`
// The ARN of the behavior graph.
GraphArn *string `type:"string"`
// The type of behavior graph membership.
//
// For an organization account in the organization behavior graph, the type
// is ORGANIZATION.
//
// For an account that was invited to a behavior graph, the type is INVITATION.
InvitationType *string `type:"string" enum:"InvitationType"`
// For invited accounts, the date and time that Detective sent the invitation
// to the account. The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.
InvitedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
// The Amazon Web Services account identifier of the administrator account for
// the behavior graph.
//
// Deprecated: This property is deprecated. Use AdministratorId instead.
MasterId *string `min:"12" deprecated:"true" type:"string"`
// The member account data volume as a percentage of the maximum allowed data
// volume. 0 indicates 0 percent, and 100 indicates 100 percent.
//
// Note that this is not the percentage of the behavior graph data volume.
//
// For example, the data volume for the behavior graph is 80 GB per day. The
// maximum data volume is 160 GB per day. If the data volume for the member
// account is 40 GB per day, then PercentOfGraphUtilization is 25. It represents
// 25% of the maximum allowed data volume.
//
// Deprecated: This property is deprecated. Use VolumeUsageByDatasourcePackage instead.
PercentOfGraphUtilization *float64 `deprecated:"true" type:"double"`
// The date and time when the graph utilization percentage was last updated.
// The value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.
//
// Deprecated: This property is deprecated. Use VolumeUsageByDatasourcePackage instead.
PercentOfGraphUtilizationUpdatedTime *time.Time `deprecated:"true" type:"timestamp" timestampFormat:"iso8601"`
// The current membership status of the member account. The status can have
// one of the following values:
//
// * INVITED - For invited accounts only. Indicates that the member was sent
// an invitation but has not yet responded.
//
// * VERIFICATION_IN_PROGRESS - For invited accounts only, indicates that
// Detective is verifying that the account identifier and email address provided
// for the member account match. If they do match, then Detective sends the
// invitation. If the email address and account identifier don't match, then
// the member cannot be added to the behavior graph. For organization accounts
// in the organization behavior graph, indicates that Detective is verifying
// that the account belongs to the organization.
//
// * VERIFICATION_FAILED - For invited accounts only. Indicates that the
// account and email address provided for the member account do not match,
// and Detective did not send an invitation to the account.
//
// * ENABLED - Indicates that the member account currently contributes data
// to the behavior graph. For invited accounts, the member account accepted
// the invitation. For organization accounts in the organization behavior
// graph, the Detective administrator account enabled the organization account
// as a member account.
//
// * ACCEPTED_BUT_DISABLED - The account accepted the invitation, or was
// enabled by the Detective administrator account, but is prevented from
// contributing data to the behavior graph. DisabledReason provides the reason
// why the member account is not enabled.
//
// Invited accounts that declined an invitation or that were removed from the
// behavior graph are not included. In the organization behavior graph, organization
// accounts that the Detective administrator account did not enable are not
// included.
Status *string `type:"string" enum:"MemberStatus"`
// The date and time that the member account was last updated. The value is
// an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.
UpdatedTime *time.Time `type:"timestamp" timestampFormat:"iso8601"`
// Details on the volume of usage for each data source package in a behavior
// graph.
VolumeUsageByDatasourcePackage map[string]*DatasourcePackageUsageInfo `type:"map"`
// The data volume in bytes per day for the member account.
//
// Deprecated: This property is deprecated. Use VolumeUsageByDatasourcePackage instead.
VolumeUsageInBytes *int64 `deprecated:"true" type:"long"`
// The data and time when the member account data volume was last updated. The
// value is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.
//
// Deprecated: This property is deprecated. Use VolumeUsageByDatasourcePackage instead.
VolumeUsageUpdatedTime *time.Time `deprecated:"true" type:"timestamp" timestampFormat:"iso8601"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MemberDetail) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MemberDetail) GoString() string {
return s.String()
}
// SetAccountId sets the AccountId field's value.
func (s *MemberDetail) SetAccountId(v string) *MemberDetail {
s.AccountId = &v
return s
}
// SetAdministratorId sets the AdministratorId field's value.
func (s *MemberDetail) SetAdministratorId(v string) *MemberDetail {
s.AdministratorId = &v
return s
}
// SetDatasourcePackageIngestStates sets the DatasourcePackageIngestStates field's value.
func (s *MemberDetail) SetDatasourcePackageIngestStates(v map[string]*string) *MemberDetail {
s.DatasourcePackageIngestStates = v
return s
}
// SetDisabledReason sets the DisabledReason field's value.
func (s *MemberDetail) SetDisabledReason(v string) *MemberDetail {
s.DisabledReason = &v
return s
}
// SetEmailAddress sets the EmailAddress field's value.
func (s *MemberDetail) SetEmailAddress(v string) *MemberDetail {
s.EmailAddress = &v
return s
}
// SetGraphArn sets the GraphArn field's value.
func (s *MemberDetail) SetGraphArn(v string) *MemberDetail {
s.GraphArn = &v
return s
}
// SetInvitationType sets the InvitationType field's value.
func (s *MemberDetail) SetInvitationType(v string) *MemberDetail {
s.InvitationType = &v
return s
}
// SetInvitedTime sets the InvitedTime field's value.
func (s *MemberDetail) SetInvitedTime(v time.Time) *MemberDetail {
s.InvitedTime = &v
return s
}
// SetMasterId sets the MasterId field's value.
func (s *MemberDetail) SetMasterId(v string) *MemberDetail {
s.MasterId = &v
return s
}
// SetPercentOfGraphUtilization sets the PercentOfGraphUtilization field's value.
func (s *MemberDetail) SetPercentOfGraphUtilization(v float64) *MemberDetail {
s.PercentOfGraphUtilization = &v
return s
}
// SetPercentOfGraphUtilizationUpdatedTime sets the PercentOfGraphUtilizationUpdatedTime field's value.
func (s *MemberDetail) SetPercentOfGraphUtilizationUpdatedTime(v time.Time) *MemberDetail {
s.PercentOfGraphUtilizationUpdatedTime = &v
return s
}
// SetStatus sets the Status field's value.
func (s *MemberDetail) SetStatus(v string) *MemberDetail {
s.Status = &v
return s
}
// SetUpdatedTime sets the UpdatedTime field's value.
func (s *MemberDetail) SetUpdatedTime(v time.Time) *MemberDetail {
s.UpdatedTime = &v
return s
}
// SetVolumeUsageByDatasourcePackage sets the VolumeUsageByDatasourcePackage field's value.
func (s *MemberDetail) SetVolumeUsageByDatasourcePackage(v map[string]*DatasourcePackageUsageInfo) *MemberDetail {
s.VolumeUsageByDatasourcePackage = v
return s
}
// SetVolumeUsageInBytes sets the VolumeUsageInBytes field's value.
func (s *MemberDetail) SetVolumeUsageInBytes(v int64) *MemberDetail {
s.VolumeUsageInBytes = &v
return s
}
// SetVolumeUsageUpdatedTime sets the VolumeUsageUpdatedTime field's value.
func (s *MemberDetail) SetVolumeUsageUpdatedTime(v time.Time) *MemberDetail {
s.VolumeUsageUpdatedTime = &v
return s
}
// Details on data source packages for members of the behavior graph.
type MembershipDatasources struct {
_ struct{} `type:"structure"`
// The account identifier of the Amazon Web Services account.
AccountId *string `min:"12" type:"string"`
// Details on when a data source package was added to a behavior graph.
DatasourcePackageIngestHistory map[string]map[string]*TimestampForCollection `type:"map"`
// The ARN of the organization behavior graph.
GraphArn *string `type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MembershipDatasources) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s MembershipDatasources) GoString() string {
return s.String()
}
// SetAccountId sets the AccountId field's value.
func (s *MembershipDatasources) SetAccountId(v string) *MembershipDatasources {
s.AccountId = &v
return s
}
// SetDatasourcePackageIngestHistory sets the DatasourcePackageIngestHistory field's value.
func (s *MembershipDatasources) SetDatasourcePackageIngestHistory(v map[string]map[string]*TimestampForCollection) *MembershipDatasources {
s.DatasourcePackageIngestHistory = v
return s
}
// SetGraphArn sets the GraphArn field's value.
func (s *MembershipDatasources) SetGraphArn(v string) *MembershipDatasources {
s.GraphArn = &v
return s
}
// Details new Autonomous System Organizations (ASOs) used either at the resource
// or account level.
type NewAsoDetail struct {
_ struct{} `type:"structure"`
// Details about the new Autonomous System Organization (ASO).
Aso *string `type:"string"`
// Checks if the Autonomous System Organization (ASO) is new for the entire
// account.
IsNewForEntireAccount *bool `type:"boolean"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s NewAsoDetail) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s NewAsoDetail) GoString() string {
return s.String()
}
// SetAso sets the Aso field's value.
func (s *NewAsoDetail) SetAso(v string) *NewAsoDetail {
s.Aso = &v
return s
}
// SetIsNewForEntireAccount sets the IsNewForEntireAccount field's value.
func (s *NewAsoDetail) SetIsNewForEntireAccount(v bool) *NewAsoDetail {
s.IsNewForEntireAccount = &v
return s
}
// Details new geolocations used either at the resource or account level. For
// example, lists an observed geolocation that is an infrequent or unused location
// based on previous user activity.
type NewGeolocationDetail struct {
_ struct{} `type:"structure"`
// IP address using which the resource was accessed.
IpAddress *string `type:"string"`
// Checks if the geolocation is new for the entire account.
IsNewForEntireAccount *bool `type:"boolean"`
// Location where the resource was accessed.
Location *string `type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s NewGeolocationDetail) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s NewGeolocationDetail) GoString() string {
return s.String()
}
// SetIpAddress sets the IpAddress field's value.
func (s *NewGeolocationDetail) SetIpAddress(v string) *NewGeolocationDetail {
s.IpAddress = &v
return s
}
// SetIsNewForEntireAccount sets the IsNewForEntireAccount field's value.
func (s *NewGeolocationDetail) SetIsNewForEntireAccount(v bool) *NewGeolocationDetail {
s.IsNewForEntireAccount = &v
return s
}
// SetLocation sets the Location field's value.
func (s *NewGeolocationDetail) SetLocation(v string) *NewGeolocationDetail {
s.Location = &v
return s
}
// Details new user agents used either at the resource or account level.
type NewUserAgentDetail struct {
_ struct{} `type:"structure"`
// Checks if the user agent is new for the entire account.
IsNewForEntireAccount *bool `type:"boolean"`
// New user agent which accessed the resource.
UserAgent *string `type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s NewUserAgentDetail) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s NewUserAgentDetail) GoString() string {
return s.String()
}
// SetIsNewForEntireAccount sets the IsNewForEntireAccount field's value.
func (s *NewUserAgentDetail) SetIsNewForEntireAccount(v bool) *NewUserAgentDetail {
s.IsNewForEntireAccount = &v
return s
}
// SetUserAgent sets the UserAgent field's value.
func (s *NewUserAgentDetail) SetUserAgent(v string) *NewUserAgentDetail {
s.UserAgent = &v
return s
}
type RejectInvitationInput struct {
_ struct{} `type:"structure"`
// The ARN of the behavior graph to reject the invitation to.
//
// The member account's current member status in the behavior graph must be
// INVITED.
//
// GraphArn is a required field
GraphArn *string `type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RejectInvitationInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RejectInvitationInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *RejectInvitationInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "RejectInvitationInput"}
if s.GraphArn == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetGraphArn sets the GraphArn field's value.
func (s *RejectInvitationInput) SetGraphArn(v string) *RejectInvitationInput {
s.GraphArn = &v
return s
}
type RejectInvitationOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RejectInvitationOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RejectInvitationOutput) GoString() string {
return s.String()
}
// Details related activities associated with a potential security event. Lists
// all distinct categories of evidence that are connected to the resource or
// the finding group.
type RelatedFindingDetail struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the related finding.
Arn *string `type:"string"`
// The IP address of the finding.
IpAddress *string `type:"string"`
// The type of finding.
Type *string `type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RelatedFindingDetail) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RelatedFindingDetail) GoString() string {
return s.String()
}
// SetArn sets the Arn field's value.
func (s *RelatedFindingDetail) SetArn(v string) *RelatedFindingDetail {
s.Arn = &v
return s
}
// SetIpAddress sets the IpAddress field's value.
func (s *RelatedFindingDetail) SetIpAddress(v string) *RelatedFindingDetail {
s.IpAddress = &v
return s
}
// SetType sets the Type field's value.
func (s *RelatedFindingDetail) SetType(v string) *RelatedFindingDetail {
s.Type = &v
return s
}
// Details multiple activities as they related to a potential security event.
// Detective uses graph analysis technique that infers relationships between
// findings and entities, and groups them together as a finding group.
type RelatedFindingGroupDetail struct {
_ struct{} `type:"structure"`
// The unique identifier for the finding group.
Id *string `type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RelatedFindingGroupDetail) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s RelatedFindingGroupDetail) GoString() string {
return s.String()
}
// SetId sets the Id field's value.
func (s *RelatedFindingGroupDetail) SetId(v string) *RelatedFindingGroupDetail {
s.Id = &v
return s
}
// The request refers to a nonexistent resource.
type ResourceNotFoundException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"Message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ResourceNotFoundException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ResourceNotFoundException) GoString() string {
return s.String()
}
func newErrorResourceNotFoundException(v protocol.ResponseMetadata) error {
return &ResourceNotFoundException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ResourceNotFoundException) Code() string {
return "ResourceNotFoundException"
}
// Message returns the exception's message.
func (s *ResourceNotFoundException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ResourceNotFoundException) OrigErr() error {
return nil
}
func (s *ResourceNotFoundException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ResourceNotFoundException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ResourceNotFoundException) RequestID() string {
return s.RespMetadata.RequestID
}
// This request cannot be completed for one of the following reasons.
//
// - This request cannot be completed if it would cause the number of member
// accounts in the behavior graph to exceed the maximum allowed. A behavior
// graph cannot have more than 1,200 member accounts.
//
// - This request cannot be completed if the current volume ingested is above
// the limit of 10 TB per day. Detective will not allow you to add additional
// member accounts.
type ServiceQuotaExceededException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"Message" type:"string"`
// The type of resource that has exceeded the service quota.
Resources []*string `min:"1" type:"list"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ServiceQuotaExceededException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ServiceQuotaExceededException) GoString() string {
return s.String()
}
func newErrorServiceQuotaExceededException(v protocol.ResponseMetadata) error {
return &ServiceQuotaExceededException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ServiceQuotaExceededException) Code() string {
return "ServiceQuotaExceededException"
}
// Message returns the exception's message.
func (s *ServiceQuotaExceededException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ServiceQuotaExceededException) OrigErr() error {
return nil
}
func (s *ServiceQuotaExceededException) Error() string {
return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ServiceQuotaExceededException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ServiceQuotaExceededException) RequestID() string {
return s.RespMetadata.RequestID
}
// Details about the criteria used for sorting investigations.
type SortCriteria struct {
_ struct{} `type:"structure"`
// Represents the Field attribute to sort investigations.
Field *string `type:"string" enum:"Field"`
// The order by which the sorted findings are displayed.
SortOrder *string `type:"string" enum:"SortOrder"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s SortCriteria) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s SortCriteria) GoString() string {
return s.String()
}
// SetField sets the Field field's value.
func (s *SortCriteria) SetField(v string) *SortCriteria {
s.Field = &v
return s
}
// SetSortOrder sets the SortOrder field's value.
func (s *SortCriteria) SetSortOrder(v string) *SortCriteria {
s.SortOrder = &v
return s
}
type StartInvestigationInput struct {
_ struct{} `type:"structure"`
// The unique Amazon Resource Name (ARN) of the IAM user and IAM role.
//
// EntityArn is a required field
EntityArn *string `type:"string" required:"true"`
// The Amazon Resource Name (ARN) of the behavior graph.
//
// GraphArn is a required field
GraphArn *string `type:"string" required:"true"`
// The data and time when the investigation ended. The value is an UTC ISO8601
// formatted string. For example, 2021-08-18T16:35:56.284Z.
//
// ScopeEndTime is a required field
ScopeEndTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
// The data and time when the investigation began. The value is an UTC ISO8601
// formatted string. For example, 2021-08-18T16:35:56.284Z.
//
// ScopeStartTime is a required field
ScopeStartTime *time.Time `type:"timestamp" timestampFormat:"iso8601" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartInvestigationInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartInvestigationInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *StartInvestigationInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "StartInvestigationInput"}
if s.EntityArn == nil {
invalidParams.Add(request.NewErrParamRequired("EntityArn"))
}
if s.GraphArn == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArn"))
}
if s.ScopeEndTime == nil {
invalidParams.Add(request.NewErrParamRequired("ScopeEndTime"))
}
if s.ScopeStartTime == nil {
invalidParams.Add(request.NewErrParamRequired("ScopeStartTime"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetEntityArn sets the EntityArn field's value.
func (s *StartInvestigationInput) SetEntityArn(v string) *StartInvestigationInput {
s.EntityArn = &v
return s
}
// SetGraphArn sets the GraphArn field's value.
func (s *StartInvestigationInput) SetGraphArn(v string) *StartInvestigationInput {
s.GraphArn = &v
return s
}
// SetScopeEndTime sets the ScopeEndTime field's value.
func (s *StartInvestigationInput) SetScopeEndTime(v time.Time) *StartInvestigationInput {
s.ScopeEndTime = &v
return s
}
// SetScopeStartTime sets the ScopeStartTime field's value.
func (s *StartInvestigationInput) SetScopeStartTime(v time.Time) *StartInvestigationInput {
s.ScopeStartTime = &v
return s
}
type StartInvestigationOutput struct {
_ struct{} `type:"structure"`
// The investigation ID of the investigation report.
InvestigationId *string `min:"21" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartInvestigationOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartInvestigationOutput) GoString() string {
return s.String()
}
// SetInvestigationId sets the InvestigationId field's value.
func (s *StartInvestigationOutput) SetInvestigationId(v string) *StartInvestigationOutput {
s.InvestigationId = &v
return s
}
type StartMonitoringMemberInput struct {
_ struct{} `type:"structure"`
// The account ID of the member account to try to enable.
//
// The account must be an invited member account with a status of ACCEPTED_BUT_DISABLED.
//
// AccountId is a required field
AccountId *string `min:"12" type:"string" required:"true"`
// The ARN of the behavior graph.
//
// GraphArn is a required field
GraphArn *string `type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartMonitoringMemberInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartMonitoringMemberInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *StartMonitoringMemberInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "StartMonitoringMemberInput"}
if s.AccountId == nil {
invalidParams.Add(request.NewErrParamRequired("AccountId"))
}
if s.AccountId != nil && len(*s.AccountId) < 12 {
invalidParams.Add(request.NewErrParamMinLen("AccountId", 12))
}
if s.GraphArn == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAccountId sets the AccountId field's value.
func (s *StartMonitoringMemberInput) SetAccountId(v string) *StartMonitoringMemberInput {
s.AccountId = &v
return s
}
// SetGraphArn sets the GraphArn field's value.
func (s *StartMonitoringMemberInput) SetGraphArn(v string) *StartMonitoringMemberInput {
s.GraphArn = &v
return s
}
type StartMonitoringMemberOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartMonitoringMemberOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StartMonitoringMemberOutput) GoString() string {
return s.String()
}
// A string for filtering Detective investigations.
type StringFilter struct {
_ struct{} `type:"structure"`
// The string filter value.
//
// Value is a required field
Value *string `min:"1" type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StringFilter) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s StringFilter) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *StringFilter) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "StringFilter"}
if s.Value == nil {
invalidParams.Add(request.NewErrParamRequired("Value"))
}
if s.Value != nil && len(*s.Value) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Value", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetValue sets the Value field's value.
func (s *StringFilter) SetValue(v string) *StringFilter {
s.Value = &v
return s
}
// Details tactics, techniques, and procedures (TTPs) used in a potential security
// event. Tactics are based on MITRE ATT&CK Matrix for Enterprise (https://attack.mitre.org/matrices/enterprise/).
type TTPsObservedDetail struct {
_ struct{} `type:"structure"`
// The total number of failed API requests.
APIFailureCount *int64 `type:"long"`
// The name of the API where the tactics, techniques, and procedure (TTP) was
// observed.
APIName *string `type:"string"`
// The total number of successful API requests.
APISuccessCount *int64 `type:"long"`
// The IP address where the tactics, techniques, and procedure (TTP) was observed.
IpAddress *string `type:"string"`
// The procedure used, identified by the investigation.
Procedure *string `type:"string"`
// The tactic used, identified by the investigation.
Tactic *string `type:"string"`
// The technique used, identified by the investigation.
Technique *string `type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TTPsObservedDetail) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TTPsObservedDetail) GoString() string {
return s.String()
}
// SetAPIFailureCount sets the APIFailureCount field's value.
func (s *TTPsObservedDetail) SetAPIFailureCount(v int64) *TTPsObservedDetail {
s.APIFailureCount = &v
return s
}
// SetAPIName sets the APIName field's value.
func (s *TTPsObservedDetail) SetAPIName(v string) *TTPsObservedDetail {
s.APIName = &v
return s
}
// SetAPISuccessCount sets the APISuccessCount field's value.
func (s *TTPsObservedDetail) SetAPISuccessCount(v int64) *TTPsObservedDetail {
s.APISuccessCount = &v
return s
}
// SetIpAddress sets the IpAddress field's value.
func (s *TTPsObservedDetail) SetIpAddress(v string) *TTPsObservedDetail {
s.IpAddress = &v
return s
}
// SetProcedure sets the Procedure field's value.
func (s *TTPsObservedDetail) SetProcedure(v string) *TTPsObservedDetail {
s.Procedure = &v
return s
}
// SetTactic sets the Tactic field's value.
func (s *TTPsObservedDetail) SetTactic(v string) *TTPsObservedDetail {
s.Tactic = &v
return s
}
// SetTechnique sets the Technique field's value.
func (s *TTPsObservedDetail) SetTechnique(v string) *TTPsObservedDetail {
s.Technique = &v
return s
}
type TagResourceInput struct {
_ struct{} `type:"structure"`
// The ARN of the behavior graph to assign the tags to.
//
// ResourceArn is a required field
ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
// The tags to assign to the behavior graph. You can add up to 50 tags. For
// each tag, you provide the tag key and the tag value. Each tag key can contain
// up to 128 characters. Each tag value can contain up to 256 characters.
//
// Tags is a required field
Tags map[string]*string `min:"1" type:"map" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TagResourceInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TagResourceInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *TagResourceInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "TagResourceInput"}
if s.ResourceArn == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
}
if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
}
if s.Tags == nil {
invalidParams.Add(request.NewErrParamRequired("Tags"))
}
if s.Tags != nil && len(s.Tags) < 1 {
invalidParams.Add(request.NewErrParamMinLen("Tags", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetResourceArn sets the ResourceArn field's value.
func (s *TagResourceInput) SetResourceArn(v string) *TagResourceInput {
s.ResourceArn = &v
return s
}
// SetTags sets the Tags field's value.
func (s *TagResourceInput) SetTags(v map[string]*string) *TagResourceInput {
s.Tags = v
return s
}
type TagResourceOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TagResourceOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TagResourceOutput) GoString() string {
return s.String()
}
// Details on when data collection began for a source package.
type TimestampForCollection struct {
_ struct{} `type:"structure"`
// The data and time when data collection began for a source package. The value
// is an ISO8601 formatted string. For example, 2021-08-18T16:35:56.284Z.
Timestamp *time.Time `type:"timestamp" timestampFormat:"iso8601"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TimestampForCollection) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TimestampForCollection) GoString() string {
return s.String()
}
// SetTimestamp sets the Timestamp field's value.
func (s *TimestampForCollection) SetTimestamp(v time.Time) *TimestampForCollection {
s.Timestamp = &v
return s
}
// The request cannot be completed because too many other requests are occurring
// at the same time.
type TooManyRequestsException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
Message_ *string `locationName:"Message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TooManyRequestsException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s TooManyRequestsException) GoString() string {
return s.String()
}
func newErrorTooManyRequestsException(v protocol.ResponseMetadata) error {
return &TooManyRequestsException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *TooManyRequestsException) Code() string {
return "TooManyRequestsException"
}
// Message returns the exception's message.
func (s *TooManyRequestsException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *TooManyRequestsException) OrigErr() error {
return nil
}
func (s *TooManyRequestsException) Error() string {
return fmt.Sprintf("%s: %s", s.Code(), s.Message())
}
// Status code returns the HTTP status code for the request's response error.
func (s *TooManyRequestsException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *TooManyRequestsException) RequestID() string {
return s.RespMetadata.RequestID
}
// A member account that was included in a request but for which the request
// could not be processed.
type UnprocessedAccount struct {
_ struct{} `type:"structure"`
// The Amazon Web Services account identifier of the member account that was
// not processed.
AccountId *string `min:"12" type:"string"`
// The reason that the member account request could not be processed.
Reason *string `type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UnprocessedAccount) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UnprocessedAccount) GoString() string {
return s.String()
}
// SetAccountId sets the AccountId field's value.
func (s *UnprocessedAccount) SetAccountId(v string) *UnprocessedAccount {
s.AccountId = &v
return s
}
// SetReason sets the Reason field's value.
func (s *UnprocessedAccount) SetReason(v string) *UnprocessedAccount {
s.Reason = &v
return s
}
// Behavior graphs that could not be processed in the request.
type UnprocessedGraph struct {
_ struct{} `type:"structure"`
// The ARN of the organization behavior graph.
GraphArn *string `type:"string"`
// The reason data source package information could not be processed for a behavior
// graph.
Reason *string `type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UnprocessedGraph) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UnprocessedGraph) GoString() string {
return s.String()
}
// SetGraphArn sets the GraphArn field's value.
func (s *UnprocessedGraph) SetGraphArn(v string) *UnprocessedGraph {
s.GraphArn = &v
return s
}
// SetReason sets the Reason field's value.
func (s *UnprocessedGraph) SetReason(v string) *UnprocessedGraph {
s.Reason = &v
return s
}
type UntagResourceInput struct {
_ struct{} `type:"structure" nopayload:"true"`
// The ARN of the behavior graph to remove the tags from.
//
// ResourceArn is a required field
ResourceArn *string `location:"uri" locationName:"ResourceArn" type:"string" required:"true"`
// The tag keys of the tags to remove from the behavior graph. You can remove
// up to 50 tags at a time.
//
// TagKeys is a required field
TagKeys []*string `location:"querystring" locationName:"tagKeys" min:"1" type:"list" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UntagResourceInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UntagResourceInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *UntagResourceInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "UntagResourceInput"}
if s.ResourceArn == nil {
invalidParams.Add(request.NewErrParamRequired("ResourceArn"))
}
if s.ResourceArn != nil && len(*s.ResourceArn) < 1 {
invalidParams.Add(request.NewErrParamMinLen("ResourceArn", 1))
}
if s.TagKeys == nil {
invalidParams.Add(request.NewErrParamRequired("TagKeys"))
}
if s.TagKeys != nil && len(s.TagKeys) < 1 {
invalidParams.Add(request.NewErrParamMinLen("TagKeys", 1))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetResourceArn sets the ResourceArn field's value.
func (s *UntagResourceInput) SetResourceArn(v string) *UntagResourceInput {
s.ResourceArn = &v
return s
}
// SetTagKeys sets the TagKeys field's value.
func (s *UntagResourceInput) SetTagKeys(v []*string) *UntagResourceInput {
s.TagKeys = v
return s
}
type UntagResourceOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UntagResourceOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UntagResourceOutput) GoString() string {
return s.String()
}
type UpdateDatasourcePackagesInput struct {
_ struct{} `type:"structure"`
// The data source package start for the behavior graph.
//
// DatasourcePackages is a required field
DatasourcePackages []*string `min:"1" type:"list" required:"true" enum:"DatasourcePackage"`
// The ARN of the behavior graph.
//
// GraphArn is a required field
GraphArn *string `type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateDatasourcePackagesInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateDatasourcePackagesInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateDatasourcePackagesInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "UpdateDatasourcePackagesInput"}
if s.DatasourcePackages == nil {
invalidParams.Add(request.NewErrParamRequired("DatasourcePackages"))
}
if s.DatasourcePackages != nil && len(s.DatasourcePackages) < 1 {
invalidParams.Add(request.NewErrParamMinLen("DatasourcePackages", 1))
}
if s.GraphArn == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetDatasourcePackages sets the DatasourcePackages field's value.
func (s *UpdateDatasourcePackagesInput) SetDatasourcePackages(v []*string) *UpdateDatasourcePackagesInput {
s.DatasourcePackages = v
return s
}
// SetGraphArn sets the GraphArn field's value.
func (s *UpdateDatasourcePackagesInput) SetGraphArn(v string) *UpdateDatasourcePackagesInput {
s.GraphArn = &v
return s
}
type UpdateDatasourcePackagesOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateDatasourcePackagesOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateDatasourcePackagesOutput) GoString() string {
return s.String()
}
type UpdateInvestigationStateInput struct {
_ struct{} `type:"structure"`
// The Amazon Resource Name (ARN) of the behavior graph.
//
// GraphArn is a required field
GraphArn *string `type:"string" required:"true"`
// The investigation ID of the investigation report.
//
// InvestigationId is a required field
InvestigationId *string `min:"21" type:"string" required:"true"`
// The current state of the investigation. An archived investigation indicates
// you have completed reviewing the investigation.
//
// State is a required field
State *string `type:"string" required:"true" enum:"State"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateInvestigationStateInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateInvestigationStateInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateInvestigationStateInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "UpdateInvestigationStateInput"}
if s.GraphArn == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArn"))
}
if s.InvestigationId == nil {
invalidParams.Add(request.NewErrParamRequired("InvestigationId"))
}
if s.InvestigationId != nil && len(*s.InvestigationId) < 21 {
invalidParams.Add(request.NewErrParamMinLen("InvestigationId", 21))
}
if s.State == nil {
invalidParams.Add(request.NewErrParamRequired("State"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetGraphArn sets the GraphArn field's value.
func (s *UpdateInvestigationStateInput) SetGraphArn(v string) *UpdateInvestigationStateInput {
s.GraphArn = &v
return s
}
// SetInvestigationId sets the InvestigationId field's value.
func (s *UpdateInvestigationStateInput) SetInvestigationId(v string) *UpdateInvestigationStateInput {
s.InvestigationId = &v
return s
}
// SetState sets the State field's value.
func (s *UpdateInvestigationStateInput) SetState(v string) *UpdateInvestigationStateInput {
s.State = &v
return s
}
type UpdateInvestigationStateOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateInvestigationStateOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateInvestigationStateOutput) GoString() string {
return s.String()
}
type UpdateOrganizationConfigurationInput struct {
_ struct{} `type:"structure"`
// Indicates whether to automatically enable new organization accounts as member
// accounts in the organization behavior graph.
AutoEnable *bool `type:"boolean"`
// The ARN of the organization behavior graph.
//
// GraphArn is a required field
GraphArn *string `type:"string" required:"true"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateOrganizationConfigurationInput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateOrganizationConfigurationInput) GoString() string {
return s.String()
}
// Validate inspects the fields of the type to determine if they are valid.
func (s *UpdateOrganizationConfigurationInput) Validate() error {
invalidParams := request.ErrInvalidParams{Context: "UpdateOrganizationConfigurationInput"}
if s.GraphArn == nil {
invalidParams.Add(request.NewErrParamRequired("GraphArn"))
}
if invalidParams.Len() > 0 {
return invalidParams
}
return nil
}
// SetAutoEnable sets the AutoEnable field's value.
func (s *UpdateOrganizationConfigurationInput) SetAutoEnable(v bool) *UpdateOrganizationConfigurationInput {
s.AutoEnable = &v
return s
}
// SetGraphArn sets the GraphArn field's value.
func (s *UpdateOrganizationConfigurationInput) SetGraphArn(v string) *UpdateOrganizationConfigurationInput {
s.GraphArn = &v
return s
}
type UpdateOrganizationConfigurationOutput struct {
_ struct{} `type:"structure"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateOrganizationConfigurationOutput) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s UpdateOrganizationConfigurationOutput) GoString() string {
return s.String()
}
// The request parameters are invalid.
type ValidationException struct {
_ struct{} `type:"structure"`
RespMetadata protocol.ResponseMetadata `json:"-" xml:"-"`
// The error code associated with the validation failure.
ErrorCode *string `type:"string" enum:"ErrorCode"`
// An explanation of why validation failed.
ErrorCodeReason *string `type:"string"`
Message_ *string `locationName:"Message" type:"string"`
}
// String returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ValidationException) String() string {
return awsutil.Prettify(s)
}
// GoString returns the string representation.
//
// API parameter values that are decorated as "sensitive" in the API will not
// be included in the string output. The member name will be present, but the
// value will be replaced with "sensitive".
func (s ValidationException) GoString() string {
return s.String()
}
func newErrorValidationException(v protocol.ResponseMetadata) error {
return &ValidationException{
RespMetadata: v,
}
}
// Code returns the exception type name.
func (s *ValidationException) Code() string {
return "ValidationException"
}
// Message returns the exception's message.
func (s *ValidationException) Message() string {
if s.Message_ != nil {
return *s.Message_
}
return ""
}
// OrigErr always returns nil, satisfies awserr.Error interface.
func (s *ValidationException) OrigErr() error {
return nil
}
func (s *ValidationException) Error() string {
return fmt.Sprintf("%s: %s\n%s", s.Code(), s.Message(), s.String())
}
// Status code returns the HTTP status code for the request's response error.
func (s *ValidationException) StatusCode() int {
return s.RespMetadata.StatusCode
}
// RequestID returns the service's response RequestID for request.
func (s *ValidationException) RequestID() string {
return s.RespMetadata.RequestID
}
const (
// DatasourcePackageDetectiveCore is a DatasourcePackage enum value
DatasourcePackageDetectiveCore = "DETECTIVE_CORE"
// DatasourcePackageEksAudit is a DatasourcePackage enum value
DatasourcePackageEksAudit = "EKS_AUDIT"
// DatasourcePackageAsffSecurityhubFinding is a DatasourcePackage enum value
DatasourcePackageAsffSecurityhubFinding = "ASFF_SECURITYHUB_FINDING"
)
// DatasourcePackage_Values returns all elements of the DatasourcePackage enum
func DatasourcePackage_Values() []string {
return []string{
DatasourcePackageDetectiveCore,
DatasourcePackageEksAudit,
DatasourcePackageAsffSecurityhubFinding,
}
}
const (
// DatasourcePackageIngestStateStarted is a DatasourcePackageIngestState enum value
DatasourcePackageIngestStateStarted = "STARTED"
// DatasourcePackageIngestStateStopped is a DatasourcePackageIngestState enum value
DatasourcePackageIngestStateStopped = "STOPPED"
// DatasourcePackageIngestStateDisabled is a DatasourcePackageIngestState enum value
DatasourcePackageIngestStateDisabled = "DISABLED"
)
// DatasourcePackageIngestState_Values returns all elements of the DatasourcePackageIngestState enum
func DatasourcePackageIngestState_Values() []string {
return []string{
DatasourcePackageIngestStateStarted,
DatasourcePackageIngestStateStopped,
DatasourcePackageIngestStateDisabled,
}
}
const (
// EntityTypeIamRole is a EntityType enum value
EntityTypeIamRole = "IAM_ROLE"
// EntityTypeIamUser is a EntityType enum value
EntityTypeIamUser = "IAM_USER"
)
// EntityType_Values returns all elements of the EntityType enum
func EntityType_Values() []string {
return []string{
EntityTypeIamRole,
EntityTypeIamUser,
}
}
const (
// ErrorCodeInvalidGraphArn is a ErrorCode enum value
ErrorCodeInvalidGraphArn = "INVALID_GRAPH_ARN"
// ErrorCodeInvalidRequestBody is a ErrorCode enum value
ErrorCodeInvalidRequestBody = "INVALID_REQUEST_BODY"
// ErrorCodeInternalError is a ErrorCode enum value
ErrorCodeInternalError = "INTERNAL_ERROR"
)
// ErrorCode_Values returns all elements of the ErrorCode enum
func ErrorCode_Values() []string {
return []string{
ErrorCodeInvalidGraphArn,
ErrorCodeInvalidRequestBody,
ErrorCodeInternalError,
}
}
const (
// FieldSeverity is a Field enum value
FieldSeverity = "SEVERITY"
// FieldStatus is a Field enum value
FieldStatus = "STATUS"
// FieldCreatedTime is a Field enum value
FieldCreatedTime = "CREATED_TIME"
)
// Field_Values returns all elements of the Field enum
func Field_Values() []string {
return []string{
FieldSeverity,
FieldStatus,
FieldCreatedTime,
}
}
const (
// IndicatorTypeTtpObserved is a IndicatorType enum value
IndicatorTypeTtpObserved = "TTP_OBSERVED"
// IndicatorTypeImpossibleTravel is a IndicatorType enum value
IndicatorTypeImpossibleTravel = "IMPOSSIBLE_TRAVEL"
// IndicatorTypeFlaggedIpAddress is a IndicatorType enum value
IndicatorTypeFlaggedIpAddress = "FLAGGED_IP_ADDRESS"
// IndicatorTypeNewGeolocation is a IndicatorType enum value
IndicatorTypeNewGeolocation = "NEW_GEOLOCATION"
// IndicatorTypeNewAso is a IndicatorType enum value
IndicatorTypeNewAso = "NEW_ASO"
// IndicatorTypeNewUserAgent is a IndicatorType enum value
IndicatorTypeNewUserAgent = "NEW_USER_AGENT"
// IndicatorTypeRelatedFinding is a IndicatorType enum value
IndicatorTypeRelatedFinding = "RELATED_FINDING"
// IndicatorTypeRelatedFindingGroup is a IndicatorType enum value
IndicatorTypeRelatedFindingGroup = "RELATED_FINDING_GROUP"
)
// IndicatorType_Values returns all elements of the IndicatorType enum
func IndicatorType_Values() []string {
return []string{
IndicatorTypeTtpObserved,
IndicatorTypeImpossibleTravel,
IndicatorTypeFlaggedIpAddress,
IndicatorTypeNewGeolocation,
IndicatorTypeNewAso,
IndicatorTypeNewUserAgent,
IndicatorTypeRelatedFinding,
IndicatorTypeRelatedFindingGroup,
}
}
const (
// InvitationTypeInvitation is a InvitationType enum value
InvitationTypeInvitation = "INVITATION"
// InvitationTypeOrganization is a InvitationType enum value
InvitationTypeOrganization = "ORGANIZATION"
)
// InvitationType_Values returns all elements of the InvitationType enum
func InvitationType_Values() []string {
return []string{
InvitationTypeInvitation,
InvitationTypeOrganization,
}
}
const (
// MemberDisabledReasonVolumeTooHigh is a MemberDisabledReason enum value
MemberDisabledReasonVolumeTooHigh = "VOLUME_TOO_HIGH"
// MemberDisabledReasonVolumeUnknown is a MemberDisabledReason enum value
MemberDisabledReasonVolumeUnknown = "VOLUME_UNKNOWN"
)
// MemberDisabledReason_Values returns all elements of the MemberDisabledReason enum
func MemberDisabledReason_Values() []string {
return []string{
MemberDisabledReasonVolumeTooHigh,
MemberDisabledReasonVolumeUnknown,
}
}
const (
// MemberStatusInvited is a MemberStatus enum value
MemberStatusInvited = "INVITED"
// MemberStatusVerificationInProgress is a MemberStatus enum value
MemberStatusVerificationInProgress = "VERIFICATION_IN_PROGRESS"
// MemberStatusVerificationFailed is a MemberStatus enum value
MemberStatusVerificationFailed = "VERIFICATION_FAILED"
// MemberStatusEnabled is a MemberStatus enum value
MemberStatusEnabled = "ENABLED"
// MemberStatusAcceptedButDisabled is a MemberStatus enum value
MemberStatusAcceptedButDisabled = "ACCEPTED_BUT_DISABLED"
)
// MemberStatus_Values returns all elements of the MemberStatus enum
func MemberStatus_Values() []string {
return []string{
MemberStatusInvited,
MemberStatusVerificationInProgress,
MemberStatusVerificationFailed,
MemberStatusEnabled,
MemberStatusAcceptedButDisabled,
}
}
const (
// ReasonAwsThreatIntelligence is a Reason enum value
ReasonAwsThreatIntelligence = "AWS_THREAT_INTELLIGENCE"
)
// Reason_Values returns all elements of the Reason enum
func Reason_Values() []string {
return []string{
ReasonAwsThreatIntelligence,
}
}
const (
// SeverityInformational is a Severity enum value
SeverityInformational = "INFORMATIONAL"
// SeverityLow is a Severity enum value
SeverityLow = "LOW"
// SeverityMedium is a Severity enum value
SeverityMedium = "MEDIUM"
// SeverityHigh is a Severity enum value
SeverityHigh = "HIGH"
// SeverityCritical is a Severity enum value
SeverityCritical = "CRITICAL"
)
// Severity_Values returns all elements of the Severity enum
func Severity_Values() []string {
return []string{
SeverityInformational,
SeverityLow,
SeverityMedium,
SeverityHigh,
SeverityCritical,
}
}
const (
// SortOrderAsc is a SortOrder enum value
SortOrderAsc = "ASC"
// SortOrderDesc is a SortOrder enum value
SortOrderDesc = "DESC"
)
// SortOrder_Values returns all elements of the SortOrder enum
func SortOrder_Values() []string {
return []string{
SortOrderAsc,
SortOrderDesc,
}
}
const (
// StateActive is a State enum value
StateActive = "ACTIVE"
// StateArchived is a State enum value
StateArchived = "ARCHIVED"
)
// State_Values returns all elements of the State enum
func State_Values() []string {
return []string{
StateActive,
StateArchived,
}
}
const (
// StatusRunning is a Status enum value
StatusRunning = "RUNNING"
// StatusFailed is a Status enum value
StatusFailed = "FAILED"
// StatusSuccessful is a Status enum value
StatusSuccessful = "SUCCESSFUL"
)
// Status_Values returns all elements of the Status enum
func Status_Values() []string {
return []string{
StatusRunning,
StatusFailed,
StatusSuccessful,
}
}