/** * Copyright Amazon.com, Inc. or its affiliates. All Rights Reserved. * SPDX-License-Identifier: Apache-2.0. */ #pragma once #include #include #include #include #include #include namespace Aws { namespace mgn { /** *

The Application Migration Service service.

*/ class AWS_MGN_API MgnClient : public Aws::Client::AWSJsonClient, public Aws::Client::ClientWithAsyncTemplateMethods { public: typedef Aws::Client::AWSJsonClient BASECLASS; static const char* SERVICE_NAME; static const char* ALLOCATION_TAG; typedef MgnClientConfiguration ClientConfigurationType; typedef MgnEndpointProvider EndpointProviderType; /** * 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. */ MgnClient(const Aws::mgn::MgnClientConfiguration& clientConfiguration = Aws::mgn::MgnClientConfiguration(), std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG)); /** * 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. */ MgnClient(const Aws::Auth::AWSCredentials& credentials, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::mgn::MgnClientConfiguration& clientConfiguration = Aws::mgn::MgnClientConfiguration()); /** * 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 */ MgnClient(const std::shared_ptr& credentialsProvider, std::shared_ptr endpointProvider = Aws::MakeShared(ALLOCATION_TAG), const Aws::mgn::MgnClientConfiguration& clientConfiguration = Aws::mgn::MgnClientConfiguration()); /* Legacy constructors due deprecation */ /** * 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. */ MgnClient(const Aws::Client::ClientConfiguration& 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. */ MgnClient(const Aws::Auth::AWSCredentials& credentials, const Aws::Client::ClientConfiguration& 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 */ MgnClient(const std::shared_ptr& credentialsProvider, const Aws::Client::ClientConfiguration& clientConfiguration); /* End of legacy constructors due deprecation */ virtual ~MgnClient(); /** *

Archive application.

See Also:

AWS * API Reference

*/ virtual Model::ArchiveApplicationOutcome ArchiveApplication(const Model::ArchiveApplicationRequest& request) const; /** * A Callable wrapper for ArchiveApplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ArchiveApplicationOutcomeCallable ArchiveApplicationCallable(const ArchiveApplicationRequestT& request) const { return SubmitCallable(&MgnClient::ArchiveApplication, request); } /** * An Async wrapper for ArchiveApplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ArchiveApplicationAsync(const ArchiveApplicationRequestT& request, const ArchiveApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::ArchiveApplication, request, handler, context); } /** *

Archive wave.

See Also:

AWS API * Reference

*/ virtual Model::ArchiveWaveOutcome ArchiveWave(const Model::ArchiveWaveRequest& request) const; /** * A Callable wrapper for ArchiveWave that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ArchiveWaveOutcomeCallable ArchiveWaveCallable(const ArchiveWaveRequestT& request) const { return SubmitCallable(&MgnClient::ArchiveWave, request); } /** * An Async wrapper for ArchiveWave that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ArchiveWaveAsync(const ArchiveWaveRequestT& request, const ArchiveWaveResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::ArchiveWave, request, handler, context); } /** *

Associate applications to wave.

See Also:

AWS * API Reference

*/ virtual Model::AssociateApplicationsOutcome AssociateApplications(const Model::AssociateApplicationsRequest& request) const; /** * A Callable wrapper for AssociateApplications that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AssociateApplicationsOutcomeCallable AssociateApplicationsCallable(const AssociateApplicationsRequestT& request) const { return SubmitCallable(&MgnClient::AssociateApplications, request); } /** * An Async wrapper for AssociateApplications that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AssociateApplicationsAsync(const AssociateApplicationsRequestT& request, const AssociateApplicationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::AssociateApplications, request, handler, context); } /** *

Associate source servers to application.

See Also:

AWS * API Reference

*/ virtual Model::AssociateSourceServersOutcome AssociateSourceServers(const Model::AssociateSourceServersRequest& request) const; /** * A Callable wrapper for AssociateSourceServers that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::AssociateSourceServersOutcomeCallable AssociateSourceServersCallable(const AssociateSourceServersRequestT& request) const { return SubmitCallable(&MgnClient::AssociateSourceServers, request); } /** * An Async wrapper for AssociateSourceServers that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void AssociateSourceServersAsync(const AssociateSourceServersRequestT& request, const AssociateSourceServersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::AssociateSourceServers, request, handler, context); } /** *

Allows the user to set the SourceServer.LifeCycle.state property for specific * Source Server IDs to one of the following: READY_FOR_TEST or READY_FOR_CUTOVER. * This command only works if the Source Server is already launchable * (dataReplicationInfo.lagDuration is not null.)

See Also:

AWS * API Reference

*/ virtual Model::ChangeServerLifeCycleStateOutcome ChangeServerLifeCycleState(const Model::ChangeServerLifeCycleStateRequest& request) const; /** * A Callable wrapper for ChangeServerLifeCycleState that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ChangeServerLifeCycleStateOutcomeCallable ChangeServerLifeCycleStateCallable(const ChangeServerLifeCycleStateRequestT& request) const { return SubmitCallable(&MgnClient::ChangeServerLifeCycleState, request); } /** * An Async wrapper for ChangeServerLifeCycleState that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ChangeServerLifeCycleStateAsync(const ChangeServerLifeCycleStateRequestT& request, const ChangeServerLifeCycleStateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::ChangeServerLifeCycleState, request, handler, context); } /** *

Create application.

See Also:

AWS * API Reference

*/ virtual Model::CreateApplicationOutcome CreateApplication(const Model::CreateApplicationRequest& request) const; /** * A Callable wrapper for CreateApplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateApplicationOutcomeCallable CreateApplicationCallable(const CreateApplicationRequestT& request) const { return SubmitCallable(&MgnClient::CreateApplication, request); } /** * An Async wrapper for CreateApplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateApplicationAsync(const CreateApplicationRequestT& request, const CreateApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::CreateApplication, request, handler, context); } /** *

Creates a new Launch Configuration Template.

See Also:

AWS * API Reference

*/ virtual Model::CreateLaunchConfigurationTemplateOutcome CreateLaunchConfigurationTemplate(const Model::CreateLaunchConfigurationTemplateRequest& request) const; /** * A Callable wrapper for CreateLaunchConfigurationTemplate that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateLaunchConfigurationTemplateOutcomeCallable CreateLaunchConfigurationTemplateCallable(const CreateLaunchConfigurationTemplateRequestT& request) const { return SubmitCallable(&MgnClient::CreateLaunchConfigurationTemplate, request); } /** * An Async wrapper for CreateLaunchConfigurationTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateLaunchConfigurationTemplateAsync(const CreateLaunchConfigurationTemplateRequestT& request, const CreateLaunchConfigurationTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::CreateLaunchConfigurationTemplate, request, handler, context); } /** *

Creates a new ReplicationConfigurationTemplate.

See Also:

AWS * API Reference

*/ virtual Model::CreateReplicationConfigurationTemplateOutcome CreateReplicationConfigurationTemplate(const Model::CreateReplicationConfigurationTemplateRequest& request) const; /** * A Callable wrapper for CreateReplicationConfigurationTemplate that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateReplicationConfigurationTemplateOutcomeCallable CreateReplicationConfigurationTemplateCallable(const CreateReplicationConfigurationTemplateRequestT& request) const { return SubmitCallable(&MgnClient::CreateReplicationConfigurationTemplate, request); } /** * An Async wrapper for CreateReplicationConfigurationTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateReplicationConfigurationTemplateAsync(const CreateReplicationConfigurationTemplateRequestT& request, const CreateReplicationConfigurationTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::CreateReplicationConfigurationTemplate, request, handler, context); } /** *

Create wave.

See Also:

AWS API * Reference

*/ virtual Model::CreateWaveOutcome CreateWave(const Model::CreateWaveRequest& request) const; /** * A Callable wrapper for CreateWave that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::CreateWaveOutcomeCallable CreateWaveCallable(const CreateWaveRequestT& request) const { return SubmitCallable(&MgnClient::CreateWave, request); } /** * An Async wrapper for CreateWave that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void CreateWaveAsync(const CreateWaveRequestT& request, const CreateWaveResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::CreateWave, request, handler, context); } /** *

Delete application.

See Also:

AWS * API Reference

*/ virtual Model::DeleteApplicationOutcome DeleteApplication(const Model::DeleteApplicationRequest& request) const; /** * A Callable wrapper for DeleteApplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteApplicationOutcomeCallable DeleteApplicationCallable(const DeleteApplicationRequestT& request) const { return SubmitCallable(&MgnClient::DeleteApplication, request); } /** * An Async wrapper for DeleteApplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteApplicationAsync(const DeleteApplicationRequestT& request, const DeleteApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::DeleteApplication, request, handler, context); } /** *

Deletes a single Job by ID.

See Also:

AWS API * Reference

*/ virtual Model::DeleteJobOutcome DeleteJob(const Model::DeleteJobRequest& request) const; /** * A Callable wrapper for DeleteJob that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteJobOutcomeCallable DeleteJobCallable(const DeleteJobRequestT& request) const { return SubmitCallable(&MgnClient::DeleteJob, request); } /** * An Async wrapper for DeleteJob that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteJobAsync(const DeleteJobRequestT& request, const DeleteJobResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::DeleteJob, request, handler, context); } /** *

Deletes a single Launch Configuration Template by ID.

See * Also:

AWS * API Reference

*/ virtual Model::DeleteLaunchConfigurationTemplateOutcome DeleteLaunchConfigurationTemplate(const Model::DeleteLaunchConfigurationTemplateRequest& request) const; /** * A Callable wrapper for DeleteLaunchConfigurationTemplate that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteLaunchConfigurationTemplateOutcomeCallable DeleteLaunchConfigurationTemplateCallable(const DeleteLaunchConfigurationTemplateRequestT& request) const { return SubmitCallable(&MgnClient::DeleteLaunchConfigurationTemplate, request); } /** * An Async wrapper for DeleteLaunchConfigurationTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteLaunchConfigurationTemplateAsync(const DeleteLaunchConfigurationTemplateRequestT& request, const DeleteLaunchConfigurationTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::DeleteLaunchConfigurationTemplate, request, handler, context); } /** *

Deletes a single Replication Configuration Template by ID

See * Also:

AWS * API Reference

*/ virtual Model::DeleteReplicationConfigurationTemplateOutcome DeleteReplicationConfigurationTemplate(const Model::DeleteReplicationConfigurationTemplateRequest& request) const; /** * A Callable wrapper for DeleteReplicationConfigurationTemplate that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteReplicationConfigurationTemplateOutcomeCallable DeleteReplicationConfigurationTemplateCallable(const DeleteReplicationConfigurationTemplateRequestT& request) const { return SubmitCallable(&MgnClient::DeleteReplicationConfigurationTemplate, request); } /** * An Async wrapper for DeleteReplicationConfigurationTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteReplicationConfigurationTemplateAsync(const DeleteReplicationConfigurationTemplateRequestT& request, const DeleteReplicationConfigurationTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::DeleteReplicationConfigurationTemplate, request, handler, context); } /** *

Deletes a single source server by ID.

See Also:

AWS * API Reference

*/ virtual Model::DeleteSourceServerOutcome DeleteSourceServer(const Model::DeleteSourceServerRequest& request) const; /** * A Callable wrapper for DeleteSourceServer that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteSourceServerOutcomeCallable DeleteSourceServerCallable(const DeleteSourceServerRequestT& request) const { return SubmitCallable(&MgnClient::DeleteSourceServer, request); } /** * An Async wrapper for DeleteSourceServer that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteSourceServerAsync(const DeleteSourceServerRequestT& request, const DeleteSourceServerResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::DeleteSourceServer, request, handler, context); } /** *

Deletes a given vCenter client by ID.

See Also:

AWS * API Reference

*/ virtual Model::DeleteVcenterClientOutcome DeleteVcenterClient(const Model::DeleteVcenterClientRequest& request) const; /** * A Callable wrapper for DeleteVcenterClient that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteVcenterClientOutcomeCallable DeleteVcenterClientCallable(const DeleteVcenterClientRequestT& request) const { return SubmitCallable(&MgnClient::DeleteVcenterClient, request); } /** * An Async wrapper for DeleteVcenterClient that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteVcenterClientAsync(const DeleteVcenterClientRequestT& request, const DeleteVcenterClientResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::DeleteVcenterClient, request, handler, context); } /** *

Delete wave.

See Also:

AWS API * Reference

*/ virtual Model::DeleteWaveOutcome DeleteWave(const Model::DeleteWaveRequest& request) const; /** * A Callable wrapper for DeleteWave that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DeleteWaveOutcomeCallable DeleteWaveCallable(const DeleteWaveRequestT& request) const { return SubmitCallable(&MgnClient::DeleteWave, request); } /** * An Async wrapper for DeleteWave that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DeleteWaveAsync(const DeleteWaveRequestT& request, const DeleteWaveResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::DeleteWave, request, handler, context); } /** *

Retrieves detailed job log items with paging.

See Also:

AWS * API Reference

*/ virtual Model::DescribeJobLogItemsOutcome DescribeJobLogItems(const Model::DescribeJobLogItemsRequest& request) const; /** * A Callable wrapper for DescribeJobLogItems that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeJobLogItemsOutcomeCallable DescribeJobLogItemsCallable(const DescribeJobLogItemsRequestT& request) const { return SubmitCallable(&MgnClient::DescribeJobLogItems, request); } /** * An Async wrapper for DescribeJobLogItems that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeJobLogItemsAsync(const DescribeJobLogItemsRequestT& request, const DescribeJobLogItemsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::DescribeJobLogItems, request, handler, context); } /** *

Returns a list of Jobs. Use the JobsID and fromDate and toData filters to * limit which jobs are returned. The response is sorted by creationDataTime - * latest date first. Jobs are normally created by the StartTest, StartCutover, and * TerminateTargetInstances APIs. Jobs are also created by DiagnosticLaunch and * TerminateDiagnosticInstances, which are APIs available only to *Support* and * only used in response to relevant support tickets.

See Also:

AWS * API Reference

*/ virtual Model::DescribeJobsOutcome DescribeJobs(const Model::DescribeJobsRequest& request) const; /** * A Callable wrapper for DescribeJobs that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeJobsOutcomeCallable DescribeJobsCallable(const DescribeJobsRequestT& request) const { return SubmitCallable(&MgnClient::DescribeJobs, request); } /** * An Async wrapper for DescribeJobs that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeJobsAsync(const DescribeJobsRequestT& request, const DescribeJobsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::DescribeJobs, request, handler, context); } /** *

Lists all Launch Configuration Templates, filtered by Launch Configuration * Template IDs

See Also:

AWS * API Reference

*/ virtual Model::DescribeLaunchConfigurationTemplatesOutcome DescribeLaunchConfigurationTemplates(const Model::DescribeLaunchConfigurationTemplatesRequest& request) const; /** * A Callable wrapper for DescribeLaunchConfigurationTemplates that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeLaunchConfigurationTemplatesOutcomeCallable DescribeLaunchConfigurationTemplatesCallable(const DescribeLaunchConfigurationTemplatesRequestT& request) const { return SubmitCallable(&MgnClient::DescribeLaunchConfigurationTemplates, request); } /** * An Async wrapper for DescribeLaunchConfigurationTemplates that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeLaunchConfigurationTemplatesAsync(const DescribeLaunchConfigurationTemplatesRequestT& request, const DescribeLaunchConfigurationTemplatesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::DescribeLaunchConfigurationTemplates, request, handler, context); } /** *

Lists all ReplicationConfigurationTemplates, filtered by Source Server * IDs.

See Also:

AWS * API Reference

*/ virtual Model::DescribeReplicationConfigurationTemplatesOutcome DescribeReplicationConfigurationTemplates(const Model::DescribeReplicationConfigurationTemplatesRequest& request) const; /** * A Callable wrapper for DescribeReplicationConfigurationTemplates that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeReplicationConfigurationTemplatesOutcomeCallable DescribeReplicationConfigurationTemplatesCallable(const DescribeReplicationConfigurationTemplatesRequestT& request) const { return SubmitCallable(&MgnClient::DescribeReplicationConfigurationTemplates, request); } /** * An Async wrapper for DescribeReplicationConfigurationTemplates that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeReplicationConfigurationTemplatesAsync(const DescribeReplicationConfigurationTemplatesRequestT& request, const DescribeReplicationConfigurationTemplatesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::DescribeReplicationConfigurationTemplates, request, handler, context); } /** *

Retrieves all SourceServers or multiple SourceServers by ID.

See * Also:

AWS * API Reference

*/ virtual Model::DescribeSourceServersOutcome DescribeSourceServers(const Model::DescribeSourceServersRequest& request) const; /** * A Callable wrapper for DescribeSourceServers that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeSourceServersOutcomeCallable DescribeSourceServersCallable(const DescribeSourceServersRequestT& request) const { return SubmitCallable(&MgnClient::DescribeSourceServers, request); } /** * An Async wrapper for DescribeSourceServers that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeSourceServersAsync(const DescribeSourceServersRequestT& request, const DescribeSourceServersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::DescribeSourceServers, request, handler, context); } /** *

Returns a list of the installed vCenter clients.

See Also:

* AWS * API Reference

*/ virtual Model::DescribeVcenterClientsOutcome DescribeVcenterClients(const Model::DescribeVcenterClientsRequest& request) const; /** * A Callable wrapper for DescribeVcenterClients that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DescribeVcenterClientsOutcomeCallable DescribeVcenterClientsCallable(const DescribeVcenterClientsRequestT& request) const { return SubmitCallable(&MgnClient::DescribeVcenterClients, request); } /** * An Async wrapper for DescribeVcenterClients that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DescribeVcenterClientsAsync(const DescribeVcenterClientsRequestT& request, const DescribeVcenterClientsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::DescribeVcenterClients, request, handler, context); } /** *

Disassociate applications from wave.

See Also:

AWS * API Reference

*/ virtual Model::DisassociateApplicationsOutcome DisassociateApplications(const Model::DisassociateApplicationsRequest& request) const; /** * A Callable wrapper for DisassociateApplications that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DisassociateApplicationsOutcomeCallable DisassociateApplicationsCallable(const DisassociateApplicationsRequestT& request) const { return SubmitCallable(&MgnClient::DisassociateApplications, request); } /** * An Async wrapper for DisassociateApplications that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DisassociateApplicationsAsync(const DisassociateApplicationsRequestT& request, const DisassociateApplicationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::DisassociateApplications, request, handler, context); } /** *

Disassociate source servers from application.

See Also:

AWS * API Reference

*/ virtual Model::DisassociateSourceServersOutcome DisassociateSourceServers(const Model::DisassociateSourceServersRequest& request) const; /** * A Callable wrapper for DisassociateSourceServers that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DisassociateSourceServersOutcomeCallable DisassociateSourceServersCallable(const DisassociateSourceServersRequestT& request) const { return SubmitCallable(&MgnClient::DisassociateSourceServers, request); } /** * An Async wrapper for DisassociateSourceServers that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DisassociateSourceServersAsync(const DisassociateSourceServersRequestT& request, const DisassociateSourceServersResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::DisassociateSourceServers, request, handler, context); } /** *

Disconnects specific Source Servers from Application Migration Service. Data * replication is stopped immediately. All AWS resources created by Application * Migration Service for enabling the replication of these source servers will be * terminated / deleted within 90 minutes. Launched Test or Cutover instances will * NOT be terminated. If the agent on the source server has not been prevented from * communicating with the Application Migration Service service, then it will * receive a command to uninstall itself (within approximately 10 minutes). The * following properties of the SourceServer will be changed immediately: * dataReplicationInfo.dataReplicationState will be set to DISCONNECTED; The * totalStorageBytes property for each of dataReplicationInfo.replicatedDisks will * be set to zero; dataReplicationInfo.lagDuration and * dataReplicationInfo.lagDuration will be nullified.

See Also:

AWS * API Reference

*/ virtual Model::DisconnectFromServiceOutcome DisconnectFromService(const Model::DisconnectFromServiceRequest& request) const; /** * A Callable wrapper for DisconnectFromService that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::DisconnectFromServiceOutcomeCallable DisconnectFromServiceCallable(const DisconnectFromServiceRequestT& request) const { return SubmitCallable(&MgnClient::DisconnectFromService, request); } /** * An Async wrapper for DisconnectFromService that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void DisconnectFromServiceAsync(const DisconnectFromServiceRequestT& request, const DisconnectFromServiceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::DisconnectFromService, request, handler, context); } /** *

Finalizes the cutover immediately for specific Source Servers. All AWS * resources created by Application Migration Service for enabling the replication * of these source servers will be terminated / deleted within 90 minutes. Launched * Test or Cutover instances will NOT be terminated. The AWS Replication Agent will * receive a command to uninstall itself (within 10 minutes). The following * properties of the SourceServer will be changed immediately: * dataReplicationInfo.dataReplicationState will be changed to DISCONNECTED; The * SourceServer.lifeCycle.state will be changed to CUTOVER; The totalStorageBytes * property fo each of dataReplicationInfo.replicatedDisks will be set to zero; * dataReplicationInfo.lagDuration and dataReplicationInfo.lagDuration will be * nullified.

See Also:

AWS * API Reference

*/ virtual Model::FinalizeCutoverOutcome FinalizeCutover(const Model::FinalizeCutoverRequest& request) const; /** * A Callable wrapper for FinalizeCutover that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::FinalizeCutoverOutcomeCallable FinalizeCutoverCallable(const FinalizeCutoverRequestT& request) const { return SubmitCallable(&MgnClient::FinalizeCutover, request); } /** * An Async wrapper for FinalizeCutover that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void FinalizeCutoverAsync(const FinalizeCutoverRequestT& request, const FinalizeCutoverResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::FinalizeCutover, request, handler, context); } /** *

Lists all LaunchConfigurations available, filtered by Source Server * IDs.

See Also:

AWS * API Reference

*/ virtual Model::GetLaunchConfigurationOutcome GetLaunchConfiguration(const Model::GetLaunchConfigurationRequest& request) const; /** * A Callable wrapper for GetLaunchConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetLaunchConfigurationOutcomeCallable GetLaunchConfigurationCallable(const GetLaunchConfigurationRequestT& request) const { return SubmitCallable(&MgnClient::GetLaunchConfiguration, request); } /** * An Async wrapper for GetLaunchConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetLaunchConfigurationAsync(const GetLaunchConfigurationRequestT& request, const GetLaunchConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::GetLaunchConfiguration, request, handler, context); } /** *

Lists all ReplicationConfigurations, filtered by Source Server * ID.

See Also:

AWS * API Reference

*/ virtual Model::GetReplicationConfigurationOutcome GetReplicationConfiguration(const Model::GetReplicationConfigurationRequest& request) const; /** * A Callable wrapper for GetReplicationConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::GetReplicationConfigurationOutcomeCallable GetReplicationConfigurationCallable(const GetReplicationConfigurationRequestT& request) const { return SubmitCallable(&MgnClient::GetReplicationConfiguration, request); } /** * An Async wrapper for GetReplicationConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void GetReplicationConfigurationAsync(const GetReplicationConfigurationRequestT& request, const GetReplicationConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::GetReplicationConfiguration, request, handler, context); } /** *

Initialize Application Migration Service.

See Also:

AWS * API Reference

*/ virtual Model::InitializeServiceOutcome InitializeService(const Model::InitializeServiceRequest& request) const; /** * A Callable wrapper for InitializeService that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::InitializeServiceOutcomeCallable InitializeServiceCallable(const InitializeServiceRequestT& request) const { return SubmitCallable(&MgnClient::InitializeService, request); } /** * An Async wrapper for InitializeService that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void InitializeServiceAsync(const InitializeServiceRequestT& request, const InitializeServiceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::InitializeService, request, handler, context); } /** *

Retrieves all applications or multiple applications by ID.

See * Also:

AWS * API Reference

*/ virtual Model::ListApplicationsOutcome ListApplications(const Model::ListApplicationsRequest& request) const; /** * A Callable wrapper for ListApplications that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListApplicationsOutcomeCallable ListApplicationsCallable(const ListApplicationsRequestT& request) const { return SubmitCallable(&MgnClient::ListApplications, request); } /** * An Async wrapper for ListApplications that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListApplicationsAsync(const ListApplicationsRequestT& request, const ListApplicationsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::ListApplications, request, handler, context); } /** *

List export errors.

See Also:

AWS * API Reference

*/ virtual Model::ListExportErrorsOutcome ListExportErrors(const Model::ListExportErrorsRequest& request) const; /** * A Callable wrapper for ListExportErrors that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListExportErrorsOutcomeCallable ListExportErrorsCallable(const ListExportErrorsRequestT& request) const { return SubmitCallable(&MgnClient::ListExportErrors, request); } /** * An Async wrapper for ListExportErrors that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListExportErrorsAsync(const ListExportErrorsRequestT& request, const ListExportErrorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::ListExportErrors, request, handler, context); } /** *

List exports.

See Also:

AWS API * Reference

*/ virtual Model::ListExportsOutcome ListExports(const Model::ListExportsRequest& request) const; /** * A Callable wrapper for ListExports that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListExportsOutcomeCallable ListExportsCallable(const ListExportsRequestT& request) const { return SubmitCallable(&MgnClient::ListExports, request); } /** * An Async wrapper for ListExports that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListExportsAsync(const ListExportsRequestT& request, const ListExportsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::ListExports, request, handler, context); } /** *

List import errors.

See Also:

AWS * API Reference

*/ virtual Model::ListImportErrorsOutcome ListImportErrors(const Model::ListImportErrorsRequest& request) const; /** * A Callable wrapper for ListImportErrors that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListImportErrorsOutcomeCallable ListImportErrorsCallable(const ListImportErrorsRequestT& request) const { return SubmitCallable(&MgnClient::ListImportErrors, request); } /** * An Async wrapper for ListImportErrors that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListImportErrorsAsync(const ListImportErrorsRequestT& request, const ListImportErrorsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::ListImportErrors, request, handler, context); } /** *

List imports.

See Also:

AWS API * Reference

*/ virtual Model::ListImportsOutcome ListImports(const Model::ListImportsRequest& request) const; /** * A Callable wrapper for ListImports that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListImportsOutcomeCallable ListImportsCallable(const ListImportsRequestT& request) const { return SubmitCallable(&MgnClient::ListImports, request); } /** * An Async wrapper for ListImports that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListImportsAsync(const ListImportsRequestT& request, const ListImportsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::ListImports, request, handler, context); } /** *

List Managed Accounts.

See Also:

AWS * API Reference

*/ virtual Model::ListManagedAccountsOutcome ListManagedAccounts(const Model::ListManagedAccountsRequest& request) const; /** * A Callable wrapper for ListManagedAccounts that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListManagedAccountsOutcomeCallable ListManagedAccountsCallable(const ListManagedAccountsRequestT& request) const { return SubmitCallable(&MgnClient::ListManagedAccounts, request); } /** * An Async wrapper for ListManagedAccounts that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListManagedAccountsAsync(const ListManagedAccountsRequestT& request, const ListManagedAccountsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::ListManagedAccounts, request, handler, context); } /** *

List source server post migration custom actions.

See Also:

* AWS * API Reference

*/ virtual Model::ListSourceServerActionsOutcome ListSourceServerActions(const Model::ListSourceServerActionsRequest& request) const; /** * A Callable wrapper for ListSourceServerActions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListSourceServerActionsOutcomeCallable ListSourceServerActionsCallable(const ListSourceServerActionsRequestT& request) const { return SubmitCallable(&MgnClient::ListSourceServerActions, request); } /** * An Async wrapper for ListSourceServerActions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListSourceServerActionsAsync(const ListSourceServerActionsRequestT& request, const ListSourceServerActionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::ListSourceServerActions, request, handler, context); } /** *

List all tags for your Application Migration Service resources.

See * Also:

AWS * API Reference

*/ virtual Model::ListTagsForResourceOutcome ListTagsForResource(const Model::ListTagsForResourceRequest& request) const; /** * A Callable wrapper for ListTagsForResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListTagsForResourceOutcomeCallable ListTagsForResourceCallable(const ListTagsForResourceRequestT& request) const { return SubmitCallable(&MgnClient::ListTagsForResource, request); } /** * An Async wrapper for ListTagsForResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListTagsForResourceAsync(const ListTagsForResourceRequestT& request, const ListTagsForResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::ListTagsForResource, request, handler, context); } /** *

List template post migration custom actions.

See Also:

AWS * API Reference

*/ virtual Model::ListTemplateActionsOutcome ListTemplateActions(const Model::ListTemplateActionsRequest& request) const; /** * A Callable wrapper for ListTemplateActions that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListTemplateActionsOutcomeCallable ListTemplateActionsCallable(const ListTemplateActionsRequestT& request) const { return SubmitCallable(&MgnClient::ListTemplateActions, request); } /** * An Async wrapper for ListTemplateActions that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListTemplateActionsAsync(const ListTemplateActionsRequestT& request, const ListTemplateActionsResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::ListTemplateActions, request, handler, context); } /** *

Retrieves all waves or multiple waves by ID.

See Also:

AWS API * Reference

*/ virtual Model::ListWavesOutcome ListWaves(const Model::ListWavesRequest& request) const; /** * A Callable wrapper for ListWaves that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ListWavesOutcomeCallable ListWavesCallable(const ListWavesRequestT& request) const { return SubmitCallable(&MgnClient::ListWaves, request); } /** * An Async wrapper for ListWaves that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ListWavesAsync(const ListWavesRequestT& request, const ListWavesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::ListWaves, request, handler, context); } /** *

Archives specific Source Servers by setting the SourceServer.isArchived * property to true for specified SourceServers by ID. This command only works for * SourceServers with a lifecycle. state which equals DISCONNECTED or * CUTOVER.

See Also:

AWS * API Reference

*/ virtual Model::MarkAsArchivedOutcome MarkAsArchived(const Model::MarkAsArchivedRequest& request) const; /** * A Callable wrapper for MarkAsArchived that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::MarkAsArchivedOutcomeCallable MarkAsArchivedCallable(const MarkAsArchivedRequestT& request) const { return SubmitCallable(&MgnClient::MarkAsArchived, request); } /** * An Async wrapper for MarkAsArchived that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void MarkAsArchivedAsync(const MarkAsArchivedRequestT& request, const MarkAsArchivedResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::MarkAsArchived, request, handler, context); } /** *

Pause Replication.

See Also:

AWS * API Reference

*/ virtual Model::PauseReplicationOutcome PauseReplication(const Model::PauseReplicationRequest& request) const; /** * A Callable wrapper for PauseReplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PauseReplicationOutcomeCallable PauseReplicationCallable(const PauseReplicationRequestT& request) const { return SubmitCallable(&MgnClient::PauseReplication, request); } /** * An Async wrapper for PauseReplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PauseReplicationAsync(const PauseReplicationRequestT& request, const PauseReplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::PauseReplication, request, handler, context); } /** *

Put source server post migration custom action.

See Also:

AWS * API Reference

*/ virtual Model::PutSourceServerActionOutcome PutSourceServerAction(const Model::PutSourceServerActionRequest& request) const; /** * A Callable wrapper for PutSourceServerAction that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutSourceServerActionOutcomeCallable PutSourceServerActionCallable(const PutSourceServerActionRequestT& request) const { return SubmitCallable(&MgnClient::PutSourceServerAction, request); } /** * An Async wrapper for PutSourceServerAction that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutSourceServerActionAsync(const PutSourceServerActionRequestT& request, const PutSourceServerActionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::PutSourceServerAction, request, handler, context); } /** *

Put template post migration custom action.

See Also:

AWS * API Reference

*/ virtual Model::PutTemplateActionOutcome PutTemplateAction(const Model::PutTemplateActionRequest& request) const; /** * A Callable wrapper for PutTemplateAction that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::PutTemplateActionOutcomeCallable PutTemplateActionCallable(const PutTemplateActionRequestT& request) const { return SubmitCallable(&MgnClient::PutTemplateAction, request); } /** * An Async wrapper for PutTemplateAction that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void PutTemplateActionAsync(const PutTemplateActionRequestT& request, const PutTemplateActionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::PutTemplateAction, request, handler, context); } /** *

Remove source server post migration custom action.

See Also:

* AWS * API Reference

*/ virtual Model::RemoveSourceServerActionOutcome RemoveSourceServerAction(const Model::RemoveSourceServerActionRequest& request) const; /** * A Callable wrapper for RemoveSourceServerAction that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RemoveSourceServerActionOutcomeCallable RemoveSourceServerActionCallable(const RemoveSourceServerActionRequestT& request) const { return SubmitCallable(&MgnClient::RemoveSourceServerAction, request); } /** * An Async wrapper for RemoveSourceServerAction that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RemoveSourceServerActionAsync(const RemoveSourceServerActionRequestT& request, const RemoveSourceServerActionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::RemoveSourceServerAction, request, handler, context); } /** *

Remove template post migration custom action.

See Also:

AWS * API Reference

*/ virtual Model::RemoveTemplateActionOutcome RemoveTemplateAction(const Model::RemoveTemplateActionRequest& request) const; /** * A Callable wrapper for RemoveTemplateAction that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RemoveTemplateActionOutcomeCallable RemoveTemplateActionCallable(const RemoveTemplateActionRequestT& request) const { return SubmitCallable(&MgnClient::RemoveTemplateAction, request); } /** * An Async wrapper for RemoveTemplateAction that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RemoveTemplateActionAsync(const RemoveTemplateActionRequestT& request, const RemoveTemplateActionResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::RemoveTemplateAction, request, handler, context); } /** *

Resume Replication.

See Also:

AWS * API Reference

*/ virtual Model::ResumeReplicationOutcome ResumeReplication(const Model::ResumeReplicationRequest& request) const; /** * A Callable wrapper for ResumeReplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::ResumeReplicationOutcomeCallable ResumeReplicationCallable(const ResumeReplicationRequestT& request) const { return SubmitCallable(&MgnClient::ResumeReplication, request); } /** * An Async wrapper for ResumeReplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void ResumeReplicationAsync(const ResumeReplicationRequestT& request, const ResumeReplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::ResumeReplication, request, handler, context); } /** *

Causes the data replication initiation sequence to begin immediately upon * next Handshake for specified SourceServer IDs, regardless of when the previous * initiation started. This command will not work if the SourceServer is not * stalled or is in a DISCONNECTED or STOPPED state.

See Also:

AWS * API Reference

*/ virtual Model::RetryDataReplicationOutcome RetryDataReplication(const Model::RetryDataReplicationRequest& request) const; /** * A Callable wrapper for RetryDataReplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::RetryDataReplicationOutcomeCallable RetryDataReplicationCallable(const RetryDataReplicationRequestT& request) const { return SubmitCallable(&MgnClient::RetryDataReplication, request); } /** * An Async wrapper for RetryDataReplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void RetryDataReplicationAsync(const RetryDataReplicationRequestT& request, const RetryDataReplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::RetryDataReplication, request, handler, context); } /** *

Launches a Cutover Instance for specific Source Servers. This command starts * a LAUNCH job whose initiatedBy property is StartCutover and changes the * SourceServer.lifeCycle.state property to CUTTING_OVER.

See Also:

* AWS * API Reference

*/ virtual Model::StartCutoverOutcome StartCutover(const Model::StartCutoverRequest& request) const; /** * A Callable wrapper for StartCutover that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartCutoverOutcomeCallable StartCutoverCallable(const StartCutoverRequestT& request) const { return SubmitCallable(&MgnClient::StartCutover, request); } /** * An Async wrapper for StartCutover that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartCutoverAsync(const StartCutoverRequestT& request, const StartCutoverResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::StartCutover, request, handler, context); } /** *

Start export.

See Also:

AWS API * Reference

*/ virtual Model::StartExportOutcome StartExport(const Model::StartExportRequest& request) const; /** * A Callable wrapper for StartExport that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartExportOutcomeCallable StartExportCallable(const StartExportRequestT& request) const { return SubmitCallable(&MgnClient::StartExport, request); } /** * An Async wrapper for StartExport that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartExportAsync(const StartExportRequestT& request, const StartExportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::StartExport, request, handler, context); } /** *

Start import.

See Also:

AWS API * Reference

*/ virtual Model::StartImportOutcome StartImport(const Model::StartImportRequest& request) const; /** * A Callable wrapper for StartImport that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartImportOutcomeCallable StartImportCallable(const StartImportRequestT& request) const { return SubmitCallable(&MgnClient::StartImport, request); } /** * An Async wrapper for StartImport that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartImportAsync(const StartImportRequestT& request, const StartImportResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::StartImport, request, handler, context); } /** *

Starts replication for SNAPSHOT_SHIPPING agents.

See Also:

* AWS * API Reference

*/ virtual Model::StartReplicationOutcome StartReplication(const Model::StartReplicationRequest& request) const; /** * A Callable wrapper for StartReplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartReplicationOutcomeCallable StartReplicationCallable(const StartReplicationRequestT& request) const { return SubmitCallable(&MgnClient::StartReplication, request); } /** * An Async wrapper for StartReplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartReplicationAsync(const StartReplicationRequestT& request, const StartReplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::StartReplication, request, handler, context); } /** *

Launches a Test Instance for specific Source Servers. This command starts a * LAUNCH job whose initiatedBy property is StartTest and changes the * SourceServer.lifeCycle.state property to TESTING.

See Also:

AWS API * Reference

*/ virtual Model::StartTestOutcome StartTest(const Model::StartTestRequest& request) const; /** * A Callable wrapper for StartTest that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StartTestOutcomeCallable StartTestCallable(const StartTestRequestT& request) const { return SubmitCallable(&MgnClient::StartTest, request); } /** * An Async wrapper for StartTest that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StartTestAsync(const StartTestRequestT& request, const StartTestResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::StartTest, request, handler, context); } /** *

Stop Replication.

See Also:

AWS * API Reference

*/ virtual Model::StopReplicationOutcome StopReplication(const Model::StopReplicationRequest& request) const; /** * A Callable wrapper for StopReplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::StopReplicationOutcomeCallable StopReplicationCallable(const StopReplicationRequestT& request) const { return SubmitCallable(&MgnClient::StopReplication, request); } /** * An Async wrapper for StopReplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void StopReplicationAsync(const StopReplicationRequestT& request, const StopReplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::StopReplication, request, handler, context); } /** *

Adds or overwrites only the specified tags for the specified Application * Migration Service resource or resources. When you specify an existing tag key, * the value is overwritten with the new value. Each resource can have a maximum of * 50 tags. Each tag consists of a key and optional value.

See Also:

* AWS * API Reference

*/ virtual Model::TagResourceOutcome TagResource(const Model::TagResourceRequest& request) const; /** * A Callable wrapper for TagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TagResourceOutcomeCallable TagResourceCallable(const TagResourceRequestT& request) const { return SubmitCallable(&MgnClient::TagResource, request); } /** * An Async wrapper for TagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TagResourceAsync(const TagResourceRequestT& request, const TagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::TagResource, request, handler, context); } /** *

Starts a job that terminates specific launched EC2 Test and Cutover * instances. This command will not work for any Source Server with a * lifecycle.state of TESTING, CUTTING_OVER, or CUTOVER.

See Also:

* AWS * API Reference

*/ virtual Model::TerminateTargetInstancesOutcome TerminateTargetInstances(const Model::TerminateTargetInstancesRequest& request) const; /** * A Callable wrapper for TerminateTargetInstances that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::TerminateTargetInstancesOutcomeCallable TerminateTargetInstancesCallable(const TerminateTargetInstancesRequestT& request) const { return SubmitCallable(&MgnClient::TerminateTargetInstances, request); } /** * An Async wrapper for TerminateTargetInstances that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void TerminateTargetInstancesAsync(const TerminateTargetInstancesRequestT& request, const TerminateTargetInstancesResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::TerminateTargetInstances, request, handler, context); } /** *

Unarchive application.

See Also:

AWS * API Reference

*/ virtual Model::UnarchiveApplicationOutcome UnarchiveApplication(const Model::UnarchiveApplicationRequest& request) const; /** * A Callable wrapper for UnarchiveApplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UnarchiveApplicationOutcomeCallable UnarchiveApplicationCallable(const UnarchiveApplicationRequestT& request) const { return SubmitCallable(&MgnClient::UnarchiveApplication, request); } /** * An Async wrapper for UnarchiveApplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UnarchiveApplicationAsync(const UnarchiveApplicationRequestT& request, const UnarchiveApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::UnarchiveApplication, request, handler, context); } /** *

Unarchive wave.

See Also:

AWS * API Reference

*/ virtual Model::UnarchiveWaveOutcome UnarchiveWave(const Model::UnarchiveWaveRequest& request) const; /** * A Callable wrapper for UnarchiveWave that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UnarchiveWaveOutcomeCallable UnarchiveWaveCallable(const UnarchiveWaveRequestT& request) const { return SubmitCallable(&MgnClient::UnarchiveWave, request); } /** * An Async wrapper for UnarchiveWave that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UnarchiveWaveAsync(const UnarchiveWaveRequestT& request, const UnarchiveWaveResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::UnarchiveWave, request, handler, context); } /** *

Deletes the specified set of tags from the specified set of Application * Migration Service resources.

See Also:

AWS * API Reference

*/ virtual Model::UntagResourceOutcome UntagResource(const Model::UntagResourceRequest& request) const; /** * A Callable wrapper for UntagResource that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UntagResourceOutcomeCallable UntagResourceCallable(const UntagResourceRequestT& request) const { return SubmitCallable(&MgnClient::UntagResource, request); } /** * An Async wrapper for UntagResource that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UntagResourceAsync(const UntagResourceRequestT& request, const UntagResourceResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::UntagResource, request, handler, context); } /** *

Update application.

See Also:

AWS * API Reference

*/ virtual Model::UpdateApplicationOutcome UpdateApplication(const Model::UpdateApplicationRequest& request) const; /** * A Callable wrapper for UpdateApplication that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateApplicationOutcomeCallable UpdateApplicationCallable(const UpdateApplicationRequestT& request) const { return SubmitCallable(&MgnClient::UpdateApplication, request); } /** * An Async wrapper for UpdateApplication that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateApplicationAsync(const UpdateApplicationRequestT& request, const UpdateApplicationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::UpdateApplication, request, handler, context); } /** *

Updates multiple LaunchConfigurations by Source Server ID.

See * Also:

AWS * API Reference

*/ virtual Model::UpdateLaunchConfigurationOutcome UpdateLaunchConfiguration(const Model::UpdateLaunchConfigurationRequest& request) const; /** * A Callable wrapper for UpdateLaunchConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateLaunchConfigurationOutcomeCallable UpdateLaunchConfigurationCallable(const UpdateLaunchConfigurationRequestT& request) const { return SubmitCallable(&MgnClient::UpdateLaunchConfiguration, request); } /** * An Async wrapper for UpdateLaunchConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateLaunchConfigurationAsync(const UpdateLaunchConfigurationRequestT& request, const UpdateLaunchConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::UpdateLaunchConfiguration, request, handler, context); } /** *

Updates an existing Launch Configuration Template by ID.

See * Also:

AWS * API Reference

*/ virtual Model::UpdateLaunchConfigurationTemplateOutcome UpdateLaunchConfigurationTemplate(const Model::UpdateLaunchConfigurationTemplateRequest& request) const; /** * A Callable wrapper for UpdateLaunchConfigurationTemplate that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateLaunchConfigurationTemplateOutcomeCallable UpdateLaunchConfigurationTemplateCallable(const UpdateLaunchConfigurationTemplateRequestT& request) const { return SubmitCallable(&MgnClient::UpdateLaunchConfigurationTemplate, request); } /** * An Async wrapper for UpdateLaunchConfigurationTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateLaunchConfigurationTemplateAsync(const UpdateLaunchConfigurationTemplateRequestT& request, const UpdateLaunchConfigurationTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::UpdateLaunchConfigurationTemplate, request, handler, context); } /** *

Allows you to update multiple ReplicationConfigurations by Source Server * ID.

See Also:

AWS * API Reference

*/ virtual Model::UpdateReplicationConfigurationOutcome UpdateReplicationConfiguration(const Model::UpdateReplicationConfigurationRequest& request) const; /** * A Callable wrapper for UpdateReplicationConfiguration that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateReplicationConfigurationOutcomeCallable UpdateReplicationConfigurationCallable(const UpdateReplicationConfigurationRequestT& request) const { return SubmitCallable(&MgnClient::UpdateReplicationConfiguration, request); } /** * An Async wrapper for UpdateReplicationConfiguration that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateReplicationConfigurationAsync(const UpdateReplicationConfigurationRequestT& request, const UpdateReplicationConfigurationResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::UpdateReplicationConfiguration, request, handler, context); } /** *

Updates multiple ReplicationConfigurationTemplates by ID.

See * Also:

AWS * API Reference

*/ virtual Model::UpdateReplicationConfigurationTemplateOutcome UpdateReplicationConfigurationTemplate(const Model::UpdateReplicationConfigurationTemplateRequest& request) const; /** * A Callable wrapper for UpdateReplicationConfigurationTemplate that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateReplicationConfigurationTemplateOutcomeCallable UpdateReplicationConfigurationTemplateCallable(const UpdateReplicationConfigurationTemplateRequestT& request) const { return SubmitCallable(&MgnClient::UpdateReplicationConfigurationTemplate, request); } /** * An Async wrapper for UpdateReplicationConfigurationTemplate that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateReplicationConfigurationTemplateAsync(const UpdateReplicationConfigurationTemplateRequestT& request, const UpdateReplicationConfigurationTemplateResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::UpdateReplicationConfigurationTemplate, request, handler, context); } /** *

Allows you to change between the AGENT_BASED replication type and the * SNAPSHOT_SHIPPING replication type.

See Also:

AWS * API Reference

*/ virtual Model::UpdateSourceServerReplicationTypeOutcome UpdateSourceServerReplicationType(const Model::UpdateSourceServerReplicationTypeRequest& request) const; /** * A Callable wrapper for UpdateSourceServerReplicationType that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateSourceServerReplicationTypeOutcomeCallable UpdateSourceServerReplicationTypeCallable(const UpdateSourceServerReplicationTypeRequestT& request) const { return SubmitCallable(&MgnClient::UpdateSourceServerReplicationType, request); } /** * An Async wrapper for UpdateSourceServerReplicationType that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateSourceServerReplicationTypeAsync(const UpdateSourceServerReplicationTypeRequestT& request, const UpdateSourceServerReplicationTypeResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::UpdateSourceServerReplicationType, request, handler, context); } /** *

Update wave.

See Also:

AWS API * Reference

*/ virtual Model::UpdateWaveOutcome UpdateWave(const Model::UpdateWaveRequest& request) const; /** * A Callable wrapper for UpdateWave that returns a future to the operation so that it can be executed in parallel to other requests. */ template Model::UpdateWaveOutcomeCallable UpdateWaveCallable(const UpdateWaveRequestT& request) const { return SubmitCallable(&MgnClient::UpdateWave, request); } /** * An Async wrapper for UpdateWave that queues the request into a thread executor and triggers associated callback when operation has finished. */ template void UpdateWaveAsync(const UpdateWaveRequestT& request, const UpdateWaveResponseReceivedHandler& handler, const std::shared_ptr& context = nullptr) const { return SubmitAsync(&MgnClient::UpdateWave, request, handler, context); } void OverrideEndpoint(const Aws::String& endpoint); std::shared_ptr& accessEndpointProvider(); private: friend class Aws::Client::ClientWithAsyncTemplateMethods; void init(const MgnClientConfiguration& clientConfiguration); MgnClientConfiguration m_clientConfiguration; std::shared_ptr m_executor; std::shared_ptr m_endpointProvider; }; } // namespace mgn } // namespace Aws