/* * Copyright 2018-2023 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.migrationhub; import javax.annotation.Generated; import com.amazonaws.services.migrationhub.model.*; /** * Interface for accessing AWS Migration Hub 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.migrationhub.AbstractAWSMigrationHubAsync} instead. *
**
* The AWS Migration Hub API methods help to obtain server and application migration status and integrate your * resource-specific migration tool by providing a programmatic interface to Migration Hub. *
*
* Remember that you must set your AWS Migration Hub home region before you call any of these APIs, or a
* HomeRegionNotSetException
error will be returned. Also, you must make the API calls while in your home
* region.
*
* Associates a created artifact of an AWS cloud resource, the target receiving the migration, with the migration * task performed by a migration tool. This API has the following traits: *
*
* Migration tools can call the AssociateCreatedArtifact
operation to indicate which AWS artifact is
* associated with a migration task.
*
* The created artifact name must be provided in ARN (Amazon Resource Name) format which will contain information
* about type and region; for example: arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b
.
*
* Examples of the AWS resource behind the created artifact are, AMI's, EC2 instance, or DMS endpoint, etc. *
** Associates a created artifact of an AWS cloud resource, the target receiving the migration, with the migration * task performed by a migration tool. This API has the following traits: *
*
* Migration tools can call the AssociateCreatedArtifact
operation to indicate which AWS artifact is
* associated with a migration task.
*
* The created artifact name must be provided in ARN (Amazon Resource Name) format which will contain information
* about type and region; for example: arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b
.
*
* Examples of the AWS resource behind the created artifact are, AMI's, EC2 instance, or DMS endpoint, etc. *
** Associates a discovered resource ID from Application Discovery Service with a migration task. *
* * @param associateDiscoveredResourceRequest * @return A Java Future containing the result of the AssociateDiscoveredResource operation returned by the service. * @sample AWSMigrationHubAsync.AssociateDiscoveredResource * @see AWS API Documentation */ java.util.concurrent.Future* Associates a discovered resource ID from Application Discovery Service with a migration task. *
* * @param associateDiscoveredResourceRequest * @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 AssociateDiscoveredResource operation returned by the service. * @sample AWSMigrationHubAsyncHandler.AssociateDiscoveredResource * @see AWS API Documentation */ java.util.concurrent.Future* Creates a progress update stream which is an AWS resource used for access control as well as a namespace for * migration task names that is implicitly linked to your AWS account. It must uniquely identify the migration tool * as it is used for all updates made by the tool; however, it does not need to be unique for each AWS account * because it is scoped to the AWS account. *
* * @param createProgressUpdateStreamRequest * @return A Java Future containing the result of the CreateProgressUpdateStream operation returned by the service. * @sample AWSMigrationHubAsync.CreateProgressUpdateStream * @see AWS API Documentation */ java.util.concurrent.Future* Creates a progress update stream which is an AWS resource used for access control as well as a namespace for * migration task names that is implicitly linked to your AWS account. It must uniquely identify the migration tool * as it is used for all updates made by the tool; however, it does not need to be unique for each AWS account * because it is scoped to the AWS account. *
* * @param createProgressUpdateStreamRequest * @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 CreateProgressUpdateStream operation returned by the service. * @sample AWSMigrationHubAsyncHandler.CreateProgressUpdateStream * @see AWS API Documentation */ java.util.concurrent.Future* Deletes a progress update stream, including all of its tasks, which was previously created as an AWS resource * used for access control. This API has the following traits: *
*
* The only parameter needed for DeleteProgressUpdateStream
is the stream name (same as a
* CreateProgressUpdateStream
call).
*
* The call will return, and a background process will asynchronously delete the stream and all of its resources * (tasks, associated resources, resource attributes, created artifacts). *
*
* If the stream takes time to be deleted, it might still show up on a ListProgressUpdateStreams
call.
*
* CreateProgressUpdateStream
, ImportMigrationTask
, NotifyMigrationTaskState
,
* and all Associate[*] APIs related to the tasks belonging to the stream will throw "InvalidInputException" if the
* stream of the same name is in the process of being deleted.
*
* Once the stream and all of its resources are deleted, CreateProgressUpdateStream
for a stream of the
* same name will succeed, and that stream will be an entirely new logical resource (without any resources
* associated with the old stream).
*
* Deletes a progress update stream, including all of its tasks, which was previously created as an AWS resource * used for access control. This API has the following traits: *
*
* The only parameter needed for DeleteProgressUpdateStream
is the stream name (same as a
* CreateProgressUpdateStream
call).
*
* The call will return, and a background process will asynchronously delete the stream and all of its resources * (tasks, associated resources, resource attributes, created artifacts). *
*
* If the stream takes time to be deleted, it might still show up on a ListProgressUpdateStreams
call.
*
* CreateProgressUpdateStream
, ImportMigrationTask
, NotifyMigrationTaskState
,
* and all Associate[*] APIs related to the tasks belonging to the stream will throw "InvalidInputException" if the
* stream of the same name is in the process of being deleted.
*
* Once the stream and all of its resources are deleted, CreateProgressUpdateStream
for a stream of the
* same name will succeed, and that stream will be an entirely new logical resource (without any resources
* associated with the old stream).
*
* Gets the migration status of an application. *
* * @param describeApplicationStateRequest * @return A Java Future containing the result of the DescribeApplicationState operation returned by the service. * @sample AWSMigrationHubAsync.DescribeApplicationState * @see AWS API Documentation */ java.util.concurrent.Future* Gets the migration status of an application. *
* * @param describeApplicationStateRequest * @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 DescribeApplicationState operation returned by the service. * @sample AWSMigrationHubAsyncHandler.DescribeApplicationState * @see AWS API Documentation */ java.util.concurrent.Future* Retrieves a list of all attributes associated with a specific migration task. *
* * @param describeMigrationTaskRequest * @return A Java Future containing the result of the DescribeMigrationTask operation returned by the service. * @sample AWSMigrationHubAsync.DescribeMigrationTask * @see AWS API Documentation */ java.util.concurrent.Future* Retrieves a list of all attributes associated with a specific migration task. *
* * @param describeMigrationTaskRequest * @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 DescribeMigrationTask operation returned by the service. * @sample AWSMigrationHubAsyncHandler.DescribeMigrationTask * @see AWS API Documentation */ java.util.concurrent.Future* Disassociates a created artifact of an AWS resource with a migration task performed by a migration tool that was * previously associated. This API has the following traits: *
*
* A migration user can call the DisassociateCreatedArtifacts
operation to disassociate a created AWS
* Artifact from a migration task.
*
* The created artifact name must be provided in ARN (Amazon Resource Name) format which will contain information
* about type and region; for example: arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b
.
*
* Examples of the AWS resource behind the created artifact are, AMI's, EC2 instance, or RDS instance, etc. *
** Disassociates a created artifact of an AWS resource with a migration task performed by a migration tool that was * previously associated. This API has the following traits: *
*
* A migration user can call the DisassociateCreatedArtifacts
operation to disassociate a created AWS
* Artifact from a migration task.
*
* The created artifact name must be provided in ARN (Amazon Resource Name) format which will contain information
* about type and region; for example: arn:aws:ec2:us-east-1:488216288981:image/ami-6d0ba87b
.
*
* Examples of the AWS resource behind the created artifact are, AMI's, EC2 instance, or RDS instance, etc. *
** Disassociate an Application Discovery Service discovered resource from a migration task. *
* * @param disassociateDiscoveredResourceRequest * @return A Java Future containing the result of the DisassociateDiscoveredResource operation returned by the * service. * @sample AWSMigrationHubAsync.DisassociateDiscoveredResource * @see AWS API Documentation */ java.util.concurrent.Future* Disassociate an Application Discovery Service discovered resource from a migration task. *
* * @param disassociateDiscoveredResourceRequest * @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 DisassociateDiscoveredResource operation returned by the * service. * @sample AWSMigrationHubAsyncHandler.DisassociateDiscoveredResource * @see AWS API Documentation */ java.util.concurrent.Future* Registers a new migration task which represents a server, database, etc., being migrated to AWS by a migration * tool. *
*
* This API is a prerequisite to calling the NotifyMigrationTaskState
API as the migration tool must
* first register the migration task with Migration Hub.
*
* Registers a new migration task which represents a server, database, etc., being migrated to AWS by a migration * tool. *
*
* This API is a prerequisite to calling the NotifyMigrationTaskState
API as the migration tool must
* first register the migration task with Migration Hub.
*
* Lists all the migration statuses for your applications. If you use the optional ApplicationIds
* parameter, only the migration statuses for those applications will be returned.
*
* Lists all the migration statuses for your applications. If you use the optional ApplicationIds
* parameter, only the migration statuses for those applications will be returned.
*
* Lists the created artifacts attached to a given migration task in an update stream. This API has the following * traits: *
** Gets the list of the created artifacts while migration is taking place. *
*
* Shows the artifacts created by the migration tool that was associated by the
* AssociateCreatedArtifact
API.
*
* Lists created artifacts in a paginated interface. *
** Lists the created artifacts attached to a given migration task in an update stream. This API has the following * traits: *
** Gets the list of the created artifacts while migration is taking place. *
*
* Shows the artifacts created by the migration tool that was associated by the
* AssociateCreatedArtifact
API.
*
* Lists created artifacts in a paginated interface. *
*
* Lists discovered resources associated with the given MigrationTask
.
*
* Lists discovered resources associated with the given MigrationTask
.
*
* Lists all, or filtered by resource name, migration tasks associated with the user account making this call. This * API has the following traits: *
** Can show a summary list of the most recent migration tasks. *
** Can show a summary list of migration tasks associated with a given discovered resource. *
** Lists migration tasks in a paginated interface. *
** Lists all, or filtered by resource name, migration tasks associated with the user account making this call. This * API has the following traits: *
** Can show a summary list of the most recent migration tasks. *
** Can show a summary list of migration tasks associated with a given discovered resource. *
** Lists migration tasks in a paginated interface. *
** Lists progress update streams associated with the user account making this call. *
* * @param listProgressUpdateStreamsRequest * @return A Java Future containing the result of the ListProgressUpdateStreams operation returned by the service. * @sample AWSMigrationHubAsync.ListProgressUpdateStreams * @see AWS API Documentation */ java.util.concurrent.Future* Lists progress update streams associated with the user account making this call. *
* * @param listProgressUpdateStreamsRequest * @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 ListProgressUpdateStreams operation returned by the service. * @sample AWSMigrationHubAsyncHandler.ListProgressUpdateStreams * @see AWS API Documentation */ java.util.concurrent.Future
* Sets the migration state of an application. For a given application identified by the value passed to
* ApplicationId
, its status is set or updated by passing one of three values to Status
:
* NOT_STARTED | IN_PROGRESS | COMPLETED
.
*
* Sets the migration state of an application. For a given application identified by the value passed to
* ApplicationId
, its status is set or updated by passing one of three values to Status
:
* NOT_STARTED | IN_PROGRESS | COMPLETED
.
*
* Notifies Migration Hub of the current status, progress, or other detail regarding a migration task. This API has * the following traits: *
*
* Migration tools will call the NotifyMigrationTaskState
API to share the latest progress and status.
*
* MigrationTaskName
is used for addressing updates to the correct target.
*
* ProgressUpdateStream
is used for access control and to provide a namespace for each migration tool.
*
* Notifies Migration Hub of the current status, progress, or other detail regarding a migration task. This API has * the following traits: *
*
* Migration tools will call the NotifyMigrationTaskState
API to share the latest progress and status.
*
* MigrationTaskName
is used for addressing updates to the correct target.
*
* ProgressUpdateStream
is used for access control and to provide a namespace for each migration tool.
*
* Provides identifying details of the resource being migrated so that it can be associated in the Application
* Discovery Service repository. This association occurs asynchronously after PutResourceAttributes
* returns.
*
* Keep in mind that subsequent calls to PutResourceAttributes will override previously stored attributes. For * example, if it is first called with a MAC address, but later, it is desired to add an IP address, it will * then be required to call it with both the IP and MAC addresses to prevent overriding the MAC address. *
*
* Note the instructions regarding the special use case of the ResourceAttributeList
parameter when specifying any "VM" related value.
*
* Because this is an asynchronous call, it will always return 200, whether an association occurs or not. To confirm
* if an association was found based on the provided details, call ListDiscoveredResources
.
*
* Provides identifying details of the resource being migrated so that it can be associated in the Application
* Discovery Service repository. This association occurs asynchronously after PutResourceAttributes
* returns.
*
* Keep in mind that subsequent calls to PutResourceAttributes will override previously stored attributes. For * example, if it is first called with a MAC address, but later, it is desired to add an IP address, it will * then be required to call it with both the IP and MAC addresses to prevent overriding the MAC address. *
*
* Note the instructions regarding the special use case of the ResourceAttributeList
parameter when specifying any "VM" related value.
*
* Because this is an asynchronous call, it will always return 200, whether an association occurs or not. To confirm
* if an association was found based on the provided details, call ListDiscoveredResources
.
*