/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include #include namespace Aws { namespace Http { class HttpClient; class HttpClientFactory; } // namespace Http namespace Utils { template< typename R, typename E> class Outcome; namespace Threading { class Executor; } // namespace Threading } // namespace Utils namespace Auth { class AWSCredentials; class AWSCredentialsProvider; } // namespace Auth namespace Client { class RetryStrategy; } // namespace Client namespace MigrationHub { namespace Model { class AssociateCreatedArtifactRequest; class AssociateDiscoveredResourceRequest; class CreateProgressUpdateStreamRequest; class DeleteProgressUpdateStreamRequest; class DescribeApplicationStateRequest; class DescribeMigrationTaskRequest; class DisassociateCreatedArtifactRequest; class DisassociateDiscoveredResourceRequest; class ImportMigrationTaskRequest; class ListApplicationStatesRequest; class ListCreatedArtifactsRequest; class ListDiscoveredResourcesRequest; class ListMigrationTasksRequest; class ListProgressUpdateStreamsRequest; class NotifyApplicationStateRequest; class NotifyMigrationTaskStateRequest; class PutResourceAttributesRequest; typedef Aws::Utils::Outcome AssociateCreatedArtifactOutcome; typedef Aws::Utils::Outcome AssociateDiscoveredResourceOutcome; typedef Aws::Utils::Outcome CreateProgressUpdateStreamOutcome; typedef Aws::Utils::Outcome DeleteProgressUpdateStreamOutcome; typedef Aws::Utils::Outcome DescribeApplicationStateOutcome; typedef Aws::Utils::Outcome DescribeMigrationTaskOutcome; typedef Aws::Utils::Outcome DisassociateCreatedArtifactOutcome; typedef Aws::Utils::Outcome DisassociateDiscoveredResourceOutcome; typedef Aws::Utils::Outcome ImportMigrationTaskOutcome; typedef Aws::Utils::Outcome ListApplicationStatesOutcome; typedef Aws::Utils::Outcome ListCreatedArtifactsOutcome; typedef Aws::Utils::Outcome ListDiscoveredResourcesOutcome; typedef Aws::Utils::Outcome ListMigrationTasksOutcome; typedef Aws::Utils::Outcome ListProgressUpdateStreamsOutcome; typedef Aws::Utils::Outcome NotifyApplicationStateOutcome; typedef Aws::Utils::Outcome NotifyMigrationTaskStateOutcome; typedef Aws::Utils::Outcome PutResourceAttributesOutcome; typedef std::future AssociateCreatedArtifactOutcomeCallable; typedef std::future AssociateDiscoveredResourceOutcomeCallable; typedef std::future CreateProgressUpdateStreamOutcomeCallable; typedef std::future DeleteProgressUpdateStreamOutcomeCallable; typedef std::future DescribeApplicationStateOutcomeCallable; typedef std::future DescribeMigrationTaskOutcomeCallable; typedef std::future DisassociateCreatedArtifactOutcomeCallable; typedef std::future DisassociateDiscoveredResourceOutcomeCallable; typedef std::future ImportMigrationTaskOutcomeCallable; typedef std::future ListApplicationStatesOutcomeCallable; typedef std::future ListCreatedArtifactsOutcomeCallable; typedef std::future ListDiscoveredResourcesOutcomeCallable; typedef std::future ListMigrationTasksOutcomeCallable; typedef std::future ListProgressUpdateStreamsOutcomeCallable; typedef std::future NotifyApplicationStateOutcomeCallable; typedef std::future NotifyMigrationTaskStateOutcomeCallable; typedef std::future PutResourceAttributesOutcomeCallable; } // namespace Model class MigrationHubClient; typedef std::function&) > AssociateCreatedArtifactResponseReceivedHandler; typedef std::function&) > AssociateDiscoveredResourceResponseReceivedHandler; typedef std::function&) > CreateProgressUpdateStreamResponseReceivedHandler; typedef std::function&) > DeleteProgressUpdateStreamResponseReceivedHandler; typedef std::function&) > DescribeApplicationStateResponseReceivedHandler; typedef std::function&) > DescribeMigrationTaskResponseReceivedHandler; typedef std::function&) > DisassociateCreatedArtifactResponseReceivedHandler; typedef std::function&) > DisassociateDiscoveredResourceResponseReceivedHandler; typedef std::function&) > ImportMigrationTaskResponseReceivedHandler; typedef std::function&) > ListApplicationStatesResponseReceivedHandler; typedef std::function&) > ListCreatedArtifactsResponseReceivedHandler; typedef std::function&) > ListDiscoveredResourcesResponseReceivedHandler; typedef std::function&) > ListMigrationTasksResponseReceivedHandler; typedef std::function&) > ListProgressUpdateStreamsResponseReceivedHandler; typedef std::function&) > NotifyApplicationStateResponseReceivedHandler; typedef std::function&) > NotifyMigrationTaskStateResponseReceivedHandler; typedef std::function&) > PutResourceAttributesResponseReceivedHandler; /** *

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.

