com.amazonaws.services.servermigration

## Class AbstractAWSServerMigrationAsync

- java.lang.Object
- - com.amazonaws.services.servermigration.AbstractAWSServerMigration
  - - com.amazonaws.services.servermigration.AbstractAWSServerMigrationAsync

All Implemented Interfaces:
  AWSServerMigration, AWSServerMigrationAsync

    public class AbstractAWSServerMigrationAsync
    extends AbstractAWSServerMigration
    implements AWSServerMigrationAsync

Abstract implementation of `AWSServerMigrationAsync`. Convenient method forms pass through to the corresponding overload that takes a request object and an `AsyncHandler`, which throws an `UnsupportedOperationException`.

### Field Summary

### Fields inherited from interface com.amazonaws.services.servermigration.AWSServerMigration

`ENDPOINT_PREFIX`

### Constructor Summary

Constructors
`protected` `AbstractAWSServerMigrationAsync()`

### Method Summary

All Methods Instance Methods Concrete Methods
`Future<CreateReplicationJobResult>` `createReplicationJobAsync(CreateReplicationJobRequest request)` The CreateReplicationJob API is used to create a ReplicationJob to replicate a server on AWS.
`Future<CreateReplicationJobResult>` `createReplicationJobAsync(CreateReplicationJobRequest request, AsyncHandler<CreateReplicationJobRequest,CreateReplicationJobResult> asyncHandler)` The CreateReplicationJob API is used to create a ReplicationJob to replicate a server on AWS.
`Future<DeleteReplicationJobResult>` `deleteReplicationJobAsync(DeleteReplicationJobRequest request)` The DeleteReplicationJob API is used to delete a ReplicationJob, resulting in no further ReplicationRuns.
`Future<DeleteReplicationJobResult>` `deleteReplicationJobAsync(DeleteReplicationJobRequest request, AsyncHandler<DeleteReplicationJobRequest,DeleteReplicationJobResult> asyncHandler)` The DeleteReplicationJob API is used to delete a ReplicationJob, resulting in no further ReplicationRuns.
`Future<DeleteServerCatalogResult>` `deleteServerCatalogAsync(DeleteServerCatalogRequest request)` The DeleteServerCatalog API clears all servers from your server catalog.
`Future<DeleteServerCatalogResult>` `deleteServerCatalogAsync(DeleteServerCatalogRequest request, AsyncHandler<DeleteServerCatalogRequest,DeleteServerCatalogResult> asyncHandler)` The DeleteServerCatalog API clears all servers from your server catalog.
`Future<DisassociateConnectorResult>` `disassociateConnectorAsync(DisassociateConnectorRequest request)` The DisassociateConnector API will disassociate a connector from the Server Migration Service, rendering it unavailable to support replication jobs.
`Future<DisassociateConnectorResult>` `disassociateConnectorAsync(DisassociateConnectorRequest request, AsyncHandler<DisassociateConnectorRequest,DisassociateConnectorResult> asyncHandler)` The DisassociateConnector API will disassociate a connector from the Server Migration Service, rendering it unavailable to support replication jobs.
`Future<GetConnectorsResult>` `getConnectorsAsync(GetConnectorsRequest request)` The GetConnectors API returns a list of connectors that are registered with the Server Migration Service.
`Future<GetConnectorsResult>` `getConnectorsAsync(GetConnectorsRequest request, AsyncHandler<GetConnectorsRequest,GetConnectorsResult> asyncHandler)` The GetConnectors API returns a list of connectors that are registered with the Server Migration Service.
`Future<GetReplicationJobsResult>` `getReplicationJobsAsync(GetReplicationJobsRequest request)` The GetReplicationJobs API will return all of your ReplicationJobs and their details.
`Future<GetReplicationJobsResult>` `getReplicationJobsAsync(GetReplicationJobsRequest request, AsyncHandler<GetReplicationJobsRequest,GetReplicationJobsResult> asyncHandler)` The GetReplicationJobs API will return all of your ReplicationJobs and their details.
`Future<GetReplicationRunsResult>` `getReplicationRunsAsync(GetReplicationRunsRequest request)` The GetReplicationRuns API will return all ReplicationRuns for a given ReplicationJob.
`Future<GetReplicationRunsResult>` `getReplicationRunsAsync(GetReplicationRunsRequest request, AsyncHandler<GetReplicationRunsRequest,GetReplicationRunsResult> asyncHandler)` The GetReplicationRuns API will return all ReplicationRuns for a given ReplicationJob.
`Future<GetServersResult>` `getServersAsync(GetServersRequest request)` The GetServers API returns a list of all servers in your server catalog.
`Future<GetServersResult>` `getServersAsync(GetServersRequest request, AsyncHandler<GetServersRequest,GetServersResult> asyncHandler)` The GetServers API returns a list of all servers in your server catalog.
`Future<ImportServerCatalogResult>` `importServerCatalogAsync(ImportServerCatalogRequest request)` The ImportServerCatalog API is used to gather the complete list of on-premises servers on your premises.
`Future<ImportServerCatalogResult>` `importServerCatalogAsync(ImportServerCatalogRequest request, AsyncHandler<ImportServerCatalogRequest,ImportServerCatalogResult> asyncHandler)` The ImportServerCatalog API is used to gather the complete list of on-premises servers on your premises.
`Future<StartOnDemandReplicationRunResult>` `startOnDemandReplicationRunAsync(StartOnDemandReplicationRunRequest request)` The StartOnDemandReplicationRun API is used to start a ReplicationRun on demand (in addition to those that are scheduled based on your frequency).
`Future<StartOnDemandReplicationRunResult>` `startOnDemandReplicationRunAsync(StartOnDemandReplicationRunRequest request, AsyncHandler<StartOnDemandReplicationRunRequest,StartOnDemandReplicationRunResult> asyncHandler)` The StartOnDemandReplicationRun API is used to start a ReplicationRun on demand (in addition to those that are scheduled based on your frequency).
`Future<UpdateReplicationJobResult>` `updateReplicationJobAsync(UpdateReplicationJobRequest request)` The UpdateReplicationJob API is used to change the settings of your existing ReplicationJob created using CreateReplicationJob.
`Future<UpdateReplicationJobResult>` `updateReplicationJobAsync(UpdateReplicationJobRequest request, AsyncHandler<UpdateReplicationJobRequest,UpdateReplicationJobResult> asyncHandler)` The UpdateReplicationJob API is used to change the settings of your existing ReplicationJob created using CreateReplicationJob.

