/* * 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 org.w3c.dom.*; import java.net.*; import java.util.*; import javax.annotation.Generated; import org.apache.commons.logging.*; import com.amazonaws.*; import com.amazonaws.annotation.SdkInternalApi; import com.amazonaws.auth.*; import com.amazonaws.handlers.*; import com.amazonaws.http.*; import com.amazonaws.internal.*; import com.amazonaws.internal.auth.*; import com.amazonaws.metrics.*; import com.amazonaws.regions.*; import com.amazonaws.transform.*; import com.amazonaws.util.*; import com.amazonaws.protocol.json.*; import com.amazonaws.util.AWSRequestMetrics.Field; import com.amazonaws.annotation.ThreadSafe; import com.amazonaws.client.AwsSyncClientParams; import com.amazonaws.client.builder.AdvancedConfig; import com.amazonaws.services.migrationhub.AWSMigrationHubClientBuilder; import com.amazonaws.AmazonServiceException; import com.amazonaws.services.migrationhub.model.*; import com.amazonaws.services.migrationhub.model.transform.*; /** * Client for accessing AWS Migration Hub. All service calls made using this client are blocking, and will not return * until the service call completes. *
*
* 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.
*
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AWSMigrationHubClient(AwsSyncClientParams clientParams) { this(clientParams, false); } /** * Constructs a new client to invoke service methods on AWS Migration Hub using the specified parameters. * *
* All service calls made using this new client object are blocking, and will not return until the service call * completes. * * @param clientParams * Object providing client parameters. */ AWSMigrationHubClient(AwsSyncClientParams clientParams, boolean endpointDiscoveryEnabled) { super(clientParams); this.awsCredentialsProvider = clientParams.getCredentialsProvider(); this.advancedConfig = clientParams.getAdvancedConfig(); init(); } private void init() { setServiceNameIntern(DEFAULT_SIGNING_NAME); setEndpointPrefix(ENDPOINT_PREFIX); // calling this.setEndPoint(...) will also modify the signer accordingly setEndpoint("mgh.us-east-1.amazonaws.com"); HandlerChainFactory chainFactory = new HandlerChainFactory(); requestHandler2s.addAll(chainFactory.newRequestHandlerChain("/com/amazonaws/services/migrationhub/request.handlers")); requestHandler2s.addAll(chainFactory.newRequestHandler2Chain("/com/amazonaws/services/migrationhub/request.handler2s")); requestHandler2s.addAll(chainFactory.getGlobalHandlers()); } /** *
* 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
*/
@Override
public AssociateCreatedArtifactResult associateCreatedArtifact(AssociateCreatedArtifactRequest request) {
request = beforeClientExecution(request);
return executeAssociateCreatedArtifact(request);
}
@SdkInternalApi
final AssociateCreatedArtifactResult executeAssociateCreatedArtifact(AssociateCreatedArtifactRequest associateCreatedArtifactRequest) {
ExecutionContext executionContext = createExecutionContext(associateCreatedArtifactRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request* 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
*/
@Override
public AssociateDiscoveredResourceResult associateDiscoveredResource(AssociateDiscoveredResourceRequest request) {
request = beforeClientExecution(request);
return executeAssociateDiscoveredResource(request);
}
@SdkInternalApi
final AssociateDiscoveredResourceResult executeAssociateDiscoveredResource(AssociateDiscoveredResourceRequest associateDiscoveredResourceRequest) {
ExecutionContext executionContext = createExecutionContext(associateDiscoveredResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request* 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
*/
@Override
public CreateProgressUpdateStreamResult createProgressUpdateStream(CreateProgressUpdateStreamRequest request) {
request = beforeClientExecution(request);
return executeCreateProgressUpdateStream(request);
}
@SdkInternalApi
final CreateProgressUpdateStreamResult executeCreateProgressUpdateStream(CreateProgressUpdateStreamRequest createProgressUpdateStreamRequest) {
ExecutionContext executionContext = createExecutionContext(createProgressUpdateStreamRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request* 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
*/
@Override
public DeleteProgressUpdateStreamResult deleteProgressUpdateStream(DeleteProgressUpdateStreamRequest request) {
request = beforeClientExecution(request);
return executeDeleteProgressUpdateStream(request);
}
@SdkInternalApi
final DeleteProgressUpdateStreamResult executeDeleteProgressUpdateStream(DeleteProgressUpdateStreamRequest deleteProgressUpdateStreamRequest) {
ExecutionContext executionContext = createExecutionContext(deleteProgressUpdateStreamRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request* 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
*/
@Override
public DescribeApplicationStateResult describeApplicationState(DescribeApplicationStateRequest request) {
request = beforeClientExecution(request);
return executeDescribeApplicationState(request);
}
@SdkInternalApi
final DescribeApplicationStateResult executeDescribeApplicationState(DescribeApplicationStateRequest describeApplicationStateRequest) {
ExecutionContext executionContext = createExecutionContext(describeApplicationStateRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request* 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 */ @Override public DescribeMigrationTaskResult describeMigrationTask(DescribeMigrationTaskRequest request) { request = beforeClientExecution(request); return executeDescribeMigrationTask(request); } @SdkInternalApi final DescribeMigrationTaskResult executeDescribeMigrationTask(DescribeMigrationTaskRequest describeMigrationTaskRequest) { ExecutionContext executionContext = createExecutionContext(describeMigrationTaskRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request* 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
*/
@Override
public DisassociateCreatedArtifactResult disassociateCreatedArtifact(DisassociateCreatedArtifactRequest request) {
request = beforeClientExecution(request);
return executeDisassociateCreatedArtifact(request);
}
@SdkInternalApi
final DisassociateCreatedArtifactResult executeDisassociateCreatedArtifact(DisassociateCreatedArtifactRequest disassociateCreatedArtifactRequest) {
ExecutionContext executionContext = createExecutionContext(disassociateCreatedArtifactRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request* 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
*/
@Override
public DisassociateDiscoveredResourceResult disassociateDiscoveredResource(DisassociateDiscoveredResourceRequest request) {
request = beforeClientExecution(request);
return executeDisassociateDiscoveredResource(request);
}
@SdkInternalApi
final DisassociateDiscoveredResourceResult executeDisassociateDiscoveredResource(DisassociateDiscoveredResourceRequest disassociateDiscoveredResourceRequest) {
ExecutionContext executionContext = createExecutionContext(disassociateDiscoveredResourceRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request* 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
*/
@Override
public ImportMigrationTaskResult importMigrationTask(ImportMigrationTaskRequest request) {
request = beforeClientExecution(request);
return executeImportMigrationTask(request);
}
@SdkInternalApi
final ImportMigrationTaskResult executeImportMigrationTask(ImportMigrationTaskRequest importMigrationTaskRequest) {
ExecutionContext executionContext = createExecutionContext(importMigrationTaskRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* 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
*/
@Override
public ListMigrationTasksResult listMigrationTasks(ListMigrationTasksRequest request) {
request = beforeClientExecution(request);
return executeListMigrationTasks(request);
}
@SdkInternalApi
final ListMigrationTasksResult executeListMigrationTasks(ListMigrationTasksRequest listMigrationTasksRequest) {
ExecutionContext executionContext = createExecutionContext(listMigrationTasksRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request* 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 */ @Override public ListProgressUpdateStreamsResult listProgressUpdateStreams(ListProgressUpdateStreamsRequest request) { request = beforeClientExecution(request); return executeListProgressUpdateStreams(request); } @SdkInternalApi final ListProgressUpdateStreamsResult executeListProgressUpdateStreams(ListProgressUpdateStreamsRequest listProgressUpdateStreamsRequest) { ExecutionContext executionContext = createExecutionContext(listProgressUpdateStreamsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request
* 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
*/
@Override
public NotifyApplicationStateResult notifyApplicationState(NotifyApplicationStateRequest request) {
request = beforeClientExecution(request);
return executeNotifyApplicationState(request);
}
@SdkInternalApi
final NotifyApplicationStateResult executeNotifyApplicationState(NotifyApplicationStateRequest notifyApplicationStateRequest) {
ExecutionContext executionContext = createExecutionContext(notifyApplicationStateRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request* 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
*/
@Override
public NotifyMigrationTaskStateResult notifyMigrationTaskState(NotifyMigrationTaskStateRequest request) {
request = beforeClientExecution(request);
return executeNotifyMigrationTaskState(request);
}
@SdkInternalApi
final NotifyMigrationTaskStateResult executeNotifyMigrationTaskState(NotifyMigrationTaskStateRequest notifyMigrationTaskStateRequest) {
ExecutionContext executionContext = createExecutionContext(notifyMigrationTaskStateRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* 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
*/
@Override
public PutResourceAttributesResult putResourceAttributes(PutResourceAttributesRequest request) {
request = beforeClientExecution(request);
return executePutResourceAttributes(request);
}
@SdkInternalApi
final PutResourceAttributesResult executePutResourceAttributes(PutResourceAttributesRequest putResourceAttributesRequest) {
ExecutionContext executionContext = createExecutionContext(putResourceAttributesRequest);
AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics();
awsRequestMetrics.startEvent(Field.ClientExecuteTime);
Request
* 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 the request.
*
* @param request
* The originally executed request
*
* @return The response metadata for the specified request, or null if none is available.
*/
public ResponseMetadata getCachedResponseMetadata(AmazonWebServiceRequest request) {
return client.getResponseMetadataForRequest(request);
}
/**
* Normal invoke with authentication. Credentials are required and may be overriden at the request level.
**/
private