/* * 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. *

*/ @Generated("com.amazonaws:aws-java-sdk-code-generator") public interface AWSMigrationHub { /** * The region metadata service name for computing region endpoints. You can use this value to retrieve metadata * (such as supported regions) of the service. * * @see RegionUtils#getRegionsForService(String) */ String ENDPOINT_PREFIX = "mgh"; /** *

* 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: *

* * * @param associateCreatedArtifactRequest * @return Result of the AssociateCreatedArtifact 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 the 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 the 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.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 the 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 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: *

* * * @param deleteProgressUpdateStreamRequest * @return Result of the DeleteProgressUpdateStream 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 the 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 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.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: *

* * * @param disassociateCreatedArtifactRequest * @return Result of the DisassociateCreatedArtifact 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 the 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 the 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.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. *

* * @param importMigrationTaskRequest * @return Result of the ImportMigrationTask 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 the 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. *

* * @param listApplicationStatesRequest * @return Result of the ListApplicationStates 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.ListApplicationStates * @see AWS API Documentation */ ListApplicationStatesResult listApplicationStates(ListApplicationStatesRequest listApplicationStatesRequest); /** *

* Lists the created artifacts attached to a given migration task in an update stream. This API has the following * traits: *

* * * @param listCreatedArtifactsRequest * @return Result of the ListCreatedArtifacts 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.ListCreatedArtifacts * @see AWS API Documentation */ ListCreatedArtifactsResult listCreatedArtifacts(ListCreatedArtifactsRequest listCreatedArtifactsRequest); /** *

* Lists discovered resources associated with the given MigrationTask. *

* * @param listDiscoveredResourcesRequest * @return Result of the ListDiscoveredResources 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.ListDiscoveredResources * @see AWS API Documentation */ ListDiscoveredResourcesResult listDiscoveredResources(ListDiscoveredResourcesRequest listDiscoveredResourcesRequest); /** *

* Lists all, or filtered by resource name, migration tasks associated with the user account making this call. This * API has the following traits: *

* * * @param listMigrationTasksRequest * @return Result of the ListMigrationTasks 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 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.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. *

* * @param notifyApplicationStateRequest * @return Result of the NotifyApplicationState 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 the 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: *

* * * @param notifyMigrationTaskStateRequest * @return Result of the NotifyMigrationTaskState 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 the 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. *

* * * *

* 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. *

*
* * @param putResourceAttributesRequest * @return Result of the PutResourceAttributes 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 the 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); }