### Methods inherited from class com.amazonaws.services.servermigration.AbstractAWSServerMigration

`createReplicationJob, deleteReplicationJob, deleteServerCatalog, disassociateConnector, getCachedResponseMetadata, getConnectors, getReplicationJobs, getReplicationRuns, getServers, importServerCatalog, setEndpoint, setRegion, shutdown, startOnDemandReplicationRun, updateReplicationJob`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Methods inherited from interface com.amazonaws.services.servermigration.AWSServerMigration

`createReplicationJob, deleteReplicationJob, deleteServerCatalog, disassociateConnector, getCachedResponseMetadata, getConnectors, getReplicationJobs, getReplicationRuns, getServers, importServerCatalog, setEndpoint, setRegion, shutdown, startOnDemandReplicationRun, updateReplicationJob`

### Constructor Detail

#### AbstractAWSServerMigrationAsync

    protected AbstractAWSServerMigrationAsync()

### Method Detail

#### createReplicationJobAsync

    public Future<CreateReplicationJobResult> createReplicationJobAsync(CreateReplicationJobRequest request)

Description copied from interface: `AWSServerMigrationAsync`
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.

Specified by:
  `createReplicationJobAsync` in interface `AWSServerMigrationAsync`
Returns:
  A Java Future containing the result of the CreateReplicationJob operation returned by the service.

#### createReplicationJobAsync

    public Future<CreateReplicationJobResult> createReplicationJobAsync(CreateReplicationJobRequest request,
                                                                        AsyncHandler<CreateReplicationJobRequest,CreateReplicationJobResult> asyncHandler)

Description copied from interface: `AWSServerMigrationAsync`
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.

Specified by:
  `createReplicationJobAsync` in interface `AWSServerMigrationAsync`
  `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.
Returns:
  A Java Future containing the result of the CreateReplicationJob operation returned by the service.

#### deleteReplicationJobAsync

    public Future<DeleteReplicationJobResult> deleteReplicationJobAsync(DeleteReplicationJobRequest request)

Description copied from interface: `AWSServerMigrationAsync`
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.

Specified by:
  `deleteReplicationJobAsync` in interface `AWSServerMigrationAsync`
Returns:
  A Java Future containing the result of the DeleteReplicationJob operation returned by the service.

#### deleteReplicationJobAsync

    public Future<DeleteReplicationJobResult> deleteReplicationJobAsync(DeleteReplicationJobRequest request,
                                                                        AsyncHandler<DeleteReplicationJobRequest,DeleteReplicationJobResult> asyncHandler)

Description copied from interface: `AWSServerMigrationAsync`
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.

Specified by:
  `deleteReplicationJobAsync` in interface `AWSServerMigrationAsync`
  `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.
