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