All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.amazonaws.services.migrationhub.AWSMigrationHubClient Maven / Gradle / Ivy

Go to download

The AWS Java SDK for AWS Migration Hub module holds the client classes that are used for communicating with AWS Migration Hub Service

There is a newer version: 1.12.772
Show newest version
/*
 * 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. *

*/ @ThreadSafe @Generated("com.amazonaws:aws-java-sdk-code-generator") public class AWSMigrationHubClient extends AmazonWebServiceClient implements AWSMigrationHub { /** Provider for AWS credentials. */ private final AWSCredentialsProvider awsCredentialsProvider; private static final Log log = LogFactory.getLog(AWSMigrationHub.class); /** Default signing name for the service. */ private static final String DEFAULT_SIGNING_NAME = "mgh"; /** Client configuration factory providing ClientConfigurations tailored to this client */ protected static final ClientConfigurationFactory configFactory = new ClientConfigurationFactory(); private final AdvancedConfig advancedConfig; private static final com.amazonaws.protocol.json.SdkJsonProtocolFactory protocolFactory = new com.amazonaws.protocol.json.SdkJsonProtocolFactory( new JsonClientMetadata() .withProtocolVersion("1.1") .withSupportsCbor(false) .withSupportsIon(false) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("AccessDeniedException").withExceptionUnmarshaller( com.amazonaws.services.migrationhub.model.transform.AccessDeniedExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ResourceNotFoundException").withExceptionUnmarshaller( com.amazonaws.services.migrationhub.model.transform.ResourceNotFoundExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("UnauthorizedOperation").withExceptionUnmarshaller( com.amazonaws.services.migrationhub.model.transform.UnauthorizedOperationExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InvalidInputException").withExceptionUnmarshaller( com.amazonaws.services.migrationhub.model.transform.InvalidInputExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ThrottlingException").withExceptionUnmarshaller( com.amazonaws.services.migrationhub.model.transform.ThrottlingExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("PolicyErrorException").withExceptionUnmarshaller( com.amazonaws.services.migrationhub.model.transform.PolicyErrorExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("ServiceUnavailableException").withExceptionUnmarshaller( com.amazonaws.services.migrationhub.model.transform.ServiceUnavailableExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("HomeRegionNotSetException").withExceptionUnmarshaller( com.amazonaws.services.migrationhub.model.transform.HomeRegionNotSetExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("InternalServerError").withExceptionUnmarshaller( com.amazonaws.services.migrationhub.model.transform.InternalServerErrorExceptionUnmarshaller.getInstance())) .addErrorMetadata( new JsonErrorShapeMetadata().withErrorCode("DryRunOperation").withExceptionUnmarshaller( com.amazonaws.services.migrationhub.model.transform.DryRunOperationExceptionUnmarshaller.getInstance())) .withBaseServiceExceptionClass(com.amazonaws.services.migrationhub.model.AWSMigrationHubException.class)); public static AWSMigrationHubClientBuilder builder() { return AWSMigrationHubClientBuilder.standard(); } /** * 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) { 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. *

    *
  • *
* * @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 */ @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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateCreatedArtifactRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(associateCreatedArtifactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Migration Hub"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateCreatedArtifact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateCreatedArtifactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new AssociateDiscoveredResourceRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(associateDiscoveredResourceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Migration Hub"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "AssociateDiscoveredResource"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new AssociateDiscoveredResourceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new CreateProgressUpdateStreamRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(createProgressUpdateStreamRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Migration Hub"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "CreateProgressUpdateStream"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new CreateProgressUpdateStreamResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

    *
  • *
* * @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 */ @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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DeleteProgressUpdateStreamRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(deleteProgressUpdateStreamRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Migration Hub"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DeleteProgressUpdateStream"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DeleteProgressUpdateStreamResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeApplicationStateRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(describeApplicationStateRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Migration Hub"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeApplicationState"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeApplicationStateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DescribeMigrationTaskRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(describeMigrationTaskRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Migration Hub"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DescribeMigrationTask"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DescribeMigrationTaskResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

    *
  • *
* * @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 */ @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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociateCreatedArtifactRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(disassociateCreatedArtifactRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Migration Hub"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateCreatedArtifact"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateCreatedArtifactResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new DisassociateDiscoveredResourceRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(disassociateDiscoveredResourceRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Migration Hub"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "DisassociateDiscoveredResource"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new DisassociateDiscoveredResourceResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ImportMigrationTaskRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(importMigrationTaskRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Migration Hub"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ImportMigrationTask"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ImportMigrationTaskResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ListApplicationStatesResult listApplicationStates(ListApplicationStatesRequest request) { request = beforeClientExecution(request); return executeListApplicationStates(request); } @SdkInternalApi final ListApplicationStatesResult executeListApplicationStates(ListApplicationStatesRequest listApplicationStatesRequest) { ExecutionContext executionContext = createExecutionContext(listApplicationStatesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListApplicationStatesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listApplicationStatesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Migration Hub"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListApplicationStates"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListApplicationStatesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

    *
  • *
* * @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 */ @Override public ListCreatedArtifactsResult listCreatedArtifacts(ListCreatedArtifactsRequest request) { request = beforeClientExecution(request); return executeListCreatedArtifacts(request); } @SdkInternalApi final ListCreatedArtifactsResult executeListCreatedArtifacts(ListCreatedArtifactsRequest listCreatedArtifactsRequest) { ExecutionContext executionContext = createExecutionContext(listCreatedArtifactsRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListCreatedArtifactsRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listCreatedArtifactsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Migration Hub"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListCreatedArtifacts"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListCreatedArtifactsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @Override public ListDiscoveredResourcesResult listDiscoveredResources(ListDiscoveredResourcesRequest request) { request = beforeClientExecution(request); return executeListDiscoveredResources(request); } @SdkInternalApi final ListDiscoveredResourcesResult executeListDiscoveredResources(ListDiscoveredResourcesRequest listDiscoveredResourcesRequest) { ExecutionContext executionContext = createExecutionContext(listDiscoveredResourcesRequest); AWSRequestMetrics awsRequestMetrics = executionContext.getAwsRequestMetrics(); awsRequestMetrics.startEvent(Field.ClientExecuteTime); Request request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListDiscoveredResourcesRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listDiscoveredResourcesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Migration Hub"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListDiscoveredResources"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListDiscoveredResourcesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

    *
  • *
* * @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 */ @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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListMigrationTasksRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(listMigrationTasksRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Migration Hub"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListMigrationTasks"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListMigrationTasksResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new ListProgressUpdateStreamsRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(listProgressUpdateStreamsRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Migration Hub"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "ListProgressUpdateStreams"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new ListProgressUpdateStreamsResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

* 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 */ @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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new NotifyApplicationStateRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(notifyApplicationStateRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Migration Hub"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "NotifyApplicationState"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new NotifyApplicationStateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

    *
  • *
* * @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 */ @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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new NotifyMigrationTaskStateRequestProtocolMarshaller(protocolFactory).marshall(super .beforeMarshalling(notifyMigrationTaskStateRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Migration Hub"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "NotifyMigrationTaskState"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory.createResponseHandler( new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new NotifyMigrationTaskStateResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** *

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

*
* * @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 */ @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 request = null; Response response = null; try { awsRequestMetrics.startEvent(Field.RequestMarshallTime); try { request = new PutResourceAttributesRequestProtocolMarshaller(protocolFactory).marshall(super.beforeMarshalling(putResourceAttributesRequest)); // Binds the request metrics to the current request. request.setAWSRequestMetrics(awsRequestMetrics); request.addHandlerContext(HandlerContextKey.CLIENT_ENDPOINT, endpoint); request.addHandlerContext(HandlerContextKey.ENDPOINT_OVERRIDDEN, isEndpointOverridden()); request.addHandlerContext(HandlerContextKey.SIGNING_REGION, getSigningRegion()); request.addHandlerContext(HandlerContextKey.SERVICE_ID, "Migration Hub"); request.addHandlerContext(HandlerContextKey.OPERATION_NAME, "PutResourceAttributes"); request.addHandlerContext(HandlerContextKey.ADVANCED_CONFIG, advancedConfig); } finally { awsRequestMetrics.endEvent(Field.RequestMarshallTime); } HttpResponseHandler> responseHandler = protocolFactory .createResponseHandler(new JsonOperationMetadata().withPayloadJson(true).withHasStreamingSuccessResponse(false), new PutResourceAttributesResultJsonUnmarshaller()); response = invoke(request, responseHandler, executionContext); return response.getAwsResponse(); } finally { endClientExecution(awsRequestMetrics, request, response); } } /** * 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 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 Response invoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { return invoke(request, responseHandler, executionContext, null, null); } /** * Normal invoke with authentication. Credentials are required and may be overriden at the request level. **/ private Response invoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext, URI cachedEndpoint, URI uriFromEndpointTrait) { executionContext.setCredentialsProvider(CredentialUtils.getCredentialsProvider(request.getOriginalRequest(), awsCredentialsProvider)); return doInvoke(request, responseHandler, executionContext, cachedEndpoint, uriFromEndpointTrait); } /** * Invoke with no authentication. Credentials are not required and any credentials set on the client or request will * be ignored for this operation. **/ private Response anonymousInvoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext) { return doInvoke(request, responseHandler, executionContext, null, null); } /** * Invoke the request using the http client. Assumes credentials (or lack thereof) have been configured in the * ExecutionContext beforehand. **/ private Response doInvoke(Request request, HttpResponseHandler> responseHandler, ExecutionContext executionContext, URI discoveredEndpoint, URI uriFromEndpointTrait) { if (discoveredEndpoint != null) { request.setEndpoint(discoveredEndpoint); request.getOriginalRequest().getRequestClientOptions().appendUserAgent("endpoint-discovery"); } else if (uriFromEndpointTrait != null) { request.setEndpoint(uriFromEndpointTrait); } else { request.setEndpoint(endpoint); } request.setTimeOffset(timeOffset); HttpResponseHandler errorResponseHandler = protocolFactory.createErrorResponseHandler(new JsonErrorResponseMetadata()); return client.execute(request, responseHandler, errorResponseHandler, executionContext); } @com.amazonaws.annotation.SdkInternalApi static com.amazonaws.protocol.json.SdkJsonProtocolFactory getProtocolFactory() { return protocolFactory; } @Override public void shutdown() { super.shutdown(); } }





© 2015 - 2024 Weber Informatics LLC | Privacy Policy