*/ class AWS_MIGRATIONHUB_API MigrationHubClient : public Aws::Client::AWSJsonClient { public: typedef Aws::Client::AWSJsonClient BASECLASS; /** * Initializes client to use DefaultCredentialProviderChain, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ MigrationHubClient(const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use SimpleAWSCredentialsProvider, with default http client factory, and optional client config. If client config * is not specified, it will be initialized to default values. */ MigrationHubClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); /** * Initializes client to use specified credentials provider with specified client config. If http client factory is not supplied, * the default http client factory will be used */ MigrationHubClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration = Aws::Client::ClientConfiguration()); virtual ~MigrationHubClient(); /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::AssociateCreatedArtifactOutcome AssociateCreatedArtifact(const Model::AssociateCreatedArtifactRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::AssociateCreatedArtifactOutcomeCallable AssociateCreatedArtifactCallable(const Model::AssociateCreatedArtifactRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void AssociateCreatedArtifactAsync(const Model::AssociateCreatedArtifactRequest& request, const AssociateCreatedArtifactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Associates a discovered resource ID from Application Discovery Service with a * migration task.

See Also:

AWS * API Reference

*/ virtual Model::AssociateDiscoveredResourceOutcome AssociateDiscoveredResource(const Model::AssociateDiscoveredResourceRequest& request) const; /** *

Associates a discovered resource ID from Application Discovery Service with a * migration task.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::AssociateDiscoveredResourceOutcomeCallable AssociateDiscoveredResourceCallable(const Model::AssociateDiscoveredResourceRequest& request) const; /** *

Associates a discovered resource ID from Application Discovery Service with a * migration task.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void AssociateDiscoveredResourceAsync(const Model::AssociateDiscoveredResourceRequest& request, const AssociateDiscoveredResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See * Also:

AWS * API Reference

*/ virtual Model::CreateProgressUpdateStreamOutcome CreateProgressUpdateStream(const Model::CreateProgressUpdateStreamRequest& request) const; /** *

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.

See * Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::CreateProgressUpdateStreamOutcomeCallable CreateProgressUpdateStreamCallable(const Model::CreateProgressUpdateStreamRequest& request) const; /** *

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.

See * Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void CreateProgressUpdateStreamAsync(const Model::CreateProgressUpdateStreamRequest& request, const CreateProgressUpdateStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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

See Also:

* AWS * API Reference

*/ virtual Model::DeleteProgressUpdateStreamOutcome DeleteProgressUpdateStream(const Model::DeleteProgressUpdateStreamRequest& request) const; /** *

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

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DeleteProgressUpdateStreamOutcomeCallable DeleteProgressUpdateStreamCallable(const Model::DeleteProgressUpdateStreamRequest& request) const; /** *

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

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DeleteProgressUpdateStreamAsync(const Model::DeleteProgressUpdateStreamRequest& request, const DeleteProgressUpdateStreamResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Gets the migration status of an application.

See Also:

AWS * API Reference

*/ virtual Model::DescribeApplicationStateOutcome DescribeApplicationState(const Model::DescribeApplicationStateRequest& request) const; /** *

Gets the migration status of an application.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeApplicationStateOutcomeCallable DescribeApplicationStateCallable(const Model::DescribeApplicationStateRequest& request) const; /** *

Gets the migration status of an application.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeApplicationStateAsync(const Model::DescribeApplicationStateRequest& request, const DescribeApplicationStateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Retrieves a list of all attributes associated with a specific migration * task.

See Also:

AWS * API Reference

*/ virtual Model::DescribeMigrationTaskOutcome DescribeMigrationTask(const Model::DescribeMigrationTaskRequest& request) const; /** *

Retrieves a list of all attributes associated with a specific migration * task.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DescribeMigrationTaskOutcomeCallable DescribeMigrationTaskCallable(const Model::DescribeMigrationTaskRequest& request) const; /** *

Retrieves a list of all attributes associated with a specific migration * task.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DescribeMigrationTaskAsync(const Model::DescribeMigrationTaskRequest& request, const DescribeMigrationTaskResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::DisassociateCreatedArtifactOutcome DisassociateCreatedArtifact(const Model::DisassociateCreatedArtifactRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DisassociateCreatedArtifactOutcomeCallable DisassociateCreatedArtifactCallable(const Model::DisassociateCreatedArtifactRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DisassociateCreatedArtifactAsync(const Model::DisassociateCreatedArtifactRequest& request, const DisassociateCreatedArtifactResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Disassociate an Application Discovery Service discovered resource from a * migration task.

See Also:

AWS * API Reference

*/ virtual Model::DisassociateDiscoveredResourceOutcome DisassociateDiscoveredResource(const Model::DisassociateDiscoveredResourceRequest& request) const; /** *

Disassociate an Application Discovery Service discovered resource from a * migration task.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::DisassociateDiscoveredResourceOutcomeCallable DisassociateDiscoveredResourceCallable(const Model::DisassociateDiscoveredResourceRequest& request) const; /** *

Disassociate an Application Discovery Service discovered resource from a * migration task.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void DisassociateDiscoveredResourceAsync(const Model::DisassociateDiscoveredResourceRequest& request, const DisassociateDiscoveredResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

* AWS * API Reference

*/ virtual Model::ImportMigrationTaskOutcome ImportMigrationTask(const Model::ImportMigrationTaskRequest& request) const; /** *

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.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ImportMigrationTaskOutcomeCallable ImportMigrationTaskCallable(const Model::ImportMigrationTaskRequest& request) const; /** *

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.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ImportMigrationTaskAsync(const Model::ImportMigrationTaskRequest& request, const ImportMigrationTaskResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::ListApplicationStatesOutcome ListApplicationStates(const Model::ListApplicationStatesRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListApplicationStatesOutcomeCallable ListApplicationStatesCallable(const Model::ListApplicationStatesRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListApplicationStatesAsync(const Model::ListApplicationStatesRequest& request, const ListApplicationStatesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::ListCreatedArtifactsOutcome ListCreatedArtifacts(const Model::ListCreatedArtifactsRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListCreatedArtifactsOutcomeCallable ListCreatedArtifactsCallable(const Model::ListCreatedArtifactsRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListCreatedArtifactsAsync(const Model::ListCreatedArtifactsRequest& request, const ListCreatedArtifactsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists discovered resources associated with the given * MigrationTask.

See Also:

AWS * API Reference

*/ virtual Model::ListDiscoveredResourcesOutcome ListDiscoveredResources(const Model::ListDiscoveredResourcesRequest& request) const; /** *

Lists discovered resources associated with the given * MigrationTask.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListDiscoveredResourcesOutcomeCallable ListDiscoveredResourcesCallable(const Model::ListDiscoveredResourcesRequest& request) const; /** *

Lists discovered resources associated with the given * MigrationTask.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListDiscoveredResourcesAsync(const Model::ListDiscoveredResourcesRequest& request, const ListDiscoveredResourcesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

    *

See Also:

AWS * API Reference

*/ virtual Model::ListMigrationTasksOutcome ListMigrationTasks(const Model::ListMigrationTasksRequest& request) const; /** *

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.

    *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListMigrationTasksOutcomeCallable ListMigrationTasksCallable(const Model::ListMigrationTasksRequest& request) const; /** *

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.

    *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListMigrationTasksAsync(const Model::ListMigrationTasksRequest& request, const ListMigrationTasksResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

Lists progress update streams associated with the user account making this * call.

See Also:

AWS * API Reference

*/ virtual Model::ListProgressUpdateStreamsOutcome ListProgressUpdateStreams(const Model::ListProgressUpdateStreamsRequest& request) const; /** *

Lists progress update streams associated with the user account making this * call.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::ListProgressUpdateStreamsOutcomeCallable ListProgressUpdateStreamsCallable(const Model::ListProgressUpdateStreamsRequest& request) const; /** *

Lists progress update streams associated with the user account making this * call.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void ListProgressUpdateStreamsAsync(const Model::ListProgressUpdateStreamsRequest& request, const ListProgressUpdateStreamsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

* AWS * API Reference

*/ virtual Model::NotifyApplicationStateOutcome NotifyApplicationState(const Model::NotifyApplicationStateRequest& request) const; /** *

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.

See Also:

* AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::NotifyApplicationStateOutcomeCallable NotifyApplicationStateCallable(const Model::NotifyApplicationStateRequest& request) const; /** *

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.

See Also:

* AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void NotifyApplicationStateAsync(const Model::NotifyApplicationStateRequest& request, const NotifyApplicationStateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

  • *

See Also:

AWS * API Reference

*/ virtual Model::NotifyMigrationTaskStateOutcome NotifyMigrationTaskState(const Model::NotifyMigrationTaskStateRequest& request) const; /** *

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.

  • *

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::NotifyMigrationTaskStateOutcomeCallable NotifyMigrationTaskStateCallable(const Model::NotifyMigrationTaskStateRequest& request) const; /** *

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.

  • *

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void NotifyMigrationTaskStateAsync(const Model::NotifyMigrationTaskStateRequest& request, const NotifyMigrationTaskStateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; /** *

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.

See Also:

AWS * API Reference

*/ virtual Model::PutResourceAttributesOutcome PutResourceAttributes(const Model::PutResourceAttributesRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * returns a future to the operation so that it can be executed in parallel to other requests. */ virtual Model::PutResourceAttributesOutcomeCallable PutResourceAttributesCallable(const Model::PutResourceAttributesRequest& request) const; /** *

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.

See Also:

AWS * API Reference

* * Queues the request into a thread executor and triggers associated callback when operation has finished. */ virtual void PutResourceAttributesAsync(const Model::PutResourceAttributesRequest& request, const PutResourceAttributesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const; void OverrideEndpoint(const Aws::String& endpoint); private: void init(const Aws::Client::ClientConfiguration& clientConfiguration); void AssociateCreatedArtifactAsyncHelper(const Model::AssociateCreatedArtifactRequest& request, const AssociateCreatedArtifactResponseReceivedHandler& handler, const std::shared_ptr& context) const; void AssociateDiscoveredResourceAsyncHelper(const Model::AssociateDiscoveredResourceRequest& request, const AssociateDiscoveredResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void CreateProgressUpdateStreamAsyncHelper(const Model::CreateProgressUpdateStreamRequest& request, const CreateProgressUpdateStreamResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DeleteProgressUpdateStreamAsyncHelper(const Model::DeleteProgressUpdateStreamRequest& request, const DeleteProgressUpdateStreamResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeApplicationStateAsyncHelper(const Model::DescribeApplicationStateRequest& request, const DescribeApplicationStateResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DescribeMigrationTaskAsyncHelper(const Model::DescribeMigrationTaskRequest& request, const DescribeMigrationTaskResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DisassociateCreatedArtifactAsyncHelper(const Model::DisassociateCreatedArtifactRequest& request, const DisassociateCreatedArtifactResponseReceivedHandler& handler, const std::shared_ptr& context) const; void DisassociateDiscoveredResourceAsyncHelper(const Model::DisassociateDiscoveredResourceRequest& request, const DisassociateDiscoveredResourceResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ImportMigrationTaskAsyncHelper(const Model::ImportMigrationTaskRequest& request, const ImportMigrationTaskResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListApplicationStatesAsyncHelper(const Model::ListApplicationStatesRequest& request, const ListApplicationStatesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListCreatedArtifactsAsyncHelper(const Model::ListCreatedArtifactsRequest& request, const ListCreatedArtifactsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListDiscoveredResourcesAsyncHelper(const Model::ListDiscoveredResourcesRequest& request, const ListDiscoveredResourcesResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListMigrationTasksAsyncHelper(const Model::ListMigrationTasksRequest& request, const ListMigrationTasksResponseReceivedHandler& handler, const std::shared_ptr& context) const; void ListProgressUpdateStreamsAsyncHelper(const Model::ListProgressUpdateStreamsRequest& request, const ListProgressUpdateStreamsResponseReceivedHandler& handler, const std::shared_ptr& context) const; void NotifyApplicationStateAsyncHelper(const Model::NotifyApplicationStateRequest& request, const NotifyApplicationStateResponseReceivedHandler& handler, const std::shared_ptr& context) const; void NotifyMigrationTaskStateAsyncHelper(const Model::NotifyMigrationTaskStateRequest& request, const NotifyMigrationTaskStateResponseReceivedHandler& handler, const std::shared_ptr& context) const; void PutResourceAttributesAsyncHelper(const Model::PutResourceAttributesRequest& request, const PutResourceAttributesResponseReceivedHandler& handler, const std::shared_ptr& context) const; Aws::String m_uri; Aws::String m_configScheme; std::shared_ptr m_executor; }; } // namespace MigrationHub } // namespace Aws