com.amazonaws.services.detective.AmazonDetectiveAsync Maven / Gradle / Ivy
/*
* Copyright 2015-2020 Amazon.com, Inc. or its affiliates. All Rights Reserved.
*
* Licensed under the Apache License, Version 2.0 (the "License"). You may not use this file except in compliance with
* the License. A copy of the License is located at
*
* http://aws.amazon.com/apache2.0
*
* or in the "license" file accompanying this file. This file is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
* CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions
* and limitations under the License.
*/
package com.amazonaws.services.detective;
import javax.annotation.Generated;
import com.amazonaws.services.detective.model.*;
/**
* Interface for accessing Amazon Detective asynchronously. Each asynchronous method will return a Java Future object
* representing the asynchronous operation; overloads which accept an {@code AsyncHandler} can be used to receive
* notification when an asynchronous operation completes.
*
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.detective.AbstractAmazonDetectiveAsync} instead.
*
*
*
* Detective uses machine learning and purpose-built visualizations to help you analyze and investigate security issues
* across your Amazon Web Services (AWS) workloads. Detective automatically extracts time-based events such as login
* attempts, API calls, and network traffic from AWS CloudTrail and Amazon Virtual Private Cloud (Amazon VPC) flow logs.
* It also extracts findings detected by Amazon GuardDuty.
*
*
* The Detective API primarily supports the creation and management of behavior graphs. A behavior graph contains the
* extracted data from a set of member accounts, and is created and managed by a master account.
*
*
* Every behavior graph is specific to a Region. You can only use the API to manage graphs that belong to the Region
* that is associated with the currently selected endpoint.
*
*
* A Detective master account can use the Detective API to do the following:
*
*
* -
*
* Enable and disable Detective. Enabling Detective creates a new behavior graph.
*
*
* -
*
* View the list of member accounts in a behavior graph.
*
*
* -
*
* Add member accounts to a behavior graph.
*
*
* -
*
* Remove member accounts from a behavior graph.
*
*
*
*
* A member account can use the Detective API to do the following:
*
*
* -
*
* View the list of behavior graphs that they are invited to.
*
*
* -
*
* Accept an invitation to contribute to a behavior graph.
*
*
* -
*
* Decline an invitation to contribute to a behavior graph.
*
*
* -
*
* Remove their account from a behavior graph.
*
*
*
*
* All API actions are logged as CloudTrail events. See Logging Detective API
* Calls with CloudTrail.
*
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AmazonDetectiveAsync extends AmazonDetective {
/**
*
* 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
.
*
*
* @param acceptInvitationRequest
* @return A Java Future containing the result of the AcceptInvitation operation returned by the service.
* @sample AmazonDetectiveAsync.AcceptInvitation
* @see AWS API
* Documentation
*/
java.util.concurrent.Future acceptInvitationAsync(AcceptInvitationRequest acceptInvitationRequest);
/**
*
* 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
.
*
*
* @param acceptInvitationRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the AcceptInvitation operation returned by the service.
* @sample AmazonDetectiveAsyncHandler.AcceptInvitation
* @see AWS API
* Documentation
*/
java.util.concurrent.Future acceptInvitationAsync(AcceptInvitationRequest acceptInvitationRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Creates a new behavior graph for the calling account, and sets that account as the master account. This operation
* is called by the account that is enabling Detective.
*
*
* Before you try to enable Detective, make sure that your account has been enrolled in Amazon GuardDuty for at
* least 48 hours. If you do not meet this requirement, you cannot enable Detective. If you do meet the GuardDuty
* prerequisite, then when you make the request to enable Detective, it checks whether your data volume is within
* the Detective quota. If it exceeds the quota, then you cannot enable 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 master account for one behavior graph within a Region. If the same account calls
* CreateGraph
with the same master account, it always returns the same behavior graph ARN. It does not
* create a new behavior graph.
*
*
* @param createGraphRequest
* @return A Java Future containing the result of the CreateGraph operation returned by the service.
* @sample AmazonDetectiveAsync.CreateGraph
* @see AWS API
* Documentation
*/
java.util.concurrent.Future createGraphAsync(CreateGraphRequest createGraphRequest);
/**
*
* Creates a new behavior graph for the calling account, and sets that account as the master account. This operation
* is called by the account that is enabling Detective.
*
*
* Before you try to enable Detective, make sure that your account has been enrolled in Amazon GuardDuty for at
* least 48 hours. If you do not meet this requirement, you cannot enable Detective. If you do meet the GuardDuty
* prerequisite, then when you make the request to enable Detective, it checks whether your data volume is within
* the Detective quota. If it exceeds the quota, then you cannot enable 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 master account for one behavior graph within a Region. If the same account calls
* CreateGraph
with the same master account, it always returns the same behavior graph ARN. It does not
* create a new behavior graph.
*
*
* @param createGraphRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the CreateGraph operation returned by the service.
* @sample AmazonDetectiveAsyncHandler.CreateGraph
* @see AWS API
* Documentation
*/
java.util.concurrent.Future createGraphAsync(CreateGraphRequest createGraphRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Sends a request to invite the specified AWS accounts to be member accounts in the behavior graph. This operation
* can only be called by the master account for a behavior graph.
*
*
* CreateMembers
verifies the accounts and then sends invitations to the verified accounts.
*
*
* The request provides the behavior graph ARN and the list of accounts to invite.
*
*
* The response separates the requested accounts into two lists:
*
*
* -
*
* The accounts that CreateMembers
was able to start the verification for. This list includes member
* accounts that are being verified, that have passed verification and are being sent an invitation, and that have
* failed verification.
*
*
* -
*
* The accounts that CreateMembers
was unable to process. This list includes accounts that were already
* invited to be member accounts in the behavior graph.
*
*
*
*
* @param createMembersRequest
* @return A Java Future containing the result of the CreateMembers operation returned by the service.
* @sample AmazonDetectiveAsync.CreateMembers
* @see AWS API
* Documentation
*/
java.util.concurrent.Future createMembersAsync(CreateMembersRequest createMembersRequest);
/**
*
* Sends a request to invite the specified AWS accounts to be member accounts in the behavior graph. This operation
* can only be called by the master account for a behavior graph.
*
*
* CreateMembers
verifies the accounts and then sends invitations to the verified accounts.
*
*
* The request provides the behavior graph ARN and the list of accounts to invite.
*
*
* The response separates the requested accounts into two lists:
*
*
* -
*
* The accounts that CreateMembers
was able to start the verification for. This list includes member
* accounts that are being verified, that have passed verification and are being sent an invitation, and that have
* failed verification.
*
*
* -
*
* The accounts that CreateMembers
was unable to process. This list includes accounts that were already
* invited to be member accounts in the behavior graph.
*
*
*
*
* @param createMembersRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the CreateMembers operation returned by the service.
* @sample AmazonDetectiveAsyncHandler.CreateMembers
* @see AWS API
* Documentation
*/
java.util.concurrent.Future createMembersAsync(CreateMembersRequest createMembersRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Disables the specified behavior graph and queues it to be deleted. This operation removes the graph from each
* member account's list of behavior graphs.
*
*
* DeleteGraph
can only be called by the master account for a behavior graph.
*
*
* @param deleteGraphRequest
* @return A Java Future containing the result of the DeleteGraph operation returned by the service.
* @sample AmazonDetectiveAsync.DeleteGraph
* @see AWS API
* Documentation
*/
java.util.concurrent.Future deleteGraphAsync(DeleteGraphRequest deleteGraphRequest);
/**
*
* Disables the specified behavior graph and queues it to be deleted. This operation removes the graph from each
* member account's list of behavior graphs.
*
*
* DeleteGraph
can only be called by the master account for a behavior graph.
*
*
* @param deleteGraphRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DeleteGraph operation returned by the service.
* @sample AmazonDetectiveAsyncHandler.DeleteGraph
* @see AWS API
* Documentation
*/
java.util.concurrent.Future deleteGraphAsync(DeleteGraphRequest deleteGraphRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Deletes one or more member accounts from the master account behavior graph. This operation can only be called by
* a Detective master account. That account cannot use DeleteMembers
to delete their own account from
* the behavior graph. To disable a behavior graph, the master account uses the DeleteGraph
API method.
*
*
* @param deleteMembersRequest
* @return A Java Future containing the result of the DeleteMembers operation returned by the service.
* @sample AmazonDetectiveAsync.DeleteMembers
* @see AWS API
* Documentation
*/
java.util.concurrent.Future deleteMembersAsync(DeleteMembersRequest deleteMembersRequest);
/**
*
* Deletes one or more member accounts from the master account behavior graph. This operation can only be called by
* a Detective master account. That account cannot use DeleteMembers
to delete their own account from
* the behavior graph. To disable a behavior graph, the master account uses the DeleteGraph
API method.
*
*
* @param deleteMembersRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DeleteMembers operation returned by the service.
* @sample AmazonDetectiveAsyncHandler.DeleteMembers
* @see AWS API
* Documentation
*/
java.util.concurrent.Future deleteMembersAsync(DeleteMembersRequest deleteMembersRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Removes the member account from the specified behavior graph. This operation can only be called by a member
* account that has the ENABLED
status.
*
*
* @param disassociateMembershipRequest
* @return A Java Future containing the result of the DisassociateMembership operation returned by the service.
* @sample AmazonDetectiveAsync.DisassociateMembership
* @see AWS API Documentation
*/
java.util.concurrent.Future disassociateMembershipAsync(DisassociateMembershipRequest disassociateMembershipRequest);
/**
*
* Removes the member account from the specified behavior graph. This operation can only be called by a member
* account that has the ENABLED
status.
*
*
* @param disassociateMembershipRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the DisassociateMembership operation returned by the service.
* @sample AmazonDetectiveAsyncHandler.DisassociateMembership
* @see AWS API Documentation
*/
java.util.concurrent.Future disassociateMembershipAsync(DisassociateMembershipRequest disassociateMembershipRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Returns the membership details for specified member accounts for a behavior graph.
*
*
* @param getMembersRequest
* @return A Java Future containing the result of the GetMembers operation returned by the service.
* @sample AmazonDetectiveAsync.GetMembers
* @see AWS API
* Documentation
*/
java.util.concurrent.Future getMembersAsync(GetMembersRequest getMembersRequest);
/**
*
* Returns the membership details for specified member accounts for a behavior graph.
*
*
* @param getMembersRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the GetMembers operation returned by the service.
* @sample AmazonDetectiveAsyncHandler.GetMembers
* @see AWS API
* Documentation
*/
java.util.concurrent.Future getMembersAsync(GetMembersRequest getMembersRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Returns the list of behavior graphs that the calling account is a master of. This operation can only be called by
* a master account.
*
*
* Because an account can currently only be the master of one behavior graph within a Region, the results always
* contain a single graph.
*
*
* @param listGraphsRequest
* @return A Java Future containing the result of the ListGraphs operation returned by the service.
* @sample AmazonDetectiveAsync.ListGraphs
* @see AWS API
* Documentation
*/
java.util.concurrent.Future listGraphsAsync(ListGraphsRequest listGraphsRequest);
/**
*
* Returns the list of behavior graphs that the calling account is a master of. This operation can only be called by
* a master account.
*
*
* Because an account can currently only be the master of one behavior graph within a Region, the results always
* contain a single graph.
*
*
* @param listGraphsRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the ListGraphs operation returned by the service.
* @sample AmazonDetectiveAsyncHandler.ListGraphs
* @see AWS API
* Documentation
*/
java.util.concurrent.Future listGraphsAsync(ListGraphsRequest listGraphsRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Retrieves the list of open and accepted behavior graph invitations for the member account. This operation can
* only be called by a 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.
*
*
* @param listInvitationsRequest
* @return A Java Future containing the result of the ListInvitations operation returned by the service.
* @sample AmazonDetectiveAsync.ListInvitations
* @see AWS API
* Documentation
*/
java.util.concurrent.Future listInvitationsAsync(ListInvitationsRequest listInvitationsRequest);
/**
*
* Retrieves the list of open and accepted behavior graph invitations for the member account. This operation can
* only be called by a 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.
*
*
* @param listInvitationsRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the ListInvitations operation returned by the service.
* @sample AmazonDetectiveAsyncHandler.ListInvitations
* @see AWS API
* Documentation
*/
java.util.concurrent.Future listInvitationsAsync(ListInvitationsRequest listInvitationsRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Retrieves the list of member accounts for a behavior graph. Does not return member accounts that were removed
* from the behavior graph.
*
*
* @param listMembersRequest
* @return A Java Future containing the result of the ListMembers operation returned by the service.
* @sample AmazonDetectiveAsync.ListMembers
* @see AWS API
* Documentation
*/
java.util.concurrent.Future listMembersAsync(ListMembersRequest listMembersRequest);
/**
*
* Retrieves the list of member accounts for a behavior graph. Does not return member accounts that were removed
* from the behavior graph.
*
*
* @param listMembersRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the ListMembers operation returned by the service.
* @sample AmazonDetectiveAsyncHandler.ListMembers
* @see AWS API
* Documentation
*/
java.util.concurrent.Future listMembersAsync(ListMembersRequest listMembersRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* Rejects an invitation to contribute the account data to a behavior graph. This operation must be called by a
* member account that has the INVITED
status.
*
*
* @param rejectInvitationRequest
* @return A Java Future containing the result of the RejectInvitation operation returned by the service.
* @sample AmazonDetectiveAsync.RejectInvitation
* @see AWS API
* Documentation
*/
java.util.concurrent.Future rejectInvitationAsync(RejectInvitationRequest rejectInvitationRequest);
/**
*
* Rejects an invitation to contribute the account data to a behavior graph. This operation must be called by a
* member account that has the INVITED
status.
*
*
* @param rejectInvitationRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the RejectInvitation operation returned by the service.
* @sample AmazonDetectiveAsyncHandler.RejectInvitation
* @see AWS API
* Documentation
*/
java.util.concurrent.Future rejectInvitationAsync(RejectInvitationRequest rejectInvitationRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
/**
*
* 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
.
*
*
*
*
* @param startMonitoringMemberRequest
* @return A Java Future containing the result of the StartMonitoringMember operation returned by the service.
* @sample AmazonDetectiveAsync.StartMonitoringMember
* @see AWS API Documentation
*/
java.util.concurrent.Future startMonitoringMemberAsync(StartMonitoringMemberRequest startMonitoringMemberRequest);
/**
*
* 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
.
*
*
*
*
* @param startMonitoringMemberRequest
* @param asyncHandler
* Asynchronous callback handler for events in the lifecycle of the request. Users can provide an
* implementation of the callback methods in this interface to receive notification of successful or
* unsuccessful completion of the operation.
* @return A Java Future containing the result of the StartMonitoringMember operation returned by the service.
* @sample AmazonDetectiveAsyncHandler.StartMonitoringMember
* @see AWS API Documentation
*/
java.util.concurrent.Future startMonitoringMemberAsync(StartMonitoringMemberRequest startMonitoringMemberRequest,
com.amazonaws.handlers.AsyncHandler asyncHandler);
}