/* * 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.*; import com.amazonaws.regions.*; import com.amazonaws.services.migrationhub.model.*; /** * Interface for accessing AWS Migration Hub. *
* Note: Do not directly implement this interface, new methods are added to it regularly. Extend from * {@link com.amazonaws.services.migrationhub.AbstractAWSMigrationHub} 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. *
*DryRun
flag is set to
* "true".
* @throws UnauthorizedOperationException
* Exception raised to indicate a request was not authorized when the DryRun
flag is set to
* "true".
* @throws InvalidInputException
* Exception raised when the provided input violates a policy constraint or is entered in the wrong format
* or data type.
* @throws ResourceNotFoundException
* Exception raised when the request references a resource (Application Discovery Service configuration,
* update stream, migration task, etc.) that does not exist in Application Discovery Service (Application
* Discovery Service) or in Migration Hub's repository.
* @throws HomeRegionNotSetException
* The home region is not set. Set the home region to continue.
* @sample AWSMigrationHub.AssociateCreatedArtifact
* @see AWS API Documentation
*/
AssociateCreatedArtifactResult associateCreatedArtifact(AssociateCreatedArtifactRequest associateCreatedArtifactRequest);
/**
* * Associates a discovered resource ID from Application Discovery Service with a migration task. *
* * @param associateDiscoveredResourceRequest * @return Result of the AssociateDiscoveredResource operation returned by the service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ThrottlingException * The request was denied due to request throttling. * @throws InternalServerErrorException * Exception raised when an internal, configuration, or dependency error is encountered. * @throws ServiceUnavailableException * Exception raised when there is an internal, configuration, or dependency error encountered. * @throws DryRunOperationException * Exception raised to indicate a successfully authorized action when theDryRun
flag is set to
* "true".
* @throws UnauthorizedOperationException
* Exception raised to indicate a request was not authorized when the DryRun
flag is set to
* "true".
* @throws InvalidInputException
* Exception raised when the provided input violates a policy constraint or is entered in the wrong format
* or data type.
* @throws PolicyErrorException
* Exception raised when there are problems accessing Application Discovery Service (Application Discovery
* Service); most likely due to a misconfigured policy or the migrationhub-discovery
role is
* missing or not configured correctly.
* @throws ResourceNotFoundException
* Exception raised when the request references a resource (Application Discovery Service configuration,
* update stream, migration task, etc.) that does not exist in Application Discovery Service (Application
* Discovery Service) or in Migration Hub's repository.
* @throws HomeRegionNotSetException
* The home region is not set. Set the home region to continue.
* @sample AWSMigrationHub.AssociateDiscoveredResource
* @see AWS API Documentation
*/
AssociateDiscoveredResourceResult associateDiscoveredResource(AssociateDiscoveredResourceRequest associateDiscoveredResourceRequest);
/**
* * 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 Result of the CreateProgressUpdateStream operation returned by the service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ThrottlingException * The request was denied due to request throttling. * @throws InternalServerErrorException * Exception raised when an internal, configuration, or dependency error is encountered. * @throws ServiceUnavailableException * Exception raised when there is an internal, configuration, or dependency error encountered. * @throws DryRunOperationException * Exception raised to indicate a successfully authorized action when theDryRun
flag is set to
* "true".
* @throws UnauthorizedOperationException
* Exception raised to indicate a request was not authorized when the DryRun
flag is set to
* "true".
* @throws InvalidInputException
* Exception raised when the provided input violates a policy constraint or is entered in the wrong format
* or data type.
* @throws HomeRegionNotSetException
* The home region is not set. Set the home region to continue.
* @sample AWSMigrationHub.CreateProgressUpdateStream
* @see AWS API Documentation
*/
CreateProgressUpdateStreamResult createProgressUpdateStream(CreateProgressUpdateStreamRequest createProgressUpdateStreamRequest);
/**
* * 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).
*
DryRun
flag is set to
* "true".
* @throws UnauthorizedOperationException
* Exception raised to indicate a request was not authorized when the DryRun
flag is set to
* "true".
* @throws InvalidInputException
* Exception raised when the provided input violates a policy constraint or is entered in the wrong format
* or data type.
* @throws ResourceNotFoundException
* Exception raised when the request references a resource (Application Discovery Service configuration,
* update stream, migration task, etc.) that does not exist in Application Discovery Service (Application
* Discovery Service) or in Migration Hub's repository.
* @throws HomeRegionNotSetException
* The home region is not set. Set the home region to continue.
* @sample AWSMigrationHub.DeleteProgressUpdateStream
* @see AWS API Documentation
*/
DeleteProgressUpdateStreamResult deleteProgressUpdateStream(DeleteProgressUpdateStreamRequest deleteProgressUpdateStreamRequest);
/**
* * Gets the migration status of an application. *
* * @param describeApplicationStateRequest * @return Result of the DescribeApplicationState operation returned by the service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ThrottlingException * The request was denied due to request throttling. * @throws InternalServerErrorException * Exception raised when an internal, configuration, or dependency error is encountered. * @throws ServiceUnavailableException * Exception raised when there is an internal, configuration, or dependency error encountered. * @throws InvalidInputException * Exception raised when the provided input violates a policy constraint or is entered in the wrong format * or data type. * @throws PolicyErrorException * Exception raised when there are problems accessing Application Discovery Service (Application Discovery * Service); most likely due to a misconfigured policy or themigrationhub-discovery
role is
* missing or not configured correctly.
* @throws ResourceNotFoundException
* Exception raised when the request references a resource (Application Discovery Service configuration,
* update stream, migration task, etc.) that does not exist in Application Discovery Service (Application
* Discovery Service) or in Migration Hub's repository.
* @throws HomeRegionNotSetException
* The home region is not set. Set the home region to continue.
* @sample AWSMigrationHub.DescribeApplicationState
* @see AWS API Documentation
*/
DescribeApplicationStateResult describeApplicationState(DescribeApplicationStateRequest describeApplicationStateRequest);
/**
* * Retrieves a list of all attributes associated with a specific migration task. *
* * @param describeMigrationTaskRequest * @return Result of the DescribeMigrationTask operation returned by the service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ThrottlingException * The request was denied due to request throttling. * @throws InternalServerErrorException * Exception raised when an internal, configuration, or dependency error is encountered. * @throws ServiceUnavailableException * Exception raised when there is an internal, configuration, or dependency error encountered. * @throws InvalidInputException * Exception raised when the provided input violates a policy constraint or is entered in the wrong format * or data type. * @throws ResourceNotFoundException * Exception raised when the request references a resource (Application Discovery Service configuration, * update stream, migration task, etc.) that does not exist in Application Discovery Service (Application * Discovery Service) or in Migration Hub's repository. * @throws HomeRegionNotSetException * The home region is not set. Set the home region to continue. * @sample AWSMigrationHub.DescribeMigrationTask * @see AWS API Documentation */ DescribeMigrationTaskResult describeMigrationTask(DescribeMigrationTaskRequest describeMigrationTaskRequest); /** ** 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. *
*DryRun
flag is set to
* "true".
* @throws UnauthorizedOperationException
* Exception raised to indicate a request was not authorized when the DryRun
flag is set to
* "true".
* @throws InvalidInputException
* Exception raised when the provided input violates a policy constraint or is entered in the wrong format
* or data type.
* @throws ResourceNotFoundException
* Exception raised when the request references a resource (Application Discovery Service configuration,
* update stream, migration task, etc.) that does not exist in Application Discovery Service (Application
* Discovery Service) or in Migration Hub's repository.
* @throws HomeRegionNotSetException
* The home region is not set. Set the home region to continue.
* @sample AWSMigrationHub.DisassociateCreatedArtifact
* @see AWS API Documentation
*/
DisassociateCreatedArtifactResult disassociateCreatedArtifact(DisassociateCreatedArtifactRequest disassociateCreatedArtifactRequest);
/**
* * Disassociate an Application Discovery Service discovered resource from a migration task. *
* * @param disassociateDiscoveredResourceRequest * @return Result of the DisassociateDiscoveredResource operation returned by the service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ThrottlingException * The request was denied due to request throttling. * @throws InternalServerErrorException * Exception raised when an internal, configuration, or dependency error is encountered. * @throws ServiceUnavailableException * Exception raised when there is an internal, configuration, or dependency error encountered. * @throws DryRunOperationException * Exception raised to indicate a successfully authorized action when theDryRun
flag is set to
* "true".
* @throws UnauthorizedOperationException
* Exception raised to indicate a request was not authorized when the DryRun
flag is set to
* "true".
* @throws InvalidInputException
* Exception raised when the provided input violates a policy constraint or is entered in the wrong format
* or data type.
* @throws ResourceNotFoundException
* Exception raised when the request references a resource (Application Discovery Service configuration,
* update stream, migration task, etc.) that does not exist in Application Discovery Service (Application
* Discovery Service) or in Migration Hub's repository.
* @throws HomeRegionNotSetException
* The home region is not set. Set the home region to continue.
* @sample AWSMigrationHub.DisassociateDiscoveredResource
* @see AWS API Documentation
*/
DisassociateDiscoveredResourceResult disassociateDiscoveredResource(DisassociateDiscoveredResourceRequest disassociateDiscoveredResourceRequest);
/**
* * 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.
*
DryRun
flag is set to
* "true".
* @throws UnauthorizedOperationException
* Exception raised to indicate a request was not authorized when the DryRun
flag is set to
* "true".
* @throws InvalidInputException
* Exception raised when the provided input violates a policy constraint or is entered in the wrong format
* or data type.
* @throws ResourceNotFoundException
* Exception raised when the request references a resource (Application Discovery Service configuration,
* update stream, migration task, etc.) that does not exist in Application Discovery Service (Application
* Discovery Service) or in Migration Hub's repository.
* @throws HomeRegionNotSetException
* The home region is not set. Set the home region to continue.
* @sample AWSMigrationHub.ImportMigrationTask
* @see AWS API Documentation
*/
ImportMigrationTaskResult importMigrationTask(ImportMigrationTaskRequest importMigrationTaskRequest);
/**
*
* 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 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. *
*migrationhub-discovery
role is
* missing or not configured correctly.
* @throws ResourceNotFoundException
* Exception raised when the request references a resource (Application Discovery Service configuration,
* update stream, migration task, etc.) that does not exist in Application Discovery Service (Application
* Discovery Service) or in Migration Hub's repository.
* @throws HomeRegionNotSetException
* The home region is not set. Set the home region to continue.
* @sample AWSMigrationHub.ListMigrationTasks
* @see AWS API Documentation
*/
ListMigrationTasksResult listMigrationTasks(ListMigrationTasksRequest listMigrationTasksRequest);
/**
* * Lists progress update streams associated with the user account making this call. *
* * @param listProgressUpdateStreamsRequest * @return Result of the ListProgressUpdateStreams operation returned by the service. * @throws AccessDeniedException * You do not have sufficient access to perform this action. * @throws ThrottlingException * The request was denied due to request throttling. * @throws InternalServerErrorException * Exception raised when an internal, configuration, or dependency error is encountered. * @throws ServiceUnavailableException * Exception raised when there is an internal, configuration, or dependency error encountered. * @throws InvalidInputException * Exception raised when the provided input violates a policy constraint or is entered in the wrong format * or data type. * @throws HomeRegionNotSetException * The home region is not set. Set the home region to continue. * @sample AWSMigrationHub.ListProgressUpdateStreams * @see AWS API Documentation */ ListProgressUpdateStreamsResult listProgressUpdateStreams(ListProgressUpdateStreamsRequest listProgressUpdateStreamsRequest); /** *
* 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
.
*
DryRun
flag is set to
* "true".
* @throws UnauthorizedOperationException
* Exception raised to indicate a request was not authorized when the DryRun
flag is set to
* "true".
* @throws InvalidInputException
* Exception raised when the provided input violates a policy constraint or is entered in the wrong format
* or data type.
* @throws PolicyErrorException
* Exception raised when there are problems accessing Application Discovery Service (Application Discovery
* Service); most likely due to a misconfigured policy or the migrationhub-discovery
role is
* missing or not configured correctly.
* @throws ResourceNotFoundException
* Exception raised when the request references a resource (Application Discovery Service configuration,
* update stream, migration task, etc.) that does not exist in Application Discovery Service (Application
* Discovery Service) or in Migration Hub's repository.
* @throws HomeRegionNotSetException
* The home region is not set. Set the home region to continue.
* @sample AWSMigrationHub.NotifyApplicationState
* @see AWS API Documentation
*/
NotifyApplicationStateResult notifyApplicationState(NotifyApplicationStateRequest notifyApplicationStateRequest);
/**
* * 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.
*
DryRun
flag is set to
* "true".
* @throws UnauthorizedOperationException
* Exception raised to indicate a request was not authorized when the DryRun
flag is set to
* "true".
* @throws InvalidInputException
* Exception raised when the provided input violates a policy constraint or is entered in the wrong format
* or data type.
* @throws ResourceNotFoundException
* Exception raised when the request references a resource (Application Discovery Service configuration,
* update stream, migration task, etc.) that does not exist in Application Discovery Service (Application
* Discovery Service) or in Migration Hub's repository.
* @throws HomeRegionNotSetException
* The home region is not set. Set the home region to continue.
* @sample AWSMigrationHub.NotifyMigrationTaskState
* @see AWS API Documentation
*/
NotifyMigrationTaskStateResult notifyMigrationTaskState(NotifyMigrationTaskStateRequest notifyMigrationTaskStateRequest);
/**
*
* 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
.
*
DryRun
flag is set to
* "true".
* @throws UnauthorizedOperationException
* Exception raised to indicate a request was not authorized when the DryRun
flag is set to
* "true".
* @throws InvalidInputException
* Exception raised when the provided input violates a policy constraint or is entered in the wrong format
* or data type.
* @throws ResourceNotFoundException
* Exception raised when the request references a resource (Application Discovery Service configuration,
* update stream, migration task, etc.) that does not exist in Application Discovery Service (Application
* Discovery Service) or in Migration Hub's repository.
* @throws HomeRegionNotSetException
* The home region is not set. Set the home region to continue.
* @sample AWSMigrationHub.PutResourceAttributes
* @see AWS API Documentation
*/
PutResourceAttributesResult putResourceAttributes(PutResourceAttributesRequest putResourceAttributesRequest);
/**
* Shuts down this client object, releasing any resources that might be held open. This is an optional method, and
* callers are not expected to call it, but can if they want to explicitly release any open resources. Once a client
* has been shutdown, it should not be used to make any more requests.
*/
void shutdown();
/**
* Returns additional metadata for a previously executed successful request, typically used for debugging issues
* where a service isn't acting as expected. This data isn't considered part of the result data returned by an
* operation, so it's available through this separate, diagnostic interface.
* * Response metadata is only cached for a limited period of time, so if you need to access this extra diagnostic * information for an executed request, you should use this method to retrieve it as soon as possible after * executing a request. * * @param request * The originally executed request. * * @return The response metadata for the specified request, or null if none is available. */ ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request); }