Returns:
  A Java Future containing the result of the DeleteReplicationJob operation returned by the service.

#### deleteServerCatalogAsync

    public Future<DeleteServerCatalogResult> deleteServerCatalogAsync(DeleteServerCatalogRequest request)

Description copied from interface: `AWSServerMigrationAsync`
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.

Specified by:
  `deleteServerCatalogAsync` in interface `AWSServerMigrationAsync`
Returns:
  A Java Future containing the result of the DeleteServerCatalog operation returned by the service.

#### deleteServerCatalogAsync

    public Future<DeleteServerCatalogResult> deleteServerCatalogAsync(DeleteServerCatalogRequest request,
                                                                      AsyncHandler<DeleteServerCatalogRequest,DeleteServerCatalogResult> asyncHandler)

Description copied from interface: `AWSServerMigrationAsync`
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.

Specified by:
  `deleteServerCatalogAsync` in interface `AWSServerMigrationAsync`
  `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.
Returns:
  A Java Future containing the result of the DeleteServerCatalog operation returned by the service.

#### disassociateConnectorAsync

    public Future<DisassociateConnectorResult> disassociateConnectorAsync(DisassociateConnectorRequest request)

Description copied from interface: `AWSServerMigrationAsync`
The DisassociateConnector API will disassociate a connector from the Server Migration Service, rendering it unavailable to support replication jobs.

Specified by:
  `disassociateConnectorAsync` in interface `AWSServerMigrationAsync`
Returns:
  A Java Future containing the result of the DisassociateConnector operation returned by the service.

#### disassociateConnectorAsync

    public Future<DisassociateConnectorResult> disassociateConnectorAsync(DisassociateConnectorRequest request,
                                                                          AsyncHandler<DisassociateConnectorRequest,DisassociateConnectorResult> asyncHandler)

Description copied from interface: `AWSServerMigrationAsync`
The DisassociateConnector API will disassociate a connector from the Server Migration Service, rendering it unavailable to support replication jobs.

Specified by:
  `disassociateConnectorAsync` in interface `AWSServerMigrationAsync`
  `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.
Returns:
  A Java Future containing the result of the DisassociateConnector operation returned by the service.

#### getConnectorsAsync

    public Future<GetConnectorsResult> getConnectorsAsync(GetConnectorsRequest request)

Description copied from interface: `AWSServerMigrationAsync`
The GetConnectors API returns a list of connectors that are registered with the Server Migration Service.

Specified by:
  `getConnectorsAsync` in interface `AWSServerMigrationAsync`
Returns:
  A Java Future containing the result of the GetConnectors operation returned by the service.

#### getConnectorsAsync

    public Future<GetConnectorsResult> getConnectorsAsync(GetConnectorsRequest request,
                                                          AsyncHandler<GetConnectorsRequest,GetConnectorsResult> asyncHandler)

Description copied from interface: `AWSServerMigrationAsync`
The GetConnectors API returns a list of connectors that are registered with the Server Migration Service.

Specified by:
  `getConnectorsAsync` in interface `AWSServerMigrationAsync`
  `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.
Returns:
  A Java Future containing the result of the GetConnectors operation returned by the service.

#### getReplicationJobsAsync

    public Future<GetReplicationJobsResult> getReplicationJobsAsync(GetReplicationJobsRequest request)

Description copied from interface: `AWSServerMigrationAsync`
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.

Specified by:
  `getReplicationJobsAsync` in interface `AWSServerMigrationAsync`
Returns:
  A Java Future containing the result of the GetReplicationJobs operation returned by the service.

#### getReplicationJobsAsync

    public Future<GetReplicationJobsResult> getReplicationJobsAsync(GetReplicationJobsRequest request,
                                                                    AsyncHandler<GetReplicationJobsRequest,GetReplicationJobsResult> asyncHandler)

Description copied from interface: `AWSServerMigrationAsync`
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.

Specified by:
  `getReplicationJobsAsync` in interface `AWSServerMigrationAsync`
  `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.
Returns:
  A Java Future containing the result of the GetReplicationJobs operation returned by the service.

#### getReplicationRunsAsync

    public Future<GetReplicationRunsResult> getReplicationRunsAsync(GetReplicationRunsRequest request)

Description copied from interface: `AWSServerMigrationAsync`
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.

