/*
* Copyright 2012-2017 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.servermigration;
import javax.annotation.Generated;
import com.amazonaws.services.servermigration.model.*;
/**
* Interface for accessing SMS 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.
* <p>
* <b>Note:</b> Do not directly implement this interface, new methods are added to it regularly. Extend from
* {@link com.amazonaws.services.servermigration.AbstractAWSServerMigrationAsync} instead.
* </p>
* <p>
* Amazon Server Migration Service automates the process of migrating servers to EC2.
*/
@Generated("com.amazonaws:aws-java-sdk-code-generator")
public interface AWSServerMigrationAsync extends AWSServerMigration {
/**
* The CreateReplicationJob API is used to create a ReplicationJob to replicate a server on AWS. Call this API to
* first create a ReplicationJob, which will then schedule periodic ReplicationRuns to replicate your server to AWS.
* Each ReplicationRun will result in the creation of an AWS AMI.
*
* @param createReplicationJobRequest
* @return A Java Future containing the result of the CreateReplicationJob operation returned by the service.
* @sample AWSServerMigrationAsync.CreateReplicationJob
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/CreateReplicationJob" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<CreateReplicationJobResult> createReplicationJobAsync(CreateReplicationJobRequest createReplicationJobRequest);
/**
* The CreateReplicationJob API is used to create a ReplicationJob to replicate a server on AWS. Call this API to
* first create a ReplicationJob, which will then schedule periodic ReplicationRuns to replicate your server to AWS.
* Each ReplicationRun will result in the creation of an AWS AMI.
*
* @param createReplicationJobRequest
* @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 CreateReplicationJob operation returned by the service.
* @sample AWSServerMigrationAsyncHandler.CreateReplicationJob
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/CreateReplicationJob" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<CreateReplicationJobResult> createReplicationJobAsync(CreateReplicationJobRequest createReplicationJobRequest,
com.amazonaws.handlers.AsyncHandler<CreateReplicationJobRequest, CreateReplicationJobResult> asyncHandler);
/**
* The DeleteReplicationJob API is used to delete a ReplicationJob, resulting in no further ReplicationRuns. This
* will delete the contents of the S3 bucket used to store SMS artifacts, but will not delete any AMIs created by
* the SMS service.
*
* @param deleteReplicationJobRequest
* @return A Java Future containing the result of the DeleteReplicationJob operation returned by the service.
* @sample AWSServerMigrationAsync.DeleteReplicationJob
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteReplicationJob" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<DeleteReplicationJobResult> deleteReplicationJobAsync(DeleteReplicationJobRequest deleteReplicationJobRequest);
/**
* The DeleteReplicationJob API is used to delete a ReplicationJob, resulting in no further ReplicationRuns. This
* will delete the contents of the S3 bucket used to store SMS artifacts, but will not delete any AMIs created by
* the SMS service.
*
* @param deleteReplicationJobRequest
* @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 DeleteReplicationJob operation returned by the service.
* @sample AWSServerMigrationAsyncHandler.DeleteReplicationJob
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteReplicationJob" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<DeleteReplicationJobResult> deleteReplicationJobAsync(DeleteReplicationJobRequest deleteReplicationJobRequest,
com.amazonaws.handlers.AsyncHandler<DeleteReplicationJobRequest, DeleteReplicationJobResult> asyncHandler);
/**
* The DeleteServerCatalog API clears all servers from your server catalog. This means that these servers will no
* longer be accessible to the Server Migration Service.
*
* @param deleteServerCatalogRequest
* @return A Java Future containing the result of the DeleteServerCatalog operation returned by the service.
* @sample AWSServerMigrationAsync.DeleteServerCatalog
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteServerCatalog" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<DeleteServerCatalogResult> deleteServerCatalogAsync(DeleteServerCatalogRequest deleteServerCatalogRequest);
/**
* The DeleteServerCatalog API clears all servers from your server catalog. This means that these servers will no
* longer be accessible to the Server Migration Service.
*
* @param deleteServerCatalogRequest
* @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 DeleteServerCatalog operation returned by the service.
* @sample AWSServerMigrationAsyncHandler.DeleteServerCatalog
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DeleteServerCatalog" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<DeleteServerCatalogResult> deleteServerCatalogAsync(DeleteServerCatalogRequest deleteServerCatalogRequest,
com.amazonaws.handlers.AsyncHandler<DeleteServerCatalogRequest, DeleteServerCatalogResult> asyncHandler);
/**
* The DisassociateConnector API will disassociate a connector from the Server Migration Service, rendering it
* unavailable to support replication jobs.
*
* @param disassociateConnectorRequest
* @return A Java Future containing the result of the DisassociateConnector operation returned by the service.
* @sample AWSServerMigrationAsync.DisassociateConnector
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DisassociateConnector" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<DisassociateConnectorResult> disassociateConnectorAsync(DisassociateConnectorRequest disassociateConnectorRequest);
/**
* The DisassociateConnector API will disassociate a connector from the Server Migration Service, rendering it
* unavailable to support replication jobs.
*
* @param disassociateConnectorRequest
* @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 DisassociateConnector operation returned by the service.
* @sample AWSServerMigrationAsyncHandler.DisassociateConnector
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/DisassociateConnector" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<DisassociateConnectorResult> disassociateConnectorAsync(DisassociateConnectorRequest disassociateConnectorRequest,
com.amazonaws.handlers.AsyncHandler<DisassociateConnectorRequest, DisassociateConnectorResult> asyncHandler);
/**
* The GetConnectors API returns a list of connectors that are registered with the Server Migration Service.
*
* @param getConnectorsRequest
* @return A Java Future containing the result of the GetConnectors operation returned by the service.
* @sample AWSServerMigrationAsync.GetConnectors
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetConnectors" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<GetConnectorsResult> getConnectorsAsync(GetConnectorsRequest getConnectorsRequest);
/**
* The GetConnectors API returns a list of connectors that are registered with the Server Migration Service.
*
* @param getConnectorsRequest
* @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 GetConnectors operation returned by the service.
* @sample AWSServerMigrationAsyncHandler.GetConnectors
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetConnectors" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<GetConnectorsResult> getConnectorsAsync(GetConnectorsRequest getConnectorsRequest,
com.amazonaws.handlers.AsyncHandler<GetConnectorsRequest, GetConnectorsResult> asyncHandler);
/**
* The GetReplicationJobs API will return all of your ReplicationJobs and their details. This API returns a
* paginated list, that may be consecutively called with nextToken to retrieve all ReplicationJobs.
*
* @param getReplicationJobsRequest
* @return A Java Future containing the result of the GetReplicationJobs operation returned by the service.
* @sample AWSServerMigrationAsync.GetReplicationJobs
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetReplicationJobs" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<GetReplicationJobsResult> getReplicationJobsAsync(GetReplicationJobsRequest getReplicationJobsRequest);
/**
* The GetReplicationJobs API will return all of your ReplicationJobs and their details. This API returns a
* paginated list, that may be consecutively called with nextToken to retrieve all ReplicationJobs.
*
* @param getReplicationJobsRequest
* @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 GetReplicationJobs operation returned by the service.
* @sample AWSServerMigrationAsyncHandler.GetReplicationJobs
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetReplicationJobs" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<GetReplicationJobsResult> getReplicationJobsAsync(GetReplicationJobsRequest getReplicationJobsRequest,
com.amazonaws.handlers.AsyncHandler<GetReplicationJobsRequest, GetReplicationJobsResult> asyncHandler);
/**
* The GetReplicationRuns API will return all ReplicationRuns for a given ReplicationJob. This API returns a
* paginated list, that may be consecutively called with nextToken to retrieve all ReplicationRuns for a
* ReplicationJob.
*
* @param getReplicationRunsRequest
* @return A Java Future containing the result of the GetReplicationRuns operation returned by the service.
* @sample AWSServerMigrationAsync.GetReplicationRuns
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetReplicationRuns" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<GetReplicationRunsResult> getReplicationRunsAsync(GetReplicationRunsRequest getReplicationRunsRequest);
/**
* The GetReplicationRuns API will return all ReplicationRuns for a given ReplicationJob. This API returns a
* paginated list, that may be consecutively called with nextToken to retrieve all ReplicationRuns for a
* ReplicationJob.
*
* @param getReplicationRunsRequest
* @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 GetReplicationRuns operation returned by the service.
* @sample AWSServerMigrationAsyncHandler.GetReplicationRuns
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetReplicationRuns" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<GetReplicationRunsResult> getReplicationRunsAsync(GetReplicationRunsRequest getReplicationRunsRequest,
com.amazonaws.handlers.AsyncHandler<GetReplicationRunsRequest, GetReplicationRunsResult> asyncHandler);
/**
* The GetServers API returns a list of all servers in your server catalog. For this call to succeed, you must
* previously have called ImportServerCatalog.
*
* @param getServersRequest
* @return A Java Future containing the result of the GetServers operation returned by the service.
* @sample AWSServerMigrationAsync.GetServers
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetServers" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<GetServersResult> getServersAsync(GetServersRequest getServersRequest);
/**
* The GetServers API returns a list of all servers in your server catalog. For this call to succeed, you must
* previously have called ImportServerCatalog.
*
* @param getServersRequest
* @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 GetServers operation returned by the service.
* @sample AWSServerMigrationAsyncHandler.GetServers
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/GetServers" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<GetServersResult> getServersAsync(GetServersRequest getServersRequest,
com.amazonaws.handlers.AsyncHandler<GetServersRequest, GetServersResult> asyncHandler);
/**
* The ImportServerCatalog API is used to gather the complete list of on-premises servers on your premises. This API
* call requires connectors to be installed and monitoring all servers you would like imported. This API call
* returns immediately, but may take some time to retrieve all of the servers.
*
* @param importServerCatalogRequest
* @return A Java Future containing the result of the ImportServerCatalog operation returned by the service.
* @sample AWSServerMigrationAsync.ImportServerCatalog
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/ImportServerCatalog" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<ImportServerCatalogResult> importServerCatalogAsync(ImportServerCatalogRequest importServerCatalogRequest);
/**
* The ImportServerCatalog API is used to gather the complete list of on-premises servers on your premises. This API
* call requires connectors to be installed and monitoring all servers you would like imported. This API call
* returns immediately, but may take some time to retrieve all of the servers.
*
* @param importServerCatalogRequest
* @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 ImportServerCatalog operation returned by the service.
* @sample AWSServerMigrationAsyncHandler.ImportServerCatalog
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/ImportServerCatalog" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<ImportServerCatalogResult> importServerCatalogAsync(ImportServerCatalogRequest importServerCatalogRequest,
com.amazonaws.handlers.AsyncHandler<ImportServerCatalogRequest, ImportServerCatalogResult> asyncHandler);
/**
* The StartOnDemandReplicationRun API is used to start a ReplicationRun on demand (in addition to those that are
* scheduled based on your frequency). This ReplicationRun will start immediately. StartOnDemandReplicationRun is
* subject to limits on how many on demand ReplicationRuns you may call per 24-hour period.
*
* @param startOnDemandReplicationRunRequest
* @return A Java Future containing the result of the StartOnDemandReplicationRun operation returned by the service.
* @sample AWSServerMigrationAsync.StartOnDemandReplicationRun
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/StartOnDemandReplicationRun"
* target="_top">AWS API Documentation</a>
*/
java.util.concurrent.Future<StartOnDemandReplicationRunResult> startOnDemandReplicationRunAsync(
StartOnDemandReplicationRunRequest startOnDemandReplicationRunRequest);
/**
* The StartOnDemandReplicationRun API is used to start a ReplicationRun on demand (in addition to those that are
* scheduled based on your frequency). This ReplicationRun will start immediately. StartOnDemandReplicationRun is
* subject to limits on how many on demand ReplicationRuns you may call per 24-hour period.
*
* @param startOnDemandReplicationRunRequest
* @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 StartOnDemandReplicationRun operation returned by the service.
* @sample AWSServerMigrationAsyncHandler.StartOnDemandReplicationRun
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/StartOnDemandReplicationRun"
* target="_top">AWS API Documentation</a>
*/
java.util.concurrent.Future<StartOnDemandReplicationRunResult> startOnDemandReplicationRunAsync(
StartOnDemandReplicationRunRequest startOnDemandReplicationRunRequest,
com.amazonaws.handlers.AsyncHandler<StartOnDemandReplicationRunRequest, StartOnDemandReplicationRunResult> asyncHandler);
/**
* The UpdateReplicationJob API is used to change the settings of your existing ReplicationJob created using
* CreateReplicationJob. Calling this API will affect the next scheduled ReplicationRun.
*
* @param updateReplicationJobRequest
* @return A Java Future containing the result of the UpdateReplicationJob operation returned by the service.
* @sample AWSServerMigrationAsync.UpdateReplicationJob
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/UpdateReplicationJob" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<UpdateReplicationJobResult> updateReplicationJobAsync(UpdateReplicationJobRequest updateReplicationJobRequest);
/**
* The UpdateReplicationJob API is used to change the settings of your existing ReplicationJob created using
* CreateReplicationJob. Calling this API will affect the next scheduled ReplicationRun.
*
* @param updateReplicationJobRequest
* @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 UpdateReplicationJob operation returned by the service.
* @sample AWSServerMigrationAsyncHandler.UpdateReplicationJob
* @see <a href="http://docs.aws.amazon.com/goto/WebAPI/sms-2016-10-24/UpdateReplicationJob" target="_top">AWS API
* Documentation</a>
*/
java.util.concurrent.Future<UpdateReplicationJobResult> updateReplicationJobAsync(UpdateReplicationJobRequest updateReplicationJobRequest,
com.amazonaws.handlers.AsyncHandler<UpdateReplicationJobRequest, UpdateReplicationJobResult> asyncHandler);
}