Specified by:
  `getReplicationRunsAsync` in interface `AWSServerMigrationAsync`
Returns:
  A Java Future containing the result of the GetReplicationRuns operation returned by the service.

#### getReplicationRunsAsync

    public Future<GetReplicationRunsResult> getReplicationRunsAsync(GetReplicationRunsRequest request,
                                                                    AsyncHandler<GetReplicationRunsRequest,GetReplicationRunsResult> asyncHandler)

Description copied from interface: `AWSServerMigrationAsync`
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.

Specified by:
  `getReplicationRunsAsync` in interface `AWSServerMigrationAsync`
  `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.
Returns:
  A Java Future containing the result of the GetReplicationRuns operation returned by the service.

#### getServersAsync

    public Future<GetServersResult> getServersAsync(GetServersRequest request)

Description copied from interface: `AWSServerMigrationAsync`
The GetServers API returns a list of all servers in your server catalog. For this call to succeed, you must previously have called ImportServerCatalog.

Specified by:
  `getServersAsync` in interface `AWSServerMigrationAsync`
Returns:
  A Java Future containing the result of the GetServers operation returned by the service.

#### getServersAsync

    public Future<GetServersResult> getServersAsync(GetServersRequest request,
                                                    AsyncHandler<GetServersRequest,GetServersResult> asyncHandler)

Description copied from interface: `AWSServerMigrationAsync`
The GetServers API returns a list of all servers in your server catalog. For this call to succeed, you must previously have called ImportServerCatalog.

Specified by:
  `getServersAsync` in interface `AWSServerMigrationAsync`
  `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.
Returns:
  A Java Future containing the result of the GetServers operation returned by the service.

#### importServerCatalogAsync

    public Future<ImportServerCatalogResult> importServerCatalogAsync(ImportServerCatalogRequest request)

Description copied from interface: `AWSServerMigrationAsync`
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.

Specified by:
  `importServerCatalogAsync` in interface `AWSServerMigrationAsync`
Returns:
  A Java Future containing the result of the ImportServerCatalog operation returned by the service.

#### importServerCatalogAsync

    public Future<ImportServerCatalogResult> importServerCatalogAsync(ImportServerCatalogRequest request,
                                                                      AsyncHandler<ImportServerCatalogRequest,ImportServerCatalogResult> asyncHandler)

Description copied from interface: `AWSServerMigrationAsync`
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.

Specified by:
  `importServerCatalogAsync` in interface `AWSServerMigrationAsync`
  `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.
Returns:
  A Java Future containing the result of the ImportServerCatalog operation returned by the service.

#### startOnDemandReplicationRunAsync

    public Future<StartOnDemandReplicationRunResult> startOnDemandReplicationRunAsync(StartOnDemandReplicationRunRequest request)

Description copied from interface: `AWSServerMigrationAsync`
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.

Specified by:
  `startOnDemandReplicationRunAsync` in interface `AWSServerMigrationAsync`
Returns:
  A Java Future containing the result of the StartOnDemandReplicationRun operation returned by the service.

#### startOnDemandReplicationRunAsync

    public Future<StartOnDemandReplicationRunResult> startOnDemandReplicationRunAsync(StartOnDemandReplicationRunRequest request,
                                                                                      AsyncHandler<StartOnDemandReplicationRunRequest,StartOnDemandReplicationRunResult> asyncHandler)

Description copied from interface: `AWSServerMigrationAsync`
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.

Specified by:
  `startOnDemandReplicationRunAsync` in interface `AWSServerMigrationAsync`
  `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.
Returns:
  A Java Future containing the result of the StartOnDemandReplicationRun operation returned by the service.

#### updateReplicationJobAsync

    public Future<UpdateReplicationJobResult> updateReplicationJobAsync(UpdateReplicationJobRequest request)

Description copied from interface: `AWSServerMigrationAsync`
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.

Specified by:
  `updateReplicationJobAsync` in interface `AWSServerMigrationAsync`
Returns:
  A Java Future containing the result of the UpdateReplicationJob operation returned by the service.

#### updateReplicationJobAsync

    public Future<UpdateReplicationJobResult> updateReplicationJobAsync(UpdateReplicationJobRequest request,
                                                                        AsyncHandler<UpdateReplicationJobRequest,UpdateReplicationJobResult> asyncHandler)

Description copied from interface: `AWSServerMigrationAsync`
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.

Specified by:
  `updateReplicationJobAsync` in interface `AWSServerMigrationAsync`
  `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.
Returns:
  A Java Future containing the result of the UpdateReplicationJob operation returned